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

#include <BlockDynamicSystem.hpp>

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

Public 成员函数

size_t size () const
 
int getDimension () const
 
const double * getStateData () const
 
const double * getDerivativeData () const
 
void setStateData (const double *y)
 
void getDerivativeData (double *dydt) const
 
void fillDerivativeData (double value)
 
errc_t initialize ()
 
errc_t sortBlocks ()
 
errc_t createStateMap ()
 
errc_t connectSignalsByNames ()
 
void addBlock (BlockDerivative *block)
 
void addDerivativeBlock (BlockDerivative *block)
 
void clearBlocks ()
 
void reset ()
 
void addBlock (FuncBlock *block)
 
- Public 成员函数 继承自 ast::BlockSystem
errc_t run (const SimTime &simTime) final
 
void addBlock (FuncBlock *block)
 
void clearBlocks ()
 
- 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)
 

Protected 类型

using StateMap = std::unordered_map<Identifier*, double*>
 

Protected 属性

std::vector< BlockDerivative * > derivativeBlocks_
 
std::vector< double > state_
 
std::vector< double > derivative_
 
StateMap stateMap_
 
StateMap derivativeMap_
 
- Protected 属性 继承自 ast::BlockSystem
std::vector< FuncBlock * > blocks_
 
- 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)
 

详细描述

动力学系统

动力学系统是一个包含普通函数块和导数函数块的子系统 每个导数块负责计算动力学系统的一个或多个状态变量的导数。 每个函数块通过输入输出端口进行信号连接,组合形成复杂的动力学系统。

动力学系统将根据端口名称自动建立起函数块间的信号连接关系 并构建状态量和导数量到函数块信号的映射关系 最终得到一个常微分方程组,用于数值积分求解

成员函数说明

◆ addBlock() [1/2]

void ast::BlockDynamicSystem::addBlock ( BlockDerivative * block)

添加状态量函数块

参数
block状态量函数块指针

◆ addBlock() [2/2]

void ast::BlockSystem::addBlock ( FuncBlock * block)

添加函数块

参数
block函数块指针

◆ addDerivativeBlock()

void ast::BlockDynamicSystem::addDerivativeBlock ( BlockDerivative * block)

添加状态量导数函数块

参数
block状态量导数函数块指针

◆ fillDerivativeData()

void ast::BlockDynamicSystem::fillDerivativeData ( double value)
inline

填充状态量导数数据

参数
value状态量导数值

◆ getDerivativeData() [1/2]

const double * ast::BlockDynamicSystem::getDerivativeData ( ) const
inline

获取状态量导数数据指针

返回
状态量导数数据指针

◆ getDerivativeData() [2/2]

void ast::BlockDynamicSystem::getDerivativeData ( double * dydt) const
inline

获取状态量导数数据指针

参数
dydt状态量导数数据指针

◆ getDimension()

int ast::BlockDynamicSystem::getDimension ( ) const
inline

获取状态量维度

返回
状态量维度

◆ getStateData()

const double * ast::BlockDynamicSystem::getStateData ( ) const
inline

获取状态量数据指针

返回
状态量数据指针

◆ setStateData()

void ast::BlockDynamicSystem::setStateData ( const double * y)
inline

填充状态量数据

参数
y状态量数据指针

◆ size()

size_t ast::BlockDynamicSystem::size ( ) const
inline

获取状态量大小

返回
状态量大小

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