mirror of
https://github.com/TREX-CoE/irpjast.git
synced 2024-11-03 20:54:10 +01:00
Woring on interface with CHAMP
This commit is contained in:
parent
01126faa45
commit
b9021dc2b4
8
Makefile
8
Makefile
@ -1,11 +1,11 @@
|
||||
IRPF90 = irpf90 #-a -d
|
||||
FC = gfortran
|
||||
FCFLAGS= -O2 -ffree-line-length-none -I .
|
||||
FC = ifort
|
||||
FCFLAGS= -O2 -I .
|
||||
NINJA = ninja
|
||||
AR = ar
|
||||
ARCHIVE= ar crs
|
||||
RANLIB = ranlib
|
||||
|
||||
SRC=
|
||||
SRC=inputs.f90
|
||||
OBJ=
|
||||
LIB=
|
||||
|
||||
|
@ -41,8 +41,8 @@ END_PROVIDER
|
||||
BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (4, nelec) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Dimensions 1-3 : dx, dy, dz
|
||||
! Dimension 4 : d2x + d2y + d2z
|
||||
! Dimensions 1-3: dx, dy, dz
|
||||
! Dimension 4: d2x + d2y + d2z
|
||||
END_DOC
|
||||
integer :: i, ii, j, a, p, k, l, lmax, m
|
||||
double precision :: riam, rjam_cn, rial, rjal, rijk
|
||||
|
@ -14,25 +14,6 @@ BEGIN_PROVIDER [ integer, nelec_up ]
|
||||
nelec_up = 5
|
||||
END_PROVIDER
|
||||
|
||||
|
||||
BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Electron coordinates
|
||||
END_DOC
|
||||
character(len=*), parameter :: FILE_NAME = "elec_coord.txt"
|
||||
integer :: fu, rc, i, j
|
||||
|
||||
open(action='read', file=FILE_NAME, iostat=rc, newunit=fu)
|
||||
|
||||
do i = 1, nelec
|
||||
read(fu, *) elec_coord(i, :)
|
||||
end do
|
||||
|
||||
close(fu)
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
|
21
input.irp.f
Normal file
21
input.irp.f
Normal file
@ -0,0 +1,21 @@
|
||||
BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
|
||||
&BEGIN_PROVIDER [ double precision, nuc_coord, (nnuc, 3) ]
|
||||
&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
|
||||
! Reads all input requested for Jatrow computation from an external procedure.
|
||||
! Can be be used to interface with CHAMP
|
||||
END_DOC
|
||||
|
||||
call irpinp(nelec, elec_coord, nnuc, typenuc, nuc_coord, &
|
||||
naord, nbord, dim_cord_vect, aord_vect, bord_vect, cord_vect)
|
||||
|
||||
TOUCH elec_coord
|
||||
TOUCH nuc_coord
|
||||
TOUCH aord_vect
|
||||
TOUCH bord_vect
|
||||
TOUCH cord_vect
|
||||
|
||||
END_PROVIDER
|
58
input.irp.f.backup
Normal file
58
input.irp.f.backup
Normal file
@ -0,0 +1,58 @@
|
||||
BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Electron coordinates
|
||||
END_DOC
|
||||
character(len=*), parameter :: FILE_NAME = "elec_coord.txt"
|
||||
integer :: fu, rc, i, j
|
||||
|
||||
open(action='read', file=FILE_NAME, iostat=rc, newunit=fu)
|
||||
|
||||
do i = 1, nelec
|
||||
read(fu, *) elec_coord(i, :)
|
||||
end do
|
||||
|
||||
close(fu)
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, nuc_coord, (nnuc, 3) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Nuclei coordinates
|
||||
END_DOC
|
||||
character(len=*), parameter :: FILE_NAME = "geometry.txt"
|
||||
integer :: fu, rc, i
|
||||
|
||||
open(action='read', file=FILE_NAME, iostat=rc, newunit=fu)
|
||||
|
||||
do i = 1, nnuc
|
||||
read(fu, *) nuc_coord(i, :)
|
||||
end do
|
||||
|
||||
close(fu)
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
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
|
||||
! Read Jastow coefficients from file
|
||||
END_DOC
|
||||
PROVIDE naord
|
||||
PROVIDE nbord
|
||||
PROVIDE ncord
|
||||
character(len=*), parameter :: FILE_NAME = "jast_coeffs.txt"
|
||||
integer :: i, fu, rc
|
||||
|
||||
open(action='read', file=FILE_NAME, iostat=rc, newunit=fu)
|
||||
|
||||
read(fu, *) aord_vect
|
||||
read(fu, *) bord_vect
|
||||
read(fu, *) cord_vect
|
||||
|
||||
close(fu)
|
||||
|
||||
END_PROVIDER
|
16
inputs.f90
Normal file
16
inputs.f90
Normal file
@ -0,0 +1,16 @@
|
||||
subroutine irpinp(nelec, elec_coord, nnuc, typenuc, nuc_coord, &
|
||||
naord, nbord, ncord, aord_vect, bord_vect, cord_vect)
|
||||
! This is a ghost subroutine to interop with CHAMP variables
|
||||
implicit none
|
||||
integer, intent(in) :: nelec
|
||||
integer, intent(in) :: nnuc
|
||||
integer, intent(in) :: typenuc
|
||||
integer, intent(in) :: naord
|
||||
integer, intent(in) :: nbord
|
||||
integer, intent(in) :: ncord
|
||||
double precision, dimension(nelec, 3), intent(inout) :: elec_coord
|
||||
double precision, dimension(nnuc, 3), intent(inout) :: nuc_coord
|
||||
double precision, dimension(naord + 1, typenuc), intent(inout) :: aord_vect
|
||||
double precision, dimension(nbord + 1), intent(inout) :: bord_vect
|
||||
double precision, dimension(ncord, typenuc), intent(inout) :: cord_vect
|
||||
end subroutine irpinp
|
@ -9,10 +9,6 @@ BEGIN_PROVIDER [ double precision, jastrow_full ]
|
||||
print *, "J_en = ", factor_en
|
||||
print *, "J_een = ", factor_een
|
||||
print *, "J = J_ee + J_en + J_een = ", factor_ee + factor_en + factor_een
|
||||
print *, "\nabla_ix J_een", factor_een_deriv_e(1, :)
|
||||
print *, "\nabla_iy J_een", factor_een_deriv_e(2, :)
|
||||
print *, "\nabla_iz J_een", factor_een_deriv_e(3, :)
|
||||
print *, "\nabla_i^2 J_een", factor_een_deriv_e(4, :)
|
||||
|
||||
jastrow_full = dexp(factor_ee + factor_en + factor_een)
|
||||
|
||||
|
19
nuclei.irp.f
19
nuclei.irp.f
@ -17,25 +17,6 @@ BEGIN_PROVIDER [ integer, typenuc ]
|
||||
typenuc_arr = (/1, 1/)
|
||||
END_PROVIDER
|
||||
|
||||
|
||||
BEGIN_PROVIDER [ double precision, nuc_coord, (nnuc, 3) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Nuclei coordinates
|
||||
END_DOC
|
||||
character(len=*), parameter :: FILE_NAME = "geometry.txt"
|
||||
integer :: fu, rc, i
|
||||
|
||||
open(action='read', file=FILE_NAME, iostat=rc, newunit=fu)
|
||||
|
||||
do i = 1, nnuc
|
||||
read(fu, *) nuc_coord(i, :)
|
||||
end do
|
||||
|
||||
close(fu)
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, elnuc_dist, (nelec, nnuc) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
|
24
orders.irp.f
24
orders.irp.f
@ -45,30 +45,6 @@ BEGIN_PROVIDER [integer, dim_cord_vect]
|
||||
end do
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
|
||||
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
|
||||
! Read Jastow coefficients from file
|
||||
END_DOC
|
||||
PROVIDE naord
|
||||
PROVIDE nbord
|
||||
PROVIDE ncord
|
||||
character(len=*), parameter :: FILE_NAME = "jast_coeffs.txt"
|
||||
integer :: i, fu, rc
|
||||
|
||||
open(action='read', file=FILE_NAME, iostat=rc, newunit=fu)
|
||||
|
||||
read(fu, *) aord_vect
|
||||
read(fu, *) bord_vect
|
||||
read(fu, *) cord_vect
|
||||
|
||||
close(fu)
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, cord_vect_lkp, (0:ncord-1, 0:ncord-1, 2:ncord, typenuc) ]
|
||||
implicit none
|
||||
|
Loading…
Reference in New Issue
Block a user