MADNESS 0.10.1
|
Functor representing the log-derivative of
Public Member Functions | |
DSphere (const coordT ¢er, double radius, double sigma) | |
DSphere (double Vint, double Vext, int axis) | |
Constructor. | |
double | operator() (const coord_3d &r) const |
Function used by MADNESS to project a function. | |
double | operator() (const coordT &x) const |
![]() | |
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 double | operator() (const Vector< double, NDIM > &x) const=0 |
You should implement this to return f(x) | |
virtual bool | provides_coeff () const |
does this functor directly provide sum coefficients? or only function values? | |
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? | |
void | set_length_scale (double lo) |
adapt the special level to resolve the smallest length scale | |
virtual Level | special_level () const |
Override this to change the minimum level of refinement at special points (default is 6) | |
virtual std::vector< Vector< double, NDIM > > | special_points () const |
Override this to return list of special points to be refined more deeply. | |
virtual bool | supports_vectorized () const |
Does the interface support a vectorized operator()? | |
virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
Public Attributes | |
const coordT | center |
const double | expnt |
const double | norm |
const double | radius |
const double | sigma |
![]() | |
Level | special_level_ |
Protected Member Functions | |
double | dmask (double s) const |
Derivative of the mask with respect to ![]() | |
Private Attributes | |
const int | axis |
The component of the log-derivative we want. | |
const double | fac |
The factor multiplying the log-derivative. | |
Additional Inherited Members | |
![]() | |
typedef GenTensor< double > | coeffT |
typedef Key< NDIM > | keyT |
typedef double | value_type |
Functor representing the log-derivative of
A "mask" function is used to smoothly transition from inside the sphere to outside the sphere. The width of this transition region is
Constructor.
[in] | Vint | The dielectric inside the sphere. |
[in] | Vext | The dielectric outside the sphere. |
[in] | axis | The component of the log-derivative to project with this functor. |
Derivative of the mask with respect to
[in] | s | The signed distance (in units of ![]() |
References madness::nonlinear_vector_solver(), and madness::constants::pi.
Referenced by operator()().
References madness::arg(), center, dist(), expnt, madness::nonlinear_vector_solver(), norm, and radius.
|
private |
The component of the log-derivative we want.
Referenced by operator()().
const coordT DSphere::center |
Referenced by operator()().
const double DSphere::expnt |
Referenced by operator()().
|
private |
The factor multiplying the log-derivative.
Referenced by operator()().
const double DSphere::norm |
Referenced by operator()().
const double DSphere::radius |
Referenced by operator()().
const double DSphere::sigma |
Referenced by operator()().