PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
For a complete, heavily commented reference file showing every possible option, please see the master template:
A Post-Processing Recipe is a .yml
file that instructs the postprocessor
executable on how to analyze the raw binary data generated by the solver. Using these recipes, you can perform complex analysis and generate tailored visualization files without writing any new code.
The post-processing workflow is always run via the pic-flow
conductor using the --post-process
flag.
A post.yml
file is organized into sections that control the time range, data sources, processing steps, and output format.
This section specifies which timesteps from the simulation will be analyzed.
Parameter | Type | Description |
---|---|---|
startTime | Integer | The first time step to process. |
endTime | Integer | The last time step to process. |
timeStep | Integer | The interval between processed time steps. |
This section tells the post-processor where to find the raw solver output.
Parameter | Type | Description |
---|---|---|
directory | String | Path to the directory containing the solver's binary output files (.dat ). The special value **<solver_output_dir> ** is a placeholder that automatically resolves to the results (or equivalent) folder of the run being processed. This is the recommended default. |
This is a list of computational tasks (kernels) that are executed in sequence on the Eulerian (grid) data.
task Name | Description | Parameters |
---|---|---|
CellToNodeAverage | Averages a cell-centered field to the grid nodes. This is essential for creating smooth visualizations. | input_field : Name of the cell-centered field (e.g., "Ucat", "P").output_field : Name for the new node-centered field (e.g., "Ucat_nodal", "P_nodal"). |
ComputeQCriterion | Computes the Q-criterion, a scalar field used to identify vortices. This creates a new field named Qcrit . | None |
NormalizeRelativeField | Normalizes a scalar field (like pressure) by subtracting the value at a reference point. | field : The name of the field to normalize (e.g., "P").reference_point : A list of 3 integers [i, j, k] for the reference grid index. |
DimensionalizeAllLoadedFields | (Implicitly available) Converts all loaded non-dimensional fields to dimensional units using the scaling factors from the original case.yml . This is usually run automatically. | None |
This is a list of computational tasks that are executed in sequence on the Lagrangian (particle) data.
| task
Name | Description | Parameters | | :— | :— | :— | | specific_ke
| Computes the specific kinetic energy (0.5 * |velocity|²) for each particle. | input_field
: Name of the particle velocity field (usually "velocity").
output_field
: Name for the new scalar field (e.g., "SpecificKE"). |
This section controls the format and content of the final visualization files (.vts
and .vtp
).
Parameter | Type | Description |
---|---|---|
output_directory | String | The name of the subdirectory within the run folder where visualization files will be saved (e.g., "viz"). |
output_filename_prefix | String | The base name for the output Eulerian .vts files (e.g., "Field" results in Field_000100.vts ). |
particle_filename_prefix | String | The base name for the output Lagrangian .vtp files. |
output_particles | Boolean | If true , the post-processor will load, process, and save particle data into .vtp files. |
particle_subsampling_frequency | Integer | Saves particle data for every N-th particle, reducing the size of .vtp files. A value of 1 saves all particles. |
eulerian_fields | String List | A list of the final grid-based fields to include in the output .vts files. These can be fields loaded from the solver or new fields created by the pipeline. |
particle_fields | String List | A list of the final particle-based fields to include in the output .vtp files. |
You have now completed the reference guides for all the core configuration files in the PICurv user workflow. The next step is to explore a collection of practical examples.
Proceed to the User How-To Guides for a list of quick, goal-oriented recipes for common simulation tasks. logical step is to create the "How-To Guides" page that consolidates answers to common user questions. Ready to proceed?