Modelica中的“类”是什么意思?

时间:2019-01-17 18:59:59

标签: modelica dymola

我不理解Modelica上下文中“类”的含义

在modelica.org教程中:“在Modelica中,基本结构元素是一个类。有七个具有特定名称的受限类,例如model ...”。有人有更简单的解释吗?我是Modelica的新手。

2 个答案:

答案 0 :(得分:8)

如果您使用Dymola或OpenModelica之类的工具打开Modelica库,则在包或库浏览器中看到的所有内容都是类。

一旦您使用这些类别之一,例如通过在图层中拖放,可以创建此类类型的新组件。 实例化的组件不是类的副本,而是对其的引用。因此,如果更新类定义,那么还将更新作为该类实例的所有组件的行为。

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

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

最重要的受限类类型是:

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

答案 1 :(得分:1)