Learning outcomes

After this course, you should be able to

  • describe some of the most important physical simulation methods and their scope of applicability

  • implement simple computational algorithms on a computer

  • implement and explain the theoretical basis of one method of choice.

In order to achieve this, the course contains some lectures, a lot of hands-on activities and assignments, and a project.

The course introduces the grand ideas used in simulations of classical physics. Quantum mechanical simulations are not included, although many of the techniques are important also in quantum mechanics.

The topics of the course are

  • basics of numeric computing and optimization

  • statistical models and the Monte Carlo method

  • particle models and the molecular dynamics method

  • continuum models and the finite element method

Prerequisites

This is a hands-on course. You need to solve programming problems to pass, and some of these problems are quite demanding. Therefore programming skills are absoutely necessary in order to compelete the course.

We use Python 3 as our programming language including numpy scipy and matplotlib libraries. These are available on the university computers, but you should have them installed on your own laptop to work on the hands-on exercises during lessons. If you do not already have them installed, I recommend installing the scientific Python package from anaconda.com.

The topics of the course cover a wide range of mathematics and physics including statistics, analysis, discrete maths, linear algebra, particle and wave mechanics, thermodynamics and statistical physics. Knowledge of bachelor level maths and physics is strongly recommended.