Modelica中的"类"是什么意思?

Tam*_*ora 1 modelica dymola

我不理解Modelica上下文中"class"的含义

从modelica.org教程:"在Modelica中,基本的结构元素是一个类.有七个具有特定名称的受限类,例如模型......".谁有更简单的解释?我对Modelica很新.

mar*_*rco 9

如果您在Dymola或OpenModelica等工具中打开Modelica库,那么您在包或库浏览器中看到的所有内容都是类.

只要您使用其中一个类,例如在图层中拖放,就可以创建此类类型的新组件.实例化的组件不是类的副本,而是对它的引用.因此,如果更新类定义,还会更新作为此类实例的所有组件的行为.

有几种类可用.实际上调用了最普通的类class,但它并不经常使用.它没有任何限制,因此它可以包含Modelica可能包含的所有内容:方程式,算法,公共和受保护组件等.

有更多特定的类类型限制了用法.这有助于正确使用类.例如,无法模拟A functionrecord.

最重要的限制类类型是:

  • package:用于分组其他类
  • model:通常用于具有物理连接器的组件以及模拟的示例
  • block:用于具有因果连接器的组件(仅输入和输出,因此您拥有的所有内容Modelica.Blocks)
  • function:用于函数调用,与其他编程语言相当
  • record:通常用于包含其他组件的数据集(允许快速更改完整的数据集)
  • connector:用于定义连接域的不同组件所需的接口变量(例如电域中的v和i)
  • type:通常用于定义物理量,如质量,长度或时间与其单位(例如包中的所有SI单位Modelica.SIunits)