e_vs_r_scan.py

Calculation functions

e_vs_r_scan(lammps_command: str, system: System, potential: Potential, mpi_command: str | None = None, ucell: System | None = None, rmin: float = 2.0, rmax: float = 6.0, rsteps: int = 200) dict

Performs a cohesive energy scan over a range of interatomic spaces, r.

Parameters:
  • lammps_command (str) – Command for running LAMMPS.

  • system (atomman.System) – The system to perform the calculation on.

  • potential (atomman.lammps.Potential) – The LAMMPS implemented potential to use.

  • mpi_command (str, optional) – The MPI command for running LAMMPS in parallel. If not given, LAMMPS will run serially.

  • ucell (atomman.System, optional) – The fundamental unit cell correspodning to system. This is used to convert system dimensions to cell dimensions. If not given, ucell will be taken as system.

  • rmin (float, optional) – The minimum r spacing to use (default value is 2.0 angstroms).

  • rmax (float, optional) – The maximum r spacing to use (default value is 6.0 angstroms).

  • rsteps (int, optional) – The number of r spacing steps to evaluate (default value is 200).

Returns:

Dictionary of results consisting of keys:

  • ’r_values’ (numpy.array of float) - All interatomic spacings, r, explored.

  • ’a_values’ (numpy.array of float) - All unit cell a lattice constants corresponding to the values explored.

  • ’Ecoh_values’ (numpy.array of float) - The computed cohesive energies for each r value.

  • ’min_cell’ (list of atomman.System) - Systems corresponding to the minima identified in the Ecoh_values.

Return type:

dict