MADNESS  version 0.9
Public Member Functions | Protected Types | Protected Attributes | List of all members
madness::TwoElectronFactory Class Reference

factory for generating TwoElectronInterfaces More...

#include <function_factory.h>

Inheritance diagram for madness::TwoElectronFactory:
Inheritance graph
[legend]
Collaboration diagram for madness::TwoElectronFactory:
Collaboration graph
[legend]

Public Member Functions

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

Protected Types

enum  operatortype {
  coulomb_, slater_, f12_, bsh_,
  fg_
}
 
typedef std::shared_ptr
< FunctionFunctorInterface
< double, 6 > > 
InterfacePtr
 

Protected Attributes

operatortype type_
 
InterfacePtr interface_
 the interface providing the actual coefficients More...
 
double dcut_
 cutoff radius for 1/r12, aka regularization More...
 
double gamma_
 
BoundaryConditions< 6 > bc_
 
- Protected Attributes inherited from madness::FunctionFactory< double, 6 >
World_world
 
int _k
 
double _thresh
 
int _initial_level
 
int _max_refine_level
 
int _truncate_mode
 
bool _refine
 
bool _empty
 
bool _autorefine
 
bool _truncate_on_project
 
bool _fence
 
bool _is_on_demand
 
std::shared_ptr
< WorldDCPmapInterface< Key
< NDIM > > > 
_pmap
 

Detailed Description

factory for generating TwoElectronInterfaces

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
coulomb_ 
slater_ 
f12_ 
bsh_ 
fg_ 

Constructor & Destructor Documentation

madness::TwoElectronFactory::TwoElectronFactory ( World world)
inline

Member Function Documentation

TwoElectronFactory& madness::TwoElectronFactory::dcut ( double  dcut)
inline

the smallest length scale to be represented (aka lo)

References dcut_.

Referenced by compute_energy(), and test_U_el().

TwoElectronFactory& madness::TwoElectronFactory::f12 ( )
inline

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

References f12_, and type_.

TwoElectronFactory& madness::TwoElectronFactory::gamma ( double  g)
inline

the exponent of a slater function

References madness::g, and gamma_.

InterfacePtr madness::TwoElectronFactory::get_functor ( ) const
inlinevirtual

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

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

References bc_, coulomb_, dcut_, f12_, gamma_, interface_, MADNESS_EXCEPTION, slater_, and type_.

TwoElectronFactory& madness::TwoElectronFactory::self ( )
inline
TwoElectronFactory& madness::TwoElectronFactory::slater ( )
inline

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

References slater_, and type_.

TwoElectronFactory& madness::TwoElectronFactory::thresh ( double  thresh)
inlinevirtual

the requested precision

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

Member Data Documentation

BoundaryConditions<6> madness::TwoElectronFactory::bc_
protected

Referenced by get_functor().

double madness::TwoElectronFactory::dcut_
protected

cutoff radius for 1/r12, aka regularization

Referenced by dcut(), and get_functor().

double madness::TwoElectronFactory::gamma_
protected

Referenced by gamma(), and get_functor().

InterfacePtr madness::TwoElectronFactory::interface_
protected

the interface providing the actual coefficients

Referenced by get_functor().

operatortype madness::TwoElectronFactory::type_
protected

Referenced by f12(), get_functor(), and slater().


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