FYS4150 – Computational Physics
Schedule, syllabus and examination date
Changes in the course due to coronavirus
Autumn 2020 we plan for teaching and examinations to be conducted as described in the course description and on semester pages. However, changes may occur due to the corona situation. You will receive notifications about any changes at the semester page and/or in Canvas.
An introduction to numerical methods which are used in solving problems in physics and chemistry, including solutions of differential equations, matrix operations and eigenvalue problems, interpolation and numerical integration, modeling of data and Monte Carlo methods.
The course gives an introduction to several of the most used algorithms from numerical analysis to solve problems in the Sciences. These algorithms cover topics such as advanced numerical integration using Gaussian quadrature, Monte Carlo methods with applications to random processes, Markov chains, integration of multidimensional integrals and applications to problems in statistical physics and quantum mechanics. Advanced Variational and Diffusion Monte Carlo methods will also be discussed.
Other methods which are presented are eigenvalue problems, from the simple Jacobi method to iterative Krylov methods. Popular methods from linear algebra such as the LU-decomposition method and spline interpolation are also discussed. A large fraction of the course is also devoted to solving ordinary differential equations with or without boundary conditions and finally methods for solving partial differential equations. Both finite difference and finite element methods will be discussed.
The student will thus develop a familiarity with some of the most used algorithms in Science. Several examples of problems in physics and chemistry will be used in order to demonstrate various numerical methods. The examples span over several fields, from materials science to solid state physics, atomic physics, astrophysics, nuclear physics and eigenvalue problems in quantum chemistry. The course is project based and through the various projects, normally five, the participants will be exposed to fundamental research problems in these fields, where the aim of the last project is to reproduce state of the art scientific results. The students will learn to develop and structure codes for studying these systems, develop a critical understanding of the capabilities and limits of the various numerical methods, get acquainted with supercomputing facilities and parallel computing and learn to handle scientific projects. The students will have to choose between C++, Python or Fortran2008 as computing languages. They will also learn how to interface python programs with C++ or Fortran programs.
A good scientific and ethical conduct is emphasized throughout the course.
Admission to the course
Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.
Nordic citizens and applicants residing in the Nordic countries may apply to take this course as a single course student.
If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.
Recommended previous knowledge
- INF1000 – Introduction to object-oriented programming (continued) or IN1000 – Introduction to Object-oriented Programming
- INF1100 – Introduction to programming with scientific applications (continued)
- IN1900 – Introduction to Programming with Scientific Applications
- FYS-MEK1110 – Mechanics
- MAT1100 – Calculus
- MAT1110 – Calculus and Linear Algebra
- MAT1120 – Linear Algebra
- 10 credits overlap with FYS3150 – Computational Physics.
The course is offered for one semester and comprises 4 hours of lectures per week, in addition to laboratory exercises aided by the use of a computer.
The course includes two mandatory assignments, which must be approved before you can sit the final exam.
Three home exams which counts 1/3 towards the finale grade.
This course has mandatory assignments that must be approved before you can sit the finale exam.
It will also be counted as one of the three attempts to sit the exam for this course, if you sit the exam for one of the following courses: FYS3150 – Computational Physics
Language of examination
Subjects taught in English will only offer the exam paper in English. You may write your examination paper in Norwegian, Swedish, Danish or English.
Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.
Resit an examination
This course offers both postponed and resit of examination. Read more: