diff --git a/cmake/RelaxSE_prop.cmake b/cmake/RelaxSE_prop.cmake index e4619504b8f6c5cb2b727d0e483ca5828ac9d7be..b55dd9cb632bf0f560e0a4844b5817d48ceff995 100644 --- a/cmake/RelaxSE_prop.cmake +++ b/cmake/RelaxSE_prop.cmake @@ -2,7 +2,7 @@ set(RELAXSE_SOURCES_prop src/proprietes.F90 src/lect_data_prop.F90 src/def_files_prop.F90 - src/init_prop.F90 +# src/init_prop.F90 src/info_prop.F90 ) diff --git a/src/def_files.F90 b/src/def_files.F90 index e4719d54f3159c005df241a6e519dc463cb5369a..2e0955438f94a08dc0379369df3fdb7c0b0a79d3 100644 --- a/src/def_files.F90 +++ b/src/def_files.F90 @@ -84,11 +84,6 @@ subroutine def_files(prog_info) file_bmat = "bmat" !Hamiltonian matrix in binary format file_mat = "mat" !Hamiltonian matrix file_mat2 = "mat2" !Hamiltonian matrix with indices - - !file_hcore = "hcore" - !file_cipci = "ref_cipci" - !file_rho = "rho" ! Density matrix - !file_infomolcas = "info" !!$----- !!$----- Transferts de donnes depuis Molcas ou autre @@ -174,12 +169,6 @@ subroutine def_files(prog_info) open (f_mat,file=prog_info%prefix(1:n)//"."//file_mat,form="formatted") open (f_mat2,file=prog_info%prefix(1:n)//"."//file_mat2,form="formatted") open (f_bmat,file=prog_info%prefix(1:n)//"."//file_bmat,form="unformatted") - -!!$ if (prog_info%prt_cipci) then -!!$ open (f_cipci,file=prog_info%prefix(1:n)//"."//file_cipci, & -!!$ form="formatted") -!!$ end if - if (prog_info%id_cpu.eq.0) then if (prog_info%iprint .gt. 1) then @@ -194,9 +183,6 @@ subroutine def_files(prog_info) write(f_output,9001) file_mat2, prog_info%prefix(1:n)//"."//file_mat2 write(f_output,9001) file_bmat, prog_info%prefix(1:n)//"."//file_bmat -!!$ if (prog_info%prt_cipci) then -!!$ write(f_output,9001) file_cipci, prog_info%prefix(1:n)//"."//file_cipci -!!$ endif endif else if (prog_info%iprint .gt. 1) then @@ -211,9 +197,6 @@ subroutine def_files(prog_info) open (f_mat,file=file_mat,form="formatted") open (f_mat2,file=file_mat2,form="formatted") open (f_bmat,file=file_bmat,form="unformatted") -!!$ if (prog_info%prt_cipci) then -!!$ open (f_cipci,file=file_cipci,form="formatted") -!!$ endif if (prog_info%id_cpu.eq.0) then if (prog_info%iprint .gt. 1) then @@ -228,9 +211,6 @@ subroutine def_files(prog_info) write(f_output,9001) file_mat2, file_mat2 write(f_output,9001) file_bmat, file_bmat -!!$ if (prog_info%Yprefix) then -!!$ write(f_output,9001) file_cipci, file_cipci -!!$ endif endif end if diff --git a/src/info_prop.F90 b/src/info_prop.F90 index e36d78098fc2e204d09c5d636951070aa05c6e12..68bb3cfc52820baf6270666dc3d3d6a33b3e629f 100644 --- a/src/info_prop.F90 +++ b/src/info_prop.F90 @@ -30,6 +30,8 @@ Module Info_prop use dimensions + use info + use typedet implicit none type, public :: prop_infotype @@ -41,4 +43,77 @@ Module Info_prop Real (KIND=kd_dble) :: seuilcoef end type prop_infotype +contains + subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, sym_info, prop_info) + ! use deter +!!$ -------- Donnes locales ----------------------------------- + implicit none + + type(g_infotype), intent(inout) :: g_info + type(prog_infotype), intent(out) :: prog_info + type(o_infotype), intent(inout) :: o_info + type(v_infotype), intent(inout) :: v_info + type(det_infotype), intent(inout) :: det_info + type(sym_infotype), intent(inout) :: sym_info + type(prop_infotype), intent(inout) :: prop_info + +!!$============================================================ +!!$ -------- Code --------------------------------------------- +!!$----- +!!$----- Initialisations +!!$----- + ! g_info + g_info%nelact = 0 + g_info%nirrep = 1 + g_info%na = 0 + g_info%nb = 0 + + !prog_info + call init_prog(prog_info) + + ! o_info + o_info%norb_gel(:) = 0 + o_info%norb_occ(:) = 0 + o_info%norb_ligo(:) = 0 + o_info%norb_act(:) = 0 + o_info%norb_ligv(:) = 0 + o_info%norb_virt(:) = 0 + o_info%norb_del(:) = 0 + o_info%norb(:,:) = 0 + o_info%ngel = 0 + o_info%nocc = 0 + o_info%nligo= 0 + o_info%nact = 0 + o_info%nligv= 0 + o_info%nvirt= 0 + o_info%ndel = 0 + o_info%ntot = 0 + + ! v_info + v_info%stot = 1 + v_info%sz = 0 + v_info%vec_irrep = 1 + v_info%nvec = 1 + v_info%ncfspref0 = 0 !> @todo check if 0 or 1 + + ! det_info + det_info%nref0 = 1 + det_info%nref1 = 0 + det_info%ndetM = 0 + det_info%ndetcaslm = 0 + det_info%ndet = 1 + det_info%ndet1 = 0 + det_info%nmonoref0 = 0 + det_info%ndiref0 = 0 + + !sym_info + sym_info%iChTb(:,:) = 0 + sym_info%iIrTb(:,:) = 0 + + !prop_info + prop_info%nprop = 0 + prop_info%whichprop(1:nprop_max) = "xxxxx" + + End Subroutine init_prop + end Module Info_prop diff --git a/src/init.F90 b/src/init.F90 deleted file mode 100644 index 929afdc3afd56e65bc46316e5fcd8d333d33ae31..0000000000000000000000000000000000000000 --- a/src/init.F90 +++ /dev/null @@ -1,150 +0,0 @@ - -subroutine init(g_info, prog_info, o_info, v_info, & - det_info, ener_info, int_info, bdav_info, sym_info) -!!$ Initialisation des variables -!!$ -------- Donness globales --------------------------------- - use info -!!$ -------- Donnes locales ----------------------------------- - implicit none - - type(g_infotype), intent(inout) :: g_info - type(prog_infotype), intent(out) :: prog_info - type(o_infotype), intent(inout) :: o_info - !type(ord_infotype), intent(inout) :: ord_info - type(v_infotype), intent(inout) :: v_info - type(det_infotype), intent(inout) :: det_info - type(ener_infotype), intent(inout) :: ener_info - type(int_infotype), intent(inout) :: int_info - type(david_infotype), intent(inout):: bdav_info - type(sym_infotype), intent(inout) :: sym_info -!!$============================================================ -!!$ -------- Code --------------------------------------------- -!!$----- -!!$----- Initialisations -!!$----- - ! g_info - g_info%nelact = 0 - g_info%nirrep = 1 - g_info%na = 0 - g_info%nb = 0 - - !prog_info - call init_prog(prog_info) - - ! o_info - o_info%norb_gel(:) = 0 - o_info%norb_occ(:) = 0 - o_info%norb_ligo(:) = 0 - o_info%norb_act(:) = 0 - o_info%norb_ligv(:) = 0 - o_info%norb_virt(:) = 0 - o_info%norb_del(:) = 0 - o_info%norb(:,:) = 0 - o_info%ngel = 0 - o_info%nocc = 0 - o_info%nligo= 0 - o_info%nact = 0 - o_info%nligv= 0 - o_info%nvirt= 0 - o_info%ndel = 0 - o_info%ntot = 0 - - !ord_info - - ! v_info - v_info%stot = 1 - v_info%sz = 0 - v_info%vec_irrep = 1 - v_info%nvec = 1 - v_info%ncfspref0 = 0 !> @todo check if 0 or 1 - - ! det_info - det_info%nref0 = 1 - det_info%nref1 = 0 - det_info%ndetM = 0 - det_info%ndetcaslm = 0 - det_info%ndet = 1 - det_info%ndet1 = 0 - det_info%nmonoref0 = 0 - det_info%ndiref0 = 0 - - !sym_info - sym_info%iChTb(:,:) = 0 - sym_info%iIrTb(:,:) = 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'/) - - - - ! ener_info - ener_info%potnuc = 0.d0 - ener_info%Ecoeur = 0.d0 - - ! bdav_info - bdav_info%Sizeheff = 10 - bdav_info%NitDavid = 100 - bdav_info%tol_orth = 1.d-15 - bdav_info%tol_norm = 1.d-12 - -End Subroutine init - - -subroutine init_prog(prog_info) - - use info - - implicit none - - type(prog_infotype), intent(inout) :: prog_info - - ! prog_info - prog_info%Yprefix =.false. - prog_info%iprint = 0 - prog_info%print_det = .false. - prog_info%prt_cipci = .false. - prog_info%methodAct = 'SAS' - prog_info%methodExc = 'S' - prog_info%method = 'SAS+S' - prog_info%prefix = ' ' - prog_info%restart = .false. - prog_info%nb_cpu = 1 - prog_info%id_cpu = 0 - prog_info%nb_thread = 1 - prog_info%lexplicit = .false. - prog_info%lreadHmat = .false. - prog_info%idiag = 1 - -end subroutine init_prog diff --git a/src/init_prop.F90 b/src/init_prop.F90 deleted file mode 100644 index 51d4c92132f23f62ca7a6a7571c9b1f699859ee1..0000000000000000000000000000000000000000 --- a/src/init_prop.F90 +++ /dev/null @@ -1,157 +0,0 @@ -!!------------------------------------------------------- -!!---- Relaxed Selected Excitation (RelaxSE) -!!------------------------------------------------------- -!!---- This file is part of RelaxSE -!!---- -!!---- The RelaxSE project is distributed under LGPL. In agreement with the -!!---- Intergovernmental Convention of the ILL, this software cannot be used -!!---- in military applications. -!!---- -!!---- Copyright (C) 2016-2021 Institut Laue-Langevin (ILL), Grenoble, FRANCE -!!---- Institut Neel - CNRS-UPR2940 (CNRS), Grenoble, FRANCE -!!---- -!!---- Authors: Elisa REBOLINI (ILL) rebolini@ill.fr -!!---- Marie-Bernadette LEPETIT (CNRS) Marie-Bernadette.Lepetit@neel.cnrs.fr -!!---- -!!---- RelaxSE is free software; you can redistribute it and/or -!!---- modify it under the terms of the GNU Lesser General Public -!!---- License as published by the Free Software Foundation; either -!!---- version 3.0 of the License, or (at your option) any later version. -!!---- -!!---- RelaxSE is distributed in the hope that it will be useful, -!!---- but WITHOUT ANY WARRANTY; without even the implied warranty of -!!---- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -!!---- Lesser General Public License for more details. -!!---- -!!---- You should have received a copy of the GNU Lesser General Public -!!---- License along with this library; if not, see <http://www.gnu.org/licenses/>. -!!---- - - -subroutine init_prop(g_info, prog_info, o_info, v_info, det_info, sym_info, prop_info) -!!$ Initialisation des variables -!!$ -------- Donness globales --------------------------------- - use dimensions - use info - use info_prop - use typedet - ! use deter -!!$ -------- Donnes locales ----------------------------------- - implicit none - - type(g_infotype), intent(inout) :: g_info - type(prog_infotype), intent(out) :: prog_info - type(o_infotype), intent(inout) :: o_info - type(v_infotype), intent(inout) :: v_info - type(det_infotype), intent(inout) :: det_info - type(sym_infotype), intent(inout) :: sym_info - type(prop_infotype), intent(inout) :: prop_info - -!!$============================================================ -!!$ -------- Code --------------------------------------------- -!!$----- -!!$----- Initialisations -!!$----- - ! g_info - g_info%nelact = 0 - g_info%nirrep = 1 - g_info%na = 0 - g_info%nb = 0 - - !prog_info - call init_prog(prog_info) - - ! o_info - o_info%norb_gel(:) = 0 - o_info%norb_occ(:) = 0 - o_info%norb_ligo(:) = 0 - o_info%norb_act(:) = 0 - o_info%norb_ligv(:) = 0 - o_info%norb_virt(:) = 0 - o_info%norb_del(:) = 0 - o_info%norb(:,:) = 0 - o_info%ngel = 0 - o_info%nocc = 0 - o_info%nligo= 0 - o_info%nact = 0 - o_info%nligv= 0 - o_info%nvirt= 0 - o_info%ndel = 0 - o_info%ntot = 0 - - ! v_info - v_info%stot = 1 - v_info%sz = 0 - v_info%vec_irrep = 1 - v_info%nvec = 1 - v_info%ncfspref0 = 0 !> @todo check if 0 or 1 - - ! det_info - det_info%nref0 = 1 - det_info%nref1 = 0 - det_info%ndetM = 0 - det_info%ndetcaslm = 0 - det_info%ndet = 1 - det_info%ndet1 = 0 - det_info%nmonoref0 = 0 - det_info%ndiref0 = 0 - - !sym_info - sym_info%iChTb(:,:) = 0 - sym_info%iIrTb(:,:) = 0 - - !prop_info - prop_info%nprop = 0 - prop_info%whichprop(1:nprop_max) = "xxxxx" - - 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 2402871a27b64910522f361f4e70c2ce1d3201df..ba703360db8aaf9be43a6a2909f1289a98e7e0e9 100644 --- a/src/prop.F90 +++ b/src/prop.F90 @@ -150,10 +150,10 @@ Program proprietes !!$----- if (prog_info%methodAct.eq.'cas') then det_info%nref0 = comb(o_info%nact,g_info%na) * comb(o_info%nact,g_info%nb) - call deter_init(ref0, det_info%nref0) + call deter_init(ref0, det_info%nref0) call gener_cas(ref0, prog_info, det_info, g_info, o_info) else - call deter_init(ref0, det_info%nref0) + call deter_init(ref0, det_info%nref0) call lect_ref0(ref0, prog_info, det_info, g_info, o_info, v_info) end if if (prog_info%id_cpu.eq.0) flush(f_output)