GQCP
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
GQCP::ShellSet< _Shell > Class Template Reference

#include <ShellSet.hpp>

Collaboration diagram for GQCP::ShellSet< _Shell >:
Collaboration graph

Public Types

using Shell = _Shell
 
using Primitive = typename Shell::Primitive
 
using BasisFunction = typename Shell::BasisFunction
 

Public Member Functions

 ShellSet (const std::vector< Shell > &shells)
 
 ShellSet (const std::initializer_list< GTOShell > &list)
 
void embedNormalizationFactors ()
 
void embedNormalizationFactorsOfPrimitives ()
 
void unEmbedNormalizationFactorsOfPrimitives ()
 
size_t numberOfBasisFunctions () const
 
std::vector< BasisFunctionbasisFunctions () const
 
size_t basisFunctionIndex (const size_t shell_index) const
 
const std::vector< Shell > & asVector () const
 
size_t numberOfShells () const
 
std::vector< Nucleusnuclei () const
 
size_t maximumAngularMomentum () const
 
size_t maximumNumberOfPrimitives () const
 
template<typename Z = Shell>
enable_if_t< std::is_same< Z, GTOShell >::value, ShellSet< LondonGTOShell > > applyLondonModification (const HomogeneousMagneticField &B) const
 

Detailed Description

template<typename _Shell>
class GQCP::ShellSet< _Shell >

A collection of shells.

Template Parameters
_ShellThe type of shell that this shell set contains.

Member Typedef Documentation

◆ BasisFunction

template<typename _Shell >
using GQCP::ShellSet< _Shell >::BasisFunction = typename Shell::BasisFunction

◆ Primitive

template<typename _Shell >
using GQCP::ShellSet< _Shell >::Primitive = typename Shell::Primitive

◆ Shell

template<typename _Shell >
using GQCP::ShellSet< _Shell >::Shell = _Shell

Constructor & Destructor Documentation

◆ ShellSet() [1/2]

template<typename _Shell >
GQCP::ShellSet< _Shell >::ShellSet ( const std::vector< Shell > &  shells)
inline
Parameters
shellsThe collection of shells represented by a vector.

◆ ShellSet() [2/2]

template<typename _Shell >
GQCP::ShellSet< _Shell >::ShellSet ( const std::initializer_list< GTOShell > &  list)
inline

Construct a ShellSet using an initializer_list.

Parameters
listThe initializer_list.

Member Function Documentation

◆ applyLondonModification()

template<typename _Shell >
template<typename Z = Shell>
enable_if_t< std::is_same< Z, GTOShell >::value, ShellSet< LondonGTOShell > > GQCP::ShellSet< _Shell >::applyLondonModification ( const HomogeneousMagneticField B) const
inline

Apply a London- (gauge-including) modification to each shell.

Parameters
BThe homogeneous magnetic field.
Returns
A new shell shet whose underlying shells have been London-modified.

◆ asVector()

template<typename _Shell >
const std::vector< Shell > & GQCP::ShellSet< _Shell >::asVector ( ) const
inline
Returns
The collection of this shell set's shells represented by a vector.

◆ basisFunctionIndex()

template<typename _Shell >
size_t GQCP::ShellSet< _Shell >::basisFunctionIndex ( const size_t  shell_index) const
inline
Parameters
shell_indexThe index of the shell.
Returns
The index of the given shell's first basis function in the total set of basis functions of this shell.

◆ basisFunctions()

template<typename _Shell >
std::vector< BasisFunction > GQCP::ShellSet< _Shell >::basisFunctions ( ) const
inline
Returns
The basis functions that are in this shell.

◆ embedNormalizationFactors()

template<typename _Shell >
void GQCP::ShellSet< _Shell >::embedNormalizationFactors ( )
inline

For every of the shells, embed the total normalization factor of the corresponding linear combination of spherical (or axis-aligned Cartesian) GTOs into the contraction coefficients.

◆ embedNormalizationFactorsOfPrimitives()

template<typename _Shell >
void GQCP::ShellSet< _Shell >::embedNormalizationFactorsOfPrimitives ( )
inline

For every of the shells, embed the normalization factor of every Gaussian primitive into its corresponding contraction coefficient. If this has already been done, this function has no effect.

Note
The normalization factor that is embedded corresponds to the spherical (or axis-aligned Cartesian) GTO.

◆ maximumAngularMomentum()

template<typename _Shell >
size_t GQCP::ShellSet< _Shell >::maximumAngularMomentum ( ) const
inline
Returns
The maximum angular momentum of the shells.

◆ maximumNumberOfPrimitives()

template<typename _Shell >
size_t GQCP::ShellSet< _Shell >::maximumNumberOfPrimitives ( ) const
inline
Returns
The maximum number of primitives that are used inside the shells.

◆ nuclei()

template<typename _Shell >
std::vector< Nucleus > GQCP::ShellSet< _Shell >::nuclei ( ) const
inline
Returns
An ordered vector of the unique nuclei in this shell set.

◆ numberOfBasisFunctions()

template<typename _Shell >
size_t GQCP::ShellSet< _Shell >::numberOfBasisFunctions ( ) const
inline
Returns
The number of basis functions in this shell set.

◆ numberOfShells()

template<typename _Shell >
size_t GQCP::ShellSet< _Shell >::numberOfShells ( ) const
inline
Returns
The number of shells in this shell set.

◆ unEmbedNormalizationFactorsOfPrimitives()

template<typename _Shell >
void GQCP::ShellSet< _Shell >::unEmbedNormalizationFactorsOfPrimitives ( )
inline

For every of the shells, unembed the normalization factor of every Gaussian primitive into its corresponding contraction coefficient. If this has already been done, this function has no effect.

Note
The normalization factor that is unembedded corresponds to the spherical (or axis-aligned Cartesian) GTO.

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