MPhys Physics / Course details

Year of entry: 2022

Course unit details:
Computational Physics

Unit code PHYS20762
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Offered by Department of Physics & Astronomy
Available as a free choice unit? No

Overview

Computational Physics

Pre/co-requisites

Unit title Unit code Requirement type Description
Introduction to Programming for Physicists PHYS20161 Pre-Requisite Compulsory

Aims

To give an introduction to the techniques of computational physics and dynamic high-level scripting programming languages.

Learning outcomes

This course unit detail provides the framework for delivery in 21/22 and may be subject to change due to any additional Covid-19 impact.  Please see Blackboard / course unit related emails for any further updates’
 
On completion successful students will be able to:
1. Write programs using dynamic high-level scripting programming languages and carry out data analysis in them.
2. Use classical numerical methods (Euler and higher order) to find solutions of ordinary differential equations.
3. Use Monte Carlo techniques and associated statistical methods.
4. Use numerical solutions to analyse the behaviour of a physical system (such as a driven oscillator).

Syllabus

Syllabus
 
1. Use of high-level scripting language for data analysis.
a) Definitions of variables and arrays; scalar and array operations; built in and user-defined functions;
b) Working with data sets: file input / output. Data visualization and plotting;
c) Revision of error analysis: X2 analysis, errors on fitting coefficients, propagation of errors;
 
Project 1
2. Numerical methods and the solution of ordinary differential equations
a) Introduction to numerical computing; errors in numerical methods;
b) Numerical methods for solving ordinary differential equations; Euler’s method; higher order methods; symplectic methods;
c) Implementation of numerical methods;
d) The linear driven damped oscillator; phase space; conserved quantities; sources of simulation error;
 
Project 2
3. The Monte Carlo method and its applications.
a) Introduction to Monte Carlo methods; Monte Carlo integration; classical problems;
b) Pseudorandom sampling; methods of generating samples with given probability density;
c) Applications of Monte Carlo methods;
d) Statistical errors.
 
Project 3
Will contribute to 50% of the final mark.
 

Assessment methods

You will carry out 3 short projects (as an individual, not in a pair or group). You must PASS projects 1 (receive more than 40%) to be allowed to submit projects 2 and 3. The final two projects contribute 50% each to the final mark, respectively. 

Feedback methods

Feedback will be given orally by demonstrators during lab sessions, and written and oral feedback of the written project work will be given.

Recommended reading

Learning Scientific Programming with Python

Hill, Christian 2015

Titus, A.B. Introduction to Numerical Programming: A Practical Guide for Scientists and Engineers
Garcia, A.L. Numerical Methods for Physics (Prentice Hall 1994)

Study hours

Scheduled activity hours
Lectures 12
Practical classes & workshops 36
Independent study hours
Independent study 52

Teaching staff

Staff member Role
Saeed Bahramy Unit coordinator

Return to course details