principia_materia.hamiltonian.phonon_hamiltonian module

class principia_materia.hamiltonian.phonon_hamiltonian.PhononHamiltonian(structure, mesh=None, pg='C1', units='THz', verbosity=1, tol=1e-06)

Bases: Hamiltonian

diagonalize_hamiltonians(hamiltonians_matrices, UPLO='L')

Diagonalize and compute the phonon frequencies of dynamic matrices in reciprocal space.

Returns:

  • eigenvalues (array of float, shape(N, nspin, norbitals))

  • eigenvectors (array of float, shape(N, nspin, norbitals, norbitals))

get_hamiltonian_matrices_at_kpoints(kpoints)

Get hamiltonian matrices at k-points

Parameters:

kpoints (array of float or Fraction, shape(dim, ) or shape(N, dim)) – k-points.

Returns:

hamiltonians_matrices – Interaction matrices.

Return type:

array of complex, shape(norbitals, norbitals) or shape(N, norbitals, norbitals)

set_hamiltonian(hamiltonian)

Set phonon hamiltonian.

Parameters:

hamiltonian (FourierInterpolation or ModelHamiltonian or str) – FourierInterpolation or ModelHamiltonian object or path to FourierInterpolation HDF5 data file.

_hamiltonian

FourierInterpolation or ModelHamiltonian object.

Type:

FourierInterpolation or ModelHamiltonian