fit_elastic_tensor#

atomate2.common.jobs.elastic.fit_elastic_tensor(structure, deformation_data, equilibrium_stress=None, order=2, fitting_method=SETTINGS.ELASTIC_FITTING_METHOD, symprec=SETTINGS.SYMPREC, allow_elastically_unstable_structs=True)[source]#

Analyze stress/strain data to fit the elastic tensor and related properties.

Parameters:
  • structure (Structure) – A pymatgen structure.

  • deformation_data (list of dict) – The deformation data, as a list of dictionaries, each containing the keys “stress”, “deformation”.

  • equilibrium_stress (None or tuple of tuple of float) – The equilibrium stress of the (relaxed) structure, if known.

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

  • 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”

  • 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