modelica模型计算方法、装置、设备和存储介质与流程

文档序号:27212431发布日期:2021-11-03 15:10阅读:265来源:国知局
modelica模型计算方法、装置、设备和存储介质与流程

1.本技术涉及软件工程技术领域,具体而言,涉及一种modelica模型计算方法、装置、设备和存储介质。


背景技术:

2.随着工业实践和科学技术的发展,现代机电产品越来越复杂,通常是由机械、电子、液压、控制等不同领域子系统构成的复杂工程系统。系统的复杂程度和建模仿真要求越来越高。比如,空间站、核电站等复杂巨系统仿真建模,模型都超越了单机能求解的程度,所以单机很难进行复杂的modelica模型计算任务。


技术实现要素:

3.本技术的主要目的在于提供一种modelica模型计算、装置、设备和存储介质,以解决上述问题。
4.为了实现上述目的,根据本技术的一个方面,提供了一种modelica模型计算方法,包括:
5.建立多个互相独立的modelica子模型;
6.根据所述多个modelica子模型建立modelica模型;
7.分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算得到仿真结果;
8.其中,每个子模型对应一个worker节点。
9.在一种实施方式中,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,所述方法还包括:
10.将每一个modelica子模型进行模型平坦化处理。
11.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算时,如果需要用到第二子模型的相关数据;
12.则第一子模型所在的第一worker节点向服务节点发送数据获取请求,所述请求中携带了第二子模型的标识;
13.所述服务节点根据子模型和worker节点的对应关系表和所述第二子模型的标识确定所述第二子模型对应的第二worker节点;
14.所述服务节点向所述第二worker节点获取所述相关数据并发送给所述第一worker节点,以使所述第一worker节点进行仿真计算。
15.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算得到仿真计算结果后,所述第一子模型所在的第一worker节点向服务节点发送所述仿真计算结果。
16.为了实现上述目的,根据本技术的另一方面,提供了一种modelica模型计算装置,包括:
17.建模模块,用于建立多个互相独立的modelica子模型;以及根据所述多个modelica子模型建立modelica模型;
18.第一处理模块,用于分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算得到仿真结果;其中,每个子模型对应一个worker节点。
19.在一种实施方式中,第一处理模块,还用于分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,将每一个modelica子模型进行模型平坦化处理。
20.在一种实施方式中,还包括任意的第一worker节点中的第二处理模块和服务节点中的第三处理模块;
21.所述第二处理模块用于,在进行仿真计算时,如果需要用到第二子模型的相关数据;则向服务节点发送数据获取请求,所述请求中携带了第二子模型的标识;
22.所述第三处理模块,用于根据子模型和worker节点的对应关系表和所述第二子模型的标识确定所述第二子模型对应的第二worker节点;
23.向所述第二worker节点获取所述相关数据并发送给所述第一worker节点,以使所述第一worker节点进行仿真计算。
24.在一种实施方式中,所述第二处理模块还用于,在进行仿真计算得到仿真计算结果后,向服务节点发送所述仿真计算结果。
25.在本技术的上述方法,将多个互相独立的modelica子模型分配给parameter server架构中的每个worker节点,由worker节点进行仿真计算,提高了仿真计算的效率。
附图说明
26.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
27.图1是根据本技术实施例的一种基于parameter server架构的modelica模型计算方法的流程图;
28.图2是根据本技术实施例的一种parameter server架构的结构示意图;
29.图3是根据本技术实施例的一种基于parameter server架构的modelica模型计算装置的结构示意图;
30.图4是根据本技术实施例的一种电子设备的结构示意图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
32.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
34.本技术提出了一种modelica模型计算方法,参见附图1所示的一种基于parameter server架构的modelica模型计算方法的流程图;该方法包括:
35.步骤s102,建立多个互相独立的modelica子模型;
36.示例性的,以空间站位例,modelica子模型包括运动轨迹modelica子模型;动力modelica子模型,能源modelica子模型等等。
37.步骤s104,根据所述多个modelica子模型建立modelica模型;
38.具体的,可以把多个相互独立的modelica子模型组合为modelica模型。
39.步骤s106,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算得到仿真结果;其中,每个子模型对应一个worker节点。
40.参见附图2所示的parameter server架构的结构示意图;该架构中,包括服务server节点和多个工作worker节点。服务节点的主要功能是初始化和保存模型参数、接收worker节点计算出的仿真数据,并更新模型参数。worker节点的主要功能是进行仿真计算,从server节点拉取最新的模型参数(pull),再读取参数,计算完后,上传给server节点(push)。
41.具体的,可以从多个不同的角度来划分建立modelica子模型。比如,将大规模巨系统的modelica模型按逻辑,比如机械、电子、液压、控制或者按广义基尔霍夫定律的连接处,进行分治,比如分治为a、b、c三部分,将a、b、c分散在a、b、c三台电脑上进行计算,由于整体逻辑上modelica模型是微分、代数方程,整个系统内部都需要进行参数共享和交换,在单机内是没有问题的,当分布式计算时,这些共享的数据成为系统瓶颈,造成模型无法计算。为了解决这个问题,将这些参数通过parameter server架构进行共享。比如,系统x,需要在a、b、c中同时读写,则将x放入parameter server系统。
42.本发明的上述的方法,采用parameter server架构来对一个复杂的系统的modelica模型中的多个相互独立的子模型进行分别仿真计算,提高了仿真效率。解决了现有技术中,单机无法进行复杂系统的仿真计算的问题。
43.在一种实施方式中,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,将每一个modelica子模型进行模型平坦化处理。
44.具体的,modelica模型求解之前,要进行模型实例化,也称为模型平坦化,指将以面向对象方式建模的、具有动态层次特性的结构化模型转化为平坦化方程系统的过程。模型平坦化版自主模型开始按层次结构递归进行,主要内容包括变量平坦化与方程实例化。平坦化过程中需要进行变型合并、重声明应用、继承展开、outer/inner匹配等操作。
45.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算时,如果需要用到第二子模型的相关数据;则第一子模型所在的第一worker节点向服务节点发送数据获取请求,所述请求中携带了第二子模型的标识;
46.所述服务节点根据子模型和worker节点的对应关系表和所述第二子模型的标识确定所述第二子模型对应的第二worker节点;
47.所述服务节点向所述第二worker节点获取所述相关数据并发送给所述第一worker节点,以使所述第一worker节点进行仿真计算。
48.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算得到仿真计算结果后,所述第一子模型所在的第一worker节点向服务节点发送所述仿真计算结果。并且在仿真开始之前,从服务节点获取仿真需要用到的参数数据。
49.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
50.第二方面,本技术还提出了一种modelica模型计算装置,参见附图3所示的一种基于parameter server架构的modelica模型计算装置的结构示意图;该装置包括:
51.建模模块31,用于建立多个互相独立的modelica子模型;以及根据所述多个modelica子模型建立modelica模型;
52.第一处理模块32,用于分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算得到仿真结果;其中,每个子模型对应一个worker节点。
53.在一种实施方式中,第一处理模块32,还用于分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,将每一个modelica子模型进行模型平坦化处理。
54.在一种实施方式中,还包括任意的第一worker节点中的第二处理模块33和服务节点中的第三处理模块34;
55.所述第二处理模块33用于,在进行仿真计算时,如果需要用到第二子模型的相关数据;则向服务节点发送数据获取请求,所述请求中携带了第二子模型的标识;
56.所述第三处理模块34,用于根据子模型和worker节点的对应关系表和所述第二子模型的标识确定所述第二子模型对应的第二worker节点;
57.向所述第二worker节点获取所述相关数据并发送给所述第一worker节点,以使所述第一worker节点进行仿真计算。
58.在一种实施方式中,所述第二处理模块33还用于,在进行仿真计算得到仿真计算结果后,向服务节点发送所述仿真计算结果。
59.根据本技术的第三方面,提供了一种电子设备,参见附图4所示的电子设备的结构示意图;包括至少一个处理器41和至少一个存储器42;所述存储器42用于存储一个或多个程序指令;所述处理器41,用于运行一个或多个程序指令,用以执行上述任意一项的方法。
60.第四方面,本技术还提出了一种计算机可读存储介质,计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述任一项所述的方法。
61.可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理
器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
62.存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
63.其中,非易失性存储器可以是只读存储器(read

only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。
64.易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(directrambus ram,简称drram)。
65.本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
66.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
67.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1