文章目录
安装
Modelica 是一种面向对象的建模语言,主要用于多领域物理系统,最初由Modelica协会开发,旨在统一机械、电气、热力、液压、控制等不同工程领域的建模方式。OpenModelica则是基于Modelica语言的开源建模与仿真环境,可以便捷地使用图形化界面对组件进行拖拽。
Medelica主页右侧即为其发布版本,点击最新版,根据自己的系统进行安装即可。安装完成之后需要配置环境变量,以Windows为例,需要添加一个名为MODELICAPATH的变量,其值即为OpenModelica的安装路径。
安装完成后,打开OMEdit,即【OpenModelica Connection Editor】,即可打开软件
点击菜单栏【Tools】->【Options】->【General Options】,可以将语言更改为中文。
初步使用
OMEdit的左侧栏中有一个Library列表,其中的Modelica中提供了许多类,可用于各种不同的行业。例如,【Electrical】中就提供了多种不同的电学原件,可用于电子领域的建模仿真。
接下来,本文创建一个RLC电路。
点击【Ctrl+N】即可新建项目,名称设为【RLC_TEST】,在【Electrical/Analog】中的【Basic】中选择电阻、电容、电感、接地模块,再从【Sources】中选择恒定电压源,命名随意,连接成如下形式。右键可以设置元器件的属性,【Ctrl+R】可以旋转元器件。鼠标点击元器件后再行拖拽,即可连出线来。
连接完成后,点击【S】图标,可进行仿真配置;点击S旁边向右的箭头,即可运行仿真。仿真完成后,会自动跳转到绘图窗口,在右下角的变量窗口中欧给,选择需要绘制的内容,即可得到下图。
Modelica代码
如前文所言,Modelica其实是一个编程语言,我们的可视化建模过程,与代码是一一对应的。双击库列表中的RLC_TEST,回到组件视图后,点击组件左上角的【文本查看】图标,即可查阅其源代码。
model RLC_TEST
Modelica.Electrical.Analog.Basic.Resistor R1(R = 100);
Modelica.Electrical.Analog.Basic.Ground G;
Modelica.Electrical.Analog.Basic.Capacitor C1(C = 0.001);
Modelica.Electrical.Analog.Basic.Inductor L1(L = 1);
Modelica.Electrical.Analog.Sources.ConstantVoltage CV1(V = 5);
equation
connect(R1.p, C1.p);
connect(L1.n, C1.p);
connect(CV1.p, L1.p);
connect(CV1.n, C1.n);
connect(R1.n, C1.n);
connect(CV1.n, G.p);
annotation(
uses(Modelica(version = "4.0.0")));
end RLC_TEST;
代码中,【model RLC_TEST】和【end RLC_TEST】即为RLC_TEST模型的定义和结束定义的标志。
其定义电学元件的语句,包括对象声明和参数设置。和其他编程语言不同的是,在完成对象的声明后,通过annotation将其映射到了画布上。从建模仿真的需求来说,将这些annotation去掉,完全不影响其计算结果。为了行文简洁,本文列出的代码,就略去了这些代码。
【connect】用于连接不同的元器件。
最后的annotation则指定了Modelica标准库版本。