MDALGO: Difference between revisions
No edit summary |
No edit summary |
||
| 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]] and lattice dynamics for [[molecular-dynamics calculations]] (in case {{ | Description: Specifies the [[thermostat]] and lattice dynamics for [[molecular-dynamics calculations]] (in case {{TAG|IBRION|0}}). | ||
---- | ---- | ||
The algorithm for the [[thermostat]] and lattice dynamics is a crucial choise for any [[molecular-dynamics calculations|molecular-dynamics (MD) calculations]] ({{ | 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. | ||
{{ | {{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. | ||
{{NB|mind|{{ | {{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.}} | ||
== Options == | == Options == | ||
=== {{ | === {{TAG|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 {{TAG|ANDERSEN_PROB}}. For an [[NVE ensemble]], set {{ | :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]].|:}} | ||
=== {{ | === {{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]] ({{ | {{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|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{{cite|parrinello:prl:1980}}{{cite|parrinello:jap:1981}} combined with a [[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 {{ | :* [[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 {{ | :* [[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]]. | ||
:Also see [[stochastic boundary conditions]]. | :Also see [[stochastic boundary conditions]]. | ||
=== {{ | === {{TAG|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 {{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)]] === | ||
{{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> | <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}}. | :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 {{ | :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 {{ | :For VASP 5.x {{TAGDEF|MDALGO|11}} selects the [[Andersen thermostat]]. This is replaced by {{TAG|MDALGO|1}}. | ||
=== {{ | === {{TAG|MDALGO|21}} (deprecated) === | ||
:For VASP 5.x it selects the [[Nosé-Hoover thermostat]]. This is replaced by {{ | :For VASP 5.x it selects the [[Nosé-Hoover thermostat]]. This is replaced by {{TAG|MDALGO|2}}. | ||
== Related tags and articles == | == Related tags and articles == | ||
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 = 4with NHC_NCHAINS = 1 ). The control tags forMDALGO = 4may 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 = 3and 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.
- 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
- 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
General MD-related tags: IBRION, NSW, POTIM, ISIF, RANDOM_SEED
MD output: REPORT