mirror of
https://github.com/LCPQ/quantum_package
synced 2024-09-12 22:28:30 +02:00
Merge some changes
This commit is contained in:
parent
ca973a1e92
commit
c9cf03479a
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
[COMMON]
|
[COMMON]
|
||||||
FC : gfortran -ffree-line-length-none -I . -mavx -g
|
FC : gfortran -ffree-line-length-none -I . -mavx -g
|
||||||
LAPACK_LIB : -llapack -lblas
|
LAPACK_LIB : -llapack -lblas
|
||||||
IRPF90 : irpf90
|
IRPF90 : irpf90
|
||||||
IRPF90_FLAGS : --ninja --align=32
|
IRPF90_FLAGS : --ninja --align=32
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -102,7 +102,7 @@ curl = Info(
|
|||||||
default_path=join(QP_ROOT_BIN, "curl"))
|
default_path=join(QP_ROOT_BIN, "curl"))
|
||||||
|
|
||||||
zlib = Info(
|
zlib = Info(
|
||||||
url='http://www.zlib.net/fossils/zlib-1.2.10.tar.gz',
|
url='http://www.zlib.net/fossils/zlib-1.2.11.tar.gz',
|
||||||
description=' zlib',
|
description=' zlib',
|
||||||
default_path=join(QP_ROOT_LIB, "libz.a"))
|
default_path=join(QP_ROOT_LIB, "libz.a"))
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
SHA1=$(git log -1 | head -1 | cut -d ' ' -f 2)
|
SHA1=$(git log -1 | head -1 | cut -d ' ' -f 2)
|
||||||
DATE=$(git log -1 | grep Date | cut -d ':' -f 2-)
|
DATE=$(git log -1 | grep Date | cut -d ':' -f 2-)
|
||||||
MESSAGE=$(git log -1 | tail -1)
|
MESSAGE=$(git log -1 | tail -1 | sed 's/"/\\"/g')
|
||||||
cat << EOF > Git.ml
|
cat << EOF > Git.ml
|
||||||
open Core.Std
|
open Core.Std
|
||||||
let sha1 = "$SHA1" |> String.strip
|
let sha1 = "$SHA1" |> String.strip
|
||||||
|
@ -3,6 +3,11 @@ program full_ci
|
|||||||
integer :: i,k
|
integer :: i,k
|
||||||
|
|
||||||
|
|
||||||
|
print *, '===================================================================='
|
||||||
|
print *, 'This program is slow. Consider using the Full_CI_ZMQ module instead.'
|
||||||
|
print *, '===================================================================='
|
||||||
|
call sleep(2)
|
||||||
|
|
||||||
double precision, allocatable :: pt2(:), norm_pert(:), H_pert_diag(:)
|
double precision, allocatable :: pt2(:), norm_pert(:), H_pert_diag(:)
|
||||||
integer :: N_st, degree
|
integer :: N_st, degree
|
||||||
N_st = N_states
|
N_st = N_states
|
||||||
|
@ -50,7 +50,7 @@ subroutine assert(cond, msg)
|
|||||||
print *, "assert failed: "//msg
|
print *, "assert failed: "//msg
|
||||||
stop
|
stop
|
||||||
end if
|
end if
|
||||||
end
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
subroutine get_mask_phase(det, phasemask)
|
subroutine get_mask_phase(det, phasemask)
|
||||||
@ -72,7 +72,7 @@ subroutine get_mask_phase(det, phasemask)
|
|||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
end
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
subroutine select_connected(i_generator,E0,pt2,b,subset)
|
subroutine select_connected(i_generator,E0,pt2,b,subset)
|
||||||
@ -98,9 +98,9 @@ subroutine select_connected(i_generator,E0,pt2,b,subset)
|
|||||||
particle_mask(k,2) = iand(generators_bitmask(k,2,s_part,l), not(psi_det_generators(k,2,i_generator)) )
|
particle_mask(k,2) = iand(generators_bitmask(k,2,s_part,l), not(psi_det_generators(k,2,i_generator)) )
|
||||||
|
|
||||||
enddo
|
enddo
|
||||||
call select_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,b,subset)
|
call select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,b,subset)
|
||||||
enddo
|
enddo
|
||||||
end
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
double precision function get_phase_bi(phasemask, s1, s2, h1, p1, h2, p2)
|
double precision function get_phase_bi(phasemask, s1, s2, h1, p1, h2, p2)
|
||||||
@ -271,7 +271,7 @@ subroutine get_m0(gen, phasemask, bannedOrb, vect, mask, h, p, sp, coefs)
|
|||||||
end do
|
end do
|
||||||
end
|
end
|
||||||
|
|
||||||
subroutine select_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,buf,subset)
|
subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,buf,subset)
|
||||||
use bitmasks
|
use bitmasks
|
||||||
use selection_types
|
use selection_types
|
||||||
implicit none
|
implicit none
|
||||||
@ -373,7 +373,6 @@ subroutine select_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,p
|
|||||||
integer :: nb_count
|
integer :: nb_count
|
||||||
do s1=1,2
|
do s1=1,2
|
||||||
do i1=N_holes(s1),1,-1 ! Generate low excitations first
|
do i1=N_holes(s1),1,-1 ! Generate low excitations first
|
||||||
|
|
||||||
h1 = hole_list(i1,s1)
|
h1 = hole_list(i1,s1)
|
||||||
call apply_hole(psi_det_generators(1,1,i_generator), s1,h1, pmask, ok, N_int)
|
call apply_hole(psi_det_generators(1,1,i_generator), s1,h1, pmask, ok, N_int)
|
||||||
|
|
||||||
@ -491,7 +490,7 @@ subroutine select_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,p
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
end
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -210,6 +210,10 @@ subroutine give_2h1p_contrib_sec_order(matrix_2h1p)
|
|||||||
|
|
||||||
! < det_tmp | H | det_tmp_bis > = F_{aorb,borb}
|
! < det_tmp | H | det_tmp_bis > = F_{aorb,borb}
|
||||||
hab = (fock_operator_local(aorb,borb,kspin) ) * phase
|
hab = (fock_operator_local(aorb,borb,kspin) ) * phase
|
||||||
|
if(hab /= hab)then ! check NaN
|
||||||
|
print*, '1'
|
||||||
|
stop
|
||||||
|
endif
|
||||||
! < jdet | H | det_tmp_bis > = phase * (ir|cv)
|
! < jdet | H | det_tmp_bis > = phase * (ir|cv)
|
||||||
call get_double_excitation(det_tmp_bis,psi_det(1,1,idx(jdet)),exc,phase,N_int)
|
call get_double_excitation(det_tmp_bis,psi_det(1,1,idx(jdet)),exc,phase,N_int)
|
||||||
if(ispin == jspin)then
|
if(ispin == jspin)then
|
||||||
@ -251,8 +255,7 @@ subroutine give_2h1p_contrib_sec_order(matrix_2h1p)
|
|||||||
call get_mono_excitation(det_tmp,det_tmp_bis,exc,phase,N_int)
|
call get_mono_excitation(det_tmp,det_tmp_bis,exc,phase,N_int)
|
||||||
! ! < det_tmp | H | det_tmp_bis > = F_{aorb,borb}
|
! ! < det_tmp | H | det_tmp_bis > = F_{aorb,borb}
|
||||||
hab = fock_operator_local(aorb,borb,kspin) * phase
|
hab = fock_operator_local(aorb,borb,kspin) * phase
|
||||||
! if(isnan(hab))then
|
if(hab /= hab)then ! check NaN
|
||||||
if(hab /= hab)then
|
|
||||||
print*, '2'
|
print*, '2'
|
||||||
stop
|
stop
|
||||||
endif
|
endif
|
||||||
|
@ -476,7 +476,7 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp):
|
|||||||
# ~#~#~#~#~#~ #
|
# ~#~#~#~#~#~ #
|
||||||
|
|
||||||
l_creation = [join(path_module.abs, i)
|
l_creation = [join(path_module.abs, i)
|
||||||
for i in ["irpf90.make", "irpf90_entities", "tags",
|
for i in ["irpf90_entities", "tags",
|
||||||
"IRPF90_temp/build.ninja"]]
|
"IRPF90_temp/build.ninja"]]
|
||||||
str_creation = " ".join(l_creation)
|
str_creation = " ".join(l_creation)
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ if __name__ == '__main__':
|
|||||||
# Don't update if we are not in the main repository
|
# Don't update if we are not in the main repository
|
||||||
from is_master_repository import is_master_repository
|
from is_master_repository import is_master_repository
|
||||||
if not is_master_repository:
|
if not is_master_repository:
|
||||||
sys.exit()
|
sys.exit(0)
|
||||||
|
|
||||||
path = os.path.join(module_abs, ".gitignore")
|
path = os.path.join(module_abs, ".gitignore")
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ subroutine davidson_diag_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,N_st,N_st_dia
|
|||||||
write(iunit,'(A)') trim(write_buffer)
|
write(iunit,'(A)') trim(write_buffer)
|
||||||
write_buffer = ' Iter'
|
write_buffer = ' Iter'
|
||||||
do i=1,N_st
|
do i=1,N_st
|
||||||
write_buffer = trim(write_buffer)//' Energy Residual'
|
write_buffer = trim(write_buffer)//' Energy Residual'
|
||||||
enddo
|
enddo
|
||||||
write(iunit,'(A)') trim(write_buffer)
|
write(iunit,'(A)') trim(write_buffer)
|
||||||
write_buffer = '===== '
|
write_buffer = '===== '
|
||||||
|
Loading…
Reference in New Issue
Block a user