|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
For the full commented template, see:
case.yml defines physical setup, grid source, domain topology, and boundary conditions.
Key mappings:
scaling.length_ref -> -scaling_L_refscaling.velocity_ref -> -scaling_U_reffluid.density and fluid.viscosity are used by pic.flow to compute Reynolds number -> -reninitial_conditions.mode -> -finit (Zero, Constant, Poiseuille)u_physical/v_physical/w_physical -> -ucont_x/-ucont_y/-ucont_zFor the scaling model and conversion logic, see Non-Dimensionalization Model. For detailed startup behavior of field initialization modes, see Initial Condition Modes.
Mappings:
dt_physical -> -dt (non-dimensionalized)start_step -> -start_steptotal_steps -> -totalstepsSupported modes:
programmatic_cfilegrid_genprogrammatic_settings supports per-block lists for geometry arrays:
im/jm/kmxMins/xMaxs, yMins/yMaxs, zMins/zMaxsrxs/rys/rzsImportant constraint:
da_processors_x/y/z are scalar integers only (global DMDA layout). Per-block processor decomposition is not implemented.pic.flow validates existence and prepares normalized grid data for C-side ingestion.
This runs scripts/grid.gen before solver launch and stages generated grid artifacts into the run config.
Common mappings:
domain.blocks -> -nblk-i_periodic/-j_periodic/-k_periodicphysics.dimensionality: "2D" -> -TwoD 1physics.turbulence.les -> -lesphysics.particles.count -> -numParticlesphysics.particles.init_mode -> -pinit (Surface, Volume, PointSource, SurfaceEdges)physics.particles.restart_mode -> -particle_restart_mode-psrc_x/-psrc_y/-psrc_zFor mode-specific particle behavior and restart flow, see Particle Initialization and Restart Guide.
Single-block syntax: list of 6 face entries. Multi-block syntax: list-of-lists, one 6-face list per block.
Supported face names:
-Xi, +Xi, -Eta, +Eta, -Zeta, +ZetaSupported type/handler combinations:
INLET + constant_velocity (vx/vy/vz)INLET + parabolic (v_max)OUTLET + conservationWALL + noslipPERIODIC + geometricPERIODIC + constant_flux (target_flux, optional apply_trim)All six faces must be explicitly provided for each block. For detailed handler semantics, validation constraints, and C dispatch path, see Boundary Conditions Guide.
Optional escape hatch for flags not yet exposed in structured schema:
Use sparingly and prefer structured keys when available.
Proceed to Configuration Reference: Solver YAML.
Cross-file contract/mapping: