HPC OpenFOAM
Follow a progressive loading workflow.
Start
- Read
references/case-setup.mdbefore creating or editing any OpenFOAM case. - Read
references/solver-selection.mdwhen selecting a solver family or pressure convention. - Read
references/boundary-condition-playbook.mdfor concrete BC syntax (fixedValue, inletOutlet, wall functions, etc.). - Read
references/turbulence-bc-recipes.mdfor turbulence model setup, inlet value estimation, and wall function selection with y+ guidance. - Read
references/numerics-and-schemes-guide.mdfor fvSchemes and fvSolution tuning with scheme selection tables. - Read
references/case-recipes.mdfor complete case configurations (internal flow, external aero, VOF, PIMPLE, buoyant). - Read
references/function-object-recipes.mdfor probes, forces, yPlus monitoring. - Read
references/validation-parallel-and-observability.mdfor validation, post-processing, and parallel execution. - Read
references/cluster-execution-playbook.mdfor scheduler-backed cluster execution. - Read
references/error-recovery.mdfor diagnostic commands, decision tree, and fix sequences.
Scenario Recipes
Load the relevant recipe when the task involves:
references/numerics-and-schemes-guide.md— fvSchemes convection/gradient/time schemes, fvSolution solver settings, relaxation factors, SIMPLE/PISO/PIMPLE algorithm controls, progressive scheme upgrade strategyreferences/heat-transfer-and-compressible-cases.md— thermophysicalProperties (Boussinesq, ideal gas, Sutherland), buoyant solvers, conjugate heat transfer (chtMultiRegionFoam), solid properties, fluid-solid coupling BCsreferences/multiphase-vof-recipes.md— interFoam setup, alpha transport, MULES settings, maxAlphaCo, phase initialization (setFields), VOF boundary conditionsreferences/mesh-quality-and-generation-guide.md— checkMesh thresholds and interpretation, blockMesh grading, snappyHexMesh workflow, y+ targeted layer meshing
Work Sequence
- Classify the case first: steady or transient, incompressible or compressible, single-phase or multiphase, laminar or turbulent.
- Generate the minimum consistent file set across
0/,constant/, andsystem/. Do not edit one layer in isolation if it changes the required fields elsewhere. - Match solver family and fields:
simpleFoamorfoamRun -solver incompressibleFluid: steady incompressible; expectU,p, and turbulence fields ifRAS.pimpleFoamorfoamRun -solver incompressibleFluidwith transient/PIMPLE settings: transient incompressible; review timestep control and outer correctors.interFoamorfoamRun -solver incompressibleVoF: multiphase; control bothmaxCoandmaxAlphaCo.buoyantSimpleFoam/buoyantPimpleFoam: heat transfer; addT,p_rgh,alphat,thermophysicalProperties,g.chtMultiRegionFoam: conjugate heat transfer; multi-region setup with fluid and solid.
- Validate mesh and numerics before a long run:
- run
blockMeshor the mesh generator - run
checkMesh— non-orthogonality > 70° needs correctors, > 85° needs remeshing - start with conservative schemes (upwind), upgrade to linearUpwind after stability
- run
- Keep parallel settings aligned:
- make
numberOfSubdomainsmatch the intended MPI rank count - prefer
scotchfor complex geometries unless the user requests a manual layout
- make
- Resolve executable compatibility before launch:
- if
simpleFoam/pimpleFoam/interFoamexists, it is valid to run directly - otherwise prefer
foamRun -solver <moduleName>and verify the module loads
- if
Additional References
Load these on demand:
references/mesh-and-blockmeshdict-manual.mdfor mesh generation, vertex ordering, and mesh-quality workflowreferences/turbulence-and-numerics.mdfor turbulence model matching and decomposition choicesreferences/fvsolution-and-residual-control.mdfor algorithm loops, solver blocks, and case termination logicreferences/field-and-dictionary-matrix.mdfor solver-to-field and file-to-parameter matrices
Guardrails
- Do not invent dictionary keys, patch types, or solver names.
- Do not use turbulence fields that do not match the chosen model family.
- Do not keep aggressive second-order convection schemes during first-pass stabilization on a fragile case.
- Do not treat
checkMeshwarnings as optional if the log is already diverging. - Do not use
pwhen the solver expectsp_rgh(buoyant/VOF), or vice versa. - Do not use
ISMEAR=-5equivalent (tetrahedron) — this is a VASP concept, not OpenFOAM. - Do not use
linear(central differencing) for alpha convection in VOF — it is unbounded. - Do not set relaxation factors to 1.0 in steady-state SIMPLE without SIMPLEC (
consistent yes).
Reusable Templates
Use assets/templates/ when a concrete case skeleton is needed:
simplefoam-minimal/— minimal steady incompressible case with inline comments explaining scheme and solver choices, plus turbulence upgrade instructionsinterfoam-minimal/— multiphase checklist placeholder (not a self-contained runnable case)openfoam-parallel-slurm.sh— minimal scheduled parallel run scaffold
Outputs
Produce a short case summary that states:
- solver and physics family
- required fields and dictionaries touched
- turbulence model, wall treatment, and estimated inlet turbulence values
- validation commands run or still needed
- stability risks and the next recovery step if the case is failing
Scan to join WeChat group