CN113361094A - 一种分布式架构下的多学科联合仿真方法及系统 - Google Patents
一种分布式架构下的多学科联合仿真方法及系统 Download PDFInfo
- Publication number
- CN113361094A CN113361094A CN202110612192.1A CN202110612192A CN113361094A CN 113361094 A CN113361094 A CN 113361094A CN 202110612192 A CN202110612192 A CN 202110612192A CN 113361094 A CN113361094 A CN 113361094A
- Authority
- CN
- China
- Prior art keywords
- simulation
- model
- server
- communication
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种分布式架构下的多学科联合仿真方法,在分布式架构内实现“模型并行计算”+“数据并行通信”,可以实现仿真模型的分布式计算求解,同时架构中的服务器端采用并行通信;通过“性能统计”实现仿真效率二次提升,基于服务器端的“数据并行通信”,在仿真过程中实时统计每个端口所对应模型的计算耗时,仿真结束后打印显示所有模型的仿真效率。在相同的仿真模型条件下,本发明的分布式架构集成仿真能够将计算效率提升一个数量级左右。参与集成的模型规模越大,效率提升越明显;提供了全新的解决方案,使简单、便捷地异构模型的集成成为可能。
Description
技术领域
本发明属于仿真技术领域,涉及一种分布式架构下的多学科联合仿真方法及系统。
背景技术
系统仿真的本质是利用数值积分求解算法对微分初值问题进行数值求解,受求解算法和求解机制的约束,无论何种规模的仿真模型都只能调用单一线程进行求解。当仿真模型规模增大到一定程度之后(模型规模主要取决于变量个数以及方程组刚性大小,由于包含多个学科并且子模型个数众多,一般虚拟性能样机或者主机所进行模型集成仿真的模型规模普遍很大),很难通过一个求解器高效地完成仿真任务。为了解决这个问题,一种思路是通过提高计算机硬件性能(主要是CPU性能)提高仿真效率,另一种思路是将模型进行拆分并分利用分布式仿真技术进行求解,其本质就是将方程组进行拆分。对于第一种思路,当模型规模较大时仍然会有一定的效用,但是当模型规模很大时,其方程组刚性也随之增大,求解过程收敛域逐渐缩小,为了保证仿真能够顺利运行必须进一步缩小积分求解步长,这势必显著降低仿真效率,硬件性能提高所带来的效率提高在这种大规模模型中不值得一提。所以,对于大规模复杂系统仿真模型的求解能且只能采用第二种思路,即利用分布式仿真技术完成复杂模型的高效运行。
我国对于分布式集成仿真的研究始于20世及90年代,经过多年努力已经取得了长足的进步,攻克了DIS(Distributed Interface Simulation,分布式交互仿真)及其相关的技术,并建成了基于DIS和HLA(High Level Architecture,高级体系结构)混合体系结构的多武器综合仿真示范系统,但与美、欧仍有着明显的差距。具体来说,国内目前针对此领域的研究主要与美、欧有着以下几点不足:
首先,国外技术发展起步早且投入大,目前已经完成商业化阶段。而国内始终处于追踪研究,且仍限于沿用美方提出的标准规范,没有属于我们的自主规范和实际系统,更谈不上商业化。采购国外工具不但价格昂贵,而且我们不掌握自主知识产权,不符合当前自主化的发展趋势;
其次,目前针对异构模型的集成仿真,没有合适的解决方案。国外机构在处理多源异构模型集成仿真时普遍采用针对集成仿真所涉及的特定版本的仿真软件(商业或开源)进行二次开发,编制出与其定义的数据服务所匹配的控件,进而完成多源异构模型的集成仿真;国内的一些机构为了摆脱国外仿真软件公司的限制,主流的解决方法是将在商业工具中搭建的仿真模型导出为fmu文件(特指Co-Simulation格式,因为只有这种格式的fmu文件才自带求解器,Model-Exchange格式的fmu不适用于此种方法),然后将所有fmu文件加载在仿真平台上进行分布式集成仿真,如苏州同元软控公司的Mworks软件和世冠科技公司的GCair软件。然而,这两种方法的缺陷是显而易见的:Co-Simulation格式fmu导出才能将其中所搭建的模型进行集成,而且不能存在报错,实现这一点对建模人员的技术水平要求很高;而通过FMI官网查询可知能够支持Co-Simulation格式fmu导出的仿真工具非常少,很多主流仿真工具出于商业利益和知识产权考虑,都更愿意导入其他工具的fmu模型,而不是将自己的模型导出给其他工具;
综上,国内外针对分布式集成仿真尽管已经有了不同程度的解决方案,但截至目前尚未有公开资料明确指出如果在模型集成后想进一步提升仿真效率该如何开展工作。
发明内容
本发明解决的技术问题在于提供一种分布式架构下的多学科联合仿真方法及系统,能支持当前主流系统仿真工具,实现在同一分布式架构下的分布式多学科(多领域)联合仿真,为数字孪生技术提供底层技术支持。
本发明是通过以下技术方案来实现:
一种分布式架构下的多学科联合仿真方法,包括以下操作:
1)建立分布式仿真架构以实现多学科仿真模型的分布式计算求解;
该分布式架构由服务器和客户端组成,服务器与客户端的通信采用TCP/IP协议,其中客户端加载fmu格式的通信控件和仿真模型,以进行模型分布式求解;服务器与客户端通过数据并行通信,进行仿真过程的全部客户端的同步、仿真计算推进和数据交互:
在T通信时刻,当所有客户端的仿真模型都完成计算并推进到T时刻后,服务器利用多线程并发的方法同时与各个仿真模型完成当前时间步的数据交互通信;完成较快的仿真模型原地等待,等到全部客户端的数据通信都完成后,服务器发出指令,时间步向前推进,开始T+1时间步的运算;
2)在仿真运行过程中通过性能统计辅助模型拆分,所述性能统计的判断每一个通信时刻中运行效率最低的仿真模型,若一个仿真模型在整个仿真过程中频繁地表现出效率低下的表现,说明整个仿真进度都被这个模型所制约;则针对这个计算效率最低的模型进行拆分处理,以进一步提高集成仿真效率。
所述的客户端的仿真模型为异构模型,各客户端的仿真工具可以相同也可以不同,其求解模型、求解算法、求解步长允许不同,以支持不同学科领域的仿真模型在最适合的条件下进行仿真计算。
所述fmu格式的通信控件是基于modelica语言开发的TCP/IP通信客户端程序所生成的*.fmu格式文件,此*.fmu格式文件作为TCP/IP通信控件使用。在进行分布式仿真之前,在仿真工具中导入所生成的*.fmu格式文件,服务器通过*.fmu格式文件实现与各个仿真工具的分布式联合仿真。
*.fmu格式文件按照提前约定的FMI 1.0或者2.0标准生成的,其同时包含Model-Exchange和Co-Simulation两种FMI标准格式。
所述服务器通过同步时钟实现客户端的同步:
每个客户端的仿真模型在各自的仿真工具中运行,在服务器同步时钟的控制下,每到一个约定的通信时间点,所有仿真模型通过fmu格式的通信控件将提前约定好的数据传输到服务器,同时从服务器接受后续计算所需要的数据;
在服务器同步时钟的控制下,先运行到达通信时间点的仿真模型会被挂起,处于等待状态;直到全部客户端的仿真模型都完成计算并到达通信时刻,服务器才会发出指令推进各仿真模型运行下一时间步的仿真。
所述的性能统计为:
在T通信时刻下,服务器完成所有客户端仿真模型的并行通信后,统计当前时刻运行最慢的仿真模型,将其性能统计指标+1;在运行完仿真最后一帧后,显示每个仿真模型的性能统计指标/总帧数。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供的分布式架构下的多学科联合仿真方法,在分布式架构内实现“模型并行计算”+“数据并行通信”,可以实现仿真模型的分布式计算求解,同时架构中的服务器端采用并行通信;在相同的仿真模型条件下,对比传统的单一求解器仿真耗时,分布式架构集成仿真能够将计算效率提升一个数量级左右。参与集成的模型规模越大,效率提升越明显;本发明还并通过*.fmu格式的文件实行异构模型集成,实现了各类异构、多来源系统仿真模型的集成,提供了全新的解决方案,使简单、便捷地异构模型的集成成为可能。
本发明提供的分布式架构下的多学科联合仿真方法,通过“性能统计”实现仿真效率二次提升,基于服务器端的“数据并行通信”,在仿真过程中实时统计每个端口所对应模型的计算耗时,仿真结束后打印显示所有模型的仿真效率。在实现集成仿真的基础上,如果想进一步提高仿真效率,通过“性能统计”可以统计每个模型在每一帧的运行速度,进而明确指出当前运行效率最低的模型是哪几个,帮助对模型进行进一步的拆分提供了明确的方向。可以从运行最慢的模型入手,对其进行进一步的拆分,以提升仿真效率。
附图说明
图1为分布式仿真架构示意图;
图2为模型分布式仿真示意图;
图3为数据并行通信示意图;
图4为fmu格式通信客户端文件的制作流程示意图;
图5为“性能统计方法”实现流程示意图;
图6为液压伺服控制系统的各模型之间的交互关系示意图;
图7为SimulationX仿真软件搭建的液压源模型示意图;
图8为AMESim仿真软件搭建的液压控制及执行机构示意图;
图9为MATLAB/simulink仿真软件搭建的PID控制模型示意图;
图10为液压执行机构输入和输出曲线(输入为指令信号,输出为动作位位移);
图11为标准化性能测试方案示意图;
图12为在AMESim中进行计算“PPS”模块示意图;
图13为在simulink中进行计算的刚性方程模型示意图;
图14为SP-Test-3中解耦后微分方程模型示意图;
图15为标准化性能测试结果示意图;
图16为“半分布测试”性能统计示意图;
图17为“全分布测试”性能统计示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述,所述是对本发明的解释而不是限定。
本发明提供的一种分布式架构下的多学科联合仿真方法,包括以下操作:
1)建立分布式仿真架构以实现多学科仿真模型的分布式计算求解;
该分布式架构由服务器和客户端组成,服务器与客户端的通信采用TCP/IP协议,其中客户端加载fmu(functional mockup unit)格式的通信控件和仿真模型,以进行模型分布式求解;服务器与客户端通过数据并行通信,进行仿真过程的全部客户端的同步、仿真计算推进和数据交互:
在T通信时刻,当所有客户端的仿真模型都完成计算并推进到T时刻后,服务器利用多线程并发的方法同时与各个仿真模型完成当前时间步的数据交互通信;完成较快的仿真模型原地等待,等到全部客户端的数据通信都完成后,服务器发出指令,时间步向前推进,开始T+1时间步的运算;
2)在仿真运行过程中通过性能统计辅助模型拆分,所述性能统计的判断每一个通信时刻中运行效率最低的仿真模型,若一个仿真模型在整个仿真过程中频繁地表现出效率低下的表现,说明整个仿真进度都被这个模型所制约;则针对这个计算效率最低的模型进行拆分处理,以进一步提高集成仿真效率。
下面通过各个部分具体说明。
1、分布式仿真架构
分布式仿真架构可以实现仿真模型的分布式计算求解,模型的分布式求解通过如图1所示的分布式仿真架构来实现。
该分布式架构由服务器和客户端两部分组成,服务器负责整个仿真过程的全部客户端的同步、仿真计算推进、数据交互,客户端则负责将每个模型内部需要交互的数据提取出来并传输到服务器端。服务器通过给每个客户端分配端口来交互数据,理论上所有空闲的计算机端口都可以用来进行分布式仿真数据的交互,可用端口数量一般不低于一万个。服务器与客户端的通信采用TCP/IP协议,所有客户端在服务器同步时钟的控制下完全同步推进。每个端口下的仿真模型可以接入一个fmu格式的通信控件,每个通信控件最多能提供60个(60个进口和60个出口)数据传输接口。
分布式求解方法如图2所示。每个仿真模型在各自的仿真工具中运行(这些仿真工具可以相同也可以不同),各自的求解模型、求解算法、求解步长等都允许不同,目的是支持不同学科领域的仿真模型在最适合的条件下进行仿真计算。
在服务器同步时钟的控制下,每到一个约定的通信时间点,所有仿真模型通过fmu格式的通信控件将提前约定好的数据传输到服务器,同时从服务器接受后续计算所需要的数据。由于不同模型受规模、仿真算法、求解器设置等因素影响,其仿真速度不可能一致,所以有的模型计算较快,会先到达通信时刻,有的模型计算较慢会后到达通信时刻。在服务器同步时钟的控制下,先到达的模型会被挂起,处于等待状态,直到全部客户端模型都完成计算并到达通信时刻,服务器才会推进到下一时间步,以此类推。
2、服务器与客户端数据并行通信的实现原理如图3所示。在某一通信时刻,当所有模型都完成计算并推进到该时刻后,服务器利用多线程并发的方法同时与各个模型完成当前时间步的数据交互通信,完成较快的端口原地等待,等到全部客户端的数据通信都完成后,服务器发出指令,时间步向前推进一帧,开始下一时间步的运算。
3、异构模型集成
fmu格式的通信客户端文件的制作流程如图4所示。
以modelica语言开发一套TCP/IP通信客户端程序并生为*.fmu格式文件,则此*.fmu文件就可以作为TCP/IP通信控件使用。在进行分布式仿真之前,在仿真工具中导入按照上面流程生成的fmu格式通信客户端文件,服务器就可以实现与各个仿真工具的分布式联合仿真。
fmu格式通信客户端文件可以是按照FMI 1.0或者2.0标准生成的,只需在生成前提以前约定即可。此外,fmu格式通信客户端文件同时包含Model-Exchange和Co-Simulation两种FMI标准格式。
4、利用“性能统计”辅助模型拆分
“性能统计”实现原理与流程如图5所示。“性能统计”的核心是判断每一个通信时刻中运行效率最低的模型,如果一个模型在整个仿真过程中频繁地表现出效率低下的表现,说明整个仿真进度都被这个模型所制约,如果想进一步提高集成仿真效率,需要针对这个计算效率最低的模型进行拆分处理。
下面给出具体的实施例。
1.1分布式异构模型集成仿真—以液压伺服控制为例
液压伺服控制系统是一个多学科交叉、技术密度高的复杂系统,主要包括机械、液压、控制等子系统,其子系统间存在着相互作用、相互影响的耦合关系。液压伺服控制系统的设计具有明显的“多学科”特点,属于典型的多学科设计问题。因此,如何综合协调各个子系统进行多学科设计已成为机电液一体化系统设计的关键问题。
液压伺服控制系统的优化能否得到解决,主要取决于能否建立合理的优化模型和选择适合于优化模型的有效优化算法。因此,需要对液压伺服控制系统进行复杂系统设计与优化的多学科建模与联合仿真。
液压伺服控制系统为液压缸位置闭环的一个伺服控制系统,建立如下所示的模型,各模型之间的交互关系如图6所示。其中液压源是用SimulationX仿真软件搭建的模型,如图7所示;液压控制及执行机构是用AMESim仿真软件搭建的模型,如图8所示;PID控制是用MATLAB/simulink仿真软件搭建的模型,如图9所示。
液压源通过模型总线将压力信号传递给液压执行机构,液压执行机构将输出的位移信号通过模型总线传递给控制系统并通过负反馈和PID控制使得液压执行机构的输出位移按控制系统的正弦信号输出。液压执行机构模型输入和输出曲线如图10所示,AMESim中质量块位移随MATLAB/simulink中输入正弦曲线动作。
1.2性能统计功能实例
本测试方案从系统仿真数学原理出发,通过大刚性方程组和高PPS(Payload PerStep,单步算力负载,每一个积分步f(t,y)所带来的计算资源负载)测试影响系统仿真求解效率的主要原因,并以此为依据构造了标准化的性能测试模型,并以MATLAB和AMESim为测试工具,对现有版本的模型总线进行性能测试,定量地给出分布式求解对比传统单进程系统仿真在效率上的差别。
标准化的测试模型的构建分别从“大刚性”和“高PPS”两个方面来考虑。一方面,引入“大刚性”,可构建如下方程组:
上述方程共有3个特征值:
随着时间t的推进,3个特征值的变化如表1所示:
表1特征值随时间的变化
时间 | λ<sub>1</sub> | λ<sub>2</sub> | λ<sub>3</sub> |
t=0s | 0 | 0 | -0.04 |
t=1e-2s | 0 | -0.36 | -2180 |
t=100s | 0 | -0.0048 | -4240 |
t=+∞s | 0 | 0 | -1e4 |
可以看出,上述方程随时间推进刚性不断增加,可以作为构建测试模型的素材。
另一方面,引入“高PPS”,可以利用多重循环模拟复杂数值算法。分别构造3个变量a、b、c,其计算过程如下(三个“高PPS”模型伪码):
考虑到测试的时间成本,三个模拟“高PPS”模块循环次数不能太多。将a、b、c三个变量和刚性方程结合,最终得到了性能测试模型:
上述测试模型同时具有“大刚性”和“高PPS”的特点,同时a、b、c三个变量虽然都与刚性方程耦合但实际上并不影响其特性(都和0相乘)。此外,给a、b、c赋不同的值和不同的循环体,以模拟三个不同的“PPS”算法。如图11所示。
表2标准化性能测试(SP-Test)方案技术状态描述
测试名称 | 测试目的 |
SP-Test-0 | 测试仿真耗时(T<sub>0</sub>),作为比较基准 |
SP-Test-1 | 测试仿真耗时(T<sub>1</sub>),得到与基准的比值T<sub>1</sub>/T<sub>0</sub> |
SP-Test-2 | 测试仿真耗时(T<sub>2</sub>),得到与基准的比值T<sub>2</sub>/T<sub>0</sub> |
SP-Test-3 | 测试仿真耗时(T<sub>3</sub>),得到与基准的比值T<sub>3</sub>/T<sub>0</sub> |
如上述方案,分别安排了4组测试:SP-Test-0、SP-Test-1、SP-Test-2和SP-Test-3。
SP-Test-0测试为基准测试,运行1个MATLAB环境(2013a及以上版本均可),同时求解刚性微分方程和三个“PPS”模块。统计运行时间(通过在simulink模块属性回调函数中加入“tic-toc”命令实现),执行200s仿真任务,求解结束后可得到仿真耗时T0。
基准测试结束后,执行SP-Test-1测试。在一台(或多台)电脑上运行3个MATLAB环境(2013a及以上版本)。同时求解刚性微分方程和一个“PPS”模块和2个“PPS”模块的求解,所有仿真环境均利用“模型总线”进行分布式同步求解。统计运行时间,执行200s仿真任务,求解结束后可得到仿真耗时T1。最终得到T1/T0。各类测试耗时与基础测试耗时之比称为“效率比”。
SP-Test-1测试结束后,继续执行SP-Test-2测试。在一台(或多台)电脑上运行4个MATLAB环境(2013a及以上版本),同时求解1个刚性微分方程和3个“PPS”模块,所有仿真环境均利用“模型总线”进行分布式同步求解。统计运行时间,执行200s仿真任务,求解结束后可得到仿真耗时T2。得到效率比T2/T0。
SP-Test-2测试结束后,执行SP-Test-3测试。首先将刚性微分方程拆分,将刚性微分方程拆分为:
在在一台(或多台)电脑上运行5个MATLAB环境(2014a及以上版本),用1个MATLAB求解微含有y'1和y'2的微分方程,3个MATLAB各自承担一个“PPS”模块的求解,用1个MATLAB求解含有y'3的微分方程,所有电脑利用“模型总线”进行分布式同步求解。统计运行时间,执行200s仿真任务,求解结束后可得到仿真耗时T2。得到效率比T3/T0。
测试过程中为便于称呼,将SP-Test-0简称为“基础测试”,将SP-Test-1简称为“半分布测试”,将SP-Test-2简称为“全分布测试”,将SP-Test-3简称为“降刚性测试”。通过这些测试,可以定量地得到模型总线对典型复杂系统求解效率的提升幅度,当后续模型总线进行改版或升级时也可以定量给出其性能的变化。分别开展了SP-Test-0、SP-Test-1、SP-Test-2和SP-Test-3共计四组测试,测试过程示意如图12、图13、图14所示。
所有测试结束后,测试结果汇总如表3所示。
表3标准化性能测试结果汇总
测试名称 | 技术状态 | 测试结果(模型总线V1.0) | 测试结果(模型总线V2.1) |
SP-Test-0 | 基础测试 | T<sub>0</sub>=3.73e4s(~10.36小时) | T<sub>0</sub>=3.73e4s(~10.36小时) |
SP-Test-1 | 半分布测试 | T<sub>1</sub>=1.69e4s(~4.7小时) | T<sub>1</sub>=1.51e4s(~4.2小时) |
SP-Test-2 | 全分布测试 | T<sub>2</sub>=4.21e3s(~1.17小时) | T<sub>2</sub>=1.16e3s(~0.32小时) |
SP-Test-3 | 降刚性测试 | T<sub>3</sub>=3.91e3s(~1.09小时) | T<sub>3</sub>=1.06e3s(~0.29小时) |
半分布测试中,求解速度最慢的是simulink运算的刚性微分方程+一个“PPS”模块,整个并行仿真速率受限于此。但是引入分布式仿真的解决方案之后,可以看出计算效率有了显著的提高。
全分布测试中,求解速度最慢的是AMESim环境运行的“PPS”模块,并行仿真的速率取决于每个“PPS”模块的解算效率。将所有“PPS”解耦出去之后,模型的求解效率进一步提升,较“基础测试”效率提高了一个数量级。
降刚性测试中,虽然将微分方程进一步拆分,但是由于求解的短板已经不再是方程刚性,而是三个“PPS”模块,这在前一个测试(全分布测试)中已经有所体现,所以将刚性测试对性能的提升非常有限。如果要进一步提高计算效率,需要针对最慢的“PPS”进行拆分。
标准化性能测试中不同技术状态对性能的提升如图15所示。
由于在“模型总线V2.1”及后续版本中,产品采用了更加高效的“并行通信算法”,所以相较于之前的版本会体现出显著的效率提升,这一点从图15给出的不同版本之间的运算效率比较就可以看出。由于效率提升来自于对数据通信算法的改进,所以随着挂接模型数量的增加(也就是端口数的增加),效率提升就越显著,这对大规模复杂系统联合仿真是非常有利的。
此外,在V2.2及后续版本中,产品增加了“性能统计”功能,在运行正常结束(或中途手动结束)后,该模块可以给出所有模型的计算耗时(包含通信和求解的总时间)以及每一帧计算速度最慢的模型统计。比如在半分布测试算例SP-Test-1中,运算一段时间后手动结束,然后点击“性能统计”功能,得到如图16所示的统计结果。
其中,模型求解最慢占比的统计方法是:记录每个通信步长运算最慢的模型名称,也就是每一个通信步中跑的最慢的模型,结算结束后统计在所有通信步中各个模型是最后一个结束计算的百分数,这样就可以识别出到底是哪一个模型拖慢了整个仿真的运算效率,如果需要进一步提升计算速度则可以直接对最慢的那个模型进行拆分或优化。
比如由图15所示可以看出,整个仿真速度是由刚性方程求解决定的,只有对刚性微分方程进一步拆分才能有效提升效率,比如全分布测试SP-Test-2的处理方式。图17所示为“全分布测试性能统计”结果,可以看出当进一步将半分布测试中的刚性微分方程进行拆分后,整体运算效率显著提升,这时约束整个仿真速度的就不再是刚性微分方程了,而是“PPS_1”和“PPS_2”这两个计算负载。如果希望进一步提升运算速度,需要对这两个PPS进行优化。
以上给出的实施例是实现本发明较优的例子,本发明不限于上述实施例。本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。
Claims (6)
1.一种分布式架构下的多学科联合仿真方法,其特征在于,包括以下操作:
1)建立分布式仿真架构以实现多学科仿真模型的分布式计算求解;
该分布式架构由服务器和客户端组成,服务器与客户端的通信采用TCP/IP协议,其中客户端加载fmu格式的通信控件和仿真模型,以进行模型分布式求解;服务器与客户端通过数据并行通信,进行仿真过程的全部客户端的同步、仿真计算推进和数据交互:
在T通信时刻,当所有客户端的仿真模型都完成计算并推进到T时刻后,服务器利用多线程并发的方法同时与各个仿真模型完成当前时间步的数据交互通信;完成较快的仿真模型原地等待,等到全部客户端的数据通信都完成后,服务器发出指令,时间步向前推进,开始T+1时间步的运算;
2)在仿真运行过程中通过性能统计辅助模型拆分,所述性能统计的判断每一个通信时刻中运行效率最低的仿真模型,若一个仿真模型在整个仿真过程中频繁地表现出效率低下的表现,说明整个仿真进度都被这个模型所制约;则针对这个计算效率最低的模型进行拆分处理,以进一步提高集成仿真效率。
2.如权利要求1所述的分布式架构下的多学科联合仿真方法,其特征在于,所述的客户端的仿真模型为异构模型,各客户端的仿真工具可以相同也可以不同,其求解模型、求解算法、求解步长允许不同,以支持不同学科领域的仿真模型在最适合的条件下进行仿真计算。
3.如权利要求1所述的分布式架构下的多学科联合仿真方法,其特征在于,所述fmu格式的通信控件是基于modelica语言开发的TCP/IP通信客户端程序所生成的*.fmu格式文件,此*.fmu格式文件作为TCP/IP通信控件使用。在进行分布式仿真之前,在仿真工具中导入所生成的*.fmu格式文件,服务器通过*.fmu格式文件实现与各个仿真工具的分布式联合仿真。
4.如权利要求3所述的分布式架构下的多学科联合仿真方法,其特征在于,*.fmu格式文件按照提前约定的FMI 1.0或者2.0标准生成的,其同时包含Model-Exchange和Co-Simulation两种FMI标准格式。
5.如权利要求1所述的分布式架构下的多学科联合仿真方法,其特征在于,所述服务器通过同步时钟实现客户端的同步:
每个客户端的仿真模型在各自的仿真工具中运行,在服务器同步时钟的控制下,每到一个约定的通信时间点,所有仿真模型通过fmu格式的通信控件将提前约定好的数据传输到服务器,同时从服务器接受后续计算所需要的数据;
在服务器同步时钟的控制下,先运行到达通信时间点的仿真模型会被挂起,处于等待状态;直到全部客户端的仿真模型都完成计算并到达通信时刻,服务器才会发出指令推进各仿真模型运行下一时间步的仿真。
6.如权利要求1所述的分布式架构下的多学科联合仿真方法,其特征在于,所述的性能统计为:
在T通信时刻下,服务器完成所有客户端仿真模型的并行通信后,统计当前时刻运行最慢的仿真模型,将其性能统计指标+1;在运行完仿真最后一帧后,显示每个仿真模型的性能统计指标/总帧数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110612192.1A CN113361094A (zh) | 2021-06-02 | 2021-06-02 | 一种分布式架构下的多学科联合仿真方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110612192.1A CN113361094A (zh) | 2021-06-02 | 2021-06-02 | 一种分布式架构下的多学科联合仿真方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113361094A true CN113361094A (zh) | 2021-09-07 |
Family
ID=77531179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110612192.1A Pending CN113361094A (zh) | 2021-06-02 | 2021-06-02 | 一种分布式架构下的多学科联合仿真方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361094A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761745A (zh) * | 2021-09-08 | 2021-12-07 | 北京世冠金洋科技发展有限公司 | 联合仿真方法及装置、存储介质及电子设备 |
CN114139344A (zh) * | 2021-10-20 | 2022-03-04 | 中国航发四川燃气涡轮研究院 | 一种基于仿真模型的人机交互可视化方法及装置 |
CN114706326A (zh) * | 2022-06-08 | 2022-07-05 | 中国汽车技术研究中心有限公司 | 整车能量管理实时仿真方法和系统 |
CN116562054A (zh) * | 2023-07-06 | 2023-08-08 | 西安羚控电子科技有限公司 | 一种多实体协同实时仿真系统的构建方法及装置 |
CN117313419A (zh) * | 2023-10-30 | 2023-12-29 | 中船奥蓝托无锡软件技术有限公司 | 一种多学科联合仿真系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915242A (zh) * | 2015-06-11 | 2015-09-16 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN108427776A (zh) * | 2017-02-13 | 2018-08-21 | 中国科学院沈阳计算技术研究所有限公司 | 分布式全数字联合仿真系统与方法 |
CN111985102A (zh) * | 2020-08-19 | 2020-11-24 | 西安中锐创联科技有限公司 | 一种多源异构模型分布式集成仿真方法及系统 |
-
2021
- 2021-06-02 CN CN202110612192.1A patent/CN113361094A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915242A (zh) * | 2015-06-11 | 2015-09-16 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN108427776A (zh) * | 2017-02-13 | 2018-08-21 | 中国科学院沈阳计算技术研究所有限公司 | 分布式全数字联合仿真系统与方法 |
CN111985102A (zh) * | 2020-08-19 | 2020-11-24 | 西安中锐创联科技有限公司 | 一种多源异构模型分布式集成仿真方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761745A (zh) * | 2021-09-08 | 2021-12-07 | 北京世冠金洋科技发展有限公司 | 联合仿真方法及装置、存储介质及电子设备 |
CN113761745B (zh) * | 2021-09-08 | 2023-08-15 | 北京世冠金洋科技发展有限公司 | 联合仿真方法及装置、存储介质及电子设备 |
CN114139344A (zh) * | 2021-10-20 | 2022-03-04 | 中国航发四川燃气涡轮研究院 | 一种基于仿真模型的人机交互可视化方法及装置 |
CN114706326A (zh) * | 2022-06-08 | 2022-07-05 | 中国汽车技术研究中心有限公司 | 整车能量管理实时仿真方法和系统 |
CN114706326B (zh) * | 2022-06-08 | 2022-09-16 | 中国汽车技术研究中心有限公司 | 整车能量管理实时仿真方法和系统 |
CN116562054A (zh) * | 2023-07-06 | 2023-08-08 | 西安羚控电子科技有限公司 | 一种多实体协同实时仿真系统的构建方法及装置 |
CN116562054B (zh) * | 2023-07-06 | 2023-10-13 | 西安羚控电子科技有限公司 | 一种多实体协同实时仿真系统的构建方法及装置 |
CN117313419A (zh) * | 2023-10-30 | 2023-12-29 | 中船奥蓝托无锡软件技术有限公司 | 一种多学科联合仿真系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113361094A (zh) | 一种分布式架构下的多学科联合仿真方法及系统 | |
US7634756B2 (en) | Method and apparatus for dataflow creation and execution | |
Jalving et al. | Graph-based modeling and simulation of complex systems | |
CN101587446B (zh) | 基于分布交互仿真平台的仿真模型转换方法 | |
CN110516325A (zh) | 一种cae自动化仿真分析方法和系统 | |
CN102306223B (zh) | 基于hla技术的船舶燃气轮机装置集成仿真系统及其实现方法 | |
CN111985102A (zh) | 一种多源异构模型分布式集成仿真方法及系统 | |
CN113568705B (zh) | 一种分布式架构下的代码集成仿真方法 | |
WO2024016542A1 (zh) | 信息融合方法、数据通信方法、装置及电子设备和非易失性可读存储介质 | |
CN111552636B (zh) | 一种应用fmi协议支持aadl集成仿真的方法 | |
WO2013159586A1 (zh) | 分布式仿真数据处理方法及装置 | |
CN109088776B (zh) | 一种基于超级计算机的并行cfd计算与通信重叠优化方法 | |
Monga et al. | Real-time simulation of dynamic vehicle models using a high-performance reconfigurable platform | |
CN102902769A (zh) | 一种云计算平台数据库基准测试系统及其方法 | |
Ivanov et al. | A hot decomposition procedure: Operational monolith system to microservices | |
CN104615437A (zh) | 一种基于gpu的软件体系架构及uml和adl结合描述的方法 | |
CN110516277A (zh) | 快速的建模、仿真方法及系统、计算机设备、存储设备 | |
CN115421940A (zh) | 一种基于共享内存技术的多源异构模型白盒集成方法 | |
Eom et al. | Speed vs. accuracy in simulation for I/O-intensive applications | |
CN104794010A (zh) | 一种系统内信息交互优化方法 | |
Ma et al. | Cloud-based multidimensional parallel dynamic programming algorithm for a cascade hydropower system | |
Golubeva et al. | A tool for simulating parallel branch-and-bound methods | |
CN106134474B (zh) | 一种虚拟试验运行控制方法 | |
Bernaschi et al. | The RBF4AERO benchmark technology platform | |
CN109241551A (zh) | 拱坝浇筑施工仿真对象的持久化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |