mirror of
https://github.com/TREX-CoE/irpjast.git
synced 2024-12-22 04:14:54 +01:00
Almost functional version. Need correct Cord
This commit is contained in:
parent
32576e0221
commit
0af276cfc5
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,4 +2,5 @@ IRPF90_temp/
|
||||
IRPF90_man/
|
||||
irpf90.make
|
||||
irpf90_entities
|
||||
tags
|
||||
tags
|
||||
*.mod
|
@ -0,0 +1,32 @@
|
||||
BEGIN_PROVIDER [double precision, factor_een]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Electron-electron nucleus contribution to Jastrow factor
|
||||
END_DOC
|
||||
integer :: i, j, alpha, p, k, l, lmax = 0
|
||||
factor_een = 0.0d0
|
||||
|
||||
do alpha = 1, nnuc
|
||||
do j = 1, nelec
|
||||
do i = 1, nelec
|
||||
do p = 2, ncord
|
||||
do k = p - 1, 0
|
||||
if ( k == 0 ) then
|
||||
lmax = p - k - 2
|
||||
else
|
||||
lmax = p - k
|
||||
end if
|
||||
do l = lmax, 0
|
||||
if ( mod(p - k - l, 2) == 0 ) then
|
||||
factor_een = factor_een + cord_vect(p, k, l) * rescale_een_e(i, j) ** k &
|
||||
* (rescale_een_n(i, alpha) ** l + rescale_een_n(j, alpha) ** l) * &
|
||||
(rescale_een_n(i, alpha) * rescale_een_n(j, alpha)) ** ((p - k - l) * 0.5d0)
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
END_PROVIDER
|
@ -43,6 +43,10 @@ BEGIN_PROVIDER [double precision, factor_ee]
|
||||
BEGIN_DOC
|
||||
! Electron-electron contribution to Jastrow factor
|
||||
END_DOC
|
||||
integer :: i, j
|
||||
double precision :: pow_ser = 0.0d0
|
||||
factor_ee = 0.0d0
|
||||
|
||||
do j = 1 , nelec
|
||||
do i = 1, nelec
|
||||
do p = 2, nbord
|
||||
|
@ -1,8 +1,6 @@
|
||||
program jastrow
|
||||
implicit none
|
||||
print *, elec_coord
|
||||
print *, ''
|
||||
print *, elec_dist
|
||||
print *, ''
|
||||
print *, rescale_ee
|
||||
print *, 'The total Jastrow factor'
|
||||
print *, dexp(factor_ee + factor_en + factor_een)
|
||||
|
||||
end program
|
||||
|
@ -44,7 +44,9 @@ BEGIN_PROVIDER [double precision, factor_en]
|
||||
! Electron-nuclei contribution to Jastrow factor
|
||||
END_DOC
|
||||
integer :: i, j, p
|
||||
double precision :: pow_ser
|
||||
double precision :: pow_ser = 0.0d0
|
||||
factor_en = 0.0d0
|
||||
|
||||
do j = 1 , nnuc
|
||||
do i = 1, nnuc
|
||||
do p = 2, naord
|
||||
|
@ -45,7 +45,7 @@ END_PROVIDER
|
||||
BEGIN_PROVIDER [double precision, cord_vect, (ncord)]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Vector of the `b' coefficients
|
||||
! Vector of the `c' coefficients
|
||||
END_DOC
|
||||
do i = 1, ncord
|
||||
call random_number(cord_vect)
|
||||
|
@ -11,13 +11,13 @@ BEGIN_PROVIDER [ double precision, kappa_inv ]
|
||||
BEGIN_DOC
|
||||
! inverse of kappa
|
||||
END_DOC
|
||||
kappa_inv = 1.d0/kappa
|
||||
kappa_inv = 1.d0 / kappa
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, rescale_ee, (nelec, nelec) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! R = (1 - exp(-kappa r))/kappa for electron-electron
|
||||
! R = (1 - exp(-kappa r))/kappa for electron-electron for $J_{ee}$
|
||||
END_DOC
|
||||
integer :: i, j
|
||||
do j=1,nelec
|
||||
@ -30,12 +30,38 @@ END_PROVIDER
|
||||
BEGIN_PROVIDER [ double precision, rescale_en, (nelec, nnuc) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! R = (1 - exp(-kappa r))/kappa for electron-nucleus
|
||||
! R = (1 - exp(-kappa r))/kappa for electron-nucleus for $J_{en}$
|
||||
END_DOC
|
||||
integer :: i, j
|
||||
do j = 1, nnuc
|
||||
do i = 1, nelec
|
||||
rescale_en(i,j) = (1.d0 - dexp(-kappa * elnuc_dist(i,j))) * kappa_inv
|
||||
rescale_en(i, j) = (1.d0 - dexp(-kappa * elnuc_dist(i, j))) * kappa_inv
|
||||
enddo
|
||||
enddo
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [double precision, rescale_een_e, (nelec, 3)]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! R = exp(-kappa r) for electron-electron for $J_{een}$
|
||||
END_DOC
|
||||
integer :: i, j
|
||||
do j = 1, nelec
|
||||
do i = 1, nelec
|
||||
rescale_een_e(i, j) = dexp(-kappa * elec_dist(i, j))
|
||||
enddo
|
||||
enddo
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [double precision, rescale_een_n, (nnuc, 3)]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! R = exp(-kappa r) for electron-electron for $J_{een}$
|
||||
END_DOC
|
||||
integer :: i, j
|
||||
do j = 1, nnuc
|
||||
do i = 1, nelec
|
||||
rescale_een_n(i, j) = dexp(-kappa * elnuc_dist(i, j))
|
||||
enddo
|
||||
enddo
|
||||
END_PROVIDER
|
||||
|
Loading…
Reference in New Issue
Block a user