Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.


Molecular Dynamics Simulation

Binder

This notebook introduces the concept of molecular dynamics simulations as used in chemistry from scratch.

Chemistry is all about dynamic processes, movement, and reactions. To study dynamic processes on the computer, we need means to run a simulation of these processes, i.e. to create a movie of atom positions over time, and then to analyze the movie for properties of interest, for example diffusion coefficients, spectroscopic properties, reaction rates, etc. We will address these topics in nine sections. The sections build on each other and should be taken in the following order:

  1. Toy example

  2. Simulation details

  3. Numerical integration

  4. Static and dynamic properties

  5. Thermodynamic ensembles

  6. Classic potentials

  7. Machine-learned potentials

  8. Constraints

Authors

Esther Heid, Research Unit Theoretical Chemistry, TU Wien

Structure

All notebooks of this cookbook are gathered under the Content section in the table of contents. The Preamble at the front explains how to cite the cookbook; the Developing section at the back contains contributor notes.

Running the Notebooks

Running on dataLAB JupyterHub

Go to the website dataLAB: https://hub.jaas.datalab.tuwien.ac.at

Running on dataLAB Binder

Running on Your Own Machine

If you are interested in running this material locally on your computer, you will need to follow this workflow:

  1. Clone the https://gitlab.tuwien.ac.at/cookbooks/public/molecular_dynamics_simulation repository:

     git clone https://gitlab.tuwien.ac.at/cookbooks/molecular_dynamics_simulation
  2. Move into the molecular_dynamics_simulation directory

    cd molecular_dynamics_simulation
  3. Create a virtual environment with all the required libraries and dependencies For that a couple of Options are available:

    • uv

    • conda

    • Docker

uv

Create and activate your virtual environment

uv sync --all-extras

Start up Jupyterlab Server in the notebooks directory

uv run jupyter lab notebooks/

Conda

Create and activate your conda environment from the environment.yml file

conda env create -f environment.yml
conda activate tucookbooks

Move into the notebooks directory and start up Jupyterlab

jupyter lab notebooks/

Docker

When available simply run docker compose to start a Jupyter Lab instance.

  1. Start Jupyter Lab from a Docker container:

    docker compose up
  2. Copy Jupyter Lab URL to web browser:

Stop and remove the container

  1. Stop Docker container with CTRL + C

  2. Remove container:

    docker compose down