|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
PICurv runs are composed from modular inputs. This lets you swap physics, numerics, monitoring, and post-analysis independently.
A single-run workflow uses five logical inputs:
case.yml: physics/domain/grid/BC/run controlsolver.yml: numerical strategy and solver controlsmonitor.yml: logging, profiling, output cadence, directoriespost.yml: post-processing pipeline recipe-n)Cluster/sweep extensions add:
cluster.yml: Slurm resource/scheduler contract (run --cluster, sweep --cluster)study.yml: parameter matrix + metrics/plot contract (sweep --study)You can choose any file names. C binaries do not require fixed YAML names.
Example solve invocation:
Only numerics/monitoring can be swapped without touching case physics.
pic.flow validates inputs, then generates C-facing artifacts under runs/<run_id>/config/:
<run_id>.controlbcs.run or bcs_block*.runwhitelist.runprofile.runpost.runThese are the concrete contract consumed by C-side parsers in setup.c, io.c, and BC/profile loaders.
Project-level shared profiles live in:
Use these as reusable baselines and keep case-specific physics in study-local files.
Proceed to Configuration Reference: Case YAML.
For full contract and ingestion mapping, also see: