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.

Operations

Setup tree: Mesh > Operations

  • Control: choice (ComboRow)
  • Default: Choose an operation...
  • Options: Choose an operation..., Renumber for bandwidth, Scale, move or rotate, Mirror about a plane, Refine cells, Extrude a patch, Rename or merge patches, Keep only part of the mesh, Merge in another mesh, Stitch two patches together, Convert to polyhedra, Collapse short edges, Combine coplanar faces, Rotate onto an axis, Zip up open cells, Split the boundary by angle (from CaseState.meshOperationKinds)

Added at the end of the pipeline. Reorder with the arrows.

repeated once for every entry in CaseState.meshOperations

  • Control: action (ToolButton2)
  • Enabled when: opRow.index > 0
  • Control: action (ToolButton2)
  • Enabled when: opRow.index < CaseState.meshOperations.count - 1

Label changes with the case; the source gives these forms: On, Off.

  • Control: action (ToolButton2)
  • Control: action (ToolButton2)

selected for: transformPoints

  • Control: value (ValueField)
  • Default: 1.0
  • Value modes: none (plain entry)

A factor applied to every coordinate. Leave at 1 to move instead of scale - the two are separate invocations, because doing both at once applies them in an order nobody expects.

  • Control: value (ValueField)
  • Unit: m
  • Default: 0.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Unit: m
  • Default: 0.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Unit: m
  • Default: 0.0
  • Value modes: none (plain entry)

selected for: rotateMesh

  • Control: choice (ComboRow)
  • Default: z
  • Options: x, -x, y, -y, z, -z (from ``parent.axes in this panel)
  • Control: choice (ComboRow)
  • Default: x
  • Options: x, -x, y, -y, z, -z (from ``parent.axes in this panel)

Rotates the mesh so the first direction ends up pointing along the second.

selected for: mirrorMesh

  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: 1.0
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)

selected for: refineMesh

  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)

Leave empty to refine every cell, which multiplies the cell count by eight. Name a cellSet to refine only that.

  • Control: choice (ComboRow)
  • Default: xyz
  • Options: xyz, xy, xz, yz, x, y, z

Which directions get cut. All three multiplies the cell count by eight; one direction doubles it, which is what a wake or a boundary layer usually wants.

selected for: extrudeMesh

  • Control: choice (ComboRow)
  • Default: Linear, along the patch normal
  • Options: Linear, along the patch normal, Wedge (axisymmetric), Rotate about an axis

Linear one cell thick is a 2D case. Wedge is how OpenFOAM does axisymmetry - it has no 2D solver, so a wedge of a few degrees with wedge patches stands in for one.

  • Control: choice (ComboRow)
  • Default: empty

The surface that gets swept into a volume.

  • Control: value (ValueField)
  • Unit: m
  • Default: 0.01
  • Value modes: none (plain entry)
  • Shown when: op && String(op.extrudeMode).indexOf("Linear") === 0
  • Control: value (ValueField)
  • Unit: deg
  • Default: 5.0
  • Value modes: none (plain entry)
  • Shown when: op && String(op.extrudeMode).indexOf("Linear") !== 0

Five degrees is the usual wedge. It has to be small enough that one cell across the wedge is a reasonable model.

  • Control: value (ValueField)
  • Default: 1
  • Value modes: none (plain entry)
  • Shown when: op && String(op.extrudeMode).indexOf("Wedge") !== 0

One layer is a 2D case. More makes it genuinely three dimensional.

  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)
  • Shown when: op && String(op.extrudeMode).indexOf("Linear") !== 0
  • Control: value (ValueField)
  • Default: 0.0
  • Value modes: none (plain entry)
  • Shown when: op && String(op.extrudeMode).indexOf("Linear") !== 0
  • Control: value (ValueField)
  • Default: 1.0
  • Value modes: none (plain entry)
  • Shown when: op && String(op.extrudeMode).indexOf("Linear") !== 0

selected for: createPatch

  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)

Space separated. These are merged into the new patch.

  • Control: choice (ComboRow)
  • Default: wall
  • Options: wall, patch, symmetry, empty, wedge, cyclic

wall is what makes wall functions available; empty is what makes a mesh two dimensional.

selected for: subsetMesh

  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)

The set to keep. Everything outside it is discarded, so this is not reversible within the run.

selected for: mergeMeshes

  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)

Path to a case directory holding the mesh to add. The two are placed side by side, not connected - add a Stitch afterwards to join them.

selected for: stitchMesh

  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)
  • Control: value (ValueField)
  • Default: empty
  • Value modes: none (plain entry)

The two become an internal boundary, which is what turns two merged meshes into one connected domain.

polyDualMesh / autoPatch / combinePatchFaces

Section titled “polyDualMesh / autoPatch / combinePatchFaces”

selected for: polyDualMesh, autoPatch, combinePatchFaces

  • Control: value (ValueField)
  • Unit: deg
  • Default: 45.0
  • Value modes: none (plain entry)

Surfaces that turn by more than this are treated as separate features.

selected for: collapseEdges

  • Control: value (ValueField)
  • Unit: m
  • Default: 1e-5
  • Value modes: none (plain entry)

Edges shorter than this are collapsed. Set it well below the base cell size or the mesh loses real features.

The application reports no problems against this step.


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