- name
- hpc-openfoam
- description
- Generate, review, debug, and recover OpenFOAM case files for CFD workflows. Use when working with OpenFOAM dictionaries, case structure, turbulence fields, boundary conditions, decomposition, numerics, or OpenFOAM runtime errors.
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.mdwhen mapping physical boundaries to field files. - Read
references/turbulence-bc-recipes.mdwhen selecting turbulence models, wall treatment, or near-wall fields. - Read
references/turbulence-and-numerics.mdwhen choosing schemes, algorithm controls, turbulence models, or decomposition. - Read
references/case-recipes.mdwhen assembling a canonical internal-flow, external-aero, or free-surface case. - Read
references/function-object-recipes.mdwhen instrumenting a case with forces, probes, or solver diagnostics. - Read
references/validation-parallel-and-observability.mdwhen validating, instrumenting, or post-processing a case. - Read
references/cluster-execution-playbook.mdwhen staging an OpenFOAM case for scheduler-backed cluster execution. - Read
references/error-recovery.mdwhen a log contains crashes, divergence, or bounded-field warnings.
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:
- simpleFoam: steady incompressible RANS; expect U, p, and turbulence fields if RAS. - pimpleFoam: transient incompressible; review timestep control and outer correctors. - interFoam: multiphase; control both maxCo and maxAlphaCo.
- Validate mesh and numerics before a long run:
- run blockMesh or the mesh generator - run checkMesh - refuse to keep orthogonal-only schemes on poor-quality meshes
- Keep parallel settings aligned:
- make numberOfSubdomains match the intended MPI rank count - prefer scotch for complex geometries unless the user requests a manual layout
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.
Additional References
Load these on demand:
references/mesh-and-blockmeshdict-manual.mdfor mesh generation, vertex ordering, and mesh-quality workflowreferences/heat-transfer-and-compressible-cases.mdfor thermophysical, buoyant, and compressible setupsreferences/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 matricesreferences/cluster-execution-playbook.mdfor decomposition, solver launch, reconstruction, and restart sequencing on clusters
Reusable Templates
Use assets/templates/ when a concrete case skeleton is needed, especially:
simplefoam-minimal/for a minimal steady incompressible caseinterfoam-minimal/for a minimal two-phase transient caseopenfoam-parallel-slurm.shfor a minimal scheduled parallel run scaffold
Outputs
Produce a short case summary that states:
- solver and physics family
- required fields and dictionaries touched
- validation commands run or still needed
- stability risks and the next recovery step if the case is failing