diff --git a/electrons.irp.f b/electrons.irp.f index 38186bc..9ab69b5 100644 --- a/electrons.irp.f +++ b/electrons.irp.f @@ -56,8 +56,8 @@ BEGIN_PROVIDER [double precision, factor_ee] BEGIN_DOC ! Electron-electron contribution to Jastrow factor END_DOC - integer :: i, j, p - double precision :: pow_ser, x, b_one + integer :: i, j, p, ipar + double precision :: pow_ser, x, spin_fact factor_ee = 0.0d0 @@ -65,19 +65,23 @@ BEGIN_PROVIDER [double precision, factor_ee] do i = 1, nelec x = rescale_ee(i, j) pow_ser = 0.0d0 + spin_fact = 1.0d0 + ipar = 0 + do p = 2, nbord x = x * rescale_ee(i, j) pow_ser = pow_ser + bord_vect(p + 1) * x end do - if (i <= nelec_up .or. j >= nelec_up) then - b_one = bord_vect(1) * 0.5d0 - else - b_one = bord_vect(1) + if ((i.le.nelec_up .and. j.le.nelec_up) .or. & + (i.gt.nelec_up .and. j.gt.nelec_up)) then + spin_fact = 0.5d0 + ipar = 1 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 + end do end do diff --git a/jastrow b/jastrow index a86a7df..c47738f 100755 Binary files a/jastrow and b/jastrow differ diff --git a/nuclei.irp.f b/nuclei.irp.f index 7a89720..3f3ebbb 100644 --- a/nuclei.irp.f +++ b/nuclei.irp.f @@ -67,12 +67,15 @@ BEGIN_PROVIDER [double precision, factor_en] do i = 1, nelec x = rescale_en(i, j) pow_ser = 0.0d0 + do p = 2, naord x = x * rescale_en(i, j) pow_ser = pow_ser + aord_vect(p + 1, typenuc_arr(j)) * x end do + 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 + end do end do