lorenxjtu的个人博客分享 http://blog.sciencenet.cn/u/lorenxjtu

博文

[转载]概述modelica

已有 1006 次阅读 2019-10-11 14:03 |个人分类:modelica|系统分类:科研笔记| modelica, 系统仿真 |文章来源:转载

近半年的状态相当于在岗创业,由于未来可能的产品需要,近两周在关注modelica,也找了点资料在学习,刚好下午这会儿有点时间,写一篇笔记做个汇报。

简单的说,Modelica是一门通用仿真语言,从建模方法上来说,首先具有代码编程功能,可以认为是跟matlab编程功能类似,同时Modelica还支持图形化建模,这一点上又与simulink类似;从仿真对象来说,Modelica可以支持各种学科领域的仿真,同时又可以实现跨平台、跨学科的协同工作,是一种适合用于系统建模的仿真工具。



无标题.jpg

相比于传统的系统仿真工具,Modelica 具有五个比较明显的特点,包括:

  1. 面向对象。Modelica 语言是面向对象的,直观来讲,就是可以按照真实世界的事物进行仿真建模,易于理解,也易于对其进行优化扩展。

  2. 数学建模。Modelica支持按照数学模型建模,可以理解为按照一定的规则表达各种数学方程,至于求解的过程,交给求解器就好。这意味着,只要你能写出方程,modelica就能仿真,能力范围不言而喻。

  3. 系统建模。Modelica的模型可以分为组件和系统两种模型,组件单独建模可以单独对组件特性进行仿真,而组件之间,又可以通过connect命令进行关联,实现系统建模,对系统以及组件特性进行协同仿真。

  4. 架构建模。系统模型往往包含了大量的组件模型,牵一发而动全身,Modelica提供了架构建模支持,系统建模时,对某个模型标注replacable属性,就可以在后续仿真时,用其它模型进行替换,便于模型升级优化。

  5. 通用开放。Modelica最有竞争力的特性是通用、开放,通用是指可以建立多学科模型,而开放性则是说Modelica体系中包含了FMU/FMI通过标准定义了开放的模型接口,能够实现不同仿真软件以及硬件间的数据交互和通信,可实现很好的模型共享和协同仿真。另一方面,Modelica作为开源建模平台,已经有大量的学术组织在协作开发各种模型,不断的扩展其应用范围。


无标题1.jpg

Modelica语言的特点决定了其在系统仿真、多学科仿真、协同仿真、模型分发等方向的良好应用效果。

  1. 系统仿真:航空航天、船舶、发电系统等大型复杂系统建模往往需要兼顾多层级组件自身性能以及组件之间的关联性,而Modelica组件建模方式恰好是为这一需求定义的。

  2. 多学科仿真:Modelica数学建模的特性保证了Modelica具有很广泛的应用范围,目前各种Modelica仿真工具已经提供机、电、液、控等多个技术领域的大量模型。

  3. 协同仿真:Modelica库模型已经开发出丰富的接口模型,可通过TLM、共享内存、共享文件等方式与各种软、硬件进行通信,实现1D-3D、多学科和软硬件协同仿真。

  4. 模型分发:Modelica学会定义了FMI标准,可用于仿真模型的封装,而且该标准不止适用于各种Modelica仿真平台,ANSYS、MATLAB、AMESim等商用仿真软件也兼容该标准,在该标准框架下,各种仿真模型可以打包为通用模型单元,在统一的运算平台下集成,可有效的实现各种仿真模型的复用与分发。




无标题2.jpg

Modelica建模方法具有明显的层级结构,其中

  1. Model是可进行仿真的基本单元;

  2. 相同类别的多个Model或者其它代码结构可以打包成为package用于共享或者模型管理;

  3. Model本身又可分为系统模型和组件模型;

  4. 系统模型是由多个组件模型组成的,模型之间通过connect命令连接;

  5. Block是一种特殊的模型,是在model基础上增加了明确定义的input或output参数,用于需要清晰区分输入和输出的场景,这种建模思想又被成为因果建模;

  6. Model内部包含parameter、equation,不同model的equation在系统建模时被connect联立成为方程组,进而被求解器求解,这是modelica仿真求解的基本方法;

  7. equaion中可以包含各种function,functioni中可以包含各种基本语法和控制语句;

  8. 为提高复用性,modelica还规定了partial、replaceable等专用关键字,以降低代码量,同时便于代码质量管理;

知道了上面这些,应该就知道modelica是什么、能用来干什么、模型怎么读了。


常用的仿真工具:

mworks,国产软件,优势在于同元的服务特别坚挺,按需定制的代码包是专用仿真工具建设的良心之选,胜在服务;

dymola,modelica核心团队开发,亲娘养的;

教材就不推荐了,毕竟modelica教材加起来也没几本,推荐一个还不错的线上资源:

http://modelicabyexample.globalcrown.com.cn/


https://mp.weixin.qq.com/s/0xj57lSISkKABvazEIq6yQ



http://blog.sciencenet.cn/blog-687103-1201517.html


下一篇:[转载]学渣带你学modelica,第一发——“Hello world”

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2020-2-19 15:58

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部