logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 097484 - SIMULATION TECHNIQUES AND TOOLS
Docente null
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - BV (478) NUCLEAR ENGINEERING - INGEGNERIA NUCLEARE*AZZZZ097484 - SIMULATION TECHNIQUES AND TOOLS
Ing Ind - Inf (Mag.)(ord. 270) - MI (473) AUTOMATION AND CONTROL ENGINEERING - INGEGNERIA DELL'AUTOMAZIONE*AZZZZ097484 - SIMULATION TECHNIQUES AND TOOLS
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AZZZZ097484 - 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
Risorsa bibliografica facoltativaU. 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
Risorsa bibliografica facoltativaModelica by Example http://book.xogeny.com/
Risorsa bibliografica facoltativaIntroduction to Object-Oriented Modeling and Simulation with Modelica Using OpenModelica https://www.openmodelica.org/images/docs/tutorials/modelicatutorialfritzson.pdf
Risorsa bibliografica facoltativaF. 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
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
18/02/2020