File Global2c2eMatrix.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
-
namespace
Sparrow
-
namespace
nddo
-
namespace
multipole
Functions
-
template<>
Utils::AutomaticDifferentiation::DerivativeType<Utils::derivativeType::first>getDerivative
<Utils::derivativeType::first>(orbPair_index_t op1, orbPair_index_t op2) const¶
-
template<>
Utils::AutomaticDifferentiation::DerivativeType<Utils::derivativeType::second_atomic>getDerivative
<Utils::derivativeType::second_atomic>(orbPair_index_t op1, orbPair_index_t op2) const¶
-
template<>
Utils::AutomaticDifferentiation::DerivativeType<Utils::derivativeType::second_full>getDerivative
<Utils::derivativeType::second_full>(orbPair_index_t op1, orbPair_index_t op2) const¶
-
class
Global2c2eMatrix
- #include <Global2c2eMatrix.h>
This class calculates the two-center two-electron integrals in the global coordinate system.
Public Functions
-
Global2c2eMatrix
(int l1, int l2, const ChargeSeparationParameter &D1, const ChargeSeparationParameter &D2, const KlopmanParameter &r1, const KlopmanParameter &r2) constructor of the Global2c2eMatrix, constaining the 2 centers 2 electrons integrals between two atoms.
- Parameters
l1
: orbital angular momentum quantum number of the first orbitall2
: orbital angular momentum quantum number of the second orbitalD1
:D2
:r1
:r2
:
-
void
setSymmetric
(bool sym) set whether the class refers to integrals within two elements of the same type.
- Parameters
sym
: true if the elements are the same
-
template<Utils::derivOrder
O
>
voidcalculate
(const Eigen::Vector3d &Rab)¶
-
template<Utils::derivativeType
O
>
Utils::AutomaticDifferentiation::DerivativeType<O>getDerivative
(orb_index_t o1, orb_index_t o2, orb_index_t o3, orb_index_t o4) const¶
-
template<Utils::derivativeType
O
>
Utils::AutomaticDifferentiation::DerivativeType<O>getDerivative
(orbPair_index_t op1, orbPair_index_t op2) const¶
-
double
get
(orb_index_t o1, orb_index_t o2, orb_index_t o3, orb_index_t o4) const¶
-
double
get
(orbPair_index_t op1, orbPair_index_t op2) const¶
-
orbPair_index_t
getPairIndex
(orb_index_t o1, orb_index_t o2) const¶
-
void
output
() const¶
Private Functions
-
Eigen::RowVector3d
getFirstDerivative
(orbPair_index_t op1, orbPair_index_t op2) const¶
-
Utils::AutomaticDifferentiation::Second3D
getSecondDerivative
(orbPair_index_t op1, orbPair_index_t op2) const¶
-
template<Utils::derivOrder
O
>
voidevaluate
()¶
-
template<Utils::derivOrder
O
>
Utils::AutomaticDifferentiation::Value3DType<O>evaluateMatrixElement
(orbPair_index_t op1, orbPair_index_t op2)¶
Private Members
-
const int
d1_
¶
-
const int
d2_
¶
-
Global2c2eTerms
terms_
¶
-
const ChargeSeparationParameter &
dist1
¶
-
const ChargeSeparationParameter &
dist2
¶
-
const KlopmanParameter &
rho1
¶
-
const KlopmanParameter &
rho2
¶
-
Local2c2eMatrix<Utils::derivOrder::zero>
localZero_
¶
-
Local2c2eMatrix<Utils::derivOrder::one>
localOne_
¶
-
Local2c2eMatrix<Utils::derivOrder::two>
localTwo_
¶
-
OrbitalRotation<Utils::derivOrder::zero>
rotationsZero_
¶
-
OrbitalRotation<Utils::derivOrder::one>
rotationsOne_
¶
-
OrbitalRotation<Utils::derivOrder::two>
rotationsTwo_
¶
-
double
R_
¶
-
double
RNormX_
¶
-
double
RNormY_
¶
-
double
RNormZ_
¶
-
Utils::AutomaticDifferentiation::First3D
nullDeriv
¶
-
Utils::AutomaticDifferentiation::First3D
oneDeriv
¶
-
Eigen::MatrixXd
globalMatrix_
¶
-
Eigen::Matrix<Utils::AutomaticDifferentiation::First3D, Eigen::Dynamic, Eigen::Dynamic>
globalMatrixOne_
¶
-
Eigen::Matrix<Utils::AutomaticDifferentiation::Second3D, Eigen::Dynamic, Eigen::Dynamic>
globalMatrixTwo_
¶
-
bool
sameElement_
¶
-
TwoElectronIntegralIndexes
pairIndexes_
¶
-
-
template<>
-
namespace
-
namespace
-
namespace