conspire/math/integrate/
mod.rs1#[cfg(feature = "doc")]
2pub mod doc;
3#[cfg(test)]
4mod test;
5
6mod dae;
7mod error;
8mod field;
9mod ode;
10mod tableau;
11
12use crate::math::QuantityVector;
13use crate::units::Time;
14
15pub type Times<T = Time> = QuantityVector<T>;
17
18pub use error::IntegrationError;
19pub use field::{
20 EvolvedIncrement, EvolvedState, Flat, HermiteSegment, Integrable, List, Product,
21 StateEvolution, Unimodular, integrate_euler, integrate_rkmk, integrate_rkmk_adaptive,
22 integrate_rkmk_dae_adaptive, integrate_rkmk_dae_adaptive_minimize,
23 integrate_rkmk_dae_adaptive_root, integrate_rkmk_state, integrate_rkmk_state_adaptive,
24 interpolate_hermite, rkmk_dae_step, rkmk_dae_step_minimize, rkmk_dae_step_root, rkmk_step,
25};
26pub use tableau::{ButcherTableau, EmbeddedTableau, StabilityRegion};
27
28pub use ode::explicit::variable_step::{
29 bogacki_shampine::Tableau as BogackiShampineTableau,
30 dormand_prince::Tableau as DormandPrinceTableau, verner_8::Tableau as Verner8Tableau,
31 verner_9::Tableau as Verner9Tableau,
32};
33
34pub use dae::{
35 ExplicitDaeMinimize, ExplicitDaeRoot, ImplicitDaeMinimize, ImplicitDaeRoot,
36 explicit::variable_step::{
37 explicit::{
38 ExplicitDaeVariableStepExplicit, ExplicitDaeVariableStepExplicitMinimize,
39 ExplicitDaeVariableStepExplicitRoot, ExplicitDaeVariableStepFirstSameAsLast,
40 },
41 implicit::{
42 ImplicitDaeVariableStepExplicit, ImplicitDaeVariableStepExplicitMinimize,
43 ImplicitDaeVariableStepExplicitRoot,
44 },
45 },
46};
47pub use ode::{
48 FixedStep, OdeIntegrator, VariableStep,
49 dynamics::{
50 explicit::{
51 ExplicitDynamics, ExplicitDynamicsCoupled, stacked::Stacked,
52 velocity_verlet::VelocityVerlet,
53 },
54 implicit::{ImplicitDynamics, newmark::Newmark},
55 },
56 explicit::{
57 Explicit, Spectrum,
58 fixed_step::{
59 FixedStepExplicit, bogacki_shampine::BogackiShampine as BogackiShampineFixedStep,
60 dormand_prince::DormandPrince as DormandPrinceFixedStep, euler::Euler, heun::Heun,
61 midpoint::Midpoint, ralston::Ralston, verner_8::Verner8 as Verner8FixedStep,
62 verner_9::Verner9 as Verner9FixedStep,
63 },
64 variable_step::{
65 FreeInterpolant,
66 VariableStepExplicit,
67 VariableStepExplicitFirstSameAsLast,
68 bogacki_shampine::BogackiShampine,
69 dormand_prince::DormandPrince,
70 verner_8::Verner8,
74 verner_9::Verner9,
75 },
76 },
77 implicit::{
78 Implicit, backward_euler::BackwardEuler, midpoint::Midpoint as ImplicitMidpoint,
79 trapezoidal::Trapezoidal,
80 },
81};
82
83pub type Ode1 = Euler;
85
86pub type Ode1be = BackwardEuler;
88
89pub type Ode2 = Heun;
94
95pub type Ode23 = BogackiShampine;
97
98pub type Ode3 = BogackiShampineFixedStep;
100
101pub type Ode45 = DormandPrince;
103
104pub type Ode5 = DormandPrinceFixedStep;
106
107pub type Ode78 = Verner8;
109
110pub type Ode8 = Verner8FixedStep;
112
113pub type Ode89 = Verner9;
115
116pub type Ode9 = Verner9FixedStep;