Commit 4cbadff1 authored by Marie bernadette Lepetit's avatar Marie bernadette Lepetit
Browse files

dens debut

parent 4f1561e8
Pipeline #10321 failed with stage
in 1 minute and 17 seconds
......@@ -218,22 +218,6 @@ Program RelaxSE
flush(f_output)
endif
if (lprop) then
write(f_output,*)
call wrt_info(prog_info,g_info,o_info,v_info,det_info,d,sym_info,f_info)
write(f_output,*)">>> x_info written on file"
flush(f_info)
flush(f_output)
write(f_output,*)
call deter_init(det,det_info%ndet)
call fill_detd(det, d)
call wrt_bdet(det,det_info%ndet,f_bdet)
write(f_output,*)">>> Determinants written on file"
flush(f_output)
flush(f_bdet)
call deter_free(det)
endif
!Initialisation of the bare h matrix
! contains ntot * ntot elements
! their indices run from ngel+1 to ngel+ntot
......@@ -259,7 +243,25 @@ Program RelaxSE
#ifdef VAR_MPI
call MPI_BARRIER(MPI_COMM_WORLD,ierr)
#endif
! write info for prop
if (lprop) then
write(f_output,*)
call wrt_info(prog_info,g_info,o_info,v_info,det_info,int_info,d,sym_info,f_info)
write(f_output,*)">>> x_info written on file"
flush(f_info)
flush(f_output)
write(f_output,*)
call deter_init(det,det_info%ndet)
call fill_detd(det, d)
call wrt_bdet(det,det_info%ndet,f_bdet)
write(f_output,*)">>> Determinants written on file"
flush(f_output)
flush(f_bdet)
call deter_free(det)
endif
!Build the fock matrix
!Add the 2e- part to the bare h_pq
!f_pq = h_pq + sum[ 2(ij|oo) - (io|jo)]
......@@ -283,7 +285,8 @@ Program RelaxSE
flush(f_output)
endif
call get_e0(ener_info, hcoeur, o_info, int_info, prog_info)
!-----
!----- Diag 0
!-----
......
......@@ -28,7 +28,7 @@
!!----
subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, sym_info, prop_info)
subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, int_info, sym_info, prop_info)
!!$ Initialisation des variables
!!$ -------- Donness globales ---------------------------------
use dimensions
......@@ -44,6 +44,7 @@ subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, sym_info, prop
type(o_infotype), intent(inout) :: o_info
type(v_infotype), intent(inout) :: v_info
type(det_infotype), intent(inout) :: det_info
type(int_infotype), intent(inout) :: int_info
type(sym_infotype), intent(inout) :: sym_info
type(prop_infotype), intent(inout) :: prop_info
......@@ -96,6 +97,41 @@ subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, sym_info, prop
det_info%nmonoref0 = 0
det_info%ndiref0 = 0
! int_info
int_info%n_1int = 0
int_info%n_oooo = 0
int_info%n_aaaa = 0
int_info%n_aaao = 0
!int_info%n_aoaa = 0
int_info%n_aaoo = 0
int_info%n_aoao = 0
int_info%n_aooo = 0
int_info%n_vooo = 0
int_info%n_vaoo = 0
int_info%n_voao = 0
int_info%n_vaao = 0
int_info%n_voaa = 0
int_info%n_vaaa = 0
int_info%n_vvoo = 0
int_info%n_vovo = 0
int_info%n_vvao = 0
int_info%n_vavo = 0
!int_info%n_vova = 0
int_info%n_vvaa = 0
int_info%n_vava = 0
int_info%n_vvvo = 0
int_info%n_vvva = 0
int_info%n_vvvv = 0
int_info%n_gint = 0
int_info%n_2int = 0
int_info%nintkind = 0
int_info%CASS_nintkind = 21
allocate(int_info%CASS_intkind(int_info%CASS_nintkind))
int_info%CASS_intkind(:) &
= (/ 'fock', 'aaaa', 'aaao', 'vaaa', 'aaoo', 'vaao', 'vvaa','vaoo', &
'vvao','vvoo', 'vava','vvvo','vvva','vvvv','oooo','vovo','aooo','vavo',&
'vooo','aoao','voao'/)
!sym_info
sym_info%iChTb(:,:) = 0
sym_info%iIrTb(:,:) = 0
......
......@@ -43,6 +43,7 @@ Program proprietes
use gener_monos
use utils_char
use utils_wrt
use densite
!!$ -------- Donnes locales -----------------------------------
implicit none
......@@ -53,6 +54,7 @@ Program proprietes
type(o_infotype) :: o_info
type(v_infotype) :: v_info
type(det_infotype) :: det_info
type(int_infotype) :: int_info
type(sym_infotype) :: sym_info
......@@ -74,6 +76,9 @@ Program proprietes
Integer(KIND=kd_int) :: nprop
character*5, dimension(:), allocatable :: whichprop
! proprietes
real(kd_dble), dimension(:,:,:), allocatable :: rho_tot,rho_spin
! impressions
integer, parameter :: pas = 10
character*1, parameter :: A1=" "
......@@ -95,7 +100,7 @@ Program proprietes
!!$-----
!!$----- Initialisations
!!$-----
call init_prop(g_info, prog_info, o_info, v_info, det_info,sym_info, prop_info)
call init_prop(g_info, prog_info, o_info, v_info, det_info, int_info, sym_info, prop_info)
#ifdef VAR_OMP
!$OMP PARALLEL SHARED(nb_thread)
......@@ -119,6 +124,7 @@ Program proprietes
read(f_info) o_info
read(f_info) v_info
read(f_info) det_info
read(f_info) int_info
read(f_info) nblock
allocate(shtblkdet(nblock), nblkdet(nblock), deter_index(nblock))
shtblkdet(:) = 0
......@@ -256,6 +262,7 @@ Program proprietes
write(f_output,*)
write(f_output,*) " >>> One particule density matrix"
write(f_output,*) " Not yet implemented"
call dens(ndet,nvec,nblock,psi,det,d,rspin,o_info,int_info,prog_info,rho_tot,rho_spin)
end select
end do
......
......@@ -153,7 +153,7 @@ contains
!> @param
!> @param
!$============================================================
subroutine wrt_info(prog_info,g_info,o_info,v_info,det_info,d,sym_info,iunit)
subroutine wrt_info(prog_info,g_info,o_info,v_info,det_info,int_info,d,sym_info,iunit)
! -------- Donnes locales -----------------------------------
Implicit none
type(prog_infotype), intent(in) :: prog_info
......@@ -161,6 +161,7 @@ contains
type(o_infotype), intent(in) :: o_info
type(v_infotype), intent(in) :: v_info
type(det_infotype), intent(in) :: det_info
type(int_infotype), intent(in) :: int_info
type(deter_dblocklist),intent(in):: d
type(sym_infotype), intent(in) :: sym_info
integer, intent(in) :: iunit
......@@ -181,6 +182,7 @@ contains
write(iunit) o_info
write(iunit) v_info
write(iunit) det_info
write(iunit) int_info
write(iunit) nblock
write(iunit) shtblkdet(1:nblock), nblkdet(1:nblock), deter_index(1:nblock)
write(iunit) sym_info
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment