10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-25 05:43:47 +01:00

thesis-like mrcc

This commit is contained in:
Yann Garniron 2018-09-27 11:38:56 +02:00
parent cfc37ea57c
commit e1c84a8b1c
3 changed files with 10 additions and 28 deletions

View File

@ -233,7 +233,6 @@ END_PROVIDER
subroutine ZMQ_dress(E, dress, delta_out, delta_s2_out, relative_error) subroutine ZMQ_dress(E, dress, delta_out, delta_s2_out, relative_error)
use f77_zmq use f77_zmq
use selection_types
implicit none implicit none

View File

@ -1,27 +0,0 @@
program mrsc2sub
implicit none
double precision, allocatable :: energy(:)
allocate (energy(N_states))
!mrmode : 1=mrcepa0, 2=mrsc2 add, 3=mrcc
mrmode = 3
read_wf = .True.
SOFT_TOUCH read_wf
call set_generators_bitmasks_as_holes_and_particles
if (.True.) then
integer :: i,j
do j=1,N_states
do i=1,N_det
psi_coef(i,j) = CI_eigenvectors(i,j)
enddo
enddo
SOFT_TOUCH psi_coef
endif
call run(N_states,energy)
if(do_pt2)then
call run_pt2(N_states,energy)
endif
deallocate(energy)
end

View File

@ -525,6 +525,11 @@ subroutine i_H_j_s2(key_i,key_j,Nint,hij,s2)
ASSERT (sum(popcnt(key_j(:,1))) == elec_alpha_num) ASSERT (sum(popcnt(key_j(:,1))) == elec_alpha_num)
ASSERT (sum(popcnt(key_j(:,2))) == elec_beta_num) ASSERT (sum(popcnt(key_j(:,2))) == elec_beta_num)
if(sum(popcnt(key_i(:,1))) /= elec_alpha_num) stop "STOP2P 1"
if(sum(popcnt(key_i(:,2))) /= elec_beta_num) stop "STOP2P 2"
if(sum(popcnt(key_j(:,1))) /= elec_alpha_num) stop "ST2OPP 3"
if(sum(popcnt(key_j(:,2))) /= elec_beta_num) stop "ST2OPP 4"
hij = 0.d0 hij = 0.d0
s2 = 0d0 s2 = 0d0
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
@ -626,7 +631,12 @@ subroutine i_H_j(key_i,key_j,Nint,hij)
ASSERT (sum(popcnt(key_i(:,2))) == elec_beta_num) ASSERT (sum(popcnt(key_i(:,2))) == elec_beta_num)
ASSERT (sum(popcnt(key_j(:,1))) == elec_alpha_num) ASSERT (sum(popcnt(key_j(:,1))) == elec_alpha_num)
ASSERT (sum(popcnt(key_j(:,2))) == elec_beta_num) ASSERT (sum(popcnt(key_j(:,2))) == elec_beta_num)
if(sum(popcnt(key_i(:,1))) /= elec_alpha_num) stop "STOP2P 1"
if(sum(popcnt(key_i(:,2))) /= elec_beta_num) stop "STOP2P 2"
if(sum(popcnt(key_j(:,1))) /= elec_alpha_num) stop "ST2OPP 3"
if(sum(popcnt(key_j(:,2))) /= elec_beta_num) stop "ST2OPP 4"
hij = 0.d0 hij = 0.d0
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
call get_excitation_degree(key_i,key_j,degree,Nint) call get_excitation_degree(key_i,key_j,degree,Nint)