Course syllabus for Computational continuum physics

Course syllabus adopted 2023-02-09 by Head of Programme (or corresponding).

Overview

  • Swedish nameBeräkningsmetoder för kontinuumfysik
  • CodeTIF330
  • Credits7.5 Credits
  • OwnerMPPHS
  • Education cycleSecond-cycle
  • Main field of studyEngineering Physics
  • DepartmentPHYSICS
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 85154
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0119 Project 7.5 c
Grading: TH
0 c0 c0 c7.5 c0 c0 c

In programmes

Examiner

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

Basic undergraduate physics and mathematics, computing and numerical analysis.

Aim

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)

· Explain and use finite-difference methods (FDMs) for discretization of partial differential equations · Assess time and space step requirements, accuracy order, stability conditions, as well as identify and combat numerical artefacts, such as numerical dispersion and violation of conservation laws · Analyze, construct and use FDMs for solving evolutionary and stationary problems in continuum physics · Explain and use finite-integral techniques for discontinuous systems, such as those permitting shock waves · Explain and use the times step splitting technique, as well as concepts of spectral methods, including the Ritz method, the Galerkin method, Fourier-based methods and the finite-element methods · Understand and deal with advanced computational concepts for multi-physics problems in plasma, quantum and nuclear physics · Able to plan and conduct numerical studies, including the development and validation of computational schemes in Python/C/C++

Content

· Finite difference and related techniques.
· Spectral and compound methods.
· Solving large systems of linear equations (direct methods, iterative methods, case of eigenvalue problems), solving non-linear equations in the realm of multi-physics time-dependent problems (operator splitting approaches, integrated approaches).
· Practice in using Python, C and elements of  C++ as programming tools.

Organisation

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 problems. An important part consists of practical training of carrying out computations 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.

Literature

All course content is covered by lecture notes provided to students. The following literature may be helpful for further reading.

Programming practice:

  • Introduction to Numerical Programming, A Practical Guide for Scientists and Engineers Using Python and C/C++, Titus Adrian Beu
  • 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

Finite difference methods:

  • Computational physics, Richard Fitzpatrick
  • Computational Physics, Mark Newman

Spectral methods:

  • Spectral methods and their applications, Guo Ben-Yu
  • Chebyshev and Fourier Spectral Methods, John P. Boyd

Advanced methods for continuum systems:

  • Computational physics, J. M. Thijssen
  • Plasma Physics via computer simulation, C. K. Birdsall, A. B. Langdon
  • Computational physics, Richard Fitzpatrick

Examination including compulsory elements

The examination consists of three problem sets, which include analytical tasks and programming assignments. The grade is determined based on the total number of gained points (for each problem set there is a minimal number of points to pass the course).

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.