Computer Methods in Chemistry - CHEM3300G


Important

  • The formalities, schedule, assignments etc. are available at OWL

  • This site is updated continuously. New material is being added as we progress and typos (sigh!) will be corrected.

  • When reading the files, please notice that there tabs and dropdowns that have more information and/or, code snippets or/and operating system specific installation instructions.

Target audience

  • Advanced undergraduate students in Chemistry.

  • This course should also be of interest for students in Applied Mathematics, Physics, Chemical Engineering, Pharmaceutical Science, and related, interested in computational modeling, molecular visualization and data analysis.

  • In addition to students working in computational modeling, the course is useful for anyone interested in getting to know practical aspects of modern simulations.

  • The data analysis and visualization parts are also applicable to analysis & visualization of experimental data.

Not from chemistry?

No problem. Contact me if you are from a department other than chemistry and interested in taking this course. The materials and methods should suit well students from other backgrounds as well. Thermodynamics is the core course needed. If you have taken that, it is likely that you have necessary background.

I am considering the course but I missed the first class

No problem, just join in for the second class. The first lab is the critical point.

Course material

  • Will be distributed through this web site and OWL.

  • During the first two weeks we familiarize ourselves with some basic basic background and terminology, and install the necessary software. Then, starting from Week 3 we get to actual simulations, visualizations and data analysis.

Learning outcomes

After successful completion of this course, the student should have the skills and knowledge to

  • Understand the foundations of computational modeling in chemistry and related disciplines with emphasis on hands-on practical skills of data analysis, visualization, and in setting up and performing classical molecular dynamics simulations.

  • Understand the basics aspects of high-performance computing

  • Understand the relations between different methods, why and when different models are needed, and the concept of multiscale modeling

  • Be able to assess, interpret and understand the correctness of simulations, and how simulations can be compared to experiments and theory

  • Understand the practical and theoretical challenges related to simulations, and the theoretical foundation of simulations

  • Perform hands-on data analysis and use different visualization methods

  • Understand the general applicability, advantages and limitations of modeling methods

  • Be able to assess reliability and errors in simulations

  • Have an understanding of the current developments in the field, in particular machine learning.

One the main aims is that the students will gain a good overview of different methods and approaches in computational modeling, and the ability choose a proper method for the problem at hand.

As practical outcome, the students will learn the need for different operating systems and command interfaces, and how to do practical operations using the command line interface, installation of software, compilation of source codes and how to resolve problems when they arise.

Hands-on approach

This course uses a hands-on approach: You will set up and perform simulations, analyze real data and learn methods to do that in a general setting (=most of the approaches used here apply also to data from experiments). The sizes of the simulated systems will be smaller than in published research (so that simulations can be completed on a personal computer), but everything is done using professional grade software and tools.

Although we use Python for many analyses, this course is not about programming. No prior knowledge of Python or other programming is expected. You will learn enough Python to be able to use it comfortably afterwards, say, in plotting and analyzing data for your thesis research.

Examples

Unsure what kind of systems we will discuss? Take a look at these visualizations to get a better idea. They have been done mostly with the same software and methods they we will discuss and use:

Important

This is a hands-on course and we will learn how to perform simulations, analyze data and visualize systems. This means that you must have a computer and the ability to install software on it. Any reasonably modern (past 7 years or so) laptop/desktop with Windows 10, Linux or OSX is ok. Detailed instructions will be provided during the lectures / labs. The methods have been tested using both older (7-10 old laptops) and newer computers.

Software that will be used (we will work through the installation procedures during the course):

  • For molecular visualizations and data analysis: VMD (Visual Molecular Dynamics)

  • For plotting, data analysis, and machine learning: Python and Jupyter notebooks;

  • For molecular simulations: Gromacs. Gromacs will be used as the hands-on tool for performing MD simulations. -For installing Gromacs, we also need to install a C/C++ compiler and some other required tools

  • Possibly some others as well.

These are general purpose software and of real production quality used in academia, industry and government research & development.