Skip to content
GRAVITAS simulation

Validation

What Gravitas Has Been Checked Against

Not a claim that the physics is right. A list of quantities, the value this engine produces for each one, the value it should have, where that value came from, and how much error was allowed.

—

checks loading

Last run
—
Took
—
Areas covered
—
Sources cited
—

Every number on this page came out of one file that both this page and the project's test suite read, so the table a reader prints and the suite that gates a commit cannot drift apart. You do not have to take the table's word for it either: the button below runs the entire suite again, here, on your machine, against the same modules the simulation itself loads.

Run it yourself

About ten seconds. Nothing is sent anywhere; the whole suite executes in a background thread in this tab.

Five kinds of check

These do not mean the same thing, and a suite that mixed them would be able to hide a weak result behind a strong one. Each check is labeled with its kind everywhere it appears.

How much room was left

Passing is a yes or no. The more useful question is by how much, so every check is plotted below at its measured error as a fraction of the tolerance it was allowed. A dot at the right-hand edge only just passed. A dot at the far left came out at machine precision, meaning the code reproduces its own equation to fifteen decimal places and the tolerance never came into it.

Checks held to an exact match are not on this chart: dividing by a tolerance of zero has no meaning. They are counted separately below and every one of them is exact.

Every check, by area

Measured against expected, with the error and the tolerance it was held to. Open a row to see why that tolerance is what it is, and where the expected value came from when it is a published one. A tolerance with no stated reason is a number chosen to make a test pass, so every one here carries its reason with it.

What this does not establish

A validation suite is only worth as much as its statement of what it leaves out.

The reasoning behind the model itself, including what it deliberately simplifies, is on the model page. The full write-up of this suite, with every literature source, is in PHYSICS_VALIDATION.md. To run it in a terminal instead of a browser:

npm run validate:physics