#include <LibintInterfacer.hpp>
|
| LibintInterfacer (LibintInterfacer const &libint_communicator)=delete |
|
void | operator= (LibintInterfacer const &libint_communicator)=delete |
|
libint2::svector< double > | interface (const std::vector< double > &vector) const |
|
std::vector< double > | interface (const libint2::svector< double > &svector) const |
|
libint2::Atom | interface (const Nucleus &nucleus) const |
|
std::vector< libint2::Atom > | interface (const std::vector< Nucleus > &nuclei) const |
|
libint2::Shell | interface (const GTOShell &shell) const |
|
libint2::BasisSet | interface (const ShellSet< GTOShell > &shellset) const |
|
std::vector< GTOShell > | interface (const libint2::Shell &libint_shell, const std::vector< Nucleus > &nuclei, bool undo_renorm=true) const |
|
std::vector< GTOShell > | interface (const libint2::BasisSet &libint_basisset, const std::vector< Nucleus > &nuclei) const |
|
libint2::Engine | createEngine (const CoulombRepulsionOperator &op, const size_t max_nprim, const size_t max_l) const |
|
libint2::Engine | createEngine (const ElectronicDipoleOperator &op, const size_t max_nprim, const size_t max_l) const |
|
libint2::Engine | createEngine (const KineticOperator &op, const size_t max_nprim, const size_t max_l) const |
|
libint2::Engine | createEngine (const NuclearAttractionOperator &op, const size_t max_nprim, const size_t max_l) const |
|
libint2::Engine | createEngine (const OverlapOperator &op, const size_t max_nprim, const size_t max_l) const |
|
size_t | numberOfShells (const libint2::Shell &libint_shell) const |
|
size_t | numberOfShells (const libint2::BasisSet &libint_basisset) const |
|
void | undoRenorm (libint2::Shell &libint_shell) const |
|
A singleton class that takes care of interfacing with the Libint2 (version 2.3.1) C++ API
Singleton class template from: https://stackoverflow.com/a/1008289
◆ libint_target_ptr_vec
◆ LibintInterfacer()
GQCP::LibintInterfacer::LibintInterfacer |
( |
LibintInterfacer const & |
libint_communicator | ) |
|
|
delete |
Remove the public copy constructor and the public assignment operator
◆ createEngine() [1/5]
libint2::Engine GQCP::LibintInterfacer::createEngine |
( |
const CoulombRepulsionOperator & |
op, |
|
|
const size_t |
max_nprim, |
|
|
const size_t |
max_l |
|
) |
| const |
Construct a libint2 engine that corresponds to the given operator
- Parameters
-
op | the Coulomb repulsion operator |
max_nprim | the maximum number of primitives per contracted Gaussian shell |
max_l | the maximum angular momentum of Gaussian shell |
- Returns
- the proper libint2 engine
◆ createEngine() [2/5]
libint2::Engine GQCP::LibintInterfacer::createEngine |
( |
const ElectronicDipoleOperator & |
op, |
|
|
const size_t |
max_nprim, |
|
|
const size_t |
max_l |
|
) |
| const |
Construct a libint2 engine that corresponds to the given operator
- Parameters
-
op | the electronic electric dipole operator |
max_nprim | the maximum number of primitives per contracted Gaussian shell |
max_l | the maximum angular momentum of Gaussian shell |
- Returns
- the proper libint2 engine
◆ createEngine() [3/5]
libint2::Engine GQCP::LibintInterfacer::createEngine |
( |
const KineticOperator & |
op, |
|
|
const size_t |
max_nprim, |
|
|
const size_t |
max_l |
|
) |
| const |
Construct a libint2 engine that corresponds to the given operator
- Parameters
-
op | the kinetic operator |
max_nprim | the maximum number of primitives per contracted Gaussian shell |
max_l | the maximum angular momentum of Gaussian shell |
- Returns
- the proper libint2 engine
◆ createEngine() [4/5]
libint2::Engine GQCP::LibintInterfacer::createEngine |
( |
const NuclearAttractionOperator & |
op, |
|
|
const size_t |
max_nprim, |
|
|
const size_t |
max_l |
|
) |
| const |
Construct a libint2 engine that corresponds to the given operator
- Parameters
-
op | the nuclear attraction operator |
max_nprim | the maximum number of primitives per contracted Gaussian shell |
max_l | the maximum angular momentum of Gaussian shell |
- Returns
- the proper libint2 engine
◆ createEngine() [5/5]
libint2::Engine GQCP::LibintInterfacer::createEngine |
( |
const OverlapOperator & |
op, |
|
|
const size_t |
max_nprim, |
|
|
const size_t |
max_l |
|
) |
| const |
Construct a libint2 engine that corresponds to the given operator
- Parameters
-
op | the overlap operator |
max_nprim | the maximum number of primitives per contracted Gaussian shell |
max_l | the maximum angular momentum of Gaussian shell |
- Returns
- the proper libint2 engine
◆ get()
- Returns
- the static singleton instance
◆ interface() [1/8]
libint2::Shell GQCP::LibintInterfacer::interface |
( |
const GTOShell & |
shell | ) |
const |
- Parameters
-
shell | the GQCP shell that should be interfaced |
- Returns
- a libint2::Shell whose renorm()alization has been undone, interfaced from the GQCP GTOShell
- Parameters
-
shell | the GQCP shell that should be interfaced |
- Returns
- a libint2::Shell whose renorm()alization has been undone, interfaced from the GQCP Shell
◆ interface() [2/8]
std::vector< GTOShell > GQCP::LibintInterfacer::interface |
( |
const libint2::BasisSet & |
libint_basisset, |
|
|
const std::vector< Nucleus > & |
nuclei |
|
) |
| const |
Interface a libint2::BasisSet to the corresponding GQCP::ShellSet and undo the libint2 renorm()alization
- Parameters
-
libint_basisset | the libint2 Shell that should be interfaced |
nuclei | the nuclei that can serve as centers of the Shells |
- Returns
- a vector of GTOShells corresponding to the un-renorm()alized libint2::BasisSet
◆ interface() [3/8]
std::vector< GTOShell > GQCP::LibintInterfacer::interface |
( |
const libint2::Shell & |
libint_shell, |
|
|
const std::vector< Nucleus > & |
nuclei, |
|
|
bool |
undo_renorm = true |
|
) |
| const |
Interface a libint2::Shell to the corresponding list of GQCP::Shells. Note that there is no one-to-one libint -> GQCP conversion, since GQCP does not support representing 'linked' sp-'shells'
- Parameters
-
libint_shell | the libint2 Shell that should be interfaced |
nuclei | the nuclei that can serve as centers of the Shells |
undo_renorm | if the libint2::Shell should be un-renorm()alized |
- Returns
- a vector of GQCP::Shells corresponding to the given libint2::Shells
Interface a libint2::Shell to the corresponding list of GQCP::Shells. Note that there is no one-to-one libint -> GQCP conversion, since GQCP does not support representing 'linked' sp-'shells'
- Parameters
-
libint_shell | the libint2 Shell that should be interfaced |
nuclei | the nuclei that can serve as centers of the Shells |
undoRenorm | if the libint2::Shell should be un-renorm()alized |
- Returns
- a vector of GQCP::Shells
◆ interface() [4/8]
std::vector< double > GQCP::LibintInterfacer::interface |
( |
const libint2::svector< double > & |
svector | ) |
const |
Convert a libint2::svector
to a std::vector
.
- Parameters
-
svector | The libint2::svector . |
- Returns
- The
std::vector
.
◆ interface() [5/8]
libint2::Atom GQCP::LibintInterfacer::interface |
( |
const Nucleus & |
nucleus | ) |
const |
- Parameters
-
nucleus | the GQCP-nucleus that should be interfaced into a libint2::Atom |
- Returns
- a libint2::Atom, interfaced from the given GQCP::Nucleus
◆ interface() [6/8]
libint2::BasisSet GQCP::LibintInterfacer::interface |
( |
const ShellSet< GTOShell > & |
shellset | ) |
const |
- Parameters
-
- Returns
- a libint2::BasisSet (whose underlying libint2::Shells have been re-renorm()alized), interfaced from the GQCP ShellSet. Note that it is not possible to create libint2-sp-shells from a GQCP ShellSet
◆ interface() [7/8]
libint2::svector< double > GQCP::LibintInterfacer::interface |
( |
const std::vector< double > & |
vector | ) |
const |
Convert a std::vector
to a libint2::svector
.
- Parameters
-
- Returns
- The
libint2::svector
.
◆ interface() [8/8]
std::vector< libint2::Atom > GQCP::LibintInterfacer::interface |
( |
const std::vector< Nucleus > & |
nuclei | ) |
const |
- Parameters
-
nuclei | the GQCP-nuclei that should be interfaced |
- Returns
- libint2::Atoms, interfaced from the given GQCP nuclei
◆ numberOfShells() [1/2]
size_t GQCP::LibintInterfacer::numberOfShells |
( |
const libint2::BasisSet & |
libint_basisset | ) |
const |
- Parameters
-
libint_basisset | the libint2::BasisSet |
- Returns
- the number of true shells that are contained in the libint2::BasisSet
◆ numberOfShells() [2/2]
size_t GQCP::LibintInterfacer::numberOfShells |
( |
const libint2::Shell & |
libint_shell | ) |
const |
- Parameters
-
libint_shell | the libint2::Shell |
- Returns
- the number of true shells that are contained in the libint2::Shell
- Parameters
-
libint_shell | the libint2::Shell |
- Returns
- the number of true shells that are contained in the libint shell
◆ operator=()
void GQCP::LibintInterfacer::operator= |
( |
LibintInterfacer const & |
libint_communicator | ) |
|
|
delete |
◆ undoRenorm()
void GQCP::LibintInterfacer::undoRenorm |
( |
libint2::Shell & |
libint_shell | ) |
const |
Undo the libint2 default renormalization (see libint2::Shell::renorm())
- Parameters
-
libint_shell | the shell that should be un-renorm()alized |
The documentation for this class was generated from the following files: