class matlantis_features.features.md.ase_integrators.NPTIntegrator(timestep: float, temperature: float, pressure: float, ttime: float, pfactor: float, mask: Optional[ndarray] = None, hydrostatic_strain: bool = False)#

Bases: ASEIntegrator

Nose-Hoover/Parrinello-Rahman dynamics integrator generating NPT ensemble, using the ASE backend.

Methods

__init__(timestep, temperature, pressure, …)

Create the Nose-Hoover/Parrinello-Rahman dynamics integrator.

create_ase_dynamics(atoms)

Create the ASE’s Dynamics object.

set_temperature(value)

Set the target temperature of integrator.

__init__(timestep: float, temperature: float, pressure: float, ttime: float, pfactor: float, mask: Optional[ndarray] = None, hydrostatic_strain: bool = False)#

Create the Nose-Hoover/Parrinello-Rahman dynamics integrator.

Parameters
  • timestep (float) – Integration time step in fs unit.

  • temperature (float) – Target temperature of the integrator in K unit.

  • pressure (float) – Target pressure in eV/Angstrom^3 unit.

  • ttime (float) – Characteristic timescale of the thermostat, in fs units.

  • pfactor (float) – A constant in the barostat differential equation.
    If a characteristic barostat timescale of ptime is desired,
    set pfactor to ptime^2 * B (where ptime is in units matching eV, Angstrom, u;
    and B is the Bulk Modulus, given in eV/Angstrom^3).

  • mask (np.ndarray or None, optional) – A 3×3 array indicating if the system can change size along the three Cartesian axes.
    Defaults to None.

  • hydrostatic_strain (bool, optional) – Constrain the cell by only allowing hydrostatic deformation.
    The virial tensor is replaced by np.diag([np.trace(virial)]*3). Defaults to False.

create_ase_dynamics(atoms: Atoms) Dynamics#

Create the ASE’s Dynamics object.

Parameters

atoms (Atoms) – ASE’s Atoms object containing the system to simulate.

Returns

ASE’s Dynamics object.

Return type

Dynamics

set_temperature(value: float) None#

Set the target temperature of integrator.

If this integrator does not support temperature control,
this method raises the NotImplementedError exception.

Parameters

value (float) – Temperature in K unit.