GQCP
|
#include <IntegralCalculator.hpp>
Static Public Member Functions | |
template<typename Shell , size_t N, typename IntegralScalar > | |
static auto | calculate (BaseOneElectronIntegralEngine< Shell, N, IntegralScalar > &engine, const ShellSet< Shell > &left_shell_set, const ShellSet< Shell > &right_shell_set) -> std::array< MatrixX< IntegralScalar >, N > |
template<typename Shell , size_t N, typename IntegralScalar > | |
static auto | calculate (BaseTwoElectronIntegralEngine< Shell, N, IntegralScalar > &engine, const ShellSet< Shell > &left_shell_set, const ShellSet< Shell > &right_shell_set) -> std::array< Tensor< IntegralScalar, 4 >, N > |
template<typename FQOneElectronOperator > | |
static Matrix< double > | calculateLibintIntegrals (const FQOneElectronOperator &fq_one_op, const ScalarBasis< GTOShell > &left_scalar_basis, const ScalarBasis< GTOShell > &right_scalar_basis) |
template<typename FQOneElectronOperator > | |
static SquareMatrix< double > | calculateLibintIntegrals (const FQOneElectronOperator &fq_one_op, const ScalarBasis< GTOShell > &scalar_basis) |
static std::array< Matrix< double >, 3 > | calculateLibintIntegrals (const ElectronicDipoleOperator &fq_one_op, const ScalarBasis< GTOShell > &left_scalar_basis, const ScalarBasis< GTOShell > &right_scalar_basis) |
static std::array< SquareMatrix< double >, 3 > | calculateLibintIntegrals (const ElectronicDipoleOperator &fq_one_op, const ScalarBasis< GTOShell > &scalar_basis) |
static SquareRankFourTensor< double > | calculateLibintIntegrals (const CoulombRepulsionOperator &fq_two_op, const ScalarBasis< GTOShell > &scalar_basis) |
static Tensor< double, 4 > | calculateLibintIntegrals (const CoulombRepulsionOperator &fq_two_op, const ScalarBasis< GTOShell > &left_scalar_basis, const ScalarBasis< GTOShell > &right_scalar_basis) |
template<typename FQOneElectronOperator > | |
static SquareMatrix< double > | calculateLibcintIntegrals (const FQOneElectronOperator &fq_one_op, const ScalarBasis< GTOShell > &scalar_basis) |
static std::array< SquareMatrix< double >, 3 > | calculateLibcintIntegrals (const ElectronicDipoleOperator &fq_one_op, const ScalarBasis< GTOShell > &scalar_basis) |
static SquareRankFourTensor< double > | calculateLibcintIntegrals (const CoulombRepulsionOperator &fq_op, const ScalarBasis< GTOShell > &scalar_basis) |
A class that calculates integrals over ShellSets: it loops over all shells in the given ShellSets. It just has two static member functions, for cleaner interface calls.
|
inlinestatic |
Calculate all one-electron integrals over the basis functions inside the given shell sets.
engine | the engine that can calculate one-electron integrals over shells (not const because we allow for non-const Engine::calculate() calls) |
left_shell_set | the set of shells that should appear on the left of the operator |
right_shell_set | the set of shells that should appear on the right of the operator |
Shell | the type of shell the integral engine is able to handle |
N | the number of components the operator has |
IntegralScalar | the scalar representation of an integral |
|
inlinestatic |
Calculate all two-electron integrals over the basis functions inside the given shell sets.
engine | the engine that can calculate two-electron integrals over shells |
left_shell_set | the set of shells that should appear on the left of the operator |
right_shell_set | the set of shells that should appear on the right of the operator |
Shell | the type of shell the integral engine is able to handle |
N | the number of components the operator has |
IntegralScalar | the scalar representation of an integral |
|
inlinestatic |
Calculate the Coulomb repulsion energy integrals, within a given scalar basis, using Libcint.
fq_op | the first-quantized operator |
scalar_basis | the scalar basis that contains the shells over which the integrals should be calculated |
|
inlinestatic |
Calculate the integrals over the given electronic dipole operator, within a given scalar basis, using libcint.
fq_one_op | the electronic dipole operator |
scalar_basis | the scalar basis that contains the shells over which the integrals should be calculated |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) one-electron operator, within a given scalar basis, using libcint.
fq_one_op | the first-quantized one-electron operator |
scalar_basis | the scalar basis that contains the shells over which the integrals should be calculated |
FQOneElectronOperator | the type of the first-quantized one-electron operator |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) two-electron operator, over a left and right scalar basis, using Libint2.
fq_two_op | the first-quantized operator |
left_scalar_basis | the scalar basis that contains the shells that should appear to the left of the operator |
right_scalar_basis | the scalar basis that contains the shells that should appear to the right of the operator |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) two-electron operator, within a given scalar basis, using Libint2.
fq_two_op | the first-quantized operator |
scalar_basis | the scalar basis that contains the shells over which the integrals should be calculated |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) one-electron operator, over a left and right scalar basis, using Libint2.
fq_one_op | the first-quantized one-electron operator |
left_scalar_basis | the scalar basis that contains the shells that should appear to the left of the operator |
right_scalar_basis | the scalar basis that contains the shells that should appear to the right of the operator |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) one-electron operator, within a given scalar basis, using Libint2.
fq_one_op | the first-quantized one-electron operator |
scalar_basis | the scalar basis that contains the shells over which the integrals should be calculated |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) one-electron operator, over a left and right scalar basis, using Libint2.
fq_one_op | the first-quantized one-electron operator |
left_scalar_basis | the scalar basis that contains the shells that appear to the left of the operator |
right_scalar_basis | the scalar basis that contains the shell sets that appear to the right of the operator over which the integrals should be calculated |
FQOneElectronOperator | the type of the first-quantized one-electron operator |
|
inlinestatic |
Calculate the integrals over the given (first-quantized) one-electron operator, within a given scalar basis, using Libint2.
fq_one_op | the first-quantized one-electron operator |
scalar_basis | the scalar basis that contains the shells over which the integrals should be calculated |
FQOneElectronOperator | the type of the first-quantized one-electron operator |