Function QCM::k_integral_grid

Function Documentation

void QCM::k_integral_grid(int dim, int nkx, int nky, int nkz, function<void(vector3D<double> &k, const int *nv, double I[])> f, vector<double> &Iv)

Performs a fixed-grid Brillouin-zone integral of a vector-valued function.

Performs an integral over wavevectors on a predetermined regular grid with a possibly direction-dependent number of wavevectors.

Parameters:
  • dim – spatial dimension (1 to 3)

  • nkx – number of wavevectors along the kx direction

  • nky – number of wavevectors along the ky direction (used only if dim>=2)

  • nkz – number of wavevectors along the kz direction (used only if dim==3)

  • f – function to integrate (may be multi-component)

  • Iv – value of the integral (adds to previous value: must be properly initialized)