ensemble (MTTK)

The variants of the ensemble keyword described on this page implement the Nosé-Hoover thermostat [Hoover1996] and the Parrinello-Rahman barostat [Parrinello1981]. Both the thermostat and barostat are enhanced by the Nosé-Hoover chain method as recommended in [Martyna1994]. The resulting so-called Martyna-Tuckerman-Tobias-Klein (MTTK) integrators enable one to perform simulations in the isothermal-isobaric (NPT) or isenthalpic (NPH) ensembles.

This implementation of the MTTK integrator provides more fine-grained control than “standard” ensembles. The style of the npt_mttk and nph_mttk keywords is therefore slightly different.

Syntax

The parameters for running in the isothermal-isobaric ensemble (NPT) can be specified as follows:

ensemble npt_mttk temp <T_1> <T_2> <direction> <p_1> <p_2> tperiod <tau_temp> pperiod <tau_press>

<T_1> and <T_2> specify the initial and final temperature, respectively. The temperature will vary linearly from <T_1> to <T_2> during the simulation process. The optional <tau_temp> parameter, which defaults to 100, determines the period of the thermostat in units of the timestep. It determines how strongly the system is coupled to the thermostat.

The <direction> parameter can assume one or more of the following values: iso, aniso, tri, x, y, z, xy, yz, xz. Here, iso, aniso, and tri use hydrostatic pressure as the target pressure. iso updates the simulation cell isotropically. aniso updates the dimensions of the simulation cell along \(x\), \(y\), and \(z\) independently. tri updatess all six degrees of freedom of the simulation cell. Using x, y, z, xy, yz, xz allows one to specify each stress component independently.

The parameters <p_1> and <p_2> specify the initial and final pressure, respectively. Finally, the optional parameter <tau_press>, which defaults to 1000, determines the period of the barostat in units of the timestep. It determines how strongly the system is coupled to the barostat.

The nph_mttk keyword can be used in analoguous fashion to run simulations in the isenthalpic (NPH) ensemble:

ensemble nph_mttk <direction> <p_1> <p_2> <tau_press>

Examples

Below follow some examples of how to use these keywords for different ensembles.

NPT Ensemble

ensemble npt_mttk temp 300 300 iso 10 10

This command sets the target temperature to 300 K and the target pressure to 10 GPa. The cell shape will not change during the simlation but only the volume. These conditions are suitable for simulating liquids. If not constrained, the cell shape may undergo extreme changes since liquids have a vanishing shear modulus (in the long-time limit).

ensemble nvt_mttk temp 300 1000 iso 100 100

This command ramps the temperature from 300 K to 1000 K, while keeping the pressure at 100 GPa.

ensemble npt_mttk temp 300 300 aniso 10 10

This command replaces iso with ansio. The three dimensions of the cell thus change independently, but xy, xz and yz remain unchanged.

ensemble npt_mttk temp 300 300 tri 10 10

All six degrees of freedom of the simulation cell are allowed to change. The simulated system will converge to fully hydrostatic pressure. Note that with iso and aniso, there is no guarantee that the pressure is hydrostatic, as the system is constrained.

ensemble npt_mttk temp 300 300 x 5 5 y 0 0 z 0 0

Using these settings one applies a pressure of 5 GPa along the \(x\) direction, and 0 GPa along the \(y\) and \(z\) directions.

ensemble npt_mttk temp 300 300 x 5 5

Using this setup one applies 5 GPa of pressure along the \(x\) direction while fixing the cell dimensions along the other directions.

NPH Ensemble

ensemble nph_mttk iso 10 10

When using this command one performs a NPH simulation at 10 GPa, allowing only changes in the volume but not the cell shape.