diff --git a/src/FCIdump/ASSUMPTIONS.rst b/src/FCIdump/ASSUMPTIONS.rst new file mode 100644 index 00000000..e69de29b diff --git a/src/FCIdump/Makefile b/src/FCIdump/Makefile new file mode 100644 index 00000000..b2ea1de1 --- /dev/null +++ b/src/FCIdump/Makefile @@ -0,0 +1,8 @@ +default: all + +# Define here all new external source files and objects.Don't forget to prefix the +# object files with IRPF90_temp/ +SRC= +OBJ= + +include $(QPACKAGE_ROOT)/src/Makefile.common diff --git a/src/FCIdump/NEEDED_MODULES b/src/FCIdump/NEEDED_MODULES new file mode 100644 index 00000000..26097b8b --- /dev/null +++ b/src/FCIdump/NEEDED_MODULES @@ -0,0 +1 @@ +AOs BiInts Bitmask Dets Electrons Ezfio_files MonoInts MOs Nuclei Output Utils diff --git a/src/FCIdump/README.rst b/src/FCIdump/README.rst new file mode 100644 index 00000000..170e623f --- /dev/null +++ b/src/FCIdump/README.rst @@ -0,0 +1,6 @@ +============== +FCIdump Module +============== + +Interface for the [NECI](https://github.com/ghb24/NECI_STABLE) Full-CI QMC program. + diff --git a/src/FCIdump/fcidump.irp.f b/src/FCIdump/fcidump.irp.f new file mode 100644 index 00000000..f93c1128 --- /dev/null +++ b/src/FCIdump/fcidump.irp.f @@ -0,0 +1,50 @@ +program fcidump + implicit none + + integer :: i,j,k,l + integer :: ii(8), jj(8), kk(8),ll(8) + integer*8 :: m + character*(2), allocatable :: A(:) + + print *, '&FCI NORB=', mo_tot_num, ', NELEC=', elec_num, & + ', MS2=', (elec_alpha_num-elec_beta_num), ',' + allocate (A(mo_tot_num)) + A = '1,' + print *, 'ORBSYM=', (A(i), i=1,mo_tot_num) + print *,'ISYM=0,' + print *,'/' + deallocate(A) + + integer*8 :: i8, k1 + integer(key_kind), allocatable :: keys(:) + double precision, allocatable :: values(:) + integer(cache_map_size_kind) :: n_elements, n_elements_max + PROVIDE mo_bielec_integrals_in_map + + double precision :: get_mo_bielec_integral, integral + + do l=1,mo_tot_num + do k=1,mo_tot_num + do j=l,mo_tot_num + do i=k,mo_tot_num + if (i>=j) then + integral = get_mo_bielec_integral(i,j,k,l,mo_integrals_map) + if (dabs(integral) > mo_integrals_threshold) then + print *, integral, i,k,j,l + endif + end if + enddo + enddo + enddo + enddo + + do j=1,mo_tot_num + do i=j,mo_tot_num + integral = mo_mono_elec_integral(i,j) + if (dabs(integral) > mo_integrals_threshold) then + print *, integral, i,j,0,0 + endif + enddo + enddo + print *, 0.d0, 0, 0, 0, 0 +end diff --git a/src/NEEDED_MODULES b/src/NEEDED_MODULES index 36f2dc69..2eb60f03 100644 --- a/src/NEEDED_MODULES +++ b/src/NEEDED_MODULES @@ -1 +1 @@ -AOs BiInts Bitmask Dets Electrons Ezfio_files Full_CI Generators_full Hartree_Fock MOGuess MonoInts MOs Nuclei Output Selectors_full Utils Molden +AOs BiInts Bitmask Dets Electrons Ezfio_files Full_CI Generators_full Hartree_Fock MOGuess MonoInts MOs Nuclei Output Selectors_full Utils Molden FCIdump