LIBINT  2.6.0
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)
 
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
 

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() ).

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

◆ 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: