Modelica語言導論——技術物理系統(tǒng)建模與仿真
定 價:56.9 元
叢書名:工程物理系統(tǒng)建模理論與方法
當前圖書已被 18 所學校薦購過!
查看明細
- 作者:[瑞典] 彼得·弗里茲森(Peter Fritzson) 著
- 出版時間:2020/10/1
- ISBN:9787568064279
- 出 版 社:華中科技大學出版社
- 中圖法分類:O4-39
- 頁碼:226
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書主要圍繞技術物理系統(tǒng)建模與仿真,介紹工業(yè)界應用廣泛的多領域物理建模語言Modelica,覆蓋建模與仿真基本概念以及面向對象和基于組件的建模基礎。本書目標如下:成為關于建模和仿真導論課程的實用教材;讓先前不具備建模、仿真和面向對象背景的讀者容易學習;對物理建模、面向對象建模和基于組件建模進行基本介紹;演示一些精選的應用領域的建模實例。本書是Modelica語言奠基者之一的PETER FRITZSON教授撰寫的建模仿真與Modelica入門基礎教程。
Modelica語言已經成為多領域系統(tǒng)建模標準語言,是復雜系統(tǒng)“智能設計”時代系統(tǒng)建模的支撐標準,已經廣泛應用于航天、航空、車輛、能源、船舶、兵器等工業(yè)領域,國內工程界也已經廣泛接受Modelica標準。國外已經出版了幾本Modelica專著,原書作者PETER FRITZSON是Modelica語言奠基者之一,本書是介紹Modelica入門為經典的著作,由于Modelica在國內已經廣泛推廣,對于本書有著廣泛的需求。譯者團隊是國內從事Modelica研究、工具開發(fā)及工程應用實力強、影響大的團隊。
原書的前言
Preface
本書講解建模和仿真的基本概念,為熟悉基本編程概念的讀者介紹Modelica語言。同時針對初學者,對建模和仿真的概念以及面向對象和基于組件的建;A做基本介紹。本書有四個目標:
成為建模與仿真導論課程的實用教材。
適合建模、仿真、面向對象的初學者。
對物理建模、面向對象建模和基于組件建模進行基本介紹。
演示精心選擇的應用領域建模實例。
本書包含各種應用領域的建模實例,也包含跨越多領域的建模實例。書中的全部實例和練習都能在電子自學材料DrModelica中找到 。DrModelica的內容基于本書以及內容更豐富的《Principles of Object-Oriented Modeling of Simulation with Modelica 2.1》(Fritzson,2004)。DrModelica指導讀者逐步從易到難地進行實例的學習和練習。部分DrModelica教學材料的內容可以免費從網站www.openmodelica.org下載,網站上還有本書的其他資料。
Peter Fritzson
譯者序:
1997年Modelica規(guī)范1.0發(fā)布,是數字化技術發(fā)展史上的里程碑事件,標志著建模仿真從專業(yè)級、部件級進入了跨學科、多領域的系統(tǒng)級,為多領域物理系統(tǒng)建模奠定了統(tǒng)一的形式表達。歷經20多年發(fā)展,Modelica已經廣泛應用于航空、航天、車輛、能源、教育等各行各業(yè),成為系統(tǒng)級仿真的事實國際標準,法國達索、德國西門子、美國ANSYS、美國ALTAIR、法國ESI等知名國際工業(yè)軟件公司紛紛通過支持Modelica從單專業(yè)、零部件仿真走向全領域、全系統(tǒng)仿真。
早期Modelica規(guī)范只有一百多頁,但它是面向對象多領域物理統(tǒng)一建模技術幾十年的濃縮。好的規(guī)范就是時代技術的濃縮,Modelica跟IC規(guī)范VHDL一樣是這樣的典型。Modelica的發(fā)展早追溯到1967年推出的連續(xù)系統(tǒng)仿真語言CSSL,1978年Hilding Elmqvist在其博士論文中提出了面向對象的物理建模語言雛形Dymola,這是Modelica的核心來源之一。從20世紀70年代到90年代,歐洲出現(xiàn)了十多種物理建模語言,1997年歐洲仿真界綜合多種物理建模語言推出了多領域統(tǒng)一建模語言Modelica。Modelica現(xiàn)已成為國際物理建模事實標準。
Modelica歸納了機、電、液、控、熱等各學科的工程物理統(tǒng)一原理,使得不同學科可以采用統(tǒng)一的數學表達、統(tǒng)一的模型描述、統(tǒng)一的建模模式來實現(xiàn)統(tǒng)一建模與仿真。Modelica綜合了先前多種建模語言的優(yōu)點,支持面向對象建模、非因果陳述式建模、多領域統(tǒng)一建模及連續(xù)-離散混合建模,以微分方程、代數方程和離散方程為數學表示形式。
Modelica的內涵非常豐富,要全面了解和掌握Modelica,需要從外延和內涵兩個角度把握。從外延講,需要了解系統(tǒng)、建模、仿真的基本概念,了解建模與仿真在產品研制中是怎么應用的;從內涵講,要了解系統(tǒng)建模的方法,熟悉Modelica語言的基本語法語義和應用規(guī)則。本書從外延和內涵這兩個角度對于Modelica進行了非常好的介紹,特別適宜于作為Modelica的入門教材。
作者Peter Fritzson教授是Modelica技術的奠基人之一,長期擔任Modelica協(xié)會副主席,是Modelica規(guī)范3.0版本的主要撰稿人,創(chuàng)立了開源Modelica聯(lián)盟,主持開發(fā)了OpenModelica系列軟件,近二十多年來一直致力于Modelica技術的發(fā)展與推廣。本書是作者另一本Modelica百科全書式專著《Principles of Object-Oriented Modeling of Simulation with Modelica 3.3》的入門版,針對初學者系統(tǒng)闡述了建模仿真的基本概念、應用場景和Modelica基本知識及應用案例。
本人自2001年起一直致力于Modelica技術研究、產品開發(fā)及工程應用,是國內modelica研究第1批拓荒者。新世紀初初識Modelica,即認為Modelica為工程世界構筑了一個模型表達與互聯(lián)的基礎,是中國工業(yè)系統(tǒng)設計軟件創(chuàng)新發(fā)展的歷史機遇,前景廣闊。擁有自主的Modelica編譯器、分析器和求解器是中國發(fā)展自主可控的Modelica技術體系的前提,為此作為中國Modelica技術研究團隊主要成員,自2001年起開展了7年技術研究,并于2008年作為主要創(chuàng)始人之一發(fā)起成立了蘇州同元軟控信息技術有限公司,2009年同元軟控推出完全自主的系統(tǒng)建模仿真軟件MWorks,并先后應用于大飛機、航空發(fā)動機、空間站、嫦娥工程、火星探測、大型運載火箭、核能動力等重大型號工程。目前MWorks已成為國際六大Modelica技術平臺之一,中國籍此實現(xiàn)了Modelica技術的自主可控。
本書英文原版出版較早,當時Modelica規(guī)范主要版本為3.2,目前Modelica規(guī)范新版本為3.4,本書主要介紹Modelica基礎知識,Modelica規(guī)范從3.2到3.4,這些基礎知識沒有變化,所以本書仍是Modelica入門的合適教材。讀者如果想要更深入學習Modelica,可以直接閱讀Modelica規(guī)范3.4(Modelica官網可下載)或參閱Peter Fritzson教授另一專著《Principles of Object-Oriented Modeling of Simulation with Modelica 3.3》。
本書示例使用的Modelica工具環(huán)境是OpenModelica和OMNotebook,所有示例都可在上面運行,同時也可以下載蘇州同元軟控信息技術有限公司出品的系統(tǒng)建模仿真軟件MWorks.Sysplorer,作為本書案例的實操環(huán)境。
本書翻譯是多人合作努力的成果,周凡利負責全書翻譯統(tǒng)籌策劃,早期劉煒提供了本書的初譯稿,黃堃進行了初次校對,其后組織蘇州同元軟控信息技術有限公司周斌、劉志會、張彤暉、周王睿彬、楊勇杰等同仁和中國運載火箭技術研究院唐俊杰博士對全稿進行了重譯再校,其中前言、致謝和第1章由周斌負責,第2章由唐俊杰和劉志會負責,第3章由劉志會負責,第4章由唐俊杰負責,第5章由張彤暉負責,附錄A由周凡利負責,附錄B、C由周王睿彬負責,附錄D由楊勇杰負責,全書圖表由唐俊杰負責,唐俊杰和周凡利對全書進行了精校。在此對參與本書翻譯和校對的所有人員表示衷心感謝。特別感謝華中科技大學出版社編輯對于本書翻譯出版的精心指導。
Modelica被譽為工程師的JAVA,作為與C\\C++\\FORTRAN\\JAVA\\VHDL-AMS\\Verilog并存的完備語言,是基于模型的系統(tǒng)工程、數字孿生及數字工程生態(tài)重要的使能技術對于當下中國工業(yè)的數字化轉型與工業(yè)軟件的發(fā)展具有特別意義。Modelica先進技術方法與中國龐大的工程需求相結合,必將推動中國工業(yè)系統(tǒng)軟件及生態(tài)的發(fā)展壯大。,
后敬請各位專家、同仁、讀者不吝指正。
周凡利 博士
Peter Fritzson is Professor since 1995 and research director of the Programming Environment Laboratory (PELAB), at Link?ping University. He is also director of the Open Source Modelica Consortium (OSMC), director of the MODPROD center for model-based product development, and vice chairman of the Modelica Association, organizations he helped to establish. During 1999-2007 he served as chairman of the Scandinavian Simulation Society, and secretary of the European simulation organization, EuroSim. He received his M.Sc. in engineering 1975 and PhD 1984 in computer science from Link?ping University. He was project leader at Sun MicroSystems, California, 1985-86, and visiting professor at University of Queensland, Australia, 2007-2008. Prof. Fritzson's current research interests is in software engineering, especially programming languages, high level specification and modeling languages, programming and debugging tools and environments, parallel and multi-core computing, compilers and compiler generators (e.g. RML). During recent years he has put special emphasis on tools and languages for object-oriented modeling and simulation, and is one of the founding fathers of the Modelica language. He is currently leading the OpenModelica open source effort.
目 錄
Table of Contents
第1章 概論 1
1.1 系統(tǒng)和試驗 2
1.1.1 自然系統(tǒng)和人工系統(tǒng) 3
1.1.2 試驗 5
1.2 模型的概念 6
1.3 仿真 7
1.3.1 仿真的必要性 8
1.3.2 仿真的不足 9
1.4 創(chuàng)建模型 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 動態(tài)模型VS靜態(tài)模型 14
1.6.3 連續(xù)時間模型VS離散時間模型 16
1.6.4 定量模型VS定性模型 17
1.7 產品設計運用建模和仿真 18
1.8 系統(tǒng)模型實例 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 創(chuàng)建實例 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 算法區(qū)和賦值語句 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 命名規(guī)范 90
2.19 Modelica標準庫 91
2.20 Modelica實現(xiàn)和執(zhí)行 93
2.20.1 手工編譯簡單電路模型 95
2.20.2 狀態(tài)空間轉化 97
2.20.3 求解方法 99
2.21 發(fā)展歷程 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章 系統(tǒng)建模方法 130
4.1 創(chuàng)建系統(tǒng)模型 130
4.1.1 演繹建模法VS歸納建模法 131
4.1.2 傳統(tǒng)方法 132
4.1.3 面向對象-基于組件方法 133
4.1.4 自上而下VS自下而上建模 134
4.1.5 模型簡化 135
4.2 容器系統(tǒng)建模 136
4.2.1 應用傳統(tǒng)方法 136
4.2.2 應用面向對象-基于組件方法 138
4.2.3 連續(xù)PI控制容器系統(tǒng) 139
4.2.4 連續(xù)PID控制容器系統(tǒng) 143
4.2.5 串聯(lián)容器系統(tǒng) 146
4.3 基于預定義組件的直流電機TOP-Down建模 147
4.3.1 系統(tǒng)定義 147
4.3.2 系統(tǒng)分解和通信初步設計 148
4.3.3 子系統(tǒng)建模 148
4.3.4 子系統(tǒng)組件建模 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 簡單方程系統(tǒng) 189
C.4 BouncingBall混合建模 190
C.5 采樣混合建模 190
C.6 方程和算法區(qū)域 190
C.7 在電路中添加可連接組件 191
C.8 電路的詳細建模 192
C.8.1 方程 192
C.8.2 模型實現(xiàn) 193
C.8.3 搭建電路模型 196
C.8.4 電路仿真 196
附錄D 圖形建模練習 197
D.1 簡單直流電機 197
D.2 具有彈簧和慣量的直流電機 198
D.3 具有控制器的直流電機 198
D.4 直流電機作為發(fā)電機 199
參考文獻 200