此概念指定了受控步进器在 积分函数 中使用时必须遵循的接口。
遵循此受控步进器概念的受控步进器提供了使用步长 dt 对 ODE 的解 x(t) 进行一步计算,以获得给定步长 dt 的 x(t+dt) 的可能性。根据解的误差估计,该步可能被拒绝,并建议使用更小的步长。
state_type
Stepper::state_type
表征 ODE 状态的类型,因此是 x。
deriv_type
Stepper::deriv_type
表征 ODE 导数的类型,因此是 d x/dt。
time_type
Stepper::time_type
表征 ODE 的因变量的类型,因此是时间 t。
value_type
Stepper::value_type
步进器中使用的数值数据类型,例如 float、double、complex< double >。
stepper_category
Stepper::stepper_category
表征步进器类别的标签类型。此类型必须可转换为 controlled_stepper_tag。
ControlledStepperControlled Stepper 的一个模型类型
State表示 ODE 状态 x 的类型
时间表示 ODE 时间 t 的类型
stepperControlledStepper 类型的对象
x类型为 State 的对象
t、dtTime 类型的对象
sys定义 ODE 的对象,应为 System、Symplectic System、Simple Symplectic System 或 Implicit System 的模型。
|
名称 |
表达式 |
类型 |
语义 |
|---|---|---|---|
|
执行步进 |
stepper.try_step( sys , x , t , dt )
|
|
尝试以步长 |
controlled_error_stepper< runge_kutta_cash_karp54 >
controlled_error_stepper_fsal< runge_kutta_dopri5 >
controlled_error_stepper< runge_kutta_fehlberg78 >
rosenbrock4_controller
bulirsch_stoer