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.

Result control

The Result control panel open beside the setup tree, showing the Result control and Add sections.
Result control

Where it is

Setup tree: Result control

Controls

Add

+ Force coefficients

  • Control: action (ToolButton2)

+ Forces and moments

  • Control: action (ToolButton2)

+ Probe points

  • Control: action (ToolButton2)

+ Cutting plane

  • Control: action (ToolButton2)

+ Patch data

  • Control: action (ToolButton2)

+ Volume data

  • Control: action (ToolButton2)

+ Field minimum and maximum

  • Control: action (ToolButton2)

+ y+

  • Control: action (ToolButton2)

+ Wall shear stress

  • Control: action (ToolButton2)

+ Wall heat flux

  • Control: action (ToolButton2)

+ Force distribution

  • Control: action (ToolButton2)

+ Flow rate through a patch

  • Control: action (ToolButton2)

+ Time averaging

  • Control: action (ToolButton2)

+ Stopping criterion

  • Control: action (ToolButton2)

+ Parcel cloud

  • Control: action (ToolButton2)

+ Interface height

  • Control: action (ToolButton2)

+ Vortex cores (Q)

  • Control: action (ToolButton2)

+ Total-pressure loss

  • Control: action (ToolButton2)

+ Mixing index

  • Control: action (ToolButton2)

+ Bed (mudline) height

  • Control: action (ToolButton2)

+ Velocity distribution

  • Control: action (ToolButton2)

+ Mean age of fluid

  • Control: action (ToolButton2)

+ Total pressure

  • Control: action (ToolButton2)

+ Pressure coefficient

  • Control: action (ToolButton2)

+ Thermal comfort

  • Control: action (ToolButton2)

+ Turbulence fields

  • Control: action (ToolButton2)

+ Aeroacoustic sources

  • Control: action (ToolButton2)

Conditional and repeated groups

Per item in CaseState.resultControls

repeated once for every entry in CaseState.resultControls

Name

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

Names the directory under postProcessing/.

Patch

  • Control: choice (ComboRow)
  • Shown when: ["forceCoeffs", "forces", "patchData", "totalPressureLoss"] .indexOf(rcRow.model.kind) >= 0

Downstream patch

  • Control: choice (ComboRow)
  • Default: empty
  • Shown when: rcRow.model.kind === "totalPressureLoss"

References from the case

  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: rcRow.model.kind === "forceCoeffs"

Frontal area, model length and inlet speed as the geometry and the boundary conditions have them.

Reference area (m²)

  • Control: value (ValueField)
  • Default: 1
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "forceCoeffs" && !rcRow.model.refAuto

Reference length (m)

  • Control: value (ValueField)
  • Default: 1
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "forceCoeffs" && !rcRow.model.refAuto

Reference speed (m/s)

  • Control: value (ValueField)
  • Default: 10
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "forceCoeffs" && !rcRow.model.refAuto

Moments about the model centre

  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: ["forceCoeffs", "forces"].indexOf(rcRow.model.kind) >= 0

Off to give the centre of rotation directly.

Observer from the geometry

  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: rcRow.model.kind === "aeroacoustics"

Twenty body lengths above the centre, which is inside the compact-source assumption Curle is built on. Turn it off to listen somewhere else.

Observer X

  • Control: value (ValueField)
  • Unit: m
  • Default: 0
  • Writes: functions/observerPositions
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "aeroacoustics" && !rcRow.model.obsAuto && String(rcRow.model.obsPrimitive || "") === ""

Observer Y

  • Control: value (ValueField)
  • Unit: m
  • Default: 0
  • Writes: functions/observerPositions
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "aeroacoustics" && !rcRow.model.obsAuto && String(rcRow.model.obsPrimitive || "") === ""

Observer Z

  • Control: value (ValueField)
  • Unit: m
  • Default: 0
  • Writes: functions/observerPositions
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "aeroacoustics" && !rcRow.model.obsAuto && String(rcRow.model.obsPrimitive || "") === ""

Centre of rotation X

  • Control: value (ValueField)
  • Unit: m
  • Default: 0
  • Value modes: none (plain entry)
  • Shown when: ["forceCoeffs", "forces"].indexOf(rcRow.model.kind) >= 0 && !rcRow.model.cofrAuto && String(rcRow.model.cofrPrimitive || "") === ""

