OneBodyEngine computes integrals of operators (or operator sets) given by OneBodyOperator::operator_type.
More...
#include <engine.h>
|
| OneBodyEngine () |
| creates a default (unusable) OneBodyEngine; to be used as placeholder for copying a usable engine
|
|
template<typename Params = empty_pod> |
| OneBodyEngine (operator_type type, size_t max_nprim, int max_l, int deriv_order=0, Params params=empty_pod()) |
| Constructs a (usable) OneBodyEngine. More...
|
|
| OneBodyEngine (OneBodyEngine &&other) |
| move constructor
|
|
| OneBodyEngine (const OneBodyEngine &other) |
| (deep) copy constructor
|
|
OneBodyEngine & | operator= (OneBodyEngine &&other) |
| move assignment is default
|
|
OneBodyEngine & | operator= (const OneBodyEngine &other) |
| (deep) copy assignment
|
|
template<typename Params > |
void | set_params (const Params ¶ms) |
| resets operator parameters; this may be useful if need to compute Coulomb potential integrals over batches of charges for the sake of parallelism. More...
|
|
template<typename Params > |
DEPRECATED void | set_q (const Params ¶ms) |
| alias to set_params() for backward compatibility with pre-05/13/2015 code More...
|
|
unsigned int | nshellsets () const |
| reports the number of shell sets that each call to compute() produces. More...
|
|
const real_t * | compute (const libint2::Shell &s1, const libint2::Shell &s2) |
| computes shell set of integrals More...
|
|
void | compute_primdata (Libint_t &primdata, const Shell &s1, const Shell &s2, size_t p1, size_t p2, size_t oset) |
|
|
static unsigned int | to_target_deriv_index (unsigned int deriv_idx, unsigned int deriv_order, unsigned int ncenters, unsigned int omitted_center) |
| Given the Cartesian geometric derivative index that refers to center set (0...n-1) with one center omitted compute the derivative index referring to the full center set. More...
|
|
OneBodyEngine computes integrals of operators (or operator sets) given by OneBodyOperator::operator_type.
types of operators (operator sets) supported by OneBodyEngine.
- Warning
- These must start with 0 and appear in same order as elements of BOOST_PP_ONEBODY_OPERATOR_LIST preprocessor macro.
Enumerator |
---|
overlap |
overlap
|
kinetic |
electronic kinetic energy, i.e.
|
nuclear |
Coulomb potential due to point charges.
|
emultipole1 |
overlap + (Cartesian) electric dipole moment, , where is relative to origin
|
emultipole2 |
emultipole1 + (Cartesian) electric quadrupole moment,
|
emultipole3 |
emultipole2 + (Cartesian) electric octupole moment,
|
template<typename Params = empty_pod>
libint2::OneBodyEngine::OneBodyEngine |
( |
operator_type |
type, |
|
|
size_t |
max_nprim, |
|
|
int |
max_l, |
|
|
int |
deriv_order = 0 , |
|
|
Params |
params = empty_pod() |
|
) |
| |
|
inline |
Constructs a (usable) OneBodyEngine.
- Parameters
-
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 |
params | a value of type OneBodyEngine::operator_traits<type>::oper_params_type specifying the parameters of the operator set, e.g. position and magnitude of the charges creating the Coulomb potential for type == nuclear. For most values of type this is not needed. |
- See also
- OneBodyEngine::operator_traits
unsigned int libint2::OneBodyEngine::nshellsets |
( |
| ) |
const |
|
inline |
reports the number of shell sets that each call to compute() produces.
this depends on the order of geometrical derivatives requested and on the operator set.
- See also
- compute()
- Note
- need to specialize for some operator types
References nuclear.
Referenced by compute().
template<typename Params >
void libint2::OneBodyEngine::set_params |
( |
const Params & |
params | ) |
|
|
inline |
resets operator parameters; this may be useful if need to compute Coulomb potential integrals over batches of charges for the sake of parallelism.
Referenced by set_q().
template<typename Params >
DEPRECATED void libint2::OneBodyEngine::set_q |
( |
const Params & |
params | ) |
|
|
inline |
static unsigned int libint2::OneBodyEngine::to_target_deriv_index |
( |
unsigned int |
deriv_idx, |
|
|
unsigned int |
deriv_order, |
|
|
unsigned int |
ncenters, |
|
|
unsigned int |
omitted_center |
|
) |
| |
|
inlinestatic |
Given the Cartesian geometric derivative index that refers to center set (0...n-1) with one center omitted compute the derivative index referring to the full center set.
- Parameters
-
deriv_idx | index of the derivative referring to the set with center omitted_center omitted |
deriv_order | order of the geometric derivative |
ncenters | number of centers in the full set |
omitted_center | the omitted center, must be less than ncenters . |
- Returns
- the index of the derivative referring to full set
DEPRECATED typedef operator_type libint2::OneBodyEngine::integral_type |
alias to operator_type for backward compatibility to pre-05/13/2015 code
- Deprecated:
- use operator_type instead
The documentation for this class was generated from the following file: