第一部分 Modelica语言 3
第1章 简介 3
1.1 什么是Modelica 3
1.2 Modelica能干什么 5
1.3 建模方式 8
1.3.1 块图 8
1.3.2 非因果建模 9
1.3.3 对建模方式的进一步说明 10
1.4 Modelica标准库 10
1.5 基本术语 10
1.6 小结 11
第2章 微分方程 12
2.1 引言 12
2.2 微分方程 12
2.2.1 单摆的运动方程 12
2.2.2 单摆的Modelica模型 13
2.3 物理量的类型 15
2.3.1 RLC的本构方程 15
2.3.2 RLC的Modelica模型 16
2.4 模型注释 17
2.4.1 液压系统的本构方程 18
2.4.2 液压系统的Modelica模型 19
2.5 Modelica语言基础 20
2.5.1 模型 20
2.5.2 变量、参数和常量 21
2.5.3 表达式 22
2.5.4 方程式 23
2.5.5 运算符 24
2.5.6 属性 25
2.5.7 物理类型 26
2.6 练习 27
第3章 建立和连接组件 28
3.1 概念 28
3.2 连接器 28
3.3 建立连接器及组件 28
3.3.1 基于方程的方法 28
3.3.2 基于组件的方法 29
3.3.3 标准电气组件 34
3.4 定义块 35
3.4.1 基于方程的方法 36
3.4.2 基于组件的方法 36
3.4.3 标准块图组件 39
3.5 MSL中的旋转组件 42
3.5.1 连接器 42
3.5.2 特殊模型 42
3.5.3 连接针 43
3.5.4 单一旋转系统 44
3.5.5 创建更复杂的系统 44
3.6 语言基础 45
3.6.1 连接 45
3.6.2 限定符 46
3.6.3 更改默认参数值 48
3.6.4 定义块 48
3.6.5 发现和利用组件模型 49
3.7 小结 49
3.8 练习 49
第4章 组件重用 51
4.1 概念 51
4.2 公共代码开发 51
4.2.1 识别和定义公共代码 52
4.2.2 使用公共代码定义模型 52
4.3 构建可重用的块 53
4.3.1 建立控制器模型 53
4.3.2 传递信息 54
4.3.3 小结 55
4.4 允许替换的组件 55
4.4.1 通用控制器接口 56
4.4.2 特定控制器模型 56
4.4.3 使用可替换组件 57
4.4.4 小结 58
4.5 其他可替换的实体 59
4.6 对灵活性的限制 61
4.7 其他注意事项 63
4.7.1 参数 63
4.7.2 通用性 63
4.7.3 注释 63
4.8 语言基础 64
4.8.1 模型的扩展 64
4.8.2 简短定义 65
4.8.3 子类型 65
4.8.4 partial定义 66
4.8.5 创建可替换的模型元素 66
4.8.6 final类型组件 66
4.9 练习 66
第5章 函数 68
5.1 概念 68
5.2 简介 68
5.2.1 数组 69
5.2.2 函数的鲁棒性 69
5.2.3 函数主体部分 69
5.2.4 函数的调用 70
5.3 插值函数 70
5.3.1 说明 71
5.3.2 使用for循环 71
5.3.3 具名自变量 71
5.4 多重返回值 72
5.5 自变量records 73
5.5.1 创建record 74
5.5.2 record中的变量 74
5.6 使用外部子程序 76
5.6.1 外部子程序 76
5.6.2 相关说明 76
5.6.3 调用外部子程序 77
5.7 Modelica语言基础 77
5.7.1 自变量 77
5.7.2 局部变量 77
5.7.3 运算法则 78
5.7.4 分支语句 78
5.7.5 循环语句 78
5.7.6 调用函数 79
5.7.7 内置函数 80
5.7.8 外部子程序 82
5.8 练习 84
第6章 数组 86
6.1 概念 86
6.2 组件数组应用示例:行星运动 86
6.2.1 连接器 87
6.2.2 三维空间中的物体定义 87
6.2.3 万有引力 88
6.2.4 多体仿真 90
6.3 一个简单的一维热传递示例:变量数组的使用 91
6.3.1 控制方程 91
6.3.2 基于方程的方法 93
6.3.3 基于组件的方法 94
6.3.4 标准传热组件 101
6.3.5 小结 101
6.4 在化学系统模型中使用数组 102
6.4.1 背景介绍 102
6.4.2 化学反应 102
6.4.3 基于数学方程 102
6.4.4 基于基本化学模型的方法 103
6.4.5 Oregonator模型 109
6.5 语言基础 111
6.5.1 信息隐藏 111
6.5.2 数组 111
6.5.3 循环和方程式 114
6.5.4 高级的数组处理特征 115
6.5.5 针对数组的内置函数 119
6.6 练习 120
第7章 混合建模 121
7.1 概念 121
7.2 数字电路建模 121
7.2.1 连接器 121
7.2.2 组件 122
7.2.3 简单的逻辑电路 123
7.2.4 混合离散及其行为模拟 125
7.3 弹球 127
7.4 传感器模型 131
7.4.1 简介 131
7.4.2 理想情况 131
7.4.3 采样与保持传感器 133
7.4.4 量化 135
7.4.5 周期测量传感器 136
7.4.6 计数传感器 139
7.4.7 对传感器模型的总结 141
7.5 语言基础 141
7.5.1 模型中的运算规则 141
7.5.2 离散变量 141
7.5.3 条件更改的反应 142
7.5.4 混合系统中的内置函数和内置运算 143
7.5.5 提出的问题 147
7.6 练习 147
第8章 探索非线性行为 149
8.1 概念 149
8.2 理想二极管 149
8.2.1 数学背景 149
8.2.2 模型描述 150
8.2.3 采样电路 151
8.3 齿间隙 152
8.3.1 非线性弹性方法 152
8.3.2 补偿系数方法 153
8.3.3 比对 154
8.3.4 小结及展望 156
8.4 热特性 156
8.4.1 背景 156
8.4.2 创建一个热性能模型 157
8.4.3 非线性热电容建模 158
8.4.4 凝固过程仿真 159
8.5 神经元模型 160
8.5.1 背景 161
8.5.2 电路模型 161
8.6 语言基础 163
8.6.1 参数化公式 163
8.6.2 行为更改 163
8.6.3 不连续性 164
8.6.4 隐式方程 165
8.6.5 理想化 165
8.7 练习 165
第9章 其他内容 167
9.1 搜索规则 167
9.1.1 静态范围 168
9.1.2 动态作用域 174
9.2 注释 177
9.2.1 图形注释 177
9.2.2 文档 178
第二部分 有效的Modelica 183
第10章 多领域建模 183
10.1 概念 183
10.2 传送系统 183
10.2.1 机械负载 183
10.2.2 电动机 184
10.2.3 控制系统 184
10.2.4 完整的系统 185
10.3 住宅供暖系统 186
10.3.1 概述 186
10.3.2 室内温度 187
10.3.3 热炉 188
10.3.4 温度控制器 189
10.3.5 完整的系统 191
10.4 车辆库 192
10.4.1 简单轿车包 192
10.4.2 发动机包 193
10.4.3 变速箱包 195
10.4.4 底盘包 196
10.4.5 车辆包 197
10.4.6 应用 197
10.4.7 结束语 198
10.5 小结 199
第11章 块图与非因果建模的比较 200
11.1 面向对象 200
11.2 块图 201
11.2.1 问题陈述 201
11.2.2 问题公式 201
11.2.3 块图 202
11.2.4 初始条件 202
11.2.5 重用 204
11.2.6 结论 204
11.3 非因果方法 204
11.4 小结 205
11.5 练习 206
第12章 构建库 207
12.1 目标 207
12.2 分类 207
12.3 组织结构 207
12.3.1 类型 208
12.3.2 接口 208
12.3.3 数 209
12.3.4 传感器 209
12.3.5 例子 210
12.3.6 测试 210
12.3.7 包的特定结构 210
12.3.8 包的经典格式 211
12.4 说明文档 212
12.5 最大化重用 212
12.5.1 包括局部定义 212
12.5.2 使模型可替代 214
12.5.3 包的粒度 214
12.6 最大的鲁棒性 215
12.6.1 使用声明及限制 215
12.6.2 确定选择 215
12.6.3 减少潜在的建模错误 216
12.7 Modelica源代码的存储 216
12.8 小结 218
第13章 初始条件 219
13.1 目标 219
13.2 数学规则 219
13.3 使用属性 221
13.4 开始仿真 222
13.5 基于分析类型的初始化 223
13.6 小结 224
第14章 效能 225
14.1 目标 225
14.2 使用方程 225
14.3 阻止不必要的事件 225
14.4 时间尺度 226
14.5 为函数提供雅可比函数 227
14.6 选择合适的积分程序 229
14.7 容差 229
14.8 变量消除 230
14.9 小结 231
附录A Modelica进化史 232
A.1 Modeliica语言编著者 235
A.2 Modeliaca标准库创建者 236
附录B Modelica语法 237
附录C Modelica标准库:连接器 243
C.1 电气 243
C.2 块图 244
C.3 直线运动 245
C.4 旋转运动 246
附录D Modelica标准库:通用单位 248
D.1 时间和空间 248
D.2 周期现象 248
D.3 机械系统 249
D.4 热力学 250
D.5 电流 250
D.6 物理化学 251
附录E Modelica标准库:常量 253
附录F Modelica标准库:数学函数 254
F.1 几何函数 254
F.2 反函数 254
F.3 双曲函数 254
F.4 指数函数 254
词汇表 255
参考文献 260