以下术语是理解Modelica语言的关键,通过结构化定义+代码示例+应用场景,帮助NGM用户快速构建知识框架!
1️⃣ 模型(Model)
定义
- 功能与性能的抽象描述,类似于面向对象编程中的“类”(Class)。
- 本质:描述物理规律(如欧姆定律
V = R*I
),而非具体物理实体。
代码示例

应用场景
- 定义电路中的电阻、电容等基础元件行为。
- 封装复杂系统(如电机、电池)的数学关系。
2️⃣ 组件(Component)
定义
- 模型的实例化对象,对应具体物理实体。
- 类比:模型是“设计图纸”,组件是“按图纸生产的零件”。
代码示例

易错点
- 模型 vs 组件:
- ❌ 错误:
ResistorModel.V = 12;
(试图直接操作模型类)
- ✅ 正确:
R1.V = 12;
(操作组件实例属性)
3️⃣ 子组件(Subcomponent)
定义
- 组件内部的嵌套组件,实现模型层级化设计。
- 作用:模块化拆分复杂系统,提高复用性。
代码示例

应用场景
4️⃣ 系统模型(System Model)
定义
- 独立完整的仿真单元,方程数量与未知变量数匹配。
- 特征:无外部接口(自洽的封闭系统)。
代码示例

5️⃣ 量(Quantity)
定义
- 赋予对象的数值属性,支持类型:
Real
, Integer
, String
, Boolean
。
代码示例

6️⃣ 声明(Declaration)
定义
代码示例

7️⃣ 包(Package)
定义
代码示例

💡 经典应用
- Modelica标准库:
Modelica.Electrical
(电气库)
Modelica.Mechanics
(机械库)

8️⃣ 关键字(keyword)
定义
- Modelica中具有特定含义的词,如time、model、function等。
关键词作为,Modelica的保留字,不能在声明或实例中使用,NGM自带关键字高亮功能,方便用户更好区分关键字。
代码示例

---
Modelica术语对比表

掌握这些术语,你已迈入在NGM中使用Modelica建模的大门!