PAOFLOW.transport.grid.rgrid#

Functions#

get_rgrid(mesh_dims)

Generate a real-space R-grid in crystal coordinates and associated weights.

Module Contents#

PAOFLOW.transport.grid.rgrid.get_rgrid(mesh_dims)[source]#

Generate a real-space R-grid in crystal coordinates and associated weights.

Parameters:

mesh_dims (tuple of int) – Number of divisions along each reciprocal lattice direction (nr1, nr2, nr3).

Returns:

  • r_points (ndarray of shape (n_points, 3)) – Integer triplets defining real-space grid vectors in lattice units.

  • weights (ndarray of shape (n_points,)) – Weights associated with each R-vector.

Notes

The function generates a regular grid of R-vectors in reciprocal space defined by the mesh dimensions nr = (nr1, nr2, nr3). Each grid point corresponds to a triplet of crystal coordinates:

R_ijk = (i - (nr1 + 1)/2,

j - (nr2 + 1)/2, k - (nr3 + 1)/2)

For each R-vector, a weight wr is assigned. If the point -R is not already included in the grid, it is added explicitly and the weights of R and -R are halved to ensure time-reversal symmetry.

The returned weights satisfy the normalization condition:

sum_i wr[i] = nr1 * nr2 * nr3

This ensures the sum rule is compatible with Fourier transforms over the Brillouin zone.