NDAA07012U Scientific Computing
MSc Programme in Climate Change
MSc Programme in Nanoscience
MSc Programme in Physics
MSc Programme in Physics with minor subject
This course teaches numerical computational techniques that are used universally throughout all branches of natural sciences and engineering. We teach the fundamental principles and derive central computational methods from scratch. Students will see how such algorithms can be invented using simple principles, and will themselves program them and apply them to problems from biology, physics, nanoscience, and chemistry.
Rather than simply teaching how to use or write down numerical algorithms in a formulaic manner, the course teaches how and why they work from the ground up, and how to understand and bound their errors. The goal is to provide students with the tools they need to understand the modern computational methods they will need for solving problems in their respective scientific fields.
Skills
At course completion, the student should be able to:
- Choose an appropriate numerical method for the solution of the problem or sub-problem. The numerical method is selected among the methods presented in the course and it should be chosen with respect to the requirements of the model.
- Evaluate the numerical method with respect to potential accuracy, computational efficiency, robustness and memory requirements.
- Understand and program the numerical method from scratch in Python/Numpy, and solve the problem using their own programs.
- Calculate the quality of the solution with respect to the accuracy obtained and the sensitivity to model parameter variations.
- Estimate whether the quality of the solution is adequate relative to the desired use of the model.
- Analyse the reasons of a possible total failure of a method applied to a concrete problem.
Competences
The student will be able to use the methods presented in the course
to perform numerical analysis for concrete problems in science,
choose and program computational methods to solve them, and
quantitatively bound the errors of the results obtained.
The solutions will be programmed in Python/Numpy.
Knowledge
The student will know about
- ideas behind and motivation for fundamental numerical methods for the solution of: linear and nonlinear equations, linear and nonlinear optimization, eigenvalue problems, initial value problems for ordinary differential equations, partial differential equations and the fast Fourier transform.
- simple mathematical models from science and numerical analysis of them.
- methods for expressing mathematical models concisely as efficient, correct program code.
See Absalon for final course material. The following is an example of expected course literature.
Michael T. Heath: Scientific computing. An introductory survey (SIAM Classics in Applied Mathematics), http://heath.cs.illinois.edu/scicomp/
It can be purchased from Academic Books here: https://www.academicbooks.dk/da/content/scientific-computing-12
It is recommended that the student has knowledge of mathematics corresponding to the contents of the B.Sc. in physics, chemistry, mathematics, nanoscience, or computer science. In particular, linear algebra and calculus is used extensively in the course.
Academic qualifications equivalent to a BSc degree is recommended.
Necessary software:
Linux is the recommended work environment for code development.
Windows or Mac will work with extra software installed.
See how at http://www.nbi.dk/~avery/teaching/scicomp/how-to-prepare.html
- Category
- Hours
- Lectures
- 40
- Preparation
- 58
- Practical exercises
- 16
- Project work
- 100
- Total
- 214
- Credit
- 7,5 ECTS
- Type of assessment
- Continuous assessment, during course
- Type of assessment details
- Independent evaluation of 4 projects. The final grade is the average of the grades of each of the 4 projects.
- Aid
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
More internal examiners
- Re-exam
Oral examination, 30 minutes.
Criteria for exam assesment
See learning outcome
Course information
- Language
- English
- Course code
- NDAA07012U
- Credit
- 7,5 ECTS
- Level
- Full Degree Master
- Duration
- 1 block
- Placement
- Block 1
- Schedule
- C
- Course capacity
- No limitation – unless you register in the late-registration period (BSc and MSc) or as a credit or single subject student.
Study board
- Study Board of Physics, Chemistry and Nanoscience
Contracting departments
- The Niels Bohr Institute
- Department of Chemistry
Contracting faculty
- Faculty of Science
Course Coordinators
- Johan Georg Mulvad Samsing (8-6e776571776d726b4472666d326f7932686f)
- Gabriel Brammer (15-6a6465756c686f31657564707068754371656c316e7831676e)
Lecturers
Kurt Mikkelsen, e-mail: kmi@kemi.ku.dk, tlf.nr.: 3532 0251
Johan Georg Mulvad Samsing, e-mail: jsamsing@nbi.ku.dk
Gabriel Brammer, e-mail: gabriel.brammer@nbi.ku.dk