Computational Modelling Techniques

Unit code: CHEM40241
Credit Rating: 10
Unit level: Level 4
Teaching period(s): Semester 1
Offered by School of Chemistry
Available as a free choice unit?: N



Additional Requirements

The course is accessible to students with no previous computer programming experience. Elementary concepts of programming will be introduced. The application of the ideas will be illustrated with examples drawn from a range of chemical problems.


The course aims to introduce some principles of scientific computational modelling in the chemical sciences. A range of modelling approaches, numerical algorithms and the generic concepts of computer programming will be introduced. Students will also develop practical modelling skills through the study of a range of examples using the common computational framework of MATLAB.


Weeks 1–3
Introduction to data structures, programming and algorithms (Dr N A Burton, 3 lectures + 3 workshops)

  • Syntax, variables, arrays, arithmetic, I/O and plotting; Generic and chemical examples to illustrate use of the MATLAB programming environment.
  • Loops, flow control and functions: Specific examples will include molecular data manipulation and computation relevant to molecular modelling and cheminformatics.

Weeks 4–6
Linear algebra techniques in molecular structure (Dr J J W McDouall, 3 lectures + 3 workshops)

  • Introduction to linear algebra concepts.
  • Vectors in 3 dimensions – molecular geometry.
  • Vectors in n dimensions – molecular orbitals.
  • Matrices – multiplication; linear equations.
  • Coordinate transformations: matrix representations of symmetry operations; centre of mass coordinates.
  • Similarity and eigenvalues: moments of inerta and the inertia tensor.
  • Vibrational analysis: frequencies and the graphical represtation of normal modes.

Weeks 7–9
Numerical techniques for chemical data analysis, molecular modelling, kinetics and dynamics (Dr N A Burton, 3 lectures + 3 workshops)

  • Discrete data analysis and numerical quadrature applied to chemical functions (eg. NMR/EPR spectra, RDFs).
  • Solution of coupled differential equations (ODEs) and kinetic reaction schemes.
  • Simplex optimisation, application of least squares fitting, interpolation and signal smoothing.
  • Techniques used to explore phase space – molecular dynamics simulation and Monte–Carlo integration.

Weeks 10–12
Numerical techniques in electronic structure theory  (Dr J J W McDouall, 2 lectures + 3 workshops)

  • The Schrödinger equation;
  • Atomic units and the hamiltonian;
  • Atomic basis functions;
  • One-electron operators and integrals;
  • Finding the energy from the Schrödinger equation;
  • Hartree-Fock theory;
  • Two-electron operators and integrals;
  • The Roothaan-Hall equations – finding the energy and the self-consistent field procedure.

Teaching and learning methods

  • Lectures
  • Practical workshops - scripted examples and problems using computer package (such as Matlab)
  • Online support using Blackboard (self-study and self-assessment materials)

Learning outcomes

  • Knowledge of MATLAB syntax and the ability to write MATLAB scripts and functions.
  • Understand the generic concepts involved in building an algorithm to solve a problem numerically.
  • Familiarity with a few widely used numerical techniques of linear algebra and ODEs.
  • Proficiency in decomposing (unseen) mathematical problems into numerical solutions.

Knowledge and understanding

  • Develop an appreciation of the fundamental principles of scientific modelling using a computer;
  • Develop skills in problem solving and the transformation of chemical processes and equations into a computational solution.
  • Begin to develop linkages between the core syllabus and how these concepts are used to solve scientific models in a wider context.

Intellectual skills

  • Develop a working knowledge of some common algorithms used in modellingchemical processes, most of which are common to other disciplines;
  • Acquire practical modelling/programming skills in numerical and data analysis using a common computational framework.

Transferable skills and personal qualities

  •  Computer coding;  MATLAB fundamentals; numerical analysis; algorithmic problem solving.

Assessment methods

  • Practical skills assessment - 80%
  • Set exercise - 20%

Recommended reading

  • A Guide to MATLAB:  For Beginners and Experienced Users, B.R Hunt; R.L. Lipsman, J.M. Rosenberg, K.R. Coombes, J.E. Osborn, G.J. Stuck; Cambridge University Press, 2006, online 1012;
  • Matlab: A practical introduction to programming and problem solving, S. Attaway, Butterworth-Heinemann, 3rd Edition, 2013
  • Introduction to algorithms, T. H. Cormen, C. Leiserson, R. Rivest, C. Stein, MIT Press, 3rd Edition, 2009
  • Computational quantum chemistry: Molecular structure and properties in Silico (RSC Theoretical and Computational Chemistry Series), J. J. W. McDouall, RSC Publishing, 2013.

Feedback methods

  • Online support materials include workshop and self study exercises (formative assessments) that allow students to engage in problem solving activities;
  • General assistance and feedback during practical workshop sessions;
  • Course work, practical online test in week 7 to assess command of first half of the course.
  • Mock examination exercise – special workshop to familiarize using the examination desktop and environment;
  • Personal feedback may be provided as time permits on specific workshop examples during the course.

Study hours

  • Assessment practical exam - 2.5 hours
  • Lectures - 12 hours
  • Practical classes & workshops - 24 hours
  • Independent study hours - 61.5 hours

Teaching staff

Joseph McDouall - Unit coordinator

Neil Burton - Unit coordinator

▲ Up to the top