Difference between revisions of "Molecular dynamics simulation"
m |
m |
||
Line 70: | Line 70: | ||
* [[NanoEngineer-1]] | * [[NanoEngineer-1]] | ||
+ | * {{todo|add notes on existing models}} | ||
== External links == | == External links == |
Revision as of 12:16, 21 November 2021
This is about non-quantum-mechanical classical mass and spring simulations of molecular systems.
A classical non-quantum mechanical simulation can work quite well because
nanomechanics is barely mechanical quantummechanics.
Especially in the case of crystolecules their dynamic behavior is usually not at all sensitive on small
inaccuracies/perturbations which can be the case for protein folding problems.
Contents
The three kind of springs
There are three forces/moments that nead to be treated:
stretchning/compression, bending, and torsion
- bond stretch and compression - e.g. modeled by the Lennard Jones potential
- bond bending relative to other bonds
- bond torsion over three bonds - dihedral angle
Computational complexity
With larger sizes of simulated systems molecular dynamic simulations can
quickly become quite computationally expensive and slow.
Calculating all non-local interactions of atoms gives (n^2-n)/2 interactions to handle. So this would scale with O(n^2). Practically a cutoff distance is implemented. Unfortunately such a cutoff is not sufficient to drop the complexity down to O(n).
The problem are indirect interactions of the kind: Atom1 pushes atom2 pushes atom three pushes .... pushes atom N. Where in naive molecular dynamic simulation implementations it will take n steps for the pushing to propagate n atoms. Worse if the equilibration is a wave needing to run back and forth the chain of atoms several times to reach a state near equilibrium.
A novel(?) optimization strategy
Unlike proteins crystolecules have much stronger internal bonds in all directions (all covalent).
This may provide an opportunity for massive acceleration of molecular dynamic simulations by some smart optimizations.
The idea:
Instead of only displacing and rotating all atoms individually depending on their current local environment
use a global space distorting displacement vector field that contains low spacial frequencies.
That global space distorting displacement vector field could be calculated from
- a global stress vector field and
- an approximated bulk stiffness tensor field
Both calculated from the local interactions
Spacial Fourier transformations of the fields may be helpful.
Especially the low spacial frequency components are the ones that can bridge to far away areas
within one computational step, circumventing the need for propagating forces and displacements
from one atom to the next each taking a computation step.
Maybe such techniques do already exist.
(TODO: Investigate if such MD simulation optimizations exist.)
Suspicion: They may not yet exist because they may not be very applicable/effective
for simulations of protein which is one of the main application cases of today(2021)
Calculating temporal evolution – aka integration of equations of motion
Desired are "stable" integration algorithms.
That is the modes don't tend to "explode".
One issue (especially with bigger simulation time-steps) is that
atomic nuclei can end up way too close together where electrostatic repulsion force is excessive
and in the next simulation step they shoot off far far out of the simulation area
very much not representing actual physics.
Related
- NanoEngineer-1
- (TODO: add notes on existing models)
External links
Wikipedia: