Ing Ind - Inf (Mag.)(ord. 270) - BV (478) NUCLEAR ENGINEERING - INGEGNERIA NUCLEARE
*
A
ZZZZ
097484 - SIMULATION TECHNIQUES AND TOOLS
Ing Ind - Inf (Mag.)(ord. 270) - MI (473) AUTOMATION AND CONTROL ENGINEERING - INGEGNERIA DELL'AUTOMAZIONE
*
A
ZZZZ
097484 - SIMULATION TECHNIQUES AND TOOLS
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA
*
A
ZZZZ
097484 - SIMULATION TECHNIQUES AND TOOLS
Obiettivi dell'insegnamento
The course is aimed to deepen the concepts of dynamic modelling and simulation, and to explain the architecture of the most popular relevant software tools. To be more specific, the course is aimed to provide students with the skills needed to address problems of modeling and simulation of complex engineering systems. The first part will be dedicated to illustrate the causal approach to modeling. The second part of the course will be devoted to introducing the acausal approach, based on object-oriented programming concepts, languages and tools. In particular, in this second part, the characteristics of the modeling language Modelica will be illustrated, now standard "de facto" for the modular, multi domain modelling. The characteristics of the object-oriented modelling and simulation environments will be illustrated in reference to some application cases in a computer laboratory. These application cases will include examples of multidomain engineering and control systems.
Risultati di apprendimento attesi
Lectures will allow students to:
Understand the theory of numerical methods for the solution of systems of ordinary differential equations (ODE).
Model and numerically solve hybrid dynamic models (events).
Understand the basic theory of differential-algebraic equations systems (DAE).
Use an object-oriented modelling language (Modelica) to model complex engineering systems.
Understand symbolic manipulation techniques applied to DAE system in order to derive efficient simulation codes.
Exercises will allow students to:
Build simulation models of complex systems in acausal (OpenModelica) object-oriented modelling environments.
Describe and numerically solve hybrid dynamical systems.
Select solver parameters and interpret the results of the simulations in terms of accuracy and computation efficiency.
Argomenti trattati
Lectures
1 Introduction. 1.1 System, experiment, model, simulation. 2 Causal approach. 2.1 Causal models and ODE. 2.2 From models to simulations. 2.3 IVP (Initial Value Problem) 2.3.1 Theorem of global existence and uniqueness of an IVP: hypothesis. 2.3.2 Theorem of global existence and uniqueness of an IVP: thesis. 2.3.3 Stability of an IVP. 2.3.4 Stability of the problem and numerical integration. 2.3.5 Numerical integration and stability of the solution of an IVP. 2.4 Elementary methods. 2.4.1 Forward Euler method. 2.4.2 Local truncation error and difference operator. 2.4.3 Consistency and convergence. 2.4.4 0-stability. 2.4.5 Fundamental convergence theorem. 2.4.6 0-stability of the forward Euler method. 2.4.7 Absolute stability. 2.4.8 Region of absolute stability. 2.4.9 Stiffness. 2.4.10 Backward Euler method. 2.4.11 Newton's method. 2.4.12 Modified Newton's iteration. 2.4.13 Trapezoidal method. 2.4.14 Midpoint methods. 2.5 Managing discontinuities. 2.6 Local error and tolerances. 2.7 Methods of step size selection. 2.7.1 Local error estimation: step doubling. 2.7.2 Local error estimation: embedded methods. 2.8 Higher order methods. 2.8.1 General formulation of Runge Kutta methods. 2.8.2 Accuracy, 0-stability and absolute stability regions of Runge-Kutta methods. 2.8.3 Embedded methods. 2.8.4 Implicit Runge-Kutta methods. 2.8.5 Linear multistep methods. 2.8.6 Adams-Bashforth methods. 2.8.7 Adams-Moulton methods. 2.8.8 BDF methods. 2.8.9 0-stability of multistep methods. 2.8.10 Absolute stability of multistep methods. 2.8.11 Predictor-corrector methods. 2.8.12 Milne's estimate. 3 Acausal approach. 4 Introduction to the Modelica language. 4.1 Classes, equations, parameters, constants. 4.2 Records, annotations, types. 4.3 Connectors. 4.4 Inheritance and partial models. 4.5 Events. 4.5.1 Synchronous data-flow principle. 4.5.2 Conditional models. 4.5.3 noEvent(). 4.5.4 Discrete event models. 4.5.5 Events synchronization. 4.6 Stream variables and connectors. 4.7 Packages. 4.8 Components and (sub)systems. 4.8.1 Architecture driven approach. 4.9 Expandable connector. 5 DAE systems. 5.1 Examples. 5.2 Differentiation index. 5.3 Initial conditions and constraints. 5.4 Linear constant coefficient DAE systems. 5.5 Kronecker canonical form. 5.6 Algebraic index. 5.7 Index and numerical integration. 5.8 Hessenberg forms. 5.9 Index reduction techniques for Hessenberg forms. 5.10 Example: constrained mechanical systems. 5.10.1 Baumgarte stabilization method. 5.10.2 Generalized coordinate partitioning. 5.11 Dummy derivatives method. 5.12 Numerical methods for DAE systems. 5.12.1 Direct discretization methods: backward Euler, BDF, Radau. 6 Modelica code translation. 6.1 Hybrid DAE system. 6.2 Structural analysis. 6.2.1 Bipartite graphs. 6.2.2 Duff Algorithm. 6.2.3 Pantelides theorem. 6.2.4 BLT reordering. 6.2.5 Sargent and Westerberg algorithm. 6.2.6 Tarjan algorithm (notes).
Exercises
All exercises will be carried out in a computer laboratory
1. Use of Matlab S-functions, application to the model of a brushless motor. 2. Model of a brushless motor in Modelica. 3. Discrete event models: event iteration. 4. Stream connectors. Control of a mixer. 5. Digital control systems in Modelica. Conditional connectors. 6. Discontinuous friction model. Stick-slip and hunting motions. 7. Conditional components: modelling and simulation of a mechanical stop. 8. Multiphysics modelling: model of an hydraulic piston. 9. Multibody package. Model of a machine tool.
Prerequisiti
Basic theory of differential equations.
Modalità di valutazione
The evaluation test will be both practical and oral and it will be divided into two parts. In a first part the student will be asked to develop "from scratch" and simulate the model of a freely chosen dynamic system, in an acausal object-oriented modelling environment (either OpenModelica or Dymola). The complexity of the model, the mastery of the modeling tool and the ability to interpret the results will constitute elements of judgment. In the second part the student will be asked to show his/her knowledge of the theoretical contents of the course, answering theoretical questions or solving simple exercises.
Bibliografia
U. M. Ascher, L. R. Petzold, Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations, Editore: SIAM, Anno edizione: 1998, ISBN: 978-0-89871-412-8
Modelica by Examplehttp://book.xogeny.com/Introduction to Object-Oriented Modeling and Simulation with Modelica Using OpenModelicahttps://www.openmodelica.org/images/docs/tutorials/modelicatutorialfritzson.pdfF. E. Cellier, E. Kofman, Continuous System Simulation, Editore: Springer US, Anno edizione: 2006, ISBN: 978-1-4419-3863-3
Software utilizzato
Nessun software richiesto
Forme didattiche
Tipo Forma Didattica
Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
32:00
48:00
Esercitazione
0:00
0:00
Laboratorio Informatico
18:00
27:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale
50:00
75:00
Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua
Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese