LIBINT  2.6.0
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
 Return a compact label.
 
unsigned int num_bf () const
 Returns the number of basis functions in the set (always 1)
 
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)
 Implementation of IncableBFSet::inc().
 
void dec (unsigned int dir, unsigned int c=1u)
 Implementation of IncableBFSet::dec().
 
unsigned int norm () const
 Implements IncableBFSet::norm()
 
LIBINT2_UINT_LEAST64 key () const
 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< 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 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: