mirror of
https://github.com/TREX-CoE/irpjast.git
synced 2024-12-22 12:23:57 +01:00
Fix electrons formula
This commit is contained in:
parent
be13b968df
commit
72c0fb1e4e
@ -56,8 +56,8 @@ BEGIN_PROVIDER [double precision, factor_ee]
|
|||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Electron-electron contribution to Jastrow factor
|
! Electron-electron contribution to Jastrow factor
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i, j, p
|
integer :: i, j, p, ipar
|
||||||
double precision :: pow_ser, x, b_one
|
double precision :: pow_ser, x, spin_fact
|
||||||
|
|
||||||
factor_ee = 0.0d0
|
factor_ee = 0.0d0
|
||||||
|
|
||||||
@ -65,19 +65,23 @@ BEGIN_PROVIDER [double precision, factor_ee]
|
|||||||
do i = 1, nelec
|
do i = 1, nelec
|
||||||
x = rescale_ee(i, j)
|
x = rescale_ee(i, j)
|
||||||
pow_ser = 0.0d0
|
pow_ser = 0.0d0
|
||||||
|
spin_fact = 1.0d0
|
||||||
|
ipar = 0
|
||||||
|
|
||||||
do p = 2, nbord
|
do p = 2, nbord
|
||||||
x = x * rescale_ee(i, j)
|
x = x * rescale_ee(i, j)
|
||||||
pow_ser = pow_ser + bord_vect(p + 1) * x
|
pow_ser = pow_ser + bord_vect(p + 1) * x
|
||||||
end do
|
end do
|
||||||
|
|
||||||
if (i <= nelec_up .or. j >= nelec_up) then
|
if ((i.le.nelec_up .and. j.le.nelec_up) .or. &
|
||||||
b_one = bord_vect(1) * 0.5d0
|
(i.gt.nelec_up .and. j.gt.nelec_up)) then
|
||||||
else
|
spin_fact = 0.5d0
|
||||||
b_one = bord_vect(1)
|
ipar = 1
|
||||||
end if
|
end if
|
||||||
|
|
||||||
factor_ee = factor_ee + b_one * rescale_ee(i, j) &
|
factor_ee = factor_ee + spin_fact * bord_vect(1) * rescale_ee(i, j) &
|
||||||
/ (1.0d0 + bord_vect(2) * rescale_ee(i, j)) + pow_ser
|
/ (1.0d0 + bord_vect(2) * rescale_ee(i, j)) + pow_ser
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
|
||||||
|
@ -67,12 +67,15 @@ BEGIN_PROVIDER [double precision, factor_en]
|
|||||||
do i = 1, nelec
|
do i = 1, nelec
|
||||||
x = rescale_en(i, j)
|
x = rescale_en(i, j)
|
||||||
pow_ser = 0.0d0
|
pow_ser = 0.0d0
|
||||||
|
|
||||||
do p = 2, naord
|
do p = 2, naord
|
||||||
x = x * rescale_en(i, j)
|
x = x * rescale_en(i, j)
|
||||||
pow_ser = pow_ser + aord_vect(p + 1, typenuc_arr(j)) * x
|
pow_ser = pow_ser + aord_vect(p + 1, typenuc_arr(j)) * x
|
||||||
end do
|
end do
|
||||||
|
|
||||||
factor_en = factor_en + aord_vect(1, typenuc_arr(j)) * rescale_en(i, j) &
|
factor_en = factor_en + aord_vect(1, typenuc_arr(j)) * rescale_en(i, j) &
|
||||||
/ (1 + aord_vect(2, typenuc_arr(j)) * rescale_en(i, j)) + pow_ser
|
/ (1 + aord_vect(2, typenuc_arr(j)) * rescale_en(i, j)) + pow_ser
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user