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, stress_sign_factor=1.0, max_failed_deformations=None)[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.
stress_sign_factor (float) – Corrections for codes that define stress to be partial E / partial n_ij
max_failed_deformations (int or float) – Maximum number of deformations allowed to fail to proceed with the fitting of the elastic tensor. If an int the absolute number of deformations. If a float between 0 an 1 the maximum fraction of deformations. If None any number of deformations allowed.
- Return type: