Christian Lessig

Scientific Computing IV: Differential Forms, Tensors, and Vector Calculus


Spring/Summer 2019, Otto-von-Guericke Universit├Ąt Magdeburg

Details: Vorlesungsverzeichnis

Lecturer: Christian Lessig

Lectures: Mondays, 11:00-13:00, G29-335

Tutorials: Thursdays, 13:00-15:00, G29-426


Content: The course provides an introduction to tensors and differential forms, which in the last years have become an important tool for the development of good numerical techniques in computational science and engineering. The courses also relates these to classical vector calculus.

News


Lectures


Week 1:

Vector spaces and bases

Week 2:

Dual vector spaces, dual basis and Riesz representation theorem

Week 3:

Coordinate transformations on vectors and co-vectors; linear maps and their duals

Week 4:

Dual maps, pullback and push-forward; tensors and their coordinate representation

Week 5:

Flat and sharp; tensor product; Symmetric and anti-symmetric tensors and symplectic form (code pendulum)

Week 6:

Pullback and push-forward of tensors

Week 7:

Tangent space (example curve (Mathematica))

Week 8:

Vector fields, integral curves, flow maps

Week 8:

Covector and tensor fields

Week 9:

Codifferential

Week 10:

Exterior derivative and wedge product

Week 10/11:

Properties of the exterior derivative, Lie derivative

Week 12:

Integration of differential forms; Hodge-Helmholtz decomposition

Week 13:

Discretizations of exterior calculus   Discrete exterior calculusFinite element exterior calculus


Exercises


Week 1:

Exercise 1

Week 2:

Exercise 2

Week 3:

Exercise 3

Week 4:

Exercise 4

Week 5:

Exercise 5

Week 6:

Exercise 6

Week 7:

Exercise 7

Week 8:

Exercise 8

Week 9:

Exercise 9

Week 10:

Exercise 10

Week 11:

Exercise 11

Week 12:

Exercise 12

Week 13:

Exercise 13

Week 14:

Exercise 14

Project:

AssignmentSkeleton code


Software


Occasionally we will be working with python and the Numpy library in this course. On Linux you can install it using your package manager. On other operating systems it is convenient to use the Anaconda distribution which contains all necessary packages. An introduction to python and Numpy can be found here.

Literature