PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
Configuration Reference: Solver YAML

For the full commented template, see:

solver.yml controls numerical strategy and solver internals.

1. operation_mode

operation_mode:
eulerian_field_source: "solve"
analytical_type: "TGV3D"

Mappings:

  • eulerian_field_source -> -euler_field_source (solve, load, analytical)
  • analytical_type -> -analytical_type

2. strategy

strategy:
momentum_solver: "Dual Time Picard RK4"
central_diff: false

Mappings:

  • momentum_solver -> -mom_solver_type (normalized by pic.flow)
  • central_diff -> -central

Named solver values are preferred over legacy boolean toggles.

3. tolerances

tolerances:
max_iterations: 50
absolute_tol: 1.0e-7
relative_tol: 1.0e-4
step_tol: 1.0e-8

Mappings:

  • max_iterations -> -mom_max_pseudo_steps
  • absolute_tol -> -mom_atol
  • relative_tol -> -mom_rtol
  • step_tol -> -imp_stol

4. momentum_solver (Solver-Specific Block)

momentum_solver:
dual_time_picard_rk4:
max_pseudo_steps: 50
absolute_tol: 1.0e-8
relative_tol: 1.0e-5
step_tol: 1.0e-8
pseudo_cfl:
initial: 0.1
minimum: 0.001
maximum: 1.0
growth_factor: 1.0
reduction_factor: 1.0
rk4_residual_noise_allowance_factor: 1.05

Mappings include:

  • -pseudo_cfl, -min_pseudo_cfl, -max_pseudo_cfl
  • -pseudo_cfl_growth_factor, -pseudo_cfl_reduction_factor
  • -mom_dt_rk4_residual_norm_noise_allowance_factor

Rule: solver-specific blocks must match selected momentum solver type.

5. pressure_solver

pressure_solver:
tolerance: 5.0e-9
multigrid:
levels: 3
pre_sweeps: 1
post_sweeps: 1

Mappings:

  • tolerance -> -poisson_tol
  • multigrid.levels -> -mg_level
  • multigrid.pre_sweeps -> -mg_pre_it
  • multigrid.post_sweeps -> -mg_post_it
  • multigrid.semi_coarsening.i/j/k -> -mg_i_semi/-mg_j_semi/-mg_k_semi

3. Install PETSc

Advanced escape hatch for raw PETSc flags:

petsc_passthrough_options:
-ps_ksp_type: "gmres"
-ps_pc_type: "ilu"

These are passed into PETSc options DB and consumed by runtime calls like KSPSetFromOptions.

9. Next Steps

Proceed to Configuration Reference: Monitor YAML.

For mapping and extension workflows: