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

#include <RKF56.hpp>

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

Public 成员函数

 AST_OBJECT (RKF56)
 
errc_t initialize (ODE &ode) final
 
errc_t singleStep (ODE &ode, double *y, double t0, double step) final
 
- Public 成员函数 继承自 ast::ODEVarStepIntegrator
errc_t integrate (ODE &ode, double *y, double &t, double tf) final
 
errc_t integrateStep (ODE &ode, double *y, double &t, double tf) final
 
void setMaxAbsErr (double maxAbsErr)
 
void setMaxRelErr (double maxRelErr)
 
void setMaxIterations (int maxIterations)
 
int getMaxIterations () const
 
void setMaxStepSize (double maxStepSize)
 
double getMaxStepSize () const
 
void setMinStepSize (double minStepSize)
 
double getMinStepSize () const
 
void setSafetyCoeffLow (double safetyCoeffLow)
 
double getSafetyCoeffLow () const
 
void setSafetyCoeffHigh (double safetyCoeffHigh)
 
double getSafetyCoeffHigh () const
 
void setUseMinStep (bool useMinStep)
 
bool getUseMinStep () const
 
void setUseMaxStep (bool useMaxStep)
 
bool getUseMaxStep () const
 
void setInitialStepSize (double initialStepSize)
 
double getLargestStepSize () const
 
double getSmallestStepSize () const
 
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)
 
int getNumSteps () const
 
- Public 成员函数 继承自 ast::ODEFixedStepIntegrator
 AST_OBJECT (ODEFixedStepIntegrator)
 
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, 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 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 clearEventDetectors ()
 
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 ()
 
- Public 成员函数 继承自 ast::IODEIntegrator
- Public 成员函数 继承自 ast::ObjectNamed
 ObjectNamed ()=default
 
 ObjectNamed (StringView name)
 
const std::string & getName () const override
 
void setName (StringView name) override
 
- Public 成员函数 继承自 ast::Object
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
 Object (initial_strong_ref_t)
 
virtual ClassgetType () const
 
virtual std::string getRepresentation () const
 
const std::string & name () const
 
errc_t showEditDialog ()
 
Attribute attr (StringView path)
 
errc_t getAttrBool (StringView path, bool &value) const
 
errc_t getAttrInt (StringView path, int &value) const
 
errc_t getAttrDouble (StringView path, double &value) const
 
errc_t getAttrString (StringView path, std::string &value) const
 
errc_t getAttrObject (StringView path, Object *&value) const
 
double getAttrDouble (StringView path) const
 
int getAttrInt (StringView path) const
 
bool getAttrBool (StringView path) const
 
std::string getAttrString (StringView path) const
 
ObjectgetAttrObject (StringView path) const
 
errc_t setAttrBool (StringView path, bool value)
 
errc_t setAttrInt (StringView path, int value)
 
errc_t setAttrDouble (StringView path, double value)
 
errc_t setAttrString (StringView path, StringView value)
 
errc_t setAttrObject (StringView path, Object *value)
 
Classtype () const
 
const std::string & typeName () const
 
PropertygetProperty (StringView fieldName) const
 
ObjectId getID () const
 
errc_t setParentScope (Object *parentScope)
 
ObjectgetParentScope () const
 
bool isOfType (const Class *type) const
 
bool isOfType (StringView typeName) const
 
template<typename T >
bool isOfType () const
 
uint32_t refCount () const
 
uint32_t weakRefCount () const
 
bool isDestructed () const
 
void destruct ()
 
uint32_t incWeakRef ()
 
uint32_t decWeakRef ()
 
uint32_t incRef ()
 
uint32_t decRef ()
 
uint32_t decRefNoDelete ()
 
template<typename Func >
void addDelayedLink (Func &&link)
 
template<typename Func >
void addDelayedLinkIfFailed (Func &&link)
 
void resolveLinks ()
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 ast::Object
static ObjectResolve (StringView value)
 
static void ClassInit (Class *cls)
 
static ClassStaticType ()
 
- 静态 Public 属性 继承自 ast::Object
static Class staticType
 
- Protected 成员函数 继承自 ast::ODEVarStepIntegrator
bool isErrorMeet (double &absh, const double *y, const double *ynew)
 
- Protected 成员函数 继承自 ast::ODEFixedStepIntegrator
void resetWorkspace (int dimension, int stage)
 
- Protected 成员函数 继承自 ast::ODEIntegrator
void initWorkStateObserver ()
 
 A_DISABLE_COPY (ODEIntegrator)
 
- Protected 成员函数 继承自 ast::Object
 Object (const Object &obj)
 
Objectoperator= (const Object &)
 
- Protected 属性 继承自 ast::ODEVarStepIntegrator
AST_PROPERTIES : bool useMinStep_
 
bool useMaxStep_
 
bool warnOnMinStep_
 
int maxStepAttempts_
 
double minStepSize_
 
double maxStepSize_
 
double maxAbsErr_
 
double maxRelErr_
 
double minStepScaleFactor_
 
double maxStepScaleFactor_
 
double safetyCoeffLow_
 
double safetyCoeffHigh_
 
double errCtrPowthLow_
 
double errCtrPowthHigh_
 
- 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}
 

详细描述

Runge-Kutta-Fehlberg 5(6) 积分器


参考文献:Classical Fifth-, Sixth-, Seventh-, and Eighth-Order Runge-Kutta Formulas with Stepsize Control

成员函数说明

◆ initialize()

errc_t ast::RKF56::initialize ( ODE & ode)
finalvirtual

初始化积分器

初始化积分器,设置ODE的维度和步长等参数

参数
ode常微分方程对象

重载 ast::ODEIntegrator .

◆ singleStep()

errc_t ast::RKF56::singleStep ( ODE & ode,
double * y,
double t0,
double step )
finalvirtual

执行一步积分

参数
ode常微分方程对象
[in,out]y状态向量
t0当前时间
step时间步长

实现了 ast::IODEIntegrator.


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