Modelica学习
Modelica是什么
Modelica是一种适用于大型复杂系统建模的开源式面向对象语言,由瑞典的非盈利组织Modelica协会开发,其利用数学关系来描述子系统的物理关系,通过组件接口进多领域系统建模和联合仿真
Modelica的特点
Modelica具有面向对象语言的特征,其能通过模型组织的方式简化大型系统的复杂性。Modelica以类的方式进行数据封装,利用组件的连接和继承的方法构建模型,并采用数学关系描述物理系统,使得Modelica可以省略很多细节,能够快速搭建很多复杂的模型。
Modelica在主要有两种工程建模方式,一种是块图建模方式,另一种是非因果建模方式。块图是系统由多个组件组成,这些组件通过已知量求解出未知量,完成系统的仿真。块图一般应用于控制系统的建模,其典型代表就是Simulink,这种建模方法简单易懂,但是该方法也有很多不足,例如必须人工推导建立方程引起出错,块图中参数分散导致系统维护困难等问题。非因果建模是采用守恒定律来描述系统和组件的性能和行为,非因果建模方式对系统的输入和输出没有明确的规定,因为它是通过联立组件的本构方程和守恒方程的方式得到整个系统的方程组,这种方法体现了不同的数据流向,能够更好的支持组件的复用。值得注意的是Modelica不仅支持两种方式的建模,还支持两种方法的混合建模。
Modelica用途广泛,具有多领域建模的能力,包括电路仿真、传动系统仿真、动力系统稳定性分析,车辆动力学分析、液压系统仿真,控制系统仿真等,几乎涵盖了所有工程领域的建模,因此Modelica可以应用到控