The previous tutorials showed you specific steps to visualize the flat_channel and bent_channel cases. This guide provides a more general introduction to ParaView, the recommended tool for analyzing PICurv's output.
Here, you will learn the fundamental skills needed to explore any simulation result you generate, from inspecting data fields to creating publication-quality images and animations.
After a successful run, the postprocessor writes visualization files under <run.visualization>/<recipe_id>/. The recipe id combines a readable output prefix with a stable digest of the recipe, so repeated use resumes the same result while different recipes coexist. post.yml -> io.output_directory is runtime-managed and cannot redirect output outside this home.
You will typically find:
.pvd files):** When post.yml -> io.paraview_series.enabled: true, open the collection named after the output prefix, such as eulerian_data.pvd or Particle.pvd. Its time axis comes from committed checkpoints. With scope: lineage, it also references compatible visualization files in ancestor runs recorded by --restart-from..vts files):** These are VTK Structured Grid files (e.g., Field_000100.vts). They contain the computational mesh and any data fields that live on that grid, such as velocity and pressure. When you open them in ParaView, they will be grouped as a time series..vtp files):** These are VTK PolyData files (e.g., Particle_000100.vtp). They contain particle coordinates and particle fields. These files exist only when post.yml -> io.output_particles: true.When you load a .vts file, you'll be able to color and analyze several data fields. The most common ones generated by the standard_analysis.yml recipe are:
Ucat_nodal: A 3-component vector representing the fluid velocity at the grid nodes. This is the primary field you will use for visualizing the flow.P_nodal: A scalar representing the pressure field at the grid nodes.Qcrit_nodal: A scalar representing the Q-criterion averaged to grid nodes, a value used to identify vortices and turbulent structures in the flow.ParaView's interface has four key areas you will interact with constantly:
Let's walk through the most common visualization techniques for the Eulerian grid data. Open the Eulerian .pvd collection and click Apply. If collection generation is disabled, open the numbered .vts group instead; filename grouping alone does not provide the checkpoint physical-time axis.
By default, the object is shown as a solid color. To color it by pressure:
P_nodal.To see what's happening inside the domain:
Field..vts data is selected in the Pipeline Browser.X Normal gives a slice perpendicular to the x-axis).To visualize the direction and magnitude of the flow:
Field..vts data (or a Slice).Ucat_nodal. This tells ParaView to align the glyphs with the velocity vectors.Ucat_nodal. This will scale the glyphs by velocity magnitude.Field..vts data.Load Particle.pvd (if present) to visualize the Lagrangian particles with physical time. Without a collection, load the numbered Particle..vtp group.
velocity and Magnitude.File -> Save Screenshot.File -> Save Animation. Choose your resolution and frame rate, and ParaView will generate a video file by playing through all the timesteps.post.yml (output_filename_prefix, particle_filename_prefix), so your series may not always be named Field_* and Particle_*.output_particles: false), absence of .vtp files is expected.To enable collections in an existing post recipe, add:
Merge this block into the recipe's existing io mapping. Use scope: run for a collection confined to one run. Omitting the option disables collections; the standard analysis profiles explicitly enable them.
Run the usual post-processing command, keeping the full desired analysis window. Postprocess ancestors with the same recipe before processing the child. Open the child's collection to see the retained ancestor frames followed by the child frames; the child owns the restart step. Repeating the post command updates the collection with the steps the solver has committed since. Reopen the collection in ParaView to load its refreshed contents. Keep the referenced run directories accessible: the PVD contains relative links, not copies of the VTK data.
See Configuration Reference: Postprocessor YAML for recipe compatibility, cadence, and restart reset rules. In particular, changing the post stride creates a different recipe; the index does not search other recipe directories automatically.
You are now equipped with the basic skills to install, run, and analyze any simulation in PICurv.
The "Getting Started" section is complete. You are ready to become a Power User. Proceed to the User Guide to begin learning how to create your own custom simulations from scratch.