ODE/PDE Solver Catalog — Runge-Kutta, Multistep, FE/FD/FV, Spectral, Multigrid
A practitioner’s catalogue of numerical methods for ordinary and partial differential equations. The aim is selection guidance, not full derivations: which method, when, in what software. SI units throughout (length m, time s, energy J).
1. ODE methods
The initial-value problem y' = f(t, y), y(t_0) = y_0, with y ∈ R^d.
1.1 Explicit Runge-Kutta
s-stage RK:
k_i = f(t_n + c_i h, y_n + h Σ_j a_{ij} k_j) (j < i for explicit)
y_{n+1} = y_n + h Σ_i b_i k_i
Tableau (A, b, c) (Butcher 1963).
| Method | Order | Stages | Use |
|---|---|---|---|
| Forward Euler | 1 | 1 | Toy / textbook |
| Heun (RK2) | 2 | 2 | Simple problems |
| RK3 / SSPRK3 (Shu-Osher 1988) | 3 | 3 | TVD time stepping |
| Classical RK4 | 4 | 4 | Workhorse if step is fixed |
| Dormand-Prince DP5(4) | 5(4) | 7 (FSAL) | MATLAB ode45 default |
| Cash-Karp RK4(5) | 5(4) | 6 | Adaptive, embedded |
| Verner 6(5), 8(7), 9(8) | up to 9 | many | High accuracy |
| Tsitouras Ts5(4) | 5(4) | 6 | Julia DifferentialEquations.jl default — outperforms DP5 on benchmarks |
| DOP853 (Dormand-Prince) | 8(5,3) | 12 | High-accuracy non-stiff |
| Fehlberg RK4(5) | 5(4) | 6 | Historic embedded pair (Fehlberg 1969) |
J.C. Butcher’s Numerical Methods for Ordinary Differential Equations (Wiley, 3rd ed. 2016) is the canonical reference.
1.2 Implicit Runge-Kutta
Stages defined implicitly — must solve a nonlinear system at each step. Justified for stiff problems where explicit step size is limited by stability not accuracy.
| Method | Order | Notes |
|---|---|---|
| Backward Euler | 1 | L-stable, simplest implicit |
| Implicit midpoint | 2 | A-stable, symplectic |
| Crank-Nicolson | 2 | A-stable, non-L-stable; can ring |
| SDIRK (singly diagonally implicit) | 2-5 | Each stage independent LU; popular for DAEs |
| Radau IIA 3-stage | 5 | L-stable; standard stiff method (Hairer-Wanner) |
| Radau IIA 5-stage | 9 | High-accuracy stiff |
| Gauss-Legendre s-stage | 2s | Symplectic; not L-stable |
| Lobatto IIIA/B/C | 2s-2 | Pairs used in geometric integration |
| Rosenbrock (RODAS, Rosenbrock-W) | 2-6 | Linearly implicit (Jacobian per stage); stiff, no nonlinear solver |
Hairer-Wanner’s Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems (Springer 1996) is definitive.
1.3 Linear multistep methods
Σ_{j=0}^k α_j y_{n+j} = h Σ_{j=0}^k β_j f_{n+j}.
- Adams-Bashforth (explicit, β_k = 0): orders 1-12 known. Forrest Ray Moulton & John Couch Adams roots.
- Adams-Moulton (implicit, β_k ≠ 0): one higher order than AB at same stencil.
- BDF (Backward Differentiation Formulae) (Curtiss-Hirschfelder 1952): up to order 6 stable; standard stiff multistep. Driver of SUNDIALS CVODE.
- Predictor-corrector: AB-AM pair — predict with explicit, correct with implicit.
Dahlquist’s stability barriers: explicit LMM ≤ A(0)-stable; no A-stable LMM of order > 2 (1963 Dahlquist barrier).
1.4 Geometric / symplectic integrators
For Hamiltonian systems q' = ∂H/∂p, p' = -∂H/∂q, preserve symplectic 2-form dp ∧ dq. Long-time energy drift bounded — critical for solar-system or molecular-dynamics simulations spanning 10^6-10^9 steps.
- Symplectic Euler (order 1).
- Störmer-Verlet / leapfrog (order 2; reversible). Loup Verlet 1967, “Computer experiments on classical fluids” Phys. Rev. 159.
- Yoshida 4th / 6th order (Yoshida 1990 Phys. Lett. A 150) — composition of leapfrog.
- Forest-Ruth 4th (Forest-Ruth 1990).
- PEFRL (position-extended Forest-Ruth-like, Omelyan et al. 2003) — current state-of-art 4th-order one-step.
See molecular-dynamics.
1.5 Adaptive step size
Embedded RK pair (y_{n+1}, ŷ_{n+1}) of orders (p, p-1) gives error estimate e_n = ||y_{n+1} - ŷ_{n+1}||. PI controller (Gustafsson 1991):
h_{new} = h_{old} · (tol / e_n)^{k_I/p} · (e_{n-1}/e_n)^{k_P/p}
with typical k_I = 0.7/p, k_P = 0.4/p.
1.6 Stiffness
Stiffness ratio for linear system y' = Ay:
S = max |Re(λ_i)| / min |Re(λ_i)| over decaying modes
Large S ⇒ explicit step bounded by h ≲ 1/max|λ| even though slow modes evolve on scale 1/min|λ|. Use implicit. Stability properties:
- A-stable: stability region
S⊇ left half-plane. (Crank-Nicolson, Radau IIA, Gauss-Legendre, BDF1-2.) - L-stable: A-stable and
R(z) → 0asRe(z) → -∞. (Backward Euler, Radau IIA, SDIRK with last stage = step.) - A(α)-stable: covers
|arg(-z)| < α. BDF3-5 only A(α)-stable.
1.7 DAEs (differential-algebraic equations)
F(t, y, y') = 0. Index = number of differentiations needed to reduce to ODE.
- Index-1: solvable by BDF or Radau.
- Higher index: needs index reduction (Pantelides 1988) or specialised methods.
1.8 ODE software
| Tool | Language | Notes |
|---|---|---|
ode45, ode23s, ode15s | MATLAB | Default ode45 = DP5(4). ode15s = BDF for stiff. |
scipy.integrate.solve_ivp | Python | RK45 default; also RK23, DOP853, Radau, BDF, LSODA |
scipy.integrate.odeint | Python | LSODA (Hindmarsh-Petzold; switches automatically) — legacy |
DifferentialEquations.jl | Julia | Christopher Rackauckas; arguably best in class. Many solvers, adaptive, GPU, AD, callbacks, DAE/SDE/DDE |
| SUNDIALS | C/C++ | LLNL (Lawrence Livermore National Lab); Hindmarsh-Serban-Reynolds. Components: CVODE / CVODES (sensitivity) / IDA / IDAS / ARKODE / KINSOL |
| NDSolve | Mathematica | Symbolic + numeric, very flexible |
Boost.numeric.odeint | C++ | Karsten Ahnert; templates, generic state types |
| LSODE / LSODA / LSODI | Fortran | Hindmarsh 1980s; still industry standard |
| RKSUITE | Fortran | Brankin-Gladwell-Shampine; RK suite |
For most non-stiff Python problems start with scipy.integrate.solve_ivp(method='RK45'). For stiff, method='BDF' or 'Radau'. For maximum performance and breadth, use Julia DifferentialEquations.jl.
2. PDE methods by classification
PDE type controls method choice. Second-order linear PDE A u_xx + 2B u_xy + C u_yy + ... = 0 is:
- Elliptic if
B² - AC < 0(Laplace, Poisson — steady-state). - Parabolic if
B² - AC = 0(heat, diffusion). - Hyperbolic if
B² - AC > 0(wave, conservation laws). - Mixed type: changes within domain (Tricomi for transonic flow; Navier-Stokes effectively mixed).
3. Elliptic PDE: Δu = f, eigenproblems
3.1 Finite difference
5-point Laplacian stencil on uniform 2D grid (spacing h, m):
(Δh u)_{ij} = (u_{i+1,j} + u_{i-1,j} + u_{i,j+1} + u_{i,j-1} - 4 u_{ij}) / h²
O(h²) accurate. 9-point compact stencil reaches O(h^4).
Direct Poisson solver on a regular grid via FFT: O(N log N) for N grid points. See fft-spectral.
3.2 Finite element method (FEM)
Galerkin formulation: find u_h ∈ V_h with a(u_h, v) = (f, v) for all v ∈ V_h. Triangulate Ω; basis = piecewise polynomials.
Variants:
- Conforming:
V_h ⊂ H^1(Ω). Standard linear/quadratic Lagrange elements. - Non-conforming (Crouzeix-Raviart 1973): continuity at midpoints only.
- Mixed: solve for
(u, σ = ∇u)jointly — Raviart-Thomas, Brezzi-Douglas-Marini elements (Brezzi-Fortin 1991). - DG (Discontinuous Galerkin): piecewise polynomial, no continuity between elements. Cockburn-Shu 1989+.
- hp-FEM (Babuška-Suri 1990): adapt both element size h and order p; exponential convergence on analytic solutions.
- Isogeometric Analysis (IGA) (Hughes-Cottrell-Bazilevs 2005, CMAME): NURBS basis from CAD as FE basis. Bridges design and analysis.
Theoretical foundation in functional-analysis §7 (Lax-Milgram, Galerkin).
3.3 Spectral methods
Approximate u = Σ c_n φ_n with global high-degree polynomials. Exponential convergence for analytic u.
- Fourier (periodic Ω).
- Chebyshev (non-periodic, clustered nodes at endpoints).
- Legendre (Gauss-Legendre nodes; mass matrix is identity).
- Spectral element (Patera 1984 J. Comput. Phys. 54): high-order polynomial within geometrically flexible elements. Marries spectral accuracy with FEM geometry.
References: Lloyd N. Trefethen Spectral Methods in MATLAB (SIAM 2000), Boyd Chebyshev and Fourier Spectral Methods (Dover 2001).
3.4 Multigrid
Achi Brandt “Multi-level adaptive solutions to boundary value problems” Math. Comp. 31, 1977.
Geometric multigrid: hierarchy of grids; smooth high-frequency errors on fine grid, transfer residual to coarser grid, recurse. V-cycle, W-cycle, F-cycle.
Algebraic multigrid (AMG) (Ruge-Stüben 1987): build hierarchy from matrix alone; no grid structure required.
Cost: O(N) for solving Poisson — asymptotically optimal. State of art for large sparse SPD systems from elliptic PDE.
3.5 Boundary element method (BEM)
Reformulate as integral equation on boundary ∂Ω. Reduces dimensionality by one. Best when Ω is exterior / unbounded (acoustics, electromagnetics) or homogeneous. Dense matrices — combine with fast multipole (Greengard-Rokhlin 1987) for O(N log N).
3.6 Meshless
- SPH (Smoothed Particle Hydrodynamics; Gingold-Monaghan 1977, Lucy 1977): kernel-weighted particles; astrophysics, free-surface flows.
- RBF (Radial Basis Functions): Buhmann Radial Basis Functions (Cambridge 2003). Scattered nodes, no mesh.
- MLS / EFG (Element-Free Galerkin, Belytschko et al. 1994).
4. Parabolic PDE: u_t = Δu + f
4.1 Time discretisations
| Scheme | Order | Stability |
|---|---|---|
| Forward Euler (explicit) | 1 | CFL: Δt ≤ h²/(2d) |
| Backward Euler (implicit) | 1 | Unconditionally A-stable, L-stable |
| Crank-Nicolson (implicit) | 2 | A-stable; can oscillate non-smooth ICs |
| BDF2 | 2 | A-stable, L-stable |
| SDIRK / Radau | up to high | stiff |
4.2 Method of lines (MOL)
Discretise space first → large system of ODEs y' = L y + g(y, t) (with L the discrete Laplacian). Then apply favourite ODE method. Cleanly separates space and time choices.
4.3 Operator (Strang) splitting
Gilbert Strang “On the construction and comparison of difference schemes” SIAM J. Numer. Anal. 5, 1968. For u_t = (A + B)u:
e^{(A+B)Δt} ≈ e^{(A/2)Δt} e^{B Δt} e^{(A/2)Δt} (Strang; 2nd order)
≈ e^{A Δt} e^{B Δt} (Lie; 1st order)
Used in reaction-diffusion, Schrödinger, and Navier-Stokes (advection-diffusion split).
4.4 Exponential integrators (ETD)
u_{n+1} = e^{L Δt} u_n + ∫_0^{Δt} e^{L(Δt - τ)} g(u(t_n + τ)) dτ.
Hochbruck-Ostermann 2010 review (Acta Numer.). Best when L stiff, nonlinearity g smooth. Requires φ_k(L Δt) matrix functions (Krylov approximation).
5. Hyperbolic PDE and conservation laws
u_t + ∇ · F(u) = 0.
5.1 Finite difference schemes
| Scheme | Notes |
|---|---|
| Upwind | First-order; depends on wave direction; CFL ≤ 1; introduces numerical viscosity |
| Lax-Friedrichs (1954) | First-order; very diffusive but stable |
| Lax-Wendroff (1960) | Second-order; oscillates near shocks (Gibbs/Godunov phenomenon) |
| MacCormack | Predictor-corrector LW variant |
5.2 Finite volume (FV)
Cell-averaged states; numerical flux at cell faces. Conservative by construction — discrete conservation matches continuous.
Godunov’s method (1959): at each interface, solve a Riemann problem (initial discontinuity); use exact solution for flux. Sergei Godunov’s PhD work; foundational.
Approximate Riemann solvers (full Riemann too expensive):
- Roe (1981): linearised Roe averages, exact for linear systems.
- HLL (Harten-Lax-van Leer 1983): two-wave model.
- HLLC (Toro-Spruce-Speares 1994): three waves; resolves contact discontinuity.
- Osher (1981).
- Rusanov / local Lax-Friedrichs: simple, robust.
High-resolution (high-order, non-oscillatory):
- TVD (Total Variation Diminishing): Harten 1983.
- MUSCL (Monotone Upstream-centered Schemes for Conservation Laws): Bram van Leer 1979.
- ENO (Essentially Non-Oscillatory): Harten-Engquist-Osher-Chakravarthy 1987.
- WENO (Weighted ENO): Liu-Osher-Chan 1994 J. Comput. Phys. 115; refined by Jiang-Shu 1996 (“Efficient implementation of WENO schemes”). Convex combination of ENO stencils; orders 3, 5, 7, 9, 11 common. State of art for shock-capturing on structured grids.
5.3 Discontinuous Galerkin (DG)
Bernardo Cockburn & Chi-Wang Shu “TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws II” Math. Comp. 52, 1989; continued through DG series. Combines local high-order polynomial reconstruction (FEM-like) with numerical fluxes between elements (FV-like). Excellent for unstructured meshes and arbitrarily high order. Software: MFEM, Nektar++, Trixi.jl.
5.4 Spectral methods for waves
On smooth domains, spectral / spectral-element retains high order with no dispersion error. Standard in geophysics (Komatitsch-Tromp SPECFEM3D 2002 for seismic wave propagation).
5.5 Physics-informed neural networks (PINNs)
Raissi-Perdikaris-Karniadakis “Physics-informed neural networks” J. Comput. Phys. 378, 2019. Train a neural network u_θ(x,t) to minimise PDE residual + IC + BC losses. Mesh-free; handles inverse problems and high-dim PDEs (Han-Jentzen-E 2018 PNAS for nonlinear Black-Scholes in 100D). Trade-off: training cost, no rigorous error bounds, struggles with multi-scale solutions. Part of the broader SciML stack.
6. Mixed-type and Navier-Stokes
Incompressible Navier-Stokes:
∂u/∂t + (u · ∇) u = -∇p/ρ + ν Δu + g
∇ · u = 0
with kinematic viscosity ν (m²/s) and pressure p (Pa). The system mixes parabolic momentum, elliptic pressure (Poisson from divergence constraint), and advective transport.
6.1 Projection methods
Alexandre Chorin “Numerical solution of the Navier-Stokes equations” Math. Comp. 22, 1968. Split into:
- Intermediate velocity
u*from momentum without pressure. - Pressure Poisson:
Δp = (ρ/Δt) ∇ · u*. - Correct:
u^{n+1} = u* - (Δt/ρ) ∇p.
Variants: Bell-Colella-Glaz 1989 second-order projection; Almgren-Bell-Szymczak 1996.
6.2 SIMPLE / PISO / PIMPLE
Suhas Patankar’s 1980 book Numerical Heat Transfer and Fluid Flow: SIMPLE (Semi-Implicit Method for Pressure-Linked Equations), variations SIMPLER, SIMPLEC. PISO (Issa 1985). Backbone of finite-volume CFD codes (ANSYS Fluent, OpenFOAM).
6.3 SUPG / stabilised FEM
Brooks-Hughes “Streamline upwind/Petrov-Galerkin formulations for convection dominated flows” CMAME 32, 1982. Adds streamline-aligned artificial diffusion to suppress oscillations in convection-dominated Galerkin solutions. GLS, VMS subsequent generalisations.
6.4 Lattice Boltzmann (LBM)
Solve discrete-velocity Boltzmann equation rather than NS:
f_i(x + e_i Δt, t + Δt) = f_i(x,t) - (1/τ)(f_i - f_i^{eq})
f_i = particle distribution in discretised velocity directions. Recovers NS in macroscopic limit (Chapman-Enskog). Local operations + easy parallelism on GPU. Succi The Lattice Boltzmann Equation (Oxford 2001). Software: Palabos, OpenLB, waLBerla.
6.5 Turbulence
- DNS: resolve all scales — cost
Re^{9/4}per time step in 3D. Tractable only for moderate Re. - LES: filter; model sub-grid stress (Smagorinsky 1963; dynamic Germano 1991; WALE 1999).
- RANS: time-average; model Reynolds stress (k-ε Launder-Spalding 1974, k-ω Wilcox 1988, SST Menter 1994).
- DES / hybrid RANS-LES: Spalart 1997 for high-Re wall-bounded.
See turbulence-models.
7. Stochastic differential equations
dX_t = μ(X_t, t) dt + σ(X_t, t) dW_t. Itô vs Stratonovich interpretation matters; conversion: Stratonovich ∘ dW = Itô + correction (1/2) σ σ_x dt. See stochastic-calculus.
| Scheme | Order (strong / weak) | Notes |
|---|---|---|
| Euler-Maruyama | 0.5 / 1.0 | Default; replace dW by √Δt · N(0,1) |
| Milstein | 1.0 / 1.0 | Adds σ σ_x term; needs derivative |
| Stochastic RK (Roessler, Tocino) | up to 1.5 / 3.0 | Higher accuracy without derivatives |
| Predictor-corrector | varies | Stiff SDEs |
| Tamed Euler (Hutzenthaler-Jentzen-Kloeden 2012) | 0.5 / 1.0 | Stable for super-linear coefficients |
Kloeden-Platen Numerical Solution of Stochastic Differential Equations (Springer 1992) is the standard reference.
8. Software ecosystem
8.1 General PDE / FEM
| Tool | Language | Notes |
|---|---|---|
| FEniCS / DOLFINx | Python + C++ | Logg, Mardal, Wells (book 2012 Automated Solution of DEs by FEM); DOLFINx (modern rewrite, 2020+) |
| Firedrake | Python | Imperial College, UFL form compiler shared with FEniCS |
| deal.II | C++ | Wolfgang Bangerth et al., Heidelberg/Colorado; large adaptive FEM library |
| MFEM | C++ | LLNL; high-order FEM/DG, GPU |
| Trilinos | C++ | Sandia; large suite including Tpetra, Belos, Ifpack2, Stratimikos |
| PETSc | C / Python | Argonne (Balay, Smith, Brune, Zhang); linear/nonlinear/timestepping; backbone of many codes |
| FreeFEM | Custom DSL | Hecht; quick prototyping |
| GetFEM++ | C++ / Python | Renard-Pommier |
8.2 CFD
| Tool | Notes |
|---|---|
| OpenFOAM | C++ open-source; ESI-OpenCFD and Foundation forks; FVM |
| ANSYS Fluent | Commercial; FVM workhorse |
| Star-CCM+ | Siemens; polyhedral meshing |
| COMSOL Multiphysics | Multiphysics FEM |
| SU2 | Stanford open-source aerospace CFD |
| Nek5000 / NekRS | Argonne; spectral element |
| Code_Saturne | EDF nuclear |
| Palabos / OpenLB | Lattice Boltzmann |
| AMReX | LBL; block-structured AMR |
8.3 Spectral
| Tool | Notes |
|---|---|
| Chebfun | MATLAB; Trefethen group Oxford; 1D + 2D + ODE/PDE on Chebyshev basis |
| Dedalus | Python; Vasil, Burns; flexible spectral PDE on R^n |
| ApproxFun.jl | Julia; Olver — spectral computing |
8.4 GPU / exascale
- AMReX (LBL) — block-structured AMR, GPU.
- ExaWind (DOE) — wind turbine simulation.
- MFiX-Exa (DOE) — multiphase reactive flows.
- PeleC / PeleLM (DOE Pele suite) — combustion.
- WarpX (LBL) — plasma PIC.
- Cantera + AMReX — combustion chemistry.
8.5 Eigenvalue solvers (for PDE eigenproblems)
- SLEPc (Roman-Hernandez, Universitat Politècnica de València) — built on PETSc.
- ARPACK / PARPACK — Lehoucq-Sorensen-Yang 1998; implicitly restarted Arnoldi.
- Trilinos Anasazi — block Krylov-Schur, LOBPCG.
- FEAST (Polizzi 2009) — contour integral.
8.6 Nonlinear solvers and Newton-Krylov
Jacobian-free Newton-Krylov (JFNK): Newton’s method with Krylov inner solver (GMRES typically), matrix-vector products approximated by finite differences: J(u) v ≈ (F(u + ε v) - F(u))/ε.
Knoll-Keyes “Jacobian-free Newton-Krylov methods: a survey of approaches and applications” J. Comput. Phys. 193, 2004 — definitive review.
Software: SUNDIALS KINSOL, PETSc SNES, Trilinos NOX.
8.7 Multigrid software
- hypre (LLNL — Falgout, Yang) — BoomerAMG, ParCSR.
- AMG4PSBLAS (Buttari, D’Ambra).
- AGMG (Notay, Brussels) — aggregation-based AMG.
- PyAMG (Bell, Olson — Illinois) — Python.
- GAMG (PETSc native AMG).
9. Meshing
| Tool | Notes |
|---|---|
| Gmsh | Geuzaine-Remacle, Liège; open; GUI + scripting |
| Cubit / Trelis / Coreform | Sandia / Coreform spinoff |
| Salome | EDF / CEA / OpenCascade |
| ANSYS Meshing | Commercial bundled |
| Pointwise | Commercial; structured emphasis |
| TetGen | Hang Si, WIAS Berlin; Delaunay tetrahedral |
| Triangle | Jonathan Shewchuk, UC Berkeley; 2D quality Delaunay |
| MMG / mmg3d | INRIA; remeshing |
| Netgen | Joachim Schöberl, Vienna; tet/hex; coupled with NGSolve |
| OpenCASCADE | OCC kernel — boundary representation |
Mesh-quality metrics: aspect ratio, skewness, orthogonality, Jacobian determinant.
10. Visualisation
- ParaView (Kitware; open) — VTK-based; large-scale parallel.
- VisIt (LLNL) — large-scale; many file formats.
- Tecplot — commercial CFD visualisation.
- Ensight (ANSYS) — commercial.
- Plotly / Matplotlib / Mayavi — Python; smaller scale.
- VTK (Kitware) — toolkit underlying ParaView/VisIt.
11. Adjoint methods and sensitivity
For optimisation, control, and inverse problems with m parameters, naive forward differentiation costs O(m) PDE solves. Adjoint costs O(1) regardless of m — fundamental enabler for PDE-constrained optimisation.
11.1 Continuous vs discrete adjoint
- Continuous: derive adjoint PDE analytically, then discretise. Cleaner; consistency only at convergence.
- Discrete: differentiate the discretisation. Gives exact gradient of the discrete objective.
11.2 Automatic differentiation
- Tapenade (INRIA, Hascoet-Pascual) — Fortran/C source-to-source.
- OpenAD (Argonne) — Fortran AD.
- dolfin-adjoint / pyadjoint (Farrell-Funke-Ham-Rognes) — automates discrete adjoint for FEniCS/Firedrake; “high-level” AD over PDEs.
- Enzyme (Moses et al., MIT 2021) — LLVM-level AD; differentiates compiled code.
- JAX, Zygote.jl — Python/Julia AD; used in SciML / PINN workflows.
See automatic-differentiation.
12. Method selection cheat-sheet
| Problem | First pick | Alternates |
|---|---|---|
| Smooth periodic, regular grid | FFT / Fourier spectral | Chebyshev (non-periodic) |
| Smooth, complex geometry | Spectral element, hp-FEM | High-order DG |
| Non-smooth coefficients, complex geometry | Linear/quadratic FEM | FV |
| Conservation laws with shocks | WENO + RK time | DG, MUSCL-FV |
| Incompressible NS, moderate Re | FVM (OpenFOAM), projection | Spectral element (Nek5000) |
| Incompressible NS, high Re | LES with FV/SE | DES/RANS |
| Compressible NS, transonic/supersonic | WENO-FV, DG | SU2 |
| Plasma / charged particle | PIC | Vlasov (DG/spectral) |
| Combustion | Reactive FV, AMR | PeleLM, AMReX-Combustion |
| Quantum many-body | Spectral / DMRG / QMC | (out of scope here) |
| Free-surface, large deformation | SPH, LBM, level-set FV | ALE-FEM |
| High-dim PDE (>4D) | PINN, deep BSDE | Sparse grids |
13. Reference texts
- LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge 2002.
- LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM 2007.
- Hairer, Nørsett, Wanner, Solving ODEs I & II, Springer.
- Brenner & Scott, The Mathematical Theory of Finite Element Methods, Springer 2008.
- Trefethen, Spectral Methods in MATLAB, SIAM 2000.
- Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer 2009.
- Hesthaven, Warburton, Nodal Discontinuous Galerkin Methods, Springer 2008.
- Quarteroni, Sacco, Saleri, Numerical Mathematics, Springer.
14. Adjacent
- numerical-methods-reference — quadrature, interpolation, linear solvers shared infrastructure.
- pde-methods — analytic theory for PDEs.
- ode-numerical-methods — ODE methods at greater depth.
- functional-analysis — Lax-Milgram, Galerkin, Sobolev spaces underlying FEM.
- cfd-fundamentals — CFD problem statement and validation.
- automatic-differentiation — adjoint methods and AD tooling.