LIBINT 2.7.2
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
libint2::CGShell1d< Axis > Class Template Reference

a "shell" of 1D CGFs with quantum number L is a set of 1D CGFs with quantum numbers 0 . More...

#include <bfset.h>

Inheritance diagram for libint2::CGShell1d< Axis >:
Inheritance graph
[legend]
Collaboration diagram for libint2::CGShell1d< Axis >:
Collaboration graph
[legend]

Public Types

typedef CGF1d< Axis > iter_type
 CGShell1d is a set CGF1d's.
 
typedef IncableBFSet parent_type
 
- Public Types inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ComputeKey >
typedef KeyTraits< LIBINT2_UINT_LEAST64 >::ReturnType KeyReturnType
 

Public Member Functions

 CGShell1d ()
 Default constructor makes a qn=0 shell.
 
 CGShell1d (unsigned int qn)
 
 CGShell1d (unsigned int qn[1])
 
 CGShell1d (const CGShell1d &source)
 
CGShell1doperator= (const CGShell1d &source)
 assignment
 
const OriginDerivative< 1u > & deriv () const
 
OriginDerivative< 1u > & deriv ()
 
std::string label () const override
 Return a compact label. More...
 
unsigned int num_bf () const override
 Returns the number of basis functions in the set (always 1) More...
 
unsigned int qn (unsigned int dir=0) const
 Returns the quantum number (what used to be "angular momentum")
 
bool operator== (const CGShell1d &a) const
 Comparison operator.
 
void inc (unsigned int dir, unsigned int c=1u) override
 Implementation of IncableBFSet::inc(). More...
 
void dec (unsigned int dir, unsigned int c=1u) override
 Implementation of IncableBFSet::dec(). More...
 
unsigned int norm () const override
 Implements IncableBFSet::norm() More...
 
LIBINT2_UINT_LEAST64 key () const override
 Implements Hashable<LIBINT2_UINT_LEAST64>::key() More...
 
void print (std::ostream &os=std::cout) const
 Print out the content.
 
bool is_unit () const
 
- Public Member Functions inherited from libint2::IncableBFSet
virtual void inc (unsigned int xyz, unsigned int c=1u)=0
 Add c quanta along xyz. More...
 
virtual void dec (unsigned int xyz, unsigned int c=1u)=0
 Subtract c quanta along xyz. If impossible, invalidate the object, but do not change its quanta! More...
 
virtual unsigned int norm () const =0
 Returns the norm of the quantum numbers. More...
 
bool zero () const
 norm() == 0
 
bool valid () const
 Return false if this object is invalid.
 
virtual unsigned int num_bf () const =0
 
virtual std::string label () const =0
 
virtual KeyReturnType key () const=0
 
- Public Member Functions inherited from libint2::Contractable< CGShell1d< Axis > >
 Contractable (const Contractable &source)
 
Contractableoperator= (const Contractable &source)
 
bool contracted () const
 
void uncontract ()
 
void contract ()
 

Static Public Member Functions

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

Static Public Attributes

static constexpr auto axis = Axis
 
static const LIBINT2_UINT_LEAST64 max_num_qn = CGShell::max_qn+1
 The range of keys is [0,max_key). More...
 
static const LIBINT2_UINT_LEAST64 max_key = OriginDerivative<1u>::max_key * OriginDerivative<1u>::max_key * max_num_qn + 1
 

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

template<CartesianAxis Axis>
class libint2::CGShell1d< Axis >

a "shell" of 1D CGFs with quantum number L is a set of 1D CGFs with quantum numbers 0 .

. L

Note
This is very different from a CGShell which consists of CGFs with same "norm", distributed differently between axes. The notion of 1d shell is still useful because we want to compute integrals over all functions in the shell at once.
Just like with CGF1d, the axis is embedded into the type

Member Function Documentation

◆ dec()

template<CartesianAxis Axis>
void libint2::CGShell1d< Axis >::dec ( unsigned int  dir,
unsigned int  c = 1u 
)
inlineoverridevirtual

Implementation of IncableBFSet::dec().

Implements libint2::IncableBFSet.

◆ inc()

template<CartesianAxis Axis>
void libint2::CGShell1d< Axis >::inc ( unsigned int  dir,
unsigned int  c = 1u 
)
inlineoverridevirtual

Implementation of IncableBFSet::inc().

Implements libint2::IncableBFSet.

◆ key()

template<CartesianAxis Axis>
LIBINT2_UINT_LEAST64 libint2::CGShell1d< Axis >::key ( ) const
inlineoverridevirtual

◆ label()

template<CartesianAxis Axis>
std::string libint2::CGShell1d< Axis >::label ( ) const
inlineoverridevirtual

◆ norm()

template<CartesianAxis Axis>
unsigned int libint2::CGShell1d< Axis >::norm ( ) const
inlineoverridevirtual

◆ num_bf()

template<CartesianAxis Axis>
unsigned int libint2::CGShell1d< Axis >::num_bf ( ) const
inlineoverridevirtual

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

Implements libint2::BFSet.

Member Data Documentation

◆ max_num_qn

template<CartesianAxis Axis>
const LIBINT2_UINT_LEAST64 libint2::CGShell1d< Axis >::max_num_qn = CGShell::max_qn+1
static

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 libint2::CGShell1d< Axis >::key().


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