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

#include <BlockDerivative.hpp>

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

Public 成员函数

 ~BlockDerivative () override=default
 
const std::vector< DataPort > & getDerivativePorts () const
 
std::vector< DataPort > & getDerivativePorts ()
 
- Public 成员函数 继承自 ast::FuncBlock
virtual errc_t run (const SimTime &simTime)=0
 
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)
 

Protected 属性

std::vector< DataPortderivativePorts_
 
- Protected 属性 继承自 ast::FuncBlock
std::vector< DataPortinputPorts_
 
std::vector< DataPortoutputPorts_
 

额外继承的成员函数

- 静态 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)
 

详细描述

导数函数块

导数函数块在普通函数块的基础上增加了导数端口(derivative ports)。 导数端口用于与动力学系统自动建立连接关系(详细实现机制见BlockDynamicSystem)

继承关系: FuncBlockBlockDerivative → 各具体力模型块(BlockTwoBody、BlockDrag 等)

工作流程:

  1. 每个导数块通过 run() 计算其贡献的加速度
  2. 加速度通过输出端口(outputPorts_)发布
  3. 同时累加到导数端口(derivativePorts_)对应的速度导数上
  4. BlockDynamicSystem 自动收集所有导数端口的信号,构建常微分方程组
参见
BlockDynamicSystem

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