Adding in Logic to a ParaView Catalyst Python Script

One of the concerns I hear often about in situ analysis and visualization is that there’s the possibility that a full simulation run can be wasted if the proper in situ pipeline isn’t set up properly a priori. One of the key capabilities of ParaView Catalyst is being able to use a Python script to drive the outputs. There’s a lot of power that this provides, including:

The ability to change the output without recompiling the code.

The ability to add in customized logic.

The second ability really allows users to easily control what’s being output from a Catalyst enabled simulation. The bottom line is that it’s impossible to imagine all of the scenarios that an analyst may want to examine through in situ processing. If we were to try and cover all of the scenarios through a typical input deck’s set of key-value pairs, we would certainly fail miserably. The video below shows the rotor flowfield output of a helicopter in forward flight. The simulation code is CREATETM-AV Helios and it used Catalyst to output a slice plane in the domain.

Note that while the airfoil appears stationary in the video, it’s actually a simulation of a rotating helicopter blade. This can be seen by looking at the 3D reference axis rotate in the bottom left corner of the video. To get this output, the Catalyst Python script was edited to manipulate the slice plane configuration during the simulation run. This demonstrates the power of using a Python script to get customized output.

Acknowledgements: Thanks to Benjamin Jimenez and Rajneesh Singh from the U.S. Army Research Lab’s Vehicle Technology Directorate for creating the video from their customized Catalyst Python script.