Plugin How-To – Porting an existing Plugin to a New SDK

Creating a Pointwise CAE plugin can be a little confusing. This leads to customers contacting our Support Team with a plugin development question that starts with the phrase “How do I…?” As always, our Support Team is happy to help you with anything Pointwise, including your plugin development questions!

Many of these plugin development inquiries can be simply answered by pointing the customer to the appropriate pages in the Pointwise CAE Plugin SDK documentation. However, the solutions to some inquiries are more complex and require a more in-depth explanation with code examples.

I plan to periodically post these interesting inquiries along with their answers. These posts should provide valuable insight into writing a plugin and using the Pointwise Grid Model.

This installment of Plugin How-To deals with porting an existing plugin to a new version of the SDK.

Q: How do I Port an existing Plugin to a New SDK?

From time to time, Pointwise makes changes to the CAE Plugin SDK. As much as possible, we try to make the changes binary compatible. That is, existing plugins will continue to work with new versions of Pointwise. However, to take advantage of SDK bug fixes or new functionality, you will need to port your plugin source code to the new SDK and recompile it. While there are many ways to port a plugin, I have found the following process to be the least painful. For the purposes of this post, we will be porting a plugin for the fictitious, unstructured solver named CyclopsCFD*.

Get the New CAE Plugin SDK

Before you can port the CyclopsCFD plugin, you will need to download the new SDK, install it on your development machine, and validate the installation as outlined on the How to create a new CAE Plugin Project page of the SDK documentation. After the SDK has been validated, we can begin the port.

Create a New Plugin

The first step of the port is to create a plugin project in the new SDK. This plugin must have the same name as the existing plugin. In this case, it should be named CyclopsCFD. As always, you create a plugin using the mkplugin script.

For a C++ plugin use:

> mkplugin -uns -cpp CyclopsCFD
creating new unstructured cpp plugin 'CaeUnsCyclopsCFD' with ID=40

For a C plugin use:

> mkplugin -uns -c CyclopsCFD
creating new unstructured c plugin 'CaeUnsCyclopsCFD' with ID=40

Before proceeding, I suggest that you build the new CyclopsCFD plugin. See the SDK documentation for details. When the plugin builds successfully, we can proceed with the port.

Copy the Source

Next, you must to copy the standard .cxx and .h source files from the old SDK’s CyclopsCFD project folder to the new SDK’s CyclopsCFD project folder. The source files are be located in the …/PluginSDK/src/plugins/CaeUnsCyclopsCFD directory. The standard source files are created by the mkplugin script. If you added any custom files as part of your plugin’s implementation, you will also need to copy those files. The standard source files are listed below.

rtCaepInstanceData.h
rtCaepSupportData.h
rtCaepInitItems.h
CaeUnsCyclopsCFD.h
runtimeWrite.cxx
CaeUnsCyclopsCFD.cxx (only present for -cpp C++ plugins)

Porting Custom Settings

If your plugin’s implementation uses any custom source files or links against any third party libraries, you will most likely need to manually integrate the changes you made to the build chain. Only you know the details of these changes. You are mostly on your own with this step. However, in general you will need to perform one or more of the following steps.

Under Microsoft Windows, you must configure the Visual Studio solution and CyclopsCFD project.

Under Linux and Mac OSX, you must update the modulelocal.mk file located in the …/PluginSDK/src/plugins/CaeUnsCyclopsCFD directory.

And finally, if your old SDK install used specific PWP_SITE_GROUPID or PWP_SITE_GROUPNAME values, you will need to transfer these values to the new SDK’s site.h file located in the …/PluginSDK/src/plugins directory.

All Done

At this point, the plugin port is done. It should be building successfully on all Pointwise supported platforms. It is now ready for testing. You do test new builds don’t you? Of course you do.

Your Suggestions Welcome

I hope this information is useful. If you have any other ideas for a future Plugin How-To post, please leave a comment below or contact our support staff.

Happy coding!

Find out more about the Pointwise Plugin SDK by clicking on the link below.

Learn more about the Pointwise CAE Plugin SDK

* I originally picked UnicornCFD only to find out there really is a solver by that name!
Posted in Applications, Software | Tagged , , , , , , , , , , | Leave a comment

I’m Randy Spencer and This Is How I Mesh

Randy Spencer is our employee of the month! I thought I’d catch up with our busy system administrator and learn how he works.

Randy Spencer, our System Administrator.

Randy Spencer, our System Administrator.

The best way to describe how I mesh is, not at all. I have a general idea of what a mesh is and what it is used for, but that is about it. I worked in the Marine Corps in the signals intelligence field for five years after high school. I was able to visit Kuwait, Iraq, Okinawa, Guam, and South Korea before my time was up and I came back home to attend college. I earned my A.A. degree as well as an A.A.S. in Information Security before starting at Pointwise in 2010.  While working here I have earned the A+, Linux+, and Security+ certifications from CompTIA.

  • Location: North Richland Hills
  • Current position: System Administrator / License file generator
  • Current computer: Dell Precision T3600
  • One word that best describes how you work: Eternally

What software or tools do you use every day?

I have a small set of tools that I use to take care of our systems. Cygwin is a terminal window that runs on Windows machines. I use it to access all of our Linux, Mac, and network devices so that I can update them, install software, and make configuration changes. I use Remote desktop Connection to do the same tasks on our Windows machines and a program that was written by a previous developer to create and keep track all of our license files.

What does your workspace look like?

Randy's current workspace.

Randy’s current workspace.

My workspace covers the whole office. I spend a lot of time working from my desk, but sometimes I have to walk down to the server room, a co-workers desk, or a piece of network gear in a closet. My desk is usually covered by parts waiting to be installed and sticky notes to remind me what needs to be done.

What are you currently working on?

This changes day to day, which is one of the things I like about my job. One task I am working on is rebuilding a bunch of our machines for the developers working on Pointwise V18. I am also building two new servers to act as virtual hosts so that we can continue to virtualize as many machines as possible. Then there is the day to day fixing tickets, planning for future growth, and sending out license files.

What would you say is your specialty at Pointwise?

I think keeping track of everything going on it one of the things I do best. Every machine has its own quirks and I have to keep those in mind when I am working. I may find a solution for a problem that would break something else, so I have to anticipate that. Our servers can be especially difficult because we have Windows, Mac, and multiple versions of Linux running and trying to reach them.

Any tips, tricks, or advice for our users?

The only advice I can give relates to the license server side. The biggest problem I have seen with licensing is getting the correct Host ID for the server. The Host ID is also known as the MAC address or hardware address and every network adapter has one. This means that if you have an Ethernet connection and a Wi-Fi connection you will have two Host IDs for your server. Some servers may have more than two. The correct Host ID will be the one your server uses to connect to the network with and that’s the ID we use to generate your license file.

What project are you most proud of and why?

One of the most difficult things I have done at Pointwise is migrate our network domain from LDAP to Active Directory. We decided to do the move because so many of our machines use Windows that it didn’t make much sense to continue using Linux-based authentication. It took a lot of planning, but we were able to pull it off and only had to purchase one new machine. The best analogy I have to explain it is that we had to build a new house around an older house while we were still living in it.

Have you recently read any books or articles we should know about?

Most of the reading I do is from Hot Rod and Car Craft, I subscribe to both. The best things I read are to my daughter. I think books from Dr. Seuss and Shel Silverstein have lessons that some adults still need to learn. I recently read her ‘Listen to the MUSTN’TS’, and I will continue to read it until it sticks.

Do you plan on attending any conferences or workshops this year?

I will be attending Spiceworld 2015 in September. No, it is not a convention for fans of the 1997 Spice Girls movie. SpiceWorld is a convention for IT pros put together by Spiceworks, a free tool used for keeping an eye on our network. It is a great place to talk to other IT professionals about any problems they’ve encountered and solved in their environment and meet with vendors giving away free t-shirts.

What do you do when you’re not surrounded by engineers making meshes?

When I am not here I can be found in the garage. I love working on cars, new and old, but mostly old. I have a 1964 Cadillac and a 1948 Chevy, which get most of my attention. I have a nagging desire to figure out how things work, which leads to taking things apart and has successfully led me to repair everything from pocket watches and vintage fans to riding mowers and weed eaters. Because of the Marine in me, I also enjoy running and doing obstacle course races. I’ve run the Fort Worth Marathon twice and improved my time by 30 minutes.

What is some of the best advice you’ve received?

There is so much advice flying around that it is hard to focus on the really good pieces. Some of the best advice I’ve received is related to the benefits of self-reliance and to not fear failure. I have learned more than I could have imagined with just a little time on the internet and a willingness to fail completely. Not being afraid to fail is a big part of becoming more self-reliant, which is one of the best things anyone can do. Spending time educating your mind or strengthening your body will pay off in ways you never could have imagined.

If you had to pick a place to have dinner, where would you go?

I really like food, so it is hard to pick a single place. King Tut is right around the corner from our office and has great chicken shawarma. Sana is a great Indian food place near my house that I don’t get to visit often enough. My favorite thing to make is a prime cut ribeye cooked to medium rare…my mouth waters just thinking about it.

Posted in People & Places | Tagged , , , | Leave a comment

I’m Heather McCoy and This Is How I Mesh

Heather McCoy, Manager of our Sales and Marketing Programs.

Heather McCoy, Manager of our Sales and Marketing Programs.

I hate to disappoint you but I never do any meshing. The title of this piece should really be, “I’m Heather and This Is How I Help You Mesh.”

I have a degree from Trinity University in San Antonio and spent several years in various office administrator jobs in Fort Worth. I came to Pointwise in the summer of 1998 as a temporary administrative assistant. Pointwise was looking for someone to answer the phone and clean up its customer files and I needed a part-time job. I ended up spending more and more time at the office finding more projects to tackle. They finally gave up and hired me full time in January of 1999.

  • Location: Fort Worth
  • Current position: Manager, Sales and Marketing Programs
  • Current computer: Dell XPS 8500 Windows 7
  • One word that best describes how you work: Purposely

What software or tools do you use every day?

Sage CRM and MS Outlook for interacting with our customers. I generate sales quotations and invoices with QuickBooks. And, I use Asana for managing our marketing and distribution projects.

What does your workspace look like?

Heather's current workspace.

Heather’s current workspace.

I am lucky enough to have an office with a window and great big desk with plenty of room for my two computer monitors and my project files. My desk has been with me since I came to work at Pointwise 16 years ago. I also have two comfy chairs that came from my grandmother’s house. They are not pretty but I find that people will sometimes come in my office to visit just to sit in the chairs.

What are you currently working on?

I am working on a mix of things right now. I am overseeing a series of projects that will streamline some of our customer relationship management tasks. Most of these projects are invisible to our customers but they help make us more organized and efficient. I am also coordinating our 2015 Pointwise Distributors’ Meeting and all the activities surrounding it. And I am working on a customer insight project for our marketing team.

What would you say is your specialty at Pointwise?

One of the things I like to do is make Pointwise better at serving its customers and distributors. But I also want to make it easier on my colleagues to do their job effectively without hurting the timeliness or quality of the services we provide. I am always looking for ways to make everyone’s life a little easier. I am lucky to have been at Pointwise long enough that I know a little bit about a lot of things so I can see the big picture and connect the dots between customers, sales, marketing, support, and distribution.

Any tips, tricks, or advice for our users?

Participate in one of Pointwise’s training classes in our Fort Worth office, attend a Let’s Talking Meshing Workshop, or attend the Pointwise User Group Meeting in 2016. The training at these events will give you that edge you need to efficiently and effectively use Pointwise. Not only will you learn a few tips and tricks along the way, but we also get to meet you and you will experience some of our great Texas hospitality.

What project are you most proud of and why?

This is a tough one. I think the project that I am the most proud of and has had the broadest reach and the most impact was organizing the first Gridgen User Group Meeting in 2004. Before that, Pointwise had hosted small, brief Gridgen user gatherings at industry conferences. However, we had never hosted a multi-day event focusing on Gridgen and meshing topics in our hometown of Fort Worth. I had been to other CFD software user group meetings and had hosted a couple of successful Pointwise Distributor Meetings. I knew we could do it. So, I went to the Pointwise owners told them that it was time to try hosting our own user group meeting. They agreed and 11 years later, we are still hosting regular user group meetings. We changed the name in 2008 to the Pointwise User Group Meeting.

Have you recently read any books or articles we should know about?

There are two books I recently finished that are worth reading. Laura Hillenbrand’s Unbroken is excellent and has some great World War II aviation history. Working at Pointwise has given me an appreciation for the history of aerospace and I loved reading about what it was like to fly during the war in the Pacific arena. I also recently read, Red Hope, written by John Dreese, my colleague and a senior engineer on Pointwise’s Technical Support Team. Not only is it a compelling story but I actually understood some of the subtle engineering humor.

Do you plan on attending any conferences or workshops this year?

Since the AIAA Aviation conference is in Dallas this year, I will be there helping out with the Let’s Talk Meshing Workshop we are hosting on Sunday, 21 June. I will also be at the VINAS User Conference in October and at the European Let’s Talk Meshing Workshop we are hosting in November in Stuttgart, Germany.

What do you do when you’re not surrounded by engineers making meshes?

I love to work out. I mainly run, swim and do Pilates. Right now I am training to run the Oklahoma City Memorial Half Marathon on April 26. (You should join me. This run commemorates the Oklahoma City bombing that happened 20 years ago this month.) Running gets me outside in the fresh air and helps me decompress. Plus, I enjoy eating. I really need to run to counterbalance all the eating I do.

What is some of the best advice you’ve received?

My father was the Manager of Administrative Services at the Oklahoma City Zoo for many years and while I don’t remember any specific advice he gave me, he instilled in me the importance of hard work, being dependable and always, always providing a good customer experience no matter what.

If you had to pick a place to have dinner, where would you go?

Anyplace where Pointwise has a distributor. I love to travel and have had some really great meals while visiting our overseas partners. I have been lucky enough to visit 10 of our 14 distributors and can tell you about a memorable meal or meals I had in each country.

Posted in People & Places | Tagged , , , , , , , , , | Leave a comment

This Week in CFD

Software

People and News

Applications

Simulation of oxidative coupling of methane. Solution from STAR-CCM+.  Image from CD-adapco. Click image for article. [Note: I am a big fan of whitespace in design but I cropped this image to remove and excess of it and in the process removed CD-adapco's watermark. I'll put it back in if they ask.]

Simulation of oxidative coupling of methane. Solution from STAR-CCM+. Image from CD-adapco. Click image for article. [Note: I love this image. It’s very cool. Plus, I am a big fan of whitespace in design. But I cropped this image to remove what was IMO excessive whitespace and in the process removed CD-adapco’s watermark. I’ll put it back in if they ask.]

  • Intelligent Light participated in the DoE’s recent Atmosphere to Electrons workshop and shared their thoughts on CFD post-processing requirements for wind turbine simulations that range from airfoil to full site.
  • A proposal in Formula 1 to ban the use of wind tunnels and instead rely more on CFD is meeting opposition. For example, “CFD is a splendid thing, but it is simply not a tool which works in isolation of wind tunnels.” [I tend to agree.]

Rejected by FYFD

I like to tease FYFD‘s Nicole Sharp because it’s hard to find something about fluid dynamics she either hasn’t already covered or isn’t lame. Here are my two latest rejections.

Making the Bad Look Good

There are few things worse in a grid than intersecting triangles. You could have a surface mesh that folds back on itself. (Or is it the CAD surface?). You could have two surface meshes (or faceted geometry surfaces) that intersect for any of a number of reasons. (Ever do an underhood geometry and have a component of the engine pierce the hood?) Advancing fronts or layers may collide. A tet mesh might not be able to properly recover its boundary. The list goes on and on.

But artist Peter Schmidt makes a bad grid look good in his painting from 1971 titled Intersecting Triangles.

Peter Schmidt, Intersecting Triangles, 1971. Image from The Peter Schmidt Blog. Click image for link.

Peter Schmidt, Intersecting Triangles, 1971. Image from The Peter Schmidt Blog. Click image for link.

