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

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