|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
This page is the detailed reference for boundary-condition authoring in case.yml. It documents what is currently supported by the Python conductor and what is currently wired in C.
case.yml -> boundary_conditions supports:
Face names:
-Xi, +Xi, -Eta, +Eta, -Zeta, +ZetaEvery block must provide all six faces exactly once.
The validator accepts these type/handler pairs:
| Type | Handler | Required params | Optional params | Units expected in YAML |
|---|---|---|---|---|
WALL | noslip | none | none | n/a |
INLET | constant_velocity | vx, vy, vz | none | m/s |
INLET | parabolic | v_max | none | m/s |
OUTLET | conservation | none | none | n/a |
PERIODIC | geometric | none | none | n/a |
PERIODIC | constant_flux | target_flux | apply_trim | m^3/s |
Notes:
params.vector and params.velocity are rejected; use scalar vx/vy/vz,constant_flux must be configured on both faces of the periodic pair.pic.flow converts physical BC values to solver-scale values before writing bcs.run:
\[ v^* = \frac{v}{U_{ref}}, \qquad Q^* = \frac{Q}{U_{ref} L_{ref}^{2}}. \]
Specifically:
vx/vy/vz/v_max are divided by properties.scaling.velocity_ref,target_flux is divided by velocity_ref * length_ref^2.Validator checks:
(-Xi,+Xi), (-Eta,+Eta), (-Zeta,+Zeta) are both periodic or both non-periodic.constant_flux) must match on both faces of a periodic pair.The C side also performs periodic consistency checks while deriving global periodicity in DeterminePeriodicity.
Generated bcs.run lines use:
C ingestion path:
StringToBCFace, StringToBCType, StringToBCHandlerType convert tokens.ValidateBCHandlerForBCType enforces type-handler compatibility.Current factory-wired handlers include:
Important contributor note:
initial_flux enum entries),If you add a new BC mode, update all three layers in one change:
scripts/pic.flow),Constant-velocity inlet + outlet conservation:
Driven periodic flux on Xi:
: malformed BC entry object. -Duplicate face: same face declared twice in one block. -incomplete ... Missing faces: not all 6 faces provided. -Inconsistent periodicity: one side periodic and opposite side non-periodic. -Unknown params`: extra keys not allowed for selected handler.