Peter collaborated frequently with musician Brian Eno on the latter’s album covers and and the duo’s Oblique Strategies card deck, a series of quotes for overcoming obstacles (for example, “Honor thy error as a hidden intention.”).

Posted in Applications, News, People & Places, Software | Tagged , , , , , , , | 2 Comments

How to Change the Perimeter of any Surface Grid to an Ellipse

How many times have you seen something on the internet that you’ve wanted to try for yourself? [Warning. Do not try this at home. Professional stunt driver on closed course. May result in the medical condition known as “hot dog fingers.”] For me, it was a post by Jason Davies called From Random Polygon to Ellipse.

Jason created an online applet that demonstrates an interesting mathematical phenomenon. If you start with a polygon defined by a random collection of points and then iteratively create a new polygon from the midpoints of each of the original polygon’s segments, the perimeter shape converges to an ellipse.

Jason ran across this in Davis and Hersh’s The Mathematical Experience in which the authors showed that not only is this transformation provable but that the resulting ellipse is tilted 45 degrees.

The “why” remains a mystery to me. But I had to try the “how” for myself and wrote a script for Pointwise using our Tcl-based Glyph scripting language that does the following.

  1. Select any domain (surface mesh).
  2. Create a database curve (geometry) that represents the domain’s perimeter by simply connecting all its grid points.
  3. Apply Jason’s mid-point replacement technique to make a new perimeter.
  4. Iteratively repeat.

Sure enough, the perimeter curves become ellipses regardless of how complicated the original perimeter’s shape is. You can see some examples in this video on YouTube.

Screenshot of the dom2Ellipse script running in Pointwise. Illustrates the conversion of an arbitrary polygon to an ellipse.

Screenshot of the dom2Ellipse script running in Pointwise. Illustrates the conversion of an arbitrary polygon to an ellipse. Click image for video.

The graphics in the video show the last 88 iterations on the perimeter with the most recent one being white and the 88th being black. So initially you see the first 88 perimeters accumulating and then see them slowly converge to the final ellipse.

Also note that the perimeter at each iteration is scaled up by the relative size of its bounding box to the original bounding box’s perimeter. Otherwise, the perimeters would shrink to nothing.

What was really fun to see was that if the original perimeter is truly 3D, the final perimeter is a planar ellipse, as shown in the video above at the 2:25 mark.

The domain2Ellipse.glf script is available for you to download from the Glyph Script Exchange hosted at GitHub so you can try it for yourself in Pointwise.

And hopefully one of you can read the mathematics and describe in layman’s terms what’s going on here.

Special thanks to:

  • Jason Davies for posting his original work online.
  • Pat Baker for improving my script for publication.
  • Travis Carrigan for making the video.
Posted in Off Topic, Uncategorized | Tagged , , , | 3 Comments

This Week in CFD

Special Easter Weekend Edition

Pre- & Post-Processing

The interaction of a rotorcraft with a ship's airwake. CFD by Kestrel, viz by FieldView. Image from Intelligent Light. Click image for article.

The interaction of a rotorcraft with a ship’s airwake. CFD by Kestrel, viz by FieldView. Image from Intelligent Light. Click image for article.

Applications & Reading

Flow and acoustic contours through a recorder. Application by Yamaha, image from the paper cited above.

Flow and acoustic contours through a recorder. Application by Yamaha, image from the paper cited above.

Business & Dollars

  • Exa‘s reported solid growth: 11% in Q4 (Nov-Jan) relative to the previous year, up 13% for the year to $61 million.
  • ANSYS and OCF are selling turnkey CFD clusters in the UK that include Lenovo hardware, Linux OS, and ANSYS CFD.
  • Mentor Graphics’ Keith Hanna shows that the aggregate annual CFD business now exceeds $1 billion.
Screen capture from a video of a combustion simulation. Application by SpaceX, video hosted by Nvidia. Click image for link to original article.

Screen capture from a video of a combustion simulation. Application by SpaceX, video hosted by Nvidia. Click image for link to original article.

Synthesizing Structure & Chaos

That certainly is an apt metaphor for CFD mesh generation: providing a synthetic structure on which the chaos of turbulent fluid motion is to be computed.

Don Sorenson, Untitled #19, 1974

Don Sorenson, Untitled #19, 1974

From his website, artist Don Sorenson‘s work is described thusly:

“Formally, his paintings are amalgams of the polar opposites with which large stylistic swings in the history of art have been described: intellect and emotion, order and randomness, control and accident, structure and chaos, straight line and amorphous color, gloss and matte, literal flatness and illusionistic depth, figure and ground and so forth. It is through a synthesis of art history that Sorenson finds his unique place in the world of contemporary art.”

Posted in Applications, Events, Hardware, News, Software | Tagged , , , , , , , , , , | Leave a comment

I’m Nick Wyman and This Is How I Mesh

Nick Wyman, Director of the Applied Research team.

Nick Wyman, Director of the Applied Research team.

I received a BS in Aerospace Engineering and an MS in Mechanical Engineering from Texas A&M University. My graduate work focused on the use of CFD for the prediction of rotordynamic stability of turbomachinery. My first job out of school was with Advanced Scientific Computing in Waterloo, Ontario, Canada where I learned the commercial CFD industry firsthand from some very talented people. Applications work at ASC lead me into graphical mesh generation development (at the time structured mesh generation involved a lot of manual programming). From there, joining Pointwise in 1998 was a natural step.

  • Location: East Texas
  • Current position: Director, Applied Research
  • Current computer: Dual Intel i7 6-core CPU, 64GB RAM, MS Windows 7 and Dual Intel CPU, 4GB RAM, Fedora Linux
  • One word that best describes how you work: Freely (as in speech, not as in beer). A luxury of moving from the Development group, who must remain focused on the next software release cycle, to the Applied Research group where we are free to try new things to see if we can make them work.

What software or tools do you use every day?

Visual Studio development environment, Perforce source control, Intel VTune profiler.

What are you currently working on? 

Improvement of structured, unstructured and hybrid meshing. Most recently, mesh adaptation to improve overset grid assembly quality.

What would you say is your meshing specialty? 

I definitely feel most at home creating meshes for turbomachinery. Early lessons learned are the most indelible.

Any tips for our users? 

Don’t settle for a crummy mesh. In the rush to move on to the solution phase of simulation, the temptation is to overlook problem areas in the mesh. In my experience, you will only find yourself returning to correct mesh issues at a later date (and after much wasted effort).

What project are you most proud of and why? 

The grids I can’t talk about. Seriously, as with many of our customers, I can’t show my best work. Also, while our meshing application is the result of hard work by many people, I am proud to see what is accomplished by others when using it.

What CFD solver and postprocessor do you use most often? 

Sadly I almost never perform full simulations anymore. I do utilize several freeware tools to investigate the internal data structures of our algorithms. Recently, I’ve been using ParaView (http://www.paraview.org/) for data analysis.

 Are you reading any interesting technical papers we should know about?

Lately I’ve been learning about the Department of Energy’s Atmosphere to Electrons (http://energy.gov/eere/wind/atmosphere-electrons) initiative in wind power. The range of the problem is quite intense – from atmospheric boundary layer to blade scale fluid dynamics. I’ve been reading papers regarding the coupling of multiple simulation technologies to tackle the problem. For example, the National Renewable Energy Laboratory’s SOWFA software (https://nwtc.nrel.gov/SOWFA).

Do you plan on attending any conferences or workshops this year? 

I have a presentation planned for the MeshTrends Symposium at the 13th US National Congress on Computational Mechanics. I will also attend the AIAA Aviation Conference in Dallas.

What do you do when you’re not generating meshes?

We have two boys who are avid baseball players which makes my wife and I avid baseball parents. Most weekends you will find me at a ballpark somewhere in Texas.

If you had to pick a place to have dinner, where would you go?

At one time I was making semi-annual trips to Winterthur, Switzerland and became acquainted with the wiener schnitzel at the Gasthaus Rössli. I haven’t been there in years, but I still recall the meal fondly.

Posted in People & Places | Tagged , , , , , , , , , , , | 3 Comments