asimtools.asimmodules.ase_md package

asimtools.asimmodules.ase_md.ase_md module

Describe the script briefly here. If this is a script that runs multiple steps, describe it here using reStructuredText to generate autodocs

Cite the papers where the method/script was first introduced here as well

Author: mkphuthi@github.com

asimtools.asimmodules.ase_md.ase_md.ase_md(calculator: Dict, image: Dict, timestep: float, nsteps: int = 100, dynamics: str = 'npt', temp: float | None = None, friction: float | None = 0.01, ttime: float | None = 2.455673697116016, pfactor: float | None = None, externalstress: float | None = 0, plot: bool | None = True, time_unit: str | None = 'ase', plot_args: dict | None = None, properties: Sequence | None = ('energy', 'forces', 'stress'), log_interval: int | None = 1, traj_interval: int | None = 1) Dict[source]

Runs ASE MD simulations. This is only recommended for small systems and for testing. For larger systems, use LAMMPS or more purpose-built code

Parameters:
  • calculator (Dict) – Calculator specification, see asimtools.calculators.load_calc()

  • image (Dict) – Image specification, see asimtools.utils.get_atoms()

  • timestep (float) – Timestep in ASE time units

  • temp (float) – Temperature in Kelvin

  • dynamics (str, optional) – Type of dynamics to run from ‘nvt’, ‘langevin’ and ‘nvt’, defaults to ‘npt’

  • friction (float, optional) – Friction parameter, defaults to 1e-2

  • ttime (float, optional) – Thermostat time constant, defaults to 25*fs

  • pfactor (float, optional) – Pressure factor, defaults to None

  • nsteps (int, optional) – Number of steps to run, defaults to 100

  • externalstress (float, optional) – External stress to apply, defaults to 0

  • plot (bool, optional) – Whether to plot thermodynamic properties, defaults to True

Returns:

Results dictionary

Return type:

Dict

asimtools.asimmodules.ase_md.ase_md.langevin_nvt(atoms: Atoms, temp: float, nsteps: int, traj_file: str | None = None, friction: float = 0.01, timestep: float = 0.09822694788464063, properties: Sequence | None = ('energy', 'forces', 'stress'), log_interval: int = 1, traj_interval: int | None = 1)[source]

Does Langevin dynamics

Parameters:
  • atoms (ase.Atoms) – atoms object

  • temp (float) – Temperature in Kelvin

  • nsteps (int) – Number of steps to run

  • traj_file (str, optional) – trajectory file name, defaults to None

  • friction (float, optional) – friction parameter, defaults to 1e-2

  • timestep (float, optional) – Timestep in ASE time units, defaults to 1*fs

Returns:

final atoms object and trajectory object

Return type:

ase.Atoms, Trajectory

asimtools.asimmodules.ase_md.ase_md.npt(atoms: Atoms, temp: float, nsteps: int, timestep: float, externalstress: float = 0, traj_file: str | None = None, ttime: float = 2.455673697116016, pfactor: float | None = None, properties: Sequence | None = ('energy', 'forces', 'stress'), log_interval: int = 1, traj_interval: int | None = 1)[source]

Does NPT dynamics

Parameters:
  • atoms (ase.Atoms) – input atoms object

  • temp (float) – Temperature in Kelvin

  • nsteps (int) – Number of steps to run

  • timestep (float) – Timestep in ASE time units

  • externalstress (float, optional) – External pressure to apply, defaults to 0

  • traj_file (str, optional) – trajectory file name, defaults to None

  • ttime (float, optional) – thermostat time constant, defaults to 25*fs

Returns:

final atoms object and trajectory object

Return type:

ase.Atoms, Trajectory

asimtools.asimmodules.ase_md.ase_md.plot_thermo(images: Dict, props: Sequence = ['epot', 'temp', 'ekin', 'etot', 'press'], prefix: str = 'ase_md')[source]

Plots thermodynamic properties of a trajectory

Parameters:
  • images (Dict) – Dictionary of images to read from

  • props (Sequence, optional) – Properties to plot, defaults to [‘epot’, ‘temp’, ‘ekin’, ‘etot’, ‘press’]

  • prefix (str, optional) – Prefix for output file names, defaults to ‘ase_md’

Module contents