|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <BlockThirdBodyGravity.hpp>
类 ast::BlockThirdBodyGravity 继承关系图:Public 成员函数 | |
| BlockThirdBodyGravity (Point *thirdBody, GravityField &&gravityField, int degree, int order, Axes *gravityAxes, Frame *propagationFrame) | |
| errc_t | run (const SimTime &simTime) override |
| void | setConsiderVariations (bool considerVariations) |
Public 成员函数 继承自 ast::BlockDerivative | |
| ~BlockDerivative () override=default | |
| const std::vector< DataPort > & | getDerivativePorts () const |
| std::vector< DataPort > & | getDerivativePorts () |
Public 成员函数 继承自 ast::FuncBlock | |
| const std::vector< DataPort > & | getInputPorts () const |
| std::vector< DataPort > & | getInputPorts () |
| const std::vector< DataPort > & | getOutputPorts () const |
| std::vector< DataPort > & | getOutputPorts () |
| size_t | getNumInputPorts () const |
| size_t | getNumOutputPorts () const |
| DataPort * | getInputPort (StringView portName) |
| DataPort * | getOutputPort (StringView portName) |
| DataPort * | getInputPort (size_t portIndex) |
| DataPort * | getOutputPort (size_t portIndex) |
| DataPort::EValueType | getInputPortDataType (size_t portIndex) |
| DataPort::EValueType | getOutputPortDataType (size_t portIndex) |
| void * | getInputPortSignal (size_t portIndex) |
| void * | getOutputPortSignal (size_t portIndex) |
| double * | getInputPortRealSignal (size_t portIndex) |
| double * | getOutputPortRealSignal (size_t portIndex) |
| int | getInputPortWidth (size_t portIndex) |
| int | getOutputPortWidth (size_t portIndex) |
Protected 属性 | |
| Vector3d * | posCBI {&vectorBuffer} |
| Vector3d * | accThirdBody {&vectorBuffer} |
| Vector3d * | velocityDerivative_ {&vectorBuffer} |
| Vector3d | vectorBuffer {} |
Protected 属性 继承自 ast::BlockDerivative | |
| std::vector< DataPort > | derivativePorts_ |
Protected 属性 继承自 ast::FuncBlock | |
| std::vector< DataPort > | inputPorts_ |
| std::vector< DataPort > | outputPorts_ |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 ast::FuncBlock | |
| static errc_t | connect (FuncBlock *src, StringView srcPortName, FuncBlock *dst, StringView dstPortName) |
| static errc_t | connect (FuncBlock *src, size_t srcPortIndex, FuncBlock *dst, size_t dstPortIndex) |
三体重力场函数块
计算第三天体的球谐展开重力场摄动加速度(直接引力与间接引力之差)。
工作流程:
方程: a = a_direct(r - r₃) - a_indirect(-r₃)
其中: a_direct(r - r₃) = GravityCalculator::calcTotalAcceleration(r - r₃) 航天器在第三天体引力场中的总加速度(含中心项与摄动项) a_indirect(-r₃) = GravityCalculator::calcTotalAcceleration(-r₃) 中心天体在第三天体引力场中的总加速度(含中心项与摄动项) 当 degree=0 时两项退化为点质量公式,与 BlockThirdBodyPointMass 结果一致。
输入端口:
输出端口:
导数端口:
|
overridevirtual |