MDALGO: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(233 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{TAGDEF|MDALGO|0 {{!}} 1 {{!}} 2 {{!}} 3 {{!}} 11 {{!}} 21 {{!}} 13|0}}
{{TAGDEF|MDALGO|0 {{!}} 1 {{!}} 2 {{!}} 3 {{!}} 4 {{!}} 5 {{!}} 11 {{!}} 21 {{!}} 13 |0}}


Description: {{TAG|MDALGO}} specifies the molecular dynamics simulation protocol (in case {{TAG|IBRION}}=0 and VASP was compiled with [[Precompiler_flags|-Dtbdyn]]).  
Description: Specifies the [[thermostat]] and lattice dynamics for [[molecular-dynamics calculations]] (in case {{TAG|IBRION|0}}).
----
----


*{{TAG|MDALGO}}=0
The algorithm for the [[thermostat]] and lattice dynamics is a crucial choise for any [[molecular-dynamics calculations|molecular-dynamics (MD) calculations]] ({{TAG|IBRION|0}}). In combination with the selected lattice degrees of freedom ({{TAG|ISIF}}), {{TAG|MDALGO}} determines the [[ensemble]] that is sampled during the [[molecular-dynamics calculations|MD run]]. The main output file is the {{FILE|REPORT}} file.
:Standard molecular dynamics ({{TAG|IBRION}}=0), the same behavior as if VASP were compiled without [[Precompiler_flags|-Dtbdyn]].


