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

#include <ScalarBasis.hpp>

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

Public Types

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

Public Member Functions

 ScalarBasis (const ShellSet< Shell > &shell_set)
 
template<typename Z = Shell>
 ScalarBasis (const NuclearFramework &nuclear_framework, const std::string &basisset_name, typename std::enable_if< std::is_same< Z, GTOShell >::value >::type *=0)
 
template<typename Z = Shell>
 ScalarBasis (const Molecule &molecule, const std::string &basisset_name, typename std::enable_if< std::is_same< Z, GTOShell >::value >::type *=0)
 
template<typename Z = Shell>
 ScalarBasis (const NuclearFramework &nuclear_framework, const std::string &basisset_name, const HomogeneousMagneticField &B, typename std::enable_if< std::is_same< Z, LondonGTOShell >::value >::type *=0)
 
template<typename Z = Shell>
 ScalarBasis (const Molecule &molecule, const std::string &basisset_name, const HomogeneousMagneticField &B, typename std::enable_if< std::is_same< Z, LondonGTOShell >::value >::type *=0)
 
const ShellSet< Shell > & shellSet () const
 
std::vector< BasisFunctionbasisFunctions () const
 
size_t numberOfBasisFunctions () const
 
std::vector< size_t > basisFunctionIndices (const std::function< bool(const Shell &)> &selector) const
 
std::vector< size_t > basisFunctionIndices (const std::function< bool(const BasisFunction &)> &selector) const
 

Detailed Description

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

A class that represents a scalar basis: it represents a collection of scalar basis functions. It provides an interface to obtain basis functions and calculate integrals over the shell type.

Template Parameters
_ShellThe type of shell that this scalar basis contains.

Member Typedef Documentation

◆ BasisFunction

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

◆ Primitive

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

◆ Shell

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

Constructor & Destructor Documentation

◆ ScalarBasis() [1/5]

template<typename _Shell >
GQCP::ScalarBasis< _Shell >::ScalarBasis ( const ShellSet< Shell > &  shell_set)
inline
Parameters
shell_setA collection of shells that represents this scalar basis.

◆ ScalarBasis() [2/5]

template<typename _Shell >
template<typename Z = Shell>
GQCP::ScalarBasis< _Shell >::ScalarBasis ( const NuclearFramework nuclear_framework,
const std::string &  basisset_name,
typename std::enable_if< std::is_same< Z, GTOShell >::value >::type *  = 0 
)
inline

Construct a scalar basis by placing shells corresponding to the basisset specification on every nucleus of the nuclear framework.

Parameters
nuclear_frameworkThe nuclear framework containing the nuclei on which the shells should be centered.
basisset_nameThe name of the basisset, e.g. "STO-3G".
Note
The normalization factors of the spherical (or axis-aligned Cartesian) GTO primitives are embedded in the contraction coefficients of the underlying shells.

◆ ScalarBasis() [3/5]

template<typename _Shell >
template<typename Z = Shell>
GQCP::ScalarBasis< _Shell >::ScalarBasis ( const Molecule molecule,
const std::string &  basisset_name,
typename std::enable_if< std::is_same< Z, GTOShell >::value >::type *  = 0 
)
inline

Construct a scalar basis by placing shells corresponding to the basisset specification on every nucleus of the molecule.

Parameters
moleculeThe molecule containing the nuclei on which the shells should be centered.
basisset_nameThe name of the basisset, e.g. "STO-3G".
Note
The normalization factors of the spherical (or axis-aligned Cartesian) GTO primitives are embedded in the contraction coefficients of the underlying shells.

◆ ScalarBasis() [4/5]

template<typename _Shell >
template<typename Z = Shell>
GQCP::ScalarBasis< _Shell >::ScalarBasis ( const NuclearFramework nuclear_framework,
const std::string &  basisset_name,
const HomogeneousMagneticField B,
typename std::enable_if< std::is_same< Z, LondonGTOShell >::value >::type *  = 0 
)
inline

Construct a scalar basis by placing gauge-including shells corresponding to the basisset specification on every nucleus of the nuclear framework.

Parameters
nuclear_frameworkThe nuclear framework containing the nuclei on which the shells should be centered.
basisset_nameThe name of the basisset, e.g. "STO-3G".
BThe homogeneous magnetic field.
Note
The normalization factors of the spherical (or axis-aligned Cartesian) GTO primitives are embedded in the contraction coefficients of the underlying shells.

◆ ScalarBasis() [5/5]

template<typename _Shell >
template<typename Z = Shell>
GQCP::ScalarBasis< _Shell >::ScalarBasis ( const Molecule molecule,
const std::string &  basisset_name,
const HomogeneousMagneticField B,
typename std::enable_if< std::is_same< Z, LondonGTOShell >::value >::type *  = 0 
)
inline

Construct a scalar basis by placing gauge-including shells corresponding to the basisset specification on every nucleus of the molecule.

Parameters
moleculeThe molecule containing the nuclei on which the shells should be centered.
basisset_nameThe name of the basisset, e.g. "STO-3G".
BThe homogeneous magnetic field.
Note
The normalization factors of the spherical (or axis-aligned Cartesian) GTO primitives are embedded in the contraction coefficients of the underlying shells.

Member Function Documentation

◆ basisFunctionIndices() [1/2]

template<typename _Shell >
std::vector< size_t > GQCP::ScalarBasis< _Shell >::basisFunctionIndices ( const std::function< bool(const BasisFunction &)> &  selector) const
inline

Find the basis function indices selected by a given selector.

Parameters
selectorA function that returns true if the basis function index should be included.
Returns
The indices of the basis functions whose corresponding shells are selected.

◆ basisFunctionIndices() [2/2]

template<typename _Shell >
std::vector< size_t > GQCP::ScalarBasis< _Shell >::basisFunctionIndices ( const std::function< bool(const Shell &)> &  selector) const
inline

Find the basis function indices selected by a given selector.

Parameters
selectorA function that returns true if the basis function indices of a particular shell should be included.
Returns
The indices of the basis functions whose corresponding shells are selected.

◆ basisFunctions()

template<typename _Shell >
std::vector< BasisFunction > GQCP::ScalarBasis< _Shell >::basisFunctions ( ) const
inline
Returns
The basis functions that this scalar basis consists of.

◆ numberOfBasisFunctions()

template<typename _Shell >
size_t GQCP::ScalarBasis< _Shell >::numberOfBasisFunctions ( ) const
inline
Returns
The number of basis functions that this scalar basis consists of.

◆ shellSet()

template<typename _Shell >
const ShellSet< Shell > & GQCP::ScalarBasis< _Shell >::shellSet ( ) const
inline
Returns
The collection of shells that represents this scalar basis.

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