diff --git a/cmake/RelaxSE_Sources.cmake b/cmake/RelaxSE_Sources.cmake index c7168d51a32555ad73ae96907a1b14e5e0163737..3b710af7be85adf6601ad33cc2a2a97484e97680 100644 --- a/cmake/RelaxSE_Sources.cmake +++ b/cmake/RelaxSE_Sources.cmake @@ -94,5 +94,8 @@ set(RELAXSE_gen_SOURCES ) +set(RELAXSE_SOURCES_prop + src/generator/dev/dens.F90 +) include(RelaxSE_prop) diff --git a/cmake/RelaxSE_prop.cmake b/cmake/RelaxSE_prop.cmake index 71bbc0b72f6bbbcec3c47e2173e4e7888b72422a..ea6f0f60b56abb9b3884edc73a11b3dcd646b140 100644 --- a/cmake/RelaxSE_prop.cmake +++ b/cmake/RelaxSE_prop.cmake @@ -4,4 +4,5 @@ set(RELAXSE_SOURCES_prop src/def_files_prop.F90 src/init_prop.F90 src/info_prop.F90 + src/generator/dev/dens.F90 ) diff --git a/src/init_prop.F90 b/src/init_prop.F90 index 72c8a115c4384b2eb50b4e107584728b1fe914b2..efbc868cd1f2862f79b1125c4f40d72f2d716b63 100644 --- a/src/init_prop.F90 +++ b/src/init_prop.F90 @@ -143,3 +143,50 @@ subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, int_info, sym_ End Subroutine init_prop + + !$============================================================ + !> @brief Read int_info types in binary file + !> @author MBL + !> @date juin 2021 + !> @param + !> @param + !$============================================================ + subroutine lire_intinfo(iunit,int_info) + use info + Implicit none + type(int_infotype), intent(out) :: int_info + integer, intent(in) :: iunit + + read(iunit) int_info%n_1int, & + int_info%n_oooo , & + int_info%n_aaaa , & + int_info%n_aaao , & + int_info%n_aaoo , & + int_info%n_aoao , & + int_info%n_aooo , & + int_info%n_vooo , & + int_info%n_vaoo , & + int_info%n_voao , & + int_info%n_vaao , & + int_info%n_voaa , & + int_info%n_vaaa , & + int_info%n_vvoo , & + int_info%n_vovo , & + int_info%n_vvao , & + int_info%n_vavo , & + int_info%n_vvaa , & + int_info%n_vava , & + int_info%n_vvvo , & + int_info%n_vvva , & + int_info%n_vvvv , & + int_info%n_gint , & + int_info%n_2int , & + int_info%nintkind , & + int_info%CASS_nintkind + + read(iunit) int_info%CASS_intkind(1:int_info%CASS_nintkind) + + end subroutine lire_intinfo + + + diff --git a/src/prop.F90 b/src/prop.F90 index 652c4f96bf664228ba1712bdba28575cfe428483..a03e4d4fdf5d1d8b9b51ba6948968033a38efcab 100644 --- a/src/prop.F90 +++ b/src/prop.F90 @@ -124,7 +124,7 @@ Program proprietes read(f_info) o_info read(f_info) v_info read(f_info) det_info - read(f_info) int_info + call lire_intinfo(f_info, int_info) read(f_info) nblock allocate(shtblkdet(nblock), nblkdet(nblock), deter_index(nblock)) shtblkdet(:) = 0 @@ -262,7 +262,9 @@ 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) + call dens(ndet,nvec,nblock, psi,det, d,rspin, & + g_info,o_info,int_info,prog_info,& + rho_tot,rho_spin) end select end do diff --git a/src/utils_wrt.F90 b/src/utils_wrt.F90 index c38e6403417748f483aa1b972e06127228cd0944..4d2c2f0e2f2df7982ee4ac4dffe3f179327a73b9 100644 --- a/src/utils_wrt.F90 +++ b/src/utils_wrt.F90 @@ -182,12 +182,55 @@ contains write(iunit) o_info write(iunit) v_info write(iunit) det_info - write(iunit) int_info + call wrt_intinfo(iunit,int_info) write(iunit) nblock write(iunit) shtblkdet(1:nblock), nblkdet(1:nblock), deter_index(1:nblock) write(iunit) sym_info end subroutine wrt_info + !$============================================================ + !> @brief Write int_info types in binary file + !> @author MBL + !> @date juin 2021 + !> @param + !> @param + !$============================================================ + subroutine wrt_intinfo(iunit,int_info) + Implicit none + type(int_infotype), intent(in) :: int_info + integer, intent(in) :: iunit + + write(iunit) int_info%n_1int, & + int_info%n_oooo , & + int_info%n_aaaa , & + int_info%n_aaao , & + int_info%n_aaoo , & + int_info%n_aoao , & + int_info%n_aooo , & + int_info%n_vooo , & + int_info%n_vaoo , & + int_info%n_voao , & + int_info%n_vaao , & + int_info%n_voaa , & + int_info%n_vaaa , & + int_info%n_vvoo , & + int_info%n_vovo , & + int_info%n_vvao , & + int_info%n_vavo , & + int_info%n_vvaa , & + int_info%n_vava , & + int_info%n_vvvo , & + int_info%n_vvva , & + int_info%n_vvvv , & + int_info%n_gint , & + int_info%n_2int , & + int_info%nintkind , & + int_info%CASS_nintkind + + write(iunit) int_info%CASS_intkind(1:int_info%CASS_nintkind) + + end subroutine wrt_intinfo + !$============================================================ !> @brief Write a determinant using the global variables !> @author