专栏
标签
如何在同一模型中用不同求解器?
技术分享
发布于 2025-08-06 16:58:41
查看 9过去300天

问题描述

部分用户咨询是否可以在同一模型中设置不同求解器。该需求是可以进行支持的,基于目前的Sysplorer机制,采用Sysplorer物理建模与Sysblock框图式建模混合仿真的形式即可满足该用户需求。

解决方案

目前解决该问题的方法为采用混合仿真处理。处理步骤如下:

1.针对需要不同求解器的模型分别进行建模;

如下图所示,可以新建物理建模相关的Sysplorer模型,该模型模式下可以选择一种求解算法。

1.png

如下图所示,同时可以在框图建模中新建Sysblock模型,该模式下可以选择另一种求解算法。

2.png

完成上述两种搭建即可获得Sysplorer、Sysblock模型各一个。

2.分别在Sysplorer模型与Sysblock模型中设置求解算法;

在软件导航栏中“主页”中可以选择“仿真设置”。
在仿真设置中可以设置模型的仿真区间———模型仿真开始时间、终止时间;
同时可以设置输出区间————模型步长、仿真步数;

3.png

在积分算法中可以设置算法类型————定步长、变步长、离散求解、自定义;
每种不同的算法类型又分别可选多种不同的积分算法;

4.png
5.png
6.png

同理,在Sysblock模型中也可以对模型进行相同的处理,设置不同的求解算法。

7.png

目前框图式建模的算法类中支持定步长算法、变步长算法;针对这两种类型中又可以设置不同的算法;

3.调整模型接口,闭环模型进行编译仿真。

Sysplorer模型与Sysblock模型分别设置好不同的算法后,即可进行闭环仿真,

8.png

如上图所示,将Sysblock模型拖入Sysplorer窗口界面中,将互相之间的端口做好闭环即为闭环的混合仿真模型,该模型即可实现同一模型中采用不同算法执行仿真的需求。

混合仿真常见问题

  • 端口类型不一致导致的报错
    Sysplorer模型与Sysblock模型接口处的端口类型不一致会导致报错。
  • 端口维度不一致导致的报错
    Sysplorer模型与Sysblock模型接口处的端口类型不一致会导致报错,Sysplorer端口为数组时,连线时有特殊设置,具体可参考如何解决“下标访问越界”报错
  • 模型步长设置问题导致的报错
所属专栏:Sysblock基础平台
产品信息:Sysblock 嵌入式代码生成工具
其他

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天