|
LIBINT
2.1.0-stable
|
TwoBodyEngine computes (ab|O|cd) (i.e. More...
#include <engine.h>

Classes | |
| struct | class_id |
| struct | class_profile |
Public Types | |
| typedef libint2::TwoBodyEngineTraits< Kernel >::oper_params_type | oper_params_type |
Public Member Functions | |
| TwoBodyEngine () | |
| creates a default (unusable) TwoBodyEngine | |
| TwoBodyEngine (size_t max_nprim, int max_l, int deriv_order=0, real_t precision=std::numeric_limits< real_t >::epsilon(), const oper_params_type &oparams=oper_params_type()) | |
| Constructs a (usable) TwoBodyEngine. More... | |
| TwoBodyEngine (TwoBodyEngine &&other) | |
| move constructor | |
| TwoBodyEngine (const TwoBodyEngine &other) | |
| (deep) copy constructor | |
| TwoBodyEngine & | operator= (TwoBodyEngine &&other) |
| move assignment | |
| TwoBodyEngine & | operator= (const TwoBodyEngine &other) |
| (deep) copy assignment | |
| const real_t * | compute (const libint2::Shell &tbra1, const libint2::Shell &tbra2, const libint2::Shell &tket1, const libint2::Shell &tket2) |
| computes shell set of integrals More... | |
| void | set_precision (real_t prec) |
| this specifies target precision for computing the integrals. More... | |
| real_t | precision () const |
| void | print_timers () |
Public Attributes | |
| Timers< 3 > | timers |
| std::map< class_id, class_profile > | class_profiles |
Static Public Attributes | |
| static bool | skip_core_ints = false |
Friends | |
| struct | detail::TwoBodyEngineDispatcher< Kernel > |
TwoBodyEngine computes (ab|O|cd) (i.e.
four-center) integrals over a two-body kernel of type MultiplicativeSphericalTwoBodyKernel using Obara-Saika-Ahlrichs relations.
| Kernel | kernel type, the supported values are enumerated by MultiplicativeSphericalTwoBodyKernel |
|
inline |
Constructs a (usable) TwoBodyEngine.
| max_nprim | the maximum number of primitives per contracted Gaussian shell |
| max_l | the maximum angular momentum of Gaussian shell |
| deriv_order | if not 0, will compute geometric derivatives of Gaussian integrals of order deriv_order |
| precision | specifies the target precision with which the integrals will be computed; the default is the "epsilon" of real_t type, given by std::numeric_limits<real_t>::epsilon(). The precision control is somewhat empirical, hence be conservative. |
| oper_params | specifies the operator parameters. The type of oper_params depends on Kernel as follows:
|
|
inline |
computes shell set of integrals
References libint2::Shell::contr, libint2::Timers< N >::start(), and libint2::Timers< N >::stop().
|
inline |
References libint2::Timers< N >::read(), and libint2::Timers< N >::set_now_overhead().
|
inline |
this specifies target precision for computing the integrals.
target precision
is used in 3 ways: (1) to screen out primitive pairs in ShellPair object for which
; (2) to screen out primitive quartets outside compute_primdata() for which
; (3) to screen out primitive quartets inside compute_primdata() for which the prefactor of
is smaller than
.
1.8.11