Molecular Dynamics
Info
A hands-on example for setting up and running a molecular dynamics run Tutorial.
vibes supports running molecular dynamics simulations via ASE in NVE, NVT, and NPT ensembles. A minimal md.in
for running 1000 steps of Velocity Verlet dynamics with a Lennard Jones calculator would be
[files]
geometry: geometry.in
[calculator]
name: lj
[calculator.parameters]
sigma: 3.4
[md]
driver: VelocityVerlet
timestep: 1
maxsteps: 1000
Click: Default values for the complete list of supported keywords
NVE dynamics using Velocity Verlet propagation (vibes template md
)
[md]
driver: VelocityVerlet
timestep: 1
maxsteps: 1000
compute_stresses: False
workdir: md
[md.kwargs]
logfile: md.log
vibes template md --nvt
): [md]
driver: Langevin
timestep: 1
maxsteps: 1000
compute_stresses: False
workdir: md
[md.kwargs]
temperature: 300
friction: 0.02
logfile: md.log
vibes template md --npt
): [md]
driver: NPTBerendsen
timestep: 1
maxsteps: 1000
compute_stresses: False
workdir: md
[md.kwargs]
temperature: 300
taut: 500.0
taup: 1000.0
pressure: 1.01325
compressibility: 4.57e-05
logfile: md.log
inhomogeneous: False
Sections#
[md]
#
driver
#
str
: The MD algorithm. Either VelocityVerlet
(NVE ensemble), Langevin
(NVT ensemble), or NPTBerendsen
(NPT ensemble).
timestep
#
float
: the integration timestep in fs.
maxsteps
#
int
: the number of timesteps to perform.
compute_stresses
#
bool/int
: specify whether to compute stress during the MD simulation (more costly in ab initio MD).
workdir
#
str
: the working directory for the MD simulation.
[md.kwargs]
#
These are keyword arguments that go straight to the ASE class implementing the MD algorithm, e.g.,
cls = Langevin
md = cls(**settings.md.kwargs)
The keywords are documented in ASE:
For NPTBerendsen
, we add the inhomogeneous
keyword, which decides if the Inhomogeneous_NPTBerendsen
driver is used instead of NPTBerendsen
. With Inhomogeneous_NPTBerendsen
, the basis vectors are scaled independently, i.e. the size of the unit cell can change in three directions, but the angles remain constant. By default, inhomogeneous=False
.
Warning
In ASE, the temperature
is usually given as an energy in {\rm eV}. In FHI-vibes, we use Kelvin consistently. temperature: 300
thus corresponds to setting the thermostat to 300\,{\rm K}.