10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-22 20:35:19 +01:00

Minor changes

This commit is contained in:
Emmanuel Giner 2017-03-20 17:27:23 +01:00
parent 2c6cbbc30b
commit 11172c8439
6 changed files with 14 additions and 52 deletions

View File

@ -1 +1 @@
Perturbation Selectors_full Generators_full Davidson MRPT_Utils Perturbation Selectors_full Generators_full Davidson

View File

@ -911,7 +911,7 @@ double precision function get_dij_index(II, i, s, Nint)
get_dij_index = get_dij_index get_dij_index = get_dij_index
else if(lambda_type == 3) then else if(lambda_type == 3) then
call i_h_j(psi_ref(1,1,II), psi_non_ref(1,1,i), Nint, HIi) call i_h_j(psi_ref(1,1,II), psi_non_ref(1,1,i), Nint, HIi)
call get_delta_e_dyall_fast(psi_ref(1,1,II),psi_non_ref(1,1,i),delta_e_final) call get_delta_e_dyall(psi_ref(1,1,II),psi_non_ref(1,1,i),delta_e_final)
get_dij_index = HIi * rho_mrpt(i, s) / delta_e_final(s) get_dij_index = HIi * rho_mrpt(i, s) / delta_e_final(s)
end if end if
end function end function

View File

@ -29,7 +29,7 @@ subroutine routine_3
enddo enddo
enddo enddo
if(save_heff_eigenvectors)then if(save_heff_eigenvectors)then
call save_wavefunction_general(N_det_ref,N_states_diag_heff,psi_ref,N_det_ref,CI_dressed_pt2_new_eigenvectors) call save_wavefunction_general(N_det_ref,N_states,psi_ref,N_det_ref,CI_dressed_pt2_new_eigenvectors)
endif endif
if(N_states.gt.1)then if(N_states.gt.1)then
print*, 'Energy differences : E(i) - E(0)' print*, 'Energy differences : E(i) - E(0)'

View File

@ -5,3 +5,10 @@ interface: ezfio,provider,ocaml
default: True default: True
[save_heff_eigenvectors]
type: logical
doc: If true, save the eigenvectors of the dressed matrix at the end of the MRPT calculation
interface: ezfio,provider,ocaml
default: False

View File

@ -1,10 +1,6 @@
! DO NOT MODIFY BY HAND ! DO NOT MODIFY BY HAND
! Created by $QP_ROOT/scripts/ezfio_interface/ei_handler.py ! Created by $QP_ROOT/scripts/ezfio_interface/ei_handler.py
<<<<<<< HEAD ! from file /home/giner/qp_bis/quantum_package/src/MRPT_Utils/EZFIO.cfg
! from file /home/giner/qp_fork/quantum_package/src/MRPT_Utils/EZFIO.cfg
=======
! from file /home/scemama/quantum_package/src/MRPT_Utils/EZFIO.cfg
>>>>>>> 4a552cc8fe36ae7c8c86eb714c2f032b44330ea0
BEGIN_PROVIDER [ logical, do_third_order_1h1p ] BEGIN_PROVIDER [ logical, do_third_order_1h1p ]
@ -25,12 +21,11 @@ BEGIN_PROVIDER [ logical, do_third_order_1h1p ]
endif endif
END_PROVIDER END_PROVIDER
<<<<<<< HEAD
BEGIN_PROVIDER [ logical, save_heff_eigenvectors ] BEGIN_PROVIDER [ logical, save_heff_eigenvectors ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! If true, you save the eigenvectors of the effective hamiltonian ! If true, save the eigenvectors of the dressed matrix at the end of the MRPT calculation
END_DOC END_DOC
logical :: has logical :: has
@ -45,43 +40,3 @@ BEGIN_PROVIDER [ logical, save_heff_eigenvectors ]
endif endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ integer, n_states_diag_heff ]
implicit none
BEGIN_DOC
! Number of eigenvectors obtained with the effective hamiltonian
END_DOC
logical :: has
PROVIDE ezfio_filename
call ezfio_has_mrpt_utils_n_states_diag_heff(has)
if (has) then
call ezfio_get_mrpt_utils_n_states_diag_heff(n_states_diag_heff)
else
print *, 'mrpt_utils/n_states_diag_heff not found in EZFIO file'
stop 1
endif
END_PROVIDER
BEGIN_PROVIDER [ logical, pure_state_specific_mrpt2 ]
implicit none
BEGIN_DOC
! If true, diagonalize the dressed matrix for each state and do a state following of the initial states
END_DOC
logical :: has
PROVIDE ezfio_filename
call ezfio_has_mrpt_utils_pure_state_specific_mrpt2(has)
if (has) then
call ezfio_get_mrpt_utils_pure_state_specific_mrpt2(pure_state_specific_mrpt2)
else
print *, 'mrpt_utils/pure_state_specific_mrpt2 not found in EZFIO file'
stop 1
endif
END_PROVIDER
=======
>>>>>>> 4a552cc8fe36ae7c8c86eb714c2f032b44330ea0

View File

@ -152,7 +152,7 @@ subroutine give_particles_in_virt_space(det_1,n_particles_spin,n_particles,parti
end end
subroutine get_delta_e_dyall(det_1,det_2,coef_array,hij,delta_e_final) subroutine get_delta_e_dyall(det_1,det_2,delta_e_final)
BEGIN_DOC BEGIN_DOC
! routine that returns the delta_e with the Moller Plesset and Dyall operators ! routine that returns the delta_e with the Moller Plesset and Dyall operators
! !
@ -170,7 +170,6 @@ subroutine get_delta_e_dyall(det_1,det_2,coef_array,hij,delta_e_final)
use bitmasks use bitmasks
double precision, intent(out) :: delta_e_final(N_states) double precision, intent(out) :: delta_e_final(N_states)
integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2)
double precision, intent(in) :: coef_array(N_states),hij
integer :: i,j,k,l integer :: i,j,k,l
integer :: i_state integer :: i_state
@ -433,3 +432,4 @@ subroutine get_delta_e_dyall(det_1,det_2,coef_array,hij,delta_e_final)
end end