One of the most frequent requests we get from customers, distributors and solver vendors is to add support for some exotic new (or old) CAE file format. Unfortunately, we must often advise them to use one of the “generic” export formats until we can get the solver added. The reality is that Pointwise probably never will be able to support every solver’s native file format. Why? Simply put, there are just too many, they change too often, and the cost sometimes outweighs the benefit. Some formats are used by a small audience (academia or company proprietary), others have multiple supported versions, and still others require specific (sometimes proprietary) libraries from the CAE vendor. In some situations (like R&D), a given file format can change rapidly.
All things considered, this leaves some customers stuck in a less-than-optimal situation. But, we have a solution that gives our customers and partners a significant degree of control: “Pointwise CAE Plugins”.
A Plug What?
In computer science jargon, a plugin is an independently compiled, binary library that can be loaded selectively and used by an application to extend its functionality. For Pointwise, this allows any customer or business partner to add a new solver to Pointwise’s CAE, Select Solver menu. You can create a plugin without any involvement from the Pointwise support staff (unless you want it). Deployment is as simple as dropping a finished plugin library into the <install>/plugins/ folder of your Pointwise installation and, the next time Pointwise starts, a new export format will be available.
They Keep Multiplying
The next release of Pointwise (V17.0) will ship with 15 CAE plugins. Of these, the Acusolve and CRUNCH CFD plugins were written by the solver vendors themselves – ACUSIM and CRAFT Tech, respectively. The OpenFOAM plugin was written by Dr. Hrvoje Jasak of Wikki, Ltd. The remaining plugins were created by our technical staff, including myself, several summer interns, and our technical sales engineers.
Plugins also give us flexibility when it comes to distribution because they don’t have to be bundled with our software. For example, the FUN3D plugin was developed by NASA Langley Research Center. NASA includes the plugin source code in their FUN3D distribution starting with their version 11.4.
We Make it Easy
To facilitate the creation of a plugin, we have published the Pointwise CAE Plugin Software Developers Kit (SDK). The SDK contains all the tools (aside from the compiler and system libraries) and source code you need to build a plugin. Plugins created with the SDK will work on all platforms supported by Pointwise since V16.03, including Windows, linux, and Mac OS X (10.5 and later). You can access the full documentation and download the SDK from the Pointwise website. The SDK also includes sample source code for two fictional, yet fully functional XML formats.
More Than an Exporter
While a CAE Plugin’s main purpose is to write the files needed by a solver, it also provides operational information used by Pointwise itself, including:
- Supported BC and VC types
- Supported grid dimensionality (2D or 3D)
- Supported grid elements (Line, Triangle, Quadrilateral, Tetrahedral, Hexahedral, Pyramid, and Wedge)
- Supported file extensions
- Supported file encodings (ASCII, Binary, Unformatted)
- Supported file precisions (Single, Double)
- Supported file destination types (Filename, Basename, Folder)
- And more
This information, provided by the plugin author, is used to customize the Pointwise user interface. The CAE Plugin information is also accessible through the Glyph 2 script interface.
I’m Done. Now What?
When your CAE plugin is ready, there are several options for distributing it to Pointwise end-users including:
- Make the plugin source code directly available
- Distribute pre-built plugin libraries yourself
- Provide Pointwise with a copy of the plugin source code
Note that, if you decide to provide us with the plugin source code, it will have to pass our internal testing procedures before we can bundle it with Pointwise.
Stop Waiting and Start Coding
If you have the need, I hope you will take the Pointwise CAE Plugin SDK for a spin and see how easy it is to build your own CAE exporter. Our support staff is here to help. We will also continue to provide examples and best practices for plugins in future blog entries, so stay tuned!
Pingback: Plugin How-To – Adding Solver Attributes | Another Fine Mesh
Pingback: Plugin How-To – Porting an existing Plugin to a New SDK | Another Fine Mesh