Function QCM::k_integral

Function Documentation

void QCM::k_integral(int dim, function<void(vector3D<double> &k, const int *nv, double I[])> f, vector<double> &Iv, const double accuracy, bool verb = false)

Performs an adaptive Brillouin-zone integral of a vector-valued function.

Performs an integral over wavevectors Uses the Cubature library.

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

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

  • accuracy – required absolute accuracy of the integral