Checks¶
The automated checks Bramble runs on every Attitude, and what each template includes. To choose a template and act on the results, see configure pre-checks.
Checks run in two lifecycle stages:
- Pre-Checks, before Mesh & Solve, checks the case set-up and produces plots.
- Check the CFD solution, after Mesh & Solve, checks the solution. Its results appear in the Post-run checks row.
Each row on the Run Checks tab shows Passed, Failed or Pending. Any failed check fails its stage and stops the Attitude until you Skip Failed Task, Rerun Prechecks or Reset. Thresholds are fixed, or come from the Template Case (for example, convergence tolerances). They can't be changed on the Run Checks tab.
Checks templates¶
| Template | Pre-check row | Intended for |
|---|---|---|
| Baseline Checks (default) | Baseline | A first or baseline Run. Everything except baseline comparisons |
| Modification Checks | Modification | A geometry change against a baseline. Adds mesh-recipe comparison and delta geometry; skips rotating-region, wheel, ground and balance plots |
| Modification Mesh Level Plots | Modification Mesh and Level Plot | As Modification Checks, plus mesh level and layer plots |
| New Attitude Checks | RHC | New ride heights or Attitudes of an existing design. Keeps rotating-region, wheel, ground-plane and balance plots; drops radiator plots, mesh-recipe comparison and delta geometry |
| Processed Geometry Check | Processed Geometry Check | Only builds the processed geometry for View Processed Geometry |
| No PreChecks | No PreChecks | Skips pre-checks. Always passes |
Every template has the same Post-run checks row.
Pre-checks (OpenFOAM)¶
B = Baseline Checks, M = Modification Checks and Modification Mesh Level Plots, NA = New Attitude Checks.
| Check (heading shown on failure) | Passes when | B | M | NA |
|---|---|---|---|---|
| Check for unused or missing toints | Every toint Part in the geometry is used by the Template Case, and every toint the Template Case needs is present |
✓ | ✓ | ✓ |
| Check for Zones not in "All" Force Groups | Every surface zone is in the all force group |
✓ | ✓ | ✓ |
| Check for Zones in "All" that do not appear in any Force Group | Every zone in all is also in at least one other force group |
✓ | ✓ | ✓ |
| Zones in Multiple Force Groups | No zone is in more than one force group (so no forces are double-counted) | ✓ | ✓ | ✓ |
| Monitors not in Model Build | Every monitor in the Template Case has its zone in the geometry | ✓ | ✓ | ✓ |
| Duplicate Monitors | No monitor is defined twice | ✓ | ✓ | ✓ |
| Radiator Coordinate System Orthogonality | Each porous region's axes are orthogonal | ✓ | ✓ | ✓ |
| Radiator Coefficients | Darcy D between 1e4 and 1e8 and F between 1 and 10,000; power-law C0 between 2,000 and 6,000 and C1 between 1 and 2 | ✓ | ✓ | ✓ |
| Tyre Roughness | Every zone matching -tyre- or -tire- has a rough-wall condition |
✓ | ✓ | ✓ |
| Mapped Inlet Position | Mapped-inlet workflows only: the inlet plane is upstream of the geometry | ✓ | ✓ | — |
| Mapped Solution Donor Status | The mapped-solution donor has completed Mesh & Solve and isn't archived | ✓ | ✓ | ✓ |
| Zoneless patches in a Zoneless MRF do not match any zones | Each zoneless MRF matches at least one zone | ✓ | — | ✓ |
| Zones have been matched in the zoneless or non-rotating patches for multiple MRFs | No zone is claimed by two MRFs | ✓ | — | ✓ |
| Non-Rotating Patches do not match any zones | Every non-rotating patch named on an MRF exists | ✓ | — | ✓ |
| Check for Baffle toints not in "All" Force Groups | Baffle toints are in all |
✓ | ✓ | ✓ |
| Check for Baffle toints in "All" that do not appear in any Force Group | Baffle toints in all are in another group too |
✓ | ✓ | ✓ |
| Check Meancalc settings | MeanCalc only: target accuracy 0.07–0.15, a minimum sample time of at least 10 CTU, the maximum run time above the minimum, and a set field-average write interval | ✓ | ✓ | ✓ |
| Compare Mesh Recipe | Needs a baseline. Every zone's mesh settings match the baseline, with no new zones lacking a recipe | — | ✓ | — |
Plot checks¶
These produce the images in Select Pre-check Plots. They only fail if the images can't be generated.
| Check | Plots | B | M | NA |
|---|---|---|---|---|
| Geometry Plots | Geometry | ✓ | ✓ | ✓ |
| Mesh Plots | Force Group, Number of Layers, Mesh Refinement Level | ✓ | Mesh Level Plots only | — |
| Delta Geometry Plots | Added and removed geometry against the baseline and any extra deltas | — | ✓ | — |
| Radiator Plots | Each Darcy radiator, with its through (red) and normal (blue) vectors | ✓ | ✓ | — |
| Rotational Geometry Plots | Each rotating region, with its axis (red) and MRF point (green) | ✓ | — | ✓ |
| Zoneless Patches Plots, Non-Rotating Patches Plots | MRF patch selections | ✓ | — | ✓ |
| Ground Plane Plots | The ground plane | ✓ | — | ✓ |
| Balance Plots | Each balance: force (red), moment (green), span (blue), centre (yellow) | ✓ | — | ✓ |
Star-CCM+ and zCFD methodologies run their own versions of these checks. For example, Star-CCM+ also checks that radiator-frame, custom-offset and contact-prevention patterns match zones. zCFD checks that the Template Case's maximum frequency is achievable with the mesh.
Solution checks (OpenFOAM)¶
| Check | Fails when | Default threshold |
|---|---|---|
| Check Convergence | The force rolling mean varies too much over the averaging window | Total drag and lift within 0.5 %, unless the Template Case sets its own tolerances. DES and other transient solves produce plots only |
| Check Monitor Convergence | A monitor doesn't converge, if the Template Case configures monitor convergence | From the Template Case |
| Check End Time | The solve stopped before its planned end | — |
| Check Max Velocity | Maximum velocity is too high | More than 5 × freestream |
| Check Max Pressure / Check Min Pressure | Pressure is outside the expected range | Beyond ±20 × freestream dynamic pressure |
| Check Centroid Distance | A wheel's rotating region is off its axis | More than 5 mm |
| Check Cell Zone Sizes | Needs a baseline. A rotating region or porous zone has a very different cell count from the baseline | More than ±10 % |
| Check Cell Total | A rotating region contains most of the mesh, which usually means the outer domain was assigned to it | More than 90 % of cells |
The failure message gives the value and location, for example "Failed - Max Velocity (…) at (…) is over 5 times greater than the freestream". If convergence fails, look at the View plots, then either use Run-on or Skip Failed Task.
Common failure messages¶
| Message | What to do |
|---|---|
| "… is in the selected parts but is not used to create a fluid, MFP, radiator block or baffle" | Remove the unused toint Part, or define it in the Template Case |
| "… is needed to make a fluid or MFP but is not in the selected parts" | Add the missing toint Part to the Run's Assemblies |
| "… does not appear in any force group." | Add the zone to a force group in the Template Case |
| "… appears in multiple force groups …" | Remove the zone from all but one group |
| "A monitor for … exists in the Template Case but not in the run's geometry" | Remove the monitor, or add the Part |
| "… does not have roughness applied." | Apply a rough wall to tyre zones |
| "Porous region … does not have a sensible D coefficient (1e4 < D < 1e8)" | Check the radiator coefficients and units |
| "Mesh recipe on zone … has changed. …" | Expected for a deliberate change: Skip Failed Task. Otherwise align the recipes |
| "Mapped solution donor case has not completed mesh and solve." | Wait for the donor, or choose another |
| "Unable to determine a centre of rotation or axis for …" | Complete the rotating-wall set-up in the Template Case or Kinematic Setup |
| "SnappySetup failed to run. An error possibly exists with the Template Case" | Check the Template Case, or contact support |
| "Convergence of … is above threshold (…)" | Review the convergence plot; Run-on or Skip Failed Task |
Related: Configure pre-checks · Zone naming · Statuses and lifecycle