generate_elastic_deformations#

atomate2.common.jobs.elastic.generate_elastic_deformations(structure, order=2, strain_states=None, strain_magnitudes=None, symprec=SETTINGS.SYMPREC, sym_reduce=True)[source]#

Generate elastic deformations.

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

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

  • strain_states (None or list of tuple of int) – List of Voigt-notation strains, e.g. [(1, 0, 0, 0, 0, 0), (0, 1, 0, 0, 0, 0), etc].

  • strain_magnitudes (None or list of float or list of list of float) – A list of strain magnitudes to multiply by for each strain state, e.g. [-0.01, -0.005, 0.005, 0.01]. Alternatively, a list of lists can be specified, where each inner list corresponds to a specific strain state.

  • symprec (float) – Symmetry precision.

  • sym_reduce (bool) – Whether to reduce the number of deformations using symmetry.

Returns:

A list of deformations.

Return type:

List[Deformation]