Syntax:
fix ID group-ID npt Tstart Tstop Tdamp p-style args
xyz args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) xy or yz or xz args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) aniso args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units)
Examples:
fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0
Description:
Perform constant NPT integration each timestep using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble.
The desired temperature at each timestep is a ramped value during the run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the units command).
Regardless of what group is specified for this fix, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed and atoms are scaled to new positions, all atoms are re-scaled.
By default, the temperature computed by this fix is also computed for all atoms, regardless of what group is specified. This is because the pressure contains a kinetic energy term which is derived from temperature, and the kinetic energy should be consistent with the virial term computed for all atoms. The way that temperature is computed can be changed by using the fix_modify command. LAMMPS will warn you if you choose to compute temperature on a subset of atoms.
The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration.
The pressure can be controlled in one of several styles, as specified by the p-style argument. Style xyz means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together.
Styles xy or yz or xz means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force.
For style aniso, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces.
For any of the styles except xyz, any of the independent pressure components (e.g. z in xy, or any dimension in aniso) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged.
For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not implemented in LAMMPS.
For all styles, the Pdamp parameter operates like the Tdamp parameter, determining the time scale on which pressure is relaxed.
Restrictions:
Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic.
Related commands:
Default: none