diff --git a/plugins/core_integrals/.gitignore b/plugins/core_integrals/.gitignore new file mode 100644 index 00000000..7ac9fbf6 --- /dev/null +++ b/plugins/core_integrals/.gitignore @@ -0,0 +1,5 @@ +IRPF90_temp/ +IRPF90_man/ +irpf90.make +irpf90_entities +tags \ No newline at end of file diff --git a/plugins/core_integrals/AO_Basis b/plugins/core_integrals/AO_Basis new file mode 120000 index 00000000..bee933ae --- /dev/null +++ b/plugins/core_integrals/AO_Basis @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/AO_Basis \ No newline at end of file diff --git a/plugins/core_integrals/Bitmask b/plugins/core_integrals/Bitmask new file mode 120000 index 00000000..2f693e1c --- /dev/null +++ b/plugins/core_integrals/Bitmask @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Bitmask \ No newline at end of file diff --git a/plugins/core_integrals/Electrons b/plugins/core_integrals/Electrons new file mode 120000 index 00000000..c29d5ab7 --- /dev/null +++ b/plugins/core_integrals/Electrons @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Electrons \ No newline at end of file diff --git a/plugins/core_integrals/Ezfio_files b/plugins/core_integrals/Ezfio_files new file mode 120000 index 00000000..07172795 --- /dev/null +++ b/plugins/core_integrals/Ezfio_files @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Ezfio_files \ No newline at end of file diff --git a/plugins/core_integrals/Integrals_Bielec b/plugins/core_integrals/Integrals_Bielec new file mode 120000 index 00000000..fe90d314 --- /dev/null +++ b/plugins/core_integrals/Integrals_Bielec @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Integrals_Bielec \ No newline at end of file diff --git a/plugins/core_integrals/Integrals_Monoelec b/plugins/core_integrals/Integrals_Monoelec new file mode 120000 index 00000000..ef392ff9 --- /dev/null +++ b/plugins/core_integrals/Integrals_Monoelec @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Integrals_Monoelec \ No newline at end of file diff --git a/plugins/core_integrals/MO_Basis b/plugins/core_integrals/MO_Basis new file mode 120000 index 00000000..55d01a67 --- /dev/null +++ b/plugins/core_integrals/MO_Basis @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/MO_Basis \ No newline at end of file diff --git a/plugins/core_integrals/Makefile b/plugins/core_integrals/Makefile new file mode 100644 index 00000000..bfcd2493 --- /dev/null +++ b/plugins/core_integrals/Makefile @@ -0,0 +1,16 @@ +IRPF90 = irpf90 #-a -d +FC = gfortran +FCFLAGS= -O2 -ffree-line-length-none -I . +NINJA = ninja +AR = ar +RANLIB = ranlib + +SRC= +OBJ= +LIB= + +include irpf90.make +export + +irpf90.make: $(filter-out IRPF90_temp/%, $(wildcard */*.irp.f)) $(wildcard *.irp.f) $(wildcard *.inc.f) Makefile + $(IRPF90) diff --git a/plugins/core_integrals/NEEDED_CHILDREN_MODULES b/plugins/core_integrals/NEEDED_CHILDREN_MODULES new file mode 100644 index 00000000..6a4d0040 --- /dev/null +++ b/plugins/core_integrals/NEEDED_CHILDREN_MODULES @@ -0,0 +1 @@ +Integrals_Monoelec Integrals_Bielec Bitmask diff --git a/plugins/core_integrals/Nuclei b/plugins/core_integrals/Nuclei new file mode 120000 index 00000000..a21d375b --- /dev/null +++ b/plugins/core_integrals/Nuclei @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Nuclei \ No newline at end of file diff --git a/plugins/core_integrals/Pseudo b/plugins/core_integrals/Pseudo new file mode 120000 index 00000000..69623db7 --- /dev/null +++ b/plugins/core_integrals/Pseudo @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Pseudo \ No newline at end of file diff --git a/plugins/core_integrals/README.rst b/plugins/core_integrals/README.rst new file mode 100644 index 00000000..589e0a00 --- /dev/null +++ b/plugins/core_integrals/README.rst @@ -0,0 +1,12 @@ +============== +core_integrals +============== + +Needed Modules +============== +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. +Documentation +============= +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. diff --git a/plugins/core_integrals/Utils b/plugins/core_integrals/Utils new file mode 120000 index 00000000..22bcf3f5 --- /dev/null +++ b/plugins/core_integrals/Utils @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/Utils \ No newline at end of file diff --git a/plugins/core_integrals/ZMQ b/plugins/core_integrals/ZMQ new file mode 120000 index 00000000..cbbfca4c --- /dev/null +++ b/plugins/core_integrals/ZMQ @@ -0,0 +1 @@ +/home/giner/qp_bis/quantum_package/src/ZMQ \ No newline at end of file diff --git a/plugins/core_integrals/core_integrals.main b/plugins/core_integrals/core_integrals.main new file mode 100755 index 00000000..de1348c4 Binary files /dev/null and b/plugins/core_integrals/core_integrals.main differ diff --git a/plugins/core_integrals/core_integrals.main.irp.f b/plugins/core_integrals/core_integrals.main.irp.f new file mode 100644 index 00000000..f5e9fd1b --- /dev/null +++ b/plugins/core_integrals/core_integrals.main.irp.f @@ -0,0 +1,7 @@ +program core_integrals + implicit none + BEGIN_DOC +! TODO + END_DOC + print*,'core energy = ',core_energy +end diff --git a/plugins/core_integrals/core_quantities.irp.f b/plugins/core_integrals/core_quantities.irp.f new file mode 100644 index 00000000..ac547d2f --- /dev/null +++ b/plugins/core_integrals/core_quantities.irp.f @@ -0,0 +1,32 @@ +BEGIN_PROVIDER [double precision, core_energy] + implicit none + integer :: i,j,k,l + core_energy = 0.d0 + do i = 1, n_core_orb + j = list_core(i) + core_energy += 2.d0 * mo_mono_elec_integral(j,j) + mo_bielec_integral_jj(j,j) + do k = i+1, n_core_orb + l = list_core(k) + core_energy += 2.d0 * (2.d0 * mo_bielec_integral_jj(j,l) - mo_bielec_integral_jj_exchange(j,l)) + enddo + enddo + core_energy += nuclear_repulsion + +END_PROVIDER + +BEGIN_PROVIDER [double precision, core_fock_operator, (mo_tot_num,mo_tot_num)] + implicit none + integer :: i,j,k,l,m,n + double precision :: get_mo_bielec_integral + core_fock_operator = 0.d0 + do i = 1, n_act_orb + j = list_act(i) + do k = 1, n_act_orb + l = list_act(k) + do m = 1, n_core_orb + n = list_core(m) + core_fock_operator(j,l) += 2.d0 * get_mo_bielec_integral(j,n,l,n,mo_integrals_map) - get_mo_bielec_integral(j,n,n,l,mo_integrals_map) + enddo + enddo + enddo +END_PROVIDER