risb.kweight.kweight module

k-space integrator on a grid using smearing functions.

class risb.kweight.kweight.SmearingKWeight(beta, mu=None, n_target=None, method='fermi')[source]

Bases: object

Obtain weights for k-space integrals using smearing functions.

Parameters:
  • beta (float) – Inverse temperature

  • mu (float or None, optional) – Chemical potential. One of mu or n_target needs to be provided.

  • n_target (float or None, optional) – Target lattice filling per unit cell. One of mu or n_target needs to be provided.

  • method (str, 'fermi' | 'gaussian' | 'methfessel-paxton') – Smearing method.

beta

Inverse temperature

Type:

float

energies

Energies in each band at each k-point.

Type:

dict[numpy.ndarray]

mu

Chemical potential.

Type:

float

n_k

Number of k-points.

Type:

int

n_target

Target lattice filling per unit cell.

Type:

float

update_weights(energies)[source]

Update the integral weighting factors at each k-point.

Parameters:

energies (dict[numpy.ndarray]) – Energies at each k-point. Each key in dictionary is a different symmetry block, and its associated value is a list of energies.

Returns:

Integration weights at each k-point in each band.

Return type:

dict[numpy.ndarray]

weight

Integration weights at each k-point in the same shape as energies.

Type:

dict[numpy.ndarray]