Skip to content
Draft. This manual is new and still being checked against the software as it is verified. Some pages will change. If something here does not match what you see, the software is right — tell us and we will fix the page.

Mesh

Setup tree: Mesh

  • Control: choice (ComboRow)
  • Default: snappyHexMesh (hex-dominant)
  • Bound to: CaseState.mesher
  • Options: snappyHexMesh (hex-dominant), blockMesh only (no body), Import an existing mesh (from CaseState.mesherOptions)

The in-app guidance depends on the case:

  • The background block is the whole domain. Right for internal flow - a duct, a room, a manifold - where there is no body to wrap a mesh around.
  • Convert a mesh from another tool instead of generating one. Set the file under Geometry.
  • Wraps a hex-dominant mesh onto the imported body, with refinement regions and boundary layers.
  • Control: on/off (ToggleRow)
  • Default: false
  • Bound to: CaseState.twoDimensional

OpenFOAM has no 2D solver. A 2D case is a mesh one cell thick with the two side faces declared empty, and the solver then drops that direction entirely. Roughly a hundred times cheaper than the 3D equivalent, which is why so much everyday CFD is 2D.

  • Control: choice (ComboRow)
  • Default: z
  • Bound to: CaseState.twoDAxis
  • Options: x, y, z
  • Shown when: CaseState.twoDimensional

The direction removed from the model. It cannot be the flow direction, which is the one the answer is in.

  • Control: action (ToolButton2)
  • Control: choice (ComboRow)
  • Default: empty
  • Bound to: CaseState.importedMeshConverter

Detection is right nearly always. Set it by hand for .msh, which Fluent, Gmsh and others all use for different formats.

  • Control: choice (ComboRow)
  • Bound to: CaseState.meshImportScales
  • Options: metres, millimetres, centimetres, inches, feet (from CaseState.meshImportScales)

What the numbers in the file are in. Everything downstream works in metres, so a mesh exported in millimetres and left as one solves a model a thousand times too big.

  • Control: action (ToolButton2)
  • Shown when: JobExecutor.busy && CaseState.meshState === "meshing"
  • Control: choice (ComboRow)
  • Default: -Z
  • Bound to: CaseState.flowAxis
  • Options: +X, -X, +Y, -Y, +Z, -Z (from CaseState.flowAxisOptions)
  • Writes: forceCoeffs/dragDir

Sets the reference length and frontal area, the wind-tunnel pads, the inlet and outlet patches, and the drag direction.

  • Control: value (ValueField)
  • Unit: deg
  • Default: 0
  • Bound to: CaseState.incidenceAlpha
  • Writes: 0/U inlet, forceCoeffs/liftDir and dragDir
  • Value modes: none (plain entry)

Nose-up positive. Applied to the oncoming flow rather than to the body, so a sweep reuses one mesh: run the same case at a few angles and the force coefficients become curves, which is what says whether the vehicle is stable rather than just how much it drags. Lift and drag are resolved along the tilted stream, not the tunnel axis.

  • Control: value (ValueField)
  • Unit: deg
  • Default: 0
  • Bound to: CaseState.incidenceBeta
  • Writes: 0/U inlet
  • Value modes: none (plain entry)

Nose-to-starboard positive. For a towed body this is the yaw the tow point imposes in a turn.

  • Control: on/off (ToggleRow)
  • Default: true
  • Bound to: CaseState.domainAuto

Sizes the background block from the geometry bounding box, in multiples of body length. Turn off to enter the box explicitly.

  • Control: value (ValueField)
  • Unit: m
  • Default: 0.08
  • Bound to: CaseState.baseCellSize
  • Writes: blockMeshDict/blocks
  • Control: action (ToolButton2)

Label changes with the case; the source gives these forms: Meshing…, Generate mesh.

  • Control: action (ToolButton2)
  • Enabled when: CaseState.meshState !== "meshing"

The application checks these before a run and reports them in the Problems tab against this step.

Severity Message
error No mesh has been generated.
error The thin direction of a 2D case cannot be the flow direction - that is the direction the answer is in. Choose a different axis.
error The mesher is set to import a mesh, but no mesh file has been chosen.
error No converter in this build reads …. Choose the source format explicitly.
error This mesh is about … cells and the … tier is limited to …. Coarsen the mesh, or upgrade to remove the limit.

marks a value the application computes at run time, so the source carries no fixed text for it.