Undergraduate Course: Modelling and Visualisation in Physics (PHYS10035)
|School||School of Physics and Astronomy
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 10 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||This course covers the process of mapping a scientific problem onto a computer algorithm to enable it to be modelled, along with an introduction to visualisation techniques (e.g., via either gnuplot or Matplotlib or similar), to help visualise the solution. Example problems will be drawn from the Junior Honours physics programme, with additional examples from 'everyday' problems. The course will consist of lectures on the algorithms and weekly hands-on practical sessions, with three checkpoints.
Theoretical background of core simulation techniques including:
1. Monte-Carlo integration and Monte-Carlo simulations
2. Cellular automata
3. Molecular dynamics simulations OR Partial differential equations (depending on year)
Implementation of these core techniques in Python to solve specific (and potentially unseen) physics problems
Integration of visualisation (evolving fields, moving particles, live graphs etc) and graphical user interfaces into simulation codes
The notion and origin of errors and instabilities in numerical algorithms, and simple techniques for handling them
Key issues that arise in the development of scientific software, such as: compromises between efficiency and flexibility, the incorporation of third-party library code (and its distinction from plagiarism) and the utility of good-quality documentation and coding style
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2018/19, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 11,
Supervised Practical/Workshop/Studio Hours 33,
Summative Assessment Hours 3,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Checkpoint assessments based on computational laboratory tasks, 50%
Unseen practical examination in CP Lab, 50%.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||3:00|
On completion of this course, the student will be able to:
- Write complex simulation code in Python.
- Understand and be able to apply numerical algorithms for Monte-Carlo simulations, cellular automata and (depending on year) molecular dynamics OR partial differential equations.
- Understand the notion of equilibration of a simulation, and efficient data-gathering, and their relation to simulation time
- Appreciate the importance of documentation and commenting in ensuring reusability.
- Have built a personal library of methods which will enable completion of an unseen coding task related to the ones addressed in the course efficiently and quickly.
|Graduate Attributes and Skills
|Course organiser||Dr Davide Marenduzzo
Tel: (0131 6)50 5283
|Course secretary||Miss Yolanda Zapata-Perez
Tel: (0131 6)51 7067