MADNESS
version 0.9
|
Setup the tip-molecule problem. More...
#include <density.h>
Public Member Functions | |
TipMolecule (double eps, double penalty, const Tensor< double > &denscoeffs, const std::vector< Atom * > &atoms, const std::vector< BasisFunc > &basis, double phi, double d) | |
Sets up the data for the problem-inspecific parts. More... | |
virtual | ~TipMolecule () |
double | operator() (const Vector< double, 3 > &x) const |
The operator for projecting a MADNESS function. More... | |
virtual double | DirichletCond (const Vector< double, 3 > &x) const |
virtual double | Inhomogeneity (const Vector< double, 3 > &x) const |
The PDE's inhomogeneity. More... | |
virtual double | ElectronDensity (const Vector< double, 3 > &x) const |
std::vector< Vector< double, 3 > > | special_points () const |
Override this to return list of special points to be refined more deeply. More... | |
Level | special_level () |
Override this change level refinement for special points (default is 6) More... | |
Public Member Functions inherited from madness::FunctionFunctorInterface< double, 3 > | |
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... | |
virtual bool | supports_vectorized () const |
Does the interface support a vectorized operator()? More... | |
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 double | operator() (const Vector< double, NDIM > &x) const =0 |
You should implement this to return f(x) More... | |
virtual | ~FunctionFunctorInterface () |
virtual coeffT | coeff (const keyT &) const |
virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
virtual bool | provides_coeff () const |
does this functor directly provide sum coefficients? or only function values? More... | |
Public Attributes | |
FunctorOutput | fop |
Protected Attributes | |
GaussianDomainMask | dmi |
SignedDFInterface< 3 > * | tip |
SignedDFInterface< 3 > * | solid |
double | penalty_prefact |
double | eps |
int | dda_init_level |
int | pdens_init_level |
int | edens_init_level |
const Tensor< double > & | denscoeffs |
const std::vector< BasisFunc > & | basis |
std::vector< Vector< double, 3 > > | atom_centers |
double | phi |
double | d |
double | proton_stdev |
double | proton_inverse |
Additional Inherited Members | |
Public Types inherited from madness::FunctionFunctorInterface< double, 3 > | |
typedef GenTensor< double > | coeffT |
typedef Key< NDIM > | keyT |
Setup the tip-molecule problem.
|
inline |
Sets up the data for the problem-inspecific parts.
References mpfr::ceil(), mpfr::log(), and sqrt().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
References func().
|
inlinevirtual |
The PDE's inhomogeneity.
The Inhomogeneity is -4Pi n(x).
References madness::Vector< T, N >::begin(), mpfr::exp(), madness::norm(), madness::constants::pi, and sqrt().
|
inline |
The operator for projecting a MADNESS function.
References DENSITY, DIRICHLET_RHS, DOMAIN_MASK, ELECTRON_DENSITY, madness::error(), madness::GaussianDomainMask::mask(), madness::constants::pi, madness::SignedDFInterface< NDIM >::sdf(), SURFACE, and madness::GaussianDomainMask::surface().
|
inlinevirtual |
Override this change level refinement for special points (default is 6)
Reimplemented from madness::FunctionFunctorInterface< double, 3 >.
References DENSITY, DOMAIN_MASK, ELECTRON_DENSITY, and SURFACE.
|
inlinevirtual |
Override this to return list of special points to be refined more deeply.
Reimplemented from madness::FunctionFunctorInterface< double, 3 >.
References DOMAIN_MASK, and SURFACE.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
FunctorOutput TipMolecule::fop |
which function to use when projecting:
Referenced by main().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |