|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
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:
config/: exact runtime artifact snapshot for reproducibility,logs/: function-level and solver monitor traces,output/: solver field outputs,viz/: postprocessed VTK files for ParaView.After run completion, verify:
runs/<run_id>/logs/,Field_*.vts, optionally Particle_*.vtp).If results are missing, check post.yml output toggles and directory settings first.
Field_*.vts time series.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.
./scripts/picurv build and check PETSc vars.--post-process flag and post.yml output settings.Mapped error guide:
This page describes Tutorial: Your First Simulation (Flat Channel) within the PICurv workflow. For CFD users, the most reliable reading strategy is to map the page content to a concrete run decision: what is configured, what runtime stage it influences, and which diagnostics should confirm expected behavior.
Treat this page as both a conceptual reference and a runbook. If you are debugging, pair the method/procedure described here with monitor output, generated runtime artifacts under runs/<run_id>/config, and the associated solver/post logs so numerical intent and implementation behavior stay aligned.