|
MPQC 3.0.0-alpha
|
CorrelationFactor is a set of one or more two-particle functions of the interparticle distance. More...
#include <chemistry/qc/mbptr12/r12technology.h>
Public Member Functions | |
| CorrelationFactor (const std::string &label, const Ref< GeminalDescriptor > &geminaldescriptor) | |
| Definitions of primitive and contracted Geminals. | |
| virtual bool | equiv (const Ref< CorrelationFactor > &cf) const =0 |
| const std::string & | label () const |
| Returns label. | |
| virtual unsigned int | nfunctions () const |
| Returns the number of contracted two-particle functions in the set. | |
| virtual unsigned int | nprimitives (unsigned int c) const |
| Returns the number of primitive functions in contraction c. | |
| virtual double | value (unsigned int c, double r12) const =0 |
| Computes value of function c when electrons are at distance r12. | |
| virtual Ref< TwoBodyIntDescr > | tbintdescr (const Ref< Integral > &IF, unsigned int f) const |
| Returns TwoBodyIntDescr needed to compute matrix elements where correlation function f appears in either bra or ket only. | |
| virtual Ref< TwoBodyIntDescr > | tbintdescr (const Ref< Integral > &IF, unsigned int fbra, unsigned int fket) const |
| Returns TwoBodyIntDescr needed to compute matrix elements where correlation functions fbra and fket appear in bra or ket, respectively. | |
| virtual unsigned int | max_num_tbint_types () const =0 |
| Returns the maximum number of two-body integral types produced by the appropriate integral evaluator. | |
| virtual TwoBodyOper::type | tbint_type_eri () const |
| Returns TwoBodyOper::type corresponding to electron repulsion integrals. | |
| virtual TwoBodyOper::type | tbint_type_f12 () const |
| Returns TwoBodyOper::type corresponding to integrals over correlation operator. | |
| virtual TwoBodyOper::type | tbint_type_t1f12 () const |
| Returns TwoBodyOper::type corresponding to integrals over [T1,f12]. | |
| virtual TwoBodyOper::type | tbint_type_t2f12 () const |
| Returns TwoBodyOper::type corresponding to integrals over [T2,f12]. | |
| virtual TwoBodyOper::type | tbint_type_f12eri () const |
| Returns TwoBodyOper::type corresponding to integrals over f12/r12. | |
| virtual TwoBodyOper::type | tbint_type_f12f12 () const |
| Returns TwoBodyOper::type corresponding to integrals over f12^2. | |
| virtual TwoBodyOper::type | tbint_type_f12t1f12 () const |
| Returns TwoBodyOper::type corresponding to integrals over [f12,[T1,f12]]. | |
| virtual TwoBodyOper::type | tbint_type_f12f12_anti () const |
| Returns TwoBodyOper::type corresponding to integrals over f12*f12' antisymmetrized wrt exponents, i.e. | |
| void | print (std::ostream &os=ExEnv::out0()) const |
| print the correlation factor | |
| Ref< GeminalDescriptor > | geminaldescriptor () |
Public Member Functions inherited from sc::RefCount | |
| size_t | identifier () const |
| Return the unique identifier for this object that can be compared for different objects of different types. | |
| int | lock_ptr () const |
| Lock this object. | |
| int | unlock_ptr () const |
| Unlock this object. | |
| void | use_locks (bool inVal) |
| start and stop using locks on this object | |
| refcount_t | nreference () const |
| Return the reference count. | |
| refcount_t | reference () |
| Increment the reference count and return the new count. | |
| refcount_t | dereference () |
| Decrement the reference count and return the new count. | |
| int | managed () const |
| Return 1 if the object is managed. Otherwise return 0. | |
Protected Member Functions | |
| virtual void | print_params (std::ostream &os, unsigned int f) const |
| Print out parameters of function f. Base implementation prints nothing. | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
Protected Attributes | |
| std::string | label_ |
| Ref< GeminalDescriptor > | geminaldescriptor_ |
CorrelationFactor is a set of one or more two-particle functions of the interparticle distance.
Each function may be a primitive function or a contraction of several functions.
| sc::R12Technology::CorrelationFactor::CorrelationFactor | ( | const std::string & | label, |
| const Ref< GeminalDescriptor > & | geminaldescriptor ) |
Definitions of primitive and contracted Geminals.
Vector of contracted 2 particle functions
|
pure virtual |
|
pure virtual |
Returns the maximum number of two-body integral types produced by the appropriate integral evaluator.
Implemented in sc::R12Technology::G12CorrelationFactor, sc::R12Technology::G12NCCorrelationFactor, sc::R12Technology::NullCorrelationFactor, and sc::R12Technology::R12CorrelationFactor.
|
virtual |
Returns the number of contracted two-particle functions in the set.
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::G12NCCorrelationFactor.
|
virtual |
Returns the number of primitive functions in contraction c.
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::G12NCCorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over correlation operator.
Reimplemented in sc::R12Technology::G12CorrelationFactor, sc::R12Technology::G12NCCorrelationFactor, and sc::R12Technology::R12CorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over f12/r12.
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::G12NCCorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over f12^2.
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::G12NCCorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over f12*f12' antisymmetrized wrt exponents, i.e.
f12*f12' (exp(f12')-exp(f12))/(exp(f12')+exp(f12))
Reimplemented in sc::R12Technology::G12NCCorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over [f12,[T1,f12]].
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::G12NCCorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over [T1,f12].
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::R12CorrelationFactor.
|
virtual |
Returns TwoBodyOper::type corresponding to integrals over [T2,f12].
Reimplemented in sc::R12Technology::G12CorrelationFactor, and sc::R12Technology::R12CorrelationFactor.
|
virtual |
Returns TwoBodyIntDescr needed to compute matrix elements where correlation function f appears in either bra or ket only.
Reimplemented in sc::R12Technology::G12CorrelationFactor, sc::R12Technology::G12NCCorrelationFactor, sc::R12Technology::NullCorrelationFactor, and sc::R12Technology::R12CorrelationFactor.
|
virtual |
Returns TwoBodyIntDescr needed to compute matrix elements where correlation functions fbra and fket appear in bra or ket, respectively.
Reimplemented in sc::R12Technology::G12CorrelationFactor, sc::R12Technology::G12NCCorrelationFactor, sc::R12Technology::NullCorrelationFactor, and sc::R12Technology::R12CorrelationFactor.
|
pure virtual |
Computes value of function c when electrons are at distance r12.
Implemented in sc::R12Technology::G12CorrelationFactor, sc::R12Technology::G12NCCorrelationFactor, sc::R12Technology::NullCorrelationFactor, and sc::R12Technology::R12CorrelationFactor.