Requests for technical support from the VASP group should be posted in the VASP-forum.

# NpT ensemble

The NpT (isobaric-isothermic) ensemble is selected by setting ISIF=3 in the INCAR file and specifying a thermostat via the tag MDALGO.

The following table shows the possible ensemble and thermostat combinations in VASP:

Thermostat Ensemble Andersen Nose-Hoover Langevin Multiple Andersen NVE MDALGO=1, ANDERSEN_PROB=0.0 NVT MDALGO=1 MDALGO=2 MDALGO=3 MDALGO=13 ISIF=2 ISIF=2 ISIF=2 ISIF=2 NpT not available not available MDALGO=3 not available ISIF=3 NpH MDALGO=3, ISIF=3, LANGEVIN_GAMMA_L=0.0

Currently this ensemble is only implemented for the Langevin thermostat.

*NpT*- ensemble with Langevin thermostat

In the method of Parrinello and Rahman^{[1]}^{[2]}, the equations of motion for ionic and lattice degrees-of-freedom are derived from the following Lagrangian:

where *s _{i}* 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*

^{t}

*h*,

*p*

_{ext}is the external pressure, Ω is the cell volume (Ω=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 is the constant of motion. The Parrinello-Rahman method can be combined with a Langevin thermostat

^{[3]}to generate an

*NpT*-ensemble.

The temperatures listed in the 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 OUTCAR file. This can be achieved, *e.g.* using the following command:
```
grep "Total+kin" OUTCAR| awk 'BEGIN {p=0.} {p+=($2+$3+$4)/3.} END {print "pressure (kB):",p}'
```

Important: In Parinello-Rahman^{[1]}^{[2]} 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 Pulay stress. Unfortunately, this usually requires a rather large value of ENCUT. PREC=low, frequently used in *NVT*-MD is not recommended for molecular dynamics with variable cell volume.

- To run an NpT-simulation (Parinello-Rahman dynamics) with a Langevin thermostat, one has to:

- Set the standard MD-related tags: IBRION=0, TEBEG, POTIM, and NSW.
- Set ISIF=3 to allow for relaxation of the cell volume and shape. At the moment, dynamics with
*fixed volume+variable shape*(ISIF=4) or*fixed shape+variable volume*(ISIF=7) are not available. - Set MDALGO=3 to invoke the Langevin thermostat.
- Specify friction coefficients for all species in the POSCAR file, by means of the LANGEVIN_GAMMA-tag.
- Specify a separate set of friction coefficient for the lattice degrees-of-freedom, using the LANGEVIN_GAMMA_L-tag.
- Set a mass for the lattice degrees-of-freedom, using the PMASS-tag.
- Optionally, one may define an external pressure (in kB), by means of the PSTRESS-tag.

## References