File multipoleTypes.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
Enums
-
enum
multipolePair_t
¶ enum listing the possible charge configurations of a multipole.
It is possible i.e. to infer the charge separation D_{sp1} from it. They are separated in monopole (l = 0), dipole (l = 1) and quadrupole (l = 2).
Values:
-
sp1
¶
-
pd1
¶
-
pp2
¶
-
sd2
¶
-
dd2
¶
-
ss0
¶
-
pp0
¶
-
dd0
¶
-
-
enum
multipole_t
¶ Multipole types used in the calculation of the ERI with the multipole expansion approximation.
Confusion might arise by the use of two merged formalisms: the one for just s and p orbitals and the one for s, p and d orbitals.
l: orbital quantum number m: magnetic quantum number \( M00 = M_{0,0} = q^I\) a monopole with l = 0, m = 0 \( M1m1 = M_{1,-1} = \mu_y \) a dipole in y direction with l = 1, m = -1 \( M10 = M_{1,0} = \mu_z \) a dipole in z direction with l = 1, m = 0 \( M11 = M_{1,1} = \mu_x \) a dipole in x direction with l = 1, m = 1 \( Qxx = Q_{x,x} \) a linear quadrupole in x direction with l = 2, m = 0 \( Qyy = Q_{y,y} \) a linear quadrupole in y direction with l = 2, m = 0 \( Qzz = Q_{z,z} \) a linear quadrupole in z direction with l = 2, m = 0 \( M2m2 = M_{2,-2} = Q_{x,y} \) a x,y square quadrupole with l = 2, m = -2 \( M2m1 = M_{2,-1} = Q_{y,z} \) a y,z square quadrupole with l = 2, m = -1 \( M20 = M_{2,0} = -\~{Q}_{x,z} - \frac{1}{2}\~{Q}_{x,y} \) a quadrupole with charges along each axis at \( \sqrt{2} \) distance from the origin with l = 2, m = 0 \( M21 = M_{2,1} = Q_{x,z}\) a x,z square quadrupole with l = 2, m = 1 \( M22 = M_{2,2} = \~{Q}_{x,y} \) a square quadrupole with charges along the x,y axes at \( \sqrt{2} \) distance from the origin with l = 2, m = 2 \( Qzx = \~{Q}_{z,x} = -\~{Q}_{x,z} \) a square quadrupole with charges along the x,z axes at \( \sqrt{2} \) distance from the origin with l = 2, m = 2
Values:
-
M00
¶
-
Qxx
¶
-
Qyy
¶
-
Qzz
¶
-
M1m1
¶
-
M10
¶
-
M11
¶
-
M2m2
¶
-
M2m1
¶
-
M20
¶
-
M21
¶
-
M22
¶
-
Qzx
¶
-
Functions
-
GeneralTypes::rotationOrbitalPair
getRotPairType
(GeneralTypes::orb_t o1, GeneralTypes::orb_t o2)¶ Given 2 orbitals, gives the corresponding orbital pair.
Throws InvalidOrbitalPairException() if the orbital types given are invalid. Order matters.
- Return
a GeneralTypes::rotationOrbitalPair corresponding to the input orbitals
- Parameters
o1
: first orbitalo2
: second orbital
-
int
MQuantumNumber
(multipole_t m)¶ Returns the magnetic quantum number m of a multipole, i.e.
-1 for a dipole in y direction, 0 for a dipole in z direction and 1 for a dipole in x direction. Throws InvalidMultipoleException() if the multipole is not valid.
-
int
LQuantumNumber
(multipole_t m)¶ Returns the orbital quantum number l of an orbital, i.e.
0 for s, 1 for p and 2 for d type orbitals. Throws InvalidMultipoleException() if the multipole is not a valid one.
-
multipolePair_t
pairType
(int l1, int l2, int l)¶ Function to infer the charge configuration of a multipole.
- Return
throws InvalidQuantumNumbersException() if the quantum number is invalid. Otherwise returns a multipolePair_t.
- Parameters
l1
: the orbital quantum number of the first orbitall2
: the orbital quantum number of the second orbitall
: the multipole orbital quantum number
-
enum
-
namespace
-
namespace
-
namespace