aenet.geometry.transformations.CellVolumeTransformation
- class aenet.geometry.transformations.CellVolumeTransformation(min_percent: float = -5.0, max_percent: float = 5.0, steps: int = 5)[source]
Uniformly scale unit cell vectors.
This transformation generates structures with different volumes by uniformly scaling the lattice vectors. Fractional coordinates remain unchanged, Cartesian coordinates are recomputed from the updated cell, and copied energy/force labels are cleared because they are no longer valid for the deformed geometry.
Physical/engineering meaning
This is a hydrostatic (isotropic) scaling of the lattice. In a thermodynamic context it resembles sampling different volumes (e.g., equation of state fits), but without relaxing internal degrees of freedom. It can be used, for example, to calculate the bulk modulus.
- param min_percent:
Minimum percentage change from original lattice scaling (default: -5.0)
- type min_percent:
float, optional
- param max_percent:
Maximum percentage change from original lattice scaling (default: 5.0)
- type max_percent:
float, optional
- param steps:
Number of scaling steps (default: 5)
- type steps:
int, optional
Methods
__init__([min_percent, max_percent, steps])apply_transformation(structure, **kwargs)Apply uniform volume scaling to structure.