DIRK tableau registry
DIRK_TABLEAU_REGISTRY exposes diagonally implicit Runge–Kutta schemes as
DIRKTableau instances.
Aliases in the registry integrate with get_algorithm_step() so callers can
select stiffly accurate SDIRK, ESDIRK, and Lobatto families without repeating
coefficients.
- cubie.integrators.algorithms.DIRK_TABLEAU_REGISTRY Dict[str, DIRKTableau]
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s
(key, value) pairs
- dict(iterable) -> new dictionary initialized as if via:
d = {} for k, v in iterable:
d[k] = v
- dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
The DIRKStep factory defaults to "sdirk_2_2"—Alexander’s
second-order, L-stable SDIRK pair—providing embedded error estimates for
adaptive controllers.
Available aliases
Key |
Description |
Reference |
|---|---|---|
|
Single-stage implicit midpoint rule with symplectic structure. |
|
|
Two-stage trapezoidal (Crank–Nicolson) ESDIRK scheme. |
|
|
Three-stage Lobatto IIIC method with stiff accuracy. |
|
|
Alexander’s L-stable SDIRK pair with embedded error weights. |
|
|
Three-stage, third-order L-stable SDIRK scheme with stiff accuracy. |
|
|
Hairer–Wanner five-stage, fourth-order L-stable SDIRK tableau. |
Tableau container
- class cubie.integrators.algorithms.generic_dirk_tableaus.DIRKTableau(a: Tuple[Tuple[float, ...], ...], b: Tuple[float, ...], c: Tuple[float, ...], order: int, b_hat: Tuple[float, ...] | None = None)[source]
Bases:
ButcherTableauCoefficient tableau describing a diagonally implicit RK scheme.
The tableau stores the Runge–Kutta coefficients required by diagonally implicit methods, including singly diagonally implicit (SDIRK) and explicit-first-stage diagonally implicit (ESDIRK) variants.
- diagonal(precision)[source]
Return the diagonal elements of the \(A\) matrix as a precision-typed tuple.
References
Hairer, E., & Wanner, G. (1996). Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems (2nd ed.). Springer.
References
J. M. Sanz-Serna. “Runge–Kutta schemes for Hamiltonian systems.” BIT Numerical Mathematics 28(4), 1988.
J. Crank and P. Nicolson. “A practical method for numerical solution of partial differential equations of the heat-conduction type.” Math. Proc. Camb. Phil. Soc. 43(1), 1947.
E. Hairer, C. Lubich, and G. Wanner. Geometric Numerical Integration (2nd ed.). Springer, 2006.
R. Alexander. “Diagonally implicit Runge–Kutta methods for stiff ODEs.” SIAM J. Numer. Anal. 14(6), 1977.
Idaho National Laboratory. “LStableDirk3 time integrator.” MOOSE Framework Documentation. https://mooseframework.inl.gov/source/ timeintegrators/LStableDirk3.html.
E. Hairer and G. Wanner. Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems (2nd ed.). Springer, 1996.