MDALGO: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(191 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: Standard molecular dynamics ==
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: ''NVT''-ensemble with Andersen thermostat ==
{{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.}}


* For a [[Constrained_molecular_dynamics|constrained molecular dynamics]] run with Andersen thermostat, one has to:
== Options ==
#Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
#Set {{TAG|MDALGO}}=1, and choose an appropriate setting for {{TAG|ANDERSEN_PROB}}
#Define geometric constraints in the {{FILE|ICONST}}-file, and set the <tt>STATUS</tt> parameter for the constrained coordinates to 0
#When the free-energy gradient is to be computed, set {{TAG|LBLUEOUT}}=.TRUE.


For a slow-growth simulation, one has to additionally:
=== {{TAG|MDALGO|1}}: [[Andersen thermostat]] ===
<ol start="5">
<li>Specify the transformation velocity-related {{TAG|INCREM}}-tag for each geometric parameter with <tt>STATUS=0</tt></li>.
</ol>


== {{TAG|MDALGO}}=2: ''NVT''-ensemble with Nose-Hoover thermostat==
: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]].|:}}
Nose-Hoover thermostat ({{TAG|SMASS}} needs to be specified in the {{FILE|INCAR}} file).


* For a [[Constrained_molecular_dynamics|constrained molecular dynamics]] run with Nose-Hoover thermostat, one has to:
=== {{TAG|MDALGO|2}}: [[Nosé-Hoover thermostat]] ===
#Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
#Set {{TAG|MDALGO}}=2, and choose an appropriate setting for {{TAG|SMASS}}
#Define geometric constraints in the {{FILE|ICONST}}-file, and set the <tt>STATUS</tt> parameter for the constrained coordinates to 0
#When the free-energy gradient is to be computed, set {{TAG|LBLUEOUT}}=.TRUE.


For a slow-growth simulation, one has to additionally:
:The [[Nosé-Hoover thermostat]] is currently only available for the [[NVT ensemble]]. It requires setting an appropriate value for {{TAG|SMASS}}.
<ol start="5">
{{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}}).|:}}
<li>Specify the transformation velocity-related {{TAG|INCREM}}-tag for each geometric parameter with <tt>STATUS=0</tt></li>.
</ol>


== {{TAG|MDALGO}}=3: ''NVT''- or ''NpT''-ensemble with Langevin thermostat ==
=== {{TAG|MDALGO|3}}: [[Langevin thermostat]] ===
'''Note:''' Geometric constraints and metadynamics are not available for Langevin dynamics.


=== ''NVT''-simulation with 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{{cite|parrinello:prl:1980}}{{cite|parrinello:jap:1981}} combined with a [[Langevin thermostat]].
:* [[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=<=}}.
:* [[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]].


The Langevin thermostat<ref name="Allen91"/> maintains the temperature through a modification of Newton's equations of motion
:Also see [[stochastic boundary conditions]].
:<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;.


*To run an ''NVT''-simulation with a Langevin thermostat, one has to:
=== {{TAG|MDALGO|4}}: [[Nosé-Hoover chain thermostat]] ===
#Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
: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}}.  
#Set {{TAG|ISIF}}=2
#Set {{TAG|MDALGO}}=3 to invoke the Langevin thermostat
#Specify friction coefficients for all species in the {{FILE|POSCAR}} file, by means of the {{TAG|LANGEVIN_GAMMA}}-tag.


=== {{TAG|MDALGO|5}}: [[CSVR thermostat|Canonical sampling through velocity-rescaling (CSVR thermostat)]] ===
{{NB|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 {{TAG|CSVR_PERIOD}}.


=== ''NpT''-simulation with Langevin thermostat ===
=== {{TAG|MDALGO|13}}: Multiple [[Andersen thermostat|Andersen thermostats]] ===
<div id="multiAnderson"></div>
: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}}.


