Skip to main content

Module integrate

Module integrate 

Source
Expand description

Integration, ODEs, and DAEs.

Structs§

BackwardEuler
Implicit, single-stage, first-order, fixed-step, Runge-Kutta method.
BogackiShampine
Explicit, three-stage, third-order, variable-step, Runge-Kutta method.
BogackiShampineFixedStep
Explicit, three-stage, third-order, fixed-step, Runge-Kutta method.
BogackiShampineTableau
The Bogacki–Shampine 3(2) tableau.
DormandPrince
Explicit, six-stage, fifth-order, variable-step, Runge-Kutta method.
DormandPrinceFixedStep
Explicit, six-stage, fifth-order, fixed-step, Runge-Kutta method.
DormandPrinceTableau
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.
HermiteSegment
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.
ImplicitMidpoint
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 Product for 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 maps B → A while its algebra element maps A → A, so F_p (Reference → Intermediate) is Unimodular<Intermediate, Reference>.
Verner8
Explicit, thirteen-stage, eighth-order, variable-step, Runge-Kutta method.
Verner9
Explicit, sixteen-stage, ninth-order, variable-step, Runge-Kutta method.
Verner8FixedStep
Explicit, twelve-stage, eighth-order, fixed-step, Runge-Kutta method.
Verner8Tableau
The Verner 8(7) tableau.
Verner9FixedStep
Explicit, fifteen-stage, ninth-order, fixed-step, Runge-Kutta method.
Verner9Tableau
The Verner 9(8) tableau.

Enums§

IntegrationError
Possible errors encountered when integrating.

Traits§

ButcherTableau
Butcher tableau for an explicit Runge–Kutta method.
EmbeddedTableau
An embedded explicit Runge–Kutta pair.
Explicit
Explicit integrators for ordinary differential equations.
ExplicitDaeFirstOrderMinimize
Integrators for explicit differential-algebraic equations using first-order minimization.
ExplicitDaeFirstOrderRoot
Integrators for explicit differential-algebraic equations using first-order root-finding.
ExplicitDaeSecondOrderMinimize
Integrators for explicit differential-algebraic equations using second-order minimization.
ExplicitDaeVariableStepExplicit
Variable-step explicit integrators for explicit differential-algebraic equations.
ExplicitDaeVariableStepExplicitFirstOrderMinimize
Variable-step explicit integrators for explicit differential-algebraic equations using first-order minimization.
ExplicitDaeVariableStepExplicitFirstOrderRoot
Variable-step explicit integrators for explicit differential-algebraic equations using first-order root-finding.
ExplicitDaeVariableStepExplicitSecondOrderMinimize
Variable-step explicit integrators for explicit differential-algebraic equations using second-order minimization.
ExplicitDaeVariableStepExplicitZerothOrderRoot
Variable-step explicit integrators for explicit differential-algebraic equations using zeroth-order root-finding.
ExplicitDaeVariableStepFirstSameAsLast
First-same-as-last property for explicit differential-algebraic equation integrators.
ExplicitDaeZerothOrderRoot
Integrators for explicit differential-algebraic equations using zeroth-order root-finding.
FixedStep
Fixed-step integrators for ordinary differential equations.
FixedStepExplicit
Fixed-step explicit integrators for ordinary differential equations.
FreeInterpolant
Free (dense-output) interpolant for explicit ordinary differential equation integrators.
ImplicitDaeFirstOrderMinimize
Integrators for implicit differential-algebraic equations using first-order minimization.
ImplicitDaeFirstOrderRoot
Integrators for implicit differential-algebraic equations using first-order root-finding.
ImplicitDaeSecondOrderMinimize
Integrators for implicit differential-algebraic equations using second-order minimization.
ImplicitDaeVariableStepExplicit
Variable-step explicit integrators for implicit differential-algebraic equations.
ImplicitDaeVariableStepExplicitFirstOrderMinimize
Variable-step explicit integrators for implicit differential-algebraic equations using first-order minimization.
ImplicitDaeVariableStepExplicitFirstOrderRoot
Variable-step explicit integrators for implicit differential-algebraic equations using first-order root-finding.
ImplicitDaeVariableStepExplicitSecondOrderMinimize
Variable-step explicit integrators for implicit differential-algebraic equations using second-order minimization.
ImplicitDaeVariableStepExplicitZerothOrderRoot
Variable-step explicit integrators for implicit differential-algebraic equations using zeroth-order root-finding.
ImplicitDaeZerothOrderRoot
Integrators for implicit differential-algebraic equations using zeroth-order root-finding.
ImplicitFirstOrder
Implicit integrators for ordinary differential equations using first-order root-finding.
ImplicitZerothOrder
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.
StateEvolution
A model whose internal state evolves as a product of Lie-algebra rates, ready for the field drivers. Self::Drive is the externally-imposed input the rate needs beside the state (e.g. the total deformation gradient).
VariableStep
Variable-step integrators for ordinary differential equations.
VariableStepExplicit
Variable-step explicit integrators for ordinary differential equations.
VariableStepExplicitFirstSameAsLast
First-same-as-last property for explicit ordinary differential equation integrators.

Functions§

integrate_euler
Explicit Euler for a single Integrable, one step per interval of time.
integrate_rkmk
Runge–Kutta–Munthe-Kaas: a fixed-step ButcherTableau run in the field’s Lie algebra, with the Integrable::dexpinv correction per stage and a single Integrable::reconstruct per step. Reduces to the plain tableau on a flat field. See super::rkmk_step for the allocation-free single step.
integrate_rkmk_adaptive
Adaptive RKMK: integrate_rkmk with embedded local-error control from the tableau’s D weights. The step is grown or shrunk by 0.9 (tol / e)^{1/p} (clamped to [DT_CUT, 5]), and a step whose error e exceeds abs_tol + rel_tol ‖x_{n+1}‖ is rejected. A rate-evaluation failure is retried with dt *= 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’s D weights over the span [time[0], time[last]], with the same controller as integrate_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_adaptive with the algebraic unknown resolved by first-order root-finding at every stage abscissa, built from function/jacobian/solver the same way super::rkmk_dae_step_first_order_root builds it for a single step.
integrate_rkmk_dae_adaptive_second_order_minimize
integrate_rkmk_dae_adaptive with the algebraic unknown resolved by second-order minimization at every stage abscissa, built from function/jacobian/hessian/solver the same way super::rkmk_dae_step_second_order_minimize builds it for a single step.
integrate_rkmk_state
Runs super::integrate_rkmk over a StateEvolution model, sampling drive at each stage time and starting from the model’s own initial state.
integrate_rkmk_state_adaptive
Runs super::integrate_rkmk_adaptive over a StateEvolution model, sampling drive at each stage time and starting from the model’s own initial state. time supplies 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_step with the algebraic unknown resolved by first-order root-finding at every stage abscissa, built from function/jacobian/ solver exactly as ExplicitDaeVariableStepExplicitFirstOrderRoot builds its solution closure 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. Any super::StateEvolution model 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_step with the algebraic unknown resolved by second-order minimization at every stage abscissa, built from function/jacobian/ hessian/solver the same way rkmk_dae_step_first_order_root builds 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 point one RKMK step from t to t + dt with the Tab tableau — super::integrate_rkmk without the history, and with the stage-slope buffer scratch passed in so a stepping loop allocates nothing per step. scratch may start empty; its contents are overwritten.

Type Aliases§

EvolvedIncrement
The Increment (Lie-algebra) type of a StateEvolution model’s field.
EvolvedState
The Point type of a StateEvolution model’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.