principia_materia.hamiltonian.hamiltonian module
- class principia_materia.hamiltonian.hamiltonian.Hamiltonian(structure, mesh=None, pg='C1', nspin=1, units='eV', verbosity=1, tol=1e-06)
Bases:
object
The Hamiltonian of a system.
- compute_DOS(nbins, return_cdos=False)
Compute density of states for energies between the minimum and maximum values of eigenvalues.
- Parameters:
nbins (int) – The number of energies to evaluate between the minimum and maximum eigenvalues.
- _dos
Density of states.
- Type:
array of float, shape(nbins, nspins)
- _cdos
Cumulative density of states.
- Type:
array of float, shape(nbins, nspins)
- compute_PDOS(nbins, return_cpdos=False)
Compute partial density of states for energies between the minimum and maximum values of eigenvalues.
- Parameters:
nbins (int) – The number of energies to evaluate between the minimum and maximum eigenvalues.
- _pdos
Partial density of states.
- Type:
array of float, shape(nbins, nspins, norbitals)
- _cpdos
Cumulative partial density of states.
- Type:
array of float, shape(nbins, nspins, norbitals)
- property decimal
- abstract diagonalize_hamiltonians(hamiltonians_matrices)
Diagonalize hamiltonians in reciprocal space.
In terms of electrons, it’s computing the eigenvalues of the hamiltonians. In terms of phonons, it’s compute the phonon frequencies of dynamic matrices.
- Returns:
eigenvalues (array of float, shape(N, nspin, norbitals))
eigenvectors (array of float, shape(N, nspin, norbitals, norbitals))
- abstract 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)
- property is_kpoints_from_mesh
Check if the k-points attribute matches the k-point mesh generated from self.mesh.
- Returns:
match – Whether the k-points attribute matches the k-point mesh.
- Return type:
bool
- property nspin
- set_charmblochrep()
- set_eigenvalues()
- abstract set_hamiltonian(hamiltonian)
- set_hamiltonian_at_kpoints(kpoints)
- set_hamiltonian_from_mesh()
- set_tetrahedra()
- property spin
- property units