JDFTx  1.7.0
CoulombKernel Struct Reference

Wigner-Seitz truncated coulomb kernel generator. More...

#include <CoulombKernel.h>

Public Member Functions

 CoulombKernel (const matrix3<> R, const vector3< int > S, const vector3< bool > isTruncated, double omega=0.)
void compute (double *data, const WignerSeitz &ws, symmetricMatrix3<> *data_RRT=0) const

Public Attributes

const matrix3 R
 lattice vectors
const vector3< int > S
 sample count
const vector3< bool > isTruncated
 whether corresponding lattice direction is truncated
double omega
 erf-screening parameter (used for screened exchange kernels)

Static Public Attributes

static const double nSigmasPerWidth
 number of sigmas at which gaussian is negligible at working precision

Detailed Description

Wigner-Seitz truncated coulomb kernel generator.

Member Function Documentation

◆ compute()

void CoulombKernel::compute ( double *  data,
const WignerSeitz ws,
symmetricMatrix3<> *  data_RRT = 0 
) const

Initialize the truncated kernel in data data must be allocated for S[0]*S[1]*(1+S[2]/2) entries (fftw c2r order). ws is the Wigner-Seitz cell corresponding to lattice vectors R. Supported modes include fully truncated (Isolated or Wigner-Seitz truncated exchange kernel) and one direction periodic (Wire geometry). Optionally initialize lattice derivative if data_RRT is non-null

The documentation for this struct was generated from the following file: