−Table of Contents
Coulomb repulsion operator (U)
The Coulomb interaction is given as: H=∑i≠j12e2|ri−rj|, whereby the sum runs over all electrons and the factor 1/2 takes care of the double counting as each pair of electrons only repels once. In second quantization this Hamiltonian can be written as: H=∑τ1τ2τ3τ4Uτ1τ2τ3τ4a†τ1a†τ2a†τ3a†τ4, whereby τ labels the spin and orbital degrees of freedom.
Using Feynman diagrams this interaction can be depicted as two electrons entering with quantum numbers τ4 and τ3, exchanging an entity κ and leaving with quantum numbers τ1 and τ2.
Calculating the Coulomb interaction is more difficult as one might expect. The interaction strength diverges when r1=r2 and one needs to calculate the principle integral in three dimensions. A good way to evaluate this integral is to expand 1/|r1−r2| in spherical harmonics and separate the integrals over the angle for the integral over r. The angular integrals turn trivial with analytical solutions whereas the radial integral becomes non-divergent. If we assume spherical symmetry for the basis functions the result for the radial integrals are the Slater integrals. If the basis functions are more complex we still can expand these in spherical symmetry and the result is a sum over Slater integrals. The standard operator in Quanty implements the spherical case, the more general case can be created by importing results from DFT and will be discussed in those sections.
The expansion of e2/|r1−r2| is: ∑i≠j12e2|ri−rj|=∑i≠j12∞∑k=0m=k∑m=−k4π2k+1Min[ri,rj]kMax[ri,rj]k+1Y(k)m(θi,ϕi)Y(k)m(θj,ϕj)∗.
Expanding our basis states in spherical harmonics times radial wave functions the quantum number τi labels the set of quantum numbers ni,li,mi,σi. This allows us to separate the radial from angular part of the equation. Using that: ∑i√4π2k+1Y(k)m(θi,ϕi)=∑iC(k)m(θi,ϕi)=∑τ1,τ3δσ1,σ3δm,m1−m3⟨Y(l1)m1(θ,ϕ)|C(k)m(θ,ϕ)|Y(l3)m3(θ,ϕ)⟩a†τ1a†τ3, we can rewrite: ∑i≠j12∞∑k=0m=k∑m=−k4π2k+1Y(k)m(θi,ϕi)Y(k)m(θj,ϕj)∗ as: 12k=∞∑k=0∑τ1,τ2,τ3,τ4δσ1,σ3δσ2,σ4δm4−m2,m1−m3×⟨Y(l1)m1|C(k)m1−m3|Y(l3)m3⟩⟨Y(l4)m4|C(k)m4−m2|Y(l2)m2⟩a†τ1a†τ3a†τ2a†τ4, which after reordering to normal order becomes: −12k=∞∑k=0∑τ1,τ2,τ3,τ4δσ1,σ3δσ2,σ4δm4−m2,m1−m3×⟨Y(l1)m1|C(k)m1−m3|Y(l3)m3⟩⟨Y(l4)m4|C(k)m4−m2|Y(l2)m2⟩a†τ1a†τ2a†τ3a†τ4.
The radial part of the operator (Min[ri,rj]kMax[ri,rj]k+1) is more difficult and will be cast into parameters: R(k)[τ1τ2τ3τ4]=e2∫∞0∫∞0Min[ri,rj]kMax[ri,rj]k+1R1[ri]R2[rj]R3[ri]R4[rj]r2ir2jdridrj.
Which gives the final result: H=∑τ1τ2τ3τ4Uτ1τ2τ3τ4a†τ1a†τ2a†τ3a†τ4,Uτ1τ2τ3τ4=−12δσ1,σ3δσ2,σ4∞∑k=0c(k)[l1,m1;l3,m3]c(k)[l4,m4;l2,m2]×R(k)[τ1τ2τ3τ4],c(k)[l1,m1;l2,m2]=⟨Y(l1)m1|C(k)m1−m2|Y(l2)m2⟩.
Using angular momentum as a basis the scattering event described is given by the diagram on the left. An angular momentum →k with a projection m on the z direction is exchanged.
Using conservation of angular momentum we can see that |l1−l3|≤k≤|l1+l3| and |l2−l4|≤k≤|l2+l4|. This can be used to restrict the number of radial integrals one needs to compute.
Single shell
For the case where n1=n2=n3=n4 and l1=l2=l3=l4, i.e. Coulomb repulsion within one shell one defines:
F(k)=R(k)[τ1τ2τ3τ4].
In Quanty one can add this Coulomb operator as:
- Example.Quanty
NewOperator("U", NF, IndexUp, IndexDn, SlaterIntegrals)
whereby SlaterIntegrals represents a list of F(k) with k running from 0 to 2l in steps of 2, i.e. k is even.
For a d shell one can define:
- Example.Quanty
OppF0 = NewOperator("U", NF, IndexUp, IndexDn, {1,0,0}) OppF2 = NewOperator("U", NF, IndexUp, IndexDn, {0,1,0}) OppF4 = NewOperator("U", NF, IndexUp, IndexDn, {0,0,1})
to get the Coulomb operator proportional to F(0), F(2) and F(4).
Two shells, shell occupation conserving
The Coulomb repulsion between two shells which does not change the number of electrons is given by a direct term (n1l1=n3l3 and n2l2=n4l4) and an indirect or exchange term (n1l1=n4l4 and n2l2=n3l3). We here assume that n1l1≠n2l2. The direct term is given by the Slater integrals:
F(k)=e2∫∞0∫∞0Min[ri,rj]kMax[ri,rj]k+1R1[ri]2R2[rj]2dridrj,
with 0≤k≤Min[2l1,2l2] in steps of 2, i.e. k is even.
The indirect term is given by the exchange integrals: G(k)=e2∫∞0∫∞0Min[ri,rj]kMax[ri,rj]k+1R1[ri]R1[rj]R2[ri]R2[rj]dridrj, with |l1−l2|≤k≤|l1+l2| in steps of 2, i.e. k is even if both l1 and l2 are even or odd and k is odd if one of the angular momenta involved is even and the other is odd.
In Quanty one can implement these operators as:
- Example.Quanty
NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, Fk, Gk)
For l1=1 and l2=2 one could define:
- Example.Quanty
OppF0pd = NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, {1,0}, {0,0}) OppF2pd = NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, {0,1}, {0,0}) OppG1pd = NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, {0,0}, {1,0}) OppG3pd = NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, {0,0}, {0,1})
General case of 4 different shells
The Coulomb repulsion in the general case allows four different principle quantum numbers and angular momenta. The radial integral is given as:
R(k)[n1l1n2l2n3l3n4l4]=e2∫∞0∫∞0Min[ri,rj]kMax[ri,rj]k+1Rn1l1[ri]Rn2l2[rj]Rn3l3[ri]Rn4l4[rj]dridrj,
with Max[|l1−l3|,|l2−l4|]≤k≤Min[l1+l3,l2+l4] and (l1+l3), (l2+l4) either both even or both odd.
In Quanty one can implement these operators as:
- Example.Quanty
NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, IndexUp_3, IndexDn_3, IndexUp_4, IndexDn_4, Rk)
For l1=3, l2=0, l3=2 and l4=1 one has k=1 and one could define:
- Example.Quanty
OppR1pd = NewOperator("U", NF, IndexUp_1, IndexDn_1, IndexUp_2, IndexDn_2, IndexUp_3, IndexDn_3, IndexUp_4, IndexDn_4, {1})
Note that in the general case you need to sum over all possible permutations of n1l1, n2l2, n3l3 and n4l4. Permuting n1l1 with n2l2 and at the same time n3l3 with n4l4 will not change the value and form of the operator. If n1l1 is different from n2l2 and n3l3 is different from n4l4 one can add a factor of two in front of the operator and only add one of the permutations. If one of the n1l1 is the same as n2l2 or n3l3 is the same as n4l4 a permutation will not lead to a new configuration and the factor of two disappears. If you just sum over all possible nili combinations things go right automatically.