Centre of rotation Y

  • Control: value (ValueField)
  • Unit: m
  • Default: 0
  • Value modes: none (plain entry)
  • Shown when: ["forceCoeffs", "forces"].indexOf(rcRow.model.kind) >= 0 && !rcRow.model.cofrAuto && String(rcRow.model.cofrPrimitive || "") === ""

Centre of rotation Z

  • Control: value (ValueField)
  • Unit: m
  • Default: 0
  • Value modes: none (plain entry)
  • Shown when: ["forceCoeffs", "forces"].indexOf(rcRow.model.kind) >= 0 && !rcRow.model.cofrAuto && String(rcRow.model.cofrPrimitive || "") === ""

Placement

  • Control: choice (ComboRow)
  • Default: Wake
  • Options: Wake, Primitives, Custom
  • Shown when: rcRow.model.kind === "probes"

Primitives probes at named Point primitives, so a probe moves when the point it names moves. Wake spaces them off the back of the model along the flow, in model lengths. Custom takes typed coordinates.

Points

  • Control: value (ValueField)
  • Default: 3
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "probes" && rcRow.model.probeMode === "Wake"

Locations

  • Control: value (ValueField)
  • Default: (0 0 0)
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "probes" && rcRow.model.probeMode === "Custom"

Syntax: (0 0 0) (1 0 0)

Normal

  • Control: choice (ComboRow)
  • Default: Y
  • Options: X, Y, Z
  • Shown when: rcRow.model.kind === "cuttingPlane"

Through the model centre

  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: rcRow.model.kind === "cuttingPlane"

Offset (m)

  • Control: value (ValueField)
  • Default: 0
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "cuttingPlane" && !rcRow.model.planeOffsetAuto && !planeFrom.usesPrimitive

Format

  • Control: choice (ComboRow)
  • Default: vtk
  • Options: vtk, raw, ensight, foam
  • Shown when: rcRow.model.kind === "cuttingPlane"

Operation

  • Control: choice (ComboRow)
  • Options: sum, areaAverage, areaIntegrate, min, max, areaNormalIntegrate
  • Shown when: rcRow.model.kind === "patchData"

sum of phi over an inlet or outlet is its volumetric flow.

Operation

  • Control: choice (ComboRow)
  • Options: volAverage, volIntegrate, sum, min, max
  • Shown when: rcRow.model.kind === "volumeData"

Start at

  • Control: value (ValueField)
  • Default: 0
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "fieldAverage"

The in-app guidance depends on the case:

  • Iteration to start averaging from.
  • Time in seconds to start from.

Variance as well as mean

  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: rcRow.model.kind === "fieldAverage"

Watching

  • Control: value (ValueField)
  • Default: forceCoeffs1
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "runTimeControl"

The name of another item on this list - a force coefficient item, usually.

Quantity

  • Control: value (ValueField)
  • Default: Cd
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "runTimeControl"

Tolerance

  • Control: value (ValueField)
  • Default: 0.001
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "runTimeControl"

Window

  • Control: value (ValueField)
  • Default: 500
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "runTimeControl"

Iterations the average is taken over.

Fields

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: ["probes", "cuttingPlane", "patchData", "volumeData", "fieldMinMax", "fieldAverage"] .indexOf(rcRow.model.kind) >= 0

Space separated, as the solver names them: U p k omega.

Only when the solver writes

  • Control: on/off (ToggleRow)
  • Shown when: ["yPlus", "wallShearStress", "fieldAverage", "runTimeControl"].indexOf(rcRow.model.kind) < 0

A sampled plane written at every time step is thousands of files and a run that spends its time on IO.

Write every

  • Control: value (ValueField)
  • Default: 1
  • Value modes: none (plain entry)
  • Shown when: ["yPlus", "wallShearStress", "fieldAverage", "runTimeControl"].indexOf(rcRow.model.kind) < 0 && !rcRow.model.atWriteTime

Time steps between writes.

Remove

  • Control: action (ToolButton2)

Problems reported against this step

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

Severity Message
error Force coefficients are scaled by … m/s but the inlet is … m/s. Every coefficient would be out by a factor of ….
warn … measures the patch "…", which this case does not have - most likely it was set up before the geometry was imported. It will not be written; pick one of: ….
error Mean age of fluid needs an inlet to measure age from. This case has none, so the field would be uniform rather than wrong in a way you could see.
error Thermal comfort is assessed from the air temperature, and this case does not solve for one. Turn the energy equation on, or take the control off.
error Turbulence fields has nothing to write on a laminar case: there is no model to ask for k, epsilon or the Reynolds stress.

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