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.

Result control

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

Setup tree: Result control

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

repeated once for every entry in CaseState.resultControls

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

Names the directory under postProcessing/.

  • Control: choice (ComboRow)
  • Shown when: ["forceCoeffs", "forces", "patchData", "totalPressureLoss"] .indexOf(rcRow.model.kind) >= 0
  • Control: choice (ComboRow)
  • Default: empty
  • Shown when: rcRow.model.kind === "totalPressureLoss"
  • 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.

  • Control: value (ValueField)
  • Default: 1
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "forceCoeffs" && !rcRow.model.refAuto
  • Control: value (ValueField)
  • Default: 1
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "forceCoeffs" && !rcRow.model.refAuto
  • Control: value (ValueField)
  • Default: 10
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "forceCoeffs" && !rcRow.model.refAuto
  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: ["forceCoeffs", "forces"].indexOf(rcRow.model.kind) >= 0

Off to give the centre of rotation directly.

  • 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.

  • 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 || "") === ""
  • 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 || "") === ""
  • 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 || "") === ""
  • 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 || "") === ""
  • 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 || "") === ""
  • 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 || "") === ""
  • 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.

  • Control: value (ValueField)
  • Default: 3
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "probes" && rcRow.model.probeMode === "Wake"
  • 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)

  • Control: choice (ComboRow)
  • Default: Y
  • Options: X, Y, Z
  • Shown when: rcRow.model.kind === "cuttingPlane"
  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: rcRow.model.kind === "cuttingPlane"
  • Control: value (ValueField)
  • Default: 0
  • Value modes: none (plain entry)
  • Shown when: rcRow.model.kind === "cuttingPlane" && !rcRow.model.planeOffsetAuto && !planeFrom.usesPrimitive
  • Control: choice (ComboRow)
  • Default: vtk
  • Options: vtk, raw, ensight, foam
  • Shown when: rcRow.model.kind === "cuttingPlane"
  • 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.

  • Control: choice (ComboRow)
  • Options: volAverage, volIntegrate, sum, min, max
  • Shown when: rcRow.model.kind === "volumeData"
  • 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.
  • Control: on/off (ToggleRow)
  • Default: true
  • Shown when: rcRow.model.kind === "fieldAverage"
  • 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.

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

Iterations the average is taken over.

  • 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.

  • 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.

  • 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.

  • Control: action (ToolButton2)

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.