JDFTx  1.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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) 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

void CoulombKernel::compute ( double *  data,
const WignerSeitz ws 
) 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).


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