LIBINT 2.9.0
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
libint2::CGF Class Reference

3D Cartesian Gaussian Function More...

#include <bfset.h>

Inheritance diagram for libint2::CGF:
Inheritance graph
[legend]
Collaboration diagram for libint2::CGF:
Collaboration graph
[legend]

Public Types

typedef CGF iter_type
 As far as SetIterator is concerned, CGF is a set of one CGF.
 
typedef IncableBFSet parent_type
 
- Public Types inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ComputeKey >
typedef KeyTraits< LIBINT2_UINT_LEAST64 >::ReturnType KeyReturnType
 

Public Member Functions

 CGF ()
 How to return key.
 
 CGF (unsigned int qn[3], bool pure_sh=false)
 
 CGF (const CGF &)
 
 CGF (const ConstructablePolymorphically &)
 
CGFoperator= (const CGF &)
 assignment
 
const OriginDerivative< 3u > & deriv () const
 
OriginDerivative< 3u > & deriv ()
 
std::string label () const override
 Return a compact label.
 
unsigned int num_bf () const override
 Returns the number of basis functions in the set (always 1)
 
unsigned int qn (unsigned int axis) const
 Returns the quantum number along axis.
 
unsigned int operator[] (unsigned int axis) const
 
bool pure_sh () const
 contains only solid harmonics with the same quantum number as this shell? (this may permit simplified RR to be used – obviously must transform to solid harmonics later)
 
void pure_sh (bool p)
 
bool operator== (const CGF &) const
 Comparison operator.
 
void inc (unsigned int xyz, unsigned int c=1u) override
 Implementation of IncableBFSet::inc().
 
void dec (unsigned int xyz, unsigned int c=1u) override
 Implementation of IncableBFSet::dec().
 
unsigned int norm () const override
 Implements IncableBFSet::norm()
 
LIBINT2_UINT_LEAST64 key () const override
 Implements Hashable<LIBINT2_UINT_LEAST64>::key()
 
void print (std::ostream &os=std::cout) const
 Print out the content.
 
bool is_unit () const
 
- Public Member Functions inherited from libint2::IncableBFSet
bool zero () const
 norm() == 0
 
bool valid () const
 Return false if this object is invalid.
 
- Public Member Functions inherited from libint2::Contractable< CGF >
 Contractable (const Contractable &source)
 
Contractableoperator= (const Contractable &source)
 
bool contracted () const
 
void uncontract ()
 
void contract ()
 

Static Public Member Functions

static CGF unit ()
 returns the unit shell (exponent=0, am=0, indicated by unit_=true)
 
- Static Public Member Functions inherited from libint2::Contractable< CGF >
static void set_contracted_default_value (bool dv)
 

Static Public Attributes

static const LIBINT2_UINT_LEAST64 max_num_qn
 The range of keys is [0,max_key).
 
static const LIBINT2_UINT_LEAST64 max_key
 

Friends

CGF operator+ (const CGF &A, const CGF &B)
 
CGF operator- (const CGF &A, const CGF &B)
 

Additional Inherited Members

- Protected Member Functions inherited from libint2::IncableBFSet
void invalidate ()
 make this object invalid
 
- Protected Attributes inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ComputeKey >
KeyStore< LIBINT2_UINT_LEAST64, OwnKey< KeyMP >::result > key_
 

Detailed Description

3D Cartesian Gaussian Function

Constructor & Destructor Documentation

◆ CGF()

CGF::CGF ( )

How to return key.

Default constructor makes an s-type Gaussian

Member Function Documentation

◆ dec()

void CGF::dec ( unsigned int xyz,
unsigned int c = 1u )
overridevirtual

◆ inc()

void CGF::inc ( unsigned int xyz,
unsigned int c = 1u )
overridevirtual

Implementation of IncableBFSet::inc().

Implements libint2::IncableBFSet.

References libint2::IncableBFSet::valid().

◆ key()

LIBINT2_UINT_LEAST64 libint2::CGF::key ( ) const
inlineoverridevirtual

Implements Hashable<LIBINT2_UINT_LEAST64>::key()

Implements libint2::Hashable< LIBINT2_UINT_LEAST64, ComputeKey >.

References libint2::OriginDerivative< NDIM >::key(), key(), max_num_qn, print(), and pure_sh().

Referenced by key().

◆ label()

std::string CGF::label ( ) const
overridevirtual

Return a compact label.

Implements libint2::BFSet.

References libint2::OriginDerivative< NDIM >::label(), label(), and libint2::OriginDerivative< NDIM >::zero().

Referenced by label(), and print().

◆ norm()

unsigned int CGF::norm ( ) const
overridevirtual

◆ num_bf()

unsigned int libint2::CGF::num_bf ( ) const
inlineoverridevirtual

Returns the number of basis functions in the set (always 1)

Implements libint2::BFSet.

◆ pure_sh()

void libint2::CGF::pure_sh ( bool p)
inline
Parameters
pif true, will assume to contain only solid harmonics of the same quantum number as this shell

Member Data Documentation

◆ max_key

const LIBINT2_UINT_LEAST64 libint2::CGF::max_key
static
Initial value:
=
OriginDerivative<3u>::max_key * 2ul * max_num_qn * 2ul + 1
static const LIBINT2_UINT_LEAST64 max_num_qn
The range of keys is [0,max_key).
Definition bfset.h:423

◆ max_num_qn

const LIBINT2_UINT_LEAST64 libint2::CGF::max_num_qn
static
Initial value:
=
((1 + (CGShell::max_qn + 1)) * (2 + (CGShell::max_qn + 1)) *
(3 + (CGShell::max_qn + 1)) / 6)

The range of keys is [0,max_key).

The formula is easily derived by summing (L+1)(L+2)/2 up to CGShell::max_key The factor of 2 to account for contracted vs. uncontracted basis functions The factor of OriginDerivative::max_key to account for derivatives

Referenced by key().


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