|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
PICurv uses a dimensional-input, non-dimensional-core workflow:
picurv converts/control-maps these to non-dimensional solver inputs.From case.yml:
L_ref = properties.scaling.length_refU_ref = properties.scaling.velocity_refrho_ref = properties.fluid.densityDerived scales:
T_ref = L_ref / U_refP_ref = rho_ref * U_ref^2Common quantities prepared before solver launch:
Re = rho_ref * U_ref * L_ref / mu-rendt* = dt_physical / T_ref-dtFor file/grid-generated meshes, coordinates are normalized by L_ref before C-side ingestion.
Representative scaling conventions used across solver/post:
x* = x / L_refu* = u / U_refp* = p / P_refParticle and Eulerian data follow the same scale family so interpolation/projection remain consistent.
scripts/picurvsrc/setup.csrc/io.cpost.yml:global_operations.dimensionalize: trueDimensionalizeAllLoadedFieldsL_ref and U_ref; they directly affect Re and dt*.case.yml.runs/<run_id>/config/.This page describes Non-Dimensionalization Model 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.