*{{TAG|MDALGO}}=1
{{TAG|MDALGO|op=>=1}} can be applied in the context of standard [[molecular-dynamics calculations]], [[constrained molecular dynamics]], [[metadynamics calculations]], the [[slow-growth approach]], monitoring geometric parameters using the {{FILE|ICONST}} file, [[biased molecular dynamics]], and more.
:''NVT''-simulation with Andersen thermostat. In the approach proposed by Andersen<ref name="Andersen80"/> 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 {{TAG|ANDERSEN_PROB}}. The total number of collisions with the heat-bath is written in the file {{FILE|REPORT}} for each MD step.
{{NB|mind|{{TAG|MDALGO|0|op=>=}} requires compilation with the precompiler option [[Precompiler options#-Dtbdyn|<code>-Dtbdyn</code>]]. This option is present by default in all [[makefile.include]] templates since {{VASP}} 5.4.4.}}


*{{TAG|MDALGO}}=2
== Options ==
:Nose-Hoover thermostat ({{TAG|SMASS}} needs to be specified in the {{FILE|INCAR}} file).


*{{TAG|MDALGO}}=3
=== {{TAG|MDALGO|1}}: [[Andersen thermostat]] ===
:''NVT''-simulation with Langevin thermostat.<ref name="Allen91"/>


:The Langevin thermostat maintains the temperature through a modification of Newton's equations of motion
:The [[Andersen thermostat]] can be used to sample an [[NVT ensemble]] or [[NVE ensemble]]. It requires setting an appropriate value for {{TAG|ANDERSEN_PROB}}. For an [[NVE ensemble]], set {{TAG|ANDERSEN_PROB|0.0}}. This is usually done after thermalization to a certain target temperature. {{NB|tip|Leave the value for {{TAG|TEBEG}} that was set in the thermalization. For {{TAG|TEBEG|0.1|op=<}}, some part of the code assumes it is used for [[structure optimization]] and not an [[molecular-dynamics calculations|MD run]].|:}}
::<math>
\dot{r_i} = p_i/m_i \qquad
\dot{p_i} = F_i - {\gamma}_i\,p_i + f_i,
</math>
:where ''F<sub>i</sub>'' is the force acting on atom ''i'' due to the interaction potential, &gamma;<sub>i</sub> is a friction coefficient, and ''f<sub>i</sub>'' is a random force with dispersion &sigma;<sub>i</sub> related to &gamma;<sub>i</sub> through:
::<math>
\sigma_i^2 = 2\,m_i\,{\gamma}_i\,k_B\,T/{\Delta}t
</math>
:with &Delta;''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 &gamma;.


:The Langevin thermostat is controlled by the {{TAG|LANGEVIN_GAMMA}} and {{TAG|LANGEVIN_GAMMA_L}} tags.
=== {{TAG|MDALGO|2}}: [[Nosé-Hoover thermostat]] ===


*{{TAG|MDALGO}}=11
:The [[Nosé-Hoover thermostat]] is currently only available for the [[NVT ensemble]]. It requires setting an appropriate value for {{TAG|SMASS}}.
:[[Metadynamics]] with Andersen thermostat<ref name="Andersen80"/> (see remarks under {{TAG|MDALGO}}=1 as well).
{{NB|tip|The [[Nosé-Hoover thermostat]] is a special case of the [[Nosé-Hoover chain thermostat]] ({{TAG|MDALGO|4}} with {{TAGDEF|NHC_NCHAINS|1}}). The control tags for {{TAG|MDALGO|4}} may be more convenient to use than the older implementation ({{TAG|MDALGO|2}}).|:}}


*{{TAG|MDALGO}}=21
=== {{TAG|MDALGO|3}}: [[Langevin thermostat]] ===
:[[Metadynamics]] with Nose-Hoover Thermostat ({{TAG|SMASS}} needs to be specified in the {{FILE|INCAR}} file).


*{{TAG|MDALGO}}=13
:The [[Langevin thermostat]] is available for sampling the [[NVT ensemble]], [[NpT ensemble]] and [[NpH ensemble]]. The Langevin dynamics in the [[NpT ensemble]] is calculated by the method of Parrinello and Rahman{{cite|parrinello:prl:1980}}{{cite|parrinello:jap:1981}} combined with a [[Langevin thermostat]].
:Up to three user-defined atomic subsystems coupled with independent Andersen thermostats<ref name="Andersen80"/> (see remarks under {{TAG|MDALGO}}=1 as well).
:* [[NVT ensemble]]: Set an appropriate value for the friction coefficients ({{TAG|LANGEVIN_GAMMA}}) for all species in the {{FILE|POSCAR}} file to enables the [[Langevin thermostat]]. Fix the cell shape and volume with {{TAG|ISIF|2|op=<=}}.
:The {{FILE|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:
:* [[NpT ensemble]]: To enable lattice dynamics set {{TAG|ISIF|3}} and specify a separate set of friction coefficient for the lattice degrees-of-freedom ({{TAG|LANGEVIN_GAMMA_L}}) as well as a ficticious mass for the lattice degrees-of-freedom ({{TAG|PMASS}}). At the moment, dynamics with ''fixed volume+variable shape'' ({{TAG|ISIF|4}}) or ''fixed shape+variable volume'' ({{TAG|ISIF|7}}) are not available. Optionally, one may define an external pressure ({{TAG|PSTRESS}}). Like for the NVT ensemble, set an appropriate value for the friction coefficients ({{TAG|LANGEVIN_GAMMA}}) for all species in the {{FILE|POSCAR}} file to enables the [[Langevin thermostat]].
:*{{TAG|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 {{FILE|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, {{TAG|NSUBSYS}} should be defined as follows:
::<code lang="text">
::{{TAG|NSUBSYS}}= 10 17 20
::</code>
::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.


:*{{TAG|TSUBSYS}}=[real array]
:Also see [[stochastic boundary conditions]].
::Simulation temperature for each subsystem
:*{{TAG|PSUBSYS}}=[real array]
::Collision probability for atoms in each subsystem. Only the values 0&le;{{TAG|PSUBSYS}}&le;1 are allowed.  


== Related Tags and Sections ==
=== {{TAG|MDALGO|4}}: [[Nosé-Hoover chain thermostat]] ===
{{TAG|IBRION}},
:The [[Nosé-Hoover chain thermostat]] can be only used to sample an [[NVT ensemble]] and requires selecting the number of thermostats in the chain via {{TAG|NHC_NCHAINS}} as well as choosing an appropriate setting for the thermostat parameter {{TAG|NHC_PERIOD}}.
{{TAG|ISIF}},
 
{{TAG|SMASS}},
=== {{TAG|MDALGO|5}}: [[CSVR thermostat|Canonical sampling through velocity-rescaling (CSVR thermostat)]] ===
{{TAG|ANDERSON_PROB}},
{{NB|mind|This option is available as of VASP 6.4.3.|:}}
{{TAG|RANDOM_SEED}},
:The [[CSVR thermostat]] can be used to sample an [[NVT ensemble]]. It requires setting {{TAG|CSVR_PERIOD}}.
{{TAG|LBLUEOUT}},
 
{{TAG|SHAKETOL}},
=== {{TAG|MDALGO|13}}: Multiple [[Andersen thermostat|Andersen thermostats]] ===
{{TAG|SHAKEMAXITER}},
<div id="multiAnderson"></div>
{{TAG|HILLS_H}},
:Up to three user-defined atomic subsystems may be coupled with independent [[Andersen thermostat|Andersen thermostats]]{{cite|andersen:jcp:1980}} ({{TAG|MDALGO|1}}). The {{FILE|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 tags must be set: {{TAG|NSUBSYS}}, {{TAG|TSUBSYS}}, and {{TAG|PSUBSYS}}.
{{TAG|HILLS_W}},
 
{{TAG|HILLS_BIN}},
=== {{TAG|MDALGO|0}} (deprecated) ===
{{TAG|INCREM}},
:Selects a [[Nosé-Hoover thermostat]] which allows sampling the [[NVT ensemble]] at temperature {{TAG|TEBEG}}. The [[Nosé-Hoover thermostat]] requires an appropriate setting for {{TAG|SMASS}}. To sample an [[NVE ensemble]] set {{TAG|SMASS|-3}}. {{NB|deprecated|If possible, we recommend using one of the newer Nosé-Hoover thermostat implementations {{VASP}} provides ({{TAG|MDALGO|2 or 4}}). While the results (ensemble averages) should be identical ,this variant comes with some drawbacks regarding post-processing: the atom coordinates in output files will always be wrapped back into the box if atoms cross the periodic boundaries. This makes it impossible to carry out certain analysis, e.g., computing the mean squared displacement (MSD).|:}}
{{TAG|STATUS}},
 
{{TAG|VALUE_MIN}},
=== {{TAG|MDALGO|11}} (deprecated) ===
{{TAG|VALUE_MAX}},
:For VASP 5.x {{TAGDEF|MDALGO|11}} selects the [[Andersen thermostat]]. This is replaced by {{TAG|MDALGO|1}}.
{{TAG|LANGEVIN_GAMMA}},
 
{{TAG|LANGEVIN_GAMMA_L}},
=== {{TAG|MDALGO|21}} (deprecated) ===
{{TAG|PMASS}}
:For VASP 5.x it selects the [[Nosé-Hoover thermostat]]. This is replaced by {{TAG|MDALGO|2}}.
 
== Related tags and articles ==
 
:::{| cellpadding="5" cellspacing="5" style="width: 90%; border-spacing: 5px;"
| style="text-align:center; background-color:#DEC4EB;"| [[thermostats]] || style="text-align:center; background-color:#DEC4EB;"| related [[INCAR tag]]
|-
|style="background-color:#D9F8F5;"| [[Langevin thermostat|Langevin thermostat and dynamics]] ||style="background-color:#D9F8F5;"|  {{TAG|LANGEVIN_GAMMA}}, {{TAG|LANGEVIN_GAMMA_L}}, {{TAG|PMASS}}, {{TAG|PSTRESS}}
|-
|style="background-color:#D9F8F5;"| [[Andersen thermostat]] ||style="background-color:#D9F8F5;"| {{TAG|ANDERSEN_PROB}}
|-
|style="background-color:#D9F8F5;"| Multiple [[Andersen thermostat|Andersen thermostats]] ||style="background-color:#D9F8F5;"| {{TAG|NSUBSYS}}, {{TAG|TSUBSYS}}, {{TAG|PSUBSYS}}
|-
|style="background-color:#D9F8F5;"| [[Nosé-Hoover thermostat]]  ||style="background-color:#D9F8F5;"| {{TAG|SMASS}}
|-
|style="background-color:#D9F8F5;"| [[Nosé-Hoover chain thermostat]]  ||style="background-color:#D9F8F5;"| {{TAG|NHC_NCHAINS}}, {{TAG|NHC_PERIOD}}, {{TAG|NHC_NRESPA}}, {{TAG|NHC_NS}}
|-
|style="background-color:#D9F8F5;"| [[CSVR thermostat]]  ||style="background-color:#D9F8F5;"| {{TAG|CSVR_PERIOD}}
|}
 
General MD-related tags: {{TAG|IBRION}}, {{TAG|NSW}}, {{TAG|POTIM}}, {{TAG| ISIF}}, {{TAG|RANDOM_SEED}}
 
MD output: {{FILE|REPORT}}
 
{{sc|MDALGO|Howto|Workflows that use this tag}}


== References ==
== References ==
<references>
<references>
<ref name="Andersen80">[http://dx.doi.org/10.1063/1.439486 H. C. Andersen, J. Chem. Phys. 72, 2384 (1980).]</ref>
<ref name="Allen91">M. P. Allen and D. J. Tildesley, ''Computer simulation of liquids'', Oxford university press: New York, 1991.</ref>
</references>
</references>
----
[[The_VASP_Manual|Contents]]


[[Category:INCAR]][[Category:Dynamics]]
[[Category:INCAR tag]][[Category:Molecular dynamics]]

Latest revision as of 07:47, 24 October 2025

MDALGO = 0 | 1 | 2 | 3 | 4 | 5 | 11 | 21 | 13
Default: MDALGO = 0 

Description: Specifies the thermostat and lattice dynamics for molecular-dynamics calculations (in case IBRION = 0).


The algorithm for the thermostat and lattice dynamics is a crucial choise for any molecular-dynamics (MD) calculations (IBRION = 0). In combination with the selected lattice degrees of freedom (ISIF), MDALGO determines the ensemble that is sampled during the MD run. The main output file is the REPORT file.

MDALGO can be applied in the context of standard molecular-dynamics calculations, constrained molecular dynamics, metadynamics calculations, the slow-growth approach, monitoring geometric parameters using the ICONST file, biased molecular dynamics, and more.

Mind: MDALGO >= 0 requires compilation with the precompiler option -Dtbdyn. This option is present by default in all makefile.include templates since VASP 5.4.4.

Options

MDALGO = 1: Andersen thermostat

The Andersen thermostat can be used to sample an NVT ensemble or NVE ensemble. It requires setting an appropriate value for ANDERSEN_PROB. For an NVE ensemble, set ANDERSEN_PROB = 0.0. This is usually done after thermalization to a certain target temperature.
Tip: Leave the value for TEBEG that was set in the thermalization. For TEBEG < 0.1, some part of the code assumes it is used for structure optimization and not an MD run.

MDALGO = 2: Nosé-Hoover thermostat

The Nosé-Hoover thermostat is currently only available for the NVT ensemble. It requires setting an appropriate value for SMASS.
Tip: The Nosé-Hoover thermostat is a special case of the Nosé-Hoover chain thermostat (MDALGO = 4 with NHC_NCHAINS = 1 ). The control tags for MDALGO = 4 may be more convenient to use than the older implementation (MDALGO = 2).

MDALGO = 3: Langevin thermostat

The Langevin thermostat is available for sampling the NVT ensemble, NpT ensemble and NpH ensemble. The Langevin dynamics in the NpT ensemble is calculated by the method of Parrinello and Rahman[1][2] combined with a Langevin thermostat.
  • NVT ensemble: Set an appropriate value for the friction coefficients (LANGEVIN_GAMMA) for all species in the POSCAR file to enables the Langevin thermostat. Fix the cell shape and volume with ISIF <= 2.
  • NpT ensemble: To enable lattice dynamics set ISIF = 3 and specify a separate set of friction coefficient for the lattice degrees-of-freedom (LANGEVIN_GAMMA_L) as well as a ficticious mass for the lattice degrees-of-freedom (PMASS). At the moment, dynamics with fixed volume+variable shape (ISIF = 4) or fixed shape+variable volume (ISIF = 7) are not available. Optionally, one may define an external pressure (PSTRESS). Like for the NVT ensemble, set an appropriate value for the friction coefficients (LANGEVIN_GAMMA) for all species in the POSCAR file to enables the Langevin thermostat.
Also see stochastic boundary conditions.

MDALGO = 4: Nosé-Hoover chain thermostat

The Nosé-Hoover chain thermostat can be only used to sample an NVT ensemble and requires selecting the number of thermostats in the chain via NHC_NCHAINS as well as choosing an appropriate setting for the thermostat parameter NHC_PERIOD.

MDALGO = 5: Canonical sampling through velocity-rescaling (CSVR thermostat)

Mind: This option is available as of VASP 6.4.3.
The CSVR thermostat can be used to sample an NVT ensemble. It requires setting CSVR_PERIOD.

MDALGO = 13: Multiple Andersen thermostats

Up to three user-defined atomic subsystems may be coupled with independent Andersen thermostats[3] (MDALGO = 1). 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 tags must be set: NSUBSYS, TSUBSYS, and PSUBSYS.

MDALGO = 0 (deprecated)

Selects a Nosé-Hoover thermostat which allows sampling the NVT ensemble at temperature TEBEG. The Nosé-Hoover thermostat requires an appropriate setting for SMASS. To sample an NVE ensemble set SMASS = -3.
Deprecated: If possible, we recommend using one of the newer Nosé-Hoover thermostat implementations VASP provides (MDALGO = 2 or 4). While the results (ensemble averages) should be identical ,this variant comes with some drawbacks regarding post-processing: the atom coordinates in output files will always be wrapped back into the box if atoms cross the periodic boundaries. This makes it impossible to carry out certain analysis, e.g., computing the mean squared displacement (MSD).

MDALGO = 11 (deprecated)

For VASP 5.x MDALGO = 11  selects the Andersen thermostat. This is replaced by MDALGO = 1.

MDALGO = 21 (deprecated)

For VASP 5.x it selects the Nosé-Hoover thermostat. This is replaced by MDALGO = 2.

Related tags and articles

thermostats related INCAR tag
Langevin thermostat and dynamics LANGEVIN_GAMMA, LANGEVIN_GAMMA_L, PMASS, PSTRESS
Andersen thermostat ANDERSEN_PROB
Multiple Andersen thermostats NSUBSYS, TSUBSYS, PSUBSYS
Nosé-Hoover thermostat SMASS
Nosé-Hoover chain thermostat NHC_NCHAINS, NHC_PERIOD, NHC_NRESPA, NHC_NS
CSVR thermostat CSVR_PERIOD

General MD-related tags: IBRION, NSW, POTIM, ISIF, RANDOM_SEED

MD output: REPORT

Workflows that use this tag

References