simucpp系列教程(6)函数文档

专栏目录

simucpp:C++搭建微分方程求解器框架(重写simulink)
simucpp系列教程(1)安装教程
simucpp系列教程(2)例程解析(第一部分)
simucpp系列教程(3)例程解析(第二部分)
simucpp系列教程(4)使用教程与程序说明
simucpp系列教程(5)各模块的简要介绍
simucpp系列教程(6)函数文档


  所有函数包括仿真器的函数和模块的函数。仿真器的函数中包括用于批量设置输出模块的函数和其它设置函数;模块的函数中包括基类模块函数、含有特殊属性的函数、模块自有的函数等。
  这篇文章叫文档其实不太合适,只做了大致的总结但足够日常使用了,具体的使用细节在之前的文章中已经进行了详细介绍,仿真器的函数的具体使用与设置见教程(4),模块的函数的具体使用与设置见教程(5)。或者,程序的头文件中对各个函数的注释也很详细。
  

仿真器函数

通过下面的函数对仿真器进行设置。

函数含义备注
void Initialize()建立模块之间的连接公有
void Simulation_Reset()属于当前仿真器的所有模块复位公有
int Simulate()进行一次仿真公有
int Simulate_OneStep()进行一次单步仿真公有
int Simulate_FinalStep()单步仿真的最后一步公有
void Set_EnableStore(bool)是否将输出模块的数据保存到一个vector数组中公有,OUTPUT 1 ^1 1
void Set_EnablePrint(bool)是否将仿真数据写入文件公有
void Set_PrintPrecision(unsigned int)设置写入文件的浮点数有效数字位数公有
void Set_SampleTime(bool)设置多长时间保存一次数据至vector公有,OUTPUT
void Set_t(double)设置开始仿真的时间,默认为0,用于计算定积分公有
double Get_t()获取当前仿真时间公有
void Set_Endtime(double)设置仿真截止时间公有
double Get_Endtime()获取仿真截止时间公有
void Set_SimStep(double)设置仿真步长公有
double Get_SimStep()获取仿真步长公有
void Set_DivergenceCheckMode(int)设置仿真发散后的行为,见下表公有
void Add_Module(const PUnitModule)私有
void Add_Module(const PMatModule)私有
void Build_Connection(std::vector&)私有

1 ^1 1该函数与输出(OUTPUT)模块的对应函数同名,用于批量设置输出模块。
  仿真发散的类型分3种,正无穷、负无穷和非数,仿真发散后的行为列在下表,暂时没起名字,只给编号。

行为编号是否打印是否终止仿真是否终止程序
0(默认) ✓ \checkmark ✓ \checkmark ✓ \checkmark
1 ✓ \checkmark × \times × × \times ×
2 × \times × × \times × × \times ×
3 ✓ \checkmark ✓ \checkmark × \times ×
4 × \times × ✓ \checkmark × \times ×

单元模块基类函数

所有单元模块都有的函数。

函数含义备注
double Get_OutValue()得到模块的输出值公有
void Set_Enable(bool enable)使能模块私有
int Self_Check()初始化时检查模块是否存在问题私有
void Module_Update(double time)模块更新私有
void Module_Reset()复位模块私有
int Get_childCnt()模块的输入端口数量私有
PUnitModule Get_child(unsigned int n)得到第N个输入端口对应的模块句柄私有
void connect(const PUnitModule m)将一个模块连接到这个模块的输入端口私有

单元模块派生类函数

函数含义备注
void Set_SampleTime(double)设置采样周期公有,离散 1 ^1 1
void Set_Function(double(*function)(double))设置输入函数公有,函数 2 ^2 2
void Set_Function(UserFunc*)设置输入函数公有,函数
void Set_InputGain(double, int)设置输入端口的增益公有,增益 3 ^3 3
void Set_Continuous(bool)设置是否是连续模块公有,INPUT
void Set_EnableStore(bool)是否将数据保存到一个vector数组中公有,OUTPUT
vector& Get_StoredData()得到内部存储的数据公有,OUTPUT
void Set_MaxDataStorage(int n)设置最大可以存储的数据量公有,OUTPUT

1 ^1 1包含离散内容的模块均有该函数。
2 ^2 2包含自定义函数的模块均有该函数。
3 ^3 3包含输入增益的模块均有该函数。

矩阵模块基类函数

所有单元模块都有的函数。

函数含义备注
PUnitModule Get_OutputPort(BusSize size)根据总线中的给定点返回总线中的一个单元模块公有
BusSize Get_OutputBusSize()返回输出总线尺寸公有
bool Initialize()生成指针容器,建立连接公有
u8 Get_State()判断模块是否已确定总线尺寸或初始化公有

矩阵模块派生类函数

函数含义备注

程序结构与包含关系

在这里插入图片描述
图中省略了每个cpp文件都包含的头文件deninitions.hpp,这个头文件是库的内部文件,不对外公开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值