描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787568064279
Modelica语言已经成为多领域系统建模标准语言,是复杂系统“智能设计”时代系统建模的支撑标准,已经广泛应用于航天、航空、车辆、能源、船舶、兵器等工业领域,国内工程界也已经广泛接受Modelica标准。国外已经出版了几本Modelica专著,原书作者PETER FRITZSON是Modelica语言奠基者之一,本书是介绍Modelica入门为经典的著作,由于Modelica在国内已经广泛推广,对于本书有着广泛的需求。译者团队是国内从事Modelica研究、工具开发及工程应用实力强、影响大的团队。
本书主要围绕技术物理系统建模与仿真,介绍工业界应用广泛的多领域物理建模语言Modelica,覆盖建模与仿真基本概念以及面向对象和基于组件的建模基础。本书目标如下:成为关于建模和仿真导论课程的实用教材;让先前不具备建模、仿真和面向对象背景的读者容易学习;对物理建模、面向对象建模和基于组件建模进行基本介绍;演示一些精选的应用领域的建模实例。本书是Modelica语言奠基者之一的PETER FRITZSON教授撰写的建模仿真与Modelica入门基础教程。
目 录
Table of Contents
第1章 概论 1
1.1 系统和试验 2
1.1.1 自然系统和人工系统 3
1.1.2 试验 5
1.2 模型的概念 6
1.3 仿真 7
1.3.1 仿真的必要性 8
1.3.2 仿真的不足 9
1.4 创建模型 10
1.5 分析模型 11
1.5.1 敏感度分析 11
1.5.2 基于模型的诊断 12
1.5.3 模型验证与确认 12
1.6 数学模型分类 13
1.6.1 方程分类 14
1.6.2 动态模型VS静态模型 14
1.6.3 连续时间模型VS离散时间模型 16
1.6.4 定量模型VS定性模型 17
1.7 产品设计运用建模和仿真 18
1.8 系统模型实例 20
1.9 总结 25
1.10 参考文献 25
第2章 Modelica简介 26
2.1 Modelica入门 27
2.1.1 变量和预定义类型 32
2.1.2 注释 34
2.1.3 常量 35
2.1.4 可变性 36
2.1.5 默认初始值 36
2.2 面向对象的数学建模 37
2.3 类和实例 38
2.3.1 创建实例 39
2.3.2 初始化 41
2.3.3 特化类 42
2.3.4 基于变型的类重用 43
2.3.5 内置类型和属性 44
2.4 继承 45
2.5 泛型类 46
2.5.1 以实例作为类参数 46
2.5.2 以类型作为类参数 48
2.6 方程 49
2.6.1 重复的方程结构 51
2.6.2 偏微分方程 52
2.7 非因果物理建模 53
2.7.1 物理建模VS面向框图建模 53
2.8 Modelica组件化模型 55
2.8.1 组件 56
2.8.2 连接图 56
2.8.3 连接器和连接器类 58
2.8.4 连接 59
2.8.5 Inner和Outer定义隐式连接 60
2.8.6 可扩展连接器与信息总线 61
2.8.7 对流连接器 62
2.9 抽象类 63
2.9.1 抽象类重用 64
2.10 组件库设计和应用 66
2.11 示例:电子组件库 66
2.11.1 电阻 66
2.11.2 电容 66
2.11.3 电感 67
2.11.4 电压源 68
2.11.5 接地 69
2.12 简单电路模型 69
2.13 数组 71
2.14 算法结构 74
2.14.1 算法区和赋值语句 74
2.14.2 语句 75
2.14.3 函数 76
2.14.4 运算符重载和复数 78
2.14.5 外部函数 81
2.14.6 函数化的算法 82
2.15 离散事件和混合建模 83
2.16 包 87
2.17 注解 89
2.18 命名规范 90
2.19 Modelica标准库 91
2.20 Modelica实现和执行 93
2.20.1 手工编译简单电路模型 95
2.20.2 状态空间转化 97
2.20.3 求解方法 99
2.21 发展历程 102
2.22 总结 106
2.23 文献 106
2.24 练习 108
第3章 类和继承 112
3.1 类设计者和用户之间的约定 112
3.2 类示例 113
3.3 变量 114
3.3.1 变量名重复 115
3.3.2 变量名和类型名重复 115
3.3.3 变量初始化 116
3.4 方程即行为 116
3.5 访问控制 118
3.6 登陆月球示例仿真 119
3.7 继承 122
3.7.1 方程继承 123
3.7.2 多重继承 124
3.7.3 声明元素处理和用前声明 126
3.7.4 extends语句声明顺序 127
3.7.5 MoonLanding继承示例 127
3.8 总结 129
3.9 文献 129
第4章 系统建模方法 130
4.1 创建系统模型 130
4.1.1 演绎建模法VS归纳建模法 131
4.1.2 传统方法 132
4.1.3 面向对象-基于组件方法 133
4.1.4 自上而下VS自下而上建模 134
4.1.5 模型简化 135
4.2 容器系统建模 136
4.2.1 应用传统方法 136
4.2.2 应用面向对象-基于组件方法 138
4.2.3 连续PI控制容器系统 139
4.2.4 连续PID控制容器系统 143
4.2.5 串联容器系统 146
4.3 基于预定义组件的直流电机TOP-Down建模 147
4.3.1 系统定义 147
4.3.2 系统分解和通信初步设计 148
4.3.3 子系统建模 148
4.3.4 子系统组件建模 150
4.3.5 接口和连接定义 151
4.4 接口设计-连接器类 152
4.5 总结 153
4.6 文献 153
第5章 Modelica标准库 155
5.1 总结 162
5.2 文献 162
附录A 术语表 163
附录B OpenModelica和OMNotebook命令 171
B.1 交互式电子书OMNotebook 171
B.2 常用命令和示例 174
B.3 完整命令列表 175
B.4 OMSHELL和DYMOLA 184
B4.1 OMShell 184
B4.2 Dymola 脚本 185
文献 185
附录C OMNotebook和DrModelica的文本建模 187
C.1 HELLOWORLD练习 188
C.2 用VanDerPol和DAEExample模型运行DRMODELICA 189
C.3 简单方程系统 189
C.4 BouncingBall混合建模 190
C.5 采样混合建模 190
C.6 方程和算法区域 190
C.7 在电路中添加可连接组件 191
C.8 电路的详细建模 192
C.8.1 方程 192
C.8.2 模型实现 193
C.8.3 搭建电路模型 196
C.8.4 电路仿真 196
附录D 图形建模练习 197
D.1 简单直流电机 197
D.2 具有弹簧和惯量的直流电机 198
D.3 具有控制器的直流电机 198
D.4 直流电机作为发电机 199
参考文献 200
原书的前言
Preface
本书讲解建模和仿真的基本概念,为熟悉基本编程概念的读者介绍Modelica语言。同时针对初学者,对建模和仿真的概念以及面向对象和基于组件的建模基础做基本介绍。本书有四个目标:
成为建模与仿真导论课程的实用教材。
适合建模、仿真、面向对象的初学者。
对物理建模、面向对象建模和基于组件建模进行基本介绍。
演示精心选择的应用领域建模实例。
本书包含各种应用领域的建模实例,也包含跨越多领域的建模实例。书中的全部实例和练习都能在电子自学材料DrModelica中找到 。DrModelica的内容基于本书以及内容更丰富的《Principles of Object-Oriented Modeling of Simulation with Modelica 2.1》(Fritzson,2004)。DrModelica指导读者逐步从易到难地进行实例的学习和练习。部分DrModelica教学材料的内容可以免费从网站www.openmodelica.org下载,网站上还有本书的其他资料。
Peter Fritzson
译者序:
1997年Modelica规范1.0发布,是数字化技术发展史上的里程碑事件,标志着建模仿真从专业级、部件级进入了跨学科、多领域的系统级,为多领域物理系统建模奠定了统一的形式表达。历经20多年发展,Modelica已经广泛应用于航空、航天、车辆、能源、教育等各行各业,成为系统级仿真的事实国际标准,法国达索、德国西门子、美国ANSYS、美国ALTAIR、法国ESI等知名国际工业软件公司纷纷通过支持Modelica从单专业、零部件仿真走向全领域、全系统仿真。
早期Modelica规范只有一百多页,但它是面向对象多领域物理统一建模技术几十年的浓缩。好的规范就是时代技术的浓缩,Modelica跟IC规范VHDL一样是这样的典型。Modelica的发展早追溯到1967年推出的连续系统仿真语言CSSL,1978年Hilding Elmqvist在其博士论文中提出了面向对象的物理建模语言雏形Dymola,这是Modelica的核心来源之一。从20世纪70年代到90年代,欧洲出现了十多种物理建模语言,1997年欧洲仿真界综合多种物理建模语言推出了多领域统一建模语言Modelica。Modelica现已成为国际物理建模事实标准。
Modelica归纳了机、电、液、控、热等各学科的工程物理统一原理,使得不同学科可以采用统一的数学表达、统一的模型描述、统一的建模模式来实现统一建模与仿真。Modelica综合了先前多种建模语言的优点,支持面向对象建模、非因果陈述式建模、多领域统一建模及连续-离散混合建模,以微分方程、代数方程和离散方程为数学表示形式。
Modelica的内涵非常丰富,要全面了解和掌握Modelica,需要从外延和内涵两个角度把握。从外延讲,需要了解系统、建模、仿真的基本概念,了解建模与仿真在产品研制中是怎么应用的;从内涵讲,要了解系统建模的方法,熟悉Modelica语言的基本语法语义和应用规则。本书从外延和内涵这两个角度对于Modelica进行了非常好的介绍,特别适宜于作为Modelica的入门教材。
作者Peter Fritzson教授是Modelica技术的奠基人之一,长期担任Modelica协会副主席,是Modelica规范3.0版本的主要撰稿人,创立了开源Modelica联盟,主持开发了OpenModelica系列软件,近二十多年来一直致力于Modelica技术的发展与推广。本书是作者另一本Modelica百科全书式专著《Principles of Object-Oriented Modeling of Simulation with Modelica 3.3》的入门版,针对初学者系统阐述了建模仿真的基本概念、应用场景和Modelica基本知识及应用案例。
本人自2001年起一直致力于Modelica技术研究、产品开发及工程应用,是国内modelica研究第1批拓荒者。新世纪初初识Modelica,即认为Modelica为工程世界构筑了一个模型表达与互联的基础,是中国工业系统设计软件创新发展的历史机遇,前景广阔。拥有自主的Modelica编译器、分析器和求解器是中国发展自主可控的Modelica技术体系的前提,为此作为中国Modelica技术研究团队主要成员,自2001年起开展了7年技术研究,并于2008年作为主要创始人之一发起成立了苏州同元软控信息技术有限公司,2009年同元软控推出完全自主的系统建模仿真软件MWorks,并先后应用于大飞机、航空发动机、空间站、嫦娥工程、火星探测、大型运载火箭、核能动力等重大型号工程。目前MWorks已成为国际六大Modelica技术平台之一,中国籍此实现了Modelica技术的自主可控。
本书英文原版出版较早,当时Modelica规范主要版本为3.2,目前Modelica规范新版本为3.4,本书主要介绍Modelica基础知识,Modelica规范从3.2到3.4,这些基础知识没有变化,所以本书仍是Modelica入门的合适教材。读者如果想要更深入学习Modelica,可以直接阅读Modelica规范3.4(Modelica官网可下载)或参阅Peter Fritzson教授另一专著《Principles of Object-Oriented Modeling of Simulation with Modelica 3.3》。
本书示例使用的Modelica工具环境是OpenModelica和OMNotebook,所有示例都可在上面运行,同时也可以下载苏州同元软控信息技术有限公司出品的系统建模仿真软件MWorks.Sysplorer,作为本书案例的实操环境。
本书翻译是多人合作努力的成果,周凡利负责全书翻译统筹策划,早期刘炜提供了本书的初译稿,黄堃进行了初次校对,其后组织苏州同元软控信息技术有限公司周斌、刘志会、张彤晖、周王睿彬、杨勇杰等同仁和中国运载火箭技术研究院唐俊杰博士对全稿进行了重译再校,其中前言、致谢和第1章由周斌负责,第2章由唐俊杰和刘志会负责,第3章由刘志会负责,第4章由唐俊杰负责,第5章由张彤晖负责,附录A由周凡利负责,附录B、C由周王睿彬负责,附录D由杨勇杰负责,全书图表由唐俊杰负责,唐俊杰和周凡利对全书进行了精校。在此对参与本书翻译和校对的所有人员表示衷心感谢。特别感谢华中科技大学出版社编辑对于本书翻译出版的精心指导。
Modelica被誉为工程师的JAVA,作为与CC FORTRANJAVAVHDL-AMSVerilog并存的完备语言,是基于模型的系统工程、数字孪生及数字工程生态重要的使能技术对于当下中国工业的数字化转型与工业软件的发展具有特别意义。Modelica先进技术方法与中国庞大的工程需求相结合,必将推动中国工业系统软件及生态的发展壮大。,
后敬请各位专家、同仁、读者不吝指正。
周凡利 博士
4.3.3 子系统建模
然后进一步分解并建立子系统模型。首先创建控制器的模型,可以在标准Modelica库中找到反馈节点和PI控制器。再添加一个阶跃函数块作为控制信号。所有的组件如图4.12所示。
图4.12 控制器建模
第二个要分解的主要组件是直流电机的电路部分(见图4.13)。在这里我们已经将直流电机分解为标准部件,包括一个由信号控制的电压源、一个电路的接地组件、一个电阻、一个代表电机线圈的电感和一个将电能转换为旋转运动的电动力转换器(emf)。
图4.13 电路建模
第三个子系统(见图4.14)包含三个具有惯量的机械旋转负载、一个理想的齿轮、一个转动弹簧和一个给控制提供数据的转速传感器。
图4.14 带有速度传感器的机械子系统建模
4.3.4 子系统组件建模
我们设法在Modelica模型库中找到所有组件对应的预定义模型。如果某些组件找不到,那就需要为这些组件定义合适的模型类以及方程,如图4.15所示的控制子系统的部件,如图4.16所示的电气子系统的部件,如图4.17所示的旋转机械子系统的部件。
图4.15 控制子系统中的基本方程与组件
图4.16 电气子系统中的基本方程与组件
图4.17 机械子系统中的基本方程与组件
图4.16中电气子系统包含的电气组件,如电阻、电感、信号电压源
评论
还没有评论。