Course syllabus

Course-PM

FKA122 / FIM540GU Computational physics lp2 HT25 (7.5 hp)

Course is offered by the department of Physics

Contact details

Examiner: Sophie Weber (sophie.weber@chalmers.se)

Lecturer: Sophie Weber (sophie.weber@chalmers.se)

Assistant: Lucas Svensson (lucas.svensson@chalmers.se)

Assistant: Viktor Martvall (vikmar@chalmers.se)

Assistant: Tobias Hainer (tobias.hainer@chalmers.se)

Assistant: Tobias Möslinger (tobias.moeslinger@chalmers.se)

Course purpose

The course purpose is to learn how to model physical systems using different numerical techniques. Two main aims are 1. to teach students via hands-on practice to implement computational algorithms to explore properties of a range of physical systems; and 2. to accurately interpret and analyze the output of their simulations, both in relation to algorithm performance and to the underlying physics. Numerical techniques such as molecular dynamics, Monte Carlo, and Brownian dynamics are introduced and applied in a broad spectrum of physical problems. 

Course specific prerequisites

Basic programming knowledge and experience, preferably in python and C. Basic undergraduate physics. You could benefit from taking the course TIF035 Statistical physics in parallel.

Schedule

Link to course schedule in TimeEdit:

TimeEdit

The bulk of your grade will come from three take-home assignments, H1-H3. H1 and H2 each have two options (a) and (b), with different questions (but related content). In each case you choose either (a) or (b) to complete and turn in (but not both). H3 has only one possible set of problems.

For H1 and H2 there is an option to hand your work in to the TAs for initial feedback, and then resubmit it after incorporating their feedback for your final grade. For H3 there is no preliminary feedback option, so your first and only submission of H3 is the one that will be graded. Below are the planned deadlines for handing in the three homeworks (subject to change). In general, the TAs will return the corrected homework on the Friday of the submission week.

First hand-in, H1(a) or H1(b) (not graded, for feedback only): Monday, Dec. 1

First hand-in, H2(a) or H2(b) (not graded, for feedback only): Monday, Dec. 8

Second hand-in, H1(a) or H1(b) (graded): Monday, Dec. 15

Second hand-in, H2(a) or H2(b) (graded): Monday, Dec. 22

Hand-in, H3 (graded): Monday, Jan. 12

Information about deadlines for the exercises (which you need to present to the TAs in the lab sessions for a grade) is located under Modules->Scheduled lab-sessions.

Course literature

All of the lecture notes and slides from last year's iteration of the course (for which Julia Wiktor was examiner) are already under Modules->Information about the course-> Lectures. By the end of each week of this period, I will upload my own lecture notes/slides for that week so you can have both references.

I have also put links to an assortment of external online lecture notes/ web pages which I think might be useful for specific topics in the course. These are located under Pages->Possibly Useful Resources. I will add more as I come across them.


Recommended, but not required additional literature:
For numerical methods:
Willliam H. Press et al.,
"Numerical Recipes; The Art of Scientific Computing",
(3rd edition, Cambridge University Press, 2007),


For more experienced students:
J.M.Thijssen,
"Computational Physics",
(2nd edition, Cambridge University Press, 2007).

Course design

The different numerical techniques and the physical problems are presented in a series of lectures. The most important part in the course is the students' own activity in applying the methods and solving a set of exercises and homework assignments. Scheduled computer laboratory sessions are provided, with instructors available for consultation. The programming language C will be used exclusively in the course.

Learning objectives and syllabus

Learning objectives:

  • use C to solve numerical problems.
  • explain and numerically apply the basic idea behind the molecular dynamics simulation method.
  • explain how random numbers can be used to treat static and dynamic phenomena and numerically apply the methodology.
  • explain and numerically apply the Metropolis Monte Carlo method.
  • integrate knowledge in modeling physical systems with various numerical techniques.
  • write well-structured technical reports where computational results are presented and explained.
  • communicate results and conclusions in a clear way.

Link to the syllabus on Studieportalen.

Study plan

Examination form

The examination is based on exercises and homework assignments.

 

Student representative emails and names

MPPHS   k.andersson725@gmail.com        Klara Andersson
MPPHS   joel@familjenax.se      Joel Ax
MPCAS   chrlenna@student.chalmers.se    Natanael Lennartsson
MPPHS   ghadirr@chalmers.se     Ghadir Radhi