Fixed small bugs

This commit is contained in:
Anthony Scemama 2019-06-27 23:46:30 +02:00
parent 92e44f53ba
commit 82bbf95fea
4 changed files with 20 additions and 7 deletions

View File

@ -141,6 +141,10 @@ END_PROVIDER
n_act_orb_tmp = 0
n_virt_orb_tmp = 0
n_del_orb_tmp = 0
core_bitmask = 0_bit_kind
inact_bitmask = 0_bit_kind
act_bitmask = 0_bit_kind
virt_bitmask = 0_bit_kind
do i = 1, mo_num
if(mo_class(i) == 'Core')then
n_core_orb_tmp += 1

View File

@ -3,8 +3,8 @@ program casscf
BEGIN_DOC
! TODO : Put the documentation of the program here
END_DOC
! no_vvvv_integrals = .True.
! SOFT_TOUCH no_vvvv_integrals
no_vvvv_integrals = .True.
SOFT_TOUCH no_vvvv_integrals
call run
end
@ -13,15 +13,13 @@ subroutine run
double precision :: energy_old, energy
logical :: converged
integer :: iteration
PROVIDE mo_two_e_integrals_in_map
converged = .False.
energy = 0.d0
mo_label = "MCSCF"
iteration = 1
do while (.not.converged)
call run_cipsi
call run_stochastic_cipsi
energy_old = energy
energy = eone+etwo+ecore
@ -39,6 +37,7 @@ subroutine run
iteration += 1
FREE mo_integrals_map mo_two_e_integrals_in_map psi_det psi_coef
SOFT_TOUCH mo_coef N_det
enddo
end

View File

@ -135,7 +135,7 @@ subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in)
PROVIDE psi_occ_pattern_hii det_to_occ_pattern
endif
if (N_det < max(4,N_states)) then
if (N_det <= max(4,N_states)) then
pt2=0.d0
variance=0.d0
norm=0.d0
@ -719,6 +719,15 @@ END_PROVIDER
double precision :: rss
double precision, external :: memory_of_double, memory_of_int
if (N_det_generators == 1) then
pt2_w = 1.d0
pt2_cw = 1.d0
pt2_W_T = 1.d0
pt2_u_0 = 1.d0
pt2_n_0 = 1
return
endif
rss = memory_of_double(2*N_det_generators+1)
call check_mem(rss,irp_here)
@ -754,7 +763,7 @@ END_PROVIDER
end if
pt2_n_0(1) += 1
if(N_det_generators - pt2_n_0(1) < pt2_minDetInFirstTeeth * pt2_N_teeth) then
stop "teeth building failed"
print *, "teeth building failed"
end if
end do
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

View File

@ -55,6 +55,7 @@ END_PROVIDER
nongen(inongen) = i
endif
enddo
ASSERT (m == N_det_generators)
psi_det_sorted_gen(:,:,:N_det_generators) = psi_det_generators(:,:,:N_det_generators)
psi_coef_sorted_gen(:N_det_generators, :) = psi_coef_generators(:N_det_generators, :)