MADNESS 0.10.1
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ExactSpinor Struct Reference
Inheritance diagram for ExactSpinor:
Inheritance graph
[legend]
Collaboration diagram for ExactSpinor:
Collaboration graph
[legend]

Public Member Functions

 ExactSpinor (const int n, const char lc, const double j, const int Z, const double m=0.0)
 
 ExactSpinor (const int n, const int l, const double j, const int Z, const double m=0.0)
 
double_complex angular (const coord_3d &c, const double g, const double f) const
 
double compute_C () const
 
double compute_en () const
 
double compute_energy () const
 
std::string filename () const
 
double_complex Fvalue (const coord_3d &coord) const
 
double get_energy () const
 
Spinor get_spinor (World &world) const
 
std::string l_to_string (const long l) const
 
double_complex operator() (const coord_3d &c) const override
 
void print () const
 
double_complex psivalue (const coord_3d &coord) const
 
void set_ansatz (const AnsatzBase &ansatz)
 
Level special_level () override
 Override this change level refinement for special points (default is 6)
 
std::vector< Vector< double, 3UL > > special_points () const override
 Override this to return list of special points to be refined more deeply.
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< double_complex, 3 >
 FunctionFunctorInterface ()
 
virtual ~FunctionFunctorInterface ()
 
virtual coeffT coeff (const keyT &) const
 
virtual void operator() (const Vector< double *, 1 > &xvals, double_complex *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 2 > &xvals, double_complex *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 3 > &xvals, double_complex *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 4 > &xvals, double_complex *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 5 > &xvals, double_complex *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 6 > &xvals, double_complex *fvals, int npts) const
 
virtual double_complex 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 bool supports_vectorized () const
 Does the interface support a vectorized operator()?
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 

Static Public Member Functions

static int l_char_to_int (const char lc)
 

Public Attributes

double C =0.0
 
int component =0
 
bool compute_F =false
 
double cusp_a =-1.0
 
double E =0.0
 
double gamma =0.0
 
double j
 
long k
 
long l
 
double m
 
long n
 
bool regularized =true
 
double Z
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double_complex, 3 >
Level special_level_
 

Additional Inherited Members

- Public Types inherited from madness::FunctionFunctorInterface< double_complex, 3 >
typedef GenTensor< double_complexcoeffT
 
typedef Key< NDIMkeyT
 
typedef double_complex value_type
 

Constructor & Destructor Documentation

◆ ExactSpinor() [1/2]

ExactSpinor::ExactSpinor ( const int  n,
const char  lc,
const double  j,
const int  Z,
const double  m = 0.0 
)
inline

◆ ExactSpinor() [2/2]

ExactSpinor::ExactSpinor ( const int  n,
const int  l,
const double  j,
const int  Z,
const double  m = 0.0 
)
inline

References std::abs(), alpha1, compute_C(), compute_energy(), E, gamma, j, k, l, m, and Z.

Member Function Documentation

◆ angular()

double_complex ExactSpinor::angular ( const coord_3d c,
const double  g,
const double  f 
) const
inline

◆ compute_C()

double ExactSpinor::compute_C ( ) const
inline

References alpha1, c, E, and MADNESS_CHECK.

Referenced by ExactSpinor().

◆ compute_en()

double ExactSpinor::compute_en ( ) const
inline

References alpha1, c, C, gamma, get_energy(), and k.

Referenced by Fvalue(), and psivalue().

◆ compute_energy()

double ExactSpinor::compute_energy ( ) const
inline

References std::abs(), alpha1, c, E, gamma, k, MADNESS_CHECK, n, and Z.

Referenced by ExactSpinor().

◆ filename()

std::string ExactSpinor::filename ( ) const
inline

References j, k, l, l_to_string(), m, and n.

Referenced by eigenvector_test().

◆ Fvalue()

double_complex ExactSpinor::Fvalue ( const coord_3d coord) const
inline

◆ get_energy()

double ExactSpinor::get_energy ( ) const
inline

References E.

Referenced by compute_en(), eigenvector_test(), main(), and run().

◆ get_spinor()

Spinor ExactSpinor::get_spinor ( World world) const
inline

References component, and Spinor::components.

Referenced by eigenvector_test().

◆ l_char_to_int()

static int ExactSpinor::l_char_to_int ( const char  lc)
inlinestatic

References MADNESS_EXCEPTION.

◆ l_to_string()

std::string ExactSpinor::l_to_string ( const long  l) const
inline

References l.

Referenced by filename().

◆ operator()()

double_complex ExactSpinor::operator() ( const coord_3d c) const
inlineoverride

References c, compute_F, Fvalue(), and psivalue().

◆ print()

void ExactSpinor::print ( ) const
inline

◆ psivalue()

double_complex ExactSpinor::psivalue ( const coord_3d coord) const
inline

◆ set_ansatz()

void ExactSpinor::set_ansatz ( const AnsatzBase ansatz)
inline

◆ special_level()

Level ExactSpinor::special_level ( )
inlineoverridevirtual

Override this change level refinement for special points (default is 6)

Reimplemented from madness::FunctionFunctorInterface< double_complex, 3 >.

◆ special_points()

std::vector< Vector< double, 3UL > > ExactSpinor::special_points ( ) const
inlineoverridevirtual

Override this to return list of special points to be refined more deeply.

Reimplemented from madness::FunctionFunctorInterface< double_complex, 3 >.

Member Data Documentation

◆ C

double ExactSpinor::C =0.0

Referenced by compute_en().

◆ component

int ExactSpinor::component =0
mutable

Referenced by angular(), Fvalue(), get_spinor(), and psivalue().

◆ compute_F

bool ExactSpinor::compute_F =false

Referenced by operator()(), print(), run(), and set_ansatz().

◆ cusp_a

double ExactSpinor::cusp_a =-1.0

Referenced by Fvalue(), print(), psivalue(), run(), and set_ansatz().

◆ E

double ExactSpinor::E =0.0

◆ gamma

double ExactSpinor::gamma =0.0

◆ j

double ExactSpinor::j

Referenced by ExactSpinor(), angular(), filename(), and print().

◆ k

long ExactSpinor::k

◆ l

long ExactSpinor::l

◆ m

double ExactSpinor::m

◆ n

long ExactSpinor::n

◆ regularized

bool ExactSpinor::regularized =true

Referenced by print(), psivalue(), and set_ansatz().

◆ Z

double ExactSpinor::Z

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