aenet.geometry.transformations.IsovolumetricStrainTransformation
- class aenet.geometry.transformations.IsovolumetricStrainTransformation(direction: int, len_min: float, len_max: float, steps: int)[source]
Volume-preserving uniaxial strain.
This transformation scales one lattice direction by a factor
swhile scaling the other two directions bys**(-1/2)to preserve the cell volume. Fractional coordinates are preserved, Cartesian coordinates are rebuilt from the deformed cell, and copied energy/force labels are cleared.Physical/engineering meaning
This is a constrained deformation (volume fixed by construction). It is not the standard deformation used for Young’s modulus, because Young’s modulus corresponds to uniaxial stress / stress-free transverse directions and generally changes volume.
This transformation is useful for structure-space sampling when you want to explore anisotropic cell shapes without changing volume.
- param direction:
Direction to strain (1=a, 2=b, 3=c)
- type direction:
int
- param len_min:
Minimum scaling factor for the strained direction
- type len_min:
float
- param len_max:
Maximum scaling factor for the strained direction
- type len_max:
float
- param steps:
Number of strain steps
- type steps:
int
Methods
__init__(direction, len_min, len_max, steps)apply_transformation(structure, **kwargs)Apply isovolumetric strain to structure.
Attributes
VOLUME_TOLERANCE