get_elementary_deformations

torch_sim.elastic.get_elementary_deformations(state, n_deform=5, max_strain_normal=0.01, max_strain_shear=0.06, bravais_type=None)[source]

Generate elementary deformations for elastic tensor calculation.

Creates a series of deformed structures based on the crystal symmetry. The deformations are limited to non-equivalent axes of the crystal as determined by its Bravais lattice type.

Parameters:
  • state (SimState) – SimState containing the base structure to be deformed

  • n_deform (int) – Number of deformations per non-equivalent axis

  • max_strain_normal (float) – Maximum deformation magnitude

  • max_strain_shear (float) – Maximum deformation magnitude

  • bravais_type (BravaisType) – BravaisType enum specifying the crystal system. If None, defaults to lowest symmetry (triclinic)

Returns:

Deformed structures

Return type:

list[SimState]

Notes

  • For normal strains (axes 0,1,2), deformations range from -max_strain_normal to +max_strain_normal

  • For shear strains (axes 3,4,5), deformations range from -max_strain_shear to +max_strain_shear

  • Deformation axes are:

    0,1,2: x,y,z cartesian deformations 3,4,5: yz,xz,xy shear deformations