Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
TIF330 - Computational continuum physics
Beräkningsmetoder för kontinuumfysik
Syllabus adopted 2019-02-14 by Head of Programme (or corresponding)
Owner: MPPHS
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: Second-cycle
Major subject: Engineering Physics
Department: 16 - PHYSICS

Teaching language: English
Application code: 85126
Open for exchange students: No
Block schedule: A

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0119 Project 7,5 c Grading: TH   7,5 c    

In programs

MPPHS PHYSICS, MSC PROGR, Year 1 (compulsory elective)


Arkady Gonoskov

  Go to Course Homepage


In order to be eligible for a second cycle course the applicant needs to fulfil the general and specific entry requirements of the programme that owns the course. (If the second cycle course is owned by a first cycle programme, second cycle entry requirements apply.)
Exemption from the eligibility requirement: Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling these requirements.

Course specific prerequisites

Basic undergraduate physics and mathematics, computing and numerical analysis. Computing at the level reached in the courses Learning from Data (Python) and FKA121 Computational Physics (C), and numerical methods at the level FKA121 Computational Physics. It is an advantage to have basic knowledge of fluid mechanics and/or electromagnetic field theory at the advanced undergraduate level.


The aim of the course is to outline modern computational methods to describe the properties and dynamics of continuum systems, such as fluids and gases, electromagnetic fields, and plasmas. The aim is furthermore to exemplify how such methods can be used to calculate the properties of such systems, of importance for a wide range of applications. Furthermore, the course provides a tool box for computational physics applicable to a broad set of problems, of in-terest both in basic and applied research and development. The course provides practice in using Python, C and elements of C++ for solving problems of computa-tional physics.

Learning outcomes (after completion of the course the student should be able to)

· Able to construct discretize equations governing a physical process with respect to the variables involved
· Explain basic time-integration methods
· Explain how to implement initial and boundary conditions
· Explain how to solve stationary problems, such as the Poisson equation
· Explain how to solve such equations in a reliable manner
· Explain how to treat multi-physics problems
· Able to discuss common computational methods and tools in computational continuum systems
· Use methods such as finite-difference time-domain, finite-element, plane-wave expansion, methods of moments
· Use methods such as finite-volume, spectral, pseudo-spectral
· Use methods such as CFL condition, explicit and implicit integration, operator splitting, geometric integration, stability preserving integration schemes
· Identifying and mitigating numerical artefacts and effects.
· Identify and explain conservation properties, such as particle number/mass conservation, energy conservation, phase-space incompressibility, positivity preserving schemes, and know how to test schemes for conservation properties
· Identify and evaluate classical test problems, checking convergence properties, method of manufactured solutions
· Write technical reports where computational results are presented and explained
· Communicate results and conclusions in a clear way.


· Finite difference and related techniques.
· Spectral methods.
· Examples of continuum systems. 
· Practice in using Python, C and elements of  C++ as a programming tool.


Basic theory and methods are covered by a series of lectures. The students get training by applying the theory and methods in exercises and homework prob-lems. An important part consists of practical training of carrying out computa-tions using a set of given problems within projects throughout the course. The projects are accounted for in a written report. It is expected that the projects normally are performed in teams of two.


The main course literature is provided through the course lecture notes.
Further recommended material includes:  
· A Primer on Scientific Programming with Python by Langtangen, Hans Petter
· The C Programming Language, by Brian W. Kernighan and Dennis M. Ritchie.
· C++ Primer by Stanley B. Lippman  (Author), Josée Lajoie  (Author), Barbara E. Moo

Examination including compulsory elements

The course contains coding assignments, computing-lab assignments, theory assignments contained within projects worked on throughout the course. The examination is through a hand-in report at the end of the course. All examina-tion parts will be graded in order to achieve the final grade.

Page manager Published: Thu 04 Feb 2021.