Expand description
Integration, ODEs, and DAEs.
Structs§
- Backward
Euler - Implicit, single-stage, first-order, fixed-step, Runge-Kutta method.
- Bogacki
Shampine - Explicit, three-stage, third-order, variable-step, Runge-Kutta method.
- Bogacki
Shampine Fixed Step - Explicit, three-stage, third-order, fixed-step, Runge-Kutta method.
- Bogacki
Shampine Tableau - The Bogacki–Shampine 3(2) tableau.
- Dormand
Prince - Explicit, six-stage, fifth-order, variable-step, Runge-Kutta method.
- Dormand
Prince Fixed Step - Explicit, six-stage, fifth-order, fixed-step, Runge-Kutta method.
- Dormand
Prince Tableau - The Dormand–Prince 5(4) tableau.
- Euler
- Explicit, single-stage, first-order, fixed-step, Runge-Kutta method.
- Flat
- A state in a flat vector space: the increment simply adds.
- Hermite
Segment - Cubic Hermite dense output over one accepted step, built in the field’s Lie algebra rather than on the state itself.
- Heun
- Explicit, two-stage, second-order, fixed-step, Runge-Kutta method.
- Implicit
Midpoint - Implicit, single-stage, second-order, fixed-step, Runge-Kutta method.
- List
- A list of independent copies of one field, e.g. every Gauss point’s plastic
state across a mesh; an increment reconstructs entry-wise. Composes with
Productfor a multi-block mesh (Product<List<Field1>, List<Field2>>). - Midpoint
- Explicit, two-stage, second-order, fixed-step, Runge-Kutta method.
- Product
- A composite of two fields; its state is the matching
TensorTuple, and an increment reconstructs component-wise. Nests right for three or more fields. - Ralston
- Explicit, two-stage, second-order, fixed-step, Runge-Kutta method.
- Trapezoidal
- Implicit, two-stage, second-order, fixed-step, Runge-Kutta method.
- Unimodular
- A state acted on by the matrix exponential,
X_{n+1} = exp(increment) X_n, staying on the unimodular group (det = 1) whenever the increment is trace-free. The state mapsB → Awhile its algebra element mapsA → A, soF_p(Reference → Intermediate) isUnimodular<Intermediate, Reference>. - Verner8
- Explicit, thirteen-stage, eighth-order, variable-step, Runge-Kutta method.
- Verner9
- Explicit, sixteen-stage, ninth-order, variable-step, Runge-Kutta method.
- Verner8
Fixed Step - Explicit, twelve-stage, eighth-order, fixed-step, Runge-Kutta method.
- Verner8
Tableau - The Verner 8(7) tableau.
- Verner9
Fixed Step - Explicit, fifteen-stage, ninth-order, fixed-step, Runge-Kutta method.
- Verner9
Tableau - The Verner 9(8) tableau.
Enums§
- Integration
Error - Possible errors encountered when integrating.
Traits§
- Butcher
Tableau - Butcher tableau for an explicit Runge–Kutta method.
- Embedded
Tableau - An embedded explicit Runge–Kutta pair.
- Explicit
- Explicit integrators for ordinary differential equations.
- Explicit
DaeFirst Order Minimize - Integrators for explicit differential-algebraic equations using first-order minimization.
- Explicit
DaeFirst Order Root - Integrators for explicit differential-algebraic equations using first-order root-finding.
- Explicit
DaeSecond Order Minimize - Integrators for explicit differential-algebraic equations using second-order minimization.
- Explicit
DaeVariable Step Explicit - Variable-step explicit integrators for explicit differential-algebraic equations.
- Explicit
DaeVariable Step Explicit First Order Minimize - Variable-step explicit integrators for explicit differential-algebraic equations using first-order minimization.
- Explicit
DaeVariable Step Explicit First Order Root - Variable-step explicit integrators for explicit differential-algebraic equations using first-order root-finding.
- Explicit
DaeVariable Step Explicit Second Order Minimize - Variable-step explicit integrators for explicit differential-algebraic equations using second-order minimization.
- Explicit
DaeVariable Step Explicit Zeroth Order Root - Variable-step explicit integrators for explicit differential-algebraic equations using zeroth-order root-finding.
- Explicit
DaeVariable Step First Same AsLast - First-same-as-last property for explicit differential-algebraic equation integrators.
- Explicit
DaeZeroth Order Root - Integrators for explicit differential-algebraic equations using zeroth-order root-finding.
- Fixed
Step - Fixed-step integrators for ordinary differential equations.
- Fixed
Step Explicit - Fixed-step explicit integrators for ordinary differential equations.
- Free
Interpolant - Free (dense-output) interpolant for explicit ordinary differential equation integrators.
- Implicit
DaeFirst Order Minimize - Integrators for implicit differential-algebraic equations using first-order minimization.
- Implicit
DaeFirst Order Root - Integrators for implicit differential-algebraic equations using first-order root-finding.
- Implicit
DaeSecond Order Minimize - Integrators for implicit differential-algebraic equations using second-order minimization.
- Implicit
DaeVariable Step Explicit - Variable-step explicit integrators for implicit differential-algebraic equations.
- Implicit
DaeVariable Step Explicit First Order Minimize - Variable-step explicit integrators for implicit differential-algebraic equations using first-order minimization.
- Implicit
DaeVariable Step Explicit First Order Root - Variable-step explicit integrators for implicit differential-algebraic equations using first-order root-finding.
- Implicit
DaeVariable Step Explicit Second Order Minimize - Variable-step explicit integrators for implicit differential-algebraic equations using second-order minimization.
- Implicit
DaeVariable Step Explicit Zeroth Order Root - Variable-step explicit integrators for implicit differential-algebraic equations using zeroth-order root-finding.
- Implicit
DaeZeroth Order Root - Integrators for implicit differential-algebraic equations using zeroth-order root-finding.
- Implicit
First Order - Implicit integrators for ordinary differential equations using first-order root-finding.
- Implicit
Zeroth Order - Implicit integrators for ordinary differential equations using zeroth-order root-finding.
- Integrable
- The geometry of one integrated state field: how an increment advances the state.
- OdeIntegrator
- Integrators for ordinary differential equations.
- State
Evolution - A model whose internal state evolves as a product of Lie-algebra rates,
ready for the field drivers.
Self::Driveis the externally-imposed input the rate needs beside the state (e.g. the total deformation gradient). - Variable
Step - Variable-step integrators for ordinary differential equations.
- Variable
Step Explicit - Variable-step explicit integrators for ordinary differential equations.
- Variable
Step Explicit First Same AsLast - First-same-as-last property for explicit ordinary differential equation integrators.
Functions§
- integrate_
euler - Explicit Euler for a single
Integrable, one step per interval oftime. - integrate_
rkmk - Runge–Kutta–Munthe-Kaas: a fixed-step
ButcherTableaurun in the field’s Lie algebra, with theIntegrable::dexpinvcorrection per stage and a singleIntegrable::reconstructper step. Reduces to the plain tableau on a flat field. Seesuper::rkmk_stepfor the allocation-free single step. - integrate_
rkmk_ adaptive - Adaptive RKMK:
integrate_rkmkwith embedded local-error control from the tableau’sDweights. The step is grown or shrunk by0.9 (tol / e)^{1/p}(clamped to[DT_CUT, 5]), and a step whose erroreexceedsabs_tol + rel_tol ‖x_{n+1}‖is rejected. A rate-evaluation failure is retried withdt *= DT_CUT, the same as a rejected accuracy estimate. - integrate_
rkmk_ dae_ adaptive - Adaptive
super::rkmk_dae_step: embedded local-error control from the tableau’sDweights over the span[time[0], time[last]], with the same controller asintegrate_rkmk_adaptive. A rejected step costs no endpoint constraint solve. Returns the accepted times, the state history, and the matching algebraic history. - integrate_
rkmk_ dae_ adaptive_ first_ order_ root integrate_rkmk_dae_adaptivewith the algebraic unknown resolved by first-order root-finding at every stage abscissa, built fromfunction/jacobian/solverthe same waysuper::rkmk_dae_step_first_order_rootbuilds it for a single step.- integrate_
rkmk_ dae_ adaptive_ second_ order_ minimize integrate_rkmk_dae_adaptivewith the algebraic unknown resolved by second-order minimization at every stage abscissa, built fromfunction/jacobian/hessian/solverthe same waysuper::rkmk_dae_step_second_order_minimizebuilds it for a single step.- integrate_
rkmk_ state - Runs
super::integrate_rkmkover aStateEvolutionmodel, samplingdriveat each stage time and starting from the model’s own initial state. - integrate_
rkmk_ state_ adaptive - Runs
super::integrate_rkmk_adaptiveover aStateEvolutionmodel, samplingdriveat each stage time and starting from the model’s own initial state.timesupplies only the span[time[0], time[last]]; the returned times are the steps the controller accepted. - interpolate_
hermite - Finds the containing segment and evaluates it there, over a whole grid of requested times.
- rkmk_
dae_ step - One RKMK step of a semi-explicit DAE: the differential field advances on its manifold while the algebraic unknown is re-solved from its constraint at every stage abscissa.
- rkmk_
dae_ step_ first_ order_ root rkmk_dae_stepwith the algebraic unknown resolved by first-order root-finding at every stage abscissa, built fromfunction/jacobian/solverexactly asExplicitDaeVariableStepExplicitFirstOrderRootbuilds itssolutionclosure for the legacy flat DAE solver — the split between root-finding and minimization is orthogonal to which field the state lives on, so this is the one place that wrapping happens for the RKMK-DAE path. Anysuper::StateEvolutionmodel that also supplies a residual and its Jacobian in terms of the whole field state gets the manifold-aware stage-equilibrium step for free, without hand-rolling this closure itself.- rkmk_
dae_ step_ second_ order_ minimize rkmk_dae_stepwith the algebraic unknown resolved by second-order minimization at every stage abscissa, built fromfunction/jacobian/hessian/solverthe same wayrkmk_dae_step_first_order_rootbuilds it for root-finding — the two are siblings so a model whose equilibrium is naturally posed as a potential (rather than a residual) gets the same manifold-aware stage-equilibrium step.- rkmk_
step - Advances
pointone RKMK step fromttot + dtwith theTabtableau —super::integrate_rkmkwithout the history, and with the stage-slope bufferscratchpassed in so a stepping loop allocates nothing per step.scratchmay start empty; its contents are overwritten.
Type Aliases§
- Evolved
Increment - The
Increment(Lie-algebra) type of aStateEvolutionmodel’s field. - Evolved
State - The
Pointtype of aStateEvolutionmodel’s field. - Ode1
- Alias for
Euler. - Ode2
- Alias for
Heun. - Ode3
- Alias for
BogackiShampineFixedStep. - Ode5
- Alias for
DormandPrinceFixedStep. - Ode8
- Alias for
Verner8FixedStep. - Ode9
- Alias for
Verner9FixedStep. - Ode1be
- Alias for
BackwardEuler. - Ode23
- Alias for
BogackiShampine. - Ode45
- Alias for
DormandPrince. - Ode78
- Alias for
Verner8. - Ode89
- Alias for
Verner9. - Times
- The variable of integration values.