MDALGO: Difference between revisions
Vaspmaster (talk | contribs) No edit summary |
Vaspmaster (talk | contribs) No edit summary |
||
Line 14: | Line 14: | ||
== {{TAG|MDALGO}}=3 == | == {{TAG|MDALGO}}=3 == | ||
'''Note:''' Geometric constraints and metadynamics are not available for Langevin dynamics. | |||
=== ''NVT''-simulation with Langevin thermostat === | === ''NVT''-simulation with Langevin thermostat === | ||
Line 58: | Line 60: | ||
Important: In Parinello-Rahman<ref name="Parrinello80"/><ref name="Parrinello81"/> dynamics (''NpT''), the stress tensor is used to define forces on lattice degrees-of-freedom. In order to achieve a reasonable quality of sampling (and to avoid numerical problems), it is essential to eliminate [[Energy_vs_volume_Volume_relaxations_and Pulay_stress|Pulay stress]]. Unfortunately, this usually requires a rather large value of {{TAG|ENCUT}}. {{TAG|PREC}}=low, frequently used in ''NVT''-MD is not recommended for molecular dynamics with variable cell volume. | Important: In Parinello-Rahman<ref name="Parrinello80"/><ref name="Parrinello81"/> dynamics (''NpT''), the stress tensor is used to define forces on lattice degrees-of-freedom. In order to achieve a reasonable quality of sampling (and to avoid numerical problems), it is essential to eliminate [[Energy_vs_volume_Volume_relaxations_and Pulay_stress|Pulay stress]]. Unfortunately, this usually requires a rather large value of {{TAG|ENCUT}}. {{TAG|PREC}}=low, frequently used in ''NVT''-MD is not recommended for molecular dynamics with variable cell volume. | ||
== {{TAG|MDALGO}}=11 == | == {{TAG|MDALGO}}=11 == |
Revision as of 18:04, 10 April 2014
MDALGO = 0 | 1 | 2 | 3 | 11 | 21 | 13
Default: MDALGO = 0
Description: MDALGO specifies the molecular dynamics simulation protocol (in case IBRION=0 and VASP was compiled with -Dtbdyn).
MDALGO=0
Standard molecular dynamics (IBRION=0), the same behavior as if VASP were compiled without -Dtbdyn.
MDALGO=1
NVT-simulation with Andersen thermostat. In the approach proposed by Andersen[1] the system is thermally coupled to a fictitious heat bath with the desired temperature. The coupling is represented by stochastic impulsive forces that act occasionally on randomly selected particles. The collision probability is defined as an average number of collisions per atom and time-step. This quantity can be controlled by the flag ANDERSEN_PROB. The total number of collisions with the heat-bath is written in the file REPORT for each MD step.
MDALGO=2
Nose-Hoover thermostat (SMASS needs to be specified in the INCAR file).
MDALGO=3
Note: Geometric constraints and metadynamics are not available for Langevin dynamics.
NVT-simulation with Langevin thermostat
The Langevin thermostat[2] maintains the temperature through a modification of Newton's equations of motion
where Fi is the force acting on atom i due to the interaction potential, γi is a friction coefficient, and fi is a random force with dispersion σi related to γi through:
with Δt being the time-step used in the MD to integrate the equations of motion. Obviously, Langevin dynamics is identical to the classical Hamiltonian in the limit of vanishing γ.
- To run an NVT-simulation with a Langevin thermostat, one has to:
- Set the standard MD-related tags: IBRION=0, TEBEG, POTIM, and NSW
- Set ISIF=2
- Set MDALGO=3 to invoke the Langevin thermostat
- Specify friction coefficients for all species in the POSCAR file, by means of the LANGEVIN_GAMMA-tag.
NpT-simulation with Langevin thermostat
In the method of Parrinello and Rahman[3][4], the equations of motion for ionic and lattice degrees-of-freedom are derived from the following Lagrangian:
where si is a position vector in fractional coordinates for atom i, h is the matrix formed by lattice vectors, the tensor G is defined as G=hth, pext is the external pressure, Ω is the cell volume (Ω=det h), and W is a constant with the dimensionality of mass. Integrating equations of motion based on the Parrinello-Rahman Lagrangian generates an NpH ensemble, where the enthalpy is the constant of motion. The Parrinello-Rahman method can be combined with a Langevin thermostat[2] to generate an NpT-ensemble.
- To run an NpT-simulation (Parinello-Rahman dynamics) with a Langevin thermostat, one has to:
- Set the standard MD-related tags: IBRION=0, TEBEG, POTIM, and NSW
- Set ISIF=3 to allow for relaxation of the cell volume and shape. At the moment, dynamics with fixed volume+variable shape (ISIF=4) or fixed shape+variable volume (ISIF=7) are not available.
- Set MDALGO=3 to invoke the Langevin thermostat
- Specify friction coefficients for all species in the POSCAR file, by means of the LANGEVIN_GAMMA-tag.
- Specify a separate set of friction coefficient for the lattice degrees-of-freedom, using the LANGEVIN_GAMMA_L-tag.
- Set a mass for the lattice degrees-of-freedom, using the PMASS-tag.
- Optionally, one may define an external pressure (in kB), by means of the PSTRESS-tag.
The temperatures listed in the OSZICAR are computed using the kinetic energy including contribution from both atomic and lattice degrees of freedom. The external pressure for a simulation can be computed as one third of the trace of the stress-tensor corrected for kinetic contributions, listed in the OUTCAR file. This can be achieved, e.g. using the following command:
grep "Total+kin" OUTCAR| awk 'BEGIN {p=0.} {p+=($2+$3+$4)/3.} END {print "pressure (kB):",p}'
Important: In Parinello-Rahman[3][4] dynamics (NpT), the stress tensor is used to define forces on lattice degrees-of-freedom. In order to achieve a reasonable quality of sampling (and to avoid numerical problems), it is essential to eliminate Pulay stress. Unfortunately, this usually requires a rather large value of ENCUT. PREC=low, frequently used in NVT-MD is not recommended for molecular dynamics with variable cell volume.
MDALGO=11
Metadynamics with Andersen thermostat[1] (see remarks under MDALGO=1 as well).
MDALGO=21
Metadynamics with Nose-Hoover Thermostat (SMASS needs to be specified in the INCAR file).
MDALGO=13
Up to three user-defined atomic subsystems coupled with independent Andersen thermostats[1] (see remarks under MDALGO=1 as well). The POSCAR file must be organized such that the positions of atoms of subsystem i+1 are defined after those for the subsystem i, and the following flags must be set by the user:
- NSUBSYS=[int array]
- Define the last atom for each subsystem (two or three values must be supplied). For instance, if total of 20 atoms is defined in the POSCAR file, and the initial 10 atoms belong to the subsystem 1, the next 7 atoms to the subsystem 2, and the last 3 atoms to the subsystem 3, NSUBSYS should be defined as follows:
- NSUBSYS= 10 17 20
- Note that the last number in the previous example is actually redundant (clearly the last three atoms belong to the last subsystem) and does not have to be user-supplied.
- TSUBSYS=[real array]
- Simulation temperature for each subsystem
- PSUBSYS=[real array]
- Collision probability for atoms in each subsystem. Only the values 0≤PSUBSYS≤1 are allowed.
Related Tags and Sections
IBRION, ISIF, SMASS, ANDERSON_PROB, RANDOM_SEED, LBLUEOUT, SHAKETOL, SHAKEMAXITER, HILLS_H, HILLS_W, HILLS_BIN, INCREM, STATUS, VALUE_MIN, VALUE_MAX, LANGEVIN_GAMMA, LANGEVIN_GAMMA_L, PMASS
References
- ↑ a b c H. C. Andersen, J. Chem. Phys. 72, 2384 (1980).
- ↑ a b M. P. Allen and D. J. Tildesley, Computer simulation of liquids, Oxford university press: New York, 1991.
- ↑ a b M. Parrinello and A. Rahman, Phys. Rev. Lett. 45, 1196 (1980).
- ↑ a b M. Parrinello and A. Rahman, J. Appl. Phys. 52, 7182 (1981).