Computational plasma physics 2020
This lecture provides an introduction to scientific computing with examples from plasma physics. A particular emphasis will be placed on the discretization of partial differential equations. Numerical methods for the Poisson equation, conservation laws as well as kinetic equations will be introduced. In the exercise classes, an introduction to the
Python
computer language and basic software development techniques will be offered. This will be used to code the discretisation methods introduced in the lecture. After successful completion of the module, students understand different methods for the discretization of partial differential equations and their implementation by means of the
Python
programming language.
Topics are:
- Overview of plasma model equations
- Finite difference method
- Finite element method (FEM) with B-splines (we recommend to also hear Compatible Finite Elements for Problems in Mixed Form for a deep-dive into compatible FEM)
- Spectral methods (in particular Fourier)
- Finite volume methods for conservation laws (we recommend to also hear Numerical methods for hyperbolic systems to learn more about discretization of such problems)
- Particle-in-cell method for kinetic plasma models
Until further notice, lectures will be held online in this BigBlueButton classroom. You will need Firefox or Chrome browser for this to work. Programming exercises will be done as homework and discussed each Monday right after the lecture.
Prerequisites are basic analysis and linear algebra. The lecture is accessible to students with a bachelor in mathematics, in physics or a related field.
News
- Update you on some important information regarding the oral exams:
- Registration for the first try is possible until July 6.
- Registration for the re-try is possible between 7-21 September.
- Here is the doodle survey ^{} regarding possible exam dates. Please choose always 2 adjacent days, i.e. which week you prefer. Once, the week has been decided, the specific time slot of your exam will be decided by me and sent out via email.
- For those who want the bonus, don't forget to show me your computing exercises BEFORE the oral exam.
- External students (e.g. LMU) can take the exam and then get a "Schein" for their credits.
- The exam will take place either in a BBB exam room that I will share with you, or for those who chose a presence exam, in my office at TUM. It will take around 20-25 minutes and consist of three different questions, covering the whole lecture notes. A (online) witness will also be present.
- First lecture: Monday 20.04.2020, 8:30-10:00, online in this BigBlueButton classroom. An email with a reminder and the access code to join the classroom will be send out 15 minutes before the start of the lecture, to all registered participants.
- BBB classroom access code: 525318
- Firefox or Chrome browser required for the online classroom.
- Recordings of the lectures are now available on the page of the BBB classroom.
- Programming exercises will be done in
Python3
, which you get here ^{}. Jupyter notebooks can be installed from here ^{} (follow the link Install the Notebook
). We recommend the use of package managers like pip
or conda ^{}.
Literature (with links to TUM library)
- B. Sohuri, Plasma Physics and Controlled Thermonuclear Reactions Driven Fusion Energy, Springer 2016. Read online in TUM library.
- A. Quarteroni, Numerical Models for Differential Problems, Springer, 2009. Read online in TUM library.
- R. J. Leveque: Finite Volume Methods for Hyperbolic Problems, Cambridge Texts in Applied Mathematics, 2002. Read online in TUM library.
- C.K. Birdsall and A.B. Langdon: Plasma Physics via Computer Simulation, Taylor & Francis 2005. Borrow from TUM library.
- A. Aydemir, A unified Monte Carlo interpretation of particle simulations and applications to non‐neutral plasmas, Physics of Plamsas, 1994. Read free article online. ^{}
- C. F. van Loan. The ubiquitous Kronecker product. J. Comput. Appl. Math., 123:85–100, November 2000. Read free article online. ^{}
Lecturers
Lecture notes
Exercise sheets
Examination
As a bonus mechanism in order to improve your grade at the final examination, an assessment of the programming exercises in Python will be offered at the end of the course. In order to be able to participate in the programming assessment, active participation during the exercises is required since the assessment will be based on the code written in the exercise classes. Your result in the programming assessment will be one third of your final grade but only if it improves the grade.
--
StefanPossanner - 06 Apr 2020