In the method of Parrinello and Rahman<ref name="Parrinello80"/><ref name="Parrinello81"/>, the equations of motion for ionic and lattice degrees-of-freedom are derived from the following Lagrangian:
=== {{TAG|MDALGO|0}} (deprecated) ===
:<math>
: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).|:}}
{\mathcal{L}}(s,h,\dot{s},\dot{h})=\frac{1}{2}\sum_i^N m_i \dot{s_i}^t\,G \dot{s_i}-V(s,h) +\frac{1}{2}W\,\mathrm{Tr}(\dot{h}^t \dot{h}) - p_\mathrm{ext}\Omega,
</math>
where ''s<sub>i</sub>'' 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''=''h''<sup>t</sup>''h'', ''p''<sub>ext</sub> is the external pressure, &Omega; is the cell volume (&Omega;=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 <math>H=E+p_\mathrm{ext}\Omega</math> is the constant of motion. The Parrinello-Rahman method can be combined with a Langevin thermostat<ref name="Allen91"/> to generate an ''NpT''-ensemble.


*To run an ''NpT''-simulation (Parinello-Rahman dynamics) with a Langevin thermostat, one has to:
=== {{TAG|MDALGO|11}} (deprecated) ===
#Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
:For VASP 5.x {{TAGDEF|MDALGO|11}} selects the [[Andersen thermostat]]. This is replaced by {{TAG|MDALGO|1}}.
#Set {{TAG|ISIF}}=3 to allow for relaxation of the cell volume and shape. At the moment, dynamics with ''fixed volume+variable shape'' ({{TAG|ISIF}}=4) or ''fixed shape+variable volume'' ({{TAG|ISIF}}=7) are not available.
#Set {{TAG|MDALGO}}=3 to invoke the Langevin thermostat
#Specify friction coefficients for all species in the {{FILE|POSCAR}} file, by means of the {{TAG|LANGEVIN_GAMMA}}-tag.
#Specify a separate set of friction coefficient for the lattice degrees-of-freedom, using the {{TAG|LANGEVIN_GAMMA_L}}-tag.
#Set a mass for the lattice degrees-of-freedom, using the {{TAG|PMASS}}-tag.
#Optionally, one may define an external pressure (in kB), by means of the {{TAG|PSTRESS}}-tag.  


The temperatures listed in the {{FILE|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 {{FILE|OUTCAR}} file. This can be achieved, ''e.g.'' using the following command:
=== {{TAG|MDALGO|21}} (deprecated) ===
<code lang="text">
:For VASP 5.x it selects the [[Nosé-Hoover thermostat]]. This is replaced by {{TAG|MDALGO|2}}.
grep "Total+kin" OUTCAR| awk 'BEGIN {p=0.} {p+=($2+$3+$4)/3.} END {print "pressure (kB):",p}'
</code>


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.
== Related tags and articles ==


== {{TAG|MDALGO}}=11: Metadynamics with Andersen thermostat ==
:::{| cellpadding="5" cellspacing="5" style="width: 90%; border-spacing: 5px;"
[[Metadynamics]] with Andersen thermostat<ref name="Andersen80"/> (see remarks under {{TAG|MDALGO}}=1 as well).
| 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}}
|}


* For a biased molecular dynamics run with Andersen thermostat, one has to:
General MD-related tags: {{TAG|IBRION}}, {{TAG|NSW}}, {{TAG|POTIM}}, {{TAG| ISIF}}, {{TAG|RANDOM_SEED}}
#Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
#Set {{TAG|MDALGO}}=11, and choose an appropriate setting for {{TAG|ANDERSEN_PROB}}
#In order to avoid updating of the bias potential, set {{TAG|HILLS_BIN}}={{TAG|NSW}}
#Define collective variables in the {{FILE|ICONST}}-file, and set the <tt>STATUS</tt> parameter for the collective variables to 5
#Define the bias potential in the {{FILE|PENALTYPOT}}-file


The values of all collective variables for each MD step are listed in the {{FILE|REPORT}}-file, check the lines after the string <tt>Metadynamics</tt>.
MD output: {{FILE|REPORT}}


== {{TAG|MDALGO}}=21: Metadynamics with Nose-Hoover Thermostat ==
{{sc|MDALGO|Howto|Workflows that use this tag}}
[[Metadynamics]] with Nose-Hoover Thermostat ({{TAG|SMASS}} needs to be specified in the {{FILE|INCAR}} file).
 
* For a biased molecular dynamics run with Nose-Hoover thermostat, one has to:
#Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
#Set {{TAG|MDALGO}}=21, and choose an appropriate setting for {{TAG|SMASS}}
#In order to avoid updating of the bias potential, set {{TAG|HILLS_BIN}}={{TAG|NSW}}
#Define collective variables in the {{FILE|ICONST}}-file, and set the <tt>STATUS</tt> parameter for the collective variables to 5
#Define the bias potential in the {{FILE|PENALTYPOT}}-file
 
The values of all collective variables for each MD step are listed in the {{FILE|REPORT}}-file, check the lines after the string <tt>Metadynamics</tt>.
 
== {{TAG|MDALGO}}=13: Multiple Anderson thermostats ==
Up to three user-defined atomic subsystems coupled with independent Andersen thermostats<ref name="Andersen80"/> (see remarks under {{TAG|MDALGO}}=1 as well).
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:
*{{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]
: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|IBRION}},
{{TAG|ISIF}},
{{TAG|SMASS}},
{{TAG|ANDERSON_PROB}},
{{TAG|RANDOM_SEED}},
{{TAG|LBLUEOUT}},
{{TAG|SHAKETOL}},
{{TAG|SHAKEMAXITER}},
{{TAG|HILLS_H}},
{{TAG|HILLS_W}},
{{TAG|HILLS_BIN}},
{{TAG|INCREM}},
{{TAG|STATUS}},
{{TAG|VALUE_MIN}},
{{TAG|VALUE_MAX}},
{{TAG|LANGEVIN_GAMMA}},
{{TAG|LANGEVIN_GAMMA_L}},
{{TAG|PMASS}}


== 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>
<ref name="Parrinello80">[http://dx.doi.org/10.1103/PhysRevLett.45.1196 M. Parrinello and A. Rahman, Phys. Rev. Lett. 45, 1196 (1980).]</ref>
<ref name="Parrinello81">[http://dx.doi.org/10.1063/1.328693 M. Parrinello and A. Rahman, J. Appl. Phys. 52, 7182 (1981).]</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