mirror of
https://github.com/TREX-CoE/irpjast.git
synced 2024-11-03 20:54:10 +01:00
Fix nuclei formula
This commit is contained in:
parent
ea0d11a899
commit
be13b968df
2
Makefile
2
Makefile
@ -2,7 +2,7 @@ IRPF90 = irpf90 #-a -d
|
|||||||
FC = gfortran
|
FC = gfortran
|
||||||
FCFLAGS= -O2 -ffree-line-length-none -I .
|
FCFLAGS= -O2 -ffree-line-length-none -I .
|
||||||
NINJA = ninja
|
NINJA = ninja
|
||||||
AR = ar
|
ARCHIVE= ar crs
|
||||||
RANLIB = ranlib
|
RANLIB = ranlib
|
||||||
|
|
||||||
SRC=
|
SRC=
|
||||||
|
@ -6,6 +6,14 @@ BEGIN_PROVIDER [ integer, nelec ]
|
|||||||
nelec = 10
|
nelec = 10
|
||||||
END_PROVIDER
|
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) ]
|
BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
|
||||||
implicit none
|
implicit none
|
||||||
@ -22,6 +30,7 @@ BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
|
|||||||
end do
|
end do
|
||||||
|
|
||||||
close(fu)
|
close(fu)
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ]
|
BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ]
|
||||||
@ -48,22 +57,30 @@ BEGIN_PROVIDER [double precision, factor_ee]
|
|||||||
! Electron-electron contribution to Jastrow factor
|
! Electron-electron contribution to Jastrow factor
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i, j, p
|
integer :: i, j, p
|
||||||
double precision :: pow_ser, x
|
double precision :: pow_ser, x, b_one
|
||||||
|
|
||||||
factor_ee = 0.0d0
|
factor_ee = 0.0d0
|
||||||
pow_ser = 0.0d0
|
|
||||||
|
|
||||||
do j = 1, nelec
|
do j = 1, nelec
|
||||||
do i = 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
|
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
|
||||||
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
|
/ (1.0d0 + bord_vect(2) * rescale_ee(i, j)) + pow_ser
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
|
||||||
factor_ee = 0.5d0 * factor_ee
|
factor_ee = 0.5d0 * factor_ee
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
-0.00008444
|
0.00000000
|
||||||
-0.00003393
|
0.00000000
|
||||||
0.00009230
|
-0.380512
|
||||||
-0.00006224
|
-0.157996
|
||||||
-0.00007552
|
-0.031558
|
||||||
0.00009380
|
0.021512
|
||||||
0.00001181
|
0.5000000
|
||||||
0.00009928
|
0.153660
|
||||||
-0.00007969
|
0.0672262
|
||||||
0.00001493
|
0.021570
|
||||||
0.00007319
|
0.0073096
|
||||||
-0.00004341
|
0.002866
|
||||||
-0.00002337
|
0.571702
|
||||||
0.00007838
|
-0.5142530
|
||||||
-0.00006033
|
-0.513043
|
||||||
-0.00002512
|
0.009486
|
||||||
0.00004281
|
-0.004205
|
||||||
0.00004631
|
0.4263258
|
||||||
-0.00008111
|
0.0828815
|
||||||
-0.00001758
|
0.0051186
|
||||||
0.00002855
|
-0.0029978
|
||||||
0.00008134
|
-0.0052704
|
||||||
-0.00003731
|
-0.000075
|
||||||
0.00002581
|
-0.0830165
|
||||||
0.00007723
|
0.0145434
|
||||||
-0.00007482
|
0.0514351
|
||||||
-0.00004745
|
0.000925
|
||||||
-0.00006915
|
-0.0040991
|
||||||
-0.00008698
|
0.0043276
|
||||||
-0.00001448
|
-0.00165447
|
||||||
-0.00005086
|
0.002614
|
||||||
0.00001145
|
-0.001477
|
||||||
-0.00003374
|
-0.0011370
|
||||||
0.00009208
|
-0.04010475
|
||||||
0.00007611
|
0.00610671
|
||||||
|
@ -8,7 +8,7 @@ BEGIN_PROVIDER [ double precision, jastrow_full ]
|
|||||||
print *, factor_ee
|
print *, factor_ee
|
||||||
print *, factor_en
|
print *, factor_en
|
||||||
print *, factor_een
|
print *, factor_een
|
||||||
|
|
||||||
jastrow_full = dexp(factor_ee + factor_en + factor_een)
|
jastrow_full = dexp(factor_ee + factor_en + factor_een)
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
@ -62,11 +62,11 @@ BEGIN_PROVIDER [double precision, factor_en]
|
|||||||
double precision :: pow_ser, x
|
double precision :: pow_ser, x
|
||||||
|
|
||||||
factor_en = 0.0d0
|
factor_en = 0.0d0
|
||||||
pow_ser = 0.0d0
|
|
||||||
|
|
||||||
do j = 1 , nnuc
|
do j = 1 , nnuc
|
||||||
do i = 1, nelec
|
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
|
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
|
||||||
@ -76,5 +76,4 @@ BEGIN_PROVIDER [double precision, factor_en]
|
|||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
|
||||||
factor_en = 0.5d0 * factor_en
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
@ -47,8 +47,8 @@ BEGIN_PROVIDER [integer, dim_cord_vect]
|
|||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [double precision, aord_vect, (0:naord, typenuc)]
|
BEGIN_PROVIDER [double precision, aord_vect, (naord + 1, typenuc)]
|
||||||
&BEGIN_PROVIDER [double precision, bord_vect, (0:nbord)]
|
&BEGIN_PROVIDER [double precision, bord_vect, (nbord + 1)]
|
||||||
&BEGIN_PROVIDER [double precision, cord_vect, (dim_cord_vect, typenuc)]
|
&BEGIN_PROVIDER [double precision, cord_vect, (dim_cord_vect, typenuc)]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
|
21
random.irp.f
21
random.irp.f
@ -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
|
|
Loading…
Reference in New Issue
Block a user