🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::ODEFixedStepIntegrator类 参考

#include <ODEFixedStepIntegrator.hpp>

+ 类 ast::ODEFixedStepIntegrator 继承关系图:

class  Workspace
 

Public 成员函数

double getStepSize () const
 
void setStepSize (double stepSize)
 
int getNumSteps () const
 
const WorkspacegetWorkspace () const
 
WorkspacegetWorkspace ()
 
errc_t integrate (ODE &ode, double *y, double &t, double tf) override
 
errc_t integrateStep (ODE &ode, double *y, double &t, double tf) override
 
errc_t integrate (ODE &ode, double *y, double &t, double tf, std::vector< double > &xlist, std::vector< std::vector< double > > &ylist)
 
template<typename Func >
errc_t integrate (int ndim, Func func, double *y, double &t, double tf)
 
- Public 成员函数 继承自 ast::ODEIntegrator
errc_t initialize (ODE &ode) override
 
errc_t integrate (ODE &ode, double *y, double &t, double tf, std::vector< double > &xlist, std::vector< std::vector< double > > &ylist)
 
template<typename Func >
errc_t integrate (int ndim, Func func, double *y, double &t, double tf)
 
void addEventDetector (ODEEventDetector *detector)
 
template<typename Func >
std::enable_if<!std::is_base_of< ODEEventDetector, typenamestd::remove_pointer< Func >::type >::value, ODEEventDetector * >::type addEventDetector (Func func)
 
void removeEventDetector (ODEEventDetector *detector)
 
void addStateObserver (ODEStateObserver *observer)
 
template<typename Func >
std::enable_if<!std::is_base_of< ODEStateObserver, typenamestd::remove_pointer< Func >::type >::value, ODEStateObserver * >::type addStateObserver (Func func)
 
void removeStateObserver (ODEStateObserver *observer)
 
ODEgetODE ()
 
double * stateAtStepStart ()
 
double * stateAtStepEnd ()
 
double & timeAtStepStart ()
 
double & timeAtStepEnd ()
 
double * stateTemp ()
 
virtual errc_t integrate (ODE &ode, double *y, double &t, double tf)=0
 
- Public 成员函数 继承自 ast::IODEIntegrator
virtual errc_t singleStep (ODE &ode, double *y, double t0, double step)=0
 

Protected 成员函数

void resetWorkspace (int dimension, int stage)
 
- Protected 成员函数 继承自 ast::ODEIntegrator
void initWorkStateObserver ()
 
 A_DISABLE_COPY (ODEIntegrator)
 

额外继承的成员函数

- Protected 属性 继承自 ast::ODEIntegrator
ODEode_ {nullptr}
 
ODEStateObserverworkStateObserver_ {nullptr}
 
ODEEventDetectorList eventDetectorList_
 
ODEStateObserverList stateObserverList_
 
ODEInnerStateObserverinnerStateObserver_ {nullptr}
 
double * stateAtStepStart_ {nullptr}
 
double * stateAtStepEnd_ {nullptr}
 
double * stateTemp_ {nullptr}
 
double timeAtStepStart_ {0.0}
 
double timeAtStepEnd_ {0.0}
 

详细描述

固定步长积分器

固定步长积分器是一种简单的积分器,每步积分的时间间隔相同。

成员函数说明

◆ integrate() [1/3]

template<typename Func >
errc_t ast::ODEIntegrator::integrate ( int ndim,
Func func,
double * y,
double & t,
double tf )
inline

积分ODE

积分ODE,将积分结果存储在y和t中

参数
[in]ndimODE的维度
[in]func常微分方程
[in,out]y状态向量
[in,out]t当前时间
[in]tf最终时间

◆ integrate() [2/3]

errc_t ast::ODEFixedStepIntegrator::integrate ( ODE & ode,
double * y,
double & t,
double tf )
overridevirtual
参见
ODEIntegrator

int ndim = ode.getDimension();

实现了 ast::IODEIntegrator.

ast::ODEVarStepIntegrator 重载.

◆ integrate() [3/3]

errc_t ast::ODEIntegrator::integrate ( ODE & ode,
double * y,
double & t,
double tf,
std::vector< double > & xlist,
std::vector< std::vector< double > > & ylist )

积分ODE

积分ODE,将积分结果存储在y中 同时将时间点和状态向量存储在xlist和ylist中

参数
[in]ode常微分方程对象
[in,out]y状态向量
[in,out]t当前时间
[in]tf最终时间
[out]xlist时间点列表
[out]ylist状态向量列表

◆ integrateStep()

errc_t ast::ODEFixedStepIntegrator::integrateStep ( ODE & ode,
double * y,
double & t,
double tf )
overridevirtual

该类的文档由以下文件生成: