ElasticDocument#

pydantic model atomate2.common.schemas.elastic.ElasticDocument[source]#

Document containing elastic tensor information and related properties.

field structure: Structure | None = None#

The structure for which the elastic data is calculated.

field elastic_tensor: ElasticTensorDocument | None = None#

Fitted elastic tensor.

field eq_stress: Tuple[Tuple[float, float, float], Tuple[float, float, float], Tuple[float, float, float]] | None = None#

The equilibrium stress of the structure.

field derived_properties: DerivedProperties | None = None#

Properties derived from the elastic tensor.

field fitting_data: FittingData | None = None#

Data used to fit the elastic tensor.

field fitting_method: str | None = None#

Method used to fit the elastic tensor.

field order: int | None = None#

Order of the expansion of the elastic tensor.

classmethod from_stresses(structure, stresses, deformations, uuids, job_dirs, fitting_method=SETTINGS.ELASTIC_FITTING_METHOD, order=None, equilibrium_stress=None, symprec=SETTINGS.SYMPREC, allow_elastically_unstable_structs=True)[source]#

Create an elastic document from strains and stresses.

Parameters:
  • structure (.Structure) – The structure for which strains and stresses were calculated.

  • stresses (list of Stress) – A list of corresponding stresses.

  • deformations (list of Deformation) – A list of corresponding deformations.

  • uuids (list of str) – A list of uuids, one for each deformation calculation.

  • job_dirs (list of str) – A list of job directories, one for each deformation calculation.

  • fitting_method (str) – The method used to fit the elastic tensor. See pymatgen for more details on the methods themselves. The options are: - “finite_difference” (note this is required if fitting a 3rd order tensor) - “independent” - “pseudoinverse”

  • order (int or None) – Order of the tensor expansion to be fitted. Can be either 2 or 3.

  • equilibrium_stress (list of list of float) – The stress on the equilibrium (relaxed) structure.

  • symprec (float) – Symmetry precision for deriving symmetry equivalent deformations. If symprec=None, then no symmetry operations will be applied.

  • allow_elastically_unstable_structs (bool) – Whether to allow the ElasticDocument to still complete in the event that the structure is elastically unstable.

Return type:

ElasticDocument