Overview of Desmond Simulations
Desmond simulations model the motion of a collection of atoms – a chemical system – over time according to the laws of classical physics. Such a chemical system exists in a thermodynamic environment, which represents the conditions under which the simulation is carried out. This environment mimics the experimental conditions: whether the temperature or pressure is regulated, for example, or whether the system is isolated so that it cannot exchange energy with its environment.
The chemical system occupies a three-dimensional volume of space of a specified size, and each atom is generally represented by a particle at a specific position in that space. Motion is simulated in discrete timesteps like the frames of a film. From one step to the next, a tiny slice of time goes by, and atom positions are updated accordingly. A simulation consists of many of these frames, collectively painting a picture of the motion of the system.
The movement of the atoms is determined by the initial atom positions and velocities, the thermodynamic environment, and a molecular mechanics force field. The force field is a set of functions and parameters that describe the potential energy of the interactions between the particles in a chemical system.
Given the use of classical physics, the simulations run by Desmond can only approximate full quantum mechanical reality. Completely solving quantum mechanical equations for a given system is generally infeasible for any realistic computing resources. Using molecular dynamics can be a good approximation, but there is a constant tradeoff between accuracy and computational resources. The most accurate results come from shorter timesteps (short enough to capture the vibrational frequency of the modeled atoms), but this impacts the feasible length of the calculation.
Fortunately, Desmond implements a variety of features to enhance performance. These include:
- Highly scalable parallel execution on GPUs
- An algorithm used to minimize interprocess communication
- Configurable settings and plugins, which may be toggled for improved performance