MPQC  3.0.0-alpha
mpqc.Chemistry.Basis.Integral.Range

Classes

class  mpqc::lcao::Integrals< RefEngine >
 Wraps an MPQC integral engine (e.g. More...
 

Functions

void mpqc::lcao::evaluate (sc::Ref< sc::OneBodyInt > &engine, const std::vector< int > &P, const std::vector< int > &Q, TensorRef< double, 2, TensorRowMajor > &ints)
 Evaluate set of shell blocks of integrals (p|O|q) More...
 
void mpqc::lcao::evaluate (sc::Ref< sc::TwoBodyTwoCenterInt > &engine, const std::vector< int > &P, const std::vector< int > &Q, TensorRef< double, 2, TensorRowMajor > &ints)
 
void mpqc::lcao::evaluate (sc::Ref< sc::TwoBodyThreeCenterInt > &engine, const std::vector< int > &P, const std::vector< int > &Q, const std::vector< int > &R, TensorRef< double, 3, TensorRowMajor > &ints)
 
void mpqc::lcao::evaluate (sc::Ref< sc::TwoBodyInt > engine, const std::vector< int > &P, const std::vector< int > &Q, const std::vector< int > &R, const std::vector< int > &S, TensorRef< double, 4, TensorRowMajor > &ints)
 

Detailed Description

Provides new range-style compute wrapper to the mpqc.Chemistry.Basis.Integral functionality.

Synopsys:

// get the default Integral factory. MPQC supports several factories that
// may not be interoperable with each other, to be safe use the same one throughout
Ref<Integral> integral_factory = Integral::get_default_integral();
// need to compute overlap integrals between 2 basis sets?
integral_factory->set_basis(bs1, bs2);
Ref<OneBodyInt> overlap_12 = integral_factory->overlap();
// to be continued

Function Documentation

◆ evaluate()

void mpqc::lcao::evaluate ( sc::Ref< sc::OneBodyInt > &  engine,
const std::vector< int > &  P,
const std::vector< int > &  Q,
TensorRef< double, 2, TensorRowMajor > &  ints 
)
inline

Evaluate set of shell blocks of integrals (p|O|q)

Parameters
[in]engineintegral engine
[in]Plist of p shell indices
[in]Qlist of q shell indices
[out](p|O|q)integrals

Generated at Sun Jan 26 2020 23:24:02 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.