大规模复杂系统集成建模与仿真技术漫谈(二):怎样把不同种类的仿真模型连起来跑?
1 联合仿真的几种思路
把不同学科领域的模型连起来开展联合仿真并不是一个新鲜的想法,因为工程产品本身就是机、电、液、控、软、热等多学科相互耦合的,所以多学科联合仿真的需求从一开始就存在。
在仿真技术发展的初期(上世纪90年代之前),受制于商业软件工具的接口限制,不同种类工具之间绝大部分都互不兼容,想开展异构模型的集成仿真几乎不可能。随着联合仿真的需求逐渐增多,一些主流的仿真工具之间彼此开放了一些接口,允许特定的工具调用。由于这样的方式存在很多缺陷,所以这条技术路径并没有被大众接受,实际使用的人并不多。直到FMI(FunctionalMock-up Interface)标准的推出,才给了联合仿真的工作一线希望。
总的来看,要实现异构模型集成有三条技术路径:商业工具间的接口、商业工具接口定制开发以及基于FMI接口标准的模型集成。下面针对这三种技术路径展开详细介绍。
2 思路一:商业工具间接口
第一种方案也是最早的一种联合仿真方式是不同商业工具间彼此互相开放接口供对方调用,如AMESim和MTALAB的联合仿真、AMESim和Motion的联合仿真、Saber和MATLAB的联合仿真等等。
这样做的好处是使用方便,但是这种思路存在两个重要的缺陷:接口类型太少、无法处理“复杂系统”。
接口类型太少非常容易理解,比如AMESim只对MTALAB和Motion等少数集中软件提供接口模块,对于其他的则不支持,这大大限制了多学科联合仿真的应用。
除了接口种类的限制,无法处理“复杂系统”则是更致命的问题。相比于星形连接的简单系统(右图),联合仿真中更多出现的是数据循环传递的复杂系统(左图)。
如果一定要用商业工具间的接口处理“复杂系统”,会非常繁琐、低效,且容易出错。比如以MATLAB/Simulink作为主平台开展联合仿真,兼容SimulationX、AMESIm、Saber等工具。
可以看出,这样的模型是无法在工程上应用的,不但配置过程繁琐,且最终搭建的模型让人也不明所以。
3 思路二:接口二次开发
第二种方案是对商业工具进行接口开发,实现联合仿真的功能。这种解决方案是在第一种思路下的进一步拓展。目前市面上存在的联合仿真工具大都遵循这种技术路径,如法国的CosiMate和德国的TISC。
根据公开资料可知,CosiMate为德国汉堡空中客车公司多系统协同仿真计算提供了保障,完成了液压系统、热源以及散热器的热分析,此外其在通用汽车动力系统软件协同仿真中也起到了重要作用,辅助完成了软件在环的嵌入式动力控制软件开发。TISC在汽车行业应用广泛,并且在汽车空调舒适性分析和液固耦合晃动分析领域有着一定的应用。
除了上面两款典型的工具,还有一些自研性质的联合仿真案例,也是基于不同仿真模型的接口开发实现,在很多行业应用十分广泛。
对商业工具进行接口开发的方案极大地促进了多学科联合仿真的应用和推广,促进了仿真技术的发展,然而其缺陷也是明显的,具体来说包含以下两个方面:
首先,二次开发工作量大,针对不同的软件工具需要单独进行接口二次开发,费时费力;
另一方面,无法适应工具更新和升级,当软件升级或更新后,不能保证上一版本的二次开发接口还能正常使用,需要通过测试才能确定。实际上,国外的CosiMat和TISC每年都会对其所支持的工具进行追踪升级,否则影响使用。
4 思路三:FMI接口标准
第三种方案是基于FMI接口标准的模型集成,这种思路的实现方式为:将各种类型的仿真模型按照FMI接口标准(www.fmi-standard.org)导出成.fmu文件,然后在某个仿真工具下导入这些.fmu文件开展联合仿真。
FMI接口标准是一种模型集成的,但实际操作中仍然会遇到很多问题,包括但不限于:很多商业工具不支持FMU文件导出(或导出)、稍微复杂一些的模型导出会报错、导入FMU模型后无法顺利计算、模型集成起来运算效率低等等。
5 新的想法
这里我们提出第四种思路:
开发一个通用的、统一形式的通信客户端程序并生为.fmu(或.dll)格式的文件,进行分布式仿真之前在仿真工具中导入通信客户端文件,“模型总线”服务器就可以实现与各个仿真工具的分布式联合仿真。
这一过程类似不同型号手机(不同仿真软件)之间打电话(联合仿真),.fmu(或.dll)格式通用客户端就相当于手机的SIM卡,无论什么品牌的手机只要插入通用的SIM卡,就能连接到通信基站(模型总线)。
这样做的好处是,避免二次开发、适应版本升级和更新、同时兼顾更多种类的仿真工具,所有支持FMI1.0/2.0导入的工具都能无条件接入“模型总线”开展联合仿真。
下面给出了几个利用“模型总线”开展多学科联合仿真的应用案例:
案例一:在Adams中搭建了简单的运动机构,局部通过Ansys模型降阶导入模态作为柔性化,同时考虑了液压做动力一并进行联合仿真。
案例二:直流发电系统是集控制、电路和发电机本体的一体化系统,对这类发电机的分析不仅仅需要对其瞬态磁场进行计算,还要对控制电路进行考虑。联合仿真模型以ANSYS\Twin Builder为平台,在Simplorer中建立直流发电机电路模型,在Maxwell中建立磁场模型来对发电机进行电磁场仿真分析。
案例三:起落架收放系统是一个涉及起落架多体动力学的模型,以SimulationX建立飞机液压源模型,以AMESim建立液压系统控制阀及液压执行机构模型,以Simulink建立控制系统逻辑,以LMSMotion建立起落架多体动力学模型。
6 总结
通过前面两篇文章的介绍,我们可以看出对比传统的单一仿真工具,分布式集成仿真不仅能将计算效率提升一个数量级,同时实现了多源、异构仿真模型的集成,提供了全新的解决方案。整体来讲,在工程上应用的初步尝试看起来还不错。
然而,联合仿真技术的发展就到此为止了吗,如果想在不同行业得到更加广泛地应用,是否有需要进一步改进的地方?这些问题会在后续文章中慢慢介绍。