|
| xc_functor () |
|
| xc_functor (std::vector< atom_information< NDIM > > atoms) |
|
double | operator() (const Vector< double, NDIM > &r) const |
| returns the slater potential More...
|
|
| FunctionFunctorInterface () |
|
virtual | ~FunctionFunctorInterface () |
|
virtual coeffT | coeff (const keyT &) const |
|
virtual void | operator() (const Vector< double *, 1 > &xvals, double *fvals, int npts) const |
|
virtual void | operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const |
|
virtual void | operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const |
|
virtual void | operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const |
|
virtual void | operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const |
|
virtual void | operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const |
|
virtual bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? More...
|
|
virtual bool | screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const |
| Can we screen this function based on the bounding box information? More...
|
|
void | set_length_scale (double lo) |
| adapt the special level to resolve the smallest length scale More...
|
|
virtual Level | special_level () |
| Override this change level refinement for special points (default is 6) More...
|
|
virtual std::vector< Vector< double, NDIM > > | special_points () const |
| Override this to return list of special points to be refined more deeply. More...
|
|
virtual bool | supports_vectorized () const |
| Does the interface support a vectorized operator()? More...
|
|
virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
|
template<unsigned long int NDIM>
class xc_functor< NDIM >
Functor for the exchange correlation potential.
Asymptotic correction for DFT. In the correction the xc-potential is replaced by an 1/r term far away from the nuclei to give the correct asymptotic behavior. Close to the nuclei the standard xc-potential is used. The transition between the different potentials is achieved via a linear interpolation. This is a test code to compute the corrected potential in 1D or 2D. The density functional is computed using the slater potential. The orbitals have to be inserted manually in the xc_functor class in the density() function. The molecule/atom has to be initialized manually in the main function and has to be stored as a vector of atom_information.