INF305 Scientific Computing
Credits (ECTS):5
Course responsible:Jonas Kusch
Campus / Online:Taught campus Ås
Teaching language:Engelsk
Course frequency:Annually (spring semester, second half)
Nominal workload:125h = 24h lectures + 12h exercise + 89h self-study including work on exercise tasks
Teaching and exam period:The course is offered in the spring parallel. The course has teaching/assessment throughout the second half of the spring parallel.
About this course
This course introduces students to scientific computing, the collection of tools, techniques, and theories required to solve mathematical models of problems in Science and Engineering on the computer. A particular focus lies in theoretically understanding and efficiently implementing discussed algorithms to solve physical balance laws in C++. The course does not provide an introduction to C++, which INF205 covers. The programming part covers essential and valuable tools in C++ required for efficient scientific computing.
Specific topics and questions that will be answered are:
- What is Scientific Computing? What is a numerical simulation?
- Physical balance laws and their connection to physics, engineering, and data science.
- How do you verify an algorithm? Determining a test problem with an analytic solution.
- Implementation of difference schemes in C++.
- What are the solutions an algorithm should provide?
- Consistency, stability, and convergence of an algorithm.
- Libraries for Scientific Computing.
- Implementation of a 2D finite volume method.
- Verification and validation.
- How to parallelize your code using MPI.
Learning outcome
After completing the course, you will be able to
- implement physical balance laws in C++ using standard libraries for scientific computing.
- write parallel code using Message Passing Interface (MPI)
- verify and validate your program.
- understand different solution concepts such as classical, weak, and entropy solutions.
- understand the concepts of consistency, stability, and convergence.
Learning activities
Teaching support
Prerequisites
Recommended prerequisites
Assessment method
Examiner scheme
Mandatory activity
Teaching hours
Admission requirements