This is the complete first simulation walkthrough for PICurv using the flat_channel template. This is the canonical first-simulation walkthrough with both commands and reasoning.
By the end of this tutorial you will have:
From repository root:
Expected files:
flat_channel.yml case physics, scaling, grid, BC handlers, model flags.Imp-MG-Standard.yml momentum strategy, tolerances, pressure multigrid controls.Standard_Output.yml logging verbosity, profiling, output directories, monitor flags.standard_analysis.yml postprocessing pipeline tasks and VTK/statistics output settings.Validation confirms the YAML-to-runtime contract and catches mis-typed keys before execution.
What happens internally:
runs/,*.control, bcs*.run, whitelist.run, profile.run, post.run),bin/simulator is launched,bin/postprocessor is launched.Typical output structure:
Interpretation:
<run.config>/: exact runtime artifact snapshot for reproducibility,<run.runtime_logs>/: function-level and solver monitor traces,<run.solver_output>/: solver field outputs,<run.visualization>/<recipe_id>/: postprocessed VTK files for ParaView.After run completion, verify:
<run.runtime_logs>/,Field_*.vts, optionally Particle_*.vtp).If results are missing, check the recipe-specific post state under <run.config>/post-recipes/ and the post.yml output toggles first.
<run.visualization>/<recipe_id>/eulerian_data.pvd for the standard analysis recipe's checkpoint physical-time axis. If using a custom recipe with collections disabled, open its numbered .vts files instead.Apply.Slice filter.Ucat_nodal magnitude or streamwise component.Stream Tracer from inlet region.Expected behavior: smooth channel flow with profile development consistent with setup.
./picurv_cli/picurv build and check PETSc vars.--post-process flag and post.yml output settings.Mapped error guide: