principia_materia.phonon_id.lid module
- class principia_materia.phonon_id.lid.LoneID_FP(structure, Qpoint, supa=None, pg='C1', full_symmetry=False, hidden_order=1, fdtype='c', tol=1e-06)
Bases:
FrozenPhonons
Use Lone Irreducible Derivatives (LID) apporach to compute phonons and their interactions.
- Parameters:
structure (CrystalFTG object or a structure file of CrystalFTG) – The crystal structure.
Qpoint (array of Fraction or a
parse_array
supported Fraction array.) – The Q-pointsupa (array of int, shape(dim, dim)) – The supercell matrix.
pg (str or PointGroup object, optional, default to "C1") – The point group.
full_symmetry (bool, optional, default to False) – If True, use full group analysis (not implemented yet). If False, use little group analysis.
hidden_order (int, optional, default to 1) – The order of derivatives from first principles.
fdtype (str, choice of ["c", "f", "b"]) – Type of finite displacement.
tol (float, optional, default to 1.0E-6) – Error tolerence.
- get_irreducible_derivative_names()
- get_irreducible_derivatives()
- property irreducible_derivatives
- set_analytic_tensor(stars=None)
Construct analytic dynamic tensor for the Q-point.
- _adt
An AnalyticDynamicTensor subclass object for the system and Q-point.
- Type:
a subclass of AnalyticDynamicTensor
- set_displacements()
Find displacements that can probe each irreducible derivatives separately.
- set_displacements_basis()
Construct the symmetrized reciprocal displacement basis.
The displacement amplitudes follow the convention discussed in the paper Phys. Rev. B 100, 014303 (2019).
\[u_{\textbf{t}}*{\left(b, \beta\right)} = \sum_{\textbf{q} \in \hat{S}_{BZ}} u_{\textbf{q}}*{\left(b, \beta\right)} e^{2\pi\imag \textbf{t} \cdot \textbf{q}}\]
- set_dynamic_tensor()
Construct the dynamic tensor after finite displacements result is computed.
- _dynamic_tensor
The dynamic tensor at the Q-point.
- Type:
array of complex, shape(norbitals, ) * order
- set_irreducible_derivatives()
Compute irreducible derivatives.
- set_target_irrep_products(irrep_products)
- principia_materia.phonon_id.lid.get_LoneID_from_hdf5(h5file, root_directory=None, fdseries_filename='fdseries.hdf5', tol=1e-06)
Read data from HDF5 file and construct a LoneID_FP object.
- Parameters:
h5file (str or h5py.File/h5py.Group obejct) – Path to a HDF5 file or a h5py.File/h5py.Group object.
tol (float, optional, default to 1.0E-6) – Error tolerance.
- principia_materia.phonon_id.lid.get_LoneID_hdf5_wrapper()
HDF5 data wrapper for LoneID class.
- principia_materia.phonon_id.lid.save_LoneID_to_hdf5(obj, h5file='loneqID_fp.hdf5', include_fdseires=False)
Save data of a LoneID_FP object into a HDF5 file.
- Parameters:
obj (LoneID_FP) – A LoneID_FP object.
h5file (str or h5py.File/h5py.Group obejct, optional, default to "loneqID_fp.hdf5") – Path to a HDF5 file or a h5py.File/h5py.Group object.