An Introduction to Mathematical Modelling and Simulation AM 3911G / AM 9570B (formerly 310g / 570b) :
This course focuses on how to model and simulate physical phenomena in science and engineering. The aim is to familiarize the student with the basic and general concepts of mathematical modeling, and the application of those concepts using computer simulations using methods such as Monte Carlo, molecular dynamics, and neural networks, for example.Some topics/methods we may cover include: Random Number Generators, Random Walks (RW), Oscillatory Systems, Normal Modes and Waves, Bifurcation and Bifurcation Control, Complex Systems: Hopfield Model and Neural Networks, Monte Carlo Simulation: Ising Model, Chaos Control and chaos synchronization, Fractal Dimension, Particle simulations. It is essential that the students have a good background in C, C++, Java, Fortran or comparable. The course also contains a project work which is of computational nature.
- Lecturer: Dr. Mikko Karttunen. Email: mkarttu [at] uwo.ca.
IMPORTANT: When emailing, please include 'AM3911G-2009' on the subject line. - TA: Roman Naryshkin. Email: rnarysh at uwo dot ca
- Practical matters:
- Brief course outline is available here as a [PDF file]
- Listing of practical matters as a PDF file.
- Textbook: An Introduction to Computer Simulation Methods, 3rd Edition, H. Gould, J. Tobochnick and W. Christian, Addison-Wesley Publishers, 1996, ISBN 0-8053-7758-1. (2nd edition is also acceptable.)
- Lectures: Thu: 02:30-05:30. VAC100. IMPORTANT CHANGE: Starting Thu. Jan. 22 we will be in MC204 for the first two hrs and in MC15B for the third hour.
- First lecture: Thursday Jan. 8, 2009.
- Office hours: Mondays and Wednesdays 9:30-10:30 am
- Assessment: Three in-class exams (15% each), problem sets (35%), and a project work (20%).
- In-class exams (quizzes): Thursday Feb, 5, Thursday Mar. 5., and Thursday Mar. 19, 2009
- Final project: Deadline (strict): Apr. 9, 2009
Weekly lecture schedule (with on-line material)
- Week 1 (Thu. Jan. 7, 2009): Practical matters and level test.
- Week 2 (Thu. Jan. 15, 2009): General issues on programming. Brief introduction to Fortran 90/95.
- General issues and basics of Fortran 90/95
- A couple of sample programs illustrating loops, variables, arrays, etc.
simple.f90, simple2.f90, loop1.f90, loop2.f90
- Week 3 (Thu. Jan. 22, 2009): Random number generators. Linear congruental generator,
Fibonacci method, the Box-Müller method for generating Gaussian deviates. Brief
introduction to the basic ideas behind Monte Carlo and Molecular Dynamics.
Textbook: Ch. 7.9 - Week 4 (Thu. Jan. 29, 2009). Simulations using particles. Boundary conditions. Initialization.
Textbook: Ch. 8.1-8.6 - Week 5 (Thu Feb. 5, 2009). Integration: Euler and Verlet algorithms
- Week 6 (Thu Feb. 12, 2009). Integration: velocty-Verlet. Truncated and shifted potentials. How to connect particles by springs. Simple Monte Carlo integration.
- Reading break: Feb. 16-20 2009.
- Week 7:
- Week 8 (Mar. 5). Quiz 2.
- Monday Mar 23: lecture at 4:30 pm in MC 204.
- The term ends Apr. 9, 2009.
Problem sets
- Problem set 1. Due: Mon. Feb. 2, 2009 by noon (note the change; due to course conflicts). Please see the instructions (week 1) about submitting answers and deadlines.
- Problem set 2. Due: Mon. Feb. 9, 2009 by noon
- Problem set 3. Due: Mon. Feb. 16, 2009 by noon
- Problem set 4. Due: Mon. Feb. 27, 2009 by 9:30 pm
- Problem set 5. Due: Mon. Mar. 16, 2009 by 9:30 pm
- No new problem sets. Focus: individual project works.
Related
- Molecular/particle visualization:
- iMol [OSX]
- Rasmol and OpenRasmol [Win,OSX,Linux]
- VMD [Win, OSX, Linux]
- gOpenMol [Win, OSX, Linux]
- Jmol [Win, OSX, Linux]
- The "Top 5" 3D Molecular Visualization Technologies [..the title is a bit too ambitious]
- Plotting:
- gnuplot [Win, OSX, Linux]
- Octave [Win,OSX,Linux]
- SciLab [Win, OSX, Linux]
- Grace [Win, OSX, Linux]
- SciDAVis [Win, OSX, Linux]
- Matrices, linear algebra:
- Golub and van Loan: Matrix Computations (Johns Hopkins).
- Free Compilers:
- GCC, the GNU Compiler Collection. Fortran, C/C++, Java, Ada.
- Alternative free fortran compiler (binaries available for easy installation): G95
- Linux and Mac OSX users can install a compiler easily using the relevant package manager, e.g., fink (OSX; requires Xcode and X11 installation from OSX DVDs), Ubuntu (Linux), Fedora (Linux), SuSe (Linux), etc.
- Windows users may also opt for cygwin if they want to run Linux applications including compilers.
- Programming + friends:
- Fortran programming course from Oxford
- The FORTRAN Programming Language (U. Michigan)
- Modular Programming with Fortran 90 (Liverpool)
- Programming in C (Cardiff)
- Programming in C (Wolverhampton)
- Introduction to C Programming (Leicester)
- Programming in C by Brian Kernighan
- The C++ Programming Language
- C++ Programming Language Tutorials (WUSTL)
- SciLab. A Free Scientific Software Package. Works
in Windows, Linux, OSX...
- Numerical recipes in books (C, C++, Fortran)
- The repository for free mathematical software