Program¶
The program has three parts.
Puc¶
The Puc class is used to construct primitive unit cell, and define the basic distortion operations on the primivite unit cell level.
-
class
puc.
Puc
(symbols=['A', 'B', 'O'], shift_index=[0, 0, 0])[source]¶ This module provides basic class for primitive unit cells (PUC) of perovskites and some basic operations on the PUC level to actuate the distortion specified in the “Distortion” class.
- Parameters
symbols – specifies the symbols of atoms in one primitive unit cell.
shift_index – an integer vector indicating the shift from the origin. It is used to indiacte the position of this unit cell in the supercell.
Distortion¶
Build a supercell and generate the desired structures in the reciprocal space based on the transformed information.
-
class
distortion.
Distortion
(system={'covera': 1.0, 'grid': (2, 2, 2), 'lattice_constant': 4.0, 'symbols': ['Ba', 'Ti', 'O']}, distort=None)[source]¶ The class sets distortion to perovskite structure.
Basic Information:
- Parameters
symbols – Symbols of ABO3.
lattice_constant – Lattice constant of cubic ABO3.
grid – Number of unit cells along the three axes.
covera – The ratio of the length of unit cell along c- axis to a- axis, not the supercell.
Parameters to set up the distortion:
- Parameters
glazer – Glazer notation of distortion.
omega – The angles of the rotation along the three axes.
u – Magnitudes of the vibration in three axes.
k_u – The pattern of shift.
local_mode – Eigenvalues of vibration.
Decode¶
The Glazor notation is decoded and matched to the corresponding rotation matrix.