{
  "title": "Physical Modeling",
  "version": "1.0",
  "scope": "Broad, non-exhaustive educational catalog of models, families, methods and frameworks.",
  "models": [
    {
      "id": "schrodinger-model",
      "name": "Schrödinger model",
      "description": "Evolves a nonrelativistic quantum state using a Hamiltonian.",
      "example": "Electron confinement in a quantum dot.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Schr%C3%B6dinger+model",
      "math": {
        "equation": "iℏ ∂ψ/∂t = Hψ; H = −ℏ²∇²/(2m) + V",
        "derivation": [
          "Start with the nonrelativistic energy E = p²/(2m) + V.",
          "Represent momentum by −iℏ∇ and energy by iℏ∂/∂t acting on ψ.",
          "Applying these operators gives the time-dependent Schrödinger equation."
        ],
        "assumptions": "ψ is the wavefunction, m the particle mass, V the potential, and ℏ the reduced Planck constant; the Hamiltonian must include the interactions relevant to the system.",
        "tex": "i\\hbar\\frac{\\partial\\psi}{\\partial t}=H\\psi; H=-\\frac{\\hbar^2\\nabla^2}{2m}+V"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Quantum-dot emitters",
        "implementation": {
          "name": "QuTiP",
          "url": "https://qutip.readthedocs.io/en/stable/guide/guide.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "particle-in-a-box-model",
          "type": "Has special case",
          "note": "Uses idealized confining walls and the associated boundary conditions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Has special case",
          "note": "Uses a quadratic confining potential."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "dirac-model",
      "name": "Dirac model",
      "description": "Describes relativistic spin-half particles with a spinor wave equation.",
      "example": "Spin-orbit effects in heavy elements.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Dirac+model",
      "math": {
        "equation": "iℏ ∂ψ/∂t = [cα·p + βmc²]ψ",
        "derivation": [
          "Seek a first-order wave equation whose square reproduces E² = c²p² + m²c⁴.",
          "Require anticommuting matrices α and β so the cross terms cancel.",
          "This matrix structure makes ψ a spinor and yields the Dirac Hamiltonian."
        ],
        "assumptions": "Free-particle form; α and β are Dirac matrices, c the speed of light. Electromagnetic coupling requires potentials and p → p − qA.",
        "tex": "i\\hbar\\frac{\\partial\\psi}{\\partial t}=[c\\alpha\\cdot p+\\beta mc^2]\\psi"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Heavy-element molecular sensors",
        "implementation": {
          "name": "DIRAC quantum chemistry",
          "url": "https://www.diracprogram.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bornoppenheimer-approximation",
      "name": "Born–Oppenheimer approximation",
      "description": "Separates electronic motion from slower nuclear motion.",
      "example": "Computing a molecular potential-energy surface.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Born%E2%80%93Oppenheimer+approximation",
      "math": {
        "equation": "Ψ(r,R) ≈ ψₙ(r;R)χₙ(R); Hₑ(R)ψₙ = Eₙ(R)ψₙ",
        "derivation": [
          "Write the total Hamiltonian as nuclear kinetic energy plus an electronic Hamiltonian at fixed nuclear coordinates R.",
          "Expand the full state in electronic eigenstates.",
          "Neglect couplings generated by nuclear derivatives of the electronic states to obtain motion on one potential-energy surface Eₙ(R)."
        ],
        "assumptions": "r and R denote electronic and nuclear coordinates; the approximation can fail near electronic degeneracies or rapid nonadiabatic transitions.",
        "tex": "\\Psi(r,R)\\approx\\psi_n(r;R)\\chi_n(R); H_e(R)\\psi_n=E_n(R)\\psi_n"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Catalyst molecules",
        "implementation": {
          "name": "Q-Chem",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hartreefock-model",
      "name": "Hartree–Fock model",
      "description": "Approximates a many-electron wavefunction by one self-consistent Slater determinant.",
      "example": "Estimating molecular orbitals before a correlation calculation.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Hartree%E2%80%93Fock+model",
      "math": {
        "equation": "Fφᵢ = εᵢφᵢ; F = h + Σⱼ(Jⱼ − Kⱼ)",
        "derivation": [
          "Approximate the many-electron state by one antisymmetrized determinant.",
          "Minimize its energy subject to orbital orthonormality using Lagrange multipliers.",
          "Variation with respect to each orbital produces the Fock equation, solved self-consistently."
        ],
        "assumptions": "Spin-orbital form; h is the one-electron operator, J Coulomb and K exchange. Electron correlation beyond exchange is omitted.",
        "tex": "F\\phi_i=\\varepsilon_i\\phi_i; F=h+\\sum_j(J_j-K_j)"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Molecular electronic materials",
        "implementation": {
          "name": "Q-Chem",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "For a contractive or suitably relaxed fixed-point formulation; monitor residuals and possible divergence.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Broyden method",
          "url": "https://iicsm.org/numericalmodeling/#broyden-method",
          "role": "Nonlinear solve",
          "note": "For smooth nonlinear residuals when repeated full Jacobians are expensive; scale and safeguard the iteration.",
          "context": "Updates an approximate Jacobian from observed changes."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "density-functional-theory-dft",
      "name": "Density functional theory (DFT)",
      "description": "Uses electron density to determine ground-state properties with an approximate exchange-correlation functional.",
      "example": "Screening electrode materials.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Density+functional+theory+%28DFT%29",
      "math": {
        "equation": "[−ℏ²∇²/(2mₑ) + vₑₓₜ + vH[n] + vxc[n]]φᵢ = εᵢφᵢ; n(r) = Σᵢ fᵢ∣φᵢ(r)∣²",
        "derivation": [
          "Express the ground-state energy as a density functional including kinetic, external, Hartree and exchange-correlation terms.",
          "Represent the noninteracting kinetic term using orbitals, with n(r) = Σᵢ fᵢ∣φᵢ(r)∣².",
          "Vary the orbitals under orthonormality constraints to obtain the Kohn–Sham equations."
        ],
        "assumptions": "fᵢ are orbital occupations. vxc = δExc/δn is approximated in practical calculations.",
        "tex": "[-\\frac{\\hbar^2\\nabla^2}{2m_e}+v_{\\mathrm{ext}}+v_H[n]+v_{\\mathrm{xc}}[n]]\\phi_i=\\varepsilon_i\\phi_i; n(r)=\\sum_i f_i|\\phi_i(r)|^2"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Battery electrode materials",
        "implementation": {
          "name": "Quantum ESPRESSO",
          "url": "https://www.quantum-espresso.org/Doc/INPUT_PW.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "For a contractive or suitably relaxed fixed-point formulation; monitor residuals and possible divergence.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Broyden method",
          "url": "https://iicsm.org/numericalmodeling/#broyden-method",
          "role": "Nonlinear solve",
          "note": "For smooth nonlinear residuals when repeated full Jacobians are expensive; scale and safeguard the iteration.",
          "context": "Updates an approximate Jacobian from observed changes."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Can supply forces to",
          "note": "DFT is a common electronic-structure route for evaluating forces during dynamics."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Extended in time by",
          "note": "Extends density-functional modeling to time-dependent electronic response."
        },
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "time-dependent-dft-tddft",
      "name": "Time-dependent DFT (TDDFT)",
      "description": "Evolves electron density to approximate excited-state response.",
      "example": "Predicting optical absorption of a molecule.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Time-dependent+DFT+%28TDDFT%29",
      "math": {
        "equation": "iℏ ∂φᵢ/∂t = [−ℏ²∇²/(2mₑ) + vs[n](r,t)]φᵢ",
        "derivation": [
          "Map the interacting time-dependent density onto an auxiliary noninteracting orbital system.",
          "Require the effective potential vs to reproduce that density.",
          "Propagating the orbitals yields density and response; linearizing around a stationary state gives excitation-response equations."
        ],
        "assumptions": "Time-dependent Kohn–Sham form; practical exchange-correlation potentials often neglect memory and may misrepresent charge-transfer excitations.",
        "tex": "i\\hbar\\frac{\\partial\\phi_i}{\\partial t}=[-\\frac{\\hbar^2\\nabla^2}{2m_e}+v_s[n](r,t)]\\phi_i"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Organic light-emitting materials",
        "implementation": {
          "name": "Q-Chem",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "Crank-Nicolson",
          "url": "https://iicsm.org/numericalmodeling/#crank-nicolson",
          "role": "Time integration",
          "note": "For smooth evolution where a second-order implicit scheme fits; stiff transients may ring without adequate resolution.",
          "context": "Averages endpoint slopes to obtain a second-order implicit step."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "density-functional-theory-dft",
          "type": "Time-dependent extension of",
          "note": "Extends density-functional modeling to time-dependent electronic response."
        },
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "tight-binding-model",
      "name": "Tight-binding model",
      "description": "Represents electronic states with localized orbitals and hopping parameters.",
      "example": "Electronic bands in a semiconductor.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Tight-binding+model",
      "math": {
        "equation": "H = Σᵢ εᵢ cᵢ†cᵢ + Σᵢⱼ tᵢⱼ cᵢ†cⱼ",
        "derivation": [
          "Expand electronic states in localized atomic-like orbitals.",
          "Project the electronic Hamiltonian into that basis.",
          "Retain selected on-site and hopping matrix elements to obtain a finite matrix eigenproblem."
        ],
        "assumptions": "cᵢ† and cᵢ create and remove electrons at orbital i; εᵢ and tᵢⱼ are fitted or computed energies. Overlap requires a generalized eigenproblem if the basis is nonorthogonal.",
        "tex": "H=\\sum_i\\varepsilon_i c_i^\\dagger c_i+\\sum_{ij}t_{ij}c_i^\\dagger c_j"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Semiconductor nanodevices",
        "implementation": {
          "name": "Kwant",
          "url": "https://downloads.kwant-project.org/doc/latest.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hubbard-model",
      "name": "Hubbard model",
      "description": "Models competition between particle hopping and local electron interactions.",
      "example": "Exploring correlation-driven insulating behavior.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Hubbard+model",
      "math": {
        "equation": "H = −t Σ⟨i,j⟩,σ(cᵢσ†cⱼσ + h.c.) + U Σᵢ nᵢ↑nᵢ↓",
        "derivation": [
          "Start from a localized-orbital description with electron-electron repulsion.",
          "Retain nearest-neighbor hopping and only the dominant on-site repulsion.",
          "Opposite-spin occupancy of one site then costs energy U."
        ],
        "assumptions": "Single-band Hubbard form; t is hopping energy, U on-site repulsion, n occupation, and h.c. the Hermitian conjugate.",
        "tex": "H=-t\\sum_{\\langle i,j\\rangle,\\sigma}(c_{i\\sigma}^\\dagger c_{j\\sigma}+\\mathrm{h.c.})+U\\sum_i n_{i\\uparrow}n_{i\\downarrow}"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Correlated-electron materials",
        "implementation": {
          "name": "ALPS",
          "url": "https://alps.comp-phys.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "heisenberg-spin-model",
      "name": "Heisenberg spin model",
      "description": "Represents interacting localized magnetic moments.",
      "example": "Temperature-dependent magnetic ordering.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Heisenberg+spin+model",
      "math": {
        "equation": "H = −Σ⟨i,j⟩ Jᵢⱼ Sᵢ·Sⱼ − gμB B·Σᵢ Sᵢ",
        "derivation": [
          "Restrict the low-energy degrees of freedom to localized magnetic moments.",
          "Represent rotationally invariant pair coupling by a scalar product.",
          "Add the Zeeman interaction with an external field."
        ],
        "assumptions": "Sᵢ are dimensionless spin operators; positive J favors parallel spins under this sign convention. g is the Landé factor and μB the Bohr magneton.",
        "tex": "H=-\\sum_{\\langle i,j\\rangle}J_{ij}S_i\\cdot S_j-g\\mu_B B\\cdot\\sum_i S_i"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Magnetic recording materials",
        "implementation": {
          "name": "ALPS",
          "url": "https://alps.comp-phys.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Metropolis-Hastings sampling",
          "url": "https://iicsm.org/numericalmodeling/#metropolis-hastings-sampling",
          "role": "Equilibrium / posterior sampling",
          "note": "For a specified target distribution; diagnose mixing and correlation. Samples do not generally represent physical time.",
          "context": "Builds a Markov chain with a desired stationary density."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ising-model",
      "name": "Ising model",
      "description": "Represents discrete spins with interaction energies.",
      "example": "Studying phase transitions in a simplified magnet.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Ising+model",
      "math": {
        "equation": "H = −J Σ⟨i,j⟩ sᵢsⱼ − h Σᵢ sᵢ; sᵢ = ±1",
        "derivation": [
          "Restrict each local moment to two orientations along one axis.",
          "Assign an interaction energy to neighboring pairs and a field energy to each spin.",
          "Summing these contributions gives the Ising Hamiltonian."
        ],
        "assumptions": "J and h have energy units; dimensionality, interaction range and boundary conditions change the predicted behavior.",
        "tex": "H=-J\\sum_{\\langle i,j\\rangle}s_i s_j-h\\sum_i s_i; s_i=\\pm1"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Magnetic films",
        "implementation": {
          "name": "ALPS",
          "url": "https://alps.comp-phys.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Metropolis-Hastings sampling",
          "url": "https://iicsm.org/numericalmodeling/#metropolis-hastings-sampling",
          "role": "Equilibrium / posterior sampling",
          "note": "For a specified target distribution; diagnose mixing and correlation. Samples do not generally represent physical time.",
          "context": "Builds a Markov chain with a desired stationary density."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "quantum-harmonic-oscillator",
      "name": "Quantum harmonic oscillator",
      "description": "Describes a quantum degree of freedom in a quadratic potential.",
      "example": "Approximating vibrational levels near equilibrium.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Quantum+harmonic+oscillator",
      "math": {
        "equation": "H = p²/(2m) + ½mω²x²; Eₙ = ℏω(n + ½)",
        "derivation": [
          "Expand a smooth potential about a stable minimum to quadratic order.",
          "Rewrite the quantum Hamiltonian using raising and lowering operators.",
          "Their commutator gives equally spaced eigenvalues and a nonzero ground-state energy."
        ],
        "assumptions": "n = 0,1,…; x measures displacement from equilibrium and ω is the natural frequency. Anharmonic terms are neglected.",
        "tex": "H=\\frac{p^2}{2m}+\\frac12 m\\omega^2 x^2; E_n=\\hbar\\omega(n+\\frac12)"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Infrared molecular sensors",
        "implementation": {
          "name": "QuTiP",
          "url": "https://qutip.readthedocs.io/en/stable/guide/guide.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "Finite difference method",
          "url": "https://iicsm.org/numericalmodeling/#finite-difference-method",
          "role": "Discretization",
          "note": "For fields on structured grids; design boundary stencils and check mesh convergence.",
          "context": "Approximates derivatives with weighted values on a grid."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Special case of",
          "note": "Uses a quadratic confining potential."
        },
        {
          "target": "einstein-crystal-heat-capacity-model",
          "type": "Forms building block of",
          "note": "Assign one oscillator frequency to all 3N vibrational modes."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-a-box-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "particle-in-a-box-model",
      "name": "Particle-in-a-box model",
      "description": "Confines a quantum particle within idealized boundaries.",
      "example": "Understanding size-dependent electronic energy levels.",
      "discipline": "Quantum & electronic structure",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Approximations to electron correlation, basis size and relativistic effects must match the material and observable.",
      "google_search": "https://www.google.com/search?q=Particle-in-a-box+model",
      "math": {
        "equation": "ψₙ(x) = √(2/L) sin(nπx/L); Eₙ = n²π²ℏ²/(2mL²)",
        "derivation": [
          "Solve the stationary free-particle Schrödinger equation inside a one-dimensional box.",
          "Impose ψ(0) = ψ(L) = 0, which selects k = nπ/L.",
          "Normalize the sine functions and substitute k into E = ℏ²k²/(2m)."
        ],
        "assumptions": "Infinite-wall box, 0 < x < L, n = 1,2,…; finite barriers give different states and allow penetration outside the box.",
        "tex": "\\psi_n(x)=\\sqrt{\\frac2L}\\sin\\frac{n\\pi x}{L}; E_n=\\frac{n^2\\pi^2\\hbar^2}{2mL^2}"
      },
      "application": {
        "area": "Quantum & electronic structure",
        "product_examples": "Quantum-well semiconductor devices",
        "implementation": {
          "name": "QuTiP",
          "url": "https://qutip.readthedocs.io/en/stable/guide/guide.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "Finite difference method",
          "url": "https://iicsm.org/numericalmodeling/#finite-difference-method",
          "role": "Discretization",
          "note": "For fields on structured grids; design boundary stencils and check mesh convergence.",
          "context": "Approximates derivatives with weighted values on a grid."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "schrodinger-model",
          "type": "Special case of",
          "note": "Uses idealized confining walls and the associated boundary conditions."
        },
        {
          "target": "dirac-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bornoppenheimer-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hartreefock-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "density-functional-theory-dft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "time-dependent-dft-tddft",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hubbard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "heisenberg-spin-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ising-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "classical-molecular-dynamics-md",
      "name": "Classical molecular dynamics (MD)",
      "description": "Integrates atomic motion under specified interaction forces.",
      "example": "Diffusion of a liquid in a nanopore.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Classical+molecular+dynamics+%28MD%29",
      "math": {
        "equation": "mᵢ d²rᵢ/dt² = −∇ᵢU(r₁,…,rN)",
        "derivation": [
          "Specify a potential energy U for the atomic configuration.",
          "Differentiate U with respect to each position to obtain force.",
          "Apply Newton’s second law and integrate positions and velocities in time."
        ],
        "assumptions": "rᵢ and mᵢ are atomic positions and masses. Thermostats, constraints and long-range electrostatics modify the practical equations or integration.",
        "tex": "m_i\\frac{d^2r_i}{dt^2}=-\\nabla_i U(r_1,\\ldots,r_N)"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Nanoporous separation membranes",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — interatomic potentials and model types",
          "url": "https://docs.lammps.org/Intro_features.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "green-kubo-viscosity-relation",
          "type": "Supplies correlations for",
          "note": "Integrate equilibrium shear-pressure autocorrelations after checking statistical convergence."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ab-initio-molecular-dynamics",
      "name": "Ab initio molecular dynamics",
      "description": "Computes interatomic forces from electronic-structure calculations during motion.",
      "example": "Studying reactive liquid environments.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Ab+initio+molecular+dynamics",
      "math": {
        "equation": "Mᴵ R̈ᴵ = −∇ᴵ Eelec(R)",
        "derivation": [
          "At each nuclear configuration, solve an electronic-structure problem.",
          "Use its converged energy as the nuclear potential-energy surface.",
          "Differentiate that energy to obtain nuclear forces and integrate the nuclei classically."
        ],
        "assumptions": "Born–Oppenheimer MD form; Mᴵ and Rᴵ are nuclear masses and positions. Electronic convergence and force consistency matter.",
        "tex": "M_I\\ddot R_I=-\\nabla_I E_{\\mathrm{elec}}(R)"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Electrolytes and catalysts",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "density-functional-theory-dft",
          "type": "Can obtain forces from",
          "note": "DFT is a common electronic-structure route for evaluating forces during dynamics."
        },
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lennardjones-potential",
      "name": "Lennard–Jones potential",
      "description": "Combines short-range repulsion with an inverse-sixth-power attraction.",
      "example": "A simplified simulation of an argon fluid.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Lennard%E2%80%93Jones+potential",
      "math": {
        "equation": "U(r) = 4ε[(σ/r)¹² − (σ/r)⁶]; F(r) = −dU/dr",
        "derivation": [
          "Model dispersion attraction by −C₆/r⁶.",
          "Approximate short-range repulsion by a steeper r⁻¹² term.",
          "Choose ε and σ to set the well depth and zero crossing, then differentiate for force."
        ],
        "assumptions": "r is pair separation, ε the energy scale and σ the length scale; this pair model is not a general description of chemical bonding.",
        "tex": "U(r)=4\\varepsilon[(\\sigma/r)^{12}-(\\sigma/r)^6]; F(r)=-\\frac{dU}{dr}"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Noble-gas fluid systems",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair lj",
          "url": "https://docs.lammps.org/pair_lj.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "morse-potential",
      "name": "Morse potential",
      "description": "Represents an anharmonic bond with a finite dissociation energy.",
      "example": "Bond stretching beyond the harmonic regime.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Morse+potential",
      "math": {
        "equation": "U(r) = Dₑ[1 − exp(−a(r − rₑ))]²",
        "derivation": [
          "Seek a bond potential with a minimum at rₑ and finite dissociation energy.",
          "Square an exponential displacement expression to obtain both properties.",
          "A small-displacement expansion gives U ≈ Dₑa²(r − rₑ)² and spring constant k = 2Dₑa²."
        ],
        "assumptions": "Dₑ is well depth, a inverse length; this convention sets U(rₑ) = 0 and U(∞) = Dₑ.",
        "tex": "U(r)=D_e[1-\\exp(-a(r-r_e))]^2"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Molecular spectroscopy standards",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair morse",
          "url": "https://docs.lammps.org/pair_morse.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "embedded-atom-method-eam",
      "name": "Embedded-atom method (EAM)",
      "description": "Combines pair interactions with an embedding energy dependent on local electron density.",
      "example": "Dislocations in a metal crystal.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Embedded-atom+method+%28EAM%29",
      "math": {
        "equation": "U = Σᵢ Fᵢ(ρᵢ) + ½Σᵢ≠ⱼ φᵢⱼ(rᵢⱼ); ρᵢ = Σⱼ≠ᵢ fⱼ(rᵢⱼ)",
        "derivation": [
          "Approximate the local electronic environment by a sum of neighbor density contributions.",
          "Assign an embedding cost F to inserting an atom into that environment.",
          "Add pair interactions and differentiate the total energy to obtain many-body forces."
        ],
        "assumptions": "F is embedding energy, φ pair energy and f a density contribution; parameters are element- and alloy-specific.",
        "tex": "U=\\sum_i F_i(\\rho_i)+\\frac12\\sum_{i\\ne j}\\phi_{ij}(r_{ij}); \\rho_i=\\sum_{j\\ne i}f_j(r_{ij})"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Metal alloy components",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair eam",
          "url": "https://docs.lammps.org/pair_eam.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Extended by",
          "note": "MEAM adds angular dependence to the embedding environment."
        },
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "modified-embedded-atom-method-meam",
      "name": "Modified embedded-atom method (MEAM)",
      "description": "Extends embedding models with angular information.",
      "example": "Deformation in alloys with directional bonding.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Modified+embedded-atom+method+%28MEAM%29",
      "math": {
        "equation": "U = Σᵢ Fᵢ(ρ̄ᵢ) + ½Σᵢ≠ⱼ Sᵢⱼ φᵢⱼ(rᵢⱼ)",
        "derivation": [
          "Begin with the embedded-atom energy.",
          "Construct an effective density ρ̄ that includes angular information.",
          "Use screening S to account for the local environment of a bond."
        ],
        "assumptions": "Representative MEAM structure; angular-density definitions and screening functions depend on the parameterization.",
        "tex": "U=\\sum_i F_i(\\bar\\rho_i)+\\frac12\\sum_{i\\ne j}S_{ij}\\phi_{ij}(r_{ij})"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Multicomponent alloy parts",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair meam",
          "url": "https://docs.lammps.org/pair_meam.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "embedded-atom-method-eam",
          "type": "Extension of",
          "note": "MEAM adds angular dependence to the embedding environment."
        },
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "tersoff-bond-order-potential",
      "name": "Tersoff bond-order potential",
      "description": "Makes bond strength depend on the local bonding environment.",
      "example": "Silicon or carbon deformation.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Tersoff+bond-order+potential",
      "math": {
        "equation": "U = ½Σᵢ≠ⱼ fc(rᵢⱼ)[fR(rᵢⱼ) + bᵢⱼ fA(rᵢⱼ)]",
        "derivation": [
          "Split pair contributions into repulsive and attractive parts.",
          "Let the attractive bond strength b depend on coordination and bond angles.",
          "Apply a cutoff fc and sum to obtain environment-dependent bonding."
        ],
        "assumptions": "fR and fA are radial terms, b is bond order. A full parameter set is required for a particular material.",
        "tex": "U=\\frac12\\sum_{i\\ne j}f_c(r_{ij})[f_R(r_{ij})+b_{ij}f_A(r_{ij})]"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Silicon wafers and carbon nanostructures",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair tersoff",
          "url": "https://docs.lammps.org/pair_tersoff.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "stillingerweber-potential",
      "name": "Stillinger–Weber potential",
      "description": "Uses two-body and three-body terms to favor local tetrahedral structure.",
      "example": "A simplified silicon solidification study.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Stillinger%E2%80%93Weber+potential",
      "math": {
        "equation": "U = Σᵢ<ⱼ V₂(rᵢⱼ) + Σᵢ,ⱼ<k V₃(rᵢⱼ,rᵢk,θⱼᵢk)",
        "derivation": [
          "Start with radial pair interactions.",
          "Add an angular energy penalizing departures from a preferred bond geometry.",
          "Sum pair and three-body contributions to obtain forces that favor the chosen local structure."
        ],
        "assumptions": "Representative Stillinger–Weber decomposition; V₃ often contains an angular square and radial cutoff factors.",
        "tex": "U=\\sum_{i<j}V_2(r_{ij})+\\sum_{i,\\,j<k}V_3(r_{ij},r_{ik},\\theta_{jik})"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Silicon semiconductor materials",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair sw",
          "url": "https://docs.lammps.org/pair_sw.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "reaxff-reactive-force-field",
      "name": "ReaxFF reactive force field",
      "description": "Uses variable bond orders and charge equilibration to represent chemical reactions.",
      "example": "Surface oxidation in an atomistic simulation.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=ReaxFF+reactive+force+field",
      "math": {
        "equation": "U = Ubond(BO) + Uangle + Utorsion + UvdW + UCoulomb + …",
        "derivation": [
          "Represent bond order BO as a continuous function of atom separations.",
          "Use bond orders to adjust bonded energies as coordination changes.",
          "Combine them with nonbonded and charge-equilibration contributions to obtain a reactive potential."
        ],
        "assumptions": "Schematic ReaxFF energy decomposition, not a complete implementation. Chemistry-specific terms and parameters are essential.",
        "tex": "U=U_{\\mathrm{bond}}(\\mathrm{BO})+U_{\\mathrm{angle}}+U_{\\mathrm{torsion}}+U_{\\mathrm{vdW}}+U_{\\mathrm{Coulomb}}+\\cdots"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Reactive protective coatings",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair reaxff",
          "url": "https://docs.lammps.org/pair_reaxff.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "amber-force-field-family",
      "name": "AMBER force-field family",
      "description": "Uses parameterized bonded and nonbonded interactions for biomolecules.",
      "example": "Protein motion in explicit water.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=AMBER+force-field+family",
      "math": {
        "equation": "U = Σb kb(b−b₀)² + Σθ kθ(θ−θ₀)² + Σφ Vn[1+cos(nφ−δ)] + Unb",
        "derivation": [
          "Represent bond stretching and angle bending by harmonic expansions.",
          "Use periodic Fourier terms for torsions.",
          "Add electrostatic and van der Waals interactions for nonbonded pairs."
        ],
        "assumptions": "Representative AMBER form; numerical prefactors, 1–4 scaling and parameters must follow the selected version. Unb denotes nonbonded energy.",
        "tex": "U=\\sum_b k_b(b-b_0)^2+\\sum_\\theta k_\\theta(\\theta-\\theta_0)^2+\\sum_\\phi V_n[1+\\cos(n\\phi-\\delta)]+U_{\\mathrm{nb}}"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Protein-based research reagents",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — Howto bioFF",
          "url": "https://docs.lammps.org/Howto_bioFF.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "charmm-force-field-family",
      "name": "CHARMM force-field family",
      "description": "Models biomolecular interactions with chemistry-specific parameter sets.",
      "example": "A lipid membrane simulation.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=CHARMM+force-field+family",
      "math": {
        "equation": "U = Ubond + Uangle + Udihedral + Uimproper + UUB + Unb",
        "derivation": [
          "Expand local molecular distortions around fitted geometries.",
          "Add periodic torsions and improper terms to maintain stereochemistry.",
          "Include Urey–Bradley distance terms and nonbonded interactions where specified."
        ],
        "assumptions": "Representative CHARMM family form; selected force fields may add CMAP or polarization terms. UUB is a 1–3 distance contribution.",
        "tex": "U=U_{\\mathrm{bond}}+U_{\\mathrm{angle}}+U_{\\mathrm{dihedral}}+U_{\\mathrm{improper}}+U_{\\mathrm{UB}}+U_{\\mathrm{nb}}"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Lipid membrane formulations",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — Howto bioFF",
          "url": "https://docs.lammps.org/Howto_bioFF.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "opls-force-field-family",
      "name": "OPLS force-field family",
      "description": "Uses parameterized molecular interactions developed for condensed phases.",
      "example": "Liquid properties of organic molecules.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=OPLS+force-field+family",
      "math": {
        "equation": "Utorsion = ½[V₁(1+cosφ)+V₂(1−cos2φ)+V₃(1+cos3φ)+V₄(1−cos4φ)]",
        "derivation": [
          "Describe rotation around a bond by a periodic energy function.",
          "Expand it in a cosine series with OPLS phase conventions.",
          "Fit the coefficients and combine the torsion with bonded and nonbonded energy terms."
        ],
        "assumptions": "Representative OPLS torsional term; it is one component of the force field, with version-specific charges, combining rules and pair scaling.",
        "tex": "U_{\\mathrm{torsion}}=\\frac12[V_1(1+\\cos\\phi)+V_2(1-\\cos2\\phi)+V_3(1+\\cos3\\phi)+V_4(1-\\cos4\\phi)]"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Organic solvents and coatings",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — Howto bioFF",
          "url": "https://docs.lammps.org/Howto_bioFF.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "spc-e-water-model",
      "name": "SPC/E water model",
      "description": "Approximates water using a rigid three-site classical model.",
      "example": "Bulk water diffusion.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=SPC%2FE+water+model",
      "math": {
        "equation": "U = Σi<j qᵢqⱼ/(4πε₀rᵢⱼ) + ΣO<O′ 4ε[(σ/rOO′)¹²−(σ/rOO′)⁶]",
        "derivation": [
          "Fix each water molecule’s three-site geometry.",
          "Place charges on oxygen and hydrogens and a Lennard–Jones site on oxygen.",
          "Sum intermolecular electrostatic and dispersion-repulsion terms; SPC/E also includes a mean polarization-energy correction."
        ],
        "assumptions": "Only intermolecular terms are shown; rigid geometry, charges and the SPC/E correction must use the published parameter set.",
        "tex": "U=\\sum_{i<j}\\frac{q_iq_j}{4\\pi\\varepsilon_0r_{ij}}+\\sum_{O<O'}4\\varepsilon[(\\sigma/r_{OO'})^{12}-(\\sigma/r_{OO'})^6]"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Aqueous formulations",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — Howto spc",
          "url": "https://docs.lammps.org/Howto_spc.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "tip4p-water-model-family",
      "name": "TIP4P water-model family",
      "description": "Uses a four-site geometry with an off-oxygen charge site.",
      "example": "Liquid-water and ice studies with a chosen parameter variant.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=TIP4P+water-model+family",
      "math": {
        "equation": "U = Σi<j qᵢqⱼ/(4πε₀rᵢⱼ) + UOO,LJ; qO = 0",
        "derivation": [
          "Separate the Lennard–Jones oxygen site from the negative-charge site M.",
          "Place positive charges on the two hydrogens and negative charge on M.",
          "Evaluate intermolecular Coulomb and oxygen-oxygen Lennard–Jones energies."
        ],
        "assumptions": "Rigid four-site TIP4P family; M position, charges and parameters vary across TIP4P variants.",
        "tex": "U=\\sum_{i<j}\\frac{q_iq_j}{4\\pi\\varepsilon_0r_{ij}}+U_{OO,\\mathrm{LJ}}; q_O=0"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Water and ice simulation datasets",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — Howto tip4p",
          "url": "https://docs.lammps.org/Howto_tip4p.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "drude-polarizable-model",
      "name": "Drude polarizable model",
      "description": "Uses auxiliary charged particles to represent induced polarization.",
      "example": "Electrostatic response in a polarizable liquid.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Drude+polarizable+model",
      "math": {
        "equation": "UDrude = ½kD d² − qD d·E; α = qD²/kD",
        "derivation": [
          "Attach an auxiliary charge qD to an atom by a harmonic spring.",
          "Minimize its energy in an electric field, giving kD d = qD E.",
          "The induced dipole p = qD d is therefore αE."
        ],
        "assumptions": "d is displacement, kD spring stiffness and α polarizability in consistent units; short-range damping and thermostat treatment are often required.",
        "tex": "U_{\\mathrm{Drude}}=\\frac12 k_D d^2-q_D d\\cdot E; \\alpha=\\frac{q_D^2}{k_D}"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Polarizable electrolytes",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — Howto drude",
          "url": "https://docs.lammps.org/Howto_drude.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "machine-learned-interatomic-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "machine-learned-interatomic-potential",
      "name": "Machine-learned interatomic potential",
      "description": "Fits atomic energies and forces from reference data using statistical learning.",
      "example": "Accelerating repeated atomistic calculations within a validated training domain.",
      "discipline": "Molecular dynamics & force fields",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Force fields are fitted for particular chemistries and conditions; classical trajectories omit most quantum effects.",
      "google_search": "https://www.google.com/search?q=Machine-learned+interatomic+potential",
      "math": {
        "equation": "Eθ(R) = Σᵢ εθ(Dᵢ(R)); Fᵢ = −∂Eθ/∂rᵢ",
        "derivation": [
          "Encode each atomic neighborhood with descriptors Dᵢ or learned equivariant features.",
          "Fit energy and force predictions to reference calculations.",
          "Differentiate the fitted energy to enforce conservative forces."
        ],
        "assumptions": "Representative local machine-learning potential; θ are trained parameters. Long-range effects and out-of-distribution configurations need additional treatment.",
        "tex": "E_\\theta(R)=\\sum_i\\varepsilon_\\theta(D_i(R)); F_i=-\\frac{\\partial E_\\theta}{\\partial r_i}"
      },
      "application": {
        "area": "Molecular dynamics & force fields",
        "product_examples": "Machine-learned materials simulation packages",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — pair mliap",
          "url": "https://docs.lammps.org/pair_mliap.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "BFGS quasi-Newton",
          "url": "https://iicsm.org/numericalmodeling/#bfgs-quasi-newton",
          "role": "Design / calibration",
          "note": "For smooth moderate-size parameter fitting without explicit Hessians; use accurate gradients and a line search.",
          "context": "Updates an inverse-Hessian approximation using gradient differences."
        },
        {
          "name": "Newton optimization",
          "url": "https://iicsm.org/numericalmodeling/#newton-optimization",
          "role": "Design / calibration",
          "note": "For a smooth objective with usable curvature; distinguish optimization from solving the physical state equations.",
          "context": "Uses curvature to compute a local stationary-point correction."
        },
        {
          "name": "Gauss-Newton least squares",
          "url": "https://iicsm.org/numericalmodeling/#gauss-newton-least-squares",
          "role": "Calibration",
          "note": "For differentiable residual-based parameter fitting, especially near a suitable small-residual solution.",
          "context": "Linearizes residuals to solve a nonlinear least-squares problem."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ab-initio-molecular-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lennardjones-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "morse-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "embedded-atom-method-eam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-embedded-atom-method-meam",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tersoff-bond-order-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stillingerweber-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reaxff-reactive-force-field",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "amber-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "charmm-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "opls-force-field-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spc-e-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tip4p-water-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drude-polarizable-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "coarse-grained-molecular-model",
      "name": "Coarse-grained molecular model",
      "description": "Groups atoms into effective interaction sites.",
      "example": "Long-time motion of a polymer melt.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Coarse-grained+molecular+model",
      "math": {
        "equation": "UCG(R) = −kBT ln ∫δ[M(r)−R] exp[−U(r)/(kBT)]dr + C",
        "derivation": [
          "Map atomistic coordinates r to coarse coordinates R through M.",
          "Integrate the microscopic Boltzmann distribution over the eliminated coordinates.",
          "Take its negative logarithm to define a potential of mean force."
        ],
        "assumptions": "Exact equilibrium coarse graining is generally many-body and state-dependent; practical pair approximations lose some information.",
        "tex": "U_{\\mathrm{CG}}(R)=-k_BT\\ln\\int\\delta[M(r)-R]\\exp[-U(r)/(k_BT)]\\,dr+C"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Polymer packaging films",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — interatomic potentials and model types",
          "url": "https://docs.lammps.org/Intro_features.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        }
      ],
      "relationships": [
        {
          "target": "martini-coarse-grained-model",
          "type": "Includes example",
          "note": "Maps groups of atoms to parameterized coarse-grained beads."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "martini-coarse-grained-model",
      "name": "Martini coarse-grained model",
      "description": "Uses mapped molecular beads and parameterized interactions.",
      "example": "Self-assembly of a membrane.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Martini+coarse-grained+model",
      "math": {
        "equation": "U = Ubonded + Σi<j [ULJ(rᵢⱼ) + UCoulomb(rᵢⱼ)]",
        "derivation": [
          "Map groups of atoms to bead types.",
          "Assign bead interactions to reproduce selected thermodynamic and structural targets.",
          "Combine nonbonded bead interactions with mapped bonded terms."
        ],
        "assumptions": "Representative Martini architecture; mapping, bead types, interaction matrices and electrostatics depend on the selected version.",
        "tex": "U=U_{\\mathrm{bonded}}+\\sum_{i<j}[U_{\\mathrm{LJ}}(r_{ij})+U_{\\mathrm{Coulomb}}(r_{ij})]"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Lipid vesicle formulations",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Marrink et al. — The MARTINI force field (2007)",
          "url": "https://doi.org/10.1021/jp071097f"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Example of",
          "note": "Maps groups of atoms to parameterized coarse-grained beads."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "dissipative-particle-dynamics-dpd",
      "name": "Dissipative particle dynamics (DPD)",
      "description": "Combines conservative, dissipative and random pair forces.",
      "example": "Mesoscale mixing of soft materials.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Dissipative+particle+dynamics+%28DPD%29",
      "math": {
        "equation": "Fᵢⱼ = FCᵢⱼ − γwD(r)(vᵢⱼ·r̂)r̂ + σwR(r)ξᵢⱼr̂; σ² = 2γkBT",
        "derivation": [
          "Resolve particles as coarse fluid parcels.",
          "Add pairwise drag to dissipate relative motion and random forcing to restore thermal fluctuations.",
          "Impose fluctuation-dissipation balance with wD = (wR)²."
        ],
        "assumptions": "ξ denotes appropriately normalized symmetric noise; discrete integrators introduce time-step factors. Pair forces conserve momentum when applied antisymmetrically.",
        "tex": "F_{ij}=F^C_{ij}-\\gamma w^D(r)(v_{ij}\\cdot\\hat r)\\hat r+\\sigma w^R(r)\\xi_{ij}\\hat r; \\sigma^2=2\\gamma k_BT"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Emulsions and soft-matter formulations",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — interatomic potentials and model types",
          "url": "https://docs.lammps.org/Intro_features.html"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "brownian-dynamics",
      "name": "Brownian dynamics",
      "description": "Uses overdamped stochastic motion for particles in a surrounding medium.",
      "example": "Colloidal particle diffusion.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Brownian+dynamics",
      "math": {
        "equation": "drᵢ = μᵢFᵢ dt + √(2Dᵢ) dWᵢ; Dᵢ = μᵢkBT",
        "derivation": [
          "Start from Langevin motion with rapid momentum relaxation.",
          "Neglect inertia on time scales long compared with m/ζ.",
          "Balance drift and thermal diffusion to obtain overdamped motion."
        ],
        "assumptions": "Independent constant mobility μᵢ shown; hydrodynamic interactions or position-dependent mobility introduce matrix diffusion and additional drift.",
        "tex": "dr_i=\\mu_i F_i\\,dt+\\sqrt{2D_i}\\,dW_i; D_i=\\mu_i k_BT"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Colloidal inks",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — interatomic potentials and model types",
          "url": "https://docs.lammps.org/Intro_features.html"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "langevin-dynamics",
          "type": "Overdamped limit of",
          "note": "Neglect inertia after rapid momentum relaxation, with a consistent diffusion model."
        },
        {
          "target": "stokes-einstein-diffusion-relation",
          "type": "Can use diffusivity from",
          "note": "Applies to dilute spherical probes under the stated continuum no-slip assumptions."
        },
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "langevin-dynamics",
      "name": "Langevin dynamics",
      "description": "Adds friction and random forces to a dynamical model.",
      "example": "Thermal motion of a trapped nanoparticle.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Langevin+dynamics",
      "math": {
        "equation": "m v̇ = F − ζv + η(t); ⟨ηa(t)ηb(t′)⟩ = 2ζkBT δabδ(t−t′)",
        "derivation": [
          "Separate resolved forces from fast environmental effects.",
          "Approximate the latter as linear friction and white noise.",
          "Choose the noise covariance so the equilibrium velocity distribution has temperature T."
        ],
        "assumptions": "ζ is friction; noise is idealized as memoryless and Gaussian. Generalized Langevin models retain memory kernels.",
        "tex": "m\\dot v=F-\\zeta v+\\eta(t); \\langle\\eta_a(t)\\eta_b(t')\\rangle=2\\zeta k_BT\\delta_{ab}\\delta(t-t')"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Nanoparticle suspensions",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "LAMMPS — interatomic potentials and model types",
          "url": "https://docs.lammps.org/Intro_features.html"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "brownian-dynamics",
          "type": "Has overdamped limit",
          "note": "Neglect inertia after rapid momentum relaxation, with a consistent diffusion model."
        },
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "kinetic-monte-carlo",
      "name": "Kinetic Monte Carlo",
      "description": "Samples transitions between states using event rates.",
      "example": "Surface diffusion over long time scales.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Numerical method",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Kinetic+Monte+Carlo",
      "math": {
        "equation": "Δt = −ln u₁ / K; P(event i) = kᵢ/K; K = Σᵢ kᵢ",
        "derivation": [
          "Assume independent exponential waiting times for allowed events.",
          "The probability that no event occurs before t is exp(−Kt).",
          "Invert that survival distribution and select an event in proportion to its rate."
        ],
        "assumptions": "u₁ is uniform on (0,1); rates kᵢ must represent the relevant Markov transitions.",
        "tex": "\\Delta t=-\\frac{\\ln u_1}{K}; P(\\text{event }i)=\\frac{k_i}{K}; K=\\sum_i k_i"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Thin-film deposition processes",
        "implementation": {
          "name": "SPPARKS",
          "url": "https://spparks.github.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Voter — Introduction to the kinetic Monte Carlo method (2007)",
          "url": "https://doi.org/10.1007/978-1-4020-5295-8_1"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "cahnhilliard-model",
      "name": "Cahn–Hilliard model",
      "description": "Evolves a conserved composition field through chemical-potential gradients.",
      "example": "Phase separation in an alloy.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Cahn%E2%80%93Hilliard+model",
      "math": {
        "equation": "∂c/∂t = ∇·(M∇μ); μ = f′(c) − κ∇²c",
        "derivation": [
          "Define free energy F = ∫[f(c)+κ∣∇c∣²/2]dV.",
          "Take its variational derivative to obtain chemical potential μ.",
          "Use flux J = −M∇μ in composition conservation ∂tc = −∇·J."
        ],
        "assumptions": "c is conserved composition, M mobility and κ gradient-energy coefficient; boundary conditions determine mass and energy behavior.",
        "tex": "\\frac{\\partial c}{\\partial t}=\\nabla\\cdot(M\\nabla\\mu); \\mu=f'(c)-\\kappa\\nabla^2c"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Phase-separated alloy components",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — Phase Field Module, equations and references",
          "url": "https://mooseframework.inl.gov/modules/phase_field/"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "allencahn-model",
      "name": "Allen–Cahn model",
      "description": "Evolves a nonconserved order parameter toward lower free energy.",
      "example": "Migration of a phase boundary.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Allen%E2%80%93Cahn+model",
      "math": {
        "equation": "∂η/∂t = −L δF/δη; F = ∫[f(η)+κ∣∇η∣²/2]dV",
        "derivation": [
          "Use an order parameter η that need not be conserved.",
          "Choose local gradient descent of the free energy.",
          "This gives ∂tη = −L[f′(η)−κ∇²η], which reduces F for L > 0 under suitable boundaries."
        ],
        "assumptions": "η labels phases or orientations; L is mobility. Physical time calibration requires kinetic information.",
        "tex": "\\frac{\\partial\\eta}{\\partial t}=-L\\frac{\\delta F}{\\delta\\eta}; F=\\int[f(\\eta)+\\kappa|\\nabla\\eta|^2/2]\\,dV"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Heat-treated metal parts",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — Phase Field Module, equations and references",
          "url": "https://mooseframework.inl.gov/modules/phase_field/"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "phase-field-crystal-model",
      "name": "Phase-field crystal model",
      "description": "Uses a periodic density-like field to represent crystalline ordering.",
      "example": "Defect evolution over diffusive time scales.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Phase-field+crystal+model",
      "math": {
        "equation": "F = ∫{½ψ[r+(q₀²+∇²)²]ψ + ψ⁴/4}dV; ∂tψ = M∇²(δF/δψ)",
        "derivation": [
          "Choose a free-energy operator favoring spatial modulation at wave number q₀.",
          "Add a stabilizing nonlinear term.",
          "Use conserved gradient flow for the density-like field ψ."
        ],
        "assumptions": "A common dimensionless phase-field-crystal form; r is a control parameter, not a spatial coordinate here.",
        "tex": "F=\\int\\{\\frac12\\psi[r+(q_0^2+\\nabla^2)^2]\\psi+\\psi^4/4\\}\\,dV; \\partial_t\\psi=M\\nabla^2(\\delta F/\\delta\\psi)"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Nanocrystalline materials",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Elder et al. — Modeling elasticity in crystal growth (2002)",
          "url": "https://doi.org/10.1103/PhysRevLett.88.245701"
        }
      ],
      "recommendations": [
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "potts-grain-growth-model",
      "name": "Potts grain-growth model",
      "description": "Represents grain orientations as discrete lattice states.",
      "example": "Coarsening of a polycrystalline metal.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Potts+grain-growth+model",
      "math": {
        "equation": "E = J Σ⟨i,j⟩(1−δsᵢ,sⱼ); Paccept = min[1, exp(−ΔE/(kBT))]",
        "derivation": [
          "Assign each lattice site a discrete grain-orientation label.",
          "Penalize boundaries between unlike neighboring labels.",
          "Propose label changes and accept energy-lowering or thermally weighted moves."
        ],
        "assumptions": "Monte Carlo steps are not physical time without calibration; lattice anisotropy and temperature choice affect kinetics.",
        "tex": "E=J\\sum_{\\langle i,j\\rangle}(1-\\delta_{s_i,s_j}); P_{\\mathrm{accept}}=\\min[1,\\exp(-\\Delta E/(k_BT))]"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Polycrystalline ceramic components",
        "implementation": {
          "name": "SPPARKS",
          "url": "https://spparks.github.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Anderson et al. — Computer simulation of grain growth, I (1984)",
          "url": "https://doi.org/10.1016/0001-6160(84)90151-2"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "discrete-dislocation-dynamics",
      "name": "Discrete dislocation dynamics",
      "description": "Tracks line defects and their interactions.",
      "example": "Plastic deformation of a small metal specimen.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Discrete+dislocation+dynamics",
      "math": {
        "equation": "fPK = (σ·b) × ξ; v = M fPK",
        "derivation": [
          "Represent a dislocation by line segments with Burgers vector b and tangent ξ.",
          "Compute the local stress from external loads and other defects.",
          "Use the Peach–Koehler force with a mobility relation to evolve the line."
        ],
        "assumptions": "Force is per unit length; M may be a tensor and glide/climb constraints apply. Junction reactions need additional rules.",
        "tex": "f_{\\mathrm{PK}}=(\\sigma\\cdot b)\\times\\xi; v=M f_{\\mathrm{PK}}"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "High-strength metal microcomponents",
        "implementation": {
          "name": "ParaDiS",
          "url": "https://github.com/LLNL/ParaDiS",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Arsenlis et al. — Enabling strain hardening simulations with dislocation dynamics (2007)",
          "url": "https://doi.org/10.1088/0965-0393/15/6/001"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "population-balance-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "population-balance-model",
      "name": "Population balance model",
      "description": "Tracks the distribution of particle sizes or other internal properties.",
      "example": "Droplet breakup and coalescence in an emulsion.",
      "discipline": "Mesoscale & microstructure",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Coarse graining removes microscopic details; mobilities, free energies and effective interactions require calibration.",
      "google_search": "https://www.google.com/search?q=Population+balance+model",
      "math": {
        "equation": "∂n/∂t + ∇x·(un) + ∂(Gn)/∂s = B − D",
        "derivation": [
          "Count particles in a small spatial and size interval.",
          "Balance transport in position x and growth in internal coordinate s.",
          "Add births B and deaths D from nucleation, breakup or aggregation."
        ],
        "assumptions": "n is number density in size space, G the size-growth rate. Breakage and aggregation kernels close the model.",
        "tex": "\\frac{\\partial n}{\\partial t}+\\nabla_x\\cdot(un)+\\frac{\\partial(Gn)}{\\partial s}=B-D"
      },
      "application": {
        "area": "Mesoscale & microstructure",
        "product_examples": "Spray and emulsion processing equipment",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "coarse-grained-molecular-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "martini-coarse-grained-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dissipative-particle-dynamics-dpd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brownian-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langevin-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinetic-monte-carlo",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cahnhilliard-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "allencahn-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-crystal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potts-grain-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-dislocation-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ideal-gas-equation-of-state",
      "name": "Ideal gas equation of state",
      "description": "Relates pressure, volume and temperature for a dilute noninteracting gas.",
      "example": "Estimating the amount of air in a low-pressure vessel.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Ideal+gas+equation+of+state",
      "math": {
        "equation": "pV = nRT",
        "derivation": [
          "Use kinetic theory for dilute, noninteracting particles.",
          "Relate pressure to momentum transfer at the walls and translational energy to temperature.",
          "With N = nNA and R = NAkB, obtain the ideal-gas relation."
        ],
        "assumptions": "n is amount in moles, V volume and T absolute temperature; intermolecular interactions and finite molecular volume are neglected.",
        "tex": "pV=nRT"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Low-pressure compressed-air vessels",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "van-der-waals-equation-of-state",
      "name": "Van der Waals equation of state",
      "description": "Adds molecular attraction and excluded volume to an ideal gas model.",
      "example": "Qualitative liquid-vapor coexistence.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Van+der+Waals+equation+of+state",
      "math": {
        "equation": "(p + a/v²)(v − b) = RT",
        "derivation": [
          "Replace available molar volume v by v−b to represent excluded space.",
          "Correct measured pressure by a/v² to account for attraction.",
          "Apply the ideal-gas relation to the corrected variables."
        ],
        "assumptions": "v is molar volume; a and b are substance parameters. This is a qualitative equation of state near critical and coexistence regions.",
        "tex": "(p+a/v^2)(v-b)=RT"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Refrigerant phase-equilibrium teaching tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "pengrobinson-equation-of-state",
      "name": "Peng–Robinson equation of state",
      "description": "Uses a cubic equation of state for real-fluid behavior.",
      "example": "Hydrocarbon vapor-liquid equilibrium.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Peng%E2%80%93Robinson+equation+of+state",
      "math": {
        "equation": "p = RT/(v−b) − a(T)/[v(v+b)+b(v−b)]",
        "derivation": [
          "Begin with a repulsive excluded-volume term.",
          "Choose a rational attraction term that yields a cubic equation in molar volume.",
          "Fit critical-point constraints and a temperature-dependent attraction to obtain the Peng–Robinson parameters."
        ],
        "assumptions": "v is molar volume; a(T) and b require critical properties and an acentric-factor correlation.",
        "tex": "p=\\frac{RT}{v-b}-\\frac{a(T)}{v(v+b)+b(v-b)}"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Natural-gas processing equipment",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "soaveredlichkwong-equation-of-state",
      "name": "Soave–Redlich–Kwong equation of state",
      "description": "Uses a temperature-dependent attraction correction in a cubic fluid model.",
      "example": "Gas-processing phase calculations.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Soave%E2%80%93Redlich%E2%80%93Kwong+equation+of+state",
      "math": {
        "equation": "p = RT/(v−b) − aα(T)/[v(v+b)]",
        "derivation": [
          "Retain the Redlich–Kwong cubic volume dependence.",
          "Replace its temperature factor with a fitted α(T).",
          "Determine coefficients from critical properties and vapor-pressure behavior."
        ],
        "assumptions": "Soave–Redlich–Kwong form; mixing rules are additionally required for mixtures.",
        "tex": "p=\\frac{RT}{v-b}-\\frac{a\\alpha(T)}{v(v+b)}"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Gas-separation process equipment",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "virial-equation-of-state",
      "name": "Virial equation of state",
      "description": "Represents nonideal behavior as a density or pressure expansion.",
      "example": "Gas properties away from the dilute limit.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Virial+equation+of+state",
      "math": {
        "equation": "Z = pv/(RT) = 1 + B(T)/v + C(T)/v² + …",
        "derivation": [
          "Expand the compressibility factor about zero molar density.",
          "Group pair, triplet and higher interaction effects into virial coefficients.",
          "Truncate only where omitted density powers are small."
        ],
        "assumptions": "B and C are temperature-dependent molar virial coefficients; this low-density expansion may converge poorly near condensation.",
        "tex": "Z=\\frac{pv}{RT}=1+\\frac{B(T)}v+\\frac{C(T)}{v^2}+\\cdots"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Gas-property reference software",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "gibbs-energy-minimization",
      "name": "Gibbs-energy minimization",
      "description": "Finds equilibrium by minimizing free energy under conservation constraints.",
      "example": "Equilibrium composition of a reacting mixture.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Gibbs-energy+minimization",
      "math": {
        "equation": "min G = Σᵢ nᵢμᵢ, subject to An = b and nᵢ ≥ 0",
        "derivation": [
          "Choose species amounts n as unknowns and encode elemental conservation with A.",
          "At fixed temperature and pressure, stable equilibrium minimizes Gibbs energy.",
          "Stationarity along an allowed reaction gives Σᵢνᵢμᵢ = 0."
        ],
        "assumptions": "μᵢ are chemical potentials dependent on composition; metastability and missing phases can alter the solution found.",
        "tex": "\\min G=\\sum_i n_i\\mu_i; An=b,\\quad n_i\\ge0"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Chemical equilibrium analysis software",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Interior-point optimization",
          "url": "https://iicsm.org/numericalmodeling/#interior-point-optimization",
          "role": "Constrained design",
          "note": "For appropriately formulated inequality-constrained design or control problems; scale constraints and verify feasibility.",
          "context": "Approaches inequality-constrained solutions through barrier subproblems."
        },
        {
          "name": "Sequential quadratic programming",
          "url": "https://iicsm.org/numericalmodeling/#sequential-quadratic-programming",
          "role": "Constrained design",
          "note": "For smooth constrained parameter/design optimization with derivatives and constraint regularity.",
          "context": "Solves a sequence of locally quadratic constrained subproblems."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "calphad-model",
      "name": "CALPHAD model",
      "description": "Combines assessed phase free energies to predict equilibria.",
      "example": "Selecting alloy compositions and heat treatments.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=CALPHAD+model",
      "math": {
        "equation": "Gᵖ(x,T) = Σᵢ xᵢGᵢᵖ(T) + RTΣᵢxᵢln xᵢ + Gexcessᵖ",
        "derivation": [
          "Assign a free-energy function to each candidate phase p.",
          "Combine reference-state, ideal-mixing and assessed excess contributions.",
          "Minimize total free energy subject to overall composition to construct phase equilibrium."
        ],
        "assumptions": "Representative substitutional-solution CALPHAD form; sublattice and magnetic models add terms and require assessed databases.",
        "tex": "G^p(x,T)=\\sum_i x_i G_i^p(T)+RT\\sum_i x_i\\ln x_i+G_{\\mathrm{excess}}^p"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Alloy design databases",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — Phase Field Module, equations and references",
          "url": "https://mooseframework.inl.gov/modules/phase_field/"
        }
      ],
      "recommendations": [
        {
          "name": "Interior-point optimization",
          "url": "https://iicsm.org/numericalmodeling/#interior-point-optimization",
          "role": "Constrained design",
          "note": "For appropriately formulated inequality-constrained design or control problems; scale constraints and verify feasibility.",
          "context": "Approaches inequality-constrained solutions through barrier subproblems."
        },
        {
          "name": "Sequential quadratic programming",
          "url": "https://iicsm.org/numericalmodeling/#sequential-quadratic-programming",
          "role": "Constrained design",
          "note": "For smooth constrained parameter/design optimization with derivatives and constraint regularity.",
          "context": "Solves a sequence of locally quadratic constrained subproblems."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "nrtl-activity-model",
      "name": "NRTL activity model",
      "description": "Uses local-composition parameters to describe nonideal liquid mixtures.",
      "example": "Distillation of a nonideal solvent mixture.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=NRTL+activity+model",
      "math": {
        "equation": "GE/(RT) = Σᵢ xᵢ[Σⱼ xⱼτⱼᵢGⱼᵢ / Σk xkGkᵢ]; Gⱼᵢ = exp(−αⱼᵢτⱼᵢ)",
        "derivation": [
          "Assume neighbors around a molecule have a composition different from the bulk.",
          "Weight local interactions with nonrandomness factors G.",
          "Differentiate nGE/(RT) with respect to component amounts to obtain ln γᵢ."
        ],
        "assumptions": "GE is molar excess Gibbs energy; τ are dimensionless interaction parameters and α nonrandomness parameters.",
        "tex": "\\frac{G^E}{RT}=\\sum_i x_i\\frac{\\sum_j x_j\\tau_{ji}G_{ji}}{\\sum_k x_kG_{ki}}; G_{ji}=\\exp(-\\alpha_{ji}\\tau_{ji})"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Solvent distillation columns",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "uniquac-activity-model",
      "name": "UNIQUAC activity model",
      "description": "Combines molecular size, shape and interaction contributions.",
      "example": "Liquid-mixture phase equilibrium.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=UNIQUAC+activity+model",
      "math": {
        "equation": "GE = GEcombinatorial + GEresidual; ln γᵢ = ∂[nGE/(RT)]/∂nᵢ",
        "derivation": [
          "Separate mixture nonideality into molecular size/shape effects and interaction-energy effects.",
          "Represent those contributions using volume and surface fractions.",
          "Take the partial-molar derivative to obtain activity coefficients."
        ],
        "assumptions": "UNIQUAC structure; volume parameters rᵢ, surface parameters qᵢ and binary interaction parameters are needed. Derivative holds T, p and other component amounts fixed.",
        "tex": "G^E=G^E_{\\mathrm{combinatorial}}+G^E_{\\mathrm{residual}}; \\ln\\gamma_i=\\frac{\\partial[nG^E/(RT)]}{\\partial n_i}"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Liquid-liquid extraction equipment",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debyehuckel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "debyehuckel-model",
      "name": "Debye–Hückel model",
      "description": "Approximates ionic activity using screened electrostatic interactions.",
      "example": "Dilute electrolyte activity corrections.",
      "discipline": "Thermodynamics & equilibrium",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Check phase, pressure and temperature range; idealizations and fitted parameters may fail near phase boundaries.",
      "google_search": "https://www.google.com/search?q=Debye%E2%80%93H%C3%BCckel+model",
      "math": {
        "equation": "log₁₀ γᵢ = −A zᵢ²√I; I = ½Σⱼ cⱼzⱼ²",
        "derivation": [
          "Linearize the Poisson–Boltzmann equation for weak electrostatic potentials.",
          "Solve for the screened potential surrounding an ion.",
          "Use the resulting electrostatic free-energy correction to obtain the limiting activity law."
        ],
        "assumptions": "Dilute-solution limiting law; concentrations, standard state and coefficient A must use a consistent convention.",
        "tex": "\\log_{10}\\gamma_i=-Az_i^2\\sqrt I; I=\\frac12\\sum_j c_jz_j^2"
      },
      "application": {
        "area": "Thermodynamics & equilibrium",
        "product_examples": "Dilute-electrolyte formulations",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "ideal-gas-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-der-waals-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pengrobinson-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "soaveredlichkwong-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "virial-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gibbs-energy-minimization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "calphad-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nrtl-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "uniquac-activity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "mass-action-reaction-kinetics",
      "name": "Mass-action reaction kinetics",
      "description": "Relates reaction rates to species concentrations and reaction orders.",
      "example": "A coupled reaction network in a batch process.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Mass-action+reaction+kinetics",
      "math": {
        "equation": "r = kf Πᵢcᵢ^αᵢ − kr Πᵢcᵢ^βᵢ; ċᵢ = νᵢr",
        "derivation": [
          "Represent the frequency of elementary forward and reverse reactions by reactant encounters.",
          "Subtract reverse from forward progress rates.",
          "Multiply net progress by each species’ stoichiometric change to obtain its source."
        ],
        "assumptions": "For elementary reactions, exponents follow reactant stoichiometry; empirical overall reactions can have different orders.",
        "tex": "r=k_f\\prod_i c_i^{\\alpha_i}-k_r\\prod_i c_i^{\\beta_i}; \\dot c_i=\\nu_i r"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Chemical process simulators",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        }
      ],
      "relationships": [
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "arrhenius-rate-model",
      "name": "Arrhenius rate model",
      "description": "Relates a rate coefficient to temperature through an activation energy.",
      "example": "Temperature sensitivity of a chemical reaction.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Arrhenius+rate+model",
      "math": {
        "equation": "k(T) = A exp[−Ea/(RT)]",
        "derivation": [
          "Approximate the fraction of thermal configurations able to cross a barrier by a Boltzmann factor.",
          "Multiply that fraction by an effective attempt-frequency factor.",
          "Taking ln k yields ln A − Ea/(RT), which motivates an Arrhenius plot."
        ],
        "assumptions": "Ea is molar activation energy; A and Ea may vary over broad temperature ranges.",
        "tex": "k(T)=A\\exp[-E_a/(RT)]"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Temperature-controlled reactors",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Lagrange interpolation",
          "url": "https://iicsm.org/numericalmodeling/#lagrange-interpolation",
          "role": "Tabulated data",
          "note": "For small, well-chosen interpolation grids; avoid high-degree equispaced interpolation and extrapolation.",
          "context": "Passes a polynomial through prescribed distinct data points."
        },
        {
          "name": "Chebyshev approximation",
          "url": "https://iicsm.org/numericalmodeling/#chebyshev-approximation",
          "role": "Smooth surrogate",
          "note": "For smooth responses on a bounded interval; check coefficient decay and interpolation error.",
          "context": "Uses Chebyshev bases and clustered nodes to approximate smooth functions."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "transition-state-theory",
      "name": "Transition-state theory",
      "description": "Estimates reaction rates from a free-energy barrier.",
      "example": "Predicting a molecular reaction rate.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Transition-state+theory",
      "math": {
        "equation": "k = κ(kBT/h) exp[−ΔG‡/(RT)]",
        "derivation": [
          "Assume reactants are in quasi-equilibrium with configurations at a dividing surface.",
          "Convert their statistical population into a crossing flux.",
          "Multiply by a transmission coefficient κ to account for recrossing or other corrections."
        ],
        "assumptions": "ΔG‡ is a molar activation free energy consistent with the standard state; h is Planck’s constant.",
        "tex": "k=\\kappa\\frac{k_BT}{h}\\exp[-\\Delta G^\\ddagger/(RT)]"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Catalysis research software",
        "implementation": {
          "name": "Q-Chem",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Q-Chem User’s Manual — electronic structure and molecular dynamics",
          "url": "https://manual.q-chem.com/latest/qchem_manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "michaelismenten-kinetics",
      "name": "Michaelis–Menten kinetics",
      "description": "Approximates enzyme reaction rates with substrate saturation.",
      "example": "Enzyme conversion in a bioreactor.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Michaelis%E2%80%93Menten+kinetics",
      "math": {
        "equation": "v = Vmax[S]/(KM + [S]); KM = (k−1+kcat)/k1",
        "derivation": [
          "Use E+S ⇌ ES → E+P.",
          "Apply the quasi-steady-state condition to ES and enzyme conservation [E]T = [E]+[ES].",
          "Solve for [ES] and substitute into v = kcat[ES]."
        ],
        "assumptions": "Initial-rate, simple single-substrate model; Vmax = kcat[E]T. Substrate depletion, reversibility and inhibition need extensions.",
        "tex": "v=\\frac{V_{\\max}[S]}{K_M+[S]}; K_M=\\frac{k_{-1}+k_{\\mathrm{cat}}}{k_1}"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Enzyme bioreactors",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "langmuir-adsorption-isotherm",
      "name": "Langmuir adsorption isotherm",
      "description": "Models adsorption on equivalent sites with finite occupancy.",
      "example": "Gas uptake on an idealized catalyst surface.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Langmuir+adsorption+isotherm",
      "math": {
        "equation": "θ = KP/(1+KP)",
        "derivation": [
          "Balance adsorption kaP(1−θ) against desorption kdθ.",
          "Set the net rate to zero at equilibrium.",
          "Solve for occupied-site fraction θ with K = ka/kd."
        ],
        "assumptions": "Equivalent independent sites, monolayer adsorption and gas pressure P; concentration can replace pressure with a compatible equilibrium constant.",
        "tex": "\\theta=\\frac{KP}{1+KP}"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Adsorbent gas filters",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "langmuirhinshelwood-kinetics",
      "name": "Langmuir–Hinshelwood kinetics",
      "description": "Models surface reactions involving adsorbed reactants.",
      "example": "Heterogeneous catalytic conversion.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Langmuir%E2%80%93Hinshelwood+kinetics",
      "math": {
        "equation": "r = k KAPA KBPB / (1 + KAPA + KBPB)²",
        "derivation": [
          "Assume both reactants adsorb competitively on equivalent sites.",
          "Use Langmuir expressions for coverages θA and θB.",
          "For a rate-limiting reaction between adsorbates, set r = kθAθB."
        ],
        "assumptions": "One representative Langmuir–Hinshelwood mechanism; different adsorption or rate-limiting steps produce different denominators.",
        "tex": "r=\\frac{kK_AP_AK_BP_B}{(1+K_AP_A+K_BP_B)^2}"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Catalytic converters",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Chemical Reaction Engineering Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "fickian-diffusion",
      "name": "Fickian diffusion",
      "description": "Relates diffusive flux to concentration gradients.",
      "example": "Solute spreading through a still liquid.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Fickian+diffusion",
      "math": {
        "equation": "J = −D∇c; ∂c/∂t = ∇·(D∇c)",
        "derivation": [
          "Approximate diffusive flux as linear in a small concentration gradient.",
          "Combine that constitutive relation with species conservation ∂tc+∇·J = 0.",
          "For constant D, this reduces to ∂tc = D∇²c."
        ],
        "assumptions": "Fickian diffusion with no advection or reactions; D may be anisotropic or concentration-dependent.",
        "tex": "J=-D\\nabla c; \\frac{\\partial c}{\\partial t}=\\nabla\\cdot(D\\nabla c)"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Diffusion membranes",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Radial basis function discretization",
          "url": "https://iicsm.org/numericalmodeling/#radial-basis-function-discretization",
          "role": "Scattered-field approximation",
          "note": "For scattered samples or a suitable meshfree collocation formulation; test conditioning and boundary accuracy.",
          "context": "Builds meshfree interpolants or derivative stencils from radial kernels."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "maxwellstefan-diffusion",
      "name": "Maxwell–Stefan diffusion",
      "description": "Represents multicomponent diffusion through interspecies friction.",
      "example": "Gas-mixture transport through a membrane.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Maxwell%E2%80%93Stefan+diffusion",
      "math": {
        "equation": "−∇xᵢ = Σⱼ≠ᵢ (xⱼNᵢ−xᵢNⱼ)/(cDᵢⱼ)",
        "derivation": [
          "Balance thermodynamic driving forces against pairwise interspecies friction.",
          "For an ideal isothermal isobaric mixture, use mole-fraction gradients as the driving terms.",
          "Express relative velocities through molar fluxes to obtain coupled diffusion equations."
        ],
        "assumptions": "xᵢ are mole fractions, Nᵢ molar fluxes, c total molar concentration and Dᵢⱼ binary diffusivities; nonideal or nonisobaric cases add terms.",
        "tex": "-\\nabla x_i=\\sum_{j\\ne i}\\frac{x_jN_i-x_iN_j}{cD_{ij}}"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Multicomponent gas-separation membranes",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "advectiondiffusionreaction-model",
      "name": "Advection–diffusion–reaction model",
      "description": "Combines bulk transport, diffusion and reaction sources.",
      "example": "Pollutant transport and decay in a channel.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Advection%E2%80%93diffusion%E2%80%93reaction+model",
      "math": {
        "equation": "∂c/∂t + ∇·(uc) = ∇·(D∇c) + R(c)",
        "derivation": [
          "Write local conservation with total flux uc+J.",
          "Insert Fickian diffusive flux J = −D∇c.",
          "Add the net production rate R from reactions."
        ],
        "assumptions": "u is carrier velocity; compressibility, variable porosity and multiple species may require modified storage and transport terms.",
        "tex": "\\frac{\\partial c}{\\partial t}+\\nabla\\cdot(uc)=\\nabla\\cdot(D\\nabla c)+R(c)"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Water-treatment contactors",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "continuous-stirred-tank-reactor-cstr",
      "name": "Continuous stirred-tank reactor (CSTR)",
      "description": "Assumes a well-mixed reactor with inlet and outlet flows.",
      "example": "Sizing a continuous liquid reactor.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Continuous+stirred-tank+reactor+%28CSTR%29",
      "math": {
        "equation": "V dc/dt = Q(cin−c) + V R(c)",
        "derivation": [
          "Apply a species balance to the reactor volume.",
          "Assume perfect mixing, so outlet concentration equals reactor concentration.",
          "For equal inlet/outlet volumetric flow Q and constant V, collect flow and reaction terms."
        ],
        "assumptions": "Uniform composition and temperature assumed unless an energy balance is added; residence time is V/Q.",
        "tex": "V\\frac{dc}{dt}=Q(c_{\\mathrm{in}}-c)+VR(c)"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Continuous stirred chemical reactors",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "plug-flow-reactor-pfr",
      "name": "Plug-flow reactor (PFR)",
      "description": "Approximates axial evolution without axial back-mixing.",
      "example": "Conversion along an idealized tubular reactor.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Plug-flow+reactor+%28PFR%29",
      "math": {
        "equation": "Q dc/dV = R(c)",
        "derivation": [
          "Apply steady species conservation to a thin reactor slice.",
          "Assume negligible axial diffusion and uniform properties across each section.",
          "Divide the flow change by slice volume and take the differential limit."
        ],
        "assumptions": "Constant volumetric flow Q shown; gas expansion or varying density requires a molar-flow formulation.",
        "tex": "Q\\frac{dc}{dV}=R(c)"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Tubular process reactors",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "batch-reactor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "batch-reactor-model",
      "name": "Batch reactor model",
      "description": "Evolves composition and energy in a closed reacting charge.",
      "example": "Time to reach a target conversion.",
      "discipline": "Chemical reactions & transport",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Rate constants, transport coefficients and mixing assumptions need experimental support over the intended range.",
      "google_search": "https://www.google.com/search?q=Batch+reactor+model",
      "math": {
        "equation": "dcᵢ/dt = Rᵢ(c,T)",
        "derivation": [
          "Apply species conservation to a closed, well-mixed vessel.",
          "Set inlet and outlet flows to zero.",
          "For constant volume, divide the species production rate by vessel volume."
        ],
        "assumptions": "An energy balance determines T if the batch is not isothermal; variable volume changes the concentration equation.",
        "tex": "\\frac{dc_i}{dt}=R_i(c,T)"
      },
      "application": {
        "area": "Chemical reactions & transport",
        "product_examples": "Batch synthesis vessels",
        "implementation": {
          "name": "Cantera",
          "url": "https://cantera.org/stable/reference/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cantera — thermodynamics, chemical kinetics and transport reference",
          "url": "https://cantera.org/stable/reference/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        }
      ],
      "relationships": [
        {
          "target": "mass-action-reaction-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "arrhenius-rate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transition-state-theory",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "michaelismenten-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuir-adsorption-isotherm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "langmuirhinshelwood-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fickian-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwellstefan-diffusion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondiffusionreaction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "continuous-stirred-tank-reactor-cstr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "plug-flow-reactor-pfr",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "navierstokes-model",
      "name": "Navier–Stokes model",
      "description": "Conserves mass and momentum for a viscous continuum fluid.",
      "example": "Water flow around a valve.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Navier%E2%80%93Stokes+model",
      "math": {
        "equation": "ρ(∂tu + u·∇u) = −∇p + μ∇²u + ρg; ∇·u = 0",
        "derivation": [
          "Apply conservation of momentum to a fluid element.",
          "Split stress into pressure and Newtonian viscous stress.",
          "For constant density and viscosity, substitute this stress into the balance to obtain incompressible Navier–Stokes."
        ],
        "assumptions": "u is velocity, p pressure, ρ density and μ dynamic viscosity. Compressible flow also needs energy and an equation of state.",
        "tex": "\\rho(\\partial_tu+u\\cdot\\nabla u)=-\\nabla p+\\mu\\nabla^2u+\\rho g; \\nabla\\cdot u=0"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Valves and centrifugal pumps",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenFOAM — CFD User Guide",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        },
        {
          "name": "BiCGSTAB",
          "url": "https://iicsm.org/numericalmodeling/#bicgstab",
          "role": "Linear solve",
          "note": "A short-recurrence option for nonsymmetric systems; monitor breakdown and irregular residual convergence.",
          "context": "Uses short recurrences to stabilize a nonsymmetric Krylov iteration."
        },
        {
          "name": "Discontinuous Galerkin method",
          "url": "https://iicsm.org/numericalmodeling/#discontinuous-galerkin-method",
          "role": "Discretization",
          "note": "For element-local high-order transport or wave formulations; stable interface fluxes and time steps are essential.",
          "context": "Combines element-local trial functions with numerical fluxes across interfaces."
        },
        {
          "name": "Proper orthogonal decomposition",
          "url": "https://iicsm.org/numericalmodeling/#proper-orthogonal-decomposition",
          "role": "Reduced-order modeling",
          "note": "Build a reduced basis from representative snapshots; check predictive accuracy, conservation, and stability after projection.",
          "context": "Extracts dominant modes from a snapshot matrix."
        },
        {
          "name": "Adjoint sensitivity analysis",
          "url": "https://iicsm.org/numericalmodeling/#adjoint-sensitivity-analysis",
          "role": "Many-parameter gradients",
          "note": "For a differentiable discretized state problem and scalar objectives; use consistent derivatives, boundary conditions, and solver tolerances.",
          "context": "Computes gradients of scalar outputs with respect to many parameters."
        }
      ],
      "relationships": [
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Can provide fluid component for",
          "note": "Fluid and solid models exchange interface traction and motion; fluid formulation depends on regime."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Can be filtered into",
          "note": "Spatial filtering introduces unresolved subgrid stresses."
        },
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Can be averaged into",
          "note": "Averaging introduces Reynolds stresses requiring closure."
        },
        {
          "target": "euler-flow-model",
          "type": "Has inviscid approximation",
          "note": "Neglect viscous stress; compressible variants also require energy and closure relations."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Has low-inertia approximation",
          "note": "Neglect inertial momentum terms in the creeping-flow regime."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "euler-flow-model",
      "name": "Euler flow model",
      "description": "Neglects viscous stresses in compressible or incompressible flow.",
      "example": "First estimates of inviscid aerodynamic behavior.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Euler+flow+model",
      "math": {
        "equation": "ρ Du/Dt = −∇p + ρg; ∂tρ + ∇·(ρu) = 0",
        "derivation": [
          "Use continuum mass and momentum balances.",
          "Neglect viscous stresses while retaining pressure forces.",
          "Combine with energy conservation and an equation of state when density varies."
        ],
        "assumptions": "D/Dt = ∂t+u·∇ is the material derivative. Inviscid approximations do not reproduce no-slip wall layers.",
        "tex": "\\rho\\frac{Du}{Dt}=-\\nabla p+\\rho g; \\partial_t\\rho+\\nabla\\cdot(\\rho u)=0"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Aerodynamic design software",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenFOAM — CFD User Guide",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Inviscid approximation of",
          "note": "Neglect viscous stress; compressible variants also require energy and closure relations."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "stokes-creeping-flow-model",
      "name": "Stokes creeping-flow model",
      "description": "Neglects inertial terms relative to viscosity.",
      "example": "Slow flow in a microfluidic device.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Stokes+creeping-flow+model",
      "math": {
        "equation": "−∇p + μ∇²u + ρg = 0; ∇·u = 0",
        "derivation": [
          "Scale momentum transport using a characteristic length L and velocity U.",
          "When Reynolds number ρUL/μ is much less than one, inertia is small.",
          "Drop inertial terms from the incompressible Navier–Stokes equation."
        ],
        "assumptions": "Steady creeping-flow form; rapid transients can require unsteady inertia even when convective inertia is small.",
        "tex": "-\\nabla p+\\mu\\nabla^2u+\\rho g=0; \\nabla\\cdot u=0"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Microfluidic lab-on-chip devices",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenFOAM — CFD User Guide",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Low-inertia approximation of",
          "note": "Neglect inertial momentum terms in the creeping-flow regime."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "potential-flow-model",
      "name": "Potential-flow model",
      "description": "Represents irrotational velocity using a scalar potential.",
      "example": "Preliminary flow around a streamlined body.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Potential-flow+model",
      "math": {
        "equation": "u = ∇φ; ∇²φ = 0",
        "derivation": [
          "Assume irrotational velocity, ∇×u = 0, in a suitable simply connected region.",
          "Introduce a velocity potential φ.",
          "Substitute into incompressible continuity ∇·u = 0 to obtain Laplace’s equation."
        ],
        "assumptions": "Incompressible potential flow; circulation or compressibility requires additional treatment. It cannot directly predict viscous drag.",
        "tex": "u=\\nabla\\phi; \\nabla^2\\phi=0"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Hydrodynamic preliminary-design tools",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Boundary element method",
          "url": "https://iicsm.org/numericalmodeling/#boundary-element-method",
          "role": "Boundary formulation",
          "note": "For a linear homogeneous-domain formulation with a known fundamental solution; general nonlinear/inhomogeneous problems need extensions.",
          "context": "Transfers suitable linear PDE problems to boundary integral equations."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "boundary-layer-model",
      "name": "Boundary-layer model",
      "description": "Resolves thin near-wall regions with scale-based simplifications.",
      "example": "Skin friction along a flat plate.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Boundary-layer+model",
      "math": {
        "equation": "u∂xu + v∂yu = Uₑ dUₑ/dx + ν∂yyu; ∂xu+∂yv = 0",
        "derivation": [
          "Assume a thin steady two-dimensional layer near a wall.",
          "Use its small thickness to neglect streamwise viscous diffusion relative to wall-normal diffusion.",
          "Match pressure to the outer inviscid flow, giving the Uₑ pressure-gradient term."
        ],
        "assumptions": "u and v are tangential and normal velocities; Uₑ is external speed and ν kinematic viscosity. Separation challenges the simplest approximation.",
        "tex": "u\\partial_xu+v\\partial_yu=U_e\\frac{dU_e}{dx}+\\nu\\partial_{yy}u; \\partial_xu+\\partial_yv=0"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Aircraft surface analysis tools",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lubrication-approximation",
      "name": "Lubrication approximation",
      "description": "Simplifies viscous flow in thin gaps.",
      "example": "An oil film inside a bearing.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Lubrication+approximation",
      "math": {
        "equation": "∂t h + ∂x[−h³(∂xp)/(12μ) + Uh/2] = 0",
        "derivation": [
          "Take a thin gap and neglect inertia.",
          "Integrate μ∂yyu = ∂xp across the gap using no-slip conditions.",
          "Integrate velocity to obtain flow rate and insert it into gap-volume conservation."
        ],
        "assumptions": "One-dimensional incompressible lubrication equation with one wall moving at U; h is gap thickness. Other wall motions change the Couette term.",
        "tex": "\\partial_t h+\\partial_x[-\\frac{h^3\\partial_xp}{12\\mu}+\\frac{Uh}{2}]=0"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Journal bearings",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hagenpoiseuille-model",
      "name": "Hagen–Poiseuille model",
      "description": "Predicts fully developed laminar flow in a circular pipe.",
      "example": "Pressure loss in a narrow capillary.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Hagen%E2%80%93Poiseuille+model",
      "math": {
        "equation": "u(r) = Δp(R²−r²)/(4μL); Q = πR⁴Δp/(8μL)",
        "derivation": [
          "Assume steady, fully developed axisymmetric flow in a circular tube.",
          "Integrate the axial viscous momentum equation with finite velocity gradient at r=0 and no slip at r=R.",
          "Integrate the parabolic profile over the cross section."
        ],
        "assumptions": "Newtonian laminar flow in a tube of length L and radius R; entrance and non-Newtonian effects are omitted.",
        "tex": "u(r)=\\frac{\\Delta p(R^2-r^2)}{4\\mu L}; Q=\\frac{\\pi R^4\\Delta p}{8\\mu L}"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Microbore fluid tubing",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "darcyweisbach-model",
      "name": "Darcy–Weisbach model",
      "description": "Relates pipe pressure loss to friction factor and flow speed.",
      "example": "Pump head for a water pipeline.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Darcy%E2%80%93Weisbach+model",
      "math": {
        "equation": "Δp = fD(L/D)ρU²/2",
        "derivation": [
          "Balance wall shear force τwπDL against pressure force ΔpπD²/4.",
          "Define the Darcy friction factor fD = 8τw/(ρU²).",
          "Substitute this definition into the force balance."
        ],
        "assumptions": "fD depends on Reynolds number and roughness. Do not confuse it with the Fanning friction factor, which is four times smaller.",
        "tex": "\\Delta p=f_D\\frac LD\\frac{\\rho U^2}{2}"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Water-pipeline pumping systems",
        "implementation": {
          "name": "Modelica Standard Library",
          "url": "https://doc.modelica.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "non-newtonian-power-law-fluid",
      "name": "Non-Newtonian power-law fluid",
      "description": "Relates shear stress to a power of shear rate.",
      "example": "Approximate flow of a shear-thinning liquid.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Non-Newtonian+power-law+fluid",
      "math": {
        "equation": "τ = K γ̇ⁿ; μapp = K γ̇ⁿ⁻¹",
        "derivation": [
          "Represent shear stress versus shear rate by a fitted power law.",
          "Divide stress by shear rate to define apparent viscosity.",
          "For n<1 the apparent viscosity decreases as shear rate increases."
        ],
        "assumptions": "Simple positive-shear-rate form; K is consistency and n the flow index. Low- and high-rate viscosity plateaus are not represented.",
        "tex": "\\tau=K\\dot\\gamma^n; \\mu_{\\mathrm{app}}=K\\dot\\gamma^{n-1}"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Polymer extrusion dies",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bingham-plastic-model",
      "name": "Bingham plastic model",
      "description": "Represents a material with a yield stress and post-yield viscosity.",
      "example": "Flow of a paste after yielding.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Bingham+plastic+model",
      "math": {
        "equation": "γ̇ = 0 for abs(τ) ≤ τy; τ = τy sign(γ̇)+μpγ̇ otherwise",
        "derivation": [
          "Assume a rigid response below a yield stress.",
          "Above yield, add a constant yield contribution to a linear viscous stress.",
          "Invert the relation to obtain shear rate for a specified stress."
        ],
        "assumptions": "τy is yield stress, μp plastic viscosity; numerical regularization changes the ideal unyielded region.",
        "tex": "\\dot\\gamma=0\\quad\\text{for }|\\tau|\\le\\tau_y; \\tau=\\tau_y\\operatorname{sign}(\\dot\\gamma)+\\mu_p\\dot\\gamma\\quad\\text{otherwise}"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Paste dispensing systems",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "herschelbulkley-model",
      "name": "Herschel–Bulkley model",
      "description": "Combines yield stress with nonlinear post-yield flow.",
      "example": "Pumping a concentrated slurry.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Herschel%E2%80%93Bulkley+model",
      "math": {
        "equation": "τ = τy sign(γ̇) + K abs(γ̇)ⁿ sign(γ̇), when flowing",
        "derivation": [
          "Start with the Bingham yield condition.",
          "Replace the post-yield linear viscous term by a power-law term.",
          "Set shear rate to zero for stresses below the yield threshold."
        ],
        "assumptions": "τy, K and n must be fitted for the material and temperature; this is a simple-shear representation.",
        "tex": "\\tau=\\tau_y\\operatorname{sign}(\\dot\\gamma)+K|\\dot\\gamma|^n\\operatorname{sign}(\\dot\\gamma); \\text{when flowing}"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Slurry pumps",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "oldroyd-b-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "oldroyd-b-model",
      "name": "Oldroyd-B model",
      "description": "Combines solvent viscosity with an elastic polymer stress.",
      "example": "Viscoelastic flow in a dilute polymer solution.",
      "discipline": "Fluid mechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Continuum, compressibility, viscosity and boundary assumptions must be checked; turbulent and multiphase flows need closures.",
      "google_search": "https://www.google.com/search?q=Oldroyd-B+model",
      "math": {
        "equation": "τp + λ τp∇ = 2ηp D; σ = −pI + 2ηsD + τp",
        "derivation": [
          "Represent polymer relaxation with a Maxwell-like stress evolution.",
          "Replace an ordinary time derivative by an upper-convected derivative to preserve frame invariance.",
          "Add a Newtonian solvent contribution."
        ],
        "assumptions": "D = (∇u+∇uᵀ)/2; τp∇ = ∂tτp+u·∇τp−(∇u)τp−τp(∇u)ᵀ. λ is relaxation time.",
        "tex": "\\tau_p+\\lambda\\overset{\\nabla}{\\tau}_p=2\\eta_pD; \\sigma=-pI+2\\eta_sD+\\tau_p"
      },
      "application": {
        "area": "Fluid mechanics",
        "product_examples": "Polymer-solution processing equipment",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "euler-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-creeping-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "potential-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-layer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lubrication-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hagenpoiseuille-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "darcyweisbach-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "non-newtonian-power-law-fluid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bingham-plastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "herschelbulkley-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "reynolds-averaged-navierstokes-rans",
      "name": "Reynolds-averaged Navier–Stokes (RANS)",
      "description": "Models mean flow with closure for unresolved turbulent stresses.",
      "example": "Time-averaged airflow through ductwork.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Reynolds-averaged+Navier%E2%80%93Stokes+%28RANS%29",
      "math": {
        "equation": "ρ(∂tU+U·∇U) = −∇P+μ∇²U−ρ∇·⟨u′u′⟩",
        "derivation": [
          "Decompose velocity into a mean U and fluctuation u′.",
          "Average the nonlinear momentum equation.",
          "The product of fluctuations produces Reynolds stress, requiring a closure model."
        ],
        "assumptions": "Constant-density form; the averaging operation and boundary conditions must be consistent.",
        "tex": "\\rho(\\partial_tU+U\\cdot\\nabla U)=-\\nabla P+\\mu\\nabla^2U-\\rho\\nabla\\cdot\\langle u'u'\\rangle"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "HVAC duct systems",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "komega-model",
          "type": "Can use closure",
          "note": "Turbulent kinetic energy and specific dissipation determine an eddy viscosity."
        },
        {
          "target": "kepsilon-model",
          "type": "Can use closure",
          "note": "Turbulent kinetic energy and dissipation determine an eddy viscosity."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Can use closure",
          "note": "A transport equation models a viscosity-related turbulence variable."
        },
        {
          "target": "navierstokes-model",
          "type": "Averaged formulation of",
          "note": "Averaging introduces Reynolds stresses requiring closure."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "spalartallmaras-model",
      "name": "Spalart–Allmaras model",
      "description": "Uses a transported turbulence variable to obtain eddy viscosity.",
      "example": "Attached aerodynamic boundary layers.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Spalart%E2%80%93Allmaras+model",
      "math": {
        "equation": "νt = ν̃ fv1; Dν̃/Dt = Pν̃ + Dν̃ − Wν̃",
        "derivation": [
          "Introduce one transported modified eddy-viscosity variable ν̃.",
          "Balance its modeled production, diffusion and near-wall destruction.",
          "Convert ν̃ to physical eddy viscosity using the damping function fv1."
        ],
        "assumptions": "Schematic Spalart–Allmaras transport structure; full published functions, constants and wall-distance treatment are required for computation.",
        "tex": "\\nu_t=\\tilde\\nu f_{v1}; \\frac{D\\tilde\\nu}{Dt}=P_{\\tilde\\nu}+D_{\\tilde\\nu}-W_{\\tilde\\nu}"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Aircraft wing analysis tools",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Provides closure for",
          "note": "A transport equation models a viscosity-related turbulence variable."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "kepsilon-model",
      "name": "k–epsilon model",
      "description": "Uses turbulent kinetic energy and dissipation rate to close mean flow.",
      "example": "Industrial turbulent mixing.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=k%E2%80%93epsilon+model",
      "math": {
        "equation": "νt = Cμ k²/ε; Dk/Dt = Pk − ε + diffusion",
        "derivation": [
          "Use k as turbulent kinetic energy and ε as its dissipation rate.",
          "Dimensional analysis gives a turbulent viscosity scale k²/ε.",
          "Close mean stresses with this viscosity and solve modeled transport equations for both k and ε."
        ],
        "assumptions": "The ε equation and boundary functions are essential; standard, RNG and realizable variants differ.",
        "tex": "\\nu_t=C_\\mu\\frac{k^2}{\\varepsilon}; \\frac{Dk}{Dt}=P_k-\\varepsilon+\\text{diffusion}"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Industrial mixing tanks",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Provides closure for",
          "note": "Turbulent kinetic energy and dissipation determine an eddy viscosity."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "komega-model",
      "name": "k–omega model",
      "description": "Uses turbulent kinetic energy and specific dissipation rate.",
      "example": "Near-wall turbulent flow.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=k%E2%80%93omega+model",
      "math": {
        "equation": "νt = k/ω; Dk/Dt = Pk − β*kω + diffusion",
        "derivation": [
          "Use a turbulence time scale proportional to 1/ω.",
          "Multiply that time scale by kinetic energy k to form eddy viscosity.",
          "Transport k and ω with modeled production, dissipation and diffusion."
        ],
        "assumptions": "Representative k–ω structure; β* and all other coefficients depend on the model version.",
        "tex": "\\nu_t=\\frac k\\omega; \\frac{Dk}{Dt}=P_k-\\beta^*k\\omega+\\text{diffusion}"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Near-wall flow simulation packages",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Provides closure for",
          "note": "Turbulent kinetic energy and specific dissipation determine an eddy viscosity."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "sst-komega-model",
      "name": "SST k–omega model",
      "description": "Blends near-wall and outer-flow behavior with a shear-stress limiter.",
      "example": "Adverse-pressure-gradient flow near a wing.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=SST+k%E2%80%93omega+model",
      "math": {
        "equation": "νt = a₁k/max(a₁ω, SF₂)",
        "derivation": [
          "Blend k–ω behavior near walls with transformed k–ε behavior away from walls.",
          "Limit the eddy viscosity using strain rate S and blending function F₂.",
          "This restricts excessive turbulent shear stress in adverse pressure gradients."
        ],
        "assumptions": "SST models require two transport equations and blending functions; variants use different production limiting and strain/vorticity definitions.",
        "tex": "\\nu_t=\\frac{a_1k}{\\max(a_1\\omega,SF_2)}"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Turbomachinery flow-analysis tools",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "reynolds-stress-transport-model",
      "name": "Reynolds-stress transport model",
      "description": "Transports individual turbulent stress components.",
      "example": "Strongly anisotropic swirling flow.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Reynolds-stress+transport+model",
      "math": {
        "equation": "DRᵢⱼ/Dt = Pᵢⱼ + Φᵢⱼ − εᵢⱼ + Dᵢⱼ",
        "derivation": [
          "Multiply fluctuating momentum equations by fluctuation velocities and average.",
          "Collect production, pressure-strain, dissipation and transport terms.",
          "Model the unresolved terms while transporting each Reynolds-stress component."
        ],
        "assumptions": "Rᵢⱼ = ⟨u′ᵢu′ⱼ⟩; pressure-strain and dissipation closures strongly influence anisotropic flows.",
        "tex": "\\frac{DR_{ij}}{Dt}=P_{ij}+\\Phi_{ij}-\\varepsilon_{ij}+D_{ij}"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Cyclone separators",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "large-eddy-simulation-les",
      "name": "Large-eddy simulation (LES)",
      "description": "Resolves larger turbulent motions and models subgrid effects.",
      "example": "Unsteady flow around a bluff body.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Large-eddy+simulation+%28LES%29",
      "math": {
        "equation": "τSGSᵢⱼ = overline(uᵢuⱼ) − ūᵢūⱼ",
        "derivation": [
          "Spatially filter the Navier–Stokes equations.",
          "Filtering the nonlinear product differs from multiplying filtered velocities.",
          "Represent that difference as subgrid stress and close it while resolving larger motions."
        ],
        "assumptions": "Filter width, mesh and numerical dissipation jointly determine the effective LES resolution.",
        "tex": "\\tau^{\\mathrm{SGS}}_{ij}=\\overline{u_iu_j}-\\bar u_i\\bar u_j"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Vehicle aeroacoustic simulation tools",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Can use closure",
          "note": "An eddy-viscosity model represents subgrid momentum transport."
        },
        {
          "target": "navierstokes-model",
          "type": "Filtered formulation of",
          "note": "Spatial filtering introduces unresolved subgrid stresses."
        },
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "smagorinsky-subgrid-model",
      "name": "Smagorinsky subgrid model",
      "description": "Relates subgrid eddy viscosity to resolved strain and filter scale.",
      "example": "A basic LES closure for unresolved turbulence.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Smagorinsky+subgrid+model",
      "math": {
        "equation": "νSGS = (CsΔ)²√(2S̄ᵢⱼS̄ᵢⱼ)",
        "derivation": [
          "Assume a subgrid mixing length proportional to filter width Δ.",
          "Use resolved strain to estimate an inverse time scale.",
          "Multiply squared mixing length by that rate to obtain an eddy viscosity."
        ],
        "assumptions": "Cs is a coefficient and S̄ resolved strain. Wall damping or dynamic procedures may be needed.",
        "tex": "\\nu_{\\mathrm{SGS}}=(C_s\\Delta)^2\\sqrt{2\\bar S_{ij}\\bar S_{ij}}"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Large-eddy simulation packages",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "large-eddy-simulation-les",
          "type": "Provides closure for",
          "note": "An eddy-viscosity model represents subgrid momentum transport."
        },
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "detached-eddy-simulation-des",
      "name": "Detached-eddy simulation (DES)",
      "description": "Combines RANS near walls with LES-like treatment away from them.",
      "example": "Separated flow behind a vehicle.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Detached-eddy+simulation+%28DES%29",
      "math": {
        "equation": "ℓDES = min(d, CDESΔ)",
        "derivation": [
          "Begin with a wall-distance-based RANS length scale d.",
          "Replace it by a grid-related scale when that becomes smaller.",
          "This enables LES-like behavior away from walls while keeping near-wall RANS treatment."
        ],
        "assumptions": "Representative original DES switch; delayed and improved delayed DES use shielding and other refinements.",
        "tex": "\\ell_{\\mathrm{DES}}=\\min(d,C_{\\mathrm{DES}}\\Delta)"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Vehicle wake simulation tools",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NASA — Turbulence Modeling Resource",
          "url": "https://www.nasa.gov/nasa-turbulence-modeling-resource/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "volume-of-fluid-vof-representation",
      "name": "Volume-of-fluid (VOF) representation",
      "description": "Tracks phase volume fractions to represent an interface.",
      "example": "Water sloshing inside a tank.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Volume-of-fluid+%28VOF%29+representation",
      "math": {
        "equation": "∂tα + ∇·(αu) = 0; ρ = αρ₁+(1−α)ρ₂",
        "derivation": [
          "Track the fraction α of one incompressible phase inside each cell.",
          "Conserve that phase volume during advection.",
          "Use the local fraction to combine material properties and reconstruct the interface."
        ],
        "assumptions": "Shared-velocity two-phase form without phase change; surface tension and interface compression are additional terms or numerical treatments.",
        "tex": "\\partial_t\\alpha+\\nabla\\cdot(\\alpha u)=0; \\rho=\\alpha\\rho_1+(1-\\alpha)\\rho_2"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Partially filled liquid tanks",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "eulereuler-two-fluid-model",
      "name": "Euler–Euler two-fluid model",
      "description": "Treats phases as interpenetrating continua with exchange terms.",
      "example": "A gas-liquid bubble column.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Euler%E2%80%93Euler+two-fluid+model",
      "math": {
        "equation": "∂t(αkρk)+∇·(αkρkuk)=Γk; Σkαk=1",
        "derivation": [
          "Volume-average conservation separately for each phase.",
          "Weight storage and fluxes by phase volume fraction αk.",
          "Add interphase mass and momentum exchanges, then solve coupled phase equations."
        ],
        "assumptions": "A momentum equation is needed for each phase; drag, lift and other exchange forces require closures.",
        "tex": "\\partial_t(\\alpha_k\\rho_k)+\\nabla\\cdot(\\alpha_k\\rho_ku_k)=\\Gamma_k; \\sum_k\\alpha_k=1"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Gas-liquid bubble columns",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-particle-tracking",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lagrangian-particle-tracking",
      "name": "Lagrangian particle tracking",
      "description": "Tracks discrete particles through a carrier flow.",
      "example": "Droplet trajectories in a spray.",
      "discipline": "Turbulence & multiphase flow",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Closure selection, wall treatment and spatial resolution strongly affect results; validate against the actual flow regime.",
      "google_search": "https://www.google.com/search?q=Lagrangian+particle+tracking",
      "math": {
        "equation": "mp dvp/dt = FD + mp g(1−ρf/ρp); dxp/dt = vp",
        "derivation": [
          "Apply Newton’s law to an individual particle or droplet.",
          "Represent fluid interaction by drag and, here, a buoyancy-corrected gravitational term.",
          "Integrate particle velocity and position within the carrier flow."
        ],
        "assumptions": "Representative dilute-particle equation; added mass, lift, evaporation and two-way coupling may be needed.",
        "tex": "m_p\\frac{dv_p}{dt}=F_D+m_pg(1-\\rho_f/\\rho_p); \\frac{dx_p}{dt}=v_p"
      },
      "application": {
        "area": "Turbulence & multiphase flow",
        "product_examples": "Spray nozzles",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        }
      ],
      "relationships": [
        {
          "target": "reynolds-averaged-navierstokes-rans",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spalartallmaras-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kepsilon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sst-komega-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reynolds-stress-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "large-eddy-simulation-les",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smagorinsky-subgrid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "detached-eddy-simulation-des",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "volume-of-fluid-vof-representation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulereuler-two-fluid-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "fourier-heat-conduction",
      "name": "Fourier heat conduction",
      "description": "Relates conductive heat flux to temperature gradient.",
      "example": "Heat spreading through a metal plate.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Fourier+heat+conduction",
      "math": {
        "equation": "q = −k∇T",
        "derivation": [
          "Assume heat flows down a temperature gradient near local thermal equilibrium.",
          "Linearize flux in that gradient.",
          "The proportionality coefficient is thermal conductivity k, or a tensor in anisotropic solids."
        ],
        "assumptions": "q is heat flux in W/m²; Fourier conduction may fail at very small scales or extremely short times.",
        "tex": "q=-k\\nabla T"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Heat sinks",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Jacobi iteration",
          "url": "https://iicsm.org/numericalmodeling/#jacobi-iteration",
          "role": "Relaxation / preconditioning",
          "note": "Use as a diagonal preconditioner or suitable smoother; standalone iteration requires a convergence check.",
          "context": "Updates each unknown from the previous iterate using the diagonal."
        },
        {
          "name": "Gauss-Seidel iteration",
          "url": "https://iicsm.org/numericalmodeling/#gauss-seidel-iteration",
          "role": "Relaxation / smoothing",
          "note": "Useful for suitable diffusion-like matrices or multigrid smoothing; ordering and parallelism matter.",
          "context": "Uses newly updated values immediately within each sweep."
        },
        {
          "name": "Successive over-relaxation",
          "url": "https://iicsm.org/numericalmodeling/#successive-over-relaxation",
          "role": "Relaxation",
          "note": "For suitable elliptic systems; choose relaxation carefully and verify convergence rather than assuming acceleration.",
          "context": "Relaxes a Gauss-Seidel correction with a tunable weight."
        },
        {
          "name": "Geometric multigrid",
          "url": "https://iicsm.org/numericalmodeling/#geometric-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable elliptic operators with a mesh hierarchy and compatible transfer operators and smoothers.",
          "context": "Removes error at multiple mesh resolutions."
        },
        {
          "name": "Composite trapezoidal rule",
          "url": "https://iicsm.org/numericalmodeling/#composite-trapezoidal-rule",
          "role": "Integral / post-processing",
          "note": "For sampled loads, fluxes, or response histories with enough resolution; account for nonsmooth events.",
          "context": "Integrates sampled data by joining neighboring values with straight lines."
        },
        {
          "name": "Composite Simpson rule",
          "url": "https://iicsm.org/numericalmodeling/#composite-simpson-rule",
          "role": "Integral / post-processing",
          "note": "For smooth sampled responses with compatible spacing; do not apply its uniform-grid error order blindly.",
          "context": "Integrates pairs of intervals using quadratic interpolation."
        },
        {
          "name": "Residual-based error estimation",
          "url": "https://iicsm.org/numericalmodeling/#residual-based-error-estimation",
          "role": "Spatial verification",
          "note": "For a suitable PDE discretization with an estimator derived for its operator; a small solver residual alone is not a full error bound.",
          "context": "Uses equation and interface residuals to guide error assessment."
        }
      ],
      "relationships": [
        {
          "target": "transient-heat-equation",
          "type": "Closes transport in",
          "note": "Energy conservation combined with Fourier heat flux gives the heat equation."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "transient-heat-equation",
      "name": "Transient heat equation",
      "description": "Balances thermal storage, conduction and heat sources.",
      "example": "Warm-up of an electronic component.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Transient+heat+equation",
      "math": {
        "equation": "ρcp ∂T/∂t = ∇·(k∇T) + Q",
        "derivation": [
          "Balance energy storage in a small stationary solid volume against incoming heat and volumetric generation.",
          "Insert Fourier’s conductive flux.",
          "Divide by volume and take the local limit."
        ],
        "assumptions": "Q is heat generation per volume, cp specific heat and ρ density; moving media need advection and possibly work terms.",
        "tex": "\\rho c_p\\frac{\\partial T}{\\partial t}=\\nabla\\cdot(k\\nabla T)+Q"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Electronic thermal-management systems",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Forward Euler",
          "url": "https://iicsm.org/numericalmodeling/#forward-euler",
          "role": "Time integration",
          "note": "For a nonstiff ODE or semidiscrete equation when the explicit stability bound and error budget permit; usually a baseline rather than the most efficient choice.",
          "context": "Advances an ODE using the current slope."
        },
        {
          "name": "Von Neumann stability analysis",
          "url": "https://iicsm.org/numericalmodeling/#von-neumann-stability-analysis",
          "role": "Scheme analysis",
          "note": "For a linearized constant-coefficient uniform-grid subproblem; boundaries and nonlinear effects need separate checks.",
          "context": "Tests Fourier-mode amplification for linear grid schemes."
        }
      ],
      "relationships": [
        {
          "target": "thermomechanical-coupling",
          "type": "Can provide thermal component for",
          "note": "Temperature affects deformation and material properties; mechanical processes may also generate heat."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Extended for tissue by",
          "note": "Adds perfusion exchange and metabolic heat production."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Has spatially lumped approximation",
          "note": "Assumes negligible internal temperature gradients relative to boundary resistance."
        },
        {
          "target": "fourier-heat-conduction",
          "type": "Uses constitutive law",
          "note": "Energy conservation combined with Fourier heat flux gives the heat equation."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lumped-capacitance-thermal-model",
      "name": "Lumped-capacitance thermal model",
      "description": "Represents a body with one spatially uniform temperature.",
      "example": "Cooling of a small conductive sensor when internal gradients are negligible.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Lumped-capacitance+thermal+model",
      "math": {
        "equation": "mc dT/dt = −hA(T−T∞); T−T∞ = (T₀−T∞)e^(−t/τ), τ=mc/(hA)",
        "derivation": [
          "Assume one uniform body temperature.",
          "Balance stored thermal energy against convective surface loss.",
          "Integrate the first-order equation for constant properties and ambient temperature."
        ],
        "assumptions": "Requires small internal temperature gradients, commonly assessed by Biot number hLc/k much less than one.",
        "tex": "mc\\frac{dT}{dt}=-hA(T-T_\\infty); T-T_\\infty=(T_0-T_\\infty)e^{-t/\\tau}; \\tau=\\frac{mc}{hA}"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Temperature probes",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "transient-heat-equation",
          "type": "Spatially lumped approximation of",
          "note": "Assumes negligible internal temperature gradients relative to boundary resistance."
        },
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "thermal-resistance-capacitance-network",
      "name": "Thermal resistance-capacitance network",
      "description": "Represents heat paths and storage with connected lumped elements.",
      "example": "Temperature dynamics of an electronics enclosure.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Thermal+resistance-capacitance+network",
      "math": {
        "equation": "Cᵢ dTᵢ/dt = Qᵢ + Σⱼ(Tⱼ−Tᵢ)/Rᵢⱼ",
        "derivation": [
          "Partition a thermal system into nearly uniform-temperature nodes.",
          "Assign a heat capacity C to each node and a thermal resistance R to each link.",
          "Apply energy conservation at every node."
        ],
        "assumptions": "R has units K/W and C J/K. Radiation or temperature-dependent conductance makes the network nonlinear.",
        "tex": "C_i\\frac{dT_i}{dt}=Q_i+\\sum_j\\frac{T_j-T_i}{R_{ij}}"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Battery-pack thermal-management models",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "electrical-analog-model",
          "type": "Has electrical analogy",
          "note": "Temperature/heat-flow balances can map to voltage/current with consistent capacitances and resistances."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Can represent",
          "note": "Thermal capacitances and conductances represent zones, surfaces, and heat exchange."
        },
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "newton-cooling-model",
      "name": "Newton cooling model",
      "description": "Uses a heat-transfer coefficient between a surface and a fluid.",
      "example": "An approximate cooling law for a hot object.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Newton+cooling+model",
      "math": {
        "equation": "qconv = h(Ts−T∞); Qconv = hA(Ts−T∞)",
        "derivation": [
          "Represent the complicated fluid boundary layer by an effective thermal resistance.",
          "Define h as flux divided by surface-to-bulk temperature difference.",
          "Multiply by area for total heat flow."
        ],
        "assumptions": "This is a constitutive approximation; h depends on flow, geometry, fluid properties and heating conditions.",
        "tex": "q_{\\mathrm{conv}}=h(T_s-T_\\infty); Q_{\\mathrm{conv}}=hA(T_s-T_\\infty)"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Air-cooled equipment enclosures",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "radiative-transfer-equation",
      "name": "Radiative transfer equation",
      "description": "Tracks radiation intensity through emission, absorption and scattering.",
      "example": "Thermal radiation through a participating gas.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Radiative+transfer+equation",
      "math": {
        "equation": "s·∇I = −(κa+κs)I + κaIb + κs/(4π)∫Φ(s′→s)I(s′)dΩ′",
        "derivation": [
          "Follow radiative intensity along a ray direction s.",
          "Subtract absorption and out-scattering.",
          "Add thermal emission and radiation scattered into the ray from other directions."
        ],
        "assumptions": "Steady spectral or gray form with compatible coefficients; κa and κs are absorption and scattering coefficients and Φ is a normalized phase function.",
        "tex": "s\\cdot\\nabla I=-(\\kappa_a+\\kappa_s)I+\\kappa_aI_b+\\frac{\\kappa_s}{4\\pi}\\int\\Phi(s'\\to s)I(s')\\,d\\Omega'"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Combustion furnaces",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "stefanboltzmann-surface-model",
      "name": "Stefan–Boltzmann surface model",
      "description": "Relates idealized surface radiant emission to the fourth power of temperature.",
      "example": "Radiative loss from a hot surface.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Stefan%E2%80%93Boltzmann+surface+model",
      "math": {
        "equation": "E = εσT⁴; Qnet = εσA(Ts⁴−Tsur⁴)",
        "derivation": [
          "Integrate blackbody spectral emission over wavelength and outgoing directions.",
          "The integral scales with absolute temperature to the fourth power.",
          "Apply gray emissivity ε and subtract irradiation from a large isothermal surrounding."
        ],
        "assumptions": "Net formula assumes a small gray diffuse surface viewing large black surroundings; general enclosures require view factors.",
        "tex": "E=\\varepsilon\\sigma T^4; Q_{\\mathrm{net}}=\\varepsilon\\sigma A(T_s^4-T_{\\mathrm{sur}}^4)"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Radiant heaters",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Secant method",
          "url": "https://iicsm.org/numericalmodeling/#secant-method",
          "role": "Scalar root",
          "note": "For smooth scalar equations when derivatives are costly; it does not preserve a bracket and can fail.",
          "context": "Approximates a scalar derivative from two previous points."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "surface-to-surface-radiosity-model",
      "name": "Surface-to-surface radiosity model",
      "description": "Balances diffuse radiation exchange between surfaces.",
      "example": "Radiation inside a furnace enclosure.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Surface-to-surface+radiosity+model",
      "math": {
        "equation": "Jᵢ = εᵢσTᵢ⁴ + (1−εᵢ)ΣⱼFᵢⱼJⱼ; Qᵢ = Aᵢ(Jᵢ−Gᵢ)",
        "derivation": [
          "Define radiosity J as emitted plus reflected radiant energy.",
          "Use view factors F to compute incident irradiation G from all surfaces.",
          "Subtract incident from outgoing radiation to get net surface heat flow."
        ],
        "assumptions": "Opaque diffuse-gray surfaces, nonparticipating medium, and consistent view factors satisfying enclosure and reciprocity rules.",
        "tex": "J_i=\\varepsilon_i\\sigma T_i^4+(1-\\varepsilon_i)\\sum_j F_{ij}J_j; Q_i=A_i(J_i-G_i)"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Vacuum-furnace insulation",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "stefan-phase-change-problem",
      "name": "Stefan phase-change problem",
      "description": "Couples heat transport to a moving melting or freezing boundary.",
      "example": "Growth of an ice layer.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Stefan+phase-change+problem",
      "math": {
        "equation": "ρL ds/dt = ks(∂xTs)interface − kl(∂xTl)interface",
        "derivation": [
          "Solve heat conduction in solid and liquid regions.",
          "Apply energy conservation to an infinitesimal layer moving with the phase boundary.",
          "The jump in conductive flux supplies latent heat for boundary motion."
        ],
        "assumptions": "One-dimensional sign convention with solid on the left and liquid on the right; s is interface position and L latent heat per mass.",
        "tex": "\\rho L\\frac{ds}{dt}=k_s(\\partial_xT_s)_{\\mathrm{interface}}-k_l(\\partial_xT_l)_{\\mathrm{interface}}"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Ice-making heat exchangers",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        }
      ],
      "relationships": [
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "enthalpyporosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "enthalpyporosity-model",
      "name": "Enthalpy–porosity model",
      "description": "Represents melting using enthalpy and a porous resistance in the mushy zone.",
      "example": "Phase-change thermal storage.",
      "discipline": "Heat transfer",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Check temperature-dependent properties, surface conditions and whether local thermal equilibrium is justified.",
      "google_search": "https://www.google.com/search?q=Enthalpy%E2%80%93porosity+model",
      "math": {
        "equation": "H = h + flL; Smushy = −C(1−fl)²u/(fl³+ε)",
        "derivation": [
          "Include latent heat in an enthalpy H with liquid fraction fl.",
          "Use the energy equation to update enthalpy and infer phase fraction.",
          "Suppress velocity in partly solid cells using a porous resistance."
        ],
        "assumptions": "Representative enthalpy–porosity form; h is sensible enthalpy, C a mushy-zone parameter and ε a small regularization constant.",
        "tex": "H=h+f_lL; S_{\\mathrm{mushy}}=-\\frac{C(1-f_l)^2u}{f_l^3+\\varepsilon}"
      },
      "application": {
        "area": "Heat transfer",
        "product_examples": "Phase-change thermal-storage modules",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        }
      ],
      "relationships": [
        {
          "target": "fourier-heat-conduction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transient-heat-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lumped-capacitance-thermal-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newton-cooling-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "radiative-transfer-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefanboltzmann-surface-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "surface-to-surface-radiosity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stefan-phase-change-problem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "linear-elasticity-hooke-model",
      "name": "Linear elasticity (Hooke model)",
      "description": "Relates stress linearly to small elastic strain.",
      "example": "Deflection of a lightly loaded metal part.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Linear+elasticity+%28Hooke+model%29",
      "math": {
        "equation": "σ = C:ε; ε = ½(∇u+∇uᵀ)",
        "derivation": [
          "Expand elastic strain energy to quadratic order near an unstressed equilibrium.",
          "Differentiate that energy with respect to small strain.",
          "The resulting linear relation defines the stiffness tensor C."
        ],
        "assumptions": "u is displacement and σ Cauchy stress in a small-strain setting; isotropic C can be expressed using two Lamé constants.",
        "tex": "\\sigma=C:\\varepsilon; \\varepsilon=\\frac12(\\nabla u+\\nabla u^{\\mathsf T})"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Load-bearing metal brackets",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "orthotropic-elasticity",
      "name": "Orthotropic elasticity",
      "description": "Uses direction-dependent elastic properties along material axes.",
      "example": "A composite laminate or wood panel.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Orthotropic+elasticity",
      "math": {
        "equation": "σI = CIJ εJ; C = Cᵀ",
        "derivation": [
          "Choose three orthogonal material symmetry axes.",
          "Apply those symmetries to the general elastic stiffness tensor.",
          "The matrix reduces to nine independent constants in three dimensions."
        ],
        "assumptions": "Voigt notation requires consistent engineering-shear conventions; stability requires positive strain energy.",
        "tex": "\\sigma_I=C_{IJ}\\varepsilon_J; C=C^{\\mathsf T}"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Composite panels",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "neo-hookean-hyperelasticity",
      "name": "Neo-Hookean hyperelasticity",
      "description": "Models large elastic deformation with a strain-energy function.",
      "example": "Stretching a rubber component.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Neo-Hookean+hyperelasticity",
      "math": {
        "equation": "W = μ(I₁−3)/2 − μ ln J + λ(ln J)²/2; P = ∂W/∂F",
        "derivation": [
          "Use deformation gradient F to represent finite strain.",
          "Choose an isotropic strain-energy function that recovers linear elasticity near F=I.",
          "Differentiate W with respect to F to obtain first Piola stress P."
        ],
        "assumptions": "One compressible neo-Hookean variant; J=det F, I₁=tr(FᵀF). Other volumetric penalties are also used.",
        "tex": "W=\\frac\\mu2(I_1-3)-\\mu\\ln J+\\frac\\lambda2(\\ln J)^2; P=\\frac{\\partial W}{\\partial F}"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Rubber bushings",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "mooneyrivlin-hyperelasticity",
      "name": "Mooney–Rivlin hyperelasticity",
      "description": "Uses multiple strain invariants to fit rubber-like response.",
      "example": "A deformable seal.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Mooney%E2%80%93Rivlin+hyperelasticity",
      "math": {
        "equation": "W = C₁₀(I₁−3)+C₀₁(I₂−3), J=1",
        "derivation": [
          "Express isotropic incompressible elastic energy using invariants of FᵀF.",
          "Retain terms linear in the first two invariants.",
          "Differentiate the constrained energy to obtain stress plus an incompressibility pressure."
        ],
        "assumptions": "Two-parameter Mooney–Rivlin form; I₂ is the second invariant. Compressible versions add a volumetric energy.",
        "tex": "W=C_{10}(I_1-3)+C_{01}(I_2-3); J=1"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Elastomeric seals",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ogden-hyperelasticity",
      "name": "Ogden hyperelasticity",
      "description": "Uses powers of principal stretches to represent nonlinear elasticity.",
      "example": "Large strain in an elastomer.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Ogden+hyperelasticity",
      "math": {
        "equation": "W = Σp (μp/αp)(λ₁^αp+λ₂^αp+λ₃^αp−3), λ₁λ₂λ₃=1",
        "derivation": [
          "Diagonalize stretch into principal stretches λᵢ.",
          "Build an isotropic energy as a symmetric sum of stretch powers.",
          "Fit coefficients and differentiate with respect to stretches to obtain principal stresses."
        ],
        "assumptions": "One common Ogden coefficient convention; other software uses different prefactors. Incompressible form shown.",
        "tex": "W=\\sum_p\\frac{\\mu_p}{\\alpha_p}(\\lambda_1^{\\alpha_p}+\\lambda_2^{\\alpha_p}+\\lambda_3^{\\alpha_p}-3); \\lambda_1\\lambda_2\\lambda_3=1"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Soft silicone components",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "eulerbernoulli-beam-model",
      "name": "Euler–Bernoulli beam model",
      "description": "Describes slender-beam bending while neglecting transverse shear deformation.",
      "example": "Deflection of a long slender beam.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Euler%E2%80%93Bernoulli+beam+model",
      "math": {
        "equation": "M = EIκ; EI d⁴w/dx⁴ = q",
        "derivation": [
          "Assume plane cross sections remain normal to the beam centerline.",
          "Relate bending strain to curvature and integrate stress over the cross section to obtain M=EIκ.",
          "Combine force and moment equilibrium to get the deflection equation."
        ],
        "assumptions": "Constant bending rigidity EI, small deflections, and a sign convention where q matches w. Shear deformation is neglected.",
        "tex": "M=EI\\kappa; EI\\frac{d^4w}{dx^4}=q"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Slender support beams",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "timoshenko-beam-model",
          "type": "Extended for shear by",
          "note": "Allows cross-section rotation to differ from the transverse slope."
        },
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "timoshenko-beam-model",
      "name": "Timoshenko beam model",
      "description": "Includes transverse shear deformation and rotational effects.",
      "example": "A short or thick beam.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Timoshenko+beam+model",
      "math": {
        "equation": "M = EIφ′; V = κsGA(w′−φ)",
        "derivation": [
          "Allow cross-section rotation φ to differ from centerline slope w′.",
          "Use their difference as transverse shear strain.",
          "Combine bending and shear constitutive laws with beam force and moment balances."
        ],
        "assumptions": "κs is the shear correction factor, not curvature; consistent load signs and dynamic inertia terms complete the model.",
        "tex": "M=EI\\phi'; V=\\kappa_sGA(w'-\\phi)"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Thick machine beams",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Adds shear deformation to",
          "note": "Allows cross-section rotation to differ from the transverse slope."
        },
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "kirchhofflove-plate-model",
      "name": "Kirchhoff–Love plate model",
      "description": "Describes thin-plate bending with normals remaining normal.",
      "example": "Flexure of a thin panel.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Kirchhoff%E2%80%93Love+plate+model",
      "math": {
        "equation": "D∇⁴w = q; D = Et³/[12(1−ν²)]",
        "derivation": [
          "Assume normals to the mid-surface remain straight and normal during bending.",
          "Integrate linear elastic bending stress through thickness t.",
          "Use transverse equilibrium to produce the biharmonic plate equation."
        ],
        "assumptions": "Flat isotropic thin plate, small deflection; E is Young’s modulus and ν Poisson ratio.",
        "tex": "D\\nabla^4w=q; D=\\frac{Et^3}{12(1-\\nu^2)}"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Thin sheet panels",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "mindlinreissner-plate-model",
          "type": "Extended for shear by",
          "note": "Relaxes the thin-plate constraint that normals remain perpendicular to the midsurface."
        },
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "mindlinreissner-plate-model",
      "name": "Mindlin–Reissner plate model",
      "description": "Includes transverse shear deformation in plate bending.",
      "example": "A moderately thick plate.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Mindlin%E2%80%93Reissner+plate+model",
      "math": {
        "equation": "Q = κsGt(∇w−θ); M = Db κ(θ)",
        "derivation": [
          "Allow plate rotations θ to differ from the gradient of transverse displacement.",
          "Use the difference to generate shear resultants Q.",
          "Combine shear and bending resultants with equilibrium."
        ],
        "assumptions": "Db is the plate bending stiffness matrix and κ(θ) the curvature vector; sign conventions and shear correction must be consistent.",
        "tex": "Q=\\kappa_sGt(\\nabla w-\\theta); M=D_b\\kappa(\\theta)"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Thick load-bearing plates",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "kirchhofflove-plate-model",
          "type": "Adds transverse shear to",
          "note": "Relaxes the thin-plate constraint that normals remain perpendicular to the midsurface."
        },
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "shell-model",
      "name": "Shell model",
      "description": "Combines membrane and bending behavior on a curved surface.",
      "example": "A pressure-vessel wall or aircraft skin.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Shell+model",
      "math": {
        "equation": "N = Aε₀+Bκ; M = Bε₀+Dκ",
        "derivation": [
          "Describe in-plane strain as a mid-surface strain plus a thickness-dependent curvature term.",
          "Integrate stresses through thickness to obtain membrane forces N and moments M.",
          "The integrals define extensional, coupling and bending stiffnesses A, B and D."
        ],
        "assumptions": "Representative linear shell/laminate constitutive form; geometry supplies membrane and curvature relations and equilibrium.",
        "tex": "N=A\\varepsilon_0+B\\kappa; M=B\\varepsilon_0+D\\kappa"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Pressure-vessel shells",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "truss-model",
      "name": "Truss model",
      "description": "Represents a structure with axial-force members joined at idealized nodes.",
      "example": "A triangulated roof support.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Truss+model",
      "math": {
        "equation": "N = EA ΔL/L; k = EA/L",
        "derivation": [
          "Assume a straight member carries only axial force.",
          "Use axial strain ΔL/L and linear elasticity σ=Eε.",
          "Multiply by cross-sectional area to obtain force and axial stiffness."
        ],
        "assumptions": "Ideal pin-jointed truss member with small strain; bending and joint stiffness are omitted.",
        "tex": "N=EA\\frac{\\Delta L}{L}; k=\\frac{EA}{L}"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Roof truss systems",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cable-and-membrane-models",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "cable-and-membrane-models",
      "name": "Cable and membrane models",
      "description": "Represent slender or thin structures dominated by tension.",
      "example": "A suspended cable or fabric canopy.",
      "discipline": "Solid mechanics & structures",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Geometry, supports, material response and deformation regime govern validity; ideal elements cannot capture every local effect.",
      "google_search": "https://www.google.com/search?q=Cable+and+membrane+models",
      "math": {
        "equation": "d(Tt̂)/ds + f = 0",
        "derivation": [
          "Consider a small segment of a flexible cable.",
          "Its internal force acts along the local tangent t̂ because bending resistance is neglected.",
          "Balance the change in tension vector with distributed external load f."
        ],
        "assumptions": "Cable equilibrium with arc length s and tension T. Membranes use the analogous surface-divergence balance of in-plane stress resultants.",
        "tex": "\\frac{d(T\\hat t)}{ds}+f=0"
      },
      "application": {
        "area": "Solid mechanics & structures",
        "product_examples": "Tensioned fabric roofs and suspension cables",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        }
      ],
      "relationships": [
        {
          "target": "linear-elasticity-hooke-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "orthotropic-elasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neo-hookean-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mooneyrivlin-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ogden-hyperelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eulerbernoulli-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "timoshenko-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kirchhofflove-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mindlinreissner-plate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "truss-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "von-mises-j2-plasticity",
      "name": "von Mises J2 plasticity",
      "description": "Uses deviatoric stress to define yielding in an isotropic ductile material.",
      "example": "Permanent deformation of a steel bracket.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=von+Mises+J2+plasticity",
      "math": {
        "equation": "f = √(3s:s/2) − σy = 0; ε̇p = λ̇ ∂f/∂σ",
        "derivation": [
          "Remove hydrostatic stress to obtain deviatoric stress s.",
          "Use its second invariant to define an isotropic yield surface.",
          "Combine the yield condition with a flow rule, hardening law and consistency condition."
        ],
        "assumptions": "Small-strain associative J2 plasticity shown; λ̇ is a plastic multiplier and σy may evolve with plastic strain.",
        "tex": "f=\\sqrt{3s:s/2}-\\sigma_y=0; \\dot\\varepsilon_p=\\dot\\lambda\\frac{\\partial f}{\\partial\\sigma}"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Metal forming simulation tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "tresca-yield-model",
      "name": "Tresca yield model",
      "description": "Defines yield using maximum shear stress.",
      "example": "A conservative ductile-yield comparison.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Tresca+yield+model",
      "math": {
        "equation": "max(abs(σ₁−σ₂),abs(σ₂−σ₃),abs(σ₃−σ₁)) = σy",
        "derivation": [
          "Compute maximum shear stress as half the largest principal-stress difference.",
          "Set that shear stress equal to the shear stress at uniaxial yield.",
          "The resulting principal-stress surface is the Tresca criterion."
        ],
        "assumptions": "σᵢ are principal stresses; a flow rule and hardening relation are needed for post-yield deformation.",
        "tex": "\\max(|\\sigma_1-\\sigma_2|,|\\sigma_2-\\sigma_3|,|\\sigma_3-\\sigma_1|)=\\sigma_y"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Ductile shaft-design calculations",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "druckerprager-plasticity",
      "name": "Drucker–Prager plasticity",
      "description": "Uses a smooth pressure-dependent yield surface.",
      "example": "Approximate yielding of a frictional material.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Drucker%E2%80%93Prager+plasticity",
      "math": {
        "equation": "f = √J₂ + αI₁ − k = 0",
        "derivation": [
          "Represent pressure sensitivity through the first stress invariant I₁.",
          "Represent shear loading through the second deviatoric invariant J₂.",
          "Choose α and k to fit the desired frictional yield envelope."
        ],
        "assumptions": "Tension-positive convention shown; parameter signs depend on convention and calibration. Flow can be nonassociated.",
        "tex": "f=\\sqrt{J_2}+\\alpha I_1-k=0"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Frictional-material analysis tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "mohrcoulomb-model",
      "name": "Mohr–Coulomb model",
      "description": "Relates frictional shear strength to normal stress and cohesion.",
      "example": "Slope stability in a soil mass.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Mohr%E2%80%93Coulomb+model",
      "math": {
        "equation": "τf = c + σn tanφ",
        "derivation": [
          "Resolve normal and shear tractions on a possible failure plane.",
          "Assume frictional resistance grows linearly with compressive normal stress.",
          "Add cohesion c to obtain the failure envelope."
        ],
        "assumptions": "σn is compression-positive, φ friction angle. Tensile cutoff, dilation and plastic flow require additional assumptions.",
        "tex": "\\tau_f=c+\\sigma_n\\tan\\phi"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Soil retaining structures",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "johnsoncook-model",
      "name": "Johnson–Cook model",
      "description": "Uses empirical strain, strain-rate and temperature factors.",
      "example": "High-rate metal forming analysis.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Johnson%E2%80%93Cook+model",
      "math": {
        "equation": "σy = (A+Bεpⁿ)[1+C ln(ε̇p/ε̇₀)][1−(T*)ᵐ]",
        "derivation": [
          "Separate empirical effects of strain hardening, strain-rate sensitivity and thermal softening.",
          "Fit each factor to suitable tests.",
          "Multiply the factors to obtain flow stress over the calibrated regime."
        ],
        "assumptions": "T*=(T−Tref)/(Tmelt−Tref), usually bounded to an intended range. This is an empirical constitutive law, not a first-principles derivation.",
        "tex": "\\sigma_y=(A+B\\varepsilon_p^n)[1+C\\ln(\\dot\\varepsilon_p/\\dot\\varepsilon_0)][1-(T^*)^m]"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "High-speed metal-forming simulations",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "crystal-plasticity",
      "name": "Crystal plasticity",
      "description": "Represents plastic flow through crystallographic slip systems.",
      "example": "Orientation-dependent response of a polycrystal.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Crystal+plasticity",
      "math": {
        "equation": "Lp = Σα γ̇α sα⊗mα; τᵅ = σ:(sα⊗mα)",
        "derivation": [
          "Decompose deformation into elastic lattice distortion and crystallographic slip.",
          "Resolve stress onto each slip direction sα and plane normal mα.",
          "Use slip-rate and hardening laws to assemble the plastic velocity gradient Lp."
        ],
        "assumptions": "Representative small-elastic-strain slip-system form; finite-strain stress measures and lattice rotation require a consistent formulation.",
        "tex": "L_p=\\sum_\\alpha\\dot\\gamma^\\alpha s^\\alpha\\otimes m^\\alpha; \\tau^\\alpha=\\sigma:(s^\\alpha\\otimes m^\\alpha)"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Polycrystalline alloy design tools",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — modeling modules and technical documentation",
          "url": "https://mooseframework.inl.gov/modules/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "maxwell-viscoelastic-model",
      "name": "Maxwell viscoelastic model",
      "description": "Combines an elastic spring and viscous dashpot in series.",
      "example": "Stress relaxation of a viscoelastic material.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Maxwell+viscoelastic+model",
      "math": {
        "equation": "ε̇ = σ̇/E + σ/η",
        "derivation": [
          "Put a spring and dashpot in series so they share the same stress.",
          "Add their strains.",
          "Differentiate and use the elastic and viscous constitutive laws."
        ],
        "assumptions": "For fixed total strain, stress decays with relaxation time η/E. E is spring modulus and η dashpot viscosity.",
        "tex": "\\dot\\varepsilon=\\frac{\\dot\\sigma}{E}+\\frac\\sigma\\eta"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Viscoelastic polymer components",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "kelvinvoigt-model",
      "name": "Kelvin–Voigt model",
      "description": "Combines an elastic spring and viscous dashpot in parallel.",
      "example": "Delayed deformation under sustained loading.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Kelvin%E2%80%93Voigt+model",
      "math": {
        "equation": "σ = Eε + ηε̇",
        "derivation": [
          "Put a spring and dashpot in parallel so they share strain.",
          "Add their stresses.",
          "Substitute Hooke and Newton constitutive laws."
        ],
        "assumptions": "A constant stress produces delayed creep toward σ/E with time constant η/E; ideal instantaneous strain jumps require infinite dashpot stress.",
        "tex": "\\sigma=E\\varepsilon+\\eta\\dot\\varepsilon"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Vibration-isolating polymer mounts",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "standard-linear-solid",
      "name": "Standard linear solid",
      "description": "Combines elastic and viscoelastic branches.",
      "example": "Creep and relaxation over one characteristic time scale.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Standard+linear+solid",
      "math": {
        "equation": "σ + (η/E₁)σ̇ = E₀ε + η(1+E₀/E₁)ε̇",
        "derivation": [
          "Place an equilibrium spring E₀ in parallel with a Maxwell branch E₁,η.",
          "Write total stress as E₀ε plus the branch stress.",
          "Eliminate branch stress using the Maxwell constitutive equation."
        ],
        "assumptions": "This standard-linear-solid arrangement has instantaneous modulus E₀+E₁ and long-time modulus E₀.",
        "tex": "\\sigma+\\frac\\eta{E_1}\\dot\\sigma=E_0\\varepsilon+\\eta(1+E_0/E_1)\\dot\\varepsilon"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Damping pads",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "norton-creep-law",
      "name": "Norton creep law",
      "description": "Relates creep rate to a power of stress.",
      "example": "Long-term deformation of a hot metal component.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Norton+creep+law",
      "math": {
        "equation": "ε̇c = Aσⁿ exp[−Q/(RT)]",
        "derivation": [
          "Represent thermally activated creep with an Arrhenius temperature factor.",
          "Fit a power-law dependence on stress.",
          "Combine the two to describe a calibrated steady creep regime."
        ],
        "assumptions": "Uniaxial Norton-type law; A,n,Q depend on material and mechanism. Primary and tertiary creep need other terms.",
        "tex": "\\dot\\varepsilon_c=A\\sigma^n\\exp[-Q/(RT)]"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "High-temperature turbine components",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "linear-elastic-fracture-mechanics-lefm",
      "name": "Linear elastic fracture mechanics (LEFM)",
      "description": "Uses crack-tip intensity parameters in an elastic body.",
      "example": "Crack assessment when plastic zones remain small.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Linear+elastic+fracture+mechanics+%28LEFM%29",
      "math": {
        "equation": "σᵢⱼ ≈ KI fᵢⱼ(θ)/√(2πr); G = KI²/E′",
        "derivation": [
          "Solve elasticity near a crack tip and retain the leading singular field.",
          "Its amplitude is the mode-I stress intensity KI.",
          "Relate the field energy release to KI using elastic energy balance."
        ],
        "assumptions": "E′=E for plane stress and E/(1−ν²) for plane strain. Small-scale yielding and an appropriate crack geometry are required.",
        "tex": "\\sigma_{ij}\\approx\\frac{K_I f_{ij}(\\theta)}{\\sqrt{2\\pi r}}; G=\\frac{K_I^2}{E'}"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Crack-assessment software",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "cohesive-zone-model",
      "name": "Cohesive-zone model",
      "description": "Uses traction-separation relations across a fracture process zone.",
      "example": "Adhesive debonding.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Cohesive-zone+model",
      "math": {
        "equation": "t = t(δ); Gc = ∫₀^δf t(δ)dδ",
        "derivation": [
          "Replace a singular crack-tip region with a finite traction-separation law.",
          "Allow traction t to rise and then soften as separation δ grows.",
          "The area under the curve gives the energy required to create unit crack area."
        ],
        "assumptions": "Representative single-mode cohesive law; mixed-mode interaction, unloading and irreversibility need specifications.",
        "tex": "t=t(\\delta); G_c=\\int_0^{\\delta_f}t(\\delta)\\,d\\delta"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Bonded composite joints",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "phase-field-fracture-model",
      "name": "Phase-field fracture model",
      "description": "Represents cracks with a continuous damage-like field.",
      "example": "Crack initiation and branching.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Phase-field+fracture+model",
      "math": {
        "equation": "Π = ∫[g(d)ψe(ε)+Gc(d²/(2ℓ)+ℓ∣∇d∣²/2)]dV − Wext",
        "derivation": [
          "Approximate a sharp crack surface energy with a diffuse damage field d.",
          "Degrade elastic energy using g(d).",
          "Vary the total energy with respect to displacement and damage, imposing irreversibility."
        ],
        "assumptions": "Representative AT2 phase-field fracture energy; ℓ controls regularization width. Tension-compression splitting and history treatment affect results.",
        "tex": "\\Pi=\\int[g(d)\\psi_e(\\varepsilon)+G_c(d^2/(2\\ell)+\\ell|\\nabla d|^2/2)]\\,dV-W_{\\mathrm{ext}}"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Fracture simulation packages",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — Phase Field Module, equations and references",
          "url": "https://mooseframework.inl.gov/modules/phase_field/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "paris-fatigue-crack-growth-law",
      "name": "Paris fatigue crack-growth law",
      "description": "Relates cyclic crack-growth rate to stress-intensity-factor range.",
      "example": "Growth of an existing crack under cyclic loading.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Paris+fatigue+crack-growth+law",
      "math": {
        "equation": "da/dN = C(ΔK)ᵐ",
        "derivation": [
          "Measure crack extension per loading cycle in the stable growth region.",
          "Plot growth rate against stress-intensity range on logarithmic axes.",
          "Fit the approximately linear region to obtain C and m."
        ],
        "assumptions": "Empirical Paris law; it excludes near-threshold and near-instability behavior unless extended. Load ratio and environment matter.",
        "tex": "\\frac{da}{dN}=C(\\Delta K)^m"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Fatigue inspection-planning software",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Fatigue Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.fatigue/FatigueModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "miner-cumulative-damage-rule",
      "name": "Miner cumulative damage rule",
      "description": "Adds fractions of fatigue life consumed by load cycles.",
      "example": "Approximate damage under variable-amplitude loading.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Miner+cumulative+damage+rule",
      "math": {
        "equation": "D = Σᵢ nᵢ/Nᵢ; nominal failure at D≈1",
        "derivation": [
          "Estimate constant-amplitude life Nᵢ for each load level.",
          "Treat nᵢ cycles at that level as consuming fraction nᵢ/Nᵢ of life.",
          "Add fractions across the load history."
        ],
        "assumptions": "Linear Miner accumulation ignores sequence and interaction effects; D=1 is an engineering approximation, not a universal threshold.",
        "tex": "D=\\sum_i\\frac{n_i}{N_i}; \\text{nominal failure at }D\\approx1"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Variable-load fatigue assessment tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Fatigue Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.fatigue/FatigueModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "archard-wear-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "archard-wear-model",
      "name": "Archard wear model",
      "description": "Relates wear volume to load, sliding distance and hardness.",
      "example": "Material loss from sliding contact.",
      "discipline": "Plasticity, damage & durability",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Constitutive parameters depend on material and loading history; fatigue and failure extrapolations need independent validation.",
      "google_search": "https://www.google.com/search?q=Archard+wear+model",
      "math": {
        "equation": "Vwear = KWs/H",
        "derivation": [
          "Assume material loss scales with normal load W and sliding distance s.",
          "Normalize by hardness H to reflect resistance to plastic contact deformation.",
          "Introduce empirical dimensionless wear coefficient K."
        ],
        "assumptions": "Archard mild-wear form; mechanisms, lubrication and changing contact conditions can invalidate a constant K.",
        "tex": "V_{\\mathrm{wear}}=\\frac{KWs}{H}"
      },
      "application": {
        "area": "Plasticity, damage & durability",
        "product_examples": "Sliding bearings and wear-resistant coatings",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Archard — Contact and rubbing of flat surfaces (1953)",
          "url": "https://doi.org/10.1063/1.1721448"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "von-mises-j2-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tresca-yield-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "druckerprager-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mohrcoulomb-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "johnsoncook-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "crystal-plasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "maxwell-viscoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kelvinvoigt-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "standard-linear-solid",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "norton-creep-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-elastic-fracture-mechanics-lefm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "cohesive-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "phase-field-fracture-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "paris-fatigue-crack-growth-law",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "miner-cumulative-damage-rule",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "newtoneuler-rigid-body-model",
      "name": "Newton–Euler rigid-body model",
      "description": "Balances forces and moments on translating and rotating bodies.",
      "example": "Motion of a robot link.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Newton%E2%80%93Euler+rigid-body+model",
      "math": {
        "equation": "m a = ΣF; Iω̇ + ω×(Iω) = ΣM",
        "derivation": [
          "Apply linear momentum balance to the center of mass.",
          "Apply angular momentum balance about that center.",
          "Express angular momentum in body coordinates, introducing the rotating-frame cross product."
        ],
        "assumptions": "Rigid-body inertia tensor I is constant in body coordinates; forces and moments must be expressed consistently.",
        "tex": "ma=\\sum F; I\\dot\\omega+\\omega\\times(I\\omega)=\\sum M"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Industrial robotic arms",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT — Underactuated Robotics, dynamics and control",
          "url": "https://underactuated.mit.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        }
      ],
      "relationships": [
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lagrangian-mechanics",
      "name": "Lagrangian mechanics",
      "description": "Derives motion from kinetic and potential energy with constraints.",
      "example": "Equations of motion for a pendulum mechanism.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Lagrangian+mechanics",
      "math": {
        "equation": "d/dt(∂L/∂q̇ᵢ) − ∂L/∂qᵢ = Qᵢ; L=T−V",
        "derivation": [
          "Write action as the time integral of kinetic minus potential energy.",
          "Vary the path while holding its endpoints fixed.",
          "Integrate by parts and include nonconservative generalized forces Qᵢ."
        ],
        "assumptions": "qᵢ are generalized coordinates; constraints must be eliminated or enforced with multipliers.",
        "tex": "\\frac d{dt}\\left(\\frac{\\partial L}{\\partial\\dot q_i}\\right)-\\frac{\\partial L}{\\partial q_i}=Q_i; L=T-V"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Articulated mechanisms",
        "implementation": {
          "name": "Modelica Standard Library",
          "url": "https://doc.modelica.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT — Underactuated Robotics, dynamics and control",
          "url": "https://underactuated.mit.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        }
      ],
      "relationships": [
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hamiltonian-mechanics",
      "name": "Hamiltonian mechanics",
      "description": "Describes dynamics in generalized coordinates and momenta.",
      "example": "Phase-space analysis of a conservative system.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Hamiltonian+mechanics",
      "math": {
        "equation": "q̇ᵢ = ∂H/∂pᵢ; ṗᵢ = −∂H/∂qᵢ",
        "derivation": [
          "Define momenta pᵢ = ∂L/∂q̇ᵢ.",
          "Perform the Legendre transform H=Σpᵢq̇ᵢ−L.",
          "Rearrange the Euler–Lagrange equations into first-order phase-space equations."
        ],
        "assumptions": "The usual transform assumes a nondegenerate velocity Hessian; constrained systems require extra treatment.",
        "tex": "\\dot q_i=\\frac{\\partial H}{\\partial p_i}; \\dot p_i=-\\frac{\\partial H}{\\partial q_i}"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Conservative-dynamics simulation tools",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        }
      ],
      "relationships": [
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "massspringdamper-model",
      "name": "Mass–spring–damper model",
      "description": "Represents inertia, stiffness and dissipation with lumped elements.",
      "example": "Vibration isolation of a machine.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Mass%E2%80%93spring%E2%80%93damper+model",
      "math": {
        "equation": "m ẍ + c ẋ + kx = F(t)",
        "derivation": [
          "Identify inertial, viscous and elastic forces on a lumped mass.",
          "Use −cẋ and −kx as resisting forces.",
          "Apply Newton’s second law and collect terms."
        ],
        "assumptions": "Linear single-degree-of-freedom model; c is viscous damping, k stiffness and F external force.",
        "tex": "m\\ddot x+c\\dot x+kx=F(t)"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Machine vibration isolators",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT — Underactuated Robotics, dynamics and control",
          "url": "https://underactuated.mit.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        }
      ],
      "relationships": [
        {
          "target": "quarter-car-suspension-model",
          "type": "Forms building blocks for",
          "note": "Sprung and unsprung masses couple through springs and dampers."
        },
        {
          "target": "duffing-oscillator",
          "type": "Has nonlinear extension",
          "note": "Adds a cubic restoring-force term to the oscillator equation."
        },
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "modal-superposition-model",
      "name": "Modal superposition model",
      "description": "Expands linear structural response into vibration modes.",
      "example": "Building response to dynamic loads.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Modal+superposition+model",
      "math": {
        "equation": "u = Φq; Mᵣq̈+Cᵣq̇+Kᵣq = Φᵀf",
        "derivation": [
          "Solve the generalized eigenproblem Kφ=ω²Mφ.",
          "Expand displacement in selected eigenvectors Φ.",
          "Project the full equations onto their span; proportional damping gives decoupled modal equations."
        ],
        "assumptions": "Linear system with consistent mass and stiffness; truncated modes omit part of the dynamic response.",
        "tex": "u=\\Phi q; M_r\\ddot q+C_r\\dot q+K_rq=\\Phi^{\\mathsf T}f"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Building vibration-analysis software",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        }
      ],
      "relationships": [
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "duffing-oscillator",
      "name": "Duffing oscillator",
      "description": "Adds nonlinear stiffness to an oscillator.",
      "example": "Amplitude-dependent resonance.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Duffing+oscillator",
      "math": {
        "equation": "m ẍ + c ẋ + kx + αx³ = F cosΩt",
        "derivation": [
          "Expand a symmetric restoring force around equilibrium.",
          "Keep its linear and leading cubic terms.",
          "Add inertia, damping and periodic forcing."
        ],
        "assumptions": "Duffing model; α controls hardening or softening. A negative cubic term alone does not define a globally stable potential.",
        "tex": "m\\ddot x+c\\dot x+kx+\\alpha x^3=F\\cos\\Omega t"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Nonlinear resonator devices",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        },
        {
          "name": "Pseudo-arclength continuation",
          "url": "https://iicsm.org/numericalmodeling/#pseudo-arclength-continuation",
          "role": "Branch following",
          "note": "For equilibrium branches or parameter sweeps near turning points; it is not a time integrator.",
          "context": "Tracks solution branches through turning points by augmenting the nonlinear system."
        }
      ],
      "relationships": [
        {
          "target": "massspringdamper-model",
          "type": "Nonlinear extension of",
          "note": "Adds a cubic restoring-force term to the oscillator equation."
        },
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "multibody-dynamics",
      "name": "Multibody dynamics",
      "description": "Couples rigid or flexible bodies through joints and force elements.",
      "example": "Vehicle suspension motion.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Multibody+dynamics",
      "math": {
        "equation": "M(q)q̈ + h(q,q̇) = Q + J(q)ᵀλ; Φ(q)=0",
        "derivation": [
          "Write the kinetic energy of all bodies in generalized coordinates.",
          "Apply Lagrange’s equations.",
          "Enforce joint constraints Φ with multipliers λ and constraint Jacobian J."
        ],
        "assumptions": "Rigid or flexible bodies need appropriate coordinates and constitutive forces; numerical constraint drift must be managed.",
        "tex": "M(q)\\ddot q+h(q,\\dot q)=Q+J(q)^{\\mathsf T}\\lambda; \\Phi(q)=0"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Vehicle suspensions",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT — Underactuated Robotics, dynamics and control",
          "url": "https://underactuated.mit.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Classical Runge-Kutta RK4",
          "url": "https://iicsm.org/numericalmodeling/#classical-runge-kutta-rk4",
          "role": "Time integration",
          "note": "For smooth nonstiff ODEs with a carefully selected fixed step; perform a time-step convergence study.",
          "context": "Combines four explicit slope evaluations in a fourth-order step."
        }
      ],
      "relationships": [
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "linear-acoustic-wave-model",
      "name": "Linear acoustic wave model",
      "description": "Describes small pressure perturbations about an equilibrium state.",
      "example": "Sound propagation in air.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Linear+acoustic+wave+model",
      "math": {
        "equation": "∂²p′/∂t² = c²∇²p′",
        "derivation": [
          "Linearize continuity and momentum about a stationary uniform fluid.",
          "Close small density perturbations with p′=c²ρ′.",
          "Differentiate continuity in time and eliminate velocity divergence."
        ],
        "assumptions": "Small-amplitude lossless acoustics in a uniform medium; background flow and dissipation add terms.",
        "tex": "\\frac{\\partial^2p'}{\\partial t^2}=c^2\\nabla^2p'"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Acoustic ducts",
        "implementation": {
          "name": "COMSOL Multiphysics — Acoustics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Acoustics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Discontinuous Galerkin method",
          "url": "https://iicsm.org/numericalmodeling/#discontinuous-galerkin-method",
          "role": "Discretization",
          "note": "For element-local high-order transport or wave formulations; stable interface fluxes and time steps are essential.",
          "context": "Combines element-local trial functions with numerical fluxes across interfaces."
        },
        {
          "name": "Boundary element method",
          "url": "https://iicsm.org/numericalmodeling/#boundary-element-method",
          "role": "Boundary formulation",
          "note": "For a linear homogeneous-domain formulation with a known fundamental solution; general nonlinear/inhomogeneous problems need extensions.",
          "context": "Transfers suitable linear PDE problems to boundary integral equations."
        }
      ],
      "relationships": [
        {
          "target": "helmholtz-acoustic-model",
          "type": "Has time-harmonic form",
          "note": "Assume sinusoidal time dependence at a fixed frequency."
        },
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "helmholtz-acoustic-model",
      "name": "Helmholtz acoustic model",
      "description": "Represents harmonic acoustic fields at one frequency.",
      "example": "Resonance of a cavity.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Helmholtz+acoustic+model",
      "math": {
        "equation": "∇²P + k²P = 0; k=ω/c",
        "derivation": [
          "Assume a harmonic pressure p′=Re[P(x)e^(−iωt)].",
          "Substitute it into the acoustic wave equation.",
          "Cancel the common time factor to obtain a spatial Helmholtz equation."
        ],
        "assumptions": "Frequency-domain homogeneous-medium form; impedance and radiation boundary conditions determine the solution.",
        "tex": "\\nabla^2P+k^2P=0; k=\\frac\\omega c"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Acoustic resonators",
        "implementation": {
          "name": "COMSOL Multiphysics — Acoustics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Acoustics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Discontinuous Galerkin method",
          "url": "https://iicsm.org/numericalmodeling/#discontinuous-galerkin-method",
          "role": "Discretization",
          "note": "For element-local high-order transport or wave formulations; stable interface fluxes and time steps are essential.",
          "context": "Combines element-local trial functions with numerical fluxes across interfaces."
        },
        {
          "name": "Boundary element method",
          "url": "https://iicsm.org/numericalmodeling/#boundary-element-method",
          "role": "Boundary formulation",
          "note": "For a linear homogeneous-domain formulation with a known fundamental solution; general nonlinear/inhomogeneous problems need extensions.",
          "context": "Transfers suitable linear PDE problems to boundary integral equations."
        }
      ],
      "relationships": [
        {
          "target": "linear-acoustic-wave-model",
          "type": "Time-harmonic form of",
          "note": "Assume sinusoidal time dependence at a fixed frequency."
        },
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "transmission-line-acoustic-model",
      "name": "Transmission-line acoustic model",
      "description": "Uses distributed wave propagation in a narrow duct or tube.",
      "example": "Sound in a muffler passage.",
      "discipline": "Dynamics, vibration & acoustics",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Linearization, damping and boundary conditions control accuracy; large motion or strong nonlinearities need richer models.",
      "google_search": "https://www.google.com/search?q=Transmission-line+acoustic+model",
      "math": {
        "equation": "∂xp = −L′∂tQ; ∂xQ = −C′∂tp",
        "derivation": [
          "Average acoustic pressure and volume velocity over a narrow duct cross section.",
          "Apply axial momentum and compressibility balances to a short segment.",
          "Identify inertance L′=ρ/A and compliance C′=A/(ρc²) per length."
        ],
        "assumptions": "Lossless plane-wave duct approximation; friction, thermal losses and higher modes require extensions.",
        "tex": "\\partial_xp=-L'\\partial_tQ; \\partial_xQ=-C'\\partial_tp"
      },
      "application": {
        "area": "Dynamics, vibration & acoustics",
        "product_examples": "Mufflers and instrument tubes",
        "implementation": {
          "name": "COMSOL Multiphysics — Acoustics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Acoustics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Discontinuous Galerkin method",
          "url": "https://iicsm.org/numericalmodeling/#discontinuous-galerkin-method",
          "role": "Discretization",
          "note": "For element-local high-order transport or wave formulations; stable interface fluxes and time steps are essential.",
          "context": "Combines element-local trial functions with numerical fluxes across interfaces."
        },
        {
          "name": "Boundary element method",
          "url": "https://iicsm.org/numericalmodeling/#boundary-element-method",
          "role": "Boundary formulation",
          "note": "For a linear homogeneous-domain formulation with a known fundamental solution; general nonlinear/inhomogeneous problems need extensions.",
          "context": "Transfers suitable linear PDE problems to boundary integral equations."
        }
      ],
      "relationships": [
        {
          "target": "newtoneuler-rigid-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lagrangian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hamiltonian-mechanics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "massspringdamper-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modal-superposition-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "duffing-oscillator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "multibody-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "linear-acoustic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "helmholtz-acoustic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "maxwell-electromagnetic-model",
      "name": "Maxwell electromagnetic model",
      "description": "Couples electric and magnetic fields with charges and currents.",
      "example": "Electromagnetic waves in an antenna system.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Maxwell+electromagnetic+model",
      "math": {
        "equation": "∇·D=ρf; ∇·B=0; ∇×E=−∂tB; ∇×H=Jf+∂tD",
        "derivation": [
          "Express electric and magnetic flux laws in differential form.",
          "Combine Faraday induction with Ampère’s law including displacement current.",
          "Close the system with material relations such as D=εE and B=μH."
        ],
        "assumptions": "ρf and Jf are free charge and current; these fundamental laws require material and boundary data rather than a derivation from a simpler classical model.",
        "tex": "\\nabla\\cdot D=\\rho_f; \\nabla\\cdot B=0; \\nabla\\times E=-\\partial_tB; \\nabla\\times H=J_f+\\partial_tD"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Antennas",
        "implementation": {
          "name": "COMSOL Multiphysics — AC/DC Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — AC/DC Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Can be solved by",
          "note": "Discretizes the time-dependent curl equations on a staggered grid."
        },
        {
          "target": "magnetostatic-model",
          "type": "Has magnetostatic reduction",
          "note": "Assumes time-independent fields and currents."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Has electrostatic reduction",
          "note": "Uses a scalar potential for a static electric field with a permittivity law."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "electrostatic-poisson-model",
      "name": "Electrostatic Poisson model",
      "description": "Relates electric potential to charge density.",
      "example": "Electric field inside a capacitor.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Electrostatic+Poisson+model",
      "math": {
        "equation": "∇·(ε∇φ) = −ρf; E = −∇φ",
        "derivation": [
          "Assume no time-varying magnetic induction so ∇×E=0.",
          "Introduce scalar electric potential φ.",
          "Substitute D=εE into Gauss’s law."
        ],
        "assumptions": "Spatially varying or anisotropic ε can remain inside the divergence; nonlinear dielectric response requires a corresponding constitutive law.",
        "tex": "\\nabla\\cdot(\\varepsilon\\nabla\\phi)=-\\rho_f; E=-\\nabla\\phi"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Capacitors",
        "implementation": {
          "name": "COMSOL Multiphysics — AC/DC Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — AC/DC Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Boundary element method",
          "url": "https://iicsm.org/numericalmodeling/#boundary-element-method",
          "role": "Boundary formulation",
          "note": "For a linear homogeneous-domain formulation with a known fundamental solution; general nonlinear/inhomogeneous problems need extensions.",
          "context": "Transfers suitable linear PDE problems to boundary integral equations."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Geometric multigrid",
          "url": "https://iicsm.org/numericalmodeling/#geometric-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable elliptic operators with a mesh hierarchy and compatible transfer operators and smoothers.",
          "context": "Removes error at multiple mesh resolutions."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Electrostatic reduction of",
          "note": "Uses a scalar potential for a static electric field with a permittivity law."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "magnetostatic-model",
      "name": "Magnetostatic model",
      "description": "Represents steady magnetic fields driven by currents and magnetization.",
      "example": "A direct-current electromagnet.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Magnetostatic+model",
      "math": {
        "equation": "∇×H=J; ∇·B=0; B=μH",
        "derivation": [
          "Set time derivatives to zero in Maxwell’s equations.",
          "Preserve current-driven magnetic circulation and absence of magnetic monopoles.",
          "Combine with a magnetic material law and, if useful, a vector potential B=∇×A."
        ],
        "assumptions": "Steady-current model; saturation and hysteresis require nonlinear or path-dependent material relations.",
        "tex": "\\nabla\\times H=J; \\nabla\\cdot B=0; B=\\mu H"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Electromagnets",
        "implementation": {
          "name": "COMSOL Multiphysics — AC/DC Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — AC/DC Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Boundary element method",
          "url": "https://iicsm.org/numericalmodeling/#boundary-element-method",
          "role": "Boundary formulation",
          "note": "For a linear homogeneous-domain formulation with a known fundamental solution; general nonlinear/inhomogeneous problems need extensions.",
          "context": "Transfers suitable linear PDE problems to boundary integral equations."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Geometric multigrid",
          "url": "https://iicsm.org/numericalmodeling/#geometric-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable elliptic operators with a mesh hierarchy and compatible transfer operators and smoothers.",
          "context": "Removes error at multiple mesh resolutions."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Magnetostatic reduction of",
          "note": "Assumes time-independent fields and currents."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "eddy-current-model",
      "name": "Eddy-current model",
      "description": "Models induced conducting currents in a time-varying magnetic field.",
      "example": "Induction heating in a metal workpiece.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Eddy-current+model",
      "math": {
        "equation": "∇×(μ⁻¹∇×A)+σ(∂tA+∇φ)=Js",
        "derivation": [
          "Write B=∇×A and E=−∂tA−∇φ.",
          "Use Ohm’s law Jeddy=σE.",
          "Substitute into Ampère’s law while neglecting displacement current."
        ],
        "assumptions": "Quasistatic conducting-medium form; gauge conditions and charge conservation are needed to determine A and φ.",
        "tex": "\\nabla\\times(\\mu^{-1}\\nabla\\times A)+\\sigma(\\partial_tA+\\nabla\\phi)=J_s"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Induction heating coils",
        "implementation": {
          "name": "COMSOL Multiphysics — AC/DC Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — AC/DC Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "GMRES",
          "url": "https://iicsm.org/numericalmodeling/#gmres",
          "role": "Linear solve",
          "note": "For nonsymmetric linearized or discretized systems; plan preconditioning and restart/storage settings.",
          "context": "Minimizes the residual over a Krylov subspace for nonsymmetric systems."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "magnetic-circuit-model",
      "name": "Magnetic-circuit model",
      "description": "Uses reluctance and magnetomotive force in lumped magnetic paths.",
      "example": "Preliminary transformer-core design.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Magnetic-circuit+model",
      "math": {
        "equation": "Φ = NI/ℜ; ℜ = ℓ/(μA)",
        "derivation": [
          "Integrate Ampère’s law around a magnetic path.",
          "Assume approximately uniform flux through cross-sectional area A.",
          "Combine B=μH with Φ=BA to obtain the reluctance relation."
        ],
        "assumptions": "NI is magnetomotive force; leakage, fringing, saturation and multiple flux paths require corrections or a network.",
        "tex": "\\Phi=\\frac{NI}{\\mathcal R}; \\mathcal R=\\frac\\ell{\\mu A}"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Transformers",
        "implementation": {
          "name": "COMSOL Multiphysics — AC/DC Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — AC/DC Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "jilesatherton-hysteresis-model",
      "name": "Jiles–Atherton hysteresis model",
      "description": "Represents path-dependent magnetization with phenomenological parameters.",
      "example": "Magnetic hysteresis in a ferromagnetic core.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Jiles%E2%80%93Atherton+hysteresis+model",
      "math": {
        "equation": "Man = Ms[coth(He/a)−a/He]; He=H+αM",
        "derivation": [
          "Use an anhysteretic magnetization curve as the reversible equilibrium target.",
          "Introduce effective-field coupling and a pinning-controlled irreversible component.",
          "Combine reversible and irreversible magnetization to generate history-dependent loops."
        ],
        "assumptions": "This is the anhysteretic backbone of Jiles–Atherton, not the complete hysteresis law; pinning k, reversibility c and branch rules are also required.",
        "tex": "M_{\\mathrm{an}}=M_s[\\coth(H_e/a)-a/H_e]; H_e=H+\\alpha M"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Ferromagnetic inductors",
        "implementation": {
          "name": "COMSOL Multiphysics — AC/DC Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — AC/DC Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.acdc/ACDCModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "geometrical-optics",
      "name": "Geometrical optics",
      "description": "Approximates light propagation as rays.",
      "example": "Lens-system ray tracing.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Geometrical+optics",
      "math": {
        "equation": "∣∇S∣²=n²; d(n dr/ds)/ds = ∇n",
        "derivation": [
          "Insert a rapidly oscillating wave ansatz into the wave equation.",
          "Keep the leading short-wavelength terms to obtain the eikonal equation.",
          "Rays follow normals to phase surfaces and obey the ray equation."
        ],
        "assumptions": "S is optical phase path, n refractive index and s arc length; diffraction is neglected when wavelength is small relative to geometry.",
        "tex": "|\\nabla S|^2=n^2; \\frac d{ds}(n\\frac{dr}{ds})=\\nabla n"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Camera lenses",
        "implementation": {
          "name": "COMSOL Multiphysics — Ray Optics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.roptics/roptics_ug_optics.6.50.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Theory for the Geometrical Optics Interface",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.roptics/roptics_ug_optics.6.50.html"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "scalar-diffraction-model",
      "name": "Scalar diffraction model",
      "description": "Uses a scalar wave approximation for light diffraction.",
      "example": "Diffraction through a small aperture.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Scalar+diffraction+model",
      "math": {
        "equation": "U(P) ≈ (1/iλ) ∫aperture U(Q)e^(ikr)/r · K(θ) dA",
        "derivation": [
          "Represent a scalar wave as contributions from an aperture boundary.",
          "Apply a Green-function surface integral and suitable aperture approximations.",
          "Sum secondary-wave contributions with phase delay and an obliquity factor K."
        ],
        "assumptions": "Representative diffraction integral; assumptions differ among Kirchhoff, Fresnel and Fraunhofer forms. Polarization is neglected.",
        "tex": "U(P)\\approx\\frac1{i\\lambda}\\int_{\\mathrm{aperture}}U(Q)\\frac{e^{ikr}}r K(\\theta)\\,dA"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Diffraction gratings",
        "implementation": {
          "name": "COMSOL Multiphysics — Wave Optics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.woptics/WaveOpticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Wave Optics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.woptics/WaveOpticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Spectral collocation",
          "url": "https://iicsm.org/numericalmodeling/#spectral-collocation",
          "role": "Smooth-field discretization",
          "note": "For sufficiently smooth fields in compatible geometries; use suitable bases, dealiasing, and boundary treatment.",
          "context": "Approximates smooth fields globally and enforces the equation at selected nodes."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "gaussian-beam-model",
      "name": "Gaussian beam model",
      "description": "Represents a paraxial beam with a Gaussian transverse profile.",
      "example": "Focusing a laser beam.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Gaussian+beam+model",
      "math": {
        "equation": "w(z)=w₀√[1+(z/zR)²]; zR=πw₀²/λ",
        "derivation": [
          "Factor a rapidly varying axial phase from a scalar wave.",
          "Neglect the second axial derivative of the slowly varying envelope to get the paraxial equation.",
          "A Gaussian ansatz gives the beam-width law and Rayleigh range."
        ],
        "assumptions": "Fundamental Gaussian beam in a uniform medium; λ is the wavelength in that medium and w₀ the beam waist.",
        "tex": "w(z)=w_0\\sqrt{1+(z/z_R)^2}; z_R=\\frac{\\pi w_0^2}\\lambda"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Laser focusing systems",
        "implementation": {
          "name": "COMSOL Multiphysics — Wave Optics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.woptics/WaveOpticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Wave Optics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.woptics/WaveOpticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "drudelorentz-optical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "drudelorentz-optical-model",
      "name": "Drude–Lorentz optical model",
      "description": "Represents free-carrier and bound-charge contributions to permittivity.",
      "example": "Frequency-dependent optical response of a material.",
      "discipline": "Electromagnetics & optics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Frequency, geometry, dispersion and material response determine whether static, ray or full-wave approximations apply.",
      "google_search": "https://www.google.com/search?q=Drude%E2%80%93Lorentz+optical+model",
      "math": {
        "equation": "ε(ω)=ε∞−ωp²/(ω²+iγω)+Σj fj/(ωj²−ω²−iγjω)",
        "derivation": [
          "Model free carriers with a damped driven equation lacking a restoring force.",
          "Model bound charges as damped driven oscillators.",
          "Solve for polarization and add its contributions to permittivity."
        ],
        "assumptions": "Convention e^(−iωt); fj are oscillator strengths with compatible units. Parameters must be fitted to the relevant frequency range.",
        "tex": "\\varepsilon(\\omega)=\\varepsilon_\\infty-\\frac{\\omega_p^2}{\\omega^2+i\\gamma\\omega}+\\sum_j\\frac{f_j}{\\omega_j^2-\\omega^2-i\\gamma_j\\omega}"
      },
      "application": {
        "area": "Electromagnetics & optics",
        "product_examples": "Optical coatings and plasmonic materials",
        "implementation": {
          "name": "COMSOL Multiphysics — Wave Optics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.woptics/WaveOpticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Wave Optics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.woptics/WaveOpticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrostatic-poisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetostatic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "eddy-current-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetic-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "jilesatherton-hysteresis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "geometrical-optics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "scalar-diffraction-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-beam-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lumped-rlc-circuit-model",
      "name": "Lumped RLC circuit model",
      "description": "Uses resistors, capacitors and inductors connected by Kirchhoff laws.",
      "example": "A resonant electrical filter.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=Lumped+RLC+circuit+model",
      "math": {
        "equation": "L q̈ + R q̇ + q/C = Vin(t); i=q̇",
        "derivation": [
          "Apply Kirchhoff’s voltage law to a series resistor, inductor and capacitor.",
          "Use vR=Ri, vL=Ldi/dt and vC=q/C.",
          "Replace current by charge rate to obtain the second-order equation."
        ],
        "assumptions": "Representative series RLC circuit; lumped behavior assumes propagation delay is negligible.",
        "tex": "L\\ddot q+R\\dot q+q/C=V_{\\mathrm{in}}(t); i=\\dot q"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "RLC filters",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "ngspice — circuit and device-model manual",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "transmission-line-electrical-model",
      "name": "Transmission-line electrical model",
      "description": "Represents distributed inductance, capacitance and losses.",
      "example": "Signal propagation along a high-speed cable.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=Transmission-line+electrical+model",
      "math": {
        "equation": "∂xV=−R′I−L′∂tI; ∂xI=−G′V−C′∂tV",
        "derivation": [
          "Represent a short line segment by series resistance/inductance and shunt conductance/capacitance.",
          "Apply Kirchhoff laws.",
          "Divide by segment length and take its limit to obtain the telegrapher equations."
        ],
        "assumptions": "R′,L′,G′,C′ are per-length parameters; frequency dependence and multiple conductors may require matrix forms.",
        "tex": "\\partial_xV=-R'I-L'\\partial_tI; \\partial_xI=-G'V-C'\\partial_tV"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "High-speed signal cables",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "ngspice — circuit and device-model manual",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "shockley-diode-model",
      "name": "Shockley diode model",
      "description": "Approximates diode current with an exponential voltage relation.",
      "example": "Forward conduction of a junction diode.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=Shockley+diode+model",
      "math": {
        "equation": "I=Is[exp(V/(nVT))−1]; VT=kBT/q",
        "derivation": [
          "Use the junction voltage to change minority-carrier concentrations exponentially.",
          "Solve steady diffusion in the neutral regions.",
          "Add electron and hole diffusion currents to obtain an exponential current law."
        ],
        "assumptions": "Ideal diffusion diode has n≈1; practical ideality factor n captures limited departures. Breakdown, series resistance and high injection need extensions.",
        "tex": "I=I_s[\\exp(V/(nV_T))-1]; V_T=\\frac{k_BT}q"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "Rectifier diodes",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "ngspice — circuit and device-model manual",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ebersmoll-transistor-model",
      "name": "Ebers–Moll transistor model",
      "description": "Models coupled junction currents in a bipolar transistor.",
      "example": "Large-signal transistor circuit behavior.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=Ebers%E2%80%93Moll+transistor+model",
      "math": {
        "equation": "IC=αF IES(e^(VBE/VT)−1)−ICS(e^(VBC/VT)−1)",
        "derivation": [
          "Represent the emitter-base and collector-base junctions by coupled diode currents.",
          "Transport a fraction αF of the forward emitter injection to the collector.",
          "Subtract reverse collector-junction injection using a consistent terminal sign convention."
        ],
        "assumptions": "Representative NPN Ebers–Moll collector-current equation; companion emitter/base equations and reciprocity complete the model.",
        "tex": "I_C=\\alpha_F I_{\\mathrm{ES}}(e^{V_{\\mathrm{BE}}/V_T}-1)-I_{\\mathrm{CS}}(e^{V_{\\mathrm{BC}}/V_T}-1)"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "Bipolar transistor circuits",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "ngspice — circuit and device-model manual",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "mosfet-square-law-model",
      "name": "MOSFET square-law model",
      "description": "Approximates long-channel transistor current from terminal voltages.",
      "example": "First-order analog circuit calculations.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=MOSFET+square-law+model",
      "math": {
        "equation": "ID=μCox(W/L)[(VGS−VT)VDS−VDS²/2]; ID,sat=½μCox(W/L)(VGS−VT)²",
        "derivation": [
          "Use the gradual-channel approximation to express local inversion charge.",
          "Relate drift current to that charge and the channel voltage gradient.",
          "Integrate along the channel; pinch-off yields the saturation expression."
        ],
        "assumptions": "Long-channel MOSFET, VGS>VT, negligible channel-length modulation, constant mobility. VT here means threshold voltage.",
        "tex": "I_D=\\mu C_{\\mathrm{ox}}\\frac WL[(V_{\\mathrm{GS}}-V_T)V_{\\mathrm{DS}}-V_{\\mathrm{DS}}^2/2]; I_{D,\\mathrm{sat}}=\\frac12\\mu C_{\\mathrm{ox}}\\frac WL(V_{\\mathrm{GS}}-V_T)^2"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "Long-channel MOS transistor circuits",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "ngspice — circuit and device-model manual",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bsim-compact-model-family",
      "name": "BSIM compact-model family",
      "description": "Uses detailed parameterized MOS transistor relations.",
      "example": "Integrated-circuit simulation for a calibrated fabrication process.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=BSIM+compact-model+family",
      "math": {
        "equation": "ID = F(VGS,VDS,VBS,T; θ); Qi = Gi(VGS,VDS,VBS,T; θ)",
        "derivation": [
          "Start with channel charge and carrier transport physics.",
          "Introduce calibrated corrections for short-channel, mobility, leakage and geometry effects.",
          "Use consistent terminal charges to represent transient currents."
        ],
        "assumptions": "BSIM is a family of extensive compact models, not one universal formula. F and Gi denote the version-specific published equations and θ the process parameters.",
        "tex": "I_D=F(V_{\\mathrm{GS}},V_{\\mathrm{DS}},V_{\\mathrm{BS}},T;\\theta); Q_i=G_i(V_{\\mathrm{GS}},V_{\\mathrm{DS}},V_{\\mathrm{BS}},T;\\theta)"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "CMOS integrated-circuit design kits",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "ngspice — circuit and device-model manual",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "driftdiffusion-semiconductor-model",
      "name": "Drift–diffusion semiconductor model",
      "description": "Combines electrostatics with carrier drift, diffusion and continuity.",
      "example": "Charge transport through a semiconductor junction.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=Drift%E2%80%93diffusion+semiconductor+model",
      "math": {
        "equation": "Jn=qμn nE+qDn∇n; Jp=qμp pE−qDp∇p",
        "derivation": [
          "Combine carrier drift in the electric field with diffusion down concentration gradients.",
          "Convert electron and hole particle fluxes to conventional charge currents.",
          "Couple them to continuity and electrostatic Poisson equations."
        ],
        "assumptions": "n,p are carrier densities and q the positive elementary charge. Recombination, generation and boundary contacts must be specified.",
        "tex": "J_n=q\\mu_n nE+qD_n\\nabla n; J_p=q\\mu_p pE-qD_p\\nabla p"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "Silicon junction diodes",
        "implementation": {
          "name": "COMSOL Multiphysics — Semiconductor Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.semicond/SemiconductorModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Semiconductor Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.semicond/SemiconductorModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydrodynamic-carrier-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hydrodynamic-carrier-model",
      "name": "Hydrodynamic carrier model",
      "description": "Adds carrier-energy or momentum information to transport.",
      "example": "Hot-carrier behavior in short devices.",
      "discipline": "Circuits & semiconductor devices",
      "scale": "Micro / meso",
      "kind": "Physical model",
      "limitations": "Compact and transport models require appropriate device parameters; lumped circuits fail when propagation effects dominate.",
      "google_search": "https://www.google.com/search?q=Hydrodynamic+carrier+model",
      "math": {
        "equation": "∂tWn+∇·SW = Jn·E − (Wn−Wn,eq)/τE",
        "derivation": [
          "Take an energy moment of the carrier Boltzmann equation.",
          "Represent field work as Jn·E.",
          "Close the energy flux and scattering loss using a carrier-energy relaxation approximation."
        ],
        "assumptions": "Wn is carrier energy density, SW energy flux and τE relaxation time; hydrodynamic variants add momentum moments and different closures.",
        "tex": "\\partial_tW_n+\\nabla\\cdot S_W=J_n\\cdot E-\\frac{W_n-W_{n,\\mathrm{eq}}}{\\tau_E}"
      },
      "application": {
        "area": "Circuits & semiconductor devices",
        "product_examples": "Short-channel semiconductor device simulators",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Grasser et al. — A review of hydrodynamic and energy-transport models (2003)",
          "url": "https://www.iue.tuwien.ac.at/pdf/ib_2003/JB2003_Grasser_1.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "lumped-rlc-circuit-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transmission-line-electrical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shockley-diode-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ebersmoll-transistor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "mosfet-square-law-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bsim-compact-model-family",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "driftdiffusion-semiconductor-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "nernst-equilibrium-potential",
      "name": "Nernst equilibrium potential",
      "description": "Relates electrochemical equilibrium potential to species activities.",
      "example": "Open-circuit potential of a half-cell.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Nernst+equilibrium+potential",
      "math": {
        "equation": "E=E°−(RT/(nF))ln Q",
        "derivation": [
          "Write reaction Gibbs energy as ΔG=ΔG°+RTln Q.",
          "Relate reversible electrical work to −nFE.",
          "Combine the two expressions and define E°=−ΔG°/(nF)."
        ],
        "assumptions": "Q is the activity-based reaction quotient, n transferred electrons and F Faraday’s constant. Equilibrium is required.",
        "tex": "E=E^\\circ-\\frac{RT}{nF}\\ln Q"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Electrochemical reference electrodes",
        "implementation": {
          "name": "COMSOL Multiphysics — Electrochemistry Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Electrochemistry Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "butlervolmer-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tafel-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-battery-model-spm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "butlervolmer-kinetics",
      "name": "Butler–Volmer kinetics",
      "description": "Relates interfacial current to electrochemical overpotential.",
      "example": "Charge transfer at a battery electrode.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Butler%E2%80%93Volmer+kinetics",
      "math": {
        "equation": "j=j₀[exp(αaFη/(RT))−exp(−αcFη/(RT))]",
        "derivation": [
          "Treat anodic and cathodic reaction rates as activated processes.",
          "Let overpotential η shift the forward and reverse activation barriers.",
          "Subtract the two partial currents and require zero net current at equilibrium."
        ],
        "assumptions": "One-electron notation shown; stoichiometric and transfer-coefficient conventions must match the reaction mechanism.",
        "tex": "j=j_0[\\exp(\\alpha_aF\\eta/(RT))-\\exp(-\\alpha_cF\\eta/(RT))]"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Lithium-ion battery electrodes",
        "implementation": {
          "name": "COMSOL Multiphysics — Electrochemistry Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Electrochemistry Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Can supply kinetics to",
          "note": "Interfacial reaction rates couple solid and electrolyte transport."
        },
        {
          "target": "tafel-approximation",
          "type": "Has large-overpotential approximation",
          "note": "One exponential dominates, with sign and branch chosen consistently."
        },
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-battery-model-spm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "tafel-approximation",
      "name": "Tafel approximation",
      "description": "Approximates high-overpotential behavior of Butler–Volmer kinetics.",
      "example": "Interpreting a polarization curve in a suitable regime.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Tafel+approximation",
      "math": {
        "equation": "η≈(RT/(αaF))ln(j/j₀)",
        "derivation": [
          "Start with Butler–Volmer kinetics.",
          "At sufficiently large positive overpotential, neglect the cathodic exponential.",
          "Take the logarithm to obtain a straight-line Tafel relation."
        ],
        "assumptions": "Anodic branch shown; mass-transfer limits, ohmic losses and surface changes must be separated from activation kinetics.",
        "tex": "\\eta\\approx\\frac{RT}{\\alpha_aF}\\ln(j/j_0)"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Electrolysis electrode characterization tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Electrochemistry Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Electrochemistry Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        }
      ],
      "relationships": [
        {
          "target": "butlervolmer-kinetics",
          "type": "Large-overpotential approximation of",
          "note": "One exponential dominates, with sign and branch chosen consistently."
        },
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-battery-model-spm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "poissonnernstplanck-model",
      "name": "Poisson–Nernst–Planck model",
      "description": "Couples electrostatics to diffusion and migration of ions.",
      "example": "Ion transport through a charged nanopore.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Poisson%E2%80%93Nernst%E2%80%93Planck+model",
      "math": {
        "equation": "Ji=−Di[∇ci+(ziF/(RT))ci∇φ]; −∇·(ε∇φ)=FΣizi ci",
        "derivation": [
          "Combine diffusion with electric-field-driven ion migration using the Einstein relation.",
          "Use ion conservation ∂tci=−∇·Ji plus reactions if present.",
          "Determine electric potential from the local ionic charge density."
        ],
        "assumptions": "Dilute continuum electrolyte without advection shown; concentrated electrolytes and ion correlations require richer constitutive laws.",
        "tex": "J_i=-D_i[\\nabla c_i+\\frac{z_iF}{RT}c_i\\nabla\\phi]; -\\nabla\\cdot(\\varepsilon\\nabla\\phi)=F\\sum_i z_ic_i"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Ion-selective nanopores",
        "implementation": {
          "name": "COMSOL Multiphysics — Electrochemistry Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Electrochemistry Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.echem/ElectrochemistryModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        }
      ],
      "relationships": [
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "butlervolmer-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tafel-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-battery-model-spm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "doylefullernewman-dfn-p2d-model",
      "name": "Doyle–Fuller–Newman (DFN/P2D) model",
      "description": "Combines porous-electrode transport and particle diffusion.",
      "example": "Voltage response of a lithium-ion cell.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Doyle%E2%80%93Fuller%E2%80%93Newman+%28DFN%2FP2D%29+model",
      "math": {
        "equation": "∂tcs=(Ds/r²)∂r(r²∂rcs); ∂xicell=0; j=BV(φs−φe−U)",
        "derivation": [
          "Describe solid diffusion inside representative electrode particles.",
          "Couple reaction fluxes to porous-electrode electrolyte and electronic transport along cell thickness x.",
          "Enforce current conservation and Butler–Volmer interfacial kinetics."
        ],
        "assumptions": "Schematic DFN/P2D core; electrolyte mass balance, potential equations, porosity factors and boundary conditions complete the model. BV denotes Butler–Volmer kinetics.",
        "tex": "\\partial_tc_s=\\frac{D_s}{r^2}\\partial_r(r^2\\partial_rc_s); \\partial_xi_{\\mathrm{cell}}=0; j=\\operatorname{BV}(\\phi_s-\\phi_e-U)"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Lithium-ion cell simulation packages",
        "implementation": {
          "name": "PyBaMM",
          "url": "https://pybamm.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "PyBaMM — battery models and linked technical documentation",
          "url": "https://pybamm.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        }
      ],
      "relationships": [
        {
          "target": "butlervolmer-kinetics",
          "type": "Commonly uses",
          "note": "Interfacial reaction rates couple solid and electrolyte transport."
        },
        {
          "target": "single-particle-battery-model-spm",
          "type": "Has reduced approximation",
          "note": "Represents each electrode by a representative particle and neglects electrolyte gradients."
        },
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tafel-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "single-particle-battery-model-spm",
      "name": "Single-particle battery model (SPM)",
      "description": "Represents each electrode by a representative active-material particle.",
      "example": "Fast battery state prediction at suitable rates.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Single-particle+battery+model+%28SPM%29",
      "math": {
        "equation": "∂tcs,k=(Ds,k/r²)∂r(r²∂rcs,k); V≈Up−Un+ηp−ηn−IRΩ",
        "derivation": [
          "Replace each porous electrode’s particle population by one representative particle.",
          "Apply the average reaction flux implied by cell current.",
          "Use surface concentrations to compute equilibrium potentials and kinetic voltage losses."
        ],
        "assumptions": "SPM simplification; electrolyte concentration and potential variations are neglected or approximated.",
        "tex": "\\partial_tc_{s,k}=\\frac{D_{s,k}}{r^2}\\partial_r(r^2\\partial_rc_{s,k}); V\\approx U_p-U_n+\\eta_p-\\eta_n-IR_\\Omega"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Battery-management estimators",
        "implementation": {
          "name": "PyBaMM",
          "url": "https://pybamm.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "PyBaMM — battery models and linked technical documentation",
          "url": "https://pybamm.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        }
      ],
      "relationships": [
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Extended for electrolyte by",
          "note": "Retains an electrolyte transport description alongside representative particles."
        },
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Reduced approximation of",
          "note": "Represents each electrode by a representative particle and neglects electrolyte gradients."
        },
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "butlervolmer-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tafel-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "single-particle-model-with-electrolyte-spme",
      "name": "Single-particle model with electrolyte (SPMe)",
      "description": "Adds electrolyte concentration effects to a single-particle approximation.",
      "example": "Improved reduced-order cell prediction.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Single-particle+model+with+electrolyte+%28SPMe%29",
      "math": {
        "equation": "εe∂tce=∂x(De,eff∂xce)+(1−t+)aj/F",
        "derivation": [
          "Retain the SPM particle equations.",
          "Add electrolyte salt conservation across electrode and separator regions.",
          "Use electrolyte concentration and potential corrections in the cell voltage."
        ],
        "assumptions": "Representative electrolyte balance within SPMe; j is interfacial current density and a interfacial area per volume, with region-dependent signs and coefficients.",
        "tex": "\\varepsilon_e\\partial_tc_e=\\partial_x(D_{e,\\mathrm{eff}}\\partial_xc_e)+(1-t_+)aj/F"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Battery-control simulation packages",
        "implementation": {
          "name": "PyBaMM",
          "url": "https://pybamm.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "PyBaMM — battery models and linked technical documentation",
          "url": "https://pybamm.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        }
      ],
      "relationships": [
        {
          "target": "single-particle-battery-model-spm",
          "type": "Adds electrolyte dynamics to",
          "note": "Retains an electrolyte transport description alongside representative particles."
        },
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "butlervolmer-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tafel-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "equivalent-circuit-battery-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "equivalent-circuit-battery-model",
      "name": "Equivalent-circuit battery model",
      "description": "Uses fitted electrical elements to approximate terminal behavior.",
      "example": "Battery state estimation in a controller.",
      "discipline": "Electrochemistry & energy storage",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Electrode parameters, aging mechanisms and operating conditions are chemistry-specific; extrapolation beyond validation is unreliable.",
      "google_search": "https://www.google.com/search?q=Equivalent-circuit+battery+model",
      "math": {
        "equation": "V=OCV(z)−IR₀−v₁; v̇₁=−v₁/(R₁C₁)+I/C₁; ż=−I/Qn",
        "derivation": [
          "Represent instantaneous ohmic loss by R₀ and relaxation by an RC branch.",
          "Apply Kirchhoff’s laws to the branch.",
          "Track state of charge z by coulomb counting."
        ],
        "assumptions": "One-RC Thevenin battery model with discharge-positive current; parameters depend on temperature, charge state and aging.",
        "tex": "V=\\operatorname{OCV}(z)-IR_0-v_1; \\dot v_1=-\\frac{v_1}{R_1C_1}+\\frac I{C_1}; \\dot z=-\\frac I{Q_n}"
      },
      "application": {
        "area": "Electrochemistry & energy storage",
        "product_examples": "Battery-management systems",
        "implementation": {
          "name": "PyBaMM",
          "url": "https://pybamm.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "PyBaMM — battery models and linked technical documentation",
          "url": "https://pybamm.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "nernst-equilibrium-potential",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "butlervolmer-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tafel-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "poissonnernstplanck-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "doylefullernewman-dfn-p2d-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-battery-model-spm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "single-particle-model-with-electrolyte-spme",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "darcy-porous-flow-model",
      "name": "Darcy porous-flow model",
      "description": "Relates averaged fluid flux to hydraulic gradient.",
      "example": "Groundwater movement through an aquifer.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Darcy+porous-flow+model",
      "math": {
        "equation": "q=−(K/μ)(∇p−ρg)",
        "derivation": [
          "Average slow viscous flow over a representative porous volume.",
          "Relate bulk flux linearly to pressure and gravity driving forces.",
          "Collect pore-geometry effects into permeability K."
        ],
        "assumptions": "q is Darcy volumetric flux, not pore velocity; K may be a tensor and μ is dynamic viscosity.",
        "tex": "q=-\\frac K\\mu(\\nabla p-\\rho g)"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Porous filters",
        "implementation": {
          "name": "COMSOL Multiphysics — Porous Media Flow Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Porous Media Flow Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "Algebraic multigrid",
          "url": "https://iicsm.org/numericalmodeling/#algebraic-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable sparse elliptic blocks; coupled, indefinite, or strongly anisotropic operators need tailored treatment.",
          "context": "Constructs coarse spaces from matrix structure rather than an explicit mesh hierarchy."
        }
      ],
      "relationships": [
        {
          "target": "groundwater-flow-model",
          "type": "Supplies flow law to",
          "note": "Combine Darcy flux with storage and water conservation."
        },
        {
          "target": "forchheimer-model",
          "type": "Extended for inertia by",
          "note": "Adds a nonlinear velocity-dependent drag term."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Extended with viscous diffusion by",
          "note": "Adds a velocity Laplacian alongside porous drag."
        },
        {
          "target": "richards-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-genuchten-retention-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "brinkman-porous-flow-model",
      "name": "Brinkman porous-flow model",
      "description": "Adds a viscous shear term to a Darcy-like resistance model.",
      "example": "Flow near a porous-medium interface.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Brinkman+porous-flow+model",
      "math": {
        "equation": "−∇p+μeff∇²u−μK⁻¹u+ρg=0",
        "derivation": [
          "Begin with Darcy drag in a homogenized porous medium.",
          "Add a viscous shear-diffusion term to represent momentum exchange across velocity gradients.",
          "Balance pressure, shear, porous resistance and body force."
        ],
        "assumptions": "Brinkman effective viscosity μeff is model-dependent; interface conditions between porous and free flow require care.",
        "tex": "-\\nabla p+\\mu_{\\mathrm{eff}}\\nabla^2u-\\mu K^{-1}u+\\rho g=0"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Porous heat exchangers",
        "implementation": {
          "name": "COMSOL Multiphysics — Porous Media Flow Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Porous Media Flow Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "Algebraic multigrid",
          "url": "https://iicsm.org/numericalmodeling/#algebraic-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable sparse elliptic blocks; coupled, indefinite, or strongly anisotropic operators need tailored treatment.",
          "context": "Constructs coarse spaces from matrix structure rather than an explicit mesh hierarchy."
        }
      ],
      "relationships": [
        {
          "target": "darcy-porous-flow-model",
          "type": "Adds viscous diffusion to",
          "note": "Adds a velocity Laplacian alongside porous drag."
        },
        {
          "target": "forchheimer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "richards-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-genuchten-retention-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "forchheimer-model",
      "name": "Forchheimer model",
      "description": "Adds inertial resistance to porous flow.",
      "example": "Higher-speed flow through a packed bed.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Forchheimer+model",
      "math": {
        "equation": "−∇p=(μ/K)u+ρβ∣u∣u",
        "derivation": [
          "Start with linear Darcy resistance at small pore Reynolds number.",
          "Add a quadratic velocity-dependent inertial loss.",
          "Fit the coefficient β to porous geometry or measurements."
        ],
        "assumptions": "Isotropic form without gravity; β has inverse-length units. Velocity convention must match calibration.",
        "tex": "-\\nabla p=\\frac\\mu K u+\\rho\\beta|u|u"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Packed-bed flow systems",
        "implementation": {
          "name": "COMSOL Multiphysics — Porous Media Flow Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Porous Media Flow Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Barycentric interpolation",
          "url": "https://iicsm.org/numericalmodeling/#barycentric-interpolation",
          "role": "Tabulated data",
          "note": "For repeated evaluation of a polynomial interpolant with suitable nodes; this is not itself a physical solver.",
          "context": "Evaluates the interpolation polynomial using precomputed weights."
        }
      ],
      "relationships": [
        {
          "target": "darcy-porous-flow-model",
          "type": "Adds inertial resistance to",
          "note": "Adds a nonlinear velocity-dependent drag term."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "richards-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-genuchten-retention-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "richards-equation",
      "name": "Richards equation",
      "description": "Describes variably saturated water movement in porous media.",
      "example": "Rain infiltration into soil.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Richards+equation",
      "math": {
        "equation": "∂θ(h)/∂t=∇·[K(h)∇(h+z)]",
        "derivation": [
          "Apply water conservation to a variably saturated porous medium.",
          "Use a saturation-dependent Darcy flux driven by pressure head h plus elevation z.",
          "Close water content θ and hydraulic conductivity K as functions of h."
        ],
        "assumptions": "Water phase only with air pressure approximated as known; hysteresis and preferential flow are omitted unless added.",
        "tex": "\\frac{\\partial\\theta(h)}{\\partial t}=\\nabla\\cdot[K(h)\\nabla(h+z)]"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Soil infiltration analysis tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Porous Media Flow Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Porous Media Flow Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "Algebraic multigrid",
          "url": "https://iicsm.org/numericalmodeling/#algebraic-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable sparse elliptic blocks; coupled, indefinite, or strongly anisotropic operators need tailored treatment.",
          "context": "Constructs coarse spaces from matrix structure rather than an explicit mesh hierarchy."
        }
      ],
      "relationships": [
        {
          "target": "van-genuchten-retention-model",
          "type": "Can use closure",
          "note": "A retention/conductivity relation connects water content, pressure head, and transport."
        },
        {
          "target": "darcy-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "forchheimer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "van-genuchten-retention-model",
      "name": "van Genuchten retention model",
      "description": "Relates water saturation to pressure head with fitted parameters.",
      "example": "Soil-water retention in an infiltration analysis.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=van+Genuchten+retention+model",
      "math": {
        "equation": "Se=[1+(α∣h∣)ⁿ]⁻ᵐ; θ=θr+Se(θs−θr)",
        "derivation": [
          "Normalize water content between residual and saturated limits.",
          "Choose a monotonic fitted function of suction head.",
          "Use parameters α,n,m to capture the observed retention curve."
        ],
        "assumptions": "For h<0; saturated branch has Se=1. Often m=1−1/n for a particular conductivity closure, but this is not mandatory for the retention relation alone.",
        "tex": "S_e=[1+(\\alpha|h|)^n]^{-m}; \\theta=\\theta_r+S_e(\\theta_s-\\theta_r)"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Soil-water retention characterization tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Porous Media Flow Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Porous Media Flow Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Barycentric interpolation",
          "url": "https://iicsm.org/numericalmodeling/#barycentric-interpolation",
          "role": "Tabulated data",
          "note": "For repeated evaluation of a polynomial interpolant with suitable nodes; this is not itself a physical solver.",
          "context": "Evaluates the interpolation polynomial using precomputed weights."
        }
      ],
      "relationships": [
        {
          "target": "richards-equation",
          "type": "Can provide closure for",
          "note": "A retention/conductivity relation connects water content, pressure head, and transport."
        },
        {
          "target": "darcy-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "forchheimer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "biot-poroelasticity",
      "name": "Biot poroelasticity",
      "description": "Couples solid deformation and pore-fluid pressure.",
      "example": "Consolidation of a fluid-saturated formation.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Biot+poroelasticity",
      "math": {
        "equation": "σ=C:ε−αBpI; ζ=αB trε+p/M; ζ̇+∇·q=0",
        "derivation": [
          "Split total stress into skeleton deformation and pore-pressure contributions.",
          "Relate fluid-content change ζ to volumetric strain and pressure.",
          "Combine fluid conservation with Darcy flow and mechanical equilibrium."
        ],
        "assumptions": "Linear Biot poroelasticity; αB is Biot coefficient and M Biot modulus. Sign conventions must match the strain and stress definitions.",
        "tex": "\\sigma=C:\\varepsilon-\\alpha_BpI; \\zeta=\\alpha_B\\operatorname{tr}\\varepsilon+p/M; \\dot\\zeta+\\nabla\\cdot q=0"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Porous rock deformation simulators",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "Algebraic multigrid",
          "url": "https://iicsm.org/numericalmodeling/#algebraic-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable sparse elliptic blocks; coupled, indefinite, or strongly anisotropic operators need tailored treatment.",
          "context": "Constructs coarse spaces from matrix structure rather than an explicit mesh hierarchy."
        }
      ],
      "relationships": [
        {
          "target": "darcy-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "forchheimer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "richards-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-genuchten-retention-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "terzaghi-consolidation-model",
      "name": "Terzaghi consolidation model",
      "description": "Describes time-dependent settlement from pore-pressure dissipation.",
      "example": "Settlement beneath a new embankment.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Terzaghi+consolidation+model",
      "math": {
        "equation": "∂u/∂t=cv ∂²u/∂z²; cv=k/(mvγw)",
        "derivation": [
          "Combine one-dimensional fluid conservation with Darcy drainage.",
          "Relate volume change to effective-stress change using compressibility mv.",
          "For constant total load, eliminate strain to obtain pore-pressure diffusion."
        ],
        "assumptions": "u is excess pore pressure, k hydraulic conductivity and γw water unit weight; assumptions include saturated homogeneous soil and small strain.",
        "tex": "\\frac{\\partial u}{\\partial t}=c_v\\frac{\\partial^2u}{\\partial z^2}; c_v=\\frac{k}{m_v\\gamma_w}"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Embankment settlement analysis tools",
        "implementation": {
          "name": "COMSOL Multiphysics — Porous Media Flow Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Porous Media Flow Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.porous/PorousMediaFlowModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "Algebraic multigrid",
          "url": "https://iicsm.org/numericalmodeling/#algebraic-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable sparse elliptic blocks; coupled, indefinite, or strongly anisotropic operators need tailored treatment.",
          "context": "Constructs coarse spaces from matrix structure rather than an explicit mesh hierarchy."
        }
      ],
      "relationships": [
        {
          "target": "darcy-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "forchheimer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "richards-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-genuchten-retention-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "modified-cam-clay-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "modified-cam-clay-model",
      "name": "Modified Cam-Clay model",
      "description": "Uses critical-state plasticity for idealized clay behavior.",
      "example": "Compression and shear response of clay.",
      "discipline": "Porous media & geomechanics",
      "scale": "Continuum / component",
      "kind": "Physical model",
      "limitations": "Permeability, soil behavior and scale averaging are site-specific; fractures and heterogeneity can dominate flow and strength.",
      "google_search": "https://www.google.com/search?q=Modified+Cam-Clay+model",
      "math": {
        "equation": "f=q²+M²p′(p′−pc′)=0",
        "derivation": [
          "Describe yielding in mean effective stress p′ and deviatoric stress q.",
          "Use an elliptical surface that meets the critical-state line q=Mp′.",
          "Evolve preconsolidation pressure pc′ through a volumetric hardening law."
        ],
        "assumptions": "Modified Cam-Clay with compression-positive stress; elasticity, associated flow and hardening complete the constitutive model.",
        "tex": "f=q^2+M^2p'(p'-p_c')=0"
      },
      "application": {
        "area": "Porous media & geomechanics",
        "product_examples": "Clay foundation analysis software",
        "implementation": {
          "name": "COMSOL Multiphysics — Nonlinear Structural Materials Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Nonlinear Structural Materials Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.nsm/NonlinearStructuralMaterialsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "Algebraic multigrid",
          "url": "https://iicsm.org/numericalmodeling/#algebraic-multigrid",
          "role": "Linear acceleration",
          "note": "For suitable sparse elliptic blocks; coupled, indefinite, or strongly anisotropic operators need tailored treatment.",
          "context": "Constructs coarse spaces from matrix structure rather than an explicit mesh hierarchy."
        }
      ],
      "relationships": [
        {
          "target": "darcy-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "brinkman-porous-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "forchheimer-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "richards-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "van-genuchten-retention-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "biot-poroelasticity",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "terzaghi-consolidation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "saint-venant-shallow-water-model",
      "name": "Saint-Venant shallow-water model",
      "description": "Depth-averages mass and momentum in free-surface flow.",
      "example": "River flood routing.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Saint-Venant+shallow-water+model",
      "math": {
        "equation": "∂th+∇·(hu)=0; ∂t(hu)+∇·(hu⊗u+½gh²I)=−gh∇zb−τb/ρ",
        "derivation": [
          "Integrate incompressible conservation through water depth.",
          "Assume vertical acceleration is small so pressure is hydrostatic.",
          "Represent bed slope and friction as depth-averaged source terms."
        ],
        "assumptions": "Two-dimensional shallow-water form; h is depth and zb bed elevation. Waves must be long relative to depth.",
        "tex": "\\partial_th+\\nabla\\cdot(hu)=0; \\partial_t(hu)+\\nabla\\cdot(hu\\otimes u+\\frac12gh^2I)=-gh\\nabla z_b-\\tau_b/\\rho"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Flood-risk modeling software",
        "implementation": {
          "name": "HEC-RAS",
          "url": "https://www.hec.usace.army.mil/confluence/rasdocs",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "US Army Corps of Engineers — HEC-RAS technical documentation",
          "url": "https://www.hec.usace.army.mil/confluence/rasdocs"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "kinematic-wave-routing",
      "name": "Kinematic-wave routing",
      "description": "Simplifies flow routing by approximating dominant slope and friction balance.",
      "example": "Overland runoff travel.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Kinematic-wave+routing",
      "math": {
        "equation": "∂A/∂t+∂Q/∂x=ql; Q=αAᵐ",
        "derivation": [
          "Keep cross-sectional mass conservation.",
          "Approximate momentum by local friction-slope balance.",
          "Use an algebraic discharge-area relation to close the routing equation."
        ],
        "assumptions": "A is wetted area and ql lateral inflow per length; backwater and inertia are poorly represented.",
        "tex": "\\frac{\\partial A}{\\partial t}+\\frac{\\partial Q}{\\partial x}=q_l; Q=\\alpha A^m"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Stormwater routing tools",
        "implementation": {
          "name": "HEC-HMS",
          "url": "https://www.hec.usace.army.mil/confluence/hmsdocs",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "US Army Corps of Engineers — HEC-HMS technical documentation",
          "url": "https://www.hec.usace.army.mil/confluence/hmsdocs"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "rainfallrunoff-model",
      "name": "Rainfall–runoff model",
      "description": "Converts precipitation and catchment storage into streamflow.",
      "example": "Watershed response to a storm.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Rainfall%E2%80%93runoff+model",
      "math": {
        "equation": "dS/dt=P−ET−Q; Q=f(S, soil, routing)",
        "derivation": [
          "Apply catchment water balance.",
          "Partition rainfall into storage, evapotranspiration and outflow.",
          "Specify empirical or physical functions for infiltration, storage release and channel routing."
        ],
        "assumptions": "Representative rainfall–runoff structure; there is no single universal model. Spatial resolution and parameter choices define a particular implementation.",
        "tex": "\\frac{dS}{dt}=P-\\mathrm{ET}-Q; Q=f(S,\\text{soil},\\text{routing})"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Watershed runoff models",
        "implementation": {
          "name": "HEC-HMS",
          "url": "https://www.hec.usace.army.mil/confluence/hmsdocs",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "US Army Corps of Engineers — HEC-HMS technical documentation",
          "url": "https://www.hec.usace.army.mil/confluence/hmsdocs"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "groundwater-flow-model",
      "name": "Groundwater flow model",
      "description": "Combines water conservation with porous-flow relations.",
      "example": "Regional aquifer drawdown.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Groundwater+flow+model",
      "math": {
        "equation": "Ss ∂h/∂t=∇·(K∇h)+W",
        "derivation": [
          "Apply water conservation in a saturated porous volume.",
          "Insert Darcy flux q=−K∇h.",
          "Represent compressible storage with specific storage Ss and sources with W."
        ],
        "assumptions": "Hydraulic-head form for saturated flow; unconfined aquifers require appropriate water-table storage and moving-boundary treatment.",
        "tex": "S_s\\frac{\\partial h}{\\partial t}=\\nabla\\cdot(K\\nabla h)+W"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Groundwater management software",
        "implementation": {
          "name": "MODFLOW 6",
          "url": "https://modflow6.readthedocs.io/en/latest/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "USGS — MODFLOW 6 documentation",
          "url": "https://modflow6.readthedocs.io/en/latest/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "darcy-porous-flow-model",
          "type": "Uses flow law",
          "note": "Combine Darcy flux with storage and water conservation."
        },
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "advectiondispersion-groundwater-model",
      "name": "Advection–dispersion groundwater model",
      "description": "Represents contaminant transport and spreading through an aquifer.",
      "example": "Tracking a dissolved plume.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Advection%E2%80%93dispersion+groundwater+model",
      "math": {
        "equation": "∂(θc)/∂t=∇·(θD∇c)−∇·(qc)+S",
        "derivation": [
          "Balance contaminant mass in pore water.",
          "Represent bulk transport by Darcy flux q and spreading by a dispersion tensor D.",
          "Add sources, reactions and sorption storage as needed."
        ],
        "assumptions": "θ is porosity or water content; the written storage term omits sorbed mass, which must be added for retarding solutes.",
        "tex": "\\frac{\\partial(\\theta c)}{\\partial t}=\\nabla\\cdot(\\theta D\\nabla c)-\\nabla\\cdot(qc)+S"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Aquifer contamination models",
        "implementation": {
          "name": "MODFLOW 6",
          "url": "https://modflow6.readthedocs.io/en/latest/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "USGS — MODFLOW 6 documentation",
          "url": "https://modflow6.readthedocs.io/en/latest/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "numerical-weather-prediction",
      "name": "Numerical weather prediction",
      "description": "Evolves atmospheric dynamics and thermodynamics from an analyzed initial state.",
      "example": "Forecasting a weather system.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Numerical+weather+prediction",
      "math": {
        "equation": "Du/Dt+2Ω×u=−∇p/ρ+g+F; Dθ/Dt=Qθ",
        "derivation": [
          "Apply rotating-frame momentum conservation.",
          "Couple it to mass, thermodynamic and water-species balances.",
          "Discretize, initialize from observations and parameterize unresolved processes to produce forecasts."
        ],
        "assumptions": "Schematic atmospheric dynamics; θ is potential temperature, Ω Earth’s rotation. Hydrostatic versus nonhydrostatic formulations differ.",
        "tex": "\\frac{Du}{Dt}+2\\Omega\\times u=-\\frac{\\nabla p}\\rho+g+F; \\frac{D\\theta}{Dt}=Q_\\theta"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Numerical weather forecast systems",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "NCAR — Community Earth System Model components",
          "url": "https://www.cesm.ucar.edu/models"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "general-circulation-model-gcm",
      "name": "General circulation model (GCM)",
      "description": "Represents large-scale atmospheric or oceanic circulation.",
      "example": "Studying global circulation under specified forcing.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=General+circulation+model+%28GCM%29",
      "math": {
        "equation": "∂tx=Fdyn(x)+Fphysics(x, forcing)",
        "derivation": [
          "Represent the discretized atmosphere or ocean by state vector x.",
          "Advance resolved conservation laws with dynamical operator Fdyn.",
          "Add radiation, mixing, cloud or other unresolved physical tendencies."
        ],
        "assumptions": "GCM is a model class rather than one equation; spatial discretization, coupling and parameterizations specify the actual model.",
        "tex": "\\partial_tx=F_{\\mathrm{dyn}}(x)+F_{\\mathrm{physics}}(x,\\text{forcing})"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Global climate simulation systems",
        "implementation": {
          "name": "CESM",
          "url": "https://www.cesm.ucar.edu/models",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NCAR — Community Earth System Model components",
          "url": "https://www.cesm.ucar.edu/models"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "earth-system-model-esm",
          "type": "Can form the circulation core of",
          "note": "Earth-system frameworks extend coupled circulation with land and biogeochemical processes."
        },
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "earth-system-model-esm",
      "name": "Earth system model (ESM)",
      "description": "Couples atmosphere, ocean, land, ice and biogeochemical processes.",
      "example": "Exploring climate responses to emissions scenarios.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Earth+system+model+%28ESM%29",
      "math": {
        "equation": "ẋa=Fa(xa, Foa,Fla); ẋo=Fo(xo,Fao); ẋl=Fl(xl,Fal)",
        "derivation": [
          "Build separate atmosphere, ocean and land evolution models.",
          "Exchange heat, water, momentum and biogeochemical fluxes across their boundaries.",
          "Enforce compatible time stepping and conservation during coupling."
        ],
        "assumptions": "Schematic Earth-system coupling; subscripts identify components and exchanged fluxes, with ice and chemistry often added.",
        "tex": "\\dot x_a=F_a(x_a,F_{oa},F_{la}); \\dot x_o=F_o(x_o,F_{ao}); \\dot x_l=F_l(x_l,F_{al})"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Earth-system research models",
        "implementation": {
          "name": "CESM",
          "url": "https://www.cesm.ucar.edu/models",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NCAR — Community Earth System Model components",
          "url": "https://www.cesm.ucar.edu/models"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Can couple component",
          "note": "Sea-ice dynamics and thermodynamics interact with ocean and atmosphere."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Can couple component",
          "note": "Ocean transport exchanges heat, momentum, and tracers with other Earth-system components."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Builds on circulation modeled by",
          "note": "Earth-system frameworks extend coupled circulation with land and biogeochemical processes."
        },
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "energy-balance-climate-model",
      "name": "Energy-balance climate model",
      "description": "Balances incoming and outgoing energy in a simplified climate system.",
      "example": "Estimating idealized temperature response to forcing.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Energy-balance+climate+model",
      "math": {
        "equation": "C dT/dt=(1−α)S/4−OLR(T)",
        "derivation": [
          "Average absorbed sunlight over the planetary surface.",
          "Subtract outgoing longwave radiation OLR.",
          "Assign the residual to heat storage C dT/dt."
        ],
        "assumptions": "Zero-dimensional energy-balance climate model; C is heat capacity per area, S solar irradiance and α planetary albedo.",
        "tex": "C\\frac{dT}{dt}=\\frac{(1-\\alpha)S}4-\\operatorname{OLR}(T)"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Climate teaching and sensitivity-analysis tools",
        "implementation": {
          "name": "climlab",
          "url": "https://climlab.readthedocs.io/en/latest/api/climlab.model.ebm.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "climlab — energy-balance climate models",
          "url": "https://climlab.readthedocs.io/en/latest/api/climlab.model.ebm.html"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ocean-circulation-model",
      "name": "Ocean circulation model",
      "description": "Evolves ocean momentum, temperature and salinity.",
      "example": "Large-scale ocean currents.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Ocean+circulation+model",
      "math": {
        "equation": "Du/Dt+f k̂×u=−∇hp/ρ₀+mixing; ∂zp=−ρg",
        "derivation": [
          "Apply rotating-fluid momentum and mass conservation.",
          "Use the Boussinesq approximation and hydrostatic vertical balance for large-scale flow.",
          "Couple velocity to temperature and salinity transport and an equation of state."
        ],
        "assumptions": "Representative primitive-equation ocean model; nonhydrostatic effects matter at smaller scales.",
        "tex": "\\frac{Du}{Dt}+f\\hat k\\times u=-\\frac{\\nabla_hp}{\\rho_0}+\\text{mixing}; \\partial_zp=-\\rho g"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Ocean circulation simulation systems",
        "implementation": {
          "name": "CESM",
          "url": "https://www.cesm.ucar.edu/models",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NCAR — Community Earth System Model components",
          "url": "https://www.cesm.ucar.edu/models"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "earth-system-model-esm",
          "type": "Can be a component of",
          "note": "Ocean transport exchanges heat, momentum, and tracers with other Earth-system components."
        },
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "sea-ice-thermodynamic-dynamic-model",
      "name": "Sea-ice thermodynamic-dynamic model",
      "description": "Couples freezing, melting and ice motion.",
      "example": "Seasonal sea-ice evolution.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Sea-ice+thermodynamic-dynamic+model",
      "math": {
        "equation": "∂th+∇·(hu)=growth−melt; mi Du/Dt=air drag+water drag+∇·σi+…",
        "derivation": [
          "Balance sea-ice volume through transport, freezing and melting.",
          "Balance ice momentum with surface forcing and internal stress.",
          "Close conductive heat flow and an ice rheology to couple thickness and motion."
        ],
        "assumptions": "h is ice thickness and mi mass per area; concentration, ridging and rheological formulations vary by model.",
        "tex": "\\partial_th+\\nabla\\cdot(hu)=\\text{growth}-\\text{melt}; m_i\\frac{Du}{Dt}=\\text{air drag}+\\text{water drag}+\\nabla\\cdot\\sigma_i+\\cdots"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Sea-ice forecast components",
        "implementation": {
          "name": "CESM",
          "url": "https://www.cesm.ucar.edu/models",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NCAR — Community Earth System Model components",
          "url": "https://www.cesm.ucar.edu/models"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "earth-system-model-esm",
          "type": "Can be a component of",
          "note": "Sea-ice dynamics and thermodynamics interact with ocean and atmosphere."
        },
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "elastic-seismic-wave-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "elastic-seismic-wave-model",
      "name": "Elastic seismic-wave model",
      "description": "Propagates elastic disturbances through Earth materials.",
      "example": "Ground-motion simulation for an earthquake scenario.",
      "discipline": "Water, atmosphere & Earth systems",
      "scale": "Regional / planetary",
      "kind": "Physical model",
      "limitations": "Boundary conditions, forcing scenarios, resolution and parameterizations introduce uncertainty; local calibration is often essential.",
      "google_search": "https://www.google.com/search?q=Elastic+seismic-wave+model",
      "math": {
        "equation": "ρ ü=∇·σ+f; σ=C:ε(u)",
        "derivation": [
          "Apply momentum conservation to an elastic solid.",
          "Use a constitutive relation between stress and displacement gradients.",
          "Propagate the resulting wave equation through heterogeneous Earth materials."
        ],
        "assumptions": "Linear elastic seismic model; attenuation, anisotropy, free-surface and absorbing boundaries may be required.",
        "tex": "\\rho\\ddot u=\\nabla\\cdot\\sigma+f; \\sigma=C:\\varepsilon(u)"
      },
      "application": {
        "area": "Water, atmosphere & Earth systems",
        "product_examples": "Earthquake wave-propagation software",
        "implementation": {
          "name": "SPECFEM3D",
          "url": "https://specfem3d.readthedocs.io/en/latest/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "SPECFEM3D — seismic wave propagation documentation",
          "url": "https://specfem3d.readthedocs.io/en/latest/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Grid convergence index",
          "url": "https://iicsm.org/numericalmodeling/#grid-convergence-index",
          "role": "Discretization uncertainty",
          "note": "For a systematic grid-refinement study with a justified observed order and safety factor; it is not physical validation.",
          "context": "Reports a safety-factored estimate of discretization uncertainty."
        }
      ],
      "relationships": [
        {
          "target": "saint-venant-shallow-water-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kinematic-wave-routing",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "rainfallrunoff-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "groundwater-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "advectiondispersion-groundwater-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "numerical-weather-prediction",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-circulation-model-gcm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "earth-system-model-esm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "energy-balance-climate-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ocean-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sea-ice-thermodynamic-dynamic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "six-degree-of-freedom-flight-model",
      "name": "Six-degree-of-freedom flight model",
      "description": "Evolves vehicle translation and rotation using aerodynamic and propulsion forces.",
      "example": "An aircraft maneuver simulation.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Six-degree-of-freedom+flight+model",
      "math": {
        "equation": "m v̇body+ω×(mvbody)=F; Iω̇+ω×Iω=M",
        "derivation": [
          "Resolve translational and rotational momentum in vehicle-fixed axes.",
          "Include rotating-coordinate transport terms.",
          "Compute aerodynamic, thrust and gravity loads and integrate attitude and position kinematics."
        ],
        "assumptions": "Six-degree-of-freedom rigid vehicle model; aerodynamic coefficients and mass properties are operating-condition dependent.",
        "tex": "m\\dot v_{\\mathrm{body}}+\\omega\\times(mv_{\\mathrm{body}})=F; I\\dot\\omega+\\omega\\times I\\omega=M"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Flight dynamics simulators",
        "implementation": {
          "name": "JSBSim",
          "url": "https://jsbsim-team.github.io/jsbsim-reference-manual/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "JSBSim — flight dynamics reference manual",
          "url": "https://jsbsim-team.github.io/jsbsim-reference-manual/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lifting-line-model",
      "name": "Lifting-line model",
      "description": "Approximates finite-wing lift using a spanwise circulation distribution.",
      "example": "Estimating induced drag of a slender wing.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Lifting-line+model",
      "math": {
        "equation": "L′(y)=ρUΓ(y); αeff=αgeom−αinduced",
        "derivation": [
          "Replace a finite wing by a spanwise bound-vorticity distribution with a trailing wake.",
          "Relate local circulation Γ to sectional lift.",
          "Compute induced angle from the wake and solve the self-consistent sectional lift relation."
        ],
        "assumptions": "Prandtl lifting-line assumptions: slender lifting surface, attached flow and suitable small-angle aerodynamic relations.",
        "tex": "L'(y)=\\rho U\\Gamma(y); \\alpha_{\\mathrm{eff}}=\\alpha_{\\mathrm{geom}}-\\alpha_{\\mathrm{induced}}"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Finite-wing aerodynamic analysis tools",
        "implementation": {
          "name": "AeroDyn",
          "url": "https://docs.nrel.gov/docs/fy05osti/36881.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NREL — AeroDyn Theory Manual",
          "url": "https://docs.nrel.gov/docs/fy05osti/36881.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "For a contractive or suitably relaxed fixed-point formulation; monitor residuals and possible divergence.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        }
      ],
      "relationships": [
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "blade-element-momentum-model",
      "name": "Blade-element momentum model",
      "description": "Combines blade-section loads with momentum balances.",
      "example": "Wind-turbine rotor performance.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Blade-element+momentum+model",
      "math": {
        "equation": "dT=½ρW²B c Cl,normal dr = 4πρU∞²a(1−a)r dr",
        "derivation": [
          "Compute blade-section loads from relative speed W, chord c and sectional coefficients.",
          "Compute the same annular thrust from axial momentum theory.",
          "Equate the two and iterate for induction factors."
        ],
        "assumptions": "Representative axial BEM balance; B is blade count and a axial induction. Tip loss, swirl and high-induction corrections are important.",
        "tex": "dT=\\frac12\\rho W^2BcC_{l,\\mathrm{normal}}\\,dr=4\\pi\\rho U_\\infty^2a(1-a)r\\,dr"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Wind-turbine rotor design tools",
        "implementation": {
          "name": "AeroDyn",
          "url": "https://docs.nrel.gov/docs/fy05osti/36881.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NREL — AeroDyn Theory Manual",
          "url": "https://docs.nrel.gov/docs/fy05osti/36881.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "For a contractive or suitably relaxed fixed-point formulation; monitor residuals and possible divergence.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        }
      ],
      "relationships": [
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bicycle-vehicle-model",
      "name": "Bicycle vehicle model",
      "description": "Combines left and right wheels into a planar steering model.",
      "example": "Lateral vehicle dynamics.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Bicycle+vehicle+model",
      "math": {
        "equation": "m(v̇y+U r)=Fyf+Fyr; Iz ṙ=lfFyf−lrFyr",
        "derivation": [
          "Merge left and right wheels into one front and one rear tire.",
          "Apply planar lateral-force and yaw-moment balances.",
          "Relate tire forces to slip angles, often through linear cornering stiffness."
        ],
        "assumptions": "Small-slip constant-forward-speed bicycle model; U is forward speed, r yaw rate and lf,lr axle distances from the mass center.",
        "tex": "m(\\dot v_y+Ur)=F_{yf}+F_{yr}; I_z\\dot r=l_fF_{yf}-l_rF_{yr}"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Vehicle handling simulators",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MathWorks — Modeling a vehicle dynamics system",
          "url": "https://www.mathworks.com/help/ident/examples/modeling-a-vehicle-dynamics-system.html"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "quarter-car-suspension-model",
      "name": "Quarter-car suspension model",
      "description": "Represents one wheel assembly and a fraction of vehicle body mass.",
      "example": "Ride response over a road bump.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Quarter-car+suspension+model",
      "math": {
        "equation": "ms z̈s=−ks(zs−zu)−cs(żs−żu); mu z̈u=ks(zs−zu)+cs(żs−żu)−kt(zu−zr)",
        "derivation": [
          "Represent a quarter body and wheel assembly by sprung and unsprung masses.",
          "Connect them with suspension stiffness and damping and connect the wheel to the road through tire stiffness.",
          "Apply vertical force balance to each mass."
        ],
        "assumptions": "Linear two-mass quarter-car model; road displacement zr is input, with tire damping and active force omitted here.",
        "tex": "m_s\\ddot z_s=-k_s(z_s-z_u)-c_s(\\dot z_s-\\dot z_u); m_u\\ddot z_u=k_s(z_s-z_u)+c_s(\\dot z_s-\\dot z_u)-k_t(z_u-z_r)"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Automotive suspension design tools",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MathWorks — Robust Control Toolbox guide, quarter-car suspension example",
          "url": "https://www.mathworks.com/help/pdf_doc/robust/robust_gs.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "massspringdamper-model",
          "type": "Uses coupled instances of",
          "note": "Sprung and unsprung masses couple through springs and dampers."
        },
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "pacejka-tire-model",
      "name": "Pacejka tire model",
      "description": "Uses empirical nonlinear formulas for tire forces.",
      "example": "Vehicle handling simulation.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Pacejka+tire+model",
      "math": {
        "equation": "F=D sin[C arctan(Bs−E(Bs−arctan Bs))]",
        "derivation": [
          "Choose a flexible empirical curve with tunable initial slope, peak and curvature.",
          "Fit its coefficients to tire-force measurements as functions of load and other conditions.",
          "Evaluate the fitted force against slip s."
        ],
        "assumptions": "Simplified Pacejka Magic Formula; B,C,D,E are fitted coefficients, not universal constants. Combined slip and camber require extensions.",
        "tex": "F=D\\sin[C\\arctan(Bs-E(Bs-\\arctan Bs))]"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Tire force simulation models",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MathWorks — Simscape Driveline reference, tire models",
          "url": "https://www.mathworks.com/help/releases/r2025a/pdf_doc/sdl/sdl_ref.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Complex-step differentiation",
          "url": "https://iicsm.org/numericalmodeling/#complex-step-differentiation",
          "role": "Derivative verification",
          "note": "Only for smooth analytic, complex-compatible code paths; clipping, absolute values, and phase switches can invalidate it.",
          "context": "Estimates an analytic derivative without real subtractive cancellation."
        }
      ],
      "relationships": [
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ac-power-flow-model",
      "name": "AC power-flow model",
      "description": "Balances complex power on an electrical network.",
      "example": "Bus voltages in a transmission system.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=AC+power-flow+model",
      "math": {
        "equation": "Si=Vi conjugate(ΣjYijVj)",
        "derivation": [
          "Write nodal current from the network admittance matrix: I=YV.",
          "Use complex power S=VI*.",
          "Separate real and imaginary equations and solve for unknown voltage magnitudes and angles."
        ],
        "assumptions": "AC steady-state phasor model; specified loads, generators, transformers and bus types complete the nonlinear system.",
        "tex": "S_i=V_i\\overline{\\sum_jY_{ij}V_j}"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Electrical grid planning tools",
        "implementation": {
          "name": "MATPOWER",
          "url": "https://matpower.app/manual/matpower/PowerFlow.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "MATPOWER — AC and DC power flow",
          "url": "https://matpower.app/manual/matpower/PowerFlow.html"
        }
      ],
      "recommendations": [
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "dc-power-flow-approximation",
          "type": "Has linearized approximation",
          "note": "Uses assumptions including small angle differences, near-unit voltage, and low resistance."
        },
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "dc-power-flow-approximation",
      "name": "DC power-flow approximation",
      "description": "Linearizes active-power flow under restrictive grid assumptions.",
      "example": "Fast transmission-network screening.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=DC+power-flow+approximation",
      "math": {
        "equation": "Pij≈(θi−θj)/xij; P=Bθ",
        "derivation": [
          "Start from AC power-flow relations.",
          "Assume near-unit voltage magnitudes, small angle differences and negligible resistance.",
          "Linearize the sine term to obtain a susceptance-based active-power model."
        ],
        "assumptions": "Despite its name, this approximates an AC network; it does not represent reactive power, voltage magnitude changes or most losses.",
        "tex": "P_{ij}\\approx\\frac{\\theta_i-\\theta_j}{x_{ij}}; P=B\\theta"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Transmission-grid screening tools",
        "implementation": {
          "name": "MATPOWER",
          "url": "https://matpower.app/manual/matpower/PowerFlow.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "MATPOWER — AC and DC power flow",
          "url": "https://matpower.app/manual/matpower/PowerFlow.html"
        }
      ],
      "recommendations": [
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "ac-power-flow-model",
          "type": "Linearized approximation of",
          "note": "Uses assumptions including small angle differences, near-unit voltage, and low resistance."
        },
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "swing-equation-generator-model",
      "name": "Swing-equation generator model",
      "description": "Represents rotor-angle dynamics from mechanical-electrical power imbalance.",
      "example": "Power-system transient stability.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Swing-equation+generator+model",
      "math": {
        "equation": "Mδ̈+Dδ̇=Pm−Pe(δ)",
        "derivation": [
          "Balance mechanical and electrical torque on a synchronous rotor.",
          "Convert torque to power near synchronous speed.",
          "Express rotor position relative to a synchronous reference to obtain the swing equation."
        ],
        "assumptions": "δ is electrical rotor angle; per-unit inertia scaling determines M. Generator, excitation and network dynamics may add states.",
        "tex": "M\\ddot\\delta+D\\dot\\delta=P_m-P_e(\\delta)"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Power-grid stability simulators",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Åström and Murray — Feedback Systems, author-hosted textbook",
          "url": "https://fbsbook.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "building-thermal-zone-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "building-thermal-zone-model",
      "name": "Building thermal-zone model",
      "description": "Balances heat gains, losses and storage within building zones.",
      "example": "Heating and cooling demand.",
      "discipline": "Aerospace, vehicles & power systems",
      "scale": "Component / system",
      "kind": "Physical model",
      "limitations": "Reduced system models need measured coefficients and consistent interfaces; operating limits and control interactions matter.",
      "google_search": "https://www.google.com/search?q=Building+thermal-zone+model",
      "math": {
        "equation": "Cz Ṫz=Σj UA j(Tj−Tz)+Qsolar+Qinternal+QHVAC",
        "derivation": [
          "Apply an energy balance to a thermal zone.",
          "Represent conduction, convection and ventilation exchanges through appropriate conductances or mass flows.",
          "Add internal, solar and conditioning loads."
        ],
        "assumptions": "Lumped sensible-heat form; humidity, surface temperatures, radiation and infiltration can require separate coupled states.",
        "tex": "C_z\\dot T_z=\\sum_j(UA)_j(T_j-T_z)+Q_{\\mathrm{solar}}+Q_{\\mathrm{internal}}+Q_{\\mathrm{HVAC}}"
      },
      "application": {
        "area": "Aerospace, vehicles & power systems",
        "product_examples": "Building energy simulation software",
        "implementation": {
          "name": "EnergyPlus",
          "url": "https://energyplus.readthedocs.io/en/latest/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "EnergyPlus — Engineering Reference",
          "url": "https://energyplus.readthedocs.io/en/latest/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Can be represented by",
          "note": "Thermal capacitances and conductances represent zones, surfaces, and heat exchange."
        },
        {
          "target": "six-degree-of-freedom-flight-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lifting-line-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "blade-element-momentum-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bicycle-vehicle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "quarter-car-suspension-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pacejka-tire-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "ac-power-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dc-power-flow-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "swing-equation-generator-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "state-space-model",
      "name": "State-space model",
      "description": "Represents system evolution with internal states, inputs and outputs.",
      "example": "A motor and load in a control design.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=State-space+model",
      "math": {
        "equation": "ẋ=Ax+Bu; y=Cx+Du",
        "derivation": [
          "Choose independent internal variables x that determine future evolution.",
          "Write first-order dynamics and output relations.",
          "Linearize around an operating point to obtain the displayed linear state-space matrices."
        ],
        "assumptions": "A nonlinear state-space model instead uses ẋ=f(x,u), y=g(x,u); matrix dimensions and operating-point offsets must be consistent.",
        "tex": "\\dot x=Ax+Bu; y=Cx+Du"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Motor-control models",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Åström and Murray — Feedback Systems, author-hosted textbook",
          "url": "https://fbsbook.org/"
        }
      ],
      "recommendations": [
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "kalman-state-estimator",
          "type": "Can be estimated with",
          "note": "Uses a state-space dynamics and observation model with noise assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Can yield",
          "note": "For linear time-invariant systems, eliminate internal states under specified initial conditions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "transfer-function-model",
      "name": "Transfer-function model",
      "description": "Relates linear time-invariant input and output in the transform domain.",
      "example": "Frequency-response design of a feedback loop.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Transfer-function+model",
      "math": {
        "equation": "G(s)=C(sI−A)⁻¹B+D; Y(s)=G(s)U(s)",
        "derivation": [
          "Take the Laplace transform of a linear time-invariant state model with zero initial conditions.",
          "Solve (sI−A)X=BU.",
          "Substitute into the output equation to obtain the transfer function."
        ],
        "assumptions": "Nonzero initial states produce additional output terms; delays and unstable dynamics require careful interpretation.",
        "tex": "G(s)=C(sI-A)^{-1}B+D; Y(s)=G(s)U(s)"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Feedback control-design software",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Åström and Murray — Feedback Systems, author-hosted textbook",
          "url": "https://fbsbook.org/"
        }
      ],
      "recommendations": [
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Input-output representation of",
          "note": "For linear time-invariant systems, eliminate internal states under specified initial conditions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hybrid-dynamical-model",
      "name": "Hybrid dynamical model",
      "description": "Combines continuous dynamics with discrete state changes.",
      "example": "A thermostat-controlled heating system.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Hybrid+dynamical+model",
      "math": {
        "equation": "ẋ=fq(x,u); q⁺=g(q,x,u); x⁺=Rq(x)",
        "derivation": [
          "Use a discrete mode q to select a continuous dynamical law.",
          "Define guard conditions that trigger mode transitions.",
          "Apply any state reset R at a transition."
        ],
        "assumptions": "Representative hybrid-system structure; event priorities and behavior at simultaneous or rapidly repeating switches must be specified.",
        "tex": "\\dot x=f_q(x,u); q^+=g(q,x,u); x^+=R_q(x)"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Thermostat control systems",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Åström and Murray — Feedback Systems, author-hosted textbook",
          "url": "https://fbsbook.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "For a continuous scalar closure or balance with a known sign-changing bracket.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "For continuous scalar closures with a valid sign-changing bracket; verify the intended physical root.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bond-graph-model",
      "name": "Bond-graph model",
      "description": "Represents energy exchange across mechanical, electrical and other domains.",
      "example": "An electromechanical actuator.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Bond-graph+model",
      "math": {
        "equation": "P=e f; Σflows=0 at a common-effort junction",
        "derivation": [
          "Describe energy exchange using conjugate effort and flow variables.",
          "Impose conservation of flow at equal-effort junctions and conservation of effort at equal-flow junctions.",
          "Connect storage, dissipation and transformation elements to obtain system equations."
        ],
        "assumptions": "Examples: voltage/current or force/velocity. Bond orientation fixes signs; constitutive laws define each element.",
        "tex": "P=ef; \\sum\\text{flows}=0\\quad\\text{at a common-effort junction}"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Electromechanical actuator models",
        "implementation": {
          "name": "Modelica BondLib",
          "url": "https://build.openmodelica.org/Documentation/BondLib.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Modelica — BondLib, bond-graph library",
          "url": "https://build.openmodelica.org/Documentation/BondLib.html"
        }
      ],
      "recommendations": [
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "system-dynamics-stock-flow-model",
      "name": "System-dynamics stock-flow model",
      "description": "Represents accumulated quantities and their rates of change.",
      "example": "Material inventories in a production process.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=System-dynamics+stock-flow+model",
      "math": {
        "equation": "ẋ=Fin−Fout",
        "derivation": [
          "Define x as an accumulated stock.",
          "Apply conservation over a small time interval.",
          "Take the interval to zero, then express flows as functions of stocks, controls and delays."
        ],
        "assumptions": "A model needs explicit flow laws and units; causal diagrams alone do not determine numerical predictions.",
        "tex": "\\dot x=F_{\\mathrm{in}}-F_{\\mathrm{out}}"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Production inventory simulators",
        "implementation": {
          "name": "Modelica BondLib",
          "url": "https://build.openmodelica.org/Documentation/BondLib.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "MIT OpenCourseWare — System Dynamics for Business Policy",
          "url": "https://ocw.mit.edu/courses/15-871-introduction-to-system-dynamics-fall-2013/"
        }
      ],
      "recommendations": [
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "discrete-event-simulation",
      "name": "Discrete-event simulation",
      "description": "Advances a system through scheduled events.",
      "example": "Equipment utilization on a manufacturing line.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Discrete-event+simulation",
      "math": {
        "equation": "x(tk⁺)=Fk[x(tk⁻), eventk]; tk+1=min(next event times)",
        "derivation": [
          "Assume the system state changes at discrete events.",
          "Schedule candidate event times from service, arrival or failure processes.",
          "Advance to the earliest event and update state and future schedules."
        ],
        "assumptions": "Discrete-event simulation is a computational framework; stochastic distributions and event rules encode the application model.",
        "tex": "x(t_k^+)=F_k[x(t_k^-),\\text{event}_k]; t_{k+1}=\\min(\\text{next event times})"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Factory scheduling simulators",
        "implementation": {
          "name": "SimPy",
          "url": "https://simpy.readthedocs.io/en/latest/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "SimPy — discrete-event simulation documentation",
          "url": "https://simpy.readthedocs.io/en/latest/"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Quasi-Monte Carlo",
          "url": "https://iicsm.org/numericalmodeling/#quasi-monte-carlo",
          "role": "Uncertainty integration",
          "note": "For well-behaved parameter integrals where low-discrepancy coverage helps; use randomized replicates for uncertainty assessment.",
          "context": "Uses low-discrepancy points to cover an integration domain evenly."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "agent-based-physical-system-model",
      "name": "Agent-based physical-system model",
      "description": "Represents interacting entities following local rules.",
      "example": "Pedestrian flow through a station.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Agent-based+physical-system+model",
      "math": {
        "equation": "xi(t+Δt)=Fi[xi(t), neighbors, environment, ξi]",
        "derivation": [
          "Give each agent an internal state and an interaction rule.",
          "Compute local observations and random inputs ξi if needed.",
          "Update states using a specified synchronous or asynchronous schedule."
        ],
        "assumptions": "There is no universal agent equation; local rules, spatial constraints and calibration determine emergent behavior.",
        "tex": "x_i(t+\\Delta t)=F_i[x_i(t),\\text{neighbors},\\text{environment},\\xi_i]"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Pedestrian and crowd simulations",
        "implementation": {
          "name": "Mesa",
          "url": "https://mesa.readthedocs.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Mesa — agent-based modeling documentation",
          "url": "https://mesa.readthedocs.io/"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Quasi-Monte Carlo",
          "url": "https://iicsm.org/numericalmodeling/#quasi-monte-carlo",
          "role": "Uncertainty integration",
          "note": "For well-behaved parameter integrals where low-discrepancy coverage helps; use randomized replicates for uncertainty assessment.",
          "context": "Uses low-discrepancy points to cover an integration domain evenly."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "markov-state-model",
      "name": "Markov state model",
      "description": "Represents probabilistic transitions between a finite set of states.",
      "example": "Coarse kinetics between molecular conformations.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Markov+state+model",
      "math": {
        "equation": "p(t+τ)=p(t)T(τ); Tij=P[Xt+τ=j ∣ Xt=i]",
        "derivation": [
          "Discretize the system into states.",
          "Estimate conditional transition probabilities at lag τ.",
          "Assume the present state captures the relevant memory so distributions propagate by matrix multiplication."
        ],
        "assumptions": "Row-vector probability convention; transition rows sum to one. Molecular Markov models require lag-time and state-partition validation.",
        "tex": "p(t+\\tau)=p(t)T(\\tau); T_{ij}=P[X_{t+\\tau}=j\\mid X_t=i]"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Molecular kinetics analysis tools",
        "implementation": {
          "name": "PyMC",
          "url": "https://www.pymc.io/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Prinz et al. — Markov models of molecular kinetics (2011)",
          "url": "https://doi.org/10.1063/1.3565032"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "kalman-state-estimator",
      "name": "Kalman state estimator",
      "description": "Combines a dynamical model with noisy observations using covariance updates.",
      "example": "Estimating position from sensors under linear-Gaussian assumptions.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Kalman+state+estimator",
      "math": {
        "equation": "x̂⁻=Ax̂+Bu; K=P⁻Hᵀ(HP⁻Hᵀ+R)⁻¹; x̂=x̂⁻+K(y−Hx̂⁻)",
        "derivation": [
          "Predict state and covariance through a linear dynamical model.",
          "Combine predicted and measurement uncertainties.",
          "Choose the gain minimizing posterior error covariance and update with the measurement residual."
        ],
        "assumptions": "Discrete linear-Gaussian Kalman filter; process covariance Q enters P⁻=APAᵀ+Q. Correlated or nonlinear errors need extensions.",
        "tex": "\\hat x^-=A\\hat x+Bu; K=P^-H^{\\mathsf T}(HP^-H^{\\mathsf T}+R)^{-1}; \\hat x=\\hat x^-+K(y-H\\hat x^-)"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Navigation sensor-fusion software",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Åström and Murray — Feedback Systems, author-hosted textbook",
          "url": "https://fbsbook.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        },
        {
          "name": "QR factorization",
          "url": "https://iicsm.org/numericalmodeling/#qr-factorization",
          "role": "Stable fitting / linear solve",
          "note": "For a linearized least-squares or calibration problem; use pivoting or SVD when rank is uncertain.",
          "context": "Uses an orthogonal factorization to solve least-squares systems."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Estimates states of",
          "note": "Uses a state-space dynamics and observation model with noise assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "model-predictive-control",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "model-predictive-control",
      "name": "Model predictive control",
      "description": "Optimizes future actions using a predictive model and constraints.",
      "example": "Temperature control of a process with input limits.",
      "discipline": "Control, estimation & systems",
      "scale": "Component / system",
      "kind": "Framework",
      "limitations": "Observability, identifiability, linearization range and unmodeled dynamics limit predictions and control performance.",
      "google_search": "https://www.google.com/search?q=Model+predictive+control",
      "math": {
        "equation": "min Σk=0…N−1 ℓ(xk,uk)+Vf(xN), subject to xk+1=f(xk,uk)",
        "derivation": [
          "Predict a finite sequence of future states from candidate controls.",
          "Minimize tracking or economic cost under state and input constraints.",
          "Apply only the first control and repeat when a new state estimate arrives."
        ],
        "assumptions": "Model predictive control framework; stability, feasibility and execution time depend on the horizon, cost and constraints.",
        "tex": "\\min\\sum_{k=0}^{N-1}\\ell(x_k,u_k)+V_f(x_N); x_{k+1}=f(x_k,u_k)"
      },
      "application": {
        "area": "Control, estimation & systems",
        "product_examples": "Constrained process controllers",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT — Underactuated Robotics, dynamics and control",
          "url": "https://underactuated.mit.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Sequential quadratic programming",
          "url": "https://iicsm.org/numericalmodeling/#sequential-quadratic-programming",
          "role": "Constrained design",
          "note": "For smooth constrained parameter/design optimization with derivatives and constraint regularity.",
          "context": "Solves a sequence of locally quadratic constrained subproblems."
        },
        {
          "name": "Interior-point optimization",
          "url": "https://iicsm.org/numericalmodeling/#interior-point-optimization",
          "role": "Constrained design",
          "note": "For appropriately formulated inequality-constrained design or control problems; scale constraints and verify feasibility.",
          "context": "Approaches inequality-constrained solutions through barrier subproblems."
        },
        {
          "name": "Adjoint sensitivity analysis",
          "url": "https://iicsm.org/numericalmodeling/#adjoint-sensitivity-analysis",
          "role": "Many-parameter gradients",
          "note": "For a differentiable discretized state problem and scalar objectives; use consistent derivatives, boundary conditions, and solver tolerances.",
          "context": "Computes gradients of scalar outputs with respect to many parameters."
        }
      ],
      "relationships": [
        {
          "target": "state-space-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "transfer-function-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hybrid-dynamical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bond-graph-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "system-dynamics-stock-flow-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-event-simulation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "agent-based-physical-system-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "markov-state-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "kalman-state-estimator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hodgkinhuxley-membrane-model",
      "name": "Hodgkin–Huxley membrane model",
      "description": "Uses voltage-dependent ion-channel conductances.",
      "example": "Electrical excitation in a nerve membrane.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Hodgkin%E2%80%93Huxley+membrane+model",
      "math": {
        "equation": "Cm V̇=I−gNa m³h(V−ENa)−gK n⁴(V−EK)−gL(V−EL)",
        "derivation": [
          "Treat the membrane as a capacitor with parallel ionic conductances.",
          "Use voltage-dependent gate probabilities m,h,n to determine open-channel fractions.",
          "Apply current conservation and evolve each gate with ẋ=αx(V)(1−x)−βx(V)x."
        ],
        "assumptions": "Classic Hodgkin–Huxley structure; conductance, reversal-potential and gating parameters are preparation-specific.",
        "tex": "C_m\\dot V=I-g_{\\mathrm{Na}}m^3h(V-E_{\\mathrm{Na}})-g_{\\mathrm K}n^4(V-E_{\\mathrm K})-g_L(V-E_L)"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Neuron simulation software",
        "implementation": {
          "name": "NEURON",
          "url": "https://nrn.readthedocs.io/en/latest/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Gerstner et al. — Neuronal Dynamics",
          "url": "https://neuronaldynamics.epfl.ch/"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "fitzhughnagumo-model",
      "name": "FitzHugh–Nagumo model",
      "description": "Simplifies excitation and recovery into two dynamical variables.",
      "example": "Qualitative pulse propagation in excitable media.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=FitzHugh%E2%80%93Nagumo+model",
      "math": {
        "equation": "v̇=v−v³/3−w+I; ẇ=ε(v+a−bw)",
        "derivation": [
          "Reduce an excitable system to a fast activation variable and slow recovery variable.",
          "Use a cubic activation nullcline to permit threshold-like excursions.",
          "Couple recovery to activation to produce excitation and relaxation."
        ],
        "assumptions": "One dimensionless FitzHugh–Nagumo convention; parameters and signs vary among formulations.",
        "tex": "\\dot v=v-v^3/3-w+I; \\dot w=\\varepsilon(v+a-bw)"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Excitable-system teaching models",
        "implementation": {
          "name": "NEURON",
          "url": "https://nrn.readthedocs.io/en/latest/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Gerstner et al. — Neuronal Dynamics",
          "url": "https://neuronaldynamics.epfl.ch/"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hill-muscle-model",
      "name": "Hill muscle model",
      "description": "Represents muscle mechanics with active and passive elements.",
      "example": "Force generation in a musculoskeletal simulation.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Hill+muscle+model",
      "math": {
        "equation": "(F+a)(v+b)=(F₀+a)b",
        "derivation": [
          "Measure muscle force against shortening velocity under controlled activation.",
          "Fit Hill’s hyperbolic force-velocity relation.",
          "Combine it with force-length and passive elastic components in a practical muscle model."
        ],
        "assumptions": "F is force and v shortening speed; this phenomenological law is not a universal molecular derivation.",
        "tex": "(F+a)(v+b)=(F_0+a)b"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Musculoskeletal simulation systems",
        "implementation": {
          "name": "OpenSim",
          "url": "https://opensim.stanford.edu/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Hill — The heat of shortening and the dynamic constants of muscle (1938)",
          "url": "https://doi.org/10.1098/rspb.1938.0050"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "windkessel-circulation-model",
      "name": "Windkessel circulation model",
      "description": "Represents vascular resistance and compliance with lumped elements.",
      "example": "Arterial pressure response to pulsatile flow.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Windkessel+circulation+model",
      "math": {
        "equation": "C dP/dt=Qin−(P−Pv)/R",
        "derivation": [
          "Represent arterial storage by compliance C and peripheral outflow by resistance R.",
          "Use stored-volume change dV=C dP.",
          "Apply flow conservation to obtain the pressure equation."
        ],
        "assumptions": "Two-element Windkessel; Pv is downstream pressure. Three- and four-element variants improve characteristic impedance or inertia representation.",
        "tex": "C\\frac{dP}{dt}=Q_{\\mathrm{in}}-\\frac{P-P_v}{R}"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Hemodynamic research models",
        "implementation": {
          "name": "Modelica Standard Library",
          "url": "https://doc.modelica.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Westerhof et al. — The arterial Windkessel (2009)",
          "url": "https://doi.org/10.1007/s11517-008-0359-2"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "pennes-bioheat-model",
      "name": "Pennes bioheat model",
      "description": "Adds perfusion and metabolic heat to tissue heat transfer.",
      "example": "Approximate temperature distribution in tissue.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Pennes+bioheat+model",
      "math": {
        "equation": "ρc ∂tT=∇·(k∇T)+ρbcbωb(Ta−T)+Qmet+Qext",
        "derivation": [
          "Start with tissue heat storage and conduction.",
          "Approximate perfusion exchange by blood entering at arterial temperature Ta and equilibrating locally.",
          "Add metabolic and applied heating."
        ],
        "assumptions": "Pennes model; ωb is volumetric perfusion per tissue volume. Large-vessel directional heat transfer is not resolved.",
        "tex": "\\rho c\\partial_tT=\\nabla\\cdot(k\\nabla T)+\\rho_bc_b\\omega_b(T_a-T)+Q_{\\mathrm{met}}+Q_{\\mathrm{ext}}"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Tissue-heating research simulators",
        "implementation": {
          "name": "COMSOL Multiphysics — Heat Transfer Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "transient-heat-equation",
          "type": "Adds physiological heat terms to",
          "note": "Adds perfusion exchange and metabolic heat production."
        },
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "reactiondiffusion-morphogenesis-model",
      "name": "Reaction–diffusion morphogenesis model",
      "description": "Couples reacting substances with diffusion.",
      "example": "Formation of spatial biological patterns.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Reaction%E2%80%93diffusion+morphogenesis+model",
      "math": {
        "equation": "∂tu=Du∇²u+f(u,v); ∂tv=Dv∇²v+g(u,v)",
        "derivation": [
          "Couple local reaction kinetics to diffusion of two species.",
          "Linearize about a homogeneous steady state.",
          "Compare eigenvalues with and without diffusion to identify diffusion-driven pattern instability."
        ],
        "assumptions": "Turing-type reaction-diffusion family; a pattern requires suitable kinetics and diffusion contrast, not merely the presence of diffusion.",
        "tex": "\\partial_tu=D_u\\nabla^2u+f(u,v); \\partial_tv=D_v\\nabla^2v+g(u,v)"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Pattern-formation research software",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Turing — The chemical basis of morphogenesis (1952)",
          "url": "https://doi.org/10.1098/rstb.1952.0012"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        }
      ],
      "relationships": [
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "monod-growth-model",
      "name": "Monod growth model",
      "description": "Relates microbial growth to a limiting substrate.",
      "example": "Biomass growth in a treatment reactor.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Monod+growth+model",
      "math": {
        "equation": "μ=μmax S/(KS+S); Ẋ=(μ−kd)X",
        "derivation": [
          "Fit growth rate to a saturating function of limiting substrate S.",
          "At low substrate it is approximately linear; at high substrate it approaches μmax.",
          "Multiply specific growth by biomass X and include decay if appropriate."
        ],
        "assumptions": "Monod model; KS is half-saturation concentration and kd decay rate. Substrate mass balance is also required.",
        "tex": "\\mu=\\frac{\\mu_{\\max}S}{K_S+S}; \\dot X=(\\mu-k_d)X"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Bioreactor process models",
        "implementation": {
          "name": "COMSOL Multiphysics — Chemical Reaction Engineering Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.chem/ChemicalReactionEngineeringModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Monod — The growth of bacterial cultures (1949)",
          "url": "https://doi.org/10.1146/annurev.mi.03.100149.002103"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physiologically-based-compartment-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "physiologically-based-compartment-model",
      "name": "Physiologically based compartment model",
      "description": "Represents exchange between anatomically motivated compartments.",
      "example": "Transport of a tracer through organ compartments.",
      "discipline": "Biological & biomechanical systems",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Biological variability is large; parameters and validation must match the organism, tissue and experimental setting.",
      "google_search": "https://www.google.com/search?q=Physiologically+based+compartment+model",
      "math": {
        "equation": "Vi dCi/dt=Qi(Ca−Ci/Ki)−CLi Ci",
        "derivation": [
          "Represent an organ as a well-mixed compartment.",
          "Balance arterial delivery against venous removal using a partition relation.",
          "Subtract local clearance or transformation when applicable."
        ],
        "assumptions": "Representative perfusion-limited PBPK compartment; Vi is volume, Qi perfusion, Ki tissue-blood partition coefficient and CLi a compatible clearance term.",
        "tex": "V_i\\frac{dC_i}{dt}=Q_i(C_a-C_i/K_i)-\\mathrm{CL}_i C_i"
      },
      "application": {
        "area": "Biological & biomechanical systems",
        "product_examples": "Physiological exposure-modeling software",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "US EPA — Physiologically Based Pharmacokinetic Models",
          "url": "https://www.epa.gov/sites/default/files/2018-02/documents/pbpk_factsheet_feb2018_0.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "hodgkinhuxley-membrane-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fitzhughnagumo-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hill-muscle-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "windkessel-circulation-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "pennes-bioheat-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reactiondiffusion-morphogenesis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monod-growth-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "boltzmann-kinetic-equation",
      "name": "Boltzmann kinetic equation",
      "description": "Evolves a particle distribution under transport and collisions.",
      "example": "Gas kinetics outside simple continuum conditions.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Boltzmann+kinetic+equation",
      "math": {
        "equation": "∂tf+v·∇xf+(F/m)·∇vf=C[f]",
        "derivation": [
          "Track a distribution f in position-velocity phase space.",
          "Use conservation along particle trajectories for streaming and acceleration.",
          "Add a collision operator for transitions between velocity states."
        ],
        "assumptions": "Boltzmann kinetic equation; collision assumptions, molecular interaction laws and closure determine C[f].",
        "tex": "\\partial_tf+v\\cdot\\nabla_xf+\\frac Fm\\cdot\\nabla_vf=C[f]"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Rarefied-gas simulation software",
        "implementation": {
          "name": "SPARTA",
          "url": "https://sparta.github.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Richard Fitzpatrick — Plasma Physics, author lecture notes",
          "url": "https://farside.ph.utexas.edu/teaching/plasma/Plasma/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Can be approximated by",
          "note": "Statistical particle collisions approximate dilute-gas kinetic transport."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "vlasovpoisson-model",
      "name": "Vlasov–Poisson model",
      "description": "Couples collisionless distribution dynamics to electrostatic fields.",
      "example": "Electrostatic waves in a plasma.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Vlasov%E2%80%93Poisson+model",
      "math": {
        "equation": "∂tf+v·∇xf−(q/m)∇φ·∇vf=0; −ε₀∇²φ=ρ",
        "derivation": [
          "Neglect collisions in the kinetic transport equation.",
          "Restrict fields to electrostatics with E=−∇φ.",
          "Integrate each species distribution over velocity to obtain charge density for Poisson’s equation."
        ],
        "assumptions": "Multiple species contribute ρ=Σs qs∫fsdv; electrostatic approximation omits electromagnetic induction and radiation.",
        "tex": "\\partial_tf+v\\cdot\\nabla_xf-\\frac qm\\nabla\\phi\\cdot\\nabla_vf=0; -\\varepsilon_0\\nabla^2\\phi=\\rho"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Electrostatic plasma simulators",
        "implementation": {
          "name": "WarpX",
          "url": "https://warpx.readthedocs.io/en/22.11/theory/picsar_theory.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Richard Fitzpatrick — Plasma Physics, author lecture notes",
          "url": "https://farside.ph.utexas.edu/teaching/plasma/Plasma/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "vlasovmaxwell-model",
      "name": "Vlasov–Maxwell model",
      "description": "Couples collisionless kinetic distributions to electromagnetic fields.",
      "example": "Kinetic plasma-wave behavior.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Vlasov%E2%80%93Maxwell+model",
      "math": {
        "equation": "∂tfs+v·∇xfs+(qs/ms)(E+v×B)·∇vfs=0",
        "derivation": [
          "Neglect collisional scattering while retaining the Lorentz force.",
          "Compute charge and current by taking velocity moments of all species distributions.",
          "Use those moments as sources in Maxwell’s equations."
        ],
        "assumptions": "Nonrelativistic phase-space form shown; relativistic momentum coordinates are required for high-energy particles.",
        "tex": "\\partial_tf_s+v\\cdot\\nabla_xf_s+\\frac{q_s}{m_s}(E+v\\times B)\\cdot\\nabla_vf_s=0"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Electromagnetic plasma simulators",
        "implementation": {
          "name": "WarpX",
          "url": "https://warpx.readthedocs.io/en/22.11/theory/picsar_theory.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Richard Fitzpatrick — Plasma Physics, author lecture notes",
          "url": "https://farside.ph.utexas.edu/teaching/plasma/Plasma/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "magnetohydrodynamics-mhd",
      "name": "Magnetohydrodynamics (MHD)",
      "description": "Treats a conducting fluid coupled to a magnetic field.",
      "example": "Large-scale magnetized-plasma motion.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Magnetohydrodynamics+%28MHD%29",
      "math": {
        "equation": "ρDu/Dt=−∇p+J×B; ∂tB=∇×(u×B)+ηm∇²B",
        "derivation": [
          "Take velocity moments of kinetic species equations and form a conducting-fluid description.",
          "Use a resistive Ohm law and Ampère’s law without displacement current.",
          "Combine with Faraday induction to obtain magnetic-field evolution."
        ],
        "assumptions": "Simple resistive MHD with constant magnetic diffusivity ηm; continuity, energy and ∇·B=0 complete the system.",
        "tex": "\\rho\\frac{Du}{Dt}=-\\nabla p+J\\times B; \\partial_tB=\\nabla\\times(u\\times B)+\\eta_m\\nabla^2B"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Magnetized-plasma simulation systems",
        "implementation": {
          "name": "Dedalus",
          "url": "https://dedalus-project.readthedocs.io/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Richard Fitzpatrick — Plasma Physics, author lecture notes",
          "url": "https://farside.ph.utexas.edu/teaching/plasma/Plasma/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "neutron-transport-model",
      "name": "Neutron transport model",
      "description": "Tracks neutron angular and energy-dependent transport with interactions.",
      "example": "Neutron flux in a shielding analysis.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Neutron+transport+model",
      "math": {
        "equation": "(1/v)∂tψ+Ω·∇ψ+Σtψ=∫Σsψ′dΩ′dE′+Sf+Q",
        "derivation": [
          "Balance angular neutron flux in a spatial, directional and energy element.",
          "Subtract streaming losses and collision removal.",
          "Add scattering into the element, fission emission and external sources."
        ],
        "assumptions": "ψ is angular flux, Σ cross sections and Sf fission source. Energy dependence and boundary conditions are essential.",
        "tex": "\\frac1v\\partial_t\\psi+\\Omega\\cdot\\nabla\\psi+\\Sigma_t\\psi=\\int\\Sigma_s\\psi'\\,d\\Omega'\\,dE'+S_f+Q"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Radiation transport software",
        "implementation": {
          "name": "OpenMC",
          "url": "https://docs.openmc.org/en/stable/methods/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenMC — transport theory and methodology",
          "url": "https://docs.openmc.org/en/stable/methods/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "neutron-diffusion-approximation",
          "type": "Has diffusion approximation",
          "note": "Applies in appropriate scattering-dominated, near-isotropic regimes, away from strong boundary effects."
        },
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "neutron-diffusion-approximation",
      "name": "Neutron diffusion approximation",
      "description": "Simplifies neutron transport to a diffusion description.",
      "example": "Flux distribution where angular anisotropy is weak.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Neutron+diffusion+approximation",
      "math": {
        "equation": "(1/v)∂tφ−∇·(D∇φ)+Σaφ=S",
        "derivation": [
          "Integrate neutron transport over directions to obtain a scalar-flux balance.",
          "Approximate angular distribution as nearly isotropic.",
          "Close current by Fick-like leakage J=−D∇φ."
        ],
        "assumptions": "Diffusion coefficient is often D≈1/(3Σtr); interfaces, voids and strongly absorbing boundaries challenge the approximation.",
        "tex": "\\frac1v\\partial_t\\phi-\\nabla\\cdot(D\\nabla\\phi)+\\Sigma_a\\phi=S"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Reactor flux-analysis tools",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — modeling modules and technical documentation",
          "url": "https://mooseframework.inl.gov/modules/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "neutron-transport-model",
          "type": "Diffusion approximation of",
          "note": "Applies in appropriate scattering-dominated, near-isotropic regimes, away from strong boundary effects."
        },
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "point-reactor-kinetics",
      "name": "Point reactor kinetics",
      "description": "Approximates time-dependent neutron population with delayed-neutron groups.",
      "example": "A simplified reactor transient.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Point+reactor+kinetics",
      "math": {
        "equation": "ṅ=((ρreact−β)/Λ)n+ΣiλiCi; Ċi=(βi/Λ)n−λiCi",
        "derivation": [
          "Assume the spatial neutron-flux shape is fixed while its amplitude changes.",
          "Separate prompt neutrons from delayed-neutron precursor groups.",
          "Balance neutron population and precursor production/decay."
        ],
        "assumptions": "n is neutron amplitude, Λ generation time, β delayed fraction and ρreact reactivity; thermal feedback may be coupled separately.",
        "tex": "\\dot n=\\frac{\\rho_{\\mathrm{react}}-\\beta}{\\Lambda}n+\\sum_i\\lambda_i C_i; \\dot C_i=\\frac{\\beta_i}{\\Lambda}n-\\lambda_i C_i"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Reactor transient teaching models",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — PointKinetics model",
          "url": "https://mooseframework.inl.gov/source/scalarkernels/PointKinetics.html"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bateman-decay-chain-model",
      "name": "Bateman decay-chain model",
      "description": "Evolves coupled radioactive parent and daughter populations.",
      "example": "Isotope inventory over time.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Bateman+decay-chain+model",
      "math": {
        "equation": "Ṅi=Σj bj→i λjNj−λiNi",
        "derivation": [
          "Treat each unstable nuclide as having an exponential decay probability per time.",
          "Add production from parent decays and subtract its own decay.",
          "Collect the coupled linear system and solve with a matrix exponential or chain formula."
        ],
        "assumptions": "λ are decay constants and b branching fractions. Irradiation adds reaction production/removal terms.",
        "tex": "\\dot N_i=\\sum_j b_{j\\to i}\\lambda_jN_j-\\lambda_i N_i"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Radioisotope inventory calculators",
        "implementation": {
          "name": "OpenMC",
          "url": "https://docs.openmc.org/en/stable/methods/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenMC — depletion and transmutation",
          "url": "https://docs.openmc.org/en/stable/methods/depletion.html"
        }
      ],
      "recommendations": [
        {
          "name": "Backward differentiation formulas",
          "url": "https://iicsm.org/numericalmodeling/#backward-differentiation-formulas",
          "role": "Stiff time integration",
          "note": "For stiff ODEs; constrained or algebraic formulations require an appropriate DAE-capable implementation, not a plain ODE routine.",
          "context": "Use several past states to approximate the new-time derivative."
        },
        {
          "name": "Backward Euler",
          "url": "https://iicsm.org/numericalmodeling/#backward-euler",
          "role": "Time integration",
          "note": "For dissipative stiff evolution when first-order accuracy and damping are acceptable; solve each implicit step.",
          "context": "Uses the next-step slope and solves an implicit equation."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "newtonian-gravitational-n-body-model",
      "name": "Newtonian gravitational N-body model",
      "description": "Evolves masses under mutual inverse-square attraction.",
      "example": "Orbits in a planetary system.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Newtonian+gravitational+N-body+model",
      "math": {
        "equation": "r̈i=−GΣj≠i mj(ri−rj)/∣ri−rj∣³",
        "derivation": [
          "Apply Newton’s inverse-square gravitational force to every pair of masses.",
          "Sum all forces on a selected body.",
          "Divide by that body’s mass and integrate the coupled trajectories."
        ],
        "assumptions": "Point masses under nonrelativistic gravity; close encounters, collisions and extended bodies may need special treatment.",
        "tex": "\\ddot r_i=-G\\sum_{j\\ne i}\\frac{m_j(r_i-r_j)}{|r_i-r_j|^3}"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Orbital simulation software",
        "implementation": {
          "name": "REBOUND",
          "url": "https://rebound.readthedocs.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "MIT — Underactuated Robotics, dynamics and control",
          "url": "https://underactuated.mit.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "general-relativity-model",
      "name": "General relativity model",
      "description": "Relates spacetime curvature to matter and energy.",
      "example": "Orbital dynamics in a strong gravitational field.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=General+relativity+model",
      "math": {
        "equation": "Gμν+Λgμν=(8πG/c⁴)Tμν",
        "derivation": [
          "Describe gravitation through a spacetime metric rather than a Newtonian force field.",
          "Vary the Einstein–Hilbert action plus matter action with respect to the metric.",
          "Stationarity gives the Einstein field equations."
        ],
        "assumptions": "Gμν is the Einstein curvature tensor, Tμν stress-energy and Λ cosmological constant. This is a relativistic field theory; coordinate and boundary choices matter.",
        "tex": "G_{\\mu\\nu}+\\Lambda g_{\\mu\\nu}=\\frac{8\\pi G}{c^4}T_{\\mu\\nu}"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Relativistic gravity simulation systems",
        "implementation": {
          "name": "Einstein Toolkit",
          "url": "https://einsteintoolkit.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "David Tong — lecture notes on theoretical physics",
          "url": "https://davidtong.org/teaching/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite volume method",
          "url": "https://iicsm.org/numericalmodeling/#finite-volume-method",
          "role": "Conservative discretization",
          "note": "For transport/balance-law formulations; use consistent face fluxes and appropriate reconstruction.",
          "context": "Balances conserved quantities over control volumes."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        },
        {
          "name": "Adaptive mesh refinement",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-mesh-refinement",
          "role": "Spatial error control",
          "note": "Refine localized gradients or error indicators after choosing the PDE discretization.",
          "context": "Concentrates degrees of freedom where a numerical error indicator is large."
        }
      ],
      "relationships": [
        {
          "target": "flrw-cosmological-model",
          "type": "Has cosmological application",
          "note": "Assumes spatial homogeneity and isotropy at cosmological scales."
        },
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "stellar-structure-model",
      "name": "Stellar structure model",
      "description": "Couples hydrostatic balance, energy transport and energy generation.",
      "example": "An idealized star's internal structure.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=Stellar+structure+model",
      "math": {
        "equation": "dm/dr=4πr²ρ; dP/dr=−Gmρ/r²; dL/dr=4πr²ρε",
        "derivation": [
          "Apply spherical mass conservation.",
          "Balance gravity with the pressure gradient for hydrostatic support.",
          "Integrate local energy generation into luminosity and add an energy-transport law."
        ],
        "assumptions": "Quasi-static spherical stellar structure; an equation of state, opacity and nuclear reaction network close the model.",
        "tex": "\\frac{dm}{dr}=4\\pi r^2\\rho; \\frac{dP}{dr}=-\\frac{Gm\\rho}{r^2}; \\frac{dL}{dr}=4\\pi r^2\\rho\\varepsilon"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Stellar evolution research software",
        "implementation": {
          "name": "MESA stellar evolution",
          "url": "https://docs.mesastar.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "MESA — Modules for Experiments in Stellar Astrophysics",
          "url": "https://docs.mesastar.org/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "general-relativity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "flrw-cosmological-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "flrw-cosmological-model",
      "name": "FLRW cosmological model",
      "description": "Assumes a homogeneous and isotropic expanding spacetime.",
      "example": "Large-scale cosmic expansion histories.",
      "discipline": "Plasma, nuclear & astrophysics",
      "scale": "Cross-scale",
      "kind": "Physical model",
      "limitations": "Kinetic, fluid, relativistic and gravitational approximations apply in different regimes; cross-section and closure data are essential.",
      "google_search": "https://www.google.com/search?q=FLRW+cosmological+model",
      "math": {
        "equation": "H²=(8πG/3)ρ−kc²/a²+Λc²/3; H=ȧ/a",
        "derivation": [
          "Assume large-scale spatial homogeneity and isotropy, defining an FLRW metric.",
          "Insert it into Einstein’s equations.",
          "The time-time component gives the first Friedmann equation for the scale factor a."
        ],
        "assumptions": "ρ is mass-equivalent energy density; a pressure relation and conservation equation determine evolution. k is spatial curvature in a consistent normalization.",
        "tex": "H^2=\\frac{8\\pi G}{3}\\rho-\\frac{kc^2}{a^2}+\\frac{\\Lambda c^2}{3}; H=\\frac{\\dot a}a"
      },
      "application": {
        "area": "Plasma, nuclear & astrophysics",
        "product_examples": "Cosmological research models",
        "implementation": {
          "name": "CAMB",
          "url": "https://camb.readthedocs.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "David Tong — Cosmology lecture notes",
          "url": "https://www.davidtong.org/teaching/cosmology/"
        }
      ],
      "recommendations": [
        {
          "name": "Embedded Runge-Kutta RK45",
          "url": "https://iicsm.org/numericalmodeling/#embedded-runge-kutta-rk45",
          "role": "Adaptive time integration",
          "note": "For nonstiff ODEs; detect events and check whether constraints or fast scales require another solver.",
          "context": "Uses two related formulas to estimate local error and adapt the step."
        },
        {
          "name": "Newton-Raphson method",
          "url": "https://iicsm.org/numericalmodeling/#newton-raphson-method",
          "role": "Nonlinear solve",
          "note": "For differentiable residuals with a suitable initial guess; use globalization and consistent Jacobians.",
          "context": "Solves nonlinear equations by repeated local linearization."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "general-relativity-model",
          "type": "Symmetry-restricted application of",
          "note": "Assumes spatial homogeneity and isotropy at cosmological scales."
        },
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovpoisson-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "vlasovmaxwell-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "magnetohydrodynamics-mhd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-transport-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neutron-diffusion-approximation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "point-reactor-kinetics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bateman-decay-chain-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "newtonian-gravitational-n-body-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stellar-structure-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "finite-element-method-fem-fea",
      "name": "Finite element method (FEM / FEA)",
      "description": "Approximates fields with basis functions over elements.",
      "example": "Solving a structural elasticity boundary-value problem.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Finite+element+method+%28FEM+%2F+FEA%29",
      "math": {
        "equation": "Ku=f; Kij=∫Ω ∇Ni·k∇Nj dΩ",
        "derivation": [
          "For a representative diffusion equation, multiply by a test function and integrate by parts.",
          "Approximate the field by basis functions Ni and choose matching test functions.",
          "Assemble the resulting element integrals into a global matrix system."
        ],
        "assumptions": "Displayed weak form is for scalar diffusion; FEM itself is not a constitutive model. Essential and natural boundary conditions must be treated consistently.",
        "tex": "Ku=f; K_{ij}=\\int_\\Omega\\nabla N_i\\cdot k\\nabla N_j\\,d\\Omega"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Finite-element engineering packages",
        "implementation": {
          "name": "deal.II",
          "url": "https://www.dealii.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT OpenCourseWare — Numerical Methods for Partial Differential Equations",
          "url": "https://ocw.mit.edu/courses/16-920j-numerical-methods-for-partial-differential-equations-sma-5212-spring-2003/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "fe2-computational-homogenization",
          "type": "Used within",
          "note": "Finite elements discretize coupled macro- and microscale problems."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "finite-volume-method-fvm",
      "name": "Finite volume method (FVM)",
      "description": "Discretizes conservation laws using fluxes across control-volume boundaries.",
      "example": "Conservative computational fluid dynamics.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Finite+volume+method+%28FVM%29",
      "math": {
        "equation": "Vi dUi/dt+Σfaces Ff·nf Af=Vi Si",
        "derivation": [
          "Integrate a conservation law over a control volume.",
          "Use the divergence theorem to convert volume flux divergence into surface fluxes.",
          "Approximate each face flux while sharing it consistently between adjacent cells."
        ],
        "assumptions": "U is a conserved quantity, F flux and S source; numerical reconstruction and flux choices determine accuracy and stability.",
        "tex": "V_i\\frac{dU_i}{dt}+\\sum_{\\mathrm{faces}}F_f\\cdot n_f A_f=V_iS_i"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Conservative CFD packages",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "MIT OpenCourseWare — Numerical Methods for Partial Differential Equations",
          "url": "https://ocw.mit.edu/courses/16-920j-numerical-methods-for-partial-differential-equations-sma-5212-spring-2003/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "finite-difference-method-fdm",
      "name": "Finite difference method (FDM)",
      "description": "Approximates derivatives with differences on a grid.",
      "example": "A transient heat-equation calculation.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Finite+difference+method+%28FDM%29",
      "math": {
        "equation": "∂²u/∂x² ≈ (ui+1−2ui+ui−1)/Δx²",
        "derivation": [
          "Expand neighboring function values in Taylor series about grid point i.",
          "Add the two expansions so odd derivatives cancel.",
          "Solve for the second derivative, leaving an O(Δx²) truncation error."
        ],
        "assumptions": "Uniform grid and sufficiently smooth u; boundary formulas and time stepping determine the full discretization.",
        "tex": "\\frac{\\partial^2u}{\\partial x^2}\\approx\\frac{u_{i+1}-2u_i+u_{i-1}}{\\Delta x^2}"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Finite-difference PDE solvers",
        "implementation": {
          "name": "COMSOL equation-based modeling",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.comsol/comsol_ref_equationbased.32.003.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT OpenCourseWare — Numerical Methods for Partial Differential Equations",
          "url": "https://ocw.mit.edu/courses/16-920j-numerical-methods-for-partial-differential-equations-sma-5212-spring-2003/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "boundary-element-method-bem",
      "name": "Boundary element method (BEM)",
      "description": "Recasts suitable field problems as boundary integral equations.",
      "example": "Exterior acoustics in a homogeneous medium.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Boundary+element+method+%28BEM%29",
      "math": {
        "equation": "c(P)u(P)+∫Γ u ∂nG dΓ=∫Γ G ∂nu dΓ",
        "derivation": [
          "Choose a fundamental solution G of the governing linear differential operator.",
          "Apply Green’s identity to the field and G.",
          "Move the problem to the boundary and discretize the boundary unknowns."
        ],
        "assumptions": "Representative Laplace boundary-integral equation; c(P) depends on geometry and limiting convention. Nonlinear or heterogeneous media need extensions.",
        "tex": "c(P)u(P)+\\int_\\Gamma u\\partial_nG\\,d\\Gamma=\\int_\\Gamma G\\partial_nu\\,d\\Gamma"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Exterior acoustics solvers",
        "implementation": {
          "name": "COMSOL Multiphysics — Acoustics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Acoustics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.aco/AcousticsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "spectral-method",
      "name": "Spectral method",
      "description": "Represents fields with global or element-wise high-order basis expansions.",
      "example": "Smooth periodic flow calculations.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Spectral+method",
      "math": {
        "equation": "uN(x)=Σn=0…N an φn(x)",
        "derivation": [
          "Expand the solution in a global or element-local basis.",
          "Insert the expansion into the governing equation.",
          "Set weighted residuals or collocation residuals to zero to solve for coefficients an."
        ],
        "assumptions": "Fourier, Chebyshev and other bases suit different domains; smoothness drives convergence and discontinuities can cause oscillations.",
        "tex": "u_N(x)=\\sum_{n=0}^Na_n\\phi_n(x)"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Spectral PDE solvers",
        "implementation": {
          "name": "Dedalus",
          "url": "https://dedalus-project.readthedocs.io/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MIT OpenCourseWare — Numerical Methods for Partial Differential Equations",
          "url": "https://ocw.mit.edu/courses/16-920j-numerical-methods-for-partial-differential-equations-sma-5212-spring-2003/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "smoothed-particle-hydrodynamics-sph",
      "name": "Smoothed particle hydrodynamics (SPH)",
      "description": "Approximates continuum fields through moving particles and kernels.",
      "example": "Large deformation of a free-surface liquid.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Smoothed+particle+hydrodynamics+%28SPH%29",
      "math": {
        "equation": "f(ri)≈Σj mj(fj/ρj)W(ri−rj,h)",
        "derivation": [
          "Approximate a field by convolution with a smoothing kernel.",
          "Replace the volume integral with particle volumes mj/ρj.",
          "Differentiate the kernel to construct discrete gradients and conservation equations."
        ],
        "assumptions": "W is a normalized kernel with smoothing length h; boundary consistency, tensile instability and conservation depend on the chosen formulation.",
        "tex": "f(r_i)\\approx\\sum_j m_j\\frac{f_j}{\\rho_j}W(r_i-r_j,h)"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Free-surface particle solvers",
        "implementation": {
          "name": "DualSPHysics",
          "url": "https://dual.sphysics.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Monaghan — Smoothed particle hydrodynamics (1992)",
          "url": "https://doi.org/10.1146/annurev.aa.30.090192.002551"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "discrete-element-method-dem",
      "name": "Discrete element method (DEM)",
      "description": "Evolves contacting discrete bodies with contact laws.",
      "example": "Granular flow in a hopper.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Discrete+element+method+%28DEM%29",
      "math": {
        "equation": "mi r̈i=Σj Fij+mi g; Ii ω̇i=Σj Mij",
        "derivation": [
          "Treat grains as individual bodies.",
          "Compute overlap- or geometry-based contact forces and frictional moments.",
          "Apply translational and rotational momentum balances to each grain."
        ],
        "assumptions": "DEM is a numerical framework; normal stiffness, damping, friction and cohesion laws must be specified and calibrated.",
        "tex": "m_i\\ddot r_i=\\sum_j F_{ij}+m_ig; I_i\\dot\\omega_i=\\sum_j M_{ij}"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Granular-material simulators",
        "implementation": {
          "name": "YADE",
          "url": "https://yade-dem.org/doc/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Cundall and Strack — A discrete numerical model for granular assemblies (1979)",
          "url": "https://doi.org/10.1680/geot.1979.29.1.47"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "lattice-boltzmann-method-lbm",
      "name": "Lattice Boltzmann method (LBM)",
      "description": "Evolves discrete velocity populations to recover suitable macroscopic flow equations.",
      "example": "Flow through complex pore geometry.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Lattice+Boltzmann+method+%28LBM%29",
      "math": {
        "equation": "fi(x+ciΔt,t+Δt)=fi(x,t)−(Δt/τ)[fi−fieq]",
        "derivation": [
          "Discretize particle velocity space into lattice directions ci.",
          "Alternate streaming with relaxation toward a local equilibrium distribution.",
          "Take a long-wavelength, low-Mach expansion to recover continuum hydrodynamics."
        ],
        "assumptions": "Single-relaxation-time LBM example; viscosity relates to τ and Δt. More robust collision operators and boundary schemes are common.",
        "tex": "f_i(x+c_i\\Delta t,t+\\Delta t)=f_i(x,t)-\\frac{\\Delta t}\\tau[f_i-f_i^{\\mathrm{eq}}]"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Lattice-Boltzmann flow solvers",
        "implementation": {
          "name": "Palabos",
          "url": "https://palabos.unige.ch/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Krüger et al. — The Lattice Boltzmann Method (2017)",
          "url": "https://doi.org/10.1007/978-3-319-44649-3"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "direct-numerical-simulation-dns",
      "name": "Direct numerical simulation (DNS)",
      "description": "Resolves turbulence without a turbulence closure for the selected flow equations.",
      "example": "A research simulation at a computationally tractable Reynolds number.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Direct+numerical+simulation+%28DNS%29",
      "math": {
        "equation": "∂tu+u·∇u=−∇p/ρ+ν∇²u; Δx must resolve dissipative scales",
        "derivation": [
          "Choose the physical flow equations without an added turbulence closure.",
          "Resolve the energy-containing and dissipative motions with sufficiently fine space and time steps.",
          "Check convergence and conservation to assess numerical resolution."
        ],
        "assumptions": "DNS is a resolution strategy, not a new fluid law; feasible Reynolds numbers are limited by computational cost.",
        "tex": "\\partial_tu+u\\cdot\\nabla u=-\\frac{\\nabla p}\\rho+\\nu\\nabla^2u; \\Delta x\\text{ must resolve dissipative scales}"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Turbulence research solvers",
        "implementation": {
          "name": "OpenFOAM",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenFOAM — CFD User Guide",
          "url": "https://doc.cfd.direct/openfoam/user-guide-v13/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "direct-simulation-monte-carlo-dsmc",
      "name": "Direct simulation Monte Carlo (DSMC)",
      "description": "Samples particle motion and collisions in a rarefied gas.",
      "example": "Gas flow where continuum assumptions fail.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Direct+simulation+Monte+Carlo+%28DSMC%29",
      "math": {
        "equation": "Ppair ∝ σT(g)g Δt/Vcell",
        "derivation": [
          "Split rarefied-gas evolution into particle motion and collisions over a short time step.",
          "Select representative collision pairs in local cells using relative speed g and total cross section σT.",
          "Sample post-collision states while conserving the appropriate quantities."
        ],
        "assumptions": "DSMC acceptance also depends on particle statistical weights and collision-selection scheme; cell/time scales must resolve mean-free-path and collision-time behavior.",
        "tex": "P_{\\mathrm{pair}}\\propto\\frac{\\sigma_T(g)g\\Delta t}{V_{\\mathrm{cell}}}"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Rarefied-flow simulation packages",
        "implementation": {
          "name": "SPARTA",
          "url": "https://sparta.github.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Sandia SPARTA — direct simulation Monte Carlo documentation",
          "url": "https://sparta.github.io/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "boltzmann-kinetic-equation",
          "type": "Particle simulation approach to",
          "note": "Statistical particle collisions approximate dilute-gas kinetic transport."
        },
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "particle-in-cell-pic",
      "name": "Particle-in-cell (PIC)",
      "description": "Couples moving computational particles to fields on a mesh.",
      "example": "A kinetic plasma simulation.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Particle-in-cell+%28PIC%29",
      "math": {
        "equation": "mp v̇p=qp(Ep+vp×Bp); ρgrid=Σp qp W(xgrid−xp)",
        "derivation": [
          "Move computational particles under interpolated fields.",
          "Deposit particle charge and current on a mesh.",
          "Solve field equations and gather fields back to particles for the next step."
        ],
        "assumptions": "PIC scheme; charge-conserving deposition, field solver, particle shape W and time integration determine numerical behavior.",
        "tex": "m_p\\dot v_p=q_p(E_p+v_p\\times B_p); \\rho_{\\mathrm{grid}}=\\sum_pq_pW(x_{\\mathrm{grid}}-x_p)"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Plasma particle simulators",
        "implementation": {
          "name": "WarpX",
          "url": "https://warpx.readthedocs.io/en/22.11/theory/picsar_theory.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "WarpX — particle-in-cell theory",
          "url": "https://warpx.readthedocs.io/en/22.11/theory/picsar_theory.html"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "finite-difference-time-domain-fdtd",
      "name": "Finite-difference time-domain (FDTD)",
      "description": "Advances discretized electromagnetic fields in time.",
      "example": "Wave propagation through a dielectric structure.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Finite-difference+time-domain+%28FDTD%29",
      "math": {
        "equation": "Hn+½=Hn−½−Δt μ⁻¹ curlh En; En+1=En+Δt ε⁻¹(curlh Hn+½−Jn+½)",
        "derivation": [
          "Discretize Maxwell’s curl equations on staggered spatial locations.",
          "Stagger electric and magnetic updates by half a time step.",
          "Alternate the updates to propagate electromagnetic fields."
        ],
        "assumptions": "Yee-type FDTD; Courant stability, absorbing boundaries and dispersive material updates must be respected.",
        "tex": "H^{n+1/2}=H^{n-1/2}-\\Delta t\\mu^{-1}\\operatorname{curl}_hE^n; E^{n+1}=E^n+\\Delta t\\varepsilon^{-1}(\\operatorname{curl}_hH^{n+1/2}-J^{n+1/2})"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Electromagnetic time-domain solvers",
        "implementation": {
          "name": "Meep",
          "url": "https://meep.readthedocs.io/en/latest/Introduction/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Meep — finite-difference time-domain introduction",
          "url": "https://meep.readthedocs.io/en/latest/Introduction/"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Method of manufactured solutions",
          "url": "https://iicsm.org/numericalmodeling/#method-of-manufactured-solutions",
          "role": "Code verification",
          "note": "For an accessible differential operator, construct compatible forcing and boundaries; this tests implementation rather than physical realism.",
          "context": "Tests a PDE implementation using a constructed exact solution."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "maxwell-electromagnetic-model",
          "type": "Numerically solves",
          "note": "Discretizes the time-dependent curl equations on a staggered grid."
        },
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "material-point-method-mpm",
      "name": "Material point method (MPM)",
      "description": "Transfers particle-carried material state to a computational grid.",
      "example": "Large-deformation soil motion.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Material+point+method+%28MPM%29",
      "math": {
        "equation": "mi=Σp mp Ni(xp); fi,int=−Σp Vp σp·∇Ni(xp)",
        "derivation": [
          "Store mass, stress and history on material particles.",
          "Transfer mass and internal forces to a background grid using shape functions Ni.",
          "Solve grid momentum and transfer updated motion back to particles."
        ],
        "assumptions": "Representative MPM mapping; transfer choices, cell crossing and boundary conditions affect conservation and accuracy.",
        "tex": "m_i=\\sum_p m_pN_i(x_p); f_{i,\\mathrm{int}}=-\\sum_pV_p\\sigma_p\\cdot\\nabla N_i(x_p)"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Large-deformation material solvers",
        "implementation": {
          "name": "CB-Geo MPM",
          "url": "https://mpm.cb-geo.com/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Sulsky et al. — A particle method for history-dependent materials (1994)",
          "url": "https://doi.org/10.1016/0045-7825(94)90112-0"
        }
      ],
      "recommendations": [
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "monte-carlo-transport",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "monte-carlo-transport",
      "name": "Monte Carlo transport",
      "description": "Samples particle histories and interactions statistically.",
      "example": "Radiation shielding calculations with sampling uncertainty.",
      "discipline": "Numerical solution methods",
      "scale": "Cross-scale",
      "kind": "Numerical method",
      "limitations": "A numerical method solves a chosen model; consistency, stability, conservation and convergence do not by themselves validate the physics.",
      "google_search": "https://www.google.com/search?q=Monte+Carlo+transport",
      "math": {
        "equation": "s=−ln ξ/Σt; tally estimate = (1/N)Σk wk fk",
        "derivation": [
          "Sample a free path from the exponential survival law in a homogeneous material.",
          "Sample interaction type and outgoing state using cross sections.",
          "Average weighted particle-history contributions to estimate observables and sampling error."
        ],
        "assumptions": "ξ is uniform on (0,1); heterogeneous materials require boundary tracking. Variance-reduction weights must preserve unbiased tallies.",
        "tex": "s=-\\frac{\\ln\\xi}{\\Sigma_t}; \\text{tally estimate}=\\frac1N\\sum_k w_kf_k"
      },
      "application": {
        "area": "Numerical solution methods",
        "product_examples": "Monte Carlo radiation transport packages",
        "implementation": {
          "name": "OpenMC",
          "url": "https://docs.openmc.org/en/stable/methods/index.html",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "OpenMC — transport theory and methodology",
          "url": "https://docs.openmc.org/en/stable/methods/index.html"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Quasi-Monte Carlo",
          "url": "https://iicsm.org/numericalmodeling/#quasi-monte-carlo",
          "role": "Uncertainty integration",
          "note": "For well-behaved parameter integrals where low-discrepancy coverage helps; use randomized replicates for uncertainty assessment.",
          "context": "Uses low-discrepancy points to cover an integration domain evenly."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-volume-method-fvm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-method-fdm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "boundary-element-method-bem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "spectral-method",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "smoothed-particle-hydrodynamics-sph",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "discrete-element-method-dem",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "lattice-boltzmann-method-lbm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-numerical-simulation-dns",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "direct-simulation-monte-carlo-dsmc",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "particle-in-cell-pic",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "finite-difference-time-domain-fdtd",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "material-point-method-mpm",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "homogenization",
      "name": "Homogenization",
      "description": "Derives effective properties or equations from smaller-scale structure.",
      "example": "Equivalent stiffness of a composite.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Homogenization",
      "math": {
        "equation": "σ̄=Ceff:ε̄; σ̄=⟨σ⟩; ε̄=⟨ε⟩",
        "derivation": [
          "Solve a microscale boundary-value problem under imposed macroscopic loading.",
          "Average stress and strain over a representative region.",
          "Define an effective constitutive relation consistent with those averages."
        ],
        "assumptions": "Linear elastic example; scale separation, boundary conditions and statistical representativeness determine validity.",
        "tex": "\\bar\\sigma=C_{\\mathrm{eff}}:\\bar\\varepsilon; \\bar\\sigma=\\langle\\sigma\\rangle; \\bar\\varepsilon=\\langle\\varepsilon\\rangle"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Composite effective-property tools",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — modeling modules and technical documentation",
          "url": "https://mooseframework.inl.gov/modules/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "representative-volume-element-rve",
      "name": "Representative volume element (RVE)",
      "description": "Uses a finite microstructural sample to estimate bulk response.",
      "example": "Effective conductivity of a heterogeneous material.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Representative+volume+element+%28RVE%29",
      "math": {
        "equation": "Keff G=⟨k(x)(G+∇w)⟩",
        "derivation": [
          "Choose a sample of heterogeneous material and impose average temperature gradient G.",
          "Solve for the microscopic fluctuation field w with compatible boundary conditions.",
          "Average the flux to infer effective conductivity."
        ],
        "assumptions": "Representative volume element conductivity example; tensor columns follow from independent applied gradients. An undersized sample may not be representative.",
        "tex": "K_{\\mathrm{eff}}G=\\langle k(x)(G+\\nabla w)\\rangle"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Microstructure property simulations",
        "implementation": {
          "name": "MOOSE",
          "url": "https://mooseframework.inl.gov/modules/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "INL MOOSE — modeling modules and technical documentation",
          "url": "https://mooseframework.inl.gov/modules/"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "fe2-computational-homogenization",
          "type": "Can support",
          "note": "A microscale boundary-value problem supplies a macroscale constitutive response."
        },
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "fe2-computational-homogenization",
      "name": "FE² computational homogenization",
      "description": "Solves microscale problems within a macroscale finite-element calculation.",
      "example": "A multiscale composite deformation simulation.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=FE%C2%B2+computational+homogenization",
      "math": {
        "equation": "σ̄(ε̄)=∣Ωmicro∣⁻¹∫Ωmicro σ(ε̄+∇sũ)dV",
        "derivation": [
          "At each macroscale integration point, impose its strain on a microscale problem.",
          "Solve the microstructure’s equilibrium with compatible fluctuation boundaries.",
          "Return volume-averaged stress and a consistent tangent to the macroscale solver."
        ],
        "assumptions": "Small-strain FE² example; ∇s is the symmetric gradient. Computational cost and micro-macro energy consistency are central.",
        "tex": "\\bar\\sigma(\\bar\\varepsilon)=\\frac1{|\\Omega_{\\mathrm{micro}}|}\\int_{\\Omega_{\\mathrm{micro}}}\\sigma(\\bar\\varepsilon+\\nabla^s\\tilde u)\\,dV"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Multiscale finite-element research systems",
        "implementation": {
          "name": "deal.II",
          "url": "https://www.dealii.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Feyel and Chaboche — FE² multiscale approach (2000)",
          "url": "https://doi.org/10.1016/S0045-7825(99)00224-8"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Conjugate gradient",
          "url": "https://iicsm.org/numericalmodeling/#conjugate-gradient",
          "role": "Linear solve",
          "note": "Only when both the matrix and preconditioner satisfy the required symmetry and positive-definiteness conditions.",
          "context": "Solves symmetric positive-definite systems using conjugate search directions."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "finite-element-method-fem-fea",
          "type": "Uses numerical method",
          "note": "Finite elements discretize coupled macro- and microscale problems."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Uses microscale problem on",
          "note": "A microscale boundary-value problem supplies a macroscale constitutive response."
        },
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "qm-mm-coupling",
      "name": "QM/MM coupling",
      "description": "Combines quantum mechanics in a selected region with molecular mechanics around it.",
      "example": "A local chemical event in a large molecular environment.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=QM%2FMM+coupling",
      "math": {
        "equation": "Etotal=EQM+EMM+Ecoupling",
        "derivation": [
          "Partition the system into a quantum region and a molecular-mechanics environment.",
          "Evaluate each region with its chosen representation.",
          "Add compatible electrostatic, van der Waals and boundary coupling terms and differentiate for forces."
        ],
        "assumptions": "Additive QM/MM form; subtractive schemes use different bookkeeping. Link atoms, polarization and double counting require care.",
        "tex": "E_{\\mathrm{total}}=E_{\\mathrm{QM}}+E_{\\mathrm{MM}}+E_{\\mathrm{coupling}}"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Molecular reaction simulation packages",
        "implementation": {
          "name": "CP2K",
          "url": "https://manual.cp2k.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Warshel and Levitt — Theoretical studies of enzymic reactions (1976)",
          "url": "https://doi.org/10.1016/0022-2836(76)90311-9"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "atomisticcontinuum-coupling",
      "name": "Atomistic–continuum coupling",
      "description": "Connects particle-level and continuum descriptions.",
      "example": "A local defect embedded in a larger solid.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Atomistic%E2%80%93continuum+coupling",
      "math": {
        "equation": "Etotal≈Eatomistic+Econtinuum+Einterface",
        "derivation": [
          "Resolve atomistic detail where discrete effects matter.",
          "Use an effective continuum energy away from that region.",
          "Construct interface coupling that transfers forces and avoids double counting."
        ],
        "assumptions": "Schematic energy-based coupling; ghost forces and patch-test consistency depend on the specific method.",
        "tex": "E_{\\mathrm{total}}\\approx E_{\\mathrm{atomistic}}+E_{\\mathrm{continuum}}+E_{\\mathrm{interface}}"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Multiscale materials research software",
        "implementation": {
          "name": "LAMMPS",
          "url": "https://docs.lammps.org/Intro_features.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Tadmor, Ortiz and Phillips — Quasicontinuum analysis of defects (1996)",
          "url": "https://doi.org/10.1080/01418619608243000"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "fluidstructure-interaction-fsi",
      "name": "Fluid–structure interaction (FSI)",
      "description": "Couples fluid loads with structural motion or deformation.",
      "example": "Flow-induced motion of a flexible valve.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Fluid%E2%80%93structure+interaction+%28FSI%29",
      "math": {
        "equation": "uf=∂tds at Γ; σf nf+σs ns=0",
        "derivation": [
          "Solve fluid and structural momentum equations in their respective domains.",
          "Enforce matching interface velocity.",
          "Enforce equal-and-opposite interface tractions and update geometry consistently."
        ],
        "assumptions": "No-slip fluid–structure coupling; partitioned or monolithic solvers need stable exchange and compatible interface discretization.",
        "tex": "u_f=\\partial_td_s\\quad\\text{at }\\Gamma; \\sigma_fn_f+\\sigma_sn_s=0"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Flexible-valve flow simulations",
        "implementation": {
          "name": "COMSOL Multiphysics — CFD Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — CFD Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.cfd/CFDModuleUsersGuide.pdf"
        },
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        }
      ],
      "relationships": [
        {
          "target": "navierstokes-model",
          "type": "Can couple fluid component",
          "note": "Fluid and solid models exchange interface traction and motion; fluid formulation depends on regime."
        },
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "thermomechanical-coupling",
      "name": "Thermomechanical coupling",
      "description": "Couples temperature evolution and mechanical response.",
      "example": "Thermal stress in a heated component.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Thermomechanical+coupling",
      "math": {
        "equation": "σ=C:(ε−αΔT I); ρcp Ṫ=∇·(k∇T)+Q",
        "derivation": [
          "Represent thermal expansion as a stress-free strain.",
          "Subtract it from total strain in the elastic constitutive law.",
          "Solve the thermal energy balance and couple deformation-dependent heat or geometry effects when needed."
        ],
        "assumptions": "Linear isotropic thermoelastic example; α is thermal expansion coefficient. Full thermodynamics can include mechanical heating and reversible coupling.",
        "tex": "\\sigma=C:(\\varepsilon-\\alpha\\Delta TI); \\rho c_p\\dot T=\\nabla\\cdot(k\\nabla T)+Q"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Thermal stress simulations",
        "implementation": {
          "name": "COMSOL Multiphysics — Structural Mechanics Module",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        },
        {
          "title": "COMSOL — Structural Mechanics Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.sme/StructuralMechanicsModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Finite element method",
          "url": "https://iicsm.org/numericalmodeling/#finite-element-method",
          "role": "Discretization",
          "note": "For a suitable weak-form spatial problem; choose function spaces and boundary conditions for the operator.",
          "context": "Uses piecewise basis functions and a weak formulation on a mesh."
        },
        {
          "name": "Newton-Krylov method",
          "url": "https://iicsm.org/numericalmodeling/#newton-krylov-method",
          "role": "Large nonlinear solve",
          "note": "For large smooth residual systems; matrix-free products still need effective preconditioning and globalization.",
          "context": "Solves each Newton correction approximately with a Krylov method."
        },
        {
          "name": "IMEX integration",
          "url": "https://iicsm.org/numericalmodeling/#imex-integration",
          "role": "Split time integration",
          "note": "When a meaningful stiff/nonstiff split exists; check the stability and coupling error of both parts.",
          "context": "Treats stiff terms implicitly and nonstiff terms explicitly."
        }
      ],
      "relationships": [
        {
          "target": "transient-heat-equation",
          "type": "Can couple thermal component",
          "note": "Temperature affects deformation and material properties; mechanical processes may also generate heat."
        },
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "proper-orthogonal-decomposition-pod",
      "name": "Proper orthogonal decomposition (POD)",
      "description": "Builds a compact basis from representative field snapshots.",
      "example": "Reduced prediction of recurring flow patterns.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Proper+orthogonal+decomposition+%28POD%29",
      "math": {
        "equation": "X=UΣVᵀ; x≈Ur a",
        "derivation": [
          "Collect representative state snapshots into a matrix X.",
          "Compute its singular value decomposition.",
          "Keep the leading r left singular vectors, which minimize squared reconstruction error for an orthonormal rank-r basis."
        ],
        "assumptions": "POD alone provides a basis, not an evolution law; projecting dynamics or fitting reduced equations is an additional step.",
        "tex": "X=U\\Sigma V^{\\mathsf T}; x\\approx U_ra"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Reduced flow-analysis tools",
        "implementation": {
          "name": "pyMOR",
          "url": "https://docs.pymor.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Sirovich — Turbulence and the dynamics of coherent structures, Part I (1987)",
          "url": "https://doi.org/10.1090/qam/910462"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "QR factorization",
          "url": "https://iicsm.org/numericalmodeling/#qr-factorization",
          "role": "Stable fitting / linear solve",
          "note": "For a linearized least-squares or calibration problem; use pivoting or SVD when rank is uncertain.",
          "context": "Uses an orthogonal factorization to solve least-squares systems."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "reduced-basis-model",
      "name": "Reduced basis model",
      "description": "Projects a parameterized governing model onto a small approximation space.",
      "example": "Fast repeated evaluation of an engineering design.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Reduced+basis+model",
      "math": {
        "equation": "VrᵀA(μ)Vr ar=Vrᵀb(μ); u≈Vr ar",
        "derivation": [
          "Generate representative solutions over a parameter domain.",
          "Build a small basis Vr from those solutions.",
          "Project the governing equations onto that basis to reduce solve dimension."
        ],
        "assumptions": "Linear parameterized-system example; nonlinear problems need efficient evaluation or hyper-reduction and error control.",
        "tex": "V_r^{\\mathsf T}A(\\mu)V_ra_r=V_r^{\\mathsf T}b(\\mu); u\\approx V_ra_r"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Fast parameterized design models",
        "implementation": {
          "name": "pyMOR",
          "url": "https://docs.pymor.org/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Quarteroni, Manzoni and Negri — Reduced Basis Methods for PDEs (2016)",
          "url": "https://doi.org/10.1007/978-3-319-15431-2"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "QR factorization",
          "url": "https://iicsm.org/numericalmodeling/#qr-factorization",
          "role": "Stable fitting / linear solve",
          "note": "For a linearized least-squares or calibration problem; use pivoting or SVD when rank is uncertain.",
          "context": "Uses an orthogonal factorization to solve least-squares systems."
        },
        {
          "name": "LU factorization",
          "url": "https://iicsm.org/numericalmodeling/#lu-factorization",
          "role": "Linear solve",
          "note": "For assembled nonsingular linear systems; pivoting, conditioning, and sparse fill-in determine reliability and cost.",
          "context": "Solves a linear system through triangular factors with pivoting."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "gaussian-process-surrogate",
      "name": "Gaussian-process surrogate",
      "description": "Predicts responses with a probabilistic function model fitted to samples.",
      "example": "Emulating an expensive simulation over a bounded design space.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Gaussian-process+surrogate",
      "math": {
        "equation": "μ*=k*ᵀ(K+σn²I)⁻¹y; σ*²=k**−k*ᵀ(K+σn²I)⁻¹k*",
        "derivation": [
          "Assign a Gaussian-process prior with a chosen kernel.",
          "Combine its joint Gaussian distribution at training and query points with a noise model.",
          "Condition on observed data to obtain predictive mean and variance."
        ],
        "assumptions": "Zero-mean GP formulas; K is training covariance and k* cross-covariance. Predictive uncertainty depends on kernel and data assumptions.",
        "tex": "\\mu_*=k_*^{\\mathsf T}(K+\\sigma_n^2I)^{-1}y; \\sigma_*^2=k_{**}-k_*^{\\mathsf T}(K+\\sigma_n^2I)^{-1}k_*"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Probabilistic simulation emulators",
        "implementation": {
          "name": "GPflow",
          "url": "https://gpflow.github.io/GPflow/develop/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Rasmussen and Williams — Gaussian Processes for Machine Learning",
          "url": "https://gaussianprocess.org/gpml/"
        }
      ],
      "recommendations": [
        {
          "name": "Cholesky factorization",
          "url": "https://iicsm.org/numericalmodeling/#cholesky-factorization",
          "role": "Linear solve",
          "note": "Only for symmetric positive-definite assembled systems after constraints are handled; not for general coupled saddle-point systems.",
          "context": "Factors a symmetric positive-definite matrix efficiently."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "physics-informed-neural-network-pinn",
      "name": "Physics-informed neural network (PINN)",
      "description": "Trains a neural approximation using data and governing-equation residuals.",
      "example": "An approximate solution of a specified differential equation.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Physics-informed+neural+network+%28PINN%29",
      "math": {
        "equation": "L(θ)=λdataΣ∣uθ−y∣²+λPDEΣ∣N[uθ]−f∣²+λBC LBC",
        "derivation": [
          "Approximate the solution by a neural function uθ.",
          "Evaluate governing-equation residuals and boundary errors, often using automatic differentiation.",
          "Optimize a weighted loss combining physics and observations."
        ],
        "assumptions": "PINN method; a small sampled residual does not guarantee a uniformly accurate or conservative solution.",
        "tex": "\\mathcal L(\\theta)=\\lambda_{\\mathrm{data}}\\sum|u_\\theta-y|^2+\\lambda_{\\mathrm{PDE}}\\sum|\\mathcal N[u_\\theta]-f|^2+\\lambda_{\\mathrm{BC}}\\mathcal L_{\\mathrm{BC}}"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Physics-informed PDE research tools",
        "implementation": {
          "name": "DeepXDE",
          "url": "https://deepxde.readthedocs.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Raissi, Perdikaris and Karniadakis — Physics-informed neural networks (2019)",
          "url": "https://doi.org/10.1016/j.jcp.2018.10.045"
        }
      ],
      "recommendations": [
        {
          "name": "Gradient descent",
          "url": "https://iicsm.org/numericalmodeling/#gradient-descent",
          "role": "Parameter fitting",
          "note": "For a differentiable calibration objective with a justified step rule; slow convergence is possible under poor scaling.",
          "context": "Moves downhill along the negative objective gradient."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "neural-operator",
      "name": "Neural operator",
      "description": "Learns a map between function-valued inputs and outputs.",
      "example": "Surrogate prediction of parameterized solution fields.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Neural+operator",
      "math": {
        "equation": "u≈Gθ(a); vl+1(x)=σ[Wl vl(x)+∫κl(x,y)vl(y)dy]",
        "derivation": [
          "Represent the desired map from coefficient or forcing field a to solution field u.",
          "Build layers that mix information locally and through an integral kernel.",
          "Fit parameters from solution pairs, optionally adding physical constraints."
        ],
        "assumptions": "Representative neural-operator layer; Fourier operators parameterize the integral via spectral multipliers. Generalization requires validation.",
        "tex": "u\\approx\\mathcal G_\\theta(a); v_{l+1}(x)=\\sigma[W_lv_l(x)+\\int\\kappa_l(x,y)v_l(y)\\,dy]"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Learned PDE surrogate packages",
        "implementation": {
          "name": "neuraloperator",
          "url": "https://neuraloperator.github.io/dev/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Li et al. — Fourier Neural Operator (2020)",
          "url": "https://arxiv.org/abs/2010.08895"
        }
      ],
      "recommendations": [
        {
          "name": "Gradient descent",
          "url": "https://iicsm.org/numericalmodeling/#gradient-descent",
          "role": "Parameter fitting",
          "note": "For a differentiable calibration objective with a justified step rule; slow convergence is possible under poor scaling.",
          "context": "Moves downhill along the negative objective gradient."
        },
        {
          "name": "L-BFGS-B",
          "url": "https://iicsm.org/numericalmodeling/#l-bfgs-b",
          "role": "Bounded calibration",
          "note": "For smooth parameter fitting with physical bounds; local minima and identifiability still require assessment.",
          "context": "Uses limited curvature history with bound constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "digital-twin-framework",
      "name": "Digital twin framework",
      "description": "Links an evolving model of a specific asset with observations.",
      "example": "Updating a machine model using operating measurements.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Digital+twin+framework",
      "math": {
        "equation": "xk+1=fθ(xk,uk); yk=hθ(xk)+vk; (x̂,θ)←update(data)",
        "derivation": [
          "Define a model of a specific physical asset.",
          "Assimilate measurements to update states or parameters.",
          "Use the synchronized model for prediction and decisions, then continue updating as observations arrive."
        ],
        "assumptions": "Digital twin is an architecture, not a unique equation; identity, update cadence, uncertainty and validation are part of its definition.",
        "tex": "x_{k+1}=f_\\theta(x_k,u_k); y_k=h_\\theta(x_k)+v_k; (\\hat x,\\theta)\\leftarrow\\operatorname{update}(\\text{data})"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Connected asset monitoring platforms",
        "implementation": {
          "name": "Ansys Twin Builder",
          "url": "https://www.ansys.com/products/digital-twin/ansys-twin-builder",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "NIST — Digital Twins for Advanced Manufacturing",
          "url": "https://www.nist.gov/programs-projects/digital-twins-advanced-manufacturing"
        }
      ],
      "recommendations": [
        {
          "name": "Gaussian-process regression",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-process-regression",
          "role": "Surrogate / uncertainty",
          "note": "For an expensive-simulation or data surrogate; predictive uncertainty is conditional on kernel and noise assumptions.",
          "context": "Predicts a response using a covariance model and observed data."
        },
        {
          "name": "Dynamic mode decomposition",
          "url": "https://iicsm.org/numericalmodeling/#dynamic-mode-decomposition",
          "role": "Dynamics analysis",
          "note": "For time-resolved snapshots; modes describe a fitted evolution map and need not capture all nonlinear behavior.",
          "context": "Fits a linear evolution map between successive snapshots."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "bayesian-model-calibration",
      "name": "Bayesian model calibration",
      "description": "Updates uncertain parameters using observations and a statistical likelihood.",
      "example": "Estimating heat-transfer parameters with uncertainty.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Bayesian+model+calibration",
      "math": {
        "equation": "p(θ∣y) ∝ p(y∣θ)p(θ)",
        "derivation": [
          "Choose a prior distribution for uncertain parameters.",
          "Construct a likelihood from observations, noise and any model-discrepancy assumptions.",
          "Apply Bayes’ rule to obtain a posterior for prediction and uncertainty propagation."
        ],
        "assumptions": "Identifiability and mismatch between model and reality can dominate; a narrow posterior does not prove model validity.",
        "tex": "p(\\theta\\mid y)\\propto p(y\\mid\\theta)p(\\theta)"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Model calibration software",
        "implementation": {
          "name": "PyMC",
          "url": "https://www.pymc.io/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "Kennedy and O’Hagan — Bayesian calibration of computer models (2001)",
          "url": "https://doi.org/10.1111/1467-9868.00294"
        }
      ],
      "recommendations": [
        {
          "name": "Metropolis-Hastings sampling",
          "url": "https://iicsm.org/numericalmodeling/#metropolis-hastings-sampling",
          "role": "Equilibrium / posterior sampling",
          "note": "For a specified target distribution; diagnose mixing and correlation. Samples do not generally represent physical time.",
          "context": "Builds a Markov chain with a desired stationary density."
        },
        {
          "name": "Importance sampling",
          "url": "https://iicsm.org/numericalmodeling/#importance-sampling",
          "role": "Rare-event / expectation estimation",
          "note": "For a known target and proposal with correct support and controlled weight variance.",
          "context": "Changes the sampling distribution to focus on influential regions."
        },
        {
          "name": "Quasi-Monte Carlo",
          "url": "https://iicsm.org/numericalmodeling/#quasi-monte-carlo",
          "role": "Uncertainty integration",
          "note": "For well-behaved parameter integrals where low-discrepancy coverage helps; use randomized replicates for uncertainty assessment.",
          "context": "Uses low-discrepancy points to cover an integration domain evenly."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "polynomial-chaos-expansion",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "polynomial-chaos-expansion",
      "name": "Polynomial chaos expansion",
      "description": "Represents uncertain responses with polynomial functions of random inputs.",
      "example": "Propagation of material-property uncertainty.",
      "discipline": "Multiscale, reduced & data-driven models",
      "scale": "Cross-scale",
      "kind": "Framework",
      "limitations": "Training data, scale separation and coupling consistency bound validity; extrapolation and model discrepancy need explicit assessment.",
      "google_search": "https://www.google.com/search?q=Polynomial+chaos+expansion",
      "math": {
        "equation": "Y(ξ)≈Σα cαΨα(ξ); cα=E[YΨα]/E[Ψα²]",
        "derivation": [
          "Represent uncertainty with random inputs ξ.",
          "Choose orthogonal polynomials for their probability law.",
          "Project the response onto those polynomials or fit coefficients from samples."
        ],
        "assumptions": "Truncated polynomial chaos expansion; smoothness and dimension affect convergence. Correlated inputs require suitable transformations or bases.",
        "tex": "Y(\\xi)\\approx\\sum_\\alpha c_\\alpha\\Psi_\\alpha(\\xi); c_\\alpha=\\frac{\\mathbb E[Y\\Psi_\\alpha]}{\\mathbb E[\\Psi_\\alpha^2]}"
      },
      "application": {
        "area": "Multiscale, reduced & data-driven models",
        "product_examples": "Uncertainty-propagation software",
        "implementation": {
          "name": "Chaospy",
          "url": "https://chaospy.readthedocs.io/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Xiu and Karniadakis — The Wiener–Askey polynomial chaos (2002)",
          "url": "https://doi.org/10.1137/S1064827501387826"
        }
      ],
      "recommendations": [
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Quasi-Monte Carlo",
          "url": "https://iicsm.org/numericalmodeling/#quasi-monte-carlo",
          "role": "Uncertainty integration",
          "note": "For well-behaved parameter integrals where low-discrepancy coverage helps; use randomized replicates for uncertainty assessment.",
          "context": "Uses low-discrepancy points to cover an integration domain evenly."
        }
      ],
      "relationships": [
        {
          "target": "homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "representative-volume-element-rve",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fe2-computational-homogenization",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "qm-mm-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "atomisticcontinuum-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "fluidstructure-interaction-fsi",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "thermomechanical-coupling",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "proper-orthogonal-decomposition-pod",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "reduced-basis-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "gaussian-process-surrogate",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "physics-informed-neural-network-pinn",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "neural-operator",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "digital-twin-framework",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "bayesian-model-calibration",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "geometrically-scaled-physical-model",
      "name": "Geometrically scaled physical model",
      "description": "Reproduces a system's shape at another size.",
      "example": "A reduced-size architectural or machinery prototype.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Geometrically+scaled+physical+model",
      "math": {
        "equation": "Πmodel=Πprototype; xmodel=λL xprototype",
        "derivation": [
          "Choose a geometric length ratio λL.",
          "Nondimensionalize the governing equations.",
          "Match the dimensionless groups that control the phenomenon, rather than geometry alone."
        ],
        "assumptions": "A scale model cannot generally preserve all similarity conditions with the same fluid and gravity; prioritize the relevant physics.",
        "tex": "\\Pi_{\\mathrm{model}}=\\Pi_{\\mathrm{prototype}}; x_{\\mathrm{model}}=\\lambda_Lx_{\\mathrm{prototype}}"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Scale engineering prototypes",
        "implementation": {
          "name": "Modelica Standard Library",
          "url": "https://doc.modelica.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "NASA Glenn — similarity parameters in model testing",
          "url": "https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/similarity-parameters/"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "wind-tunnel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydraulic-flume-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "wind-tunnel-model",
      "name": "Wind-tunnel model",
      "description": "Uses a controlled air stream around a physical specimen.",
      "example": "Measuring aerodynamic forces on a scale aircraft.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Wind-tunnel+model",
      "math": {
        "equation": "Rem=Rep; Mam=Map when both matter",
        "derivation": [
          "Identify viscous and compressibility effects through Reynolds and Mach numbers.",
          "Choose model size, speed, fluid properties and pressure to match important nondimensional conditions.",
          "Use nondimensional force coefficients to transfer measurements."
        ],
        "assumptions": "Wind-tunnel walls, support interference, transition and surface roughness also affect similarity.",
        "tex": "\\mathrm{Re}_m=\\mathrm{Re}_p; \\mathrm{Ma}_m=\\mathrm{Ma}_p\\quad\\text{when both matter}"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Wind-tunnel test models",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "NASA Glenn — similarity parameters in model testing",
          "url": "https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/similarity-parameters/"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Gaussian-process regression",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-process-regression",
          "role": "Surrogate / uncertainty",
          "note": "For an expensive-simulation or data surrogate; predictive uncertainty is conditional on kernel and noise assumptions.",
          "context": "Predicts a response using a covariance model and observed data."
        }
      ],
      "relationships": [
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Uses similarity criteria from",
          "note": "Relevant dimensionless groups and boundary conditions guide the experimental scaling."
        },
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydraulic-flume-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hydraulic-flume-model",
      "name": "Hydraulic flume model",
      "description": "Uses physical water flow with selected similarity conditions.",
      "example": "Testing a river structure or spillway.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Hydraulic+flume+model",
      "math": {
        "equation": "Frm=Frp; Umodel/Uprototype=√λL",
        "derivation": [
          "For gravity-dominated free-surface flow, match Froude number Fr=U/√(gL).",
          "Use equal gravitational acceleration and a geometric scale λL.",
          "Solve the equality for velocity scale and obtain time scale √λL."
        ],
        "assumptions": "Viscous and surface-tension similarity may conflict with Froude scaling, especially at small model sizes.",
        "tex": "\\mathrm{Fr}_m=\\mathrm{Fr}_p; \\frac{U_{\\mathrm{model}}}{U_{\\mathrm{prototype}}}=\\sqrt{\\lambda_L}"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Physical hydraulic scale models",
        "implementation": {
          "name": "HEC-RAS",
          "url": "https://www.hec.usace.army.mil/confluence/rasdocs",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "US Army Corps of Engineers — HEC-RAS technical documentation",
          "url": "https://www.hec.usace.army.mil/confluence/rasdocs"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Composite Simpson rule",
          "url": "https://iicsm.org/numericalmodeling/#composite-simpson-rule",
          "role": "Integral / post-processing",
          "note": "For smooth sampled responses with compatible spacing; do not apply its uniform-grid error order blindly.",
          "context": "Integrates pairs of intervals using quadratic interpolation."
        }
      ],
      "relationships": [
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Uses similarity criteria from",
          "note": "Gravity-dominated free-surface experiments commonly prioritize Froude similarity."
        },
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "wind-tunnel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "shake-table-structural-model",
      "name": "Shake-table structural model",
      "description": "Excites a physical structure with controlled base motion.",
      "example": "Investigating a scaled building's dynamic response.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Shake-table+structural+model",
      "math": {
        "equation": "M ü+C u̇+Ku=−M r a₍g₎(t)",
        "derivation": [
          "Write structure dynamics relative to a moving base.",
          "Convert base acceleration ag into an equivalent inertial load.",
          "Apply a scaled base-motion history in a shake-table experiment and compare response."
        ],
        "assumptions": "r is the influence vector. A physical test must match relevant mass, stiffness, damping and time scales.",
        "tex": "M\\ddot u+C\\dot u+Ku=-Mr a_g(t)"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Shake-table structural specimens",
        "implementation": {
          "name": "UC San Diego LHPOST6 shake table",
          "url": "https://esec.ucsd.edu/",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "UC San Diego — Englekirk Structural Engineering Center, shake-table experiments",
          "url": "https://esec.ucsd.edu/"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "wind-tunnel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydraulic-flume-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "photoelastic-model",
      "name": "Photoelastic model",
      "description": "Uses stress-induced optical birefringence to visualize stress patterns.",
      "example": "Identifying stress concentrations in a transparent specimen.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Photoelastic+model",
      "math": {
        "equation": "Nf=t(σ₁−σ₂)/fσ",
        "derivation": [
          "Use stress-induced birefringence to relate refractive-index difference to principal-stress difference.",
          "Integrate optical retardation through specimen thickness t.",
          "Express retardation as fringe order Nf using the calibrated stress-optic coefficient fσ."
        ],
        "assumptions": "Plane photoelasticity relation under suitable optical assumptions; calibration, residual stress and three-dimensional effects matter.",
        "tex": "N_f=\\frac{t(\\sigma_1-\\sigma_2)}{f_\\sigma}"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Photoelastic test specimens",
        "implementation": {
          "name": "Vishay Micro-Measurements PhotoStress system",
          "url": "https://micro-measurements.com/photostress",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "Dally and Riley — Experimental Stress Analysis, 3rd ed., McGraw-Hill (1991), photoelasticity chapters",
          "url": "https://books.google.com/books?id=d23CQgAACAAJ"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "wind-tunnel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydraulic-flume-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "electrical-analog-model",
      "name": "Electrical analog model",
      "description": "Maps another physical system onto an electrical network.",
      "example": "Using an RC network as a thermal-system analog.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Electrical+analog+model",
      "math": {
        "equation": "Cth Ṫ+(T−T∞)/Rth=Q ↔ C V̇+V/R=I",
        "derivation": [
          "Write a lumped thermal storage-and-resistance balance.",
          "Compare it term by term with Kirchhoff current balance for an RC circuit.",
          "Map temperature to voltage and heat flow to current with chosen scale factors."
        ],
        "assumptions": "An electrical analog reproduces the mapped equations within component tolerances; it does not automatically reproduce all physical effects.",
        "tex": "C_{\\mathrm{th}}\\dot T+\\frac{T-T_\\infty}{R_{\\mathrm{th}}}=Q\\quad\\leftrightarrow\\quad C\\dot V+V/R=I"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Thermal RC analog circuits",
        "implementation": {
          "name": "ngspice",
          "url": "https://ngspice.sourceforge.io/docs/ngspice-manual.pdf",
          "note": "Named modeling product or research implementation. Consult its documentation for supported variants and required modules."
        }
      },
      "references": [
        {
          "title": "COMSOL — Heat Transfer Module User’s Guide",
          "url": "https://doc.comsol.com/6.3/doc/com.comsol.help.heat/HeatTransferModuleUsersGuide.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "thermal-resistance-capacitance-network",
          "type": "Can provide an analogy for",
          "note": "Temperature/heat-flow balances can map to voltage/current with consistent capacitances and resistances."
        },
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "wind-tunnel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydraulic-flume-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hardware-in-the-loop-model",
      "name": "Hardware-in-the-loop model",
      "description": "Couples actual hardware to simulated parts of a system.",
      "example": "Testing a controller against a simulated plant.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Hardware-in-the-loop+model",
      "math": {
        "equation": "xs,k+1=Fd(xs,k, uh,k); yh,k=Hs(xs,k)",
        "derivation": [
          "Simulate the plant or missing subsystem in real time.",
          "Exchange measured hardware outputs and simulated sensor signals through interfaces.",
          "Advance the simulation within each hardware sampling deadline."
        ],
        "assumptions": "HIL coupling requires bounded latency, calibrated I/O and stability under discretization; equations depend on the simulated plant and real hardware.",
        "tex": "x_{s,k+1}=F_d(x_{s,k},u_{h,k}); y_{h,k}=H_s(x_{s,k})"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Real-time hardware-in-the-loop test rigs",
        "implementation": {
          "name": "MATLAB / Simulink",
          "url": "https://www.mathworks.com/products/simulink.html",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "MathWorks — Hardware-in-the-loop simulation",
          "url": "https://www.mathworks.com/help/simscape/ug/what-is-hardware-in-the-loop-simulation.html"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "wind-tunnel-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hydraulic-flume-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "dimensional-analysis-similarity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "dimensional-analysis-similarity-model",
      "name": "Dimensional-analysis similarity model",
      "description": "Uses dimensionless groups to relate tests across scales.",
      "example": "Matching Reynolds or Froude behavior where appropriate.",
      "discipline": "Physical analogs & experimental models",
      "scale": "Cross-scale",
      "kind": "Physical analog",
      "limitations": "Match the relevant dimensionless groups and boundary conditions; one scaled experiment cannot usually preserve every similarity condition.",
      "google_search": "https://www.google.com/search?q=Dimensional-analysis+similarity+model",
      "math": {
        "equation": "Πj=product over i of xi^aij; Σi aij dim(xi)=0",
        "derivation": [
          "List the dimensional variables controlling a phenomenon.",
          "Find exponent combinations whose length, mass, time and other dimensions cancel.",
          "Relate the resulting dimensionless groups using theory or experiments."
        ],
        "assumptions": "Buckingham Π construction; n variables with a dimensional matrix of rank r give n−r independent groups, subject to completeness of the variable list.",
        "tex": "\\Pi_j=\\prod_i x_i^{a_{ij}}; \\sum_i a_{ij}\\operatorname{dim}(x_i)=0"
      },
      "application": {
        "area": "Physical analogs & experimental models",
        "product_examples": "Dimensionally scaled experimental models",
        "implementation": {
          "name": "Modelica Standard Library",
          "url": "https://doc.modelica.org/",
          "note": "Implementation route: this configurable product can express the formulation; a user-defined model or experimental setup is required."
        }
      },
      "references": [
        {
          "title": "NASA Glenn — similarity parameters in model testing",
          "url": "https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/similarity-parameters/"
        }
      ],
      "recommendations": [
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "For fitting a low-dimensional response or constitutive curve; scale variables and validate independently.",
          "context": "Fits basis coefficients by minimizing data residuals."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "For expectation or uncertainty calculations with a stated sampling law; this does not replace a specialized stochastic time integrator.",
          "context": "Estimates an integral by averaging independent random samples."
        }
      ],
      "relationships": [
        {
          "target": "hydraulic-flume-model",
          "type": "Guides",
          "note": "Gravity-dominated free-surface experiments commonly prioritize Froude similarity."
        },
        {
          "target": "wind-tunnel-model",
          "type": "Guides",
          "note": "Relevant dimensionless groups and boundary conditions guide the experimental scaling."
        },
        {
          "target": "geometrically-scaled-physical-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "shake-table-structural-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "photoelastic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "electrical-analog-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hardware-in-the-loop-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "ornstein-zernike-equation",
      "name": "Ornstein-Zernike equation",
      "description": "Relates total and direct pair correlations in a homogeneous liquid, linking microscopic structure to scattering.",
      "example": "Interpreting scattering structure factors of liquid and colloidal samples.",
      "discipline": "Liquid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Select an appropriate equilibrium, interaction, and transport regime. Closures and continuum limits have distinct validity ranges.",
      "google_search": "https://www.google.com/search?q=Ornstein-Zernike+equation",
      "math": {
        "equation": "h(r)=c(r)+rho integral c(r-r′)h(r′) dr′; S(k)=1/[1-rho c_hat(k)]",
        "derivation": [
          "Define the total correlation h=g-1 and direct correlation c.",
          "Separate the correlation into a direct contribution and indirect chains through other particles.",
          "Fourier transformation turns convolution into multiplication; solve for h_hat and use S=1+rho h_hat."
        ],
        "assumptions": "Homogeneous isotropic equilibrium fluid; rho is number density, g is radial distribution, k is wavevector. Fourier transform has no prefactor in the forward integral. A closure or supplied c is needed.",
        "tex": "h(r)=c(r)+\\rho\\int_{\\mathbb R^3}c(|\\mathbf r-\\mathbf r^{\\prime}|)h(r^{\\prime})\\,d^3r^{\\prime}; S(k)=\\frac{1}{1-\\rho\\widehat c(k)},\\quad h=g-1"
      },
      "application": {
        "area": "Liquid-state physics",
        "product_examples": "Small-angle scattering analysis of colloidal dispersions",
        "implementation": {
          "name": "SasView — hard-sphere specialization",
          "url": "https://www.sasview.org/docs/user/models/hardsphere.html",
          "note": "SasView implements a hard-sphere specialization using the Percus-Yevick closure, not a general OZ solver."
        }
      },
      "references": [
        {
          "title": "Walter Schirmacher — Theory of liquids and polymers, sections 2.4–2.9",
          "url": "https://www.staff.uni-mainz.de/schirmac/pdf/script1.pdf"
        },
        {
          "title": "SasView — hard-sphere structure factor with Percus-Yevick closure",
          "url": "https://www.sasview.org/docs/user/models/hardsphere.html"
        }
      ],
      "recommendations": [
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "Iterate the coupled OZ/closure equations with damping; check residuals and grid convergence, especially at high density.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Broyden method",
          "url": "https://iicsm.org/numericalmodeling/#broyden-method",
          "role": "Nonlinear solve",
          "note": "Solve the discretized OZ/closure residual with quasi-Newton mixing when simple iteration is slow; enforce core conditions and inspect convergence.",
          "context": "Updates an approximate Jacobian from observed changes."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "Evaluate radial correlation integrals or Fourier-Bessel transforms with controlled truncation and oscillatory-integration error.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "hypernetted-chain-hnc-closure",
          "type": "Can use closure",
          "note": "HNC neglects bridge contributions in the pair-correlation closure."
        },
        {
          "target": "percus-yevick-closure",
          "type": "Can use closure",
          "note": "Solve the closure and OZ relation together to obtain pair correlations."
        },
        {
          "target": "carnahan-starling-hard-sphere-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-einstein-diffusion-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "green-kubo-viscosity-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "percus-yevick-closure",
      "name": "Percus-Yevick closure",
      "description": "Closes the liquid integral equation using an approximate relation between pair correlations and interactions.",
      "example": "Fitting scattering from approximately neutral, hard-sphere colloidal dispersions.",
      "discipline": "Liquid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Select an appropriate equilibrium, interaction, and transport regime. Closures and continuum limits have distinct validity ranges.",
      "google_search": "https://www.google.com/search?q=Percus-Yevick+closure",
      "math": {
        "equation": "c(r)=[exp(-beta u(r))-1][1+gamma(r)]; gamma=h-c",
        "derivation": [
          "Introduce the indirect correlation gamma=h-c.",
          "Approximate g=exp(-beta u)(1+gamma), retaining a linear indirect-correlation factor.",
          "Use c=g-1-gamma and solve the closure together with Ornstein-Zernike."
        ],
        "assumptions": "beta=1/(k_B T), u is pair energy. Approximate classical pair-potential theory; pressure routes can disagree. Hard cores require g=0 inside the core.",
        "tex": "c(r)=\\left[e^{-\\beta u(r)}-1\\right]\\left[1+\\gamma(r)\\right],\\quad\\gamma=h-c,\\quad\\beta=(k_{\\mathrm B}T)^{-1}"
      },
      "application": {
        "area": "Liquid-state physics",
        "product_examples": "SasView hard-sphere structure-factor fitting",
        "implementation": {
          "name": "SasView — Percus-Yevick hard spheres",
          "url": "https://www.sasview.org/docs/user/models/hardsphere.html",
          "note": "Documented built-in hard-sphere structure factor; check charge and polydispersity restrictions."
        }
      },
      "references": [
        {
          "title": "Walter Schirmacher — Theory of liquids and polymers, sections 2.4–2.9",
          "url": "https://www.staff.uni-mainz.de/schirmac/pdf/script1.pdf"
        },
        {
          "title": "SasView — hard-sphere structure factor with Percus-Yevick closure",
          "url": "https://www.sasview.org/docs/user/models/hardsphere.html"
        }
      ],
      "recommendations": [
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "Iterate the coupled OZ/closure equations with damping; check residuals and grid convergence, especially at high density.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Broyden method",
          "url": "https://iicsm.org/numericalmodeling/#broyden-method",
          "role": "Nonlinear solve",
          "note": "Solve the discretized OZ/closure residual with quasi-Newton mixing when simple iteration is slow; enforce core conditions and inspect convergence.",
          "context": "Updates an approximate Jacobian from observed changes."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "Evaluate radial correlation integrals or Fourier-Bessel transforms with controlled truncation and oscillatory-integration error.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "carnahan-starling-hard-sphere-equation-of-state",
          "type": "Related hard-sphere EOS",
          "note": "Carnahan-Starling combines two thirds PY compressibility-route and one third PY virial-route hard-sphere pressures."
        },
        {
          "target": "ornstein-zernike-equation",
          "type": "Provides closure for",
          "note": "Solve the closure and OZ relation together to obtain pair correlations."
        },
        {
          "target": "hypernetted-chain-hnc-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-einstein-diffusion-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "green-kubo-viscosity-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "hypernetted-chain-hnc-closure",
      "name": "Hypernetted-chain (HNC) closure",
      "description": "Approximates liquid pair structure by neglecting bridge diagrams in the exact closure.",
      "example": "Estimating pair distributions in simple fluids with a specified pair potential.",
      "discipline": "Liquid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Select an appropriate equilibrium, interaction, and transport regime. Closures and continuum limits have distinct validity ranges.",
      "google_search": "https://www.google.com/search?q=Hypernetted-chain+%28HNC%29+closure",
      "math": {
        "equation": "g(r)=exp[-beta u(r)+h(r)-c(r)]",
        "derivation": [
          "Write the exact pair closure as g=exp(-beta u+gamma+B), with bridge contribution B.",
          "Set B=0 to obtain the HNC approximation.",
          "Combine h=g-1 with Ornstein-Zernike and iterate to self-consistency."
        ],
        "assumptions": "Classical equilibrium pair-potential fluid; beta=1/(k_B T). Bridge terms are omitted, which can impair dense, strongly correlated liquids. HNC is not an exact general liquid solution.",
        "tex": "g(r)=\\exp[-\\beta u(r)+h(r)-c(r)],\\quad h(r)=g(r)-1"
      },
      "application": {
        "area": "Liquid-state physics",
        "product_examples": "Custom liquid-structure calculations with Python/SciPy",
        "implementation": {
          "name": "SciPy — custom HNC residual solver",
          "url": "https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root.html",
          "note": "Custom implementation route: supply the discretized OZ/HNC residual, transforms, and convergence checks. SciPy does not supply a built-in HNC liquid model."
        }
      },
      "references": [
        {
          "title": "Walter Schirmacher — Theory of liquids and polymers, sections 2.4–2.9",
          "url": "https://www.staff.uni-mainz.de/schirmac/pdf/script1.pdf"
        },
        {
          "title": "SciPy — nonlinear root solvers for custom equations",
          "url": "https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root.html"
        }
      ],
      "recommendations": [
        {
          "name": "Fixed-point iteration",
          "url": "https://iicsm.org/numericalmodeling/#fixed-point-iteration",
          "role": "Self-consistency / coupling",
          "note": "Iterate the coupled OZ/closure equations with damping; check residuals and grid convergence, especially at high density.",
          "context": "Iterates a rearranged equation until the state stops changing."
        },
        {
          "name": "Broyden method",
          "url": "https://iicsm.org/numericalmodeling/#broyden-method",
          "role": "Nonlinear solve",
          "note": "Solve the discretized OZ/closure residual with quasi-Newton mixing when simple iteration is slow; enforce core conditions and inspect convergence.",
          "context": "Updates an approximate Jacobian from observed changes."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "Evaluate radial correlation integrals or Fourier-Bessel transforms with controlled truncation and oscillatory-integration error.",
          "context": "Subdivides intervals according to local integration-error estimates."
        }
      ],
      "relationships": [
        {
          "target": "ornstein-zernike-equation",
          "type": "Provides closure for",
          "note": "HNC neglects bridge contributions in the pair-correlation closure."
        },
        {
          "target": "percus-yevick-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "carnahan-starling-hard-sphere-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-einstein-diffusion-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "green-kubo-viscosity-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "carnahan-starling-hard-sphere-equation-of-state",
      "name": "Carnahan-Starling hard-sphere equation of state",
      "description": "Approximates the compressibility factor of a monodisperse hard-sphere fluid from its packing fraction.",
      "example": "Estimating excluded-volume pressure contributions in dense-fluid reference models.",
      "discipline": "Liquid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Select an appropriate equilibrium, interaction, and transport regime. Closures and continuum limits have distinct validity ranges.",
      "google_search": "https://www.google.com/search?q=Carnahan-Starling+hard-sphere+equation+of+state",
      "math": {
        "equation": "Z=p/(rho k_B T)=(1+phi+phi^2-phi^3)/(1-phi)^3; phi=pi rho sigma^3/6",
        "derivation": [
          "Define the occupied-volume fraction phi for spheres of diameter sigma.",
          "Approximate virial coefficients by B_n=n^2+n-2 for n>=2 in the expansion in phi.",
          "Sum the resulting geometric-series derivatives to obtain the rational expression for Z."
        ],
        "assumptions": "rho is number density, sigma sphere diameter, T temperature. Monodisperse, nonattracting hard-sphere fluid. This is a highly accurate approximation, not an exact EOS or a model of crystallization.",
        "tex": "Z=\\frac{p}{\\rho k_{\\mathrm B}T}=\\frac{1+\\phi+\\phi^2-\\phi^3}{(1-\\phi)^3},\\quad\\phi=\\frac{\\pi\\rho\\sigma^3}{6}"
      },
      "application": {
        "area": "Liquid-state physics",
        "product_examples": "Hard-sphere reference calculations for fluid-property research",
        "implementation": {
          "name": "Python / NumPy — custom Carnahan-Starling evaluation",
          "url": "https://doi.org/10.1063/1.1672048",
          "note": "Custom implementation route: evaluate the displayed algebraic expression. The reference is the original equation, not a claim of a built-in commercial EOS."
        }
      },
      "references": [
        {
          "title": "Carnahan & Starling (1969) — Equation of State for Nonattracting Rigid Spheres",
          "url": "https://doi.org/10.1063/1.1672048"
        },
        {
          "title": "Walter Schirmacher — Theory of liquids and polymers, sections 2.4–2.9",
          "url": "https://www.staff.uni-mainz.de/schirmac/pdf/script1.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Brent root finding",
          "url": "https://iicsm.org/numericalmodeling/#brent-root-finding",
          "role": "Scalar root",
          "note": "Invert the hard-sphere EOS for packing fraction at a specified pressure using a bracket within the fluid regime. Direct pressure evaluation requires no root solver.",
          "context": "Combines bracket reliability with interpolation-based acceleration."
        },
        {
          "name": "Bisection",
          "url": "https://iicsm.org/numericalmodeling/#bisection",
          "role": "Scalar root",
          "note": "A robust bracketed alternative for EOS inversion; restrict the bracket to the physically intended fluid branch.",
          "context": "Reliably narrows a continuous scalar root bracket."
        },
        {
          "name": "Polynomial least squares",
          "url": "https://iicsm.org/numericalmodeling/#polynomial-least-squares",
          "role": "Data fitting",
          "note": "Fit a limited-range surrogate to EOS evaluations only when repeated calls require it; verify the fit against the explicit formula.",
          "context": "Fits basis coefficients by minimizing data residuals."
        }
      ],
      "relationships": [
        {
          "target": "percus-yevick-closure",
          "type": "Related hard-sphere approximation",
          "note": "Carnahan-Starling combines two thirds PY compressibility-route and one third PY virial-route hard-sphere pressures."
        },
        {
          "target": "ornstein-zernike-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hypernetted-chain-hnc-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-einstein-diffusion-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "green-kubo-viscosity-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "stokes-einstein-diffusion-relation",
      "name": "Stokes-Einstein diffusion relation",
      "description": "Connects Brownian translational diffusion to temperature, solvent viscosity, and hydrodynamic particle radius.",
      "example": "Estimating hydrodynamic particle sizes from diffusion measurements in a dilute suspension.",
      "discipline": "Liquid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Select an appropriate equilibrium, interaction, and transport regime. Closures and continuum limits have distinct validity ranges.",
      "google_search": "https://www.google.com/search?q=Stokes-Einstein+diffusion+relation",
      "math": {
        "equation": "D=k_B T/(6 pi eta R_H)",
        "derivation": [
          "For slow translation of a no-slip sphere, Stokes drag gives friction zeta=6 pi eta R_H.",
          "Equilibrium fluctuation-dissipation gives D=k_B T/zeta.",
          "Substitute the drag coefficient to obtain the diffusion relation."
        ],
        "assumptions": "D is diffusivity, eta dynamic viscosity, R_H hydrodynamic radius. Dilute spherical probes in a Newtonian continuum solvent, low Reynolds number, no-slip boundary. Molecular-scale and concentrated systems may violate it.",
        "tex": "D=\\frac{k_{\\mathrm B}T}{6\\pi\\eta R_{\\mathrm H}}"
      },
      "application": {
        "area": "Liquid-state physics",
        "product_examples": "Diffusion-based particle sizing and Brownian-particle simulation",
        "implementation": {
          "name": "LAMMPS — viscous drag parameterization",
          "url": "https://docs.lammps.org/fix_viscous.html",
          "note": "The documentation connects viscous friction with Stokes-Einstein diffusion. Consistent random forcing is also required for Brownian dynamics."
        }
      },
      "references": [
        {
          "title": "LAMMPS — viscous drag and Stokes-Einstein diffusivity",
          "url": "https://docs.lammps.org/fix_viscous.html"
        }
      ],
      "recommendations": [
        {
          "name": "Monte Carlo integration",
          "url": "https://iicsm.org/numericalmodeling/#monte-carlo-integration",
          "role": "Statistical estimation",
          "note": "Propagate uncertainty in temperature, viscosity, and radius through D=kBT/(6πηR); no numerical integration is needed for the nominal value.",
          "context": "Estimates an integral by averaging independent random samples."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "Fit a positive hydrodynamic radius or viscosity to diffusion measurements; parameters may be unidentifiable if fitted together.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "Interpolate tabulated solvent viscosity versus temperature before evaluating diffusivity; avoid extrapolation and preserve positive viscosity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        }
      ],
      "relationships": [
        {
          "target": "brownian-dynamics",
          "type": "Supplies diffusivity for",
          "note": "Applies to dilute spherical probes under the stated continuum no-slip assumptions."
        },
        {
          "target": "ornstein-zernike-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "percus-yevick-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hypernetted-chain-hnc-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "carnahan-starling-hard-sphere-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "green-kubo-viscosity-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "green-kubo-viscosity-relation",
      "name": "Green-Kubo viscosity relation",
      "description": "Obtains equilibrium shear viscosity from the time integral of microscopic shear-stress fluctuations.",
      "example": "Predicting liquid viscosity from an equilibrium molecular-dynamics trajectory.",
      "discipline": "Liquid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Select an appropriate equilibrium, interaction, and transport regime. Closures and continuum limits have distinct validity ranges.",
      "google_search": "https://www.google.com/search?q=Green-Kubo+viscosity+relation",
      "math": {
        "equation": "eta=V/(k_B T) integral_0^infinity <delta P_xy(0) delta P_xy(t)> dt",
        "derivation": [
          "Linear response relates the shear response to equilibrium momentum-flux fluctuations.",
          "Form the stationary autocorrelation of the off-diagonal intensive pressure tensor component P_xy.",
          "Integrate the correlation and multiply by V/(k_B T); independent shear components can improve sampling."
        ],
        "assumptions": "Equilibrium isotropic liquid in volume V at T. P_xy is an intensive pressure (Pa), not a volume-integrated virial. Subtract any nonzero mean. Finite trajectories require convergence and tail-error checks.",
        "tex": "\\eta=\\frac{V}{k_{\\mathrm B}T}\\int_0^\\infty\\left\\langle\\delta P_{xy}(0)\\,\\delta P_{xy}(t)\\right\\rangle\\,dt"
      },
      "application": {
        "area": "Liquid-state physics",
        "product_examples": "LAMMPS equilibrium viscosity calculations for simulated liquids",
        "implementation": {
          "name": "LAMMPS — Green-Kubo viscosity workflow",
          "url": "https://docs.lammps.org/Howto_viscosity.html",
          "note": "The documentation provides an equilibrium liquid-argon viscosity example using pressure autocorrelation and integration."
        }
      },
      "references": [
        {
          "title": "LAMMPS — equilibrium Green-Kubo viscosity calculation",
          "url": "https://docs.lammps.org/Howto_viscosity.html"
        }
      ],
      "recommendations": [
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "Generate equilibrium MD trajectories and shear-pressure samples with a compatible ensemble and force field; this time integrator alone does not estimate viscosity.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "Integrate a smooth fitted stress-autocorrelation function; account separately for finite sampling and the unobserved long-time tail.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "Check time-step or correlation-integration refinement where a regular error expansion holds; it does not remove statistical trajectory noise.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "classical-molecular-dynamics-md",
          "type": "Extracts transport from",
          "note": "Integrate equilibrium shear-pressure autocorrelations after checking statistical convergence."
        },
        {
          "target": "ornstein-zernike-equation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "percus-yevick-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "hypernetted-chain-hnc-closure",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "carnahan-starling-hard-sphere-equation-of-state",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "stokes-einstein-diffusion-relation",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "einstein-crystal-heat-capacity-model",
      "name": "Einstein crystal heat-capacity model",
      "description": "Treats crystal vibrations as independent quantum oscillators at a single frequency.",
      "example": "Estimating an optical-mode contribution to crystal heat capacity.",
      "discipline": "Solid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Idealized crystalline-solid models. Check dimensionality, temperature range, interactions, disorder, and parameter validity before material-specific use.",
      "google_search": "https://www.google.com/search?q=Einstein+crystal+heat-capacity+model",
      "math": {
        "equation": "C_V=3Nk_B x² exp(x)/(exp(x)-1)²; x=Theta_E/T",
        "derivation": [
          "Assign 3N identical quantum oscillators to N atoms.",
          "Sum their mean energies using Bose occupation, including a temperature-independent zero-point term.",
          "Differentiate energy with respect to T at fixed volume to obtain heat capacity."
        ],
        "assumptions": "Theta_E=hbar omega_E/k_B. Independent harmonic oscillators with one frequency; ignores dispersion, acoustic low-frequency modes, anharmonicity, and electronic heat capacity.",
        "tex": "C_V=3Nk_{\\mathrm B}\\frac{x^2e^x}{(e^x-1)^2},\\quad x=\\frac{\\Theta_{\\mathrm E}}{T},\\quad\\Theta_{\\mathrm E}=\\frac{\\hbar\\omega_{\\mathrm E}}{k_{\\mathrm B}}"
      },
      "application": {
        "area": "Solid-state physics",
        "product_examples": "Cryogenic crystal calorimetry and optical-phonon heat-capacity fits",
        "implementation": {
          "name": "Python / NumPy — custom Einstein oscillator evaluation",
          "url": "https://phonopy.github.io/phonopy/formulation.html",
          "note": "Custom single-frequency evaluation of the documented oscillator heat-capacity law. Phonopy normally uses a full phonon spectrum rather than an Einstein crystal."
        }
      },
      "references": [
        {
          "title": "Phonopy — dynamical matrix and harmonic thermodynamics",
          "url": "https://phonopy.github.io/phonopy/formulation.html"
        },
        {
          "title": "David Tong — Statistical Physics, Quantum Gases (Debye and Fermi gases)",
          "url": "https://www.damtp.cam.ac.uk/user/tong/statphys/statmechhtml/S3.html"
        }
      ],
      "recommendations": [
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "Use fitting for an Einstein temperature, interpolation for tabulated responses, or refinement to check derived quantities; the displayed formula itself is explicit. For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        },
        {
          "name": "Cubic spline interpolation",
          "url": "https://iicsm.org/numericalmodeling/#cubic-spline-interpolation",
          "role": "Tabulated data",
          "note": "Use fitting for an Einstein temperature, interpolation for tabulated responses, or refinement to check derived quantities; the displayed formula itself is explicit. For smooth interpolation of coefficients or responses; ordinary splines do not guarantee positivity or monotonicity.",
          "context": "Joins piecewise cubic polynomials with continuity constraints."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "Use fitting for an Einstein temperature, interpolation for tabulated responses, or refinement to check derived quantities; the displayed formula itself is explicit. For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "harmonic-lattice-dynamics",
          "type": "Single-frequency approximation to",
          "note": "Replace the spectrum by identical harmonic oscillators."
        },
        {
          "target": "quantum-harmonic-oscillator",
          "type": "Uses identical copies of",
          "note": "Assign one oscillator frequency to all 3N vibrational modes."
        },
        {
          "target": "debye-phonon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sommerfeld-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-electronic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nearly-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "debye-phonon-model",
      "name": "Debye phonon model",
      "description": "Approximates acoustic phonons by a continuum spectrum with a mode-count cutoff.",
      "example": "Estimating low-temperature lattice heat capacity in crystalline solids.",
      "discipline": "Solid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Idealized crystalline-solid models. Check dimensionality, temperature range, interactions, disorder, and parameter validity before material-specific use.",
      "google_search": "https://www.google.com/search?q=Debye+phonon+model",
      "math": {
        "equation": "C_V=9Nk_B(T/Theta_D)³ integral_0^(Theta_D/T) x⁴ exp(x)/(exp(x)-1)² dx",
        "derivation": [
          "Assume three acoustic branches with linear dispersion and a density of modes proportional to omega².",
          "Choose the Debye cutoff so the integral of the density of states contains 3N modes.",
          "Integrate oscillator energies over this spectrum and differentiate at fixed volume."
        ],
        "assumptions": "Theta_D=hbar omega_D/k_B, N atom count. Isotropic harmonic continuum approximation with an effective sound speed; optical modes and anharmonic effects require extensions.",
        "tex": "C_V=9Nk_{\\mathrm B}\\left(\\frac{T}{\\Theta_{\\mathrm D}}\\right)^3\\int_0^{\\Theta_{\\mathrm D}/T}\\frac{x^4e^x}{(e^x-1)^2}\\,dx; C_V\\underset{T\\ll\\Theta_{\\mathrm D}}{\\sim}\\frac{12\\pi^4}{5}Nk_{\\mathrm B}\\left(\\frac{T}{\\Theta_{\\mathrm D}}\\right)^3"
      },
      "application": {
        "area": "Solid-state physics",
        "product_examples": "Low-temperature solid heat-capacity estimates for cryogenic components",
        "implementation": {
          "name": "Python / NumPy — custom Debye quadrature",
          "url": "https://www.damtp.cam.ac.uk/user/tong/statphys/statmechhtml/S3.html",
          "note": "Custom implementation of the Debye integral or its stated low-temperature limit; not a claim of a built-in materials package."
        }
      },
      "references": [
        {
          "title": "David Tong — Statistical Physics, Quantum Gases (Debye and Fermi gases)",
          "url": "https://www.damtp.cam.ac.uk/user/tong/statphys/statmechhtml/S3.html"
        }
      ],
      "recommendations": [
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "Use quadrature for the full Debye integral and fitting for a Debye temperature; the cubic law is only a low-temperature asymptote. For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "Use quadrature for the full Debye integral and fitting for a Debye temperature; the cubic law is only a low-temperature asymptote. For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "Use quadrature for the full Debye integral and fitting for a Debye temperature; the cubic law is only a low-temperature asymptote. For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "harmonic-lattice-dynamics",
          "type": "Continuum spectrum approximation to",
          "note": "Replace acoustic phonon branches by linear dispersions with a mode-count cutoff."
        },
        {
          "target": "einstein-crystal-heat-capacity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sommerfeld-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-electronic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nearly-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "sommerfeld-free-electron-model",
      "name": "Sommerfeld free-electron model",
      "description": "Describes conduction electrons as a degenerate, noninteracting Fermi gas.",
      "example": "Estimating electronic heat capacity and Fermi energy in simple metals.",
      "discipline": "Solid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Idealized crystalline-solid models. Check dimensionality, temperature range, interactions, disorder, and parameter validity before material-specific use.",
      "google_search": "https://www.google.com/search?q=Sommerfeld+free-electron+model",
      "math": {
        "equation": "E_F=hbar²(3pi²n)^(2/3)/(2m); C_e=(pi²/2)Nk_B T/T_F",
        "derivation": [
          "Fill free-electron momentum states with two spin states per wavevector up to the Fermi sphere.",
          "State counting gives k_F=(3pi²n)^(1/3) and E_F=hbar²k_F²/(2m).",
          "A Sommerfeld expansion at fixed electron number gives the leading heat capacity proportional to T."
        ],
        "assumptions": "N is electron count, n=N/V, T_F=E_F/k_B. Three-dimensional noninteracting spin-1/2 electrons with parabolic dispersion; the heat-capacity expression requires T much smaller than T_F.",
        "tex": "E_{\\mathrm F}=\\frac{\\hbar^2}{2m}(3\\pi^2n)^{2/3},\\quad T_{\\mathrm F}=\\frac{E_{\\mathrm F}}{k_{\\mathrm B}}; C_e\\simeq\\frac{\\pi^2}{2}Nk_{\\mathrm B}\\frac{T}{T_{\\mathrm F}}\\quad(T\\ll T_{\\mathrm F})"
      },
      "application": {
        "area": "Solid-state physics",
        "product_examples": "Normal-metal electronic calorimetry and simple-metal reference calculations",
        "implementation": {
          "name": "Python / NumPy — custom free-electron calculation",
          "url": "https://www.damtp.cam.ac.uk/user/tong/statphys/statmechhtml/S3.html",
          "note": "Custom implementation of the ideal free-electron reference equations; real band structure and many-body renormalization require extensions."
        }
      },
      "references": [
        {
          "title": "David Tong — Statistical Physics, Quantum Gases (Debye and Fermi gases)",
          "url": "https://www.damtp.cam.ac.uk/user/tong/statphys/statmechhtml/S3.html"
        }
      ],
      "recommendations": [
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "Integrate the free-electron density of states with Fermi occupations at finite temperature, or fit a low-temperature heat-capacity coefficient; preserve electron number. For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        },
        {
          "name": "Adaptive quadrature",
          "url": "https://iicsm.org/numericalmodeling/#adaptive-quadrature",
          "role": "Integral evaluation",
          "note": "Integrate the free-electron density of states with Fermi occupations at finite temperature, or fit a low-temperature heat-capacity coefficient; preserve electron number. For deterministic low-dimensional integrals; identify singularities and verify error estimates.",
          "context": "Subdivides intervals according to local integration-error estimates."
        },
        {
          "name": "Levenberg-Marquardt",
          "url": "https://iicsm.org/numericalmodeling/#levenberg-marquardt",
          "role": "Calibration",
          "note": "Integrate the free-electron density of states with Fermi occupations at finite temperature, or fit a low-temperature heat-capacity coefficient; preserve electron number. For nonlinear least-squares fitting with damping; standard LM does not handle arbitrary constraints.",
          "context": "Regularizes a Gauss-Newton step to balance stability and progress."
        }
      ],
      "relationships": [
        {
          "target": "nearly-free-electron-model",
          "type": "Extended by weak lattice potential in",
          "note": "Free-electron states mix at Bragg planes and open band gaps."
        },
        {
          "target": "einstein-crystal-heat-capacity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debye-phonon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-electronic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "harmonic-lattice-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "tight-binding-electronic-model",
      "name": "Tight-binding electronic model",
      "description": "Builds crystal electronic bands from localized orbitals and intersite hopping.",
      "example": "Modeling semiconductor nanowire and crystalline-device electronic bands.",
      "discipline": "Solid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Idealized crystalline-solid models. Check dimensionality, temperature range, interactions, disorder, and parameter validity before material-specific use.",
      "google_search": "https://www.google.com/search?q=Tight-binding+electronic+model",
      "math": {
        "equation": "H=sum_i epsilon_i c_i†c_i - sum_<ij> t_ij(c_i†c_j+c_j†c_i); E(k)=epsilon_0-2t cos(ka)",
        "derivation": [
          "Expand electronic states in localized orbitals centered on lattice sites.",
          "Retain on-site energies and selected hopping matrix elements.",
          "For a uniform one-dimensional nearest-neighbor chain, insert a Bloch wave to obtain the cosine band."
        ],
        "assumptions": "Displayed chain uses an orthonormal single orbital per site and real positive hopping t. Multiorbital materials require calibrated matrix elements and possibly overlap and spin-orbit coupling. Electron correlations are excluded unless added explicitly.",
        "tex": "\\hat H=\\sum_i\\epsilon_i c_i^\\dagger c_i-\\sum_{\\langle ij\\rangle}t_{ij}(c_i^\\dagger c_j+c_j^\\dagger c_i); E(k)=\\epsilon_0-2t\\cos(ka)"
      },
      "application": {
        "area": "Solid-state physics",
        "product_examples": "QuantumATK Slater-Koster calculations for silicon nanowires",
        "implementation": {
          "name": "QuantumATK — Slater-Koster tight binding",
          "url": "https://docs.quantumatk.com/tutorials/slater_koster/slater_koster.html",
          "note": "The vendor documents silicon nanowire calculations with parameterized orbital models; the displayed one-orbital chain is an educational specialization."
        }
      },
      "references": [
        {
          "title": "David Tong — Electrons in Solids (band theory and lattice vibrations)",
          "url": "https://www.damtp.cam.ac.uk/user/tong/aqm/solid1.pdf"
        },
        {
          "title": "QuantumATK — Slater-Koster tight-binding models",
          "url": "https://docs.quantumatk.com/tutorials/slater_koster/slater_koster.html"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "Use SVD on H(k)-E I to check null states, condition analysis to assess sensitivity, and quadrature for Brillouin-zone averages. General bands require a Hermitian eigensolver, not SVD singular values interpreted as signed energies. For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "Use SVD on H(k)-E I to check null states, condition analysis to assess sensitivity, and quadrature for Brillouin-zone averages. General bands require a Hermitian eigensolver, not SVD singular values interpreted as signed energies. For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "Use SVD on H(k)-E I to check null states, condition analysis to assess sensitivity, and quadrature for Brillouin-zone averages. General bands require a Hermitian eigensolver, not SVD singular values interpreted as signed energies. For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "nearly-free-electron-model",
          "type": "Complementary band approximation to",
          "note": "Localized-orbital and weak-periodic-potential descriptions apply in different limits."
        },
        {
          "target": "einstein-crystal-heat-capacity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debye-phonon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "sommerfeld-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "harmonic-lattice-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "nearly-free-electron-model",
      "name": "Nearly-free-electron model",
      "description": "Predicts band gaps by perturbing free electrons with a weak periodic potential.",
      "example": "Explaining Bragg-plane band gaps in weak-potential crystalline conductors.",
      "discipline": "Solid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Idealized crystalline-solid models. Check dimensionality, temperature range, interactions, disorder, and parameter validity before material-specific use.",
      "google_search": "https://www.google.com/search?q=Nearly-free-electron+model",
      "math": {
        "equation": "E_±=(epsilon_k+epsilon_(k-G))/2 ± sqrt[((epsilon_k-epsilon_(k-G))/2)²+abs(V_G)²]",
        "derivation": [
          "Expand the periodic lattice potential in reciprocal-lattice Fourier components.",
          "Near a Bragg degeneracy, keep the two coupled plane waves k and k-G.",
          "Diagonalize their 2 by 2 Hamiltonian; at exact degeneracy the energy gap is 2 abs(V_G)."
        ],
        "assumptions": "epsilon_k=hbar²k²/(2m); a mean potential can be absorbed into the energy origin. Weak periodic potential, two-state approximation near a Bragg plane; remote states and strong correlations are omitted.",
        "tex": "E_\\pm=\\frac{\\epsilon_k+\\epsilon_{k-G}}{2}\\pm\\sqrt{\\left(\\frac{\\epsilon_k-\\epsilon_{k-G}}{2}\\right)^2+|V_G|^2},\\quad\\epsilon_k=\\frac{\\hbar^2k^2}{2m}"
      },
      "application": {
        "area": "Solid-state physics",
        "product_examples": "Custom weak-periodic-potential electronic band calculations",
        "implementation": {
          "name": "NumPy eigh — custom plane-wave Hamiltonian",
          "url": "https://numpy.org/doc/stable/reference/generated/numpy.linalg.eigh.html",
          "note": "Custom implementation route: assemble a Hermitian plane-wave Hamiltonian and diagonalize it. NumPy supplies linear algebra, not a built-in solid-state model."
        }
      },
      "references": [
        {
          "title": "David Tong — Electrons in Solids (band theory and lattice vibrations)",
          "url": "https://www.damtp.cam.ac.uk/user/tong/aqm/solid1.pdf"
        },
        {
          "title": "NumPy — Hermitian matrix eigenvalues and eigenvectors",
          "url": "https://numpy.org/doc/stable/reference/generated/numpy.linalg.eigh.html"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "Use SVD for null-state diagnostics, sensitivity checks for small gaps, and quadrature for band averages. Diagonalize the Hermitian plane-wave Hamiltonian for actual energies. For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "Condition-number analysis",
          "url": "https://iicsm.org/numericalmodeling/#condition-number-analysis",
          "role": "Sensitivity diagnosis",
          "note": "Use SVD for null-state diagnostics, sensitivity checks for small gaps, and quadrature for band averages. Diagonalize the Hermitian plane-wave Hamiltonian for actual energies. For assembled linear systems or fitting matrices; separate problem conditioning from algorithm stability.",
          "context": "Measures how perturbations in inputs can affect a computed solution."
        },
        {
          "name": "Gaussian quadrature",
          "url": "https://iicsm.org/numericalmodeling/#gaussian-quadrature",
          "role": "Integral assembly",
          "note": "Use SVD for null-state diagnostics, sensitivity checks for small gaps, and quadrature for band averages. Diagonalize the Hermitian plane-wave Hamiltonian for actual energies. For smooth element, energy, or moment integrals; singular or discontinuous integrands need special rules.",
          "context": "Chooses nodes and weights to integrate high-degree polynomials efficiently."
        }
      ],
      "relationships": [
        {
          "target": "tight-binding-electronic-model",
          "type": "Complementary band approximation to",
          "note": "Localized-orbital and weak-periodic-potential descriptions apply in different limits."
        },
        {
          "target": "sommerfeld-free-electron-model",
          "type": "Adds weak periodic potential to",
          "note": "Free-electron states mix at Bragg planes and open band gaps."
        },
        {
          "target": "einstein-crystal-heat-capacity-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "debye-phonon-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "harmonic-lattice-dynamics",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    },
    {
      "id": "harmonic-lattice-dynamics",
      "name": "Harmonic lattice dynamics",
      "description": "Computes phonon modes from a quadratic expansion of crystal potential energy.",
      "example": "Predicting phonon dispersion, harmonic stability, and vibrational thermodynamics.",
      "discipline": "Solid-state physics",
      "scale": "Atomic / molecular",
      "kind": "Physical model",
      "limitations": "Idealized crystalline-solid models. Check dimensionality, temperature range, interactions, disorder, and parameter validity before material-specific use.",
      "google_search": "https://www.google.com/search?q=Harmonic+lattice+dynamics",
      "math": {
        "equation": "D(q)e(q,nu)=omega(q,nu)² e(q,nu); monatomic chain: omega(q)=2sqrt(K/m) abs(sin(qa/2))",
        "derivation": [
          "Expand crystal potential energy to second order in atomic displacements about equilibrium.",
          "Fourier-transform the force-constant equations and mass-weight them to form the dynamical matrix.",
          "Diagonalize the matrix at each wavevector to obtain squared phonon frequencies and polarizations."
        ],
        "assumptions": "D is the mass-weighted dynamical matrix; e is polarization, nu branch index. The displayed one-dimensional chain has nearest-neighbor spring constant K, mass m, and spacing a. Harmonic approximation excludes phonon scattering and thermal expansion.",
        "tex": "D(\\mathbf q)\\mathbf e_{\\mathbf q\\nu}=\\omega_{\\mathbf q\\nu}^2\\mathbf e_{\\mathbf q\\nu}; \\omega(q)=2\\sqrt{\\frac Km}\\left|\\sin\\frac{qa}{2}\\right|\\quad\\text{(monatomic chain)}"
      },
      "application": {
        "area": "Solid-state physics",
        "product_examples": "Phonopy phonon spectra and harmonic thermodynamic calculations",
        "implementation": {
          "name": "Phonopy — harmonic lattice dynamics",
          "url": "https://phonopy.github.io/phonopy/formulation.html",
          "note": "Documented dynamical-matrix and thermodynamic implementation. Material force constants are required from an appropriate external calculation or fitted model."
        }
      },
      "references": [
        {
          "title": "Phonopy — dynamical matrix and harmonic thermodynamics",
          "url": "https://phonopy.github.io/phonopy/formulation.html"
        },
        {
          "title": "David Tong — Electrons in Solids (band theory and lattice vibrations)",
          "url": "https://www.damtp.cam.ac.uk/user/tong/aqm/solid1.pdf"
        }
      ],
      "recommendations": [
        {
          "name": "Singular value decomposition",
          "url": "https://iicsm.org/numericalmodeling/#singular-value-decomposition",
          "role": "Rank / inverse analysis",
          "note": "Fit force constants with SVD, cross-check real-time harmonic motion with Verlet, and test displacement/time-step refinement. Obtain phonon frequencies with a Hermitian dynamical-matrix eigensolver. For reduced bases, rank diagnosis, or regularized inverse fitting; select truncation using the data and error budget.",
          "context": "Separates matrix directions by their amplification strengths."
        },
        {
          "name": "Velocity Verlet",
          "url": "https://iicsm.org/numericalmodeling/#velocity-verlet",
          "role": "Mechanical time integration",
          "note": "Fit force constants with SVD, cross-check real-time harmonic motion with Verlet, and test displacement/time-step refinement. Obtain phonon frequencies with a Hermitian dynamical-matrix eigensolver. For compatible position-dependent conservative forces; constraints, thermostats, and stochastic forces require specialized extensions.",
          "context": "Advances positions and velocities with a symmetric force update."
        },
        {
          "name": "Richardson extrapolation",
          "url": "https://iicsm.org/numericalmodeling/#richardson-extrapolation",
          "role": "Verification",
          "note": "Fit force constants with SVD, cross-check real-time harmonic motion with Verlet, and test displacement/time-step refinement. Obtain phonon frequencies with a Hermitian dynamical-matrix eigensolver. For systematically refined computations in an established asymptotic error regime; use consistent geometry and boundary data.",
          "context": "Cancels a leading discretization-error term using two resolutions."
        }
      ],
      "relationships": [
        {
          "target": "einstein-crystal-heat-capacity-model",
          "type": "Has single-frequency approximation",
          "note": "Replace the spectrum by identical harmonic oscillators."
        },
        {
          "target": "debye-phonon-model",
          "type": "Has continuum approximation",
          "note": "Replace acoustic phonon branches by linear dispersions with a mode-count cutoff."
        },
        {
          "target": "sommerfeld-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "tight-binding-electronic-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        },
        {
          "target": "nearly-free-electron-model",
          "type": "Same discipline",
          "note": "Catalog grouping; this does not imply a derivation or equivalent assumptions."
        }
      ]
    }
  ]
}