principia_materia.phonon_id.analytic_tensors module
- class principia_materia.phonon_id.analytic_tensors.AnalyticTensors(structure, supa, order, pg='C1', tol=1e-06)
Bases:
DynamicTensors
Analytic dynamic tensor of a reciprocal mesh at a given order.
- Parameters:
structure (CrystalFTG object or a structure file of CrystalFTG) – The crystal structure.
supa (array of int, shape(dim, dim)) – The supercell matrix.
order (int) – Order of the dynamic tensor.
pg (str or PointGroup object) – The point group.
tol (float, optional, default to 1.0E-6) – Error tolerence.
- compute_D_from_ID(irreducible_derivatives)
Compute D by substituting in irreducible derivatives.
- Parameters:
irreducible_derivatives (array of complex, shape(n_irreducible_derivatives, )) – The values of the irreducible derivatives.
- compute_ID_from_D(dynamic_tensors)
Compute irreducible derivatives from dynamic tensors.
- Parameters:
dynamic_tensors (array of complex, shape(len(self._D), norbitals, ..., norbitals)) – The dynamic tensors to compute irreducible derivatives from.
- copy()
Make a copy
- Returns:
new – A copy of AnalyticTensors object.
- Return type:
- property irreducible_derivative_names
List of names of irreducible derivatives.
- property n_irreducible_derivatives
Number of irreducible derivatives.
- set_ADT(full_symmetry=False, conjugate=False, verbose=False)
Construct analytic dynamic tensors of the irreducible Q-points.
Construct analytic dynamic tensor of the irreducible Q-points, collect all irreducible derivatives in a list, and vectorize all the analytic tensors in the irreducible zone with respect to the irreducible derivatives list.
- Parameters:
full_symmetry (bool, optional, default to False) – If True use full symmetry approach to find the irreducible derivatives; If False use little group approach instead.
verbose (bool, optional, default to False) – Whether to print out steps verbally.
- set_D(Qpoints, D)
Set vectorized dynamic tensors.
- set_irreducible_D(D)
Set vectorized dynamic tensors for irreducible Q-points.
- principia_materia.phonon_id.analytic_tensors.get_AnalyticTensors_from_hdf5(h5file, tol=1e-06)
Load AnalyticTensors from HDF5 file.
- principia_materia.phonon_id.analytic_tensors.get_AnalyticTensors_hdf5_wrapper()
HDF5 data wrapper for AnalyticTensors class.
- principia_materia.phonon_id.analytic_tensors.save_AnalyticTensors_to_hdf5(obj, h5file='analytic_tensors.hdf5', overwrite=False)
Save AnalyticTensors data into HDF5 file.
- Parameters:
obj (AnalyticTensors) – A AnalyticTensors object.
h5file (str or h5py.File/h5py.Group obejct, optional, default to "dynamic_tensors.hdf5") – Path to a HDF5 file or a h5py.File/h5py.Group object.
overwrite (bool, optional, default to False) – When the file exists, whether to replace the content of the file with the content to be saved.