Modulinformationssystem Informatik

 

Numerical Simulation URL PDF XML

Modulcode: infNumSim-01a
Englische Bezeichnung: Numerical Simulation
Modulverantwortliche(r): Prof. Dr. Thomas Slawig
Turnus: unregelmäßig (WS20/21)
Präsenzzeiten: 4V 2Ü
ECTS: 8
Workload: 60 h lectures, 30 h group excercise, 150 h self-study and home exercise
Dauer: ein Semester
Modulkategorien: BSc-Inf-WP (BSc Inf (21)) WI (BSc Inf (15)) MSc-Inf-WP (MSc Inf (21)) 2F-MEd-Inf-WP (MEd-Hdl Inf (21)) 2F-MA-Inf-WP (2F-MA Inf (21)) WI (MSc Inf (15))
Lehrsprache: Englisch
Voraussetzungen: Info Inf-Math-A Inf-Math-B Inf-Math-C Inf-ObjPro

Kurzfassung:

Basic tasks, methods and techniques in numerical simulation are presented and learned. This includes aspects of modeling, discretization, implementation, computing and post-processing.

Lernziele:

The students

  • know typical problems and tasks in numerical simulation
  • Basically know the principles of mathematical modeling
  • know spatial and temporal discretization methods and skills in their implementation
  • Know numerical algorithms and have skills in their implementation
  • Know of the importance and options of parallelization and have skills in its implementation
  • Knowl of the errors occurring in numerical simulation and have skills in their treatment
  • have basic skills in presentation and visualization of numerical results

Lehrinhalte:

Nowadays, many tasks or problems coming form scientific areas as physics, biology, chemistry, economics, and engineering are solved by simulations on a computer. A simulation relies on a model that can be formulated in a mathematical form. Then, this model is translated into a code written in some programming language. Many problems of the abovementioned types are described by ordinary or partial differential equations. These continuous equations have to be discretized to be solved on a computer. In many cases, solutions can only be iteratively approximated. In this lecture, typical examples are used to study and learn all simulation-related aspects. We begin with the (mathematical) model and end up with the assessment and appropriate presentation of the simulation results. For this purpose, it is important to understand the crucial steps in the simulation process, what kind of errors may occur, and how they can be minimized. Moreover, we take into account options for the use of Artificial Intelligence/Machine Learning methods in numerical simulation.

Weitere Voraussetzungen:

  • Mathematical background from typical courses in mathematics for engineers or computer scientists (e.g., onedimensional and multidimensional calculus and linear algebra).
  • Programming skills in a higher language (C, Fortran, Java etc.) or in Matlab, Octave, Python.

Prüfungsleistung:

Written report in combination with oral presentation at the end of the semester.

Lehr- und Lernmethoden:

Lectures as input, group exercises, discussions, self-study and computer work.

Verwendbarkeit:

BSc/MSc Informatik

Literatur:

  • G. H. Golub, J. M. Ortega: Scientific Computing and Differential Equations, Academic Press 1992.
  • A. Quarteroni, R. Sacco, F. Saleri: Numerical Mathematics, Springer 2000, online: https://ebookcentral.proquest.com/lib/christianalbrechts/detail.action?docID=3035286
  • A. Quarteroni, F. Saleri, P. Gervasio: Scientific computing with MATLAB and Octave, Springer 2014. Online: http://dx.doi.org/10.1007/978-3-642-45367-0
  • S. Linge, H. P. Langtangen: Programming for Computations - Python: A Gentle Introduction to Numerical Simulations with Python, Springer 2019. Online: https://www.doabooks.org/doab?func=fulltext&rid=43782
  • S. Linge, H. P. Langtangen: Programming for Computations - MATLAB/Octave: A Gentle Introduction to Numerical Simulations with MATLAB/Octave, Springer 2016.
  • D. Rouson, J. Xia, X. Xu: Scientific Software Design - The Object-Oriented Way, Cambridge University Press 2011.
  • G. Strang: Computational science and engineering, Wellesley-Cambridge Press 2007.

Verweise:

Kommentar:

We will cover all topics relevant for numerical simulation, from the special viewpoint of computer science:

  • Formulation of a problem or research task or research question.

This may come from any discipline (physics, biology, climate science, economy, ...)

  • Modeling (means: find an exact fomulation of the problem, often using a mathematical notattion).
  • Classification of the problem.
  • Investigating possible solution methods ...
  • ... and studying their properties (convergence, effort, ...).
  • Usage of available software and/or further implementation.
  • Performing simulation runs and visualizing the results.

Research-based teaching means that you, the participants in the course, can strat from any of the above points to learn:

You may have a research topic or problem that you are interested in (and where you think this can be simulated in some way):

  • How is a pandemy modeled and simulated?
  • How does a climate model work?

You may be interested in a special modeling technique:

  • How can neural networks be used to support/replace modeling or accelerate classical simulation methods?

You may be interested in a solution method:

  • In a time-dependent problem, how can parallelization work not only in space, but also in time (since time is usual regarded as being sequential)?
  • Again, neural networks can be investigated w.r.t. their suitability for numerical simulation.

You may be interested how a given software for a given resaerch question is working and what is behind?

  • How does a climate simulation model look like from inside?

What are the challenges when running complex models on high performance hardware?

Research-based teaching means that this is not a course where you just sit back and wait what the professor is telling you. In contrast, you may define your own research question and work on it in groups. Nevertheless, you will learn all important things you need to know about numerical simulation. And you will get input w.r.t. special topics that are important or necessary for your learning progress.