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

#include <BlockDragSensitivity.hpp>

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

Public 成员函数

 BlockDragSensitivity (const BlockDragSensitivity &)=delete
 
BlockDragSensitivityoperator= (const BlockDragSensitivity &)=delete
 
errc_t run (const SimTime &simTime) override
 
- 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
 
DataPortgetInputPort (StringView portName)
 
DataPortgetOutputPort (StringView portName)
 
DataPortgetInputPort (size_t portIndex)
 
DataPortgetOutputPort (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)
 

额外继承的成员函数

- 静态 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)
 
- Protected 属性 继承自 ast::BlockDerivative
std::vector< DataPortderivativePorts_ {}
 
- Protected 属性 继承自 ast::FuncBlock
std::vector< DataPortinputPorts_ {}
 
std::vector< DataPortoutputPorts_ {}
 

详细描述

弹道系数B敏感度传播函数块

计算 Ψ_B = ∂[r,v]/∂B 的时间导数: dΨ_B/dt = A(t) · Ψ_B + [0, 0, 0, ∂a_drag/∂B]ᵀ

其中: Ψ_B = 状态对弹道系数 B = Cd·A/m 的偏导数(6×1) A(t) = 动力学雅可比矩阵 ∂f/∂x(6×6) ∂a_drag/∂B = a_drag / B(3维加速度向量,由 BlockDragPartial 提供)

输入端口:

  • "AMatrix":动力学雅可比矩阵 A(t)(36维,6×6 行优先存储)
  • "StateSensitivityToDrag":敏感度向量 Ψ_B(6维)
  • "AccSensitivityToDrag":阻力加速度对B的偏导数(3维,由 BlockDragPartial 提供)

导数端口:

  • "StateSensitivityToDrag":dΨ_B/dt(6维)
注解
本块读取 AMatrix 输入端口,拓扑排序保证在所有力模型块之后执行
参见
BlockDragPartial, BlockStateTransitionMatrix

成员函数说明

◆ run()

errc_t ast::BlockDragSensitivity::run ( const SimTime & simTime)
overridevirtual

计算函数块

参数
simTime仿真时间
返回
错误码

实现了 ast::FuncBlock.


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