Peter Fritzson
Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica
Peter Fritzson
Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Using the versatile Modelica language and its associated technology, this book presents an object-oriented, component-based approach that makes it possible for readers to quickly master the basics of computer-supported equation-based object-oriented (EOO) mathematical modeling and simulation. Readers will find plenty of examples of models that simulate distinct application domains and that combine several domains. Written by the Director of the Open Source Modelica Consortium, this book is recommended for engineers and students interested in computer-aided design, modeling, simulation, and analysis of technical and natural systems. …mehr
Andere Kunden interessierten sich auch für
- Olis Harold RubinComputer Models of Process Dynamics147,99 €
- Jeffrey W. VincoliBasic Guide to System Safety88,99 €
- Dynamic Combinatorial Chemistry120,99 €
- Dev G. RahejaAssurance Technologies Principles and Practices152,99 €
- Pamela Walaski (Ferrante)Risk and Communication89,99 €
- Simulation and Wargaming154,99 €
- Fred A ManueleOn the Practice of Safety122,99 €
-
-
-
Using the versatile Modelica language and its associated technology, this book presents an object-oriented, component-based approach that makes it possible for readers to quickly master the basics of computer-supported equation-based object-oriented (EOO) mathematical modeling and simulation. Readers will find plenty of examples of models that simulate distinct application domains and that combine several domains. Written by the Director of the Open Source Modelica Consortium, this book is recommended for engineers and students interested in computer-aided design, modeling, simulation, and analysis of technical and natural systems.
Produktdetails
- Produktdetails
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 232
- Erscheinungstermin: 21. September 2011
- Englisch
- Abmessung: 234mm x 156mm x 12mm
- Gewicht: 340g
- ISBN-13: 9781118010686
- ISBN-10: 111801068X
- Artikelnr.: 33624499
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 232
- Erscheinungstermin: 21. September 2011
- Englisch
- Abmessung: 234mm x 156mm x 12mm
- Gewicht: 340g
- ISBN-13: 9781118010686
- ISBN-10: 111801068X
- Artikelnr.: 33624499
Peter Fritzson, PhD, is Professor and Research Director of the Programming Environment Laboratory at Linköping University. Dr. Fritzson is also Director of the Open Source Modelica Consortium, Director of the MODPROD Center for Model-Based Product Development, and Vice Chairman of the Modelica Association, all organizations he helped to establish. Previously, he served as chairman of the Scandinavian Simulation Society, secretary of EuroSim, and a project leader at Sun MicroSystems.
Preface xi 1. Basic Concepts 1 1.1 Systems and Experiments
2 1.1.1 Natural and Artificial Systems
3 1.1.2 Experiments
5 1.2 The Model Concept
6 1.3 Simulation
7 1.3.1 Reasons for Simulation
8 1.3.2 Dangers of Simulation
9 1.4 Building Models
10 1.5 Analyzing Models
12 1.5.1 Sensitivity Analysis
12 1.5.2 Model-Based Diagnosis
13 1.5.3 Model Verification and Validation
13 1.6 Kinds of Mathematical Models
14 1.6.1 Kinds of Equations
15 1.6.2 Dynamic Versus Static Models
16 1.6.3 Continuous-Time Versus Discrete-Time Dynamic Models
17 1.6.4 Quantitative Versus Qualitative Models
18 1.7 Using Modeling and Simulation in Product Design
19 1.8 Examples of System Models
21 1.9 Summary
27 1.10 Literature
27 2. A Quick Tour of Modelica 29 2.1 Getting Started with Modelica
30 2.1.1 Variables and Predefined Types
35 2.1.2 Comments
37 2.1.3 Constants
38 2.1.4 Variability
38 2.1.5 Default start Values
39 2.2 Object-Oriented Mathematical Modeling
39 2.3 Classes and Instances
41 2.3.1 Creating Instances
42 2.3.2 Initialization
43 2.3.3 Specialized Classes
44 2.3.4 Reuse of Classes by Modifications
45 2.3.5 Built-in Classes and Attributes
46 2.4 Inheritance
47 2.5 Generic Classes
48 2.5.1 Class Parameters as Instances
48 2.5.2 Class Parameters as Types
50 2.6 Equations
51 2.6.1 Repetitive Equation Structures
53 2.6.2 Partial Differential Equations
54 2.7 Acausal Physical Modeling
54 2.7.1 Physical Modeling Versus Block-Oriented Modeling
55 2.8 The Modelica Software Component Model
57 2.8.1 Components
58 2.8.2 Connection Diagrams
58 2.8.3 Connectors and Connector Classes
60 2.8.4 Connections
61 2.8.5 Implicit Connections with Inner/Outer
62 2.8.6 Expandable Connectors for Information Buses
63 2.8.7 Stream Connectors
64 2.9 Partial Classes
65 2.9.1 Reuse of Partial Classes
66 2.10 Component Library Design and Use
67 2.11 Example: Electrical Component Library
67 2.11.1 Resistor
68 2.11.2 Capacitor
68 2.11.3 Inductor
68 2.11.4 Voltage Source
69 2.11.5 Ground
70 2.12 Simple Circuit Model
70 2.13 Arrays
72 2.14 Algorithmic Constructs
74 2.14.1 Algorithm Sections and Assignment Statements
75 2.14.2 Statements
76 2.14.3 Functions
77 2.14.4 Operator Overloading and Complex Numbers
79 2.14.5 External Functions
81 2.14.6 Algorithms Viewed as Functions
82 2.15 Discrete Event and Hybrid Modeling
83 2.16 Packages
87 2.17 Annotations
89 2.18 Naming Conventions
91 2.19 Modelica Standard Libraries
91 2.20 Implementation and Execution of Modelica
94 2.20.1 Hand Translation of the Simple Circuit Model
96 2.20.2 Transformation to State Space Form
98 2.20.3 Solution Method
99 2.21 History
103 2.22 Summary
107 2.23 Literature
108 2.24 Exercises
110 3. Classes and Inheritance 113 3.1 Contract Between Class Designer and User
113 3.2 A Class Example
114 3.3 Variables
115 3.3.1 Duplicate Variable Names
116 3.3.2 Identical Variable Names and Type Names
116 3.3.3 Initialization of Variables
117 3.4 Behavior as Equations
117 3.5 Access Control
119 3.6 Simulating the Moon Landing Example
120 3.7 Inheritance
123 3.7.1 Inheritance of Equations
124 3.7.2 Multiple Inheritance
124 3.7.3 Processing Declaration Elements and Use Before Declare
126 3.7.4 Declaration Order of extends Clauses
127 3.7.5 The MoonLanding Example Using Inheritance
128 3.8 Summary
130 3.9 Literature
130 4. System Modeling Methodology 131 4.1 Building System Models
131 4.1.1 Deductive Modeling Versus Inductive Modeling
132 4.1.2 Traditional Approach
133 4.1.3 Object-Oriented Component-Based Approach
134 4.1.4 Top-Down Versus Bottom-Up Modeling
136 4.1.5 Simplification of Models
136 4.2 Modeling a Tank System
138 4.2.1 Using the Traditional Approach
138 4.2.2 Using the Object-Oriented Component-Based Approach
139 4.2.3 Tank System with a Continuous PI Controller
141 4.2.4 Tank with Continuous PID Controller
144 4.2.5 Two Tanks Connected Together
147 4.3 Top-Down Modeling of a DC Motor from Predefined Components
148 4.3.1 Defining the System
149 4.3.2 Decomposing into Subsystems and Sketching Communication
149 4.3.3 Modeling the Subsystems
150 4.3.4 Modeling Parts in the Subsystems
151 4.3.5 Defining the Interfaces and Connections
153 4.4 Designing Interfaces-Connector Classes
153 4.5 Summary
155 4.6 Literature
155 5. The Modelica Standard Library 157 5.1 Summary
168 5.2 Literature
168 A. Glossary 169 Literature
174 B. OpenModelica and OMNotebook Commands 175 B.1 OMNotebook Interactive Electronic Book
175 B.2 Common Commands and Small Examples
178 B.3 Complete List of Commands
179 B.4 OMShell and Dymola
185 OMShell
185 Dymola Scripting
185 Literature
186 C. Textual Modeling with OMNotebook and DrModelica 187 C.1 HelloWorld
188 C.2 Try DrModelica with VanDerPol and DAEExample Models
189 C.3 Simple Equation System
189 C.4 Hybrid Modeling with BouncingBall
189 C.5 Hybrid Modeling with Sample
190 C.6 Functions and Algorithm Sections
190 C.7 Adding a Connected Component to an Existing Circuit
190 C.8 Detailed Modeling of an Electric Circuit
191 C.8.1 Equations
191 C.8.2 Implementation
192 C.8.3 Putting the Circuit Together
195 C.8.4 Simulation of the Circuit
195 D. Graphical Modeling Exercises 197 D.1 Simple DC Motor
197 D.2 DC Motor with Spring and Inertia
198 D.3 DC Motor with Controller
198 D.4 DC Motor as a Generator
199 References 201 Index 207
2 1.1.1 Natural and Artificial Systems
3 1.1.2 Experiments
5 1.2 The Model Concept
6 1.3 Simulation
7 1.3.1 Reasons for Simulation
8 1.3.2 Dangers of Simulation
9 1.4 Building Models
10 1.5 Analyzing Models
12 1.5.1 Sensitivity Analysis
12 1.5.2 Model-Based Diagnosis
13 1.5.3 Model Verification and Validation
13 1.6 Kinds of Mathematical Models
14 1.6.1 Kinds of Equations
15 1.6.2 Dynamic Versus Static Models
16 1.6.3 Continuous-Time Versus Discrete-Time Dynamic Models
17 1.6.4 Quantitative Versus Qualitative Models
18 1.7 Using Modeling and Simulation in Product Design
19 1.8 Examples of System Models
21 1.9 Summary
27 1.10 Literature
27 2. A Quick Tour of Modelica 29 2.1 Getting Started with Modelica
30 2.1.1 Variables and Predefined Types
35 2.1.2 Comments
37 2.1.3 Constants
38 2.1.4 Variability
38 2.1.5 Default start Values
39 2.2 Object-Oriented Mathematical Modeling
39 2.3 Classes and Instances
41 2.3.1 Creating Instances
42 2.3.2 Initialization
43 2.3.3 Specialized Classes
44 2.3.4 Reuse of Classes by Modifications
45 2.3.5 Built-in Classes and Attributes
46 2.4 Inheritance
47 2.5 Generic Classes
48 2.5.1 Class Parameters as Instances
48 2.5.2 Class Parameters as Types
50 2.6 Equations
51 2.6.1 Repetitive Equation Structures
53 2.6.2 Partial Differential Equations
54 2.7 Acausal Physical Modeling
54 2.7.1 Physical Modeling Versus Block-Oriented Modeling
55 2.8 The Modelica Software Component Model
57 2.8.1 Components
58 2.8.2 Connection Diagrams
58 2.8.3 Connectors and Connector Classes
60 2.8.4 Connections
61 2.8.5 Implicit Connections with Inner/Outer
62 2.8.6 Expandable Connectors for Information Buses
63 2.8.7 Stream Connectors
64 2.9 Partial Classes
65 2.9.1 Reuse of Partial Classes
66 2.10 Component Library Design and Use
67 2.11 Example: Electrical Component Library
67 2.11.1 Resistor
68 2.11.2 Capacitor
68 2.11.3 Inductor
68 2.11.4 Voltage Source
69 2.11.5 Ground
70 2.12 Simple Circuit Model
70 2.13 Arrays
72 2.14 Algorithmic Constructs
74 2.14.1 Algorithm Sections and Assignment Statements
75 2.14.2 Statements
76 2.14.3 Functions
77 2.14.4 Operator Overloading and Complex Numbers
79 2.14.5 External Functions
81 2.14.6 Algorithms Viewed as Functions
82 2.15 Discrete Event and Hybrid Modeling
83 2.16 Packages
87 2.17 Annotations
89 2.18 Naming Conventions
91 2.19 Modelica Standard Libraries
91 2.20 Implementation and Execution of Modelica
94 2.20.1 Hand Translation of the Simple Circuit Model
96 2.20.2 Transformation to State Space Form
98 2.20.3 Solution Method
99 2.21 History
103 2.22 Summary
107 2.23 Literature
108 2.24 Exercises
110 3. Classes and Inheritance 113 3.1 Contract Between Class Designer and User
113 3.2 A Class Example
114 3.3 Variables
115 3.3.1 Duplicate Variable Names
116 3.3.2 Identical Variable Names and Type Names
116 3.3.3 Initialization of Variables
117 3.4 Behavior as Equations
117 3.5 Access Control
119 3.6 Simulating the Moon Landing Example
120 3.7 Inheritance
123 3.7.1 Inheritance of Equations
124 3.7.2 Multiple Inheritance
124 3.7.3 Processing Declaration Elements and Use Before Declare
126 3.7.4 Declaration Order of extends Clauses
127 3.7.5 The MoonLanding Example Using Inheritance
128 3.8 Summary
130 3.9 Literature
130 4. System Modeling Methodology 131 4.1 Building System Models
131 4.1.1 Deductive Modeling Versus Inductive Modeling
132 4.1.2 Traditional Approach
133 4.1.3 Object-Oriented Component-Based Approach
134 4.1.4 Top-Down Versus Bottom-Up Modeling
136 4.1.5 Simplification of Models
136 4.2 Modeling a Tank System
138 4.2.1 Using the Traditional Approach
138 4.2.2 Using the Object-Oriented Component-Based Approach
139 4.2.3 Tank System with a Continuous PI Controller
141 4.2.4 Tank with Continuous PID Controller
144 4.2.5 Two Tanks Connected Together
147 4.3 Top-Down Modeling of a DC Motor from Predefined Components
148 4.3.1 Defining the System
149 4.3.2 Decomposing into Subsystems and Sketching Communication
149 4.3.3 Modeling the Subsystems
150 4.3.4 Modeling Parts in the Subsystems
151 4.3.5 Defining the Interfaces and Connections
153 4.4 Designing Interfaces-Connector Classes
153 4.5 Summary
155 4.6 Literature
155 5. The Modelica Standard Library 157 5.1 Summary
168 5.2 Literature
168 A. Glossary 169 Literature
174 B. OpenModelica and OMNotebook Commands 175 B.1 OMNotebook Interactive Electronic Book
175 B.2 Common Commands and Small Examples
178 B.3 Complete List of Commands
179 B.4 OMShell and Dymola
185 OMShell
185 Dymola Scripting
185 Literature
186 C. Textual Modeling with OMNotebook and DrModelica 187 C.1 HelloWorld
188 C.2 Try DrModelica with VanDerPol and DAEExample Models
189 C.3 Simple Equation System
189 C.4 Hybrid Modeling with BouncingBall
189 C.5 Hybrid Modeling with Sample
190 C.6 Functions and Algorithm Sections
190 C.7 Adding a Connected Component to an Existing Circuit
190 C.8 Detailed Modeling of an Electric Circuit
191 C.8.1 Equations
191 C.8.2 Implementation
192 C.8.3 Putting the Circuit Together
195 C.8.4 Simulation of the Circuit
195 D. Graphical Modeling Exercises 197 D.1 Simple DC Motor
197 D.2 DC Motor with Spring and Inertia
198 D.3 DC Motor with Controller
198 D.4 DC Motor as a Generator
199 References 201 Index 207
Preface xi 1. Basic Concepts 1 1.1 Systems and Experiments
2 1.1.1 Natural and Artificial Systems
3 1.1.2 Experiments
5 1.2 The Model Concept
6 1.3 Simulation
7 1.3.1 Reasons for Simulation
8 1.3.2 Dangers of Simulation
9 1.4 Building Models
10 1.5 Analyzing Models
12 1.5.1 Sensitivity Analysis
12 1.5.2 Model-Based Diagnosis
13 1.5.3 Model Verification and Validation
13 1.6 Kinds of Mathematical Models
14 1.6.1 Kinds of Equations
15 1.6.2 Dynamic Versus Static Models
16 1.6.3 Continuous-Time Versus Discrete-Time Dynamic Models
17 1.6.4 Quantitative Versus Qualitative Models
18 1.7 Using Modeling and Simulation in Product Design
19 1.8 Examples of System Models
21 1.9 Summary
27 1.10 Literature
27 2. A Quick Tour of Modelica 29 2.1 Getting Started with Modelica
30 2.1.1 Variables and Predefined Types
35 2.1.2 Comments
37 2.1.3 Constants
38 2.1.4 Variability
38 2.1.5 Default start Values
39 2.2 Object-Oriented Mathematical Modeling
39 2.3 Classes and Instances
41 2.3.1 Creating Instances
42 2.3.2 Initialization
43 2.3.3 Specialized Classes
44 2.3.4 Reuse of Classes by Modifications
45 2.3.5 Built-in Classes and Attributes
46 2.4 Inheritance
47 2.5 Generic Classes
48 2.5.1 Class Parameters as Instances
48 2.5.2 Class Parameters as Types
50 2.6 Equations
51 2.6.1 Repetitive Equation Structures
53 2.6.2 Partial Differential Equations
54 2.7 Acausal Physical Modeling
54 2.7.1 Physical Modeling Versus Block-Oriented Modeling
55 2.8 The Modelica Software Component Model
57 2.8.1 Components
58 2.8.2 Connection Diagrams
58 2.8.3 Connectors and Connector Classes
60 2.8.4 Connections
61 2.8.5 Implicit Connections with Inner/Outer
62 2.8.6 Expandable Connectors for Information Buses
63 2.8.7 Stream Connectors
64 2.9 Partial Classes
65 2.9.1 Reuse of Partial Classes
66 2.10 Component Library Design and Use
67 2.11 Example: Electrical Component Library
67 2.11.1 Resistor
68 2.11.2 Capacitor
68 2.11.3 Inductor
68 2.11.4 Voltage Source
69 2.11.5 Ground
70 2.12 Simple Circuit Model
70 2.13 Arrays
72 2.14 Algorithmic Constructs
74 2.14.1 Algorithm Sections and Assignment Statements
75 2.14.2 Statements
76 2.14.3 Functions
77 2.14.4 Operator Overloading and Complex Numbers
79 2.14.5 External Functions
81 2.14.6 Algorithms Viewed as Functions
82 2.15 Discrete Event and Hybrid Modeling
83 2.16 Packages
87 2.17 Annotations
89 2.18 Naming Conventions
91 2.19 Modelica Standard Libraries
91 2.20 Implementation and Execution of Modelica
94 2.20.1 Hand Translation of the Simple Circuit Model
96 2.20.2 Transformation to State Space Form
98 2.20.3 Solution Method
99 2.21 History
103 2.22 Summary
107 2.23 Literature
108 2.24 Exercises
110 3. Classes and Inheritance 113 3.1 Contract Between Class Designer and User
113 3.2 A Class Example
114 3.3 Variables
115 3.3.1 Duplicate Variable Names
116 3.3.2 Identical Variable Names and Type Names
116 3.3.3 Initialization of Variables
117 3.4 Behavior as Equations
117 3.5 Access Control
119 3.6 Simulating the Moon Landing Example
120 3.7 Inheritance
123 3.7.1 Inheritance of Equations
124 3.7.2 Multiple Inheritance
124 3.7.3 Processing Declaration Elements and Use Before Declare
126 3.7.4 Declaration Order of extends Clauses
127 3.7.5 The MoonLanding Example Using Inheritance
128 3.8 Summary
130 3.9 Literature
130 4. System Modeling Methodology 131 4.1 Building System Models
131 4.1.1 Deductive Modeling Versus Inductive Modeling
132 4.1.2 Traditional Approach
133 4.1.3 Object-Oriented Component-Based Approach
134 4.1.4 Top-Down Versus Bottom-Up Modeling
136 4.1.5 Simplification of Models
136 4.2 Modeling a Tank System
138 4.2.1 Using the Traditional Approach
138 4.2.2 Using the Object-Oriented Component-Based Approach
139 4.2.3 Tank System with a Continuous PI Controller
141 4.2.4 Tank with Continuous PID Controller
144 4.2.5 Two Tanks Connected Together
147 4.3 Top-Down Modeling of a DC Motor from Predefined Components
148 4.3.1 Defining the System
149 4.3.2 Decomposing into Subsystems and Sketching Communication
149 4.3.3 Modeling the Subsystems
150 4.3.4 Modeling Parts in the Subsystems
151 4.3.5 Defining the Interfaces and Connections
153 4.4 Designing Interfaces-Connector Classes
153 4.5 Summary
155 4.6 Literature
155 5. The Modelica Standard Library 157 5.1 Summary
168 5.2 Literature
168 A. Glossary 169 Literature
174 B. OpenModelica and OMNotebook Commands 175 B.1 OMNotebook Interactive Electronic Book
175 B.2 Common Commands and Small Examples
178 B.3 Complete List of Commands
179 B.4 OMShell and Dymola
185 OMShell
185 Dymola Scripting
185 Literature
186 C. Textual Modeling with OMNotebook and DrModelica 187 C.1 HelloWorld
188 C.2 Try DrModelica with VanDerPol and DAEExample Models
189 C.3 Simple Equation System
189 C.4 Hybrid Modeling with BouncingBall
189 C.5 Hybrid Modeling with Sample
190 C.6 Functions and Algorithm Sections
190 C.7 Adding a Connected Component to an Existing Circuit
190 C.8 Detailed Modeling of an Electric Circuit
191 C.8.1 Equations
191 C.8.2 Implementation
192 C.8.3 Putting the Circuit Together
195 C.8.4 Simulation of the Circuit
195 D. Graphical Modeling Exercises 197 D.1 Simple DC Motor
197 D.2 DC Motor with Spring and Inertia
198 D.3 DC Motor with Controller
198 D.4 DC Motor as a Generator
199 References 201 Index 207
2 1.1.1 Natural and Artificial Systems
3 1.1.2 Experiments
5 1.2 The Model Concept
6 1.3 Simulation
7 1.3.1 Reasons for Simulation
8 1.3.2 Dangers of Simulation
9 1.4 Building Models
10 1.5 Analyzing Models
12 1.5.1 Sensitivity Analysis
12 1.5.2 Model-Based Diagnosis
13 1.5.3 Model Verification and Validation
13 1.6 Kinds of Mathematical Models
14 1.6.1 Kinds of Equations
15 1.6.2 Dynamic Versus Static Models
16 1.6.3 Continuous-Time Versus Discrete-Time Dynamic Models
17 1.6.4 Quantitative Versus Qualitative Models
18 1.7 Using Modeling and Simulation in Product Design
19 1.8 Examples of System Models
21 1.9 Summary
27 1.10 Literature
27 2. A Quick Tour of Modelica 29 2.1 Getting Started with Modelica
30 2.1.1 Variables and Predefined Types
35 2.1.2 Comments
37 2.1.3 Constants
38 2.1.4 Variability
38 2.1.5 Default start Values
39 2.2 Object-Oriented Mathematical Modeling
39 2.3 Classes and Instances
41 2.3.1 Creating Instances
42 2.3.2 Initialization
43 2.3.3 Specialized Classes
44 2.3.4 Reuse of Classes by Modifications
45 2.3.5 Built-in Classes and Attributes
46 2.4 Inheritance
47 2.5 Generic Classes
48 2.5.1 Class Parameters as Instances
48 2.5.2 Class Parameters as Types
50 2.6 Equations
51 2.6.1 Repetitive Equation Structures
53 2.6.2 Partial Differential Equations
54 2.7 Acausal Physical Modeling
54 2.7.1 Physical Modeling Versus Block-Oriented Modeling
55 2.8 The Modelica Software Component Model
57 2.8.1 Components
58 2.8.2 Connection Diagrams
58 2.8.3 Connectors and Connector Classes
60 2.8.4 Connections
61 2.8.5 Implicit Connections with Inner/Outer
62 2.8.6 Expandable Connectors for Information Buses
63 2.8.7 Stream Connectors
64 2.9 Partial Classes
65 2.9.1 Reuse of Partial Classes
66 2.10 Component Library Design and Use
67 2.11 Example: Electrical Component Library
67 2.11.1 Resistor
68 2.11.2 Capacitor
68 2.11.3 Inductor
68 2.11.4 Voltage Source
69 2.11.5 Ground
70 2.12 Simple Circuit Model
70 2.13 Arrays
72 2.14 Algorithmic Constructs
74 2.14.1 Algorithm Sections and Assignment Statements
75 2.14.2 Statements
76 2.14.3 Functions
77 2.14.4 Operator Overloading and Complex Numbers
79 2.14.5 External Functions
81 2.14.6 Algorithms Viewed as Functions
82 2.15 Discrete Event and Hybrid Modeling
83 2.16 Packages
87 2.17 Annotations
89 2.18 Naming Conventions
91 2.19 Modelica Standard Libraries
91 2.20 Implementation and Execution of Modelica
94 2.20.1 Hand Translation of the Simple Circuit Model
96 2.20.2 Transformation to State Space Form
98 2.20.3 Solution Method
99 2.21 History
103 2.22 Summary
107 2.23 Literature
108 2.24 Exercises
110 3. Classes and Inheritance 113 3.1 Contract Between Class Designer and User
113 3.2 A Class Example
114 3.3 Variables
115 3.3.1 Duplicate Variable Names
116 3.3.2 Identical Variable Names and Type Names
116 3.3.3 Initialization of Variables
117 3.4 Behavior as Equations
117 3.5 Access Control
119 3.6 Simulating the Moon Landing Example
120 3.7 Inheritance
123 3.7.1 Inheritance of Equations
124 3.7.2 Multiple Inheritance
124 3.7.3 Processing Declaration Elements and Use Before Declare
126 3.7.4 Declaration Order of extends Clauses
127 3.7.5 The MoonLanding Example Using Inheritance
128 3.8 Summary
130 3.9 Literature
130 4. System Modeling Methodology 131 4.1 Building System Models
131 4.1.1 Deductive Modeling Versus Inductive Modeling
132 4.1.2 Traditional Approach
133 4.1.3 Object-Oriented Component-Based Approach
134 4.1.4 Top-Down Versus Bottom-Up Modeling
136 4.1.5 Simplification of Models
136 4.2 Modeling a Tank System
138 4.2.1 Using the Traditional Approach
138 4.2.2 Using the Object-Oriented Component-Based Approach
139 4.2.3 Tank System with a Continuous PI Controller
141 4.2.4 Tank with Continuous PID Controller
144 4.2.5 Two Tanks Connected Together
147 4.3 Top-Down Modeling of a DC Motor from Predefined Components
148 4.3.1 Defining the System
149 4.3.2 Decomposing into Subsystems and Sketching Communication
149 4.3.3 Modeling the Subsystems
150 4.3.4 Modeling Parts in the Subsystems
151 4.3.5 Defining the Interfaces and Connections
153 4.4 Designing Interfaces-Connector Classes
153 4.5 Summary
155 4.6 Literature
155 5. The Modelica Standard Library 157 5.1 Summary
168 5.2 Literature
168 A. Glossary 169 Literature
174 B. OpenModelica and OMNotebook Commands 175 B.1 OMNotebook Interactive Electronic Book
175 B.2 Common Commands and Small Examples
178 B.3 Complete List of Commands
179 B.4 OMShell and Dymola
185 OMShell
185 Dymola Scripting
185 Literature
186 C. Textual Modeling with OMNotebook and DrModelica 187 C.1 HelloWorld
188 C.2 Try DrModelica with VanDerPol and DAEExample Models
189 C.3 Simple Equation System
189 C.4 Hybrid Modeling with BouncingBall
189 C.5 Hybrid Modeling with Sample
190 C.6 Functions and Algorithm Sections
190 C.7 Adding a Connected Component to an Existing Circuit
190 C.8 Detailed Modeling of an Electric Circuit
191 C.8.1 Equations
191 C.8.2 Implementation
192 C.8.3 Putting the Circuit Together
195 C.8.4 Simulation of the Circuit
195 D. Graphical Modeling Exercises 197 D.1 Simple DC Motor
197 D.2 DC Motor with Spring and Inertia
198 D.3 DC Motor with Controller
198 D.4 DC Motor as a Generator
199 References 201 Index 207