How a grade is made.
Four checks.
- 01Convergence
Did it settle, and where?
Steady: fixed-point detection. Transient: MSER-5 truncation, batch means and a stationarity test. White, 1997 · Geweke, 1992
A steady solver on unsteady flow is a verdict, not a warning.
- 02Discretization
How much of the answer is the mesh?
Grid convergence index from two or three refined meshes. ASME V&V 20
Discretization error was not quantified: a single mesh was supplied.
- 03Setup
Is the model right for the physics?
Twelve rules. Each cites the file it read and the threshold it applied.
Every rule is listed, including the ones that passed.
- 04Validation
How far from the reference?
Comparison error against the combined validation uncertainty. ASME V&V 20
Accuracy against a reference was not assessed: no reference was supplied.
Twelve rules.
| Code | Rule | Reads | Threshold | Severity |
|---|---|---|---|---|
| REG.UNSTEADY_STEADY | Steady solver, unsteady flow | Convergence result | Monitors in a limit cycle under a steady solver | FAIL |
| REG.YPLUS_WALLFN | y+ against wall functions | yPlus output, wall treatment | Fraction of faces below 11 or above 300: over 0.10 warns, over 0.30 fails | WARN / FAIL |
| REG.YPLUS_RESOLVED | y+ on a resolved wall | yPlus output, wall treatment | Maximum y+ above 5 on any wall patch | FAIL |
| REG.LAMINAR_TURBULENT | Laminar model, turbulent flow | Turbulence model, Reynolds number | Re above 4,000 internal or 500,000 external | FAIL |
| REG.TURB_SEPARATION | k-epsilon on separating flow | Turbulence model, force monitors | k-epsilon family with oscillating force monitors | WARN |
| REG.BOUNDING | Bounded fields clipped | Solver log | Bounding in more than 1 of every 100 steps warns; more than 1 of every 10 fails | WARN / FAIL |
| REG.COURANT_SCHEME | Courant number against scheme | Courant history, schemes | Max Co above 1 with an unbounded scheme, steady; above 5 with one outer corrector, PIMPLE | WARN |
| REG.CLOSED_NO_PREF | Closed domain, no pressure reference | fvSolution, boundary types | Incompressible, no fixed-value pressure patch, no pRef | FAIL |
| REG.MESH_QUALITY | Mesh quality | checkMesh log | Non-orthogonality above 70° or skewness above 4 | WARN |
| REG.PARALLEL_STALE | Stale decomposition | Collect manifest | Processor meshes older than constant/polyMesh | FAIL |
| REG.CONVERGENCE_CRIT | Loose convergence criterion | fvSolution | Pressure criterion looser than 1e-3 on a case that claims convergence | WARN |
| REG.DECOMP_IMBALANCE | Unbalanced decomposition | decomposePar log | Largest to smallest processor above 1.15 | INFO |
Evaluated D, A, C, B.
- D
Did not converge, or a rule failed.
M1 FAIL ∨ M3 FAIL ∨ M4 FAIL - A
Converged. Small mesh error. Agrees with the reference.
M1 PASS ∧ M2 PASS, GCI < 0.02 ∧ M3 PASS or one WARN ∧ M4 PASS - C
Converged, with warnings.
M1 PASS ∧ (M3 more than one WARN ∨ M2 ∈ {WARN, FAIL} ∨ M4 WARN) - B
Converged. Nothing failed. Every gap stated.
M1 PASS ∧ M2 ∈ {PASS, NOT_ASSESSABLE} ∧ M3 no FAIL ∧ M4 ∈ {PASS, NOT_ASSESSABLE}
Missing evidence never raises a grade. The letters are ours, not any standard's.
Two formulas.
GCI = Fs · |(φ₁ − φ₂)/φ₁| ÷ (r21p − 1)
ASME V&V 20 · Fs 1.25 on three meshes, 3.0 on two · oscillatory convergence returns no order.
uval = √(unum² + uinput² + uD²)
ASME V&V 20 · compared with E = S − D · without numerical uncertainty it is a lower bound, and the finding says so.
Measured on real solver output.
certification scenarios pass on a real solver
faulted scenarios, the injected fault named in the top two
failure modes named on real solver output
The other 12.
- BC.REVERSED_OUTFLOWReversed outlet flowroute exists, never exercised
- BC.TURB_INLETInconsistent turbulence inlet valuesroute exists, never exercised
- BC.WALL_FUNCTIONWrong wall functions for the modelroute exists, never exercised
- CONV.OSCILLATIONOscillating quantities of interestroute exists, never exercised
- ENV.DECOMP_MISMATCHDecomposition mismatchroute exists, never exercised
- MESH.LEAKY_SNAPPYLeaky snappyHexMeshroute exists, never exercised
- MESH.NEGATIVE_VOLUMENegative cell volumesroute exists, never exercised
- MESH.YPLUS_RESOLUTIONPoor boundary-layer resolutionroute exists, never exercised
- PHYS.CHT_THERMOConjugate heat transfer property inconsistencyroute exists, never exercised
- PHYS.TURB_REGIMETurbulence model unsuited to regimeno route, excluded
- CONV.MASS_IMBALANCEMass or energy imbalanceno route, excluded
- CONV.MESH_DEPENDENCENot mesh-independentno route, excluded
Asked first.
Is Courant a solver?
No. It reads what your solver wrote. It never runs the solver, edits the case or builds a mesh.
Does it fix simulations?
No. It grades the result and states the evidence. The engineer decides what to change.
What does it read?
The solver log, function-object output, the mesh-quality report, and the model, scheme and boundary settings. Never the mesh itself.
What leaves my machine?
Nothing from the case. The report is written locally, and you decide who sees it.
Which solvers?
OpenFOAM, including decomposed parallel runs. Ansys Fluent and Simcenter STAR-CCM+ adapters are planned.
What does the grade mean?
A fixed rule over the four checks, printed beside the letter. The letters are ours, not any standard's.
Does a language model decide anything?
No. Code decides every verdict, grade and number. A model may draft prose; a draft that states a number the data does not is rejected.
The regulators’ words, used their way.
- Credibility
- The trust, established through evidence, in a model's predictions for a specific context of use.
- Credibility evidence
- The collected results of verification, validation and applicability activities.
- Context of use
- The specific role of the model in the decision it informs.
- Verification
- Was the model solved correctly? Iterative convergence and discretization error.
- Validation
- Was the correct model solved? Comparison with reference data.
- Applicability
- Whether the evidence covers the context of use.
- Comparator
- The reference data the result is compared against.
- Adequacy
- Whether the evidence is enough for the context of use.
- Grid convergence index
- An error band on a result from a sequence of refined meshes, per ASME V&V 20.
- Answer-unchanged delta
- How much the reported quantity changed between the stopping point and the end of the run.
- Evidence pack
- The report as data, the report as a document, and the manifest of every input read.
- FDA guidance, 2023 Assessing the Credibility of Computational Modeling and Simulation in Medical Device Submissions
- ASME V&V 40-2018 Assessing Credibility of Computational Modeling through Verification and Validation: Application to Medical Devices
- ASME V&V 20 Standard for Verification and Validation in Computational Fluid Dynamics and Heat Transfer
- NASA-STD-7009B Standard for Models and Simulations
- NRC RG 1.203 Regulatory Guide 1.203, Transient and Accident Analysis Methods
- FIA 2026 Section F 2026 Formula 1 Regulations, Section F: Operational, Aerodynamic Testing Restrictions
Courant is not affiliated with, endorsed by or approved by any regulator or standards body.