MADNESS 0.10.1
madness::TwoElectronFactory< T, NDIM > Class Template Reference

factory for generating TwoElectronInterfaces More...

#include <function_factory.h>

Inheritance diagram for madness::TwoElectronFactory< T, NDIM >:
Collaboration diagram for madness::TwoElectronFactory< T, NDIM >:

Public Member Functions

 TwoElectronFactory (World &world)
TwoElectronFactory & BSH ()
 return the BSH operator
TwoElectronFactory & dcut (double dcut)
 the smallest length scale to be represented (aka lo)
TwoElectronFactory & f12 ()
 return the operator (1 - exp(-gamma x) / (2 gamma)
TwoElectronFactory & gamma (double g)
 the exponent of a slater function
InterfacePtr get_functor () const
 return the functor; override this if the functor needs deferred construction
TwoElectronFactory & self ()
TwoElectronFactory & set_info (const OperatorInfo info1)
 return the BSH operator
TwoElectronFactory & slater ()
 return the operator (1 - exp(-gamma x) / (2 gamma)
TwoElectronFactory & thresh (double thresh)
 the requested precision
Public Member Functions inherited from madness::FunctionFactory< double, 6 >
 FunctionFactory (World &world)
virtual ~FunctionFactory ()
FunctionFactory & autorefine ()
FunctionFactory & compressed (bool value=true)
FunctionFactory & empty ()
FunctionFactory & f (double(*f)(const coordT &))
FunctionFactory & fence (bool fence=true)
std::enable_if< notstd::is_base_of< FunctionFunctorInterface< double, NDIM >, opT >::value, FunctionFactory & >::type functor (const opT &op)
 pass in a functor that is not derived from FunctionFunctorInterface
std::enable_if< std::is_base_of< FunctionFunctorInterface< double, NDIM >, opT >::value, FunctionFactory & >::type functor (const opT &op)
 pass in a functor that is derived from FunctionFunctorInterface
FunctionFactory & functor (const std::shared_ptr< FunctionFunctorInterface< double, NDIM > > &f)
int get_k () const
double get_thresh () const
World & get_world () const
FunctionFactory & initial_level (int initial_level)
virtual FunctionFactory & is_on_demand ()
virtual FunctionFactory & k (int k)
FunctionFactory & max_refine_level (int max_refine_level)
FunctionFactory & no_functor ()
FunctionFactory & noautorefine ()
FunctionFactory & nofence ()
FunctionFactory & norefine (bool norefine=true)
FunctionFactory & notruncate_on_project ()
FunctionFactory & pmap (const std::shared_ptr< WorldDCPmapInterface< Key< NDIM > > > &pmap)
FunctionFactory & refine (bool refine=true)
FunctionFactory & self ()
 implement this in all derived classes for correct chaining
FunctionFactory & special_level (int special_level)
FunctionFactory & special_points (const std::vector< Vector< double, NDIM > > &special_points)
FunctionFactory & treestate (const TreeState state)
FunctionFactory & truncate_mode (int truncate_mode)
FunctionFactory & truncate_on_project ()

Protected Types

typedef std::shared_ptr< FunctionFunctorInterface< T, NDIM > > InterfacePtr

Protected Attributes

BoundaryConditions< NDIM > bc_
OperatorInfo info
InterfacePtr interface_
 the interface providing the actual coefficients
Protected Attributes inherited from madness::FunctionFactory< double, 6 >
bool _autorefine
bool _empty
bool _fence
int _initial_level
int _k
int _max_refine_level
std::shared_ptr< WorldDCPmapInterface< Key< NDIM > > > _pmap
bool _refine
int _special_level
std::vector< Vector< double, NDIM > > _special_points
double _thresh
TreeState _tree_state
int _truncate_mode
bool _truncate_on_project
World & _world

Detailed Description

template<typename T = double, std::size_t NDIM = 6>
class madness::TwoElectronFactory< T, NDIM >

factory for generating TwoElectronInterfaces

Member Typedef Documentation

◆ InterfacePtr

template<typename T = double, std::size_t NDIM = 6>
typedef std::shared_ptr<FunctionFunctorInterface<T, NDIM> > madness::TwoElectronFactory< T, NDIM >::InterfacePtr
protected

Constructor & Destructor Documentation

◆ TwoElectronFactory()

Member Function Documentation

◆ BSH()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::BSH ( )
inline

return the BSH operator

References TwoElectronFactory(), info, madness::OT_BSH, and self().

◆ dcut()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::dcut ( double dcut)
inline

the smallest length scale to be represented (aka lo)

References TwoElectronFactory(), dcut(), info, and self().

Referenced by compute_energy(), madness::MP2::compute_energy(), dcut(), and test_U_el().

◆ f12()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::f12 ( )
inline

return the operator (1 - exp(-gamma x) / (2 gamma)

References TwoElectronFactory(), info, madness::OT_F12, and self().

◆ gamma()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::gamma ( double g)
inline

the exponent of a slater function

References TwoElectronFactory(), madness::g, info, and self().

◆ get_functor()

template<typename T = double, std::size_t NDIM = 6>
InterfacePtr madness::TwoElectronFactory< T, NDIM >::get_functor ( ) const
inlinevirtual

return the functor; override this if the functor needs deferred construction

Reimplemented from madness::FunctionFactory< double, 6 >.

References info, and interface_.

◆ self()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::self ( )
inline

References TwoElectronFactory().

Referenced by BSH(), dcut(), f12(), gamma(), set_info(), slater(), and thresh().

◆ set_info()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::set_info ( const OperatorInfo info1)
inline

return the BSH operator

References TwoElectronFactory(), info, and self().

◆ slater()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::slater ( )
inline

return the operator (1 - exp(-gamma x) / (2 gamma)

References TwoElectronFactory(), info, madness::OT_SLATER, and self().

◆ thresh()

template<typename T = double, std::size_t NDIM = 6>
TwoElectronFactory & madness::TwoElectronFactory< T, NDIM >::thresh ( double thresh)
inlinevirtual

the requested precision

Reimplemented from madness::FunctionFactory< double, 6 >.

References TwoElectronFactory(), info, self(), and thresh().

Referenced by thresh().

Member Data Documentation

◆ bc_

template<typename T = double, std::size_t NDIM = 6>
BoundaryConditions<NDIM> madness::TwoElectronFactory< T, NDIM >::bc_
protected

Referenced by TwoElectronFactory().

◆ info

template<typename T = double, std::size_t NDIM = 6>
OperatorInfo madness::TwoElectronFactory< T, NDIM >::info
protected

◆ interface_

template<typename T = double, std::size_t NDIM = 6>
InterfacePtr madness::TwoElectronFactory< T, NDIM >::interface_
protected

the interface providing the actual coefficients

Referenced by TwoElectronFactory(), and get_functor().


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