PointDefectDiffusion

Calculation class

class PointDefectDiffusion(model: str | Path | IOBase | DataModelDict | None = None, name: str | None = None, params: str | Path | IOBase | dict = None, **kwargs: any)

Bases: Calculation

Class for managing point defect diffusion calculations

build_model() DataModelDict

Generates and returns model content based on the values set to object.

calc_inputs() dict

Builds calculation inputs from the class’s attributes

property commands: LammpsCommands

LammpsCommands subset

property compare_fterms: dict

The terms to compare metadata values using a tolerance.

Type:

dict

property compare_terms: list

The terms to compare metadata values absolutely.

Type:

list

property d: float

Average diffusion constant

Type:

float

property defect: PointDefect

PointDefect subset

property dumpsteps: int

How often atomic configurations are dumped

Type:

int

property dx: float

Diffusion constant in the x direction

Type:

float

property dy: float

Diffusion constant in the y direction

Type:

float

property dz: float

Diffusion constant in the z direction

Type:

float

property equilsteps: int

The number of NVT MD steps performed before the NVE runsteps

Type:

int

property filenames: list

the names of each file used by the calculation.

Type:

list

load_model(model: str | DataModelDict, name: str | None = None)

Loads record contents from a given model.

Parameters:
  • model (str or DataModelDict) – The model contents of the record to load.

  • name (str, optional) – The name to assign to the record. Often inferred from other attributes if not given.

load_parameters(params: dict | str | IOBase, key: str | None = None)

Reads in and sets calculation parameters.

Parameters:
  • params (dict, str or file-like object) – The parameters or parameter file to read in.

  • key (str, optional) – A new key value to assign to the object. If not given, will use calc_key field in params if it exists, or leave the key value unchanged.

master_prepare_inputs(branch: str = 'main', **kwargs: any) dict

Utility method that build input parameters for prepare according to the workflows used by the NIST Interatomic Potentials Repository. In other words, transforms inputs from master_prepare into inputs for prepare.

Parameters:
  • branch (str, optional) – Indicates the workflow branch to prepare calculations for. Default value is ‘main’.

  • **kwargs (any) – Any parameter modifications to make to the standard workflow prepare scripts.

Returns:

params – The full set of prepare parameters based on the workflow branch

Return type:

dict

property measured_pressure_xx: float

Measured relaxation pressure component xx

Type:

float

property measured_pressure_xx_std: float

Standard deviation for measured_pressure_xx

Type:

float

property measured_pressure_yy: float

Measured relaxation pressure component yy

Type:

float

property measured_pressure_yy_std: float

Standard deviation for measured_pressure_yy

Type:

float

property measured_pressure_zz: float

Measured relaxation pressure component zz

Type:

float

property measured_pressure_zz_std: float

Standard deviation for measured_pressure_zz

Type:

float

property measured_temperature: float

Measured temperature for the relaxed system

Type:

float

property measured_temperature_std: float

Standard deviation for measured_temperature

Type:

float

metadata() dict

Generates a dict of simple metadata values associated with the record. Useful for quickly comparing records and for building pandas.DataFrames for multiple records of the same style.

property modelroot: str

The root element of the content

Type:

str

property multikeys: list

Calculation key sets that can have multiple values during prepare.

Type:

list

property natoms: int

Number of atoms in the defect system

Type:

int

property nsamples: int

Number of measurement samples used in mean, std values

Type:

int

property potential: LammpsPotential

LammpsPotential subset

property potential_energy: float

Potential energy for the relaxed system

Type:

float

property potential_energy_std: float

Standard deviation for potential_energy

Type:

float

process_results(results_dict: dict)

Processes calculation results and saves them to the object’s results attributes.

Parameters:

results_dict (dict) – The dictionary returned by the calc() method.

property randomseed: int

A random generator seed

Type:

int

property runsteps: int

The number of NVE MD steps where diffusion is evaluated

Type:

int

set_values(name: str | None = None, **kwargs: any)

Set calculation values directly. Any terms not given will be set or reset to the calculation’s default values.

Parameters:
  • name (str, optional) – The name to assign to the calculation. By default, this is set as the calculation’s key.

  • temperature (str, optional) – The target run temperature

  • thermosteps (int, optional) – Indicates how frequently thermo data is recorded.

  • dumpsteps (int, optional) – Indicates how frequently atomic configurations are saved as LAMMPS dump files.

  • runsteps (int, optional) – The number of NVE MD steps to perform where the atomic mean squared displacements are measured.

  • equilsteps (int, optional) – The number of NVT MD steps to perform prior to the NVE run steps.

  • randomseed (int, optional) – A random number generator seed that is used to create initial atomic velocities.

  • **kwargs (any, optional) – Any keyword parameters supported by the set_values() methods of the parent Calculation class and the subset classes.

property singularkeys: list

Calculation keys that can have single values during prepare.

Type:

list

property system: AtommanSystemLoad

AtommanSystemLoad subset

property system_mods: AtommanSystemManipulate

AtommanSystemManipulate subset

property temperature: float

Target relaxation temperature

Type:

float

property templatekeys: dict

The calculation-specific input keys and their descriptions.

Type:

dict

property thermosteps: int

How often termo data is recorded

Type:

int

property total_energy: float

Total energy for the relaxed system

Type:

float

property total_energy_std: float

Standard deviation for total_energy

Type:

float

property units: Units

Units subset