PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
A key design principle of the PICurv platform is modularity. A simulation is not defined by a single, monolithic configuration file. Instead, it is composed by mixing and matching different types of configuration files at runtime using the pic-flow
conductor.
Understanding this concept is the key to becoming a power user. This guide explains the different roles of the configuration files and how they work together.
Every simulation run is defined by combining three distinct types of YAML files:
case.yml
):**my_flat_channel/case.yml
).solver.yml
):**config/solvers/
.monitor.yml
):**config/monitors/
.
The pic-flow run
command requires you to explicitly provide one of each of these files. This allows for powerful combinations:
In this example, you are running a turbulent_pipe
simulation using a fast, low-accuracy solver for a quick test, while getting highly detailed debug output. To run the same case for a final, high-fidelity result, you would simply change the flags:
The physics of the problem (case.yml
) remain identical, but the numerical method and the level of observation have been completely changed.
The config/
directory at the root of the project is your central library of reusable profiles. It is organized into subdirectories for each type of profile.
config/
subdirectory with a descriptive name.examples/
are starting points. When you init
a new study, they are copied to your study directory. You can modify the copies freely, but it's best to pull reusable profiles from the central config/
library..yml
files to the config/
directories. For example, you could create config/solvers/CFD-Lab-Cluster-Solver.yml
with settings optimized for your specific HPC environment.
Now that you understand the roles of the different configuration files, you are ready to learn the specific parameters for each.
Proceed to the Configuration Reference: The case.yml
File to dive into the details of the case.yml
file.