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

#include <HPOP.hpp>

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

Public 成员函数

errc_t setForceModel (HPOPForceModel &&forcemodel)
 
errc_t setForceModel (const HPOPForceModel &forcemodel)
 
const HPOPForceModel & forceModel () const
 
void setSpacecraftParam (const SpacecraftParam &spacecraftParam)
 
const SpacecraftParam & spacecraftParam () const
 
Frame * propagationFrame () const
 
errc_t setPropagationFrame (Frame *frame)
 
void setIntegrator (ODEIntegrator *integrator)
 
ODEIntegrator * getIntegrator () const
 
errc_t propagate (const TimePoint &startTime, TimePoint &targetTime, Vector3d &position, Vector3d &velocity)
 
errc_t propagate (const TimePoint &startTime, TimePoint &targetTime, CartState &state)
 
errc_t propagate (const TimePoint &startTime, TimePoint &targetTime, CartState &state, Matrix6d &stm)
 
errc_t propagate (const TimePoint &startTime, TimePoint &targetTime, CartState &state, Matrix6d &stm, Vector6d &stateSensWrtDrag, Vector6d &stateSensWrtSRP)
 
errc_t initialize ()
 
StateMapper * stateMapper () const
 
void addEventDetector (EventDetector *eventDetector)
 
template<typename Func >
std::enable_if<!std::is_base_of< EventDetector, typenamestd::remove_pointer< Func >::type >::value, EventDetector * >::type addEventDetector (Func func)
 
void clearEventDetectors ()
 
HPOPEquation * equation () const
 
- 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)
 
virtual Class * getType () const
 
virtual std::string getRepresentation () const
 
const std::string & name () const
 
std::string displayName () 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
 
Object * getAttrObject (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)
 
Class * type () const
 
const std::string & typeName () const
 
Property * getProperty (StringView fieldName) const
 
ObjectId getID () const
 
errc_t setParentScope (Object *parentScope)
 
Object * getParentScope () const
 
template<typename T >
T getParent () const
 
bool isOfType (const Class *type) const
 
bool isOfType (StringView typeName) const
 
template<typename T >
bool isOfType () const
 
template<typename Func >
void addDelayedLink (Func &&link)
 
template<typename Func >
void addDelayedLinkIfFailed (Func &&link)
 
void resolveLinks ()
 
bool readOnly () const
 
void setReadOnly (bool readOnly)
 
bool active () const
 
void setActive (bool active)
 
bool isComponent () const
 
void setIsComponent (bool isComponent)
 
bool isEntity () const
 
void setIsEntity (bool isEntity)
 
const char * tr (const char *msg) const
 
 Referenced ()
 
 Referenced (initial_strong_ref_t)
 
- Public 成员函数 继承自 ast::Referenced
 Referenced (initial_strong_ref_t)
 
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 ()
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 ast::Object
static Object * Resolve (StringView value)
 
static void ClassInit (Class *cls)
 
static Class * StaticType ()
 
- 静态 Public 属性 继承自 ast::Object
static Class staticType
 
- Protected 成员函数 继承自 ast::Object
 Object (const Object &)
 
Object & operator= (const Object &)
 
- Protected 成员函数 继承自 ast::Referenced
void setDestructed ()
 

详细描述

高精度轨道预报器

HPOP 类实现了基于高精度动力学模型的轨道数值积分预报功能。 它支持多种摄动力(如地球非球形引力、日月引力、太阳辐射压、大气阻力等), 并允许灵活配置力模型参数、积分器类型(如RK78、RK89等)以及积分步长。

使用建议:

  • 若需在相同力模型下执行多次轨道预报(例如批处理、迭代优化或蒙特卡洛仿真),建议复用 HPOP 对象实例。 这样可以避免重复进行初始化(例如加载并解析重力场系数、空间天气数据等),可以节省计算开销。

线程安全性:

  • 本类非线程安全,多线程环境下请保证每个线程使用独立的HPOP对象实例

成员函数说明

◆ addEventDetector() [1/2]

void ast::HPOP::addEventDetector ( EventDetector * eventDetector)

添加事件检测器

参数
[in]eventDetector事件检测器实例指针

◆ addEventDetector() [2/2]

template<typename Func >
std::enable_if<!std::is_base_of< EventDetector, typenamestd::remove_pointer< Func >::type >::value, EventDetector * >::type ast::HPOP::addEventDetector ( Func func)
inline

添加事件检测器(泛型模板)

参数
[in]func事件检测器函数指针
返回
事件检测器实例指针

◆ propagate() [1/3]

errc_t ast::HPOP::propagate ( const TimePoint & startTime,
TimePoint & targetTime,
CartState & state,
Matrix6d & stm )

带状态转换矩阵的轨道预报,直到达到结束时间或者触发由addEventDetector添加的事件

考虑到有事件触发的预报停止条件,所以预报结束时间同时也是一个输出参数

参数
[in]startTime预报起始时间
[in,out]targetTime预报结束时间
[in,out]state状态向量
[in,out]stm状态转换矩阵
返回
errc_t 错误码

◆ propagate() [2/3]

errc_t ast::HPOP::propagate ( const TimePoint & startTime,
TimePoint & targetTime,
CartState & state,
Matrix6d & stm,
Vector6d & stateSensWrtDrag,
Vector6d & stateSensWrtSRP )

带状态转换矩阵和参数敏感度的轨道预报,直到达到结束时间或者触发由addEventDetector添加的事件

考虑到有事件触发的预报停止条件,所以预报结束时间同时也是一个输出参数 同时预报 6×6 STM 和两个 6×1 参数敏感度向量:

  • 末端状态对阻力弹道系数(B = Cd·A/m)的偏导 ∂[r,v]/∂B
  • 末端状态对SRP综合参数(K = Cr·A/m)的偏导 ∂[r,v]/∂K
    参数
    [in]startTime预报起始时间
    [in,out]targetTime预报结束时间
    [in,out]state位置速度状态
    [in,out]stm状态转换矩阵 Φ (6×6)
    [in,out]stateSensWrtDrag敏感度向量 ∂[r,v]/∂B (6×1)
    [in,out]stateSensWrtSRP敏感度向量 ∂[r,v]/∂K (6×1)
    返回
    errc_t 错误码

◆ propagate() [3/3]

errc_t ast::HPOP::propagate ( const TimePoint & startTime,
TimePoint & targetTime,
Vector3d & position,
Vector3d & velocity )

轨道预报,直到达到结束时间或者触发由addEventDetector添加的事件

考虑到有事件触发的预报停止条件,所以预报结束时间同时也是一个输出参数

参数
[in]startTime预报起始时间
[in,out]targetTime预报结束时间
[in,out]position位置向量
[in,out]velocity速度向量
返回
errc_t 错误码

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