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
    Lectures, exercises, programming & written tasks.
  • Teaching support
    Course room on Canvas, assistance in the exercises
  • Prerequisites
    INF120, INF205, MATH111, MATH112, MATH113 or equivalent
  • Recommended prerequisites
    INF201, INF203, MATH250, MATH270, MATH290
  • Assessment method
    Portfolio evaluation. A-F.

  • Examiner scheme
    The examiner(s) carry/carries out the portfolio evaluation.
  • Mandatory activity
    In excess of that which counts toward the portfolio evaluation, each student shall present on at least one of the tutorial problems within the tutorial sessions.
  • Teaching hours
    24h lectures, 12h exercises
  • Admission requirements
    REALFAG