前言
Modelica是一种免费的、为大型复杂异构物理系统建模的面向对象语言。从用户的角度来,Modelica模型是用原理图也称作对象图来描述的。下图是一些例子:
一个原理图由相互连接的组件如电阻、液压缸构成。一个组件包含若干“连接器”(通常也被称作端口),例如电极,机械法兰,或者输入信号,它们描述了可能的交互作用。在连接器之间绘制连线,一个物理系统或构造块模型就构建好了。在内部,一个组件由是另一个原理图定义的,或者在“底层”上,是由按Modelica语法基于方程的模型描述来定义的。
Modelica语言用文本描述定义模型的所有部分,用包在模型库内结构化模型组件。一个恰当的Modelica仿真环境要求能图形化地编辑和浏览Modelica模型(通过解释Modelica模型定义信息),执行模型仿真和其他分析。基本上,所有的Modelica语言元素都被映射为微分方程,代数方程和离散方程。与这些环境的相关信息可以在www.modelica.org/tools 上找到。基本上所有的Modelica语言元素都被映射为微分方程,代数方程和离散方程。尽管有些类型的离散偏微分方程能够合理地定义,例如,基于有限体积法和有用于导入有限元程序的结果的Modelica库,但没有语言元素直接描述偏微分方程。
本文档详细定义了Modelica语言。本文档的目的不是作为学习Modelica语言的教程,那有更好的选择,如在www.modelica.org/publications中提及的书籍。本规范可供计算机科学家实现Modellica翻译器(Translator),也可供建模人员详细了解某个特定语言元素的信息。
Modelica语言已自1996年开发出来。本规范描述了Modelica语言规范第3.3版第一次修订的内容。同第3.2版相比,本版引入了一些新的特性,如描述控制器和同步状态机的语言元素。完整的总结见附录E.1。
Modelica协会,2012年5月9日(2014年7月11日修订)