LIBINT 2.7.2
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
libint2::Shell Struct Reference

generally-contracted Solid-Harmonic/Cartesion Gaussian Shell More...

#include <shell.h>

Collaboration diagram for libint2::Shell:
Collaboration graph
[legend]

Classes

struct  Contraction
 contracted Gaussian = angular momentum + sph/cart flag + contraction coefficients More...
 
struct  defaultable_boolean
 

Public Types

typedef double real_t
 

Public Member Functions

 Shell (const Shell &)=default
 
 Shell (Shell &&other) noexcept
 
Shelloperator= (const Shell &)=default
 
Shelloperator= (Shell &&other) noexcept
 
 Shell (svector< real_t > _alpha, svector< Contraction > _contr, std::array< real_t, 3 > _O, bool embed_normalization_into_coefficients=true)
 
Shellmove (std::array< real_t, 3 > new_origin)
 
size_t cartesian_size () const
 
size_t size () const
 
size_t ncontr () const
 
size_t nprim () const
 
bool operator== (const Shell &other) const
 
bool operator!= (const Shell &other) const
 
real_t coeff_normalized (size_t c, size_t p) const
 
Shell extract_primitive (size_t p, bool unit_normalized=true) const
 extract primitive shell More...
 

Static Public Member Functions

static char am_symbol (size_t l)
 
static unsigned short am_symbol_to_l (char am_symbol)
 
static bool do_enforce_unit_normalization (defaultable_boolean flag=defaultable_boolean())
 sets and/or reports whether the auto-renormalization to unity is set if called without arguments, returns the current value of the flag otherwise, will set the flag to flag More...
 
static const Shellunit ()
 

Public Attributes

svector< real_t > alpha
 exponents
 
svector< Contractioncontr
 contractions
 
std::array< real_t, 3 > O
 origin
 
svector< real_t > max_ln_coeff
 maximum ln of (absolute) contraction coefficient for each primitive
 

Detailed Description

generally-contracted Solid-Harmonic/Cartesion Gaussian Shell

A simple-to-use Gaussian shell. Here's an example of how to create an s+p shell of the STO-3G basis on the oxygen atom located at the origin.

*  auto s = Shell{
*                  {5.033151300, 1.169596100, 0.380389000},
*                  {
*                    {0, false, {-0.09996723, 0.39951283, 0.70011547}},
*                    {1, false, {0.15591627, 0.60768372, 0.39195739}}
*                  },
*                   {{0.0, 0.0, 0.0}}
*                };
*  
Note
The contraction coefficients correspond to unity-normalized primitives. EMSL Gaussian Basis Set Database, as well as basis set libraries embedded into most quantum chemistry programs use this convention. However, coefficients are automatically converted internally to refer to normalization-free primitives before computing integrals (see Shell::renorm() ).

Constructor & Destructor Documentation

◆ Shell()

libint2::Shell::Shell ( svector< real_t >  _alpha,
svector< Contraction _contr,
std::array< real_t, 3 >  _O,
bool  embed_normalization_into_coefficients = true 
)
inline
Parameters
embed_normalization_into_coefficientsif true, will embed normalization factors into coefficients, else will use the coefficients in _contr as given

Member Function Documentation

◆ coeff_normalized()

real_t libint2::Shell::coeff_normalized ( size_t  c,
size_t  p 
) const
inline
Returns
the coefficient of primitive p in contraction c assuming unit normalized primitive (coeff contains coefficients of normalization-free primitives;
See also
Shell::renorm() )

References alpha, and contr.

Referenced by libint2::molden::Export::write_basis().

◆ do_enforce_unit_normalization()

static bool libint2::Shell::do_enforce_unit_normalization ( defaultable_boolean  flag = defaultable_boolean())
inlinestatic

sets and/or reports whether the auto-renormalization to unity is set if called without arguments, returns the current value of the flag otherwise, will set the flag to flag

Note
by default, shells WILL be re-normalized to unity

◆ extract_primitive()

Shell libint2::Shell::extract_primitive ( size_t  p,
bool  unit_normalized = true 
) const
inline

extract primitive shell

Parameters
pthe index of the primitive to extract
unit_normalizedwhether to produce unit-normalized primitive; set to false to produce normalization-free primitive
Returns
a primitive Shell

References alpha, contr, and O.

◆ unit()

static const Shell & libint2::Shell::unit ( )
inlinestatic
Returns
"unit" Shell, with exponent=0. and coefficient=1., located at the origin

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