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