|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <BlockSRP.hpp>
类 ast::BlockSRP 继承关系图:Public 成员函数 | |
| BlockSRP (EclipseCalculator *eclipseCalculator, double cr, double srpArea, Frame *propagationFrame) | |
| errc_t | run (const SimTime &simTime) final |
| void | setSunPosition (ESunPosition sunPosition) |
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 * | position_ {&vectorBuffer_} |
| Vector3d * | velocity_ {&vectorBuffer_} |
| Vector3d * | accSRP_ {&vectorBuffer_} |
| Vector3d * | velocityDerivative_ {&vectorBuffer_} |
| double * | mass_ {&doubleBuffer_} |
| double | doubleBuffer_ {} |
| 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_srp = Cr * (A/m) * P_1AU * (AU/r)^2 * u_sun2sc 其中: Cr = 光压系数(辐射压力系数) A = SRP面积(航天器截面积) m = 航天器质量 P_1AU = 1AU处的太阳辐射压力(~4.56e-6 N/m^2) AU = 天文单位 r = 太阳到航天器的距离 u_sun2sc = 太阳指向航天器的单位方向向量
| ast::BlockSRP::BlockSRP | ( | EclipseCalculator * | eclipseCalculator, |
| double | cr, | ||
| double | srpArea, | ||
| Frame * | propagationFrame ) |
| sun | 太阳 |
| cr | 光压系数 |
| srpArea | SRP面积 |
| propagationFrame | 预报坐标系 |
|
finalvirtual |