ElasticDocument¶
- class atomate2.common.schemas.elastic.ElasticDocument(*, nsites=None, elements=None, nelements=None, composition=None, composition_reduced=None, formula_pretty=None, formula_anonymous=None, chemsys=None, volume=None, density=None, density_atomic=None, symmetry=None, structure=None, elastic_tensor=None, eq_stress=None, derived_properties=None, fitting_data=None, fitting_method=None, order=None, warnings=None)[source]¶
Bases:
StructureMetadataDocument containing elastic tensor information and related properties.
- Parameters:
nsites (int | None)
elements (list[Annotated[ElementTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, return_type=str, when_used=always)]] | None)
nelements (int | None)
composition (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)
composition_reduced (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)
formula_pretty (str | None)
formula_anonymous (str | None)
chemsys (str | None)
volume (float | None)
density (float | None)
density_atomic (float | None)
symmetry (SymmetryData | None)
structure (Structure | None)
elastic_tensor (ElasticTensorDocument | None)
eq_stress (tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None)
derived_properties (DerivedProperties | None)
fitting_data (FittingData | None)
fitting_method (str | None)
order (int | None)
- 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, failed_uuids=None)[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.
failed_uuids (list of str) – The uuids of perturbations that were not completed
- Return type:
Self
- model_config = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].