|
LIBINT 2.9.0
|
generally-contracted Solid-Harmonic/Cartesion Gaussian Shell More...
#include <shell.h>
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 | |
| Shell & | operator= (const Shell &)=default |
| Shell & | operator= (Shell &&other) noexcept |
| Shell (svector< real_t > _alpha, svector< Contraction > _contr, std::array< real_t, 3 > _O, bool embed_normalization_into_coefficients=true) | |
| Shell & | move (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 | |
Static Public Member Functions | |
| static char | am_symbol (size_t l) |
| static unsigned short | am_symbol_to_l (char am_symbol) |
| inverse of 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 | |
| static const Shell & | unit () |
Public Attributes | |
| svector< real_t > | alpha |
| exponents | |
| svector< Contraction > | contr |
| contractions | |
| std::array< real_t, 3 > | O |
| origin | |
| svector< real_t > | max_ln_coeff |
| maximum ln of (absolute) contraction coefficient for each primitive | |
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}}
* };
* Shell::renorm() ).
|
inline |
| embed_normalization_into_coefficients | if true, will embed normalization factors into coefficients, else will use the coefficients in _contr as given |
|
inlinestatic |
| l | angular momentum quantum number |
l ; e.g., s for l=0, p for l=1, etc. | std::invalid_argument | if l is greater than 20 |
Referenced by am_symbol_to_l(), and libint2::molden::Export::write_basis().
|
inlinestatic |
inverse of am_symbol()
| am_symbol | letter symbol denoting orbital angular momentum l ; e.g., s for l=0, p for l=1, etc. |
References am_symbol().
|
inline |
p in contraction c assuming unit normalized primitive (coeff contains coefficients of normalization-free primitives; Referenced by libint2::molden::Export::write_basis().
|
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
|
inline |
|
inlinestatic |