Geometry
Where it is
Section titled “Where it is”Setup tree: Geometry
Controls
Section titled “Controls”Import
Section titled “Import”Import geometry
Section titled “Import geometry”- Control: action (
ToolButton2)
Demo body
Section titled “Demo body”- Control: action (
ToolButton2)
- Control: choice (
ComboRow) - Default:
m - Bound to:
CaseState.geometryUnits - Options:
m,mm,cm,in,ft
Source units of the imported file. Geometry is rescaled to metres on import, so bounds, areas and cell sizes are always SI.
Heal on import
Section titled “Heal on import”- Control: on/off (
ToggleRow) - Default:
true - Bound to:
CaseState.geometryHealingEnabled
Passed to the geometry translator: sew faces, remove tiny edges and report diagnostics.
Aerofoil extrusion
Section titled “Aerofoil extrusion”- Control: value (
ValueField) - Unit: m
- Default:
1.0 - Bound to:
CaseState.airfoilChord - Value modes: none (plain entry)
- Shown when:
CaseState.geometryImportFamily === "airfoil"
The profile is normalised to unit chord on read, so this is the size it becomes whatever scaling the file used.
- Control: value (
ValueField) - Unit: m
- Default:
0.2 - Bound to:
CaseState.airfoilSpan - Value modes: none (plain entry)
- Shown when:
CaseState.geometryImportFamily === "airfoil"
Extruded along z, centred on zero. A 2-D case wants this about one cell thick with empty front and back patches.
Angle of attack
Section titled “Angle of attack”- Control: value (
ValueField) - Unit: deg
- Default:
0.0 - Bound to:
CaseState.airfoilAngle - Value modes: none (plain entry)
- Shown when:
CaseState.geometryImportFamily === "airfoil"
Rotated about the quarter chord, which is where the pitching moment is conventionally taken.
Extrude to triSurface
Section titled “Extrude to triSurface”- Control: action (
ToolButton2) - Shown when:
CaseState.geometryImportFamily === "airfoil" - Enabled when:
CaseState.geometrySource !== "" && !GeometryImportBackend.busy
Translate to triSurface
Section titled “Translate to triSurface”- Control: action (
ToolButton2) - Shown when:
CaseState.geometryUsesCadTranslator() && CaseState.geometryImportFamily !== "airfoil" - Enabled when:
CaseState.geometrySource !== "" && !GeometryImportBackend.busy
Stop translating
Section titled “Stop translating”- Control: action (
ToolButton2) - Shown when:
GeometryImportBackend.busy
Split into parts
Section titled “Split into parts”- Control: action (
ToolButton2) - Shown when:
CaseState.geometryParts.count === 0 - Enabled when:
CaseState.geometryUsesMesh()
Merge back into one patch
Section titled “Merge back into one patch”- Control: action (
ToolButton2) - Shown when:
CaseState.geometryParts.count > 0
Display
Section titled “Display”- Control: choice (
ComboRow) - Default:
Surface - Bound to:
CaseState.viewportMode - Options:
Surface,Mesh,Wireframe,Points,Clip,Slice
The in-app guidance depends on the case:
- CAD format recognised. Nothing is drawn until the translator has turned it into a surface - use Translate, above.
- Mesh overlays the surface triangulation; wireframe and points switch the actual geometry topology. Fields of the solution are drawn from the post-processing pipeline, not from here.
Clip offset
Section titled “Clip offset”- Control: value (
ValueField) - Unit: m
- Default:
0 - Bound to:
CaseState.clipOffset - Writes:
viewport/clipPlane/origin - Shown when:
CaseState.viewportMode === "Clip" || CaseState.viewportMode === "Slice"
Slice width
Section titled “Slice width”- Control: value (
ValueField) - Unit: m
- Default:
0.08 - Bound to:
CaseState.sliceThickness - Writes:
postProcess/cuttingPlane/thickness - Shown when:
CaseState.viewportMode === "Slice"
Conditional and repeated groups
Section titled “Conditional and repeated groups”Per item in CaseState.geometryParts
Section titled “Per item in CaseState.geometryParts”repeated once for every entry in CaseState.geometryParts
Patch …
Section titled “Patch …”- Control: value (
ValueField) - Value modes: none (plain entry)
… triangles, … m². This is the name OpenFOAM will call the patch, so it is what a boundary condition and a force control refer to.
Measure force and moment on this part
Section titled “Measure force and moment on this part”- Control: action (
ToolButton2)
Lists this panel shows
Section titled “Lists this panel shows”Read straight from the data behind the panel, not from a hand-written list.
Geometry info
Section titled “Geometry info”From a fixed list in the application.
| label |
|---|
| Format |
| Backend |
| Triangles |
| Visible tris |
| Bounds min |
| Bounds max |
| Size |
| Surface area |
| Frontal area |
| Watertight |
Problems reported against this step
Section titled “Problems reported against this step”The application checks these before a run and reports them in the Problems tab against this step.
| Severity | Message |
|---|---|
| warning | The imported surface has open edges. It will still mesh, but the flow can leak inside the body through the holes, which usually shows up as a run that diverges rather than as a meshing failure. Cap the holes, or place the body on a ground plane if it was modelled to sit on one. |
… marks a value the application computes at run time, so the source carries no fixed text for it.