{
  "name": "Code verification tests and their pass criteria across four sources",
  "description": "Compiled by CASRAI from NASA Glenn, PyLith developer documentation and NTNU course notes: each row is a named code-verification test, the quantity it checks and the pass criterion the source states.",
  "page": "https://casrai.org/guides/code-verification",
  "publisher": "CASRAI",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "dateModified": "2026-11-13T05:39:42Z",
  "temporalCoverage": null,
  "spatialCoverage": null,
  "columns": [
    {
      "name": "Test",
      "unit": "",
      "description": ""
    },
    {
      "name": "Quantity checked",
      "unit": "",
      "description": ""
    },
    {
      "name": "Pass criterion stated in source",
      "unit": "",
      "description": ""
    },
    {
      "name": "Source",
      "unit": "",
      "description": ""
    }
  ],
  "rows": [
    {
      "Test": "Observed order of accuracy (MMS)",
      "Quantity checked": "Discretization error on successively refined grids, fitted as error = C h^p",
      "Pass criterion stated in source": "Observed order of accuracy is close to the theoretical order",
      "Source": "NTNU course notes"
    },
    {
      "Test": "PyLith solution representation",
      "Quantity checked": "Whether the manufactured solution lies in the finite-element space",
      "Pass criterion stated in source": "Basis order at least that of the solution (order-2 polynomial needs basis order of at least 2)",
      "Source": "PyLith developer documentation"
    },
    {
      "Test": "PyLith residual test",
      "Quantity checked": "Residual difference F(s) - G(s) for the known solution",
      "Pass criterion stated in source": "Norm no greater than a tolerance epsilon",
      "Source": "PyLith developer documentation"
    },
    {
      "Test": "PyLith Taylor-series Jacobian test",
      "Quantity checked": "Remainder F(s + eps ds) - F(s) - eps J v",
      "Pass criterion stated in source": "Norm smaller than epsilon squared",
      "Source": "PyLith developer documentation"
    },
    {
      "Test": "PyLith finite-difference Jacobian test",
      "Quantity checked": "Finite-difference Jacobian versus hand-coded Jacobian",
      "Pass criterion stated in source": "Match within a tolerance",
      "Source": "PyLith developer documentation"
    },
    {
      "Test": "Grid and time-step convergence study",
      "Quantity checked": "Error as mesh or time step is refined",
      "Pass criterion stated in source": "Yields observed order of convergence, error bands and grid convergence index (GCI)",
      "Source": "NASA Glenn NPARC tutorial"
    }
  ],
  "sources": [
    {
      "title": "NASA Glenn NPARC verification assessment",
      "url": "https://www.grc.nasa.gov/www/wind/valid/tutorial/verassess.html",
      "accessed": "2026-11-13"
    },
    {
      "title": "PyLith developer documentation: MMS tests",
      "url": "https://pylith.readthedocs.io/en/stable/developer/testing/mmstests.html",
      "accessed": "2026-11-13"
    },
    {
      "title": "NTNU course notes: Code verification using MMS",
      "url": "https://fredf.folk.ntnu.no/teaching/chapter1MMS.html",
      "accessed": "2026-11-13"
    }
  ]
}