|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
pic.flow is the workflow orchestrator for PICurv. It validates YAML inputs, generates C runtime artifacts, and runs or schedules solver/postprocessing stages.
Primary commands:
initbuildrunsweepvalidateHelp:
Stages:
--solve--post-processInputs for --solve:
--case <case.yml>--solver <solver.yml>--monitor <monitor.yml>Inputs for --post-process:
--post <post.yml>--solve, or --run-dir <existing_run_dir>MPI/local options:
-n, --num-procsCluster/Slurm options:
--cluster <cluster.yml>--scheduler slurm (optional explicit selector)--no-submit (generate scripts/manifests only)Preflight options:
--dry-run (resolve and print launch/artifact plan only)--format json (machine-readable output for --dry-run)Local example:
Slurm example (generate + submit):
Slurm example (generate only):
Dry-run example (no file writes):
Behavior:
study.ymlstudies/<study_id>/cases/solver_array.sbatch and post_array.sbatchafterok:<solver_jobid> dependency (unless --no-submit)studies/<study_id>/results/validate does not launch solver/post and does not create run/study artifacts.
Single run (run):
runs/<run_id>/config/*.control, bcs*.run, whitelist.run, profile.run, post.runruns/<run_id>/scheduler/solver.sbatch, post.sbatch (cluster mode)runs/<run_id>/scheduler/submission.json (cluster mode)runs/<run_id>/manifest.jsonSweep (sweep):
studies/<study_id>/cases/<case_i>/...studies/<study_id>/scheduler/case_index.tsvstudies/<study_id>/scheduler/solver_array.sbatchstudies/<study_id>/scheduler/post_array.sbatchstudies/<study_id>/scheduler/submission.jsonstudies/<study_id>/results/metrics_table.csvstudies/<study_id>/results/plots/*.png (if plotting enabled and matplotlib available)studies/<study_id>/study_manifest.json