1
0
mirror of https://github.com/TREX-CoE/irpjast.git synced 2024-07-22 18:57:41 +02:00

Fix nuclei formula

This commit is contained in:
Panadestein 2020-12-08 18:56:36 +01:00
parent ea0d11a899
commit be13b968df
8 changed files with 62 additions and 67 deletions

View File

@ -2,7 +2,7 @@ IRPF90 = irpf90 #-a -d
FC = gfortran
FCFLAGS= -O2 -ffree-line-length-none -I .
NINJA = ninja
AR = ar
ARCHIVE= ar crs
RANLIB = ranlib
SRC=

View File

@ -6,6 +6,14 @@ BEGIN_PROVIDER [ integer, nelec ]
nelec = 10
END_PROVIDER
BEGIN_PROVIDER [ integer, nelec_up ]
implicit none
BEGIN_DOC
! Number of alpha and beta electrons
END_DOC
nelec_up = 5
END_PROVIDER
BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
implicit none
@ -22,6 +30,7 @@ BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
end do
close(fu)
END_PROVIDER
BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ]
@ -48,22 +57,30 @@ BEGIN_PROVIDER [double precision, factor_ee]
! Electron-electron contribution to Jastrow factor
END_DOC
integer :: i, j, p
double precision :: pow_ser, x
double precision :: pow_ser, x, b_one
factor_ee = 0.0d0
pow_ser = 0.0d0
do j = 1, nelec
do i = 1, nelec
x = rescale_ee(i, j) * rescale_ee(i, j)
x = rescale_ee(i, j)
pow_ser = 0.0d0
do p = 2, nbord
x = x * rescale_ee(i, j)
pow_ser = pow_ser + bord_vect(p + 1) * x
end do
factor_ee = factor_ee + bord_vect(1) * rescale_ee(i, j) &
if (i <= nelec_up .or. j >= nelec_up) then
b_one = bord_vect(1) * 0.5d0
else
b_one = bord_vect(1)
end if
factor_ee = factor_ee + b_one * rescale_ee(i, j) &
/ (1.0d0 + bord_vect(2) * rescale_ee(i, j)) + pow_ser
end do
end do
factor_ee = 0.5d0 * factor_ee
END_PROVIDER

View File

@ -1,35 +1,35 @@
-0.00008444
-0.00003393
0.00009230
-0.00006224
-0.00007552
0.00009380
0.00001181
0.00009928
-0.00007969
0.00001493
0.00007319
-0.00004341
-0.00002337
0.00007838
-0.00006033
-0.00002512
0.00004281
0.00004631
-0.00008111
-0.00001758
0.00002855
0.00008134
-0.00003731
0.00002581
0.00007723
-0.00007482
-0.00004745
-0.00006915
-0.00008698
-0.00001448
-0.00005086
0.00001145
-0.00003374
0.00009208
0.00007611
0.00000000
0.00000000
-0.380512
-0.157996
-0.031558
0.021512
0.5000000
0.153660
0.0672262
0.021570
0.0073096
0.002866
0.571702
-0.5142530
-0.513043
0.009486
-0.004205
0.4263258
0.0828815
0.0051186
-0.0029978
-0.0052704
-0.000075
-0.0830165
0.0145434
0.0514351
0.000925
-0.0040991
0.0043276
-0.00165447
0.002614
-0.001477
-0.0011370
-0.04010475
0.00610671

BIN
jastrow

Binary file not shown.

View File

@ -8,7 +8,7 @@ BEGIN_PROVIDER [ double precision, jastrow_full ]
print *, factor_ee
print *, factor_en
print *, factor_een
jastrow_full = dexp(factor_ee + factor_en + factor_een)
END_PROVIDER

View File

@ -62,11 +62,11 @@ BEGIN_PROVIDER [double precision, factor_en]
double precision :: pow_ser, x
factor_en = 0.0d0
pow_ser = 0.0d0
do j = 1 , nnuc
do i = 1, nelec
x = rescale_en(i, j) * rescale_en(i, j)
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
@ -76,5 +76,4 @@ BEGIN_PROVIDER [double precision, factor_en]
end do
end do
factor_en = 0.5d0 * factor_en
END_PROVIDER

View File

@ -47,8 +47,8 @@ BEGIN_PROVIDER [integer, dim_cord_vect]
END_PROVIDER
BEGIN_PROVIDER [double precision, aord_vect, (0:naord, typenuc)]
&BEGIN_PROVIDER [double precision, bord_vect, (0:nbord)]
BEGIN_PROVIDER [double precision, aord_vect, (naord + 1, typenuc)]
&BEGIN_PROVIDER [double precision, bord_vect, (nbord + 1)]
&BEGIN_PROVIDER [double precision, cord_vect, (dim_cord_vect, typenuc)]
implicit none
BEGIN_DOC

View File

@ -1,21 +0,0 @@
BEGIN_PROVIDER [ integer, seed_size ]
implicit none
BEGIN_DOC
! Size of the random seed
END_DOC
call random_seed(size=seed_size)
END_PROVIDER
BEGIN_PROVIDER [ integer, seed, (seed_size) ]
implicit none
BEGIN_DOC
! Random seed
END_DOC
integer :: i
do i=1,seed_size
seed(i) = i
enddo
call random_seed(put=seed)
END_PROVIDER