How a grade is made.

Four checks.

  1. 01
    Convergence

    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.

  2. 02
    Discretization

    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.

  3. 03
    Setup

    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.

  4. 04
    Validation

    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.

CodeRuleReadsThresholdSeverity
REG.UNSTEADY_STEADYSteady solver, unsteady flowConvergence resultMonitors in a limit cycle under a steady solverFAIL
REG.YPLUS_WALLFNy+ against wall functionsyPlus output, wall treatmentFraction of faces below 11 or above 300: over 0.10 warns, over 0.30 failsWARN / FAIL
REG.YPLUS_RESOLVEDy+ on a resolved wallyPlus output, wall treatmentMaximum y+ above 5 on any wall patchFAIL
REG.LAMINAR_TURBULENTLaminar model, turbulent flowTurbulence model, Reynolds numberRe above 4,000 internal or 500,000 externalFAIL
REG.TURB_SEPARATIONk-epsilon on separating flowTurbulence model, force monitorsk-epsilon family with oscillating force monitorsWARN
REG.BOUNDINGBounded fields clippedSolver logBounding in more than 1 of every 100 steps warns; more than 1 of every 10 failsWARN / FAIL
REG.COURANT_SCHEMECourant number against schemeCourant history, schemesMax Co above 1 with an unbounded scheme, steady; above 5 with one outer corrector, PIMPLEWARN
REG.CLOSED_NO_PREFClosed domain, no pressure referencefvSolution, boundary typesIncompressible, no fixed-value pressure patch, no pRefFAIL
REG.MESH_QUALITYMesh qualitycheckMesh logNon-orthogonality above 70° or skewness above 4WARN
REG.PARALLEL_STALEStale decompositionCollect manifestProcessor meshes older than constant/polyMeshFAIL
REG.CONVERGENCE_CRITLoose convergence criterionfvSolutionPressure criterion looser than 1e-3 on a case that claims convergenceWARN
REG.DECOMP_IMBALANCEUnbalanced decompositiondecomposePar logLargest to smallest processor above 1.15INFO

Evaluated D, A, C, B.

  1. D

    Did not converge, or a rule failed.

    M1 FAIL ∨ M3 FAIL ∨ M4 FAIL
  2. A

    Converged. Small mesh error. Agrees with the reference.

    M1 PASS ∧ M2 PASS, GCI < 0.02 ∧ M3 PASS or one WARN ∧ M4 PASS
  3. C

    Converged, with warnings.

    M1 PASS ∧ (M3 more than one WARN ∨ M2 ∈ {WARN, FAIL} ∨ M4 WARN)
  4. 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.

36 of 36certification/RESULTS.json · 1 Sep 2026

certification scenarios pass on a real solver

28 of 28certification/RESULTS.json · 1 Sep 2026

faulted scenarios, the injected fault named in the top two

13 of 25docs/COVERAGE.md

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.

Send a result that has to hold up.