MDALGO: Difference between revisions

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


Description: Specifies the thermostat for [[MD calculations]] (in case {{TAGO|IBRION|0}}).
Description: Specifies the [[thermostat]] and lattice dynamics for [[molecular-dynamics calculations]] (in case {{TAG|IBRION|0}}).
----
----
{{NB|mind|All options except {{TAGO|MDALGO|0}} require a {{VASP}} executable which was compiled with the [[Precompiler options#-Dtbdyn|<code>-Dtbdyn</code>]] precompiler option enabled. This is usually the case because the option is present by default in all shipped [[makefile.include]] templates since {{VASP}} 5.4.4.}}
{{TAG|MDALGO}}=1,2,3,4,5 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]]


The main output file is the {{FILE|REPORT}} file.
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.


== {{TAGDEF|MDALGO|0}}: Standard molecular dynamics ==
{{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.
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 {{TAGDEF|SMASS|-3}}. {{NB|deprecated|If possible, we recommend using one of the newer Nosé-Hoover thermostat implementations {{VASP}} provides ({{TAGO|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).}}
{{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.}}


== {{TAGDEF|MDALGO|1}}: [[Andersen thermostat]] ==
== Options ==


The [[Andersen thermostat]] can be used to sample an [[NVT ensemble]], which requires setting an appropriate value for {{TAG|ANDERSEN_PROB}}.
=== {{TAG|MDALGO|1}}: [[Andersen thermostat]] ===


For {{TAGDEF|ANDERSEN_PROB|0.0}}, the thermostat is inactive, such that the [[NVE ensemble]] is sampled. 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 {{TAGDEF|TEBEG|<0.1}}, some part of the code assumes it is used for [[structure optimization]] and not an [[molecular-dynamics calculations|MD run]].}}  
: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]].|:}}  


== {{TAGDEF|MDALGO|2}}: [[Nosé-Hoover thermostat]] ==
=== {{TAG|MDALGO|2}}: [[Nosé-Hoover thermostat]] ===


The [[Nosé-Hoover thermostat]] is currently only available for the [[NVT ensemble]]. It requires setting an appropriate value for {{TAG|SMASS}}.
:The [[Nosé-Hoover thermostat]] is currently only available for the [[NVT ensemble]]. It requires setting an appropriate value for {{TAG|SMASS}}.
{{NB|tip|The [[Nosé-Hoover thermostat]] is a special case of the [[Nosé-Hoover chain thermostat]] ({{TAGDEF|MDALGO|4}} with {{TAGDEF|NHC_NCHAINS|1}}). The control tags for {{TAGDEF|MDALGO|4}} may be more convenient to use than the older implementation ({{TAGDEF|MDALGO|2}}).}}
{{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}}).|:}}


== {{TAGDEF|MDALGO|3}}: [[Langevin thermostat]] ==
=== {{TAG|MDALGO|3}}: [[Langevin thermostat]] ===


The [[Langevin thermostat]] is available for sampling an [[NVT ensemble]] as well as sampling an [[NpT ensemble]].
: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]].
* For an [[NVT ensemble]], fix the cell shape and volume with {{TAGDEF|ISIF|2}} and set an appropriate value for the friction coefficients for all species in the {{FILE|POSCAR}} file by means of the {{TAG|LANGEVIN_GAMMA}} tag.
:* [[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 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]].
:* [[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]].
#Set {{TAGDEF|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.
#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.


Also see [[stochastic boundary conditions]].
:Also see [[stochastic boundary conditions]].


== {{TAGDEF|MDALGO|4}}: [[Nosé-Hoover chain thermostat]] ==
=== {{TAG|MDALGO|4}}: [[Nosé-Hoover chain thermostat]] ===
The [[Nosé-Hoover chain thermostat]] can be 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}}.  
: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|MDALGO}}=5: [[CSVR thermostat|Canonical sampling through velocity-rescaling (CSVR thermostat)]] ==
=== {{TAG|MDALGO|5}}: [[CSVR thermostat|Canonical sampling through velocity-rescaling (CSVR thermostat)]] ===
{{NB|mind|This option is available as of VASP 6.4.3.}}
{{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}}.


The [[CSVR thermostat]] can be used to sample an [[NVT ensemble]]. It requires setting {{TAG|CSVR_PERIOD}}.
=== {{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}}.
 
=== {{TAG|MDALGO|0}} (deprecated) ===
: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|MDALGO|11}} (deprecated) ===
:For VASP 5.x {{TAGDEF|MDALGO|11}} selects the [[Andersen thermostat]]. This is replaced by {{TAG|MDALGO|1}}.


== {{TAG|MDALGO}}=13: Multiple Andersen thermostats ==
=== {{TAG|MDALGO|21}} (deprecated) ===
<div id="multiAnderson"></div>
:For VASP 5.x it selects the [[Nosé-Hoover thermostat]]. This is replaced by {{TAG|MDALGO|2}}.
Up to three user-defined atomic subsystems may be coupled with independent [[Andersen thermostat|Andersen thermostats]]<ref name="Andersen80"/> ({{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}}.


== Related tags and articles ==
== Related tags and articles ==
{{TAG|IBRION}},
{{TAG|ISIF}},
{{TAG|SMASS}},
{{TAG|ANDERSEN_PROB}},
{{TAG|RANDOM_SEED}},
{{TAG|LBLUEOUT}},
{{TAG|SHAKETOL}},
{{TAG|SHAKEMAXITER}},
{{TAG|HILLS_H}},
{{TAG|HILLS_W}},
{{TAG|HILLS_BIN}},
{{TAG|INCREM}},
{{TAG|VALUE_MIN}},
{{TAG|VALUE_MAX}},
{{TAG|LANGEVIN_GAMMA}},
{{TAG|LANGEVIN_GAMMA_L}},
{{TAG|PMASS}},
{{TAG|NSUBSYS}},
{{TAG|TSUBSYS}},
{{TAG|PSUBSYS}},
{{FILE|ICONST}},
{{FILE|PENALTYPOT}},
{{FILE|HILLSPOT}},
{{FILE|REPORT}}


{{sc|MDALGO|Examples|Examples that use this tag}}
:::{| 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>
</references>
</references>
----


[[Category:INCAR tag]][[Category:Molecular dynamics]][[Category:Advanced molecular-dynamics sampling]][[Category:Howto]]
[[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