Skip to content
SHD Sim
Menu
Documentation menu

Draft. This manual is new and still growing. If something here does not match what you see in the software, the software is right — tell us and we will fix the page.

Analysis types and solvers

Every analysis type the application offers, what it is for, and which solver it runs.

You do not normally choose a solver. You choose an analysis type and the application derives the solver from it, together with the field set, the dictionaries and the boundary conditions that solver requires. The solver name is here because you will see it in the log, and because knowing it is how you read the documentation for the thing actually solving your case.

Not every analysis type is OpenFOAM. The fluid families below are; the structural, thermal, electromagnetic, acoustic, coupled, explicit-dynamics and shape-optimisation families are solved by code_aster, Elmer, preCICE, OpenRadioss or SU2, and are listed under Beyond OpenFOAM with the backend each one runs. What that means for what lands on disk is in Case directory layout.

The names in the Analysis type columns are the strings --analysis= takes. Write them exactly, hyphens included.


Flow

Analysis type Use it for Solver
Incompressible Almost everything below about Mach 0.3. Steady unless the wake will not settle simpleFoam steady, pimpleFoam or pisoFoam transient
Compressible Gas flows where density varies with pressure rhoSimpleFoam steady, rhoPimpleFoam transient
Supersonic / shock Shocks. Density-based and explicit, because a pressure-based solver smears a shock over as many cells as its scheme is diffusive rhoCentralFoam
Atmospheric & Wind Wind loading, pedestrian comfort, dispersion. An incompressible case with a logarithmic inlet and a rough ground simpleFoam, pimpleFoam
Scalar transport A passive tracer carried by the flow — smoke, dye, concentration simpleFoam, pimpleFoam
Rotating frame (SRF) A single rotating frame where the whole mesh spins. No interface, no zone to define SRFSimpleFoam, SRFPimpleFoam

Heat

Analysis type Use it for Solver
Convective Heat Transfer Buoyancy-driven flow in a fluid Boussinesq pair below ~30 K rise, buoyantSimpleFoam / buoyantPimpleFoam above it
Conjugate Heat Transfer Fluid and solid together, heat crossing between them chtMultiRegionSimpleFoam, chtMultiRegionFoam
Solid conduction No flow at all: Laplace's equation on a single scalar laplacianFoam

Convective heat transfer chooses between two families on whether the density change is small. Boussinesq keeps pressure kinematic and is right while the temperature rise is modest; past roughly 30 K the approximation stops holding and the compressible pair is the honest choice. Both are offered rather than one being hidden, because the threshold is a judgement about your case.

Multiphase and free surface

Analysis type Use it for Solver
Multiphase (VoF) A sharp interface between two immiscible fluids — a tank, a dam break, a sloshing vessel interFoam, or interIsoFoam for isoAdvector
Marine & Waves VoF with waves on the inlet as VoF
Cavitation Two phases with mass transfer between them — a pump, a propeller interPhaseChangeFoam
Compressible multiphase A free surface where the phases compress: a gas pocket squeezed, a water hammer compressibleInterFoam
Miscible mixing Two liquids that mix rather than hold an interface twoLiquidMixingFoam
Sediment / drift flux A settling mixture, one momentum equation with a relative velocity driftFluxFoam
Shallow water Depth-averaged free surface over a large area shallowWaterFoam
Free surface (potential) A free surface as a moving pressure boundary. Cheap, and right while the surface stays single-valued potentialFreeSurfaceFoam
Multiphase (Euler-Euler) Dispersed phases that interpenetrate — bubbles, particles as a continuum twoPhaseEulerFoam

The two-phase leaves carry exactly two phases, by name, with one alpha field. Three or more phases are a separate leaf under the same analysis type — Three or more phases (multiphaseInterFoam, and compressibleMultiphaseInterFoam under Compressible multiphase), Three phases, two miscible (interMixingFoam), and N-phase (multiphaseEulerFoam) on the Euler-Euler side. Those carry an editable phase list, and every phase gets its own alpha.<name> field and transportProperties block.

Reacting and particles

Analysis type Use it for Solver
Combustion / Reacting A diffusion flame, species transport with chemistry reactingFoam
Premixed combustion Reactants already mixed; the flame is a front tracked by the regress variable XiFoam
Spray Liquid injection into a gas sprayFoam
Particles (Lagrangian) Discrete particles tracked through the flow icoUncoupledKinematicParcelFoam, uncoupledKinematicParcelFoam and kinematicParcelFoam one-way, DPMFoam two-way, MPPICFoam dense, reactingParcelFoam / simpleReactingParcelFoam / reactingHeterogenousParcelFoam reacting

Reacting is always reactingFoam, including for steady cases. rhoSimpleFoam is compressible but has no chemistry and no species equations, so a "steady reacting" case solved with it would run the flow and quietly ignore the combustion — a plausible answer to a question nobody asked, which is worse than refusing.

Specialist, still OpenFOAM

Analysis type Use it for Solver
Solid stress Small-strain linear elasticity on the same mesh machinery solidEquilibriumDisplacementFoam, solidDisplacementFoam
Electrostatics Electric potential and field electrostaticFoam
Magnetostatics Magnetic field magneticFoam
Magnetohydrodynamics Conducting fluid in a magnetic field mhdFoam
Molecular / rarefied Gas too thin for a continuum, and molecular dynamics dsmcFoam, mdFoam, mdEquilibrationFoam

Solid stress is useful where a stress answer is wanted alongside a flow answer without moving to a separate package. It is not a substitute for a structural FEA tool and does not pretend to be — for that, see Structural below, which is a different solver entirely.

Two of these share a name with a family below and are not the same thing: electrostaticFoam and magneticFoam are OpenFOAM solvers on an OpenFOAM case, where Electrostatic and Magnetostatics under Electromagnetics are Elmer.


Beyond OpenFOAM

These families are meshed and solved by a different backend. They still live in the same case, the same study directory and the same setup tree, but what is written into the study directory is that backend's deck rather than an OpenFOAM case — see Case directory layout.

Structural — code_aster

Analysis type Use it for code_aster command
Linear static Stress and deflection under a load that does not change MECA_STATIQUE
Nonlinear static Stress and deflection once part of the model yields. The load is applied in steps and the stiffness rebuilt at each STAT_NON_LINE
Modal The frequencies the part rings at, and the shapes it moves in. Loads are not part of the question CALC_MODES
Buckling The factor the load can be multiplied by before the part buckles. A slender part can be nowhere near yield and still fail this CALC_MODES
Harmonic response How far the part moves when something shakes it, swept over a range of frequencies DYNA_VIBRA
Transient dynamics What happens in the moments after a load arrives DYNA_VIBRA
Fatigue How many times this load can be applied before the part cracks. A static solve, then an S-N assessment of the stress it found MECA_STATIQUE

Thin-walled shell and Frame of beams are Linear static with a different element: a sheet body becomes a shell and a wire a frame of beams. Both are Linear static as an analysis type.

Thermal — code_aster, or Elmer

Analysis type Use it for Solver
Steady conduction Heat through a solid with no flow anywhere code_aster THER_LINEAIRE, or Elmer
Transient conduction The same, changing in time code_aster THER_LINEAIRE, or Elmer

Thermal is solid-only conduction. If there is flow, the case belongs under Heat transfer above, where OpenFOAM solves the fluid and the solid together. Which backend runs is the Thermal analysis pane's backend setting.

Electromagnetics — Elmer

Analysis type Use it for Elmer solver
Electrostatic The potential field of an insulator between electrodes, and the field strength in it StatElecSolver
Current conduction Where a steady current goes through a conductor, and the resistive heat it leaves behind StatCurrentSolver
Eddy currents The currents an alternating field induces in nearby metal, and the heat they leave behind WhitneyAVHarmonicSolver
Magnetostatics The magnetic field a steady current makes, in the part and in the air around it WhitneyAVSolver

Acoustics — Elmer

Analysis type Use it for Elmer solver
Harmonic response The sound pressure field inside a cavity, driven at one frequency, with viscosity and heat conduction assumed away. Meshes the air the geometry describes, not a part in it HelmholtzSolver
Thermoviscous The same cavity with viscosity and heat conduction in the equations rather than assumed away. For a narrow duct or a MEMS cavity AcousticsSolver
Radiation (BEM) Sound radiating away from a vibrating surface into open space, by the boundary element method: no volume mesh of the air. Meshes the part HelmholtzBEMSolver

Vibro-acoustic radiation is Radiation (BEM) as an analysis type, on the same solver. It takes the surface motion of a structural harmonic response of the same case, solved in code_aster, as the normal velocity on the wetted face.

Coupled — preCICE

Analysis type Use it for
Fluid-structure interaction The flow pushes the part, the part deflects, and the deflection changes the flow
Conjugate heat transfer A flow sets the wall temperature and the solid answers with the heat it takes

Both couple two studies already set up in this case, one fluid and one solid, exchanging across a shared surface. They need two studies; a case with one is not a coupled case. A flow load that does not change the flow is a one-way load map from the Loads pane instead, and heat through a solid with no flow is Thermal.

Conjugate heat transfer appears twice on purpose: chtMultiRegionFoam under Heat above is one OpenFOAM solver holding both regions, and is simpler and faster. The coupled one is for when the solid side needs a real structural solver.

Explicit dynamics — OpenRadioss

Analysis type Use it for
Impact The whole part moving at a stated velocity when time starts, striking a rigid floor. Elastoplastic material, explicit time integration
Drop test The same run as Impact, with the speed computed from a stated height and the fall itself skipped

Shape optimisation — SU2

Analysis type Use it for SU2 tools
Shape optimisation Flow, adjoint, gradient, deform — round again for a set number of cycles. The design surfaces are the faces allowed to move SU2_CFD + SU2_DOT + SU2_DEF
Sensitivity map Surface sensitivity drawn as a field: where a change would pay, and by how much. The first cycle of an optimisation, with nothing moved SU2_CFD direct + adjoint

Choosing

Most cases are Incompressible, steady, with k-omega SST. Start there and change one thing at a time when you have a reason to.

The three questions that actually decide it:

  1. Does density change? Below Mach 0.3 with no significant heating, no — use incompressible. Compressibility is a cost with no benefit if you do not need it.
  2. Is there a second phase, and does it hold an interface? Sharp interface is VoF; interpenetrating is Euler–Euler; a passive scalar is not a phase at all.
  3. Is it steady? If the physics has no steady answer — vortex shedding, sloshing, an explicit transient event — a steady solver will plateau forever rather than converge, and the plateau is not a result.