MADNESS  0.10.1
Public Member Functions | Protected Types | Protected Attributes | List of all members
madness::TwoElectronFactory< T, NDIM > Class Template Reference

factory for generating TwoElectronInterfaces More...

#include <function_factory.h>

Inheritance diagram for madness::TwoElectronFactory< T, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for madness::TwoElectronFactory< T, NDIM >:
Collaboration graph
[legend]

Public Member Functions

 TwoElectronFactory (World &world)
 
TwoElectronFactoryBSH ()
 return the BSH operator More...
 
TwoElectronFactorydcut (double dcut)
 the smallest length scale to be represented (aka lo) More...
 
TwoElectronFactoryf12 ()
 return the operator (1 - exp(-gamma x) / (2 gamma) More...
 
TwoElectronFactorygamma (double g)
 the exponent of a slater function More...
 
InterfacePtr get_functor () const
 return the functor; override this if the functor needs deferred construction More...
 
TwoElectronFactoryself ()
 
TwoElectronFactoryset_info (const OperatorInfo info1)
 return the BSH operator More...
 
TwoElectronFactoryslater ()
 return the operator (1 - exp(-gamma x) / (2 gamma) More...
 
TwoElectronFactorythresh (double thresh)
 the requested precision More...
 
- Public Member Functions inherited from madness::FunctionFactory< double, 6 >
 FunctionFactory (World &world)
 
virtual ~FunctionFactory ()
 
FunctionFactoryautorefine ()
 
FunctionFactorycompressed (bool value=true)
 
FunctionFactoryempty ()
 
FunctionFactoryf (double(*f)(const coordT &))
 
FunctionFactoryfence (bool fence=true)
 
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 More...
 
std::enable_if< not std::is_base_of< FunctionFunctorInterface< double, NDIM >, opT >::value, FunctionFactory & >::type functor (const opT &op)
 pass in a functor that is not derived from FunctionFunctorInterface More...
 
FunctionFactoryfunctor (const std::shared_ptr< FunctionFunctorInterface< double, NDIM > > &f)
 
int get_k () const
 
double get_thresh () const
 
Worldget_world () const
 
FunctionFactoryinitial_level (int initial_level)
 
virtual FunctionFactoryis_on_demand ()
 
virtual FunctionFactoryk (int k)
 
FunctionFactorymax_refine_level (int max_refine_level)
 
FunctionFactoryno_functor ()
 
FunctionFactorynoautorefine ()
 
FunctionFactorynofence ()
 
FunctionFactorynorefine (bool norefine=true)
 
FunctionFactorynotruncate_on_project ()
 
FunctionFactorypmap (const std::shared_ptr< WorldDCPmapInterface< Key< NDIM > > > &pmap)
 
FunctionFactoryrefine (bool refine=true)
 
FunctionFactoryself ()
 implement this in all derived classes for correct chaining More...
 
FunctionFactoryspecial_level (int special_level)
 
FunctionFactoryspecial_points (std::vector< Vector< double, NDIM > > &special_points)
 
FunctionFactorytruncate_mode (int truncate_mode)
 
FunctionFactorytruncate_on_project ()
 

Protected Types

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

Protected Attributes

BoundaryConditions< NDIMbc_
 
OperatorInfo info
 
InterfacePtr interface_
 the interface providing the actual coefficients More...
 
- 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()

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

Member Function Documentation

◆ BSH()

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

◆ 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 madness::TwoElectronFactory< T, NDIM >::info, and madness::OperatorInfo::lo.

Referenced by compute_energy(), test_Kcommutator(), 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 madness::TwoElectronFactory< T, NDIM >::info, madness::OT_F12, and madness::OperatorInfo::type.

Referenced by test_Kcommutator(), and test_multiply().

◆ 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 madness::g, madness::TwoElectronFactory< T, NDIM >::info, and madness::OperatorInfo::mu.

Referenced by test_Kcommutator(), and test_multiply().

◆ 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 madness::TwoElectronFactory< T, NDIM >::info, and madness::TwoElectronFactory< T, NDIM >::interface_.

◆ self()

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

◆ 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 madness::TwoElectronFactory< T, NDIM >::info.

◆ 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 madness::TwoElectronFactory< T, NDIM >::info, madness::OT_SLATER, and madness::OperatorInfo::type.

◆ thresh()

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

Member Data Documentation

◆ bc_

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

◆ 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 madness::TwoElectronFactory< T, NDIM >::get_functor().


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