CN111967128B - 一种提高Modelica仿真模型求解效率的方法 - Google Patents
一种提高Modelica仿真模型求解效率的方法 Download PDFInfo
- Publication number
- CN111967128B CN111967128B CN202010623355.1A CN202010623355A CN111967128B CN 111967128 B CN111967128 B CN 111967128B CN 202010623355 A CN202010623355 A CN 202010623355A CN 111967128 B CN111967128 B CN 111967128B
- Authority
- CN
- China
- Prior art keywords
- model
- time scale
- discrete
- modelica
- modeling
- 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.)
- Active
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (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
本发明公开了一种提高Modelica仿真模型求解效率的方法,包括以下步骤:以变量变化频量为基准,将待处理的Modelica仿真模型拆分成大时间尺度模型和小时间尺寸模型;其中,大时间尺度模型为易收敛的离散系统模型,小时间尺度模型为不易收敛的连续系统模型;分别对拆分的大时间尺度模型、小时间尺度模型进行建模;大时间尺度模型采用离散系统建模,小时间尺度模型采用连续系统建模;采用连续‑离散混合建模的方法对建模后的大时间尺度模型和小时间尺度模型进行模型重构。本发明通过对Modelica模型进行重构,将Modelica模型在代码层面进行解构,拆分成连续系统模型和离散系统模型,显著地提高了Modelica模型的运算效率。
Description
技术领域
本发明属于多学科系统仿真领域,具体涉及一种提高Modelica仿真模型求解效率的方法。
背景技术
Modelica语言是为解决多领域物理系统的统一建模与协同仿真,在归纳统一先前多种建模语言的基础上,于1997年提出的一种基于方程的陈述式建模语言。Modelica是一种开放、面向对象的以方程为基础的语言,可以跨越不同领域,方便地实现复杂物理系统的建模,包括机械、电子、电力、液压、热、控制及面向过程的子系统模型。近年来,Modelica广泛应用于工业、科学研究,成果显著,得到了工业界、学术界的普遍认可,在世界范围内,Modelica建模仿真的软件环境己多达十余个,它己成为默认多学科协同建模标准,为复杂多学科耦合物理系统的建模仿真需求提供了完整的解决方案,将来具有广阔前景。
现有模型加速技术主要是分布式仿真技术。由于传统的、单一节点的仿真系统已经无法完全满足系统仿真的需求,分布式仿真系统是系统仿真发展的必然趋势。但大量的实践经验表明,分布式仿真的运算效率取决于最慢的模型,受物理对象特点、建模方式等因素的影响,不可能对某个模型无限拆分,所以分布式仿真对效率的提升存在上限。此外,分布式通信也不可避免地耗费时间,当模型交互数据量较大或通信步长较小时仿真效率的提高很有限。随着仿真需求的不断增多,仿真系统所承担的任务也越来越广,仿真系统构建也越来越复杂,这直接导致模型的运算求解效率显著下降,尤其是当系统中普遍具有非线性、多个时间尺度并存(多学科)、方程刚性大等特点时,常规的Modelica建模方式已经不能满足要求。为提高模型求解效率,需要对系统仿真求解机制进行分析,进而提高仿真效率。
发明内容
本发明解决的技术问题在于提供一种提高Modelica仿真模型求解效率的方法,显著地提高了Modelica模型的运算效率。
本发明是通过以下技术方案来实现:
一种提高Modelica仿真模型求解效率的方法,包括以下步骤:
1)以变量变化频量为基准,将待处理的Modelica仿真模型拆分成大时间尺度模型和小时间尺寸模型;其中,大时间尺度模型为易收敛的离散系统模型,小时间尺度模型为不易收敛的连续系统模型;
2)分别对拆分的大时间尺度模型、小时间尺度模型进行建模;大时间尺度模型采用离散系统建模,小时间尺度模型采用连续系统建模;
3)采用连续-离散混合建模的方法对建模后的大时间尺度模型和小时间尺度模型进行模型重构;将离散系统模型和连续系统模型平行放置,当离散系统模型中用到连续系统变量时通过关键词“sample”将其转化为离散变量,当连续系统模型中用到离散系统变量时则通过关键词“hold”将其转化为连续变量。
进一步,所述的步骤2)中对拆分的大时间尺度模型建模时,离散系统模型的所有代码均写在when Clock...end when语句之中,离散状态量的微分用一阶差分描述,其中,Δt用interval(·)表示,前一时间步的xD用previous(xD)表示。
进一步,所述的步骤2)中对拆分的小时间尺度模型进行建模时,连续系统模型采用Modelica语言进行建模,若用到离散状态量时使用关键词“hold”进行处理。
进一步,所述的步骤3)中的模型重构通过Modelica语言来实现。
与现有技术相比,本发明具有以下有益的技术效果:
本发明公开了一种提高Modelica仿真模型求解效率的方法,该方法主要包括模型拆分、模型重构;首先,按照变量变化的动态频率将待处理的模型进行拆分;然后,采用“离散-连续混合时间尺度”的建模方法从代码层面对拆分后的Modelica模型进行重构,进而显著地提高Modelica模型的运算效率。本发明通过对Modelica模型进行重构,将Modelica模型在代码层面进行解构,拆分成连续系统模型和离散系统模型,进而降低Modelica模型的单步算力负载,即降低每一个模型积分步所带来的计算资源负载,进而显著地提高Modelica模型的运算效率。
本发明提供了一种提高Modelica模型求解效率的方法,与分布式仿真相比,本发明更加直接和方便,避免了对分布式仿真工具、分布式通信和分布式网络硬件的依赖,直接对原有Modelica模型进行重构即可。由于摆脱了对分布式仿真技术相关软件、硬件的依赖,本发明对Modelica模型求解效率的提高具有成本低廉、操作简单的优势。
附图说明
图1为本发明的提高Modelica仿真模型求解效率的方法流程图;
图2为本发明的离散-连续混合建模的Modelica语言实现示意图;
图3为本发明的实施例采用Modelica语言建立的电路模型图;
图4为本发明的实施例电容元件金属外壁温与热容的关系图;
图5为本发明的实施例Modelica电容模型利用离散-连续混合建模方法重构前后代码比较;
图6为本发明的常规Modelica模型计算效率与重构后的Modelica模型计算效率对比图。
具体实施方式
下面对本发明做进一步详细描述,所述是对本发明的解释而不是限定。
参见图1,一种提高Modelica仿真模型求解效率的方法,包括以下步骤:
1)以变量变化频量为基准,将待处理的Modelica仿真模型拆分成大时间尺度模型和小时间尺寸模型;其中,大时间尺度模型为易收敛的离散系统模型,小时间尺度模型为不易收敛的连续系统模型;
2)分别对拆分的大时间尺度模型、小时间尺度模型进行建模;大时间尺度模型采用离散系统建模,小时间尺度模型采用连续系统建模;
3)采用连续-离散混合建模的方法对建模后的大时间尺度模型和小时间尺度模型进行模型重构;将离散系统模型和连续系统模型平行放置,当离散系统模型中用到连续系统变量时通过关键词“sample”将其转化为离散变量,当连续系统模型中用到离散系统变量时则通过关键词“hold”将其转化为连续变量。
参见图1,为本发明的提高Modelica仿真模型求解效率的方法流程图。首先将待处理的Modelica仿真模型按照时间特征尺度进行拆分,大时间尺度部分采用“离散系统”建模,小时间尺度部分采用“连续系统”建模,而后将这两部分模型进行重构,模型重构的方法为“连续-离散混合建模”方法,重构后的模型运算效率与原模型相比会有一定程度的提高。
具体的,大时间尺度模型为易收敛的离散系统模型,小时间尺度模型为不易收敛的连续系统模型。单独的大尺度模型或小尺度模型的计算都不算慢,但当大尺度模型或小尺度模型两种模型放在一起联立求解时会显著增加方程刚性,导致模型难以收敛,进而导致仿真效率低下。因此本申请将Modelica仿真模型进行拆分,模型拆分的核心思想是将常规的连续系统模型拆分为大时间尺度和小时间尺度两部分,其中小时间尺度(变量变化频率较高、不易收敛)部分仍以连续系统表述且利用经典求解算法求解,大时间尺度(变量变化频率较低、易收敛)部分利用离散算法进行求解。不同学科间具时间特征尺度普遍不同,如控制系统中被控对象惯性较大,具有较大的时间尺度,而控制器则反应灵敏,时间尺度较小;对于飞行动力学来说,其姿态运动较快为小时间尺度,而质心运动相对较慢则为大时间尺度;在热流体系统中,压力的波动很快,在流体中以音速传播,而传热过程较慢,一般以质量流速传播,两种现象的变化尺度显然不在同一量级上。
进一步,所述的步骤2)中对拆分的大时间尺度模型建模时,离散系统模型的所有代码均写在when Clock...end when语句之中,离散状态量的微分用一阶差分描述,其中,Δt用interval(·)表示,前一时间步的xD用previous(xD)表示。
进一步,所述的步骤2)中对拆分的小时间尺度模型进行建模时,连续系统模型采用Modelica语言进行建模,若用到离散状态量时使用关键词“hold”进行处理。具体的,连续系统采用常规的Modelica语言进行建模,不需要对变量进行特殊处理,Modelica语言默认所有变量均为连续变量,模型均为连续系统模型。
进一步,所述的步骤3)中的模型重构通过Modelica语言来实现。
模型重构主要借助于Modelica语言实现。模型的代码实现相应地分为两部分:连续系统模型(小时间尺度模型)和离散系统模型(大时间尺度模型)。将离散系统模型和连续系统模型平行放置,当离散系统中用到连续系统变量时通过关键词“sample”将其转化为离散变量;连续系统部分的模型正常编写,当连续系统中用到离散系统变量时则通过关键词“hold”将其转化为连续变量。离散系统模型的所有代码都应写在when Clock...end when语句之中,离散状态量的微分用一阶差分描述,其中Δt用interval(·)表示,前一时间步的xD用previous(xD)表示。需要注意的是,如果在连续系统中使用离散状态量则应使用关键词“hold”修饰,如果在离散系统中使用连续状态量则应使用关键词“sample”修饰。
使用Modelica语言实现离散-连续混合时间尺度建模语言实现示意图如图2所示。
在多学科系统仿真中,电器元件的动态特性一般频率较高,是典型的小时间尺度问题,而电器元件的发热、散热则是典型的大时间尺度问题。这两种特性放在同一个模型中计算会带来较大的方程刚性,拖慢求解速度。
采用Modelica语言建立了一个简单电路模型,如图3所示,其中电容应用了两种不同的建模方式,一种是常规的Modelica建模,另一种是本发明提出的“连续-离散混合”建模。电容模型不但考虑了电压和电流之间的动态关系,还考虑了元件功率与散热的关系。电容元件外壁金属热容与外壁温的关系通过查表求得,如图4所示。对常规的Modelica电容模型进行拆分,按照时间尺度将热学和电学两部分进行拆分,之后再进行重构;通过评价模型求解效率的唯一指标评价模型求解效率,即在模型开始和结束位置编写一个计时命令程序,计算模型从开始到结束电脑运算耗时,同样的电脑硬件、同样的模型条件下,算的越快就代表求解效率越高。采用本申请提供的先拆分,再重构的建模方法,对Modelica电容模型进行拆分,之后再进行重构,模型计算求解效率明显提高。图5为Modelica电容模型利用离散-连续混合建模方法重构前后的代码比较示意图;图6为常规Modelica模型计算效率与重构后的Modelica模型计算效率对比图。
由以上技术方案,本发明提供了一种提高Modelica仿真模型求解效率的方法,该方法主要包括模型拆分、模型重构;首先,按照变量变化的动态频率将待处理的模型进行拆分;然后,采用“离散-连续混合时间尺度”的建模方法从代码层面对拆分后的Modelica模型进行重构,进而显著地提高Modelica模型的运算效率。本发明通过对Modelica模型进行重构,将Modelica模型在代码层面进行解构,拆分成连续系统模型和离散系统模型,进而降低Modelica模型的单步算力负载,即降低每一个模型积分步所带来的计算资源负载,进而显著地提高Modelica模型的运算效率。
本发明提供了一种提高Modelica模型求解效率的方法,与分布式仿真相比,本发明更加直接和方便,避免了对分布式仿真工具、分布式通信和分布式网络硬件的依赖,直接对原有Modelica模型进行重构即可。由于摆脱了对分布式仿真技术相关软件、硬件的依赖,本发明对Modelica模型求解效率的提高具有成本低廉、操作简单的优势。
以上给出的实施例是实现本发明较优的例子,本发明不限于上述实施例。本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。
Claims (4)
1.一种提高Modelica仿真模型求解效率的方法,其特征在于,包括以下步骤:
1)以变量变化频量为基准,将待处理的Modelica仿真模型拆分成大时间尺度模型和小时间尺寸模型;其中,大时间尺度模型为易收敛的离散系统模型,小时间尺度模型为不易收敛的连续系统模型;
2)分别对拆分的大时间尺度模型、小时间尺度模型进行建模;大时间尺度模型采用离散系统建模,小时间尺度模型采用连续系统建模;
3)采用连续-离散混合建模的方法对建模后的大时间尺度模型和小时间尺度模型进行模型重构;将离散系统模型和连续系统模型平行放置,当离散系统模型中用到连续系统变量时通过关键词“sample”将其转化为离散变量,当连续系统模型中用到离散系统变量时则通过关键词“hold”将其转化为连续变量。
2.根据权利要求1所述的提高Modelica仿真模型求解效率的方法,其特征在于,所述的步骤2)中对拆分的大时间尺度模型建模时,离散系统模型的所有代码均写在whenClock...end when语句之中,离散状态量的微分用一阶差分描述,其中,Δt用interval(·)表示,前一时间步的xD用previous(xD)表示。
3.根据权利要求1所述的提高Modelica仿真模型求解效率的方法,其特征在于,所述的步骤2)中对拆分的小时间尺度模型进行建模时,连续系统模型采用Modelica语言进行建模,若用到离散状态量时使用关键词“hold”进行处理。
4.根据权利要求1所述的提高Modelica仿真模型求解效率的方法,其特征在于,所述的步骤3)中的模型重构通过Modelica语言来实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010623355.1A CN111967128B (zh) | 2020-06-30 | 2020-06-30 | 一种提高Modelica仿真模型求解效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010623355.1A CN111967128B (zh) | 2020-06-30 | 2020-06-30 | 一种提高Modelica仿真模型求解效率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111967128A CN111967128A (zh) | 2020-11-20 |
CN111967128B true CN111967128B (zh) | 2023-06-16 |
Family
ID=73362434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010623355.1A Active CN111967128B (zh) | 2020-06-30 | 2020-06-30 | 一种提高Modelica仿真模型求解效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967128B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158405B (zh) * | 2020-12-31 | 2023-04-11 | 山东大学 | 一种电热系统的耦合方法、可视化平台及仿真方法 |
CN113987840B (zh) * | 2021-12-24 | 2022-03-15 | 中国汽车技术研究中心有限公司 | 基于Modelica的模型拆分方法、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709110A (zh) * | 2015-11-17 | 2017-05-24 | 黑龙江恒能自控科技有限公司 | 一种基于Modelica的硫化机液压传动系统建模方法 |
CN107357961A (zh) * | 2017-06-15 | 2017-11-17 | 苏州同元软控信息技术有限公司 | 基于Modelica模型的航天器推进系统动态分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817629B2 (en) * | 2017-07-21 | 2020-10-27 | The Mathworks, Inc. | Discretization of a model of a system or a portion of the model using system inputs and outputs |
-
2020
- 2020-06-30 CN CN202010623355.1A patent/CN111967128B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709110A (zh) * | 2015-11-17 | 2017-05-24 | 黑龙江恒能自控科技有限公司 | 一种基于Modelica的硫化机液压传动系统建模方法 |
CN107357961A (zh) * | 2017-06-15 | 2017-11-17 | 苏州同元软控信息技术有限公司 | 基于Modelica模型的航天器推进系统动态分析方法 |
Non-Patent Citations (3)
Title |
---|
Equation based parallelization of Modelica models;Marcus Walther 等;《 Proceedings of the 10th International Modelica Conference》;第86卷(第3期);1213-1220 * |
Modelica同步时钟模型编译求解技术的研究与实现;吴文涛;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第3期);I138-547 * |
信息物理融合的机电产品数字化设计关键技术研究;张洪昌;《中国博士学位论文全文数据库 (信息科技辑)》(第7期);I140-10 * |
Also Published As
Publication number | Publication date |
---|---|
CN111967128A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967128B (zh) | 一种提高Modelica仿真模型求解效率的方法 | |
CN202372834U (zh) | 一种双核cpu的嵌入式数控系统 | |
CN102508654B (zh) | 嵌入式可编程控制器的梯形图编辑器设计方法 | |
CN103593513A (zh) | 一种cae及实物试验数据统一读取及轻量化显示工具 | |
CN109684743A (zh) | 基于ansys脚本语言的航空电子产品振动云仿真自动接口方法 | |
CN103064682A (zh) | 面向设备的人机界面组态设计方法 | |
US7013468B2 (en) | Method and apparatus for design and manufacturing application associative interoperability | |
CN105095255A (zh) | 一种数据索引创建方法及装置 | |
CN115438598A (zh) | 基于一般时间根方尺度的雷诺应力湍流模型的数值方法 | |
CN106874562B (zh) | 一种将架构模型转换为静态计算模型的转换系统及其方法 | |
CN116070305A (zh) | 一种数字孪生体建模实现系统、方法和存储介质 | |
Pegden et al. | SLAM: simulation language for alternative modeling | |
CN101604286A (zh) | 一种关键字驱动表格生成方法 | |
CN102214260A (zh) | 用于油膜轴承润滑油膜的参数化计算分析系统及操作方法 | |
Mourshed et al. | Integrating building energy simulation in the design process | |
CN115758789A (zh) | 一种复杂实时嵌入式系统的软件架构设计与架构传递方法 | |
CN115906491A (zh) | 一种从SysML模型到结构模型的转换方法及系统 | |
Shan et al. | Research on Performance of Adaptive Solver Based on Joint Simulation of Aviation Systems | |
Haimes | Concurrent distributed visualization and solution steering | |
Xie et al. | Computer simulation study based on Matlab | |
Chen | QT and Simulink Mixed Call Implementation | |
NAKADA et al. | Introduction of Innovative Program OHC-Sim for Oil-Hydraulic Circuit Simulation | |
Manivannan | Just-in-time simulation using artificial intelligence | |
Tong et al. | Process preparation resources integration service mode and semantic description in manufacturing grid | |
CN104142910B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |