mirror of
https://github.com/TREX-CoE/irpjast.git
synced 2024-11-03 20:54:10 +01:00
Merge with master
This commit is contained in:
parent
9a07a3d9e8
commit
3c9d713b7d
@ -51,6 +51,28 @@ BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ]
|
|||||||
enddo
|
enddo
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [double precision, asymp_jasb, (2)]
|
||||||
|
BEGIN_DOC
|
||||||
|
! Asymptotic component subtracted from J_ee
|
||||||
|
END_DOC
|
||||||
|
implicit none
|
||||||
|
integer :: i, p
|
||||||
|
double precision :: asym_one, x
|
||||||
|
|
||||||
|
asym_one = bord_vect(1) * kappa_inv / (1.0d0 + bord_vect(2) * kappa_inv)
|
||||||
|
asymp_jasb(:) = (/asym_one, 0.5d0 * asym_one/)
|
||||||
|
|
||||||
|
do i = 1, 2
|
||||||
|
x = kappa_inv
|
||||||
|
do p = 2, nbord
|
||||||
|
x = x * kappa_inv
|
||||||
|
asymp_jasb(i) = asymp_jasb(i) + bord_vect(p + 1) * x
|
||||||
|
end do
|
||||||
|
end do
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [double precision, factor_ee]
|
BEGIN_PROVIDER [double precision, factor_ee]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
@ -62,29 +84,26 @@ BEGIN_PROVIDER [double precision, factor_ee]
|
|||||||
factor_ee = 0.0d0
|
factor_ee = 0.0d0
|
||||||
|
|
||||||
do j = 1, nelec
|
do j = 1, nelec
|
||||||
do i = 1, nelec
|
do i = 1, j - 1
|
||||||
x = rescale_ee(i, j)
|
x = rescale_ee(i, j)
|
||||||
pow_ser = 0.0d0
|
pow_ser = 0.0d0
|
||||||
spin_fact = 1.0d0
|
spin_fact = 1.0d0
|
||||||
ipar = 0
|
ipar = 1
|
||||||
|
|
||||||
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.le.nelec_up .and. j.le.nelec_up) .or. &
|
if (j.le.nelec_up .or. i.gt.nelec_up) then
|
||||||
(i.gt.nelec_up .and. j.gt.nelec_up)) then
|
|
||||||
spin_fact = 0.5d0
|
spin_fact = 0.5d0
|
||||||
ipar = 1
|
ipar = 2
|
||||||
end if
|
end if
|
||||||
|
|
||||||
factor_ee = factor_ee + spin_fact * bord_vect(1) * 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)) - asymp_jasb(ipar) + pow_ser
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
|
||||||
factor_ee = 0.5d0 * factor_ee
|
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
@ -2,6 +2,5 @@ program jastrow
|
|||||||
implicit none
|
implicit none
|
||||||
print *, 'The total Jastrow factor'
|
print *, 'The total Jastrow factor'
|
||||||
print *, jastrow_full
|
print *, jastrow_full
|
||||||
print *, factor_een
|
|
||||||
|
|
||||||
end program
|
end program
|
||||||
|
@ -5,11 +5,14 @@ BEGIN_PROVIDER [ double precision, jastrow_full ]
|
|||||||
END_DOC
|
END_DOC
|
||||||
integer :: i, j
|
integer :: i, j
|
||||||
|
|
||||||
print *, factor_ee
|
print *, "J_ee = ", factor_ee
|
||||||
print *, factor_en
|
print *, "J_en = ", factor_en
|
||||||
print *, factor_een
|
print *, "J_enn_naive = ", factor_een_naive
|
||||||
|
print *, "J_een = ", factor_een
|
||||||
|
print *, "J = J_ee + J_en + J_een = ", factor_ee + factor_en + factor_een
|
||||||
|
print *, "J = J_ee + J_en + J_een_naive = ", factor_ee + factor_en + factor_een_naive
|
||||||
|
!print *, "J_enn_prog = ", factor_een_prog
|
||||||
|
|
||||||
jastrow_full = dexp(factor_ee + factor_en + factor_een)
|
jastrow_full = dexp(factor_ee + factor_en + factor_een)
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user