RelaxBox

Calculation class

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

Bases: Calculation

Class for managing box-only relaxations

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 filenames: list

the names of each file used by the calculation.

Type:

list

property final_box: Box

Relaxed unit cell box

Type:

atomman.Box

property final_dump: dict

Info about the final dump file

Type:

dict

property initial_dump: dict

Info about the initial dump file

Type:

dict

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_xy: float

Measured relaxation pressure component xy

Type:

float

property measured_pressure_xz: float

Measured relaxation pressure component xz

Type:

float

property measured_pressure_yy: float

Measured relaxation pressure component yy

Type:

float

property measured_pressure_yz: float

Measured relaxation pressure component yz

Type:

float

property measured_pressure_zz: float

Measured relaxation pressure component zz

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 potential: LammpsPotential

LammpsPotential subset

property potential_energy: float

Potential energy per atom for the relaxed system

Type:

float

property pressure_xx: float

Target relaxation pressure component xx

Type:

float

property pressure_xy: float

Target relaxation pressure component xy

Type:

float

property pressure_xz: float

Target relaxation pressure component xz

Type:

float

property pressure_yy: float

Target relaxation pressure component yy

Type:

float

property pressure_yz: float

Target relaxation pressure component yz

Type:

float

property pressure_zz: float

Target relaxation pressure component zz

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.

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.

  • pressure_xx (float, optional) – The target Pxx pressure component for the relaxation.

  • pressure_yy (float, optional) – The target Pyy pressure component for the relaxation.

  • pressure_zz (float, optional) – The target Pzz pressure component for the relaxation.

  • pressure_xy (float, optional) – The target Pxy pressure component for the relaxation.

  • pressure_xz (float, optional) – The target Pxz pressure component for the relaxation.

  • pressure_yz (float, optional) – The target Pyz pressure component for the relaxation.

  • strainrange (float, optional) – The magnitide of the strain to use for evaluating the elastic constants, which are then used to relax the box dimensions.

  • **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 strainrange: float

Strain range size used during box relaxation

Type:

float

property system: AtommanSystemLoad

AtommanSystemLoad subset

property system_mods: AtommanSystemManipulate

AtommanSystemManipulate subset

property templatekeys: dict

The calculation-specific input keys and their descriptions.

Type:

dict

property units: Units

Units subset