10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-06-25 22:52:15 +02:00

added core integrals

This commit is contained in:
Emmanuel Giner 2017-04-14 19:08:39 +02:00
parent e6505dfb98
commit 59cb6c4402
18 changed files with 84 additions and 0 deletions

5
plugins/core_integrals/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
IRPF90_temp/
IRPF90_man/
irpf90.make
irpf90_entities
tags

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/AO_Basis

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Bitmask

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Electrons

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Ezfio_files

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Integrals_Bielec

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Integrals_Monoelec

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/MO_Basis

View File

@ -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)

View File

@ -0,0 +1 @@
Integrals_Monoelec Integrals_Bielec Bitmask

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Nuclei

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Pseudo

View File

@ -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.

View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/Utils

1
plugins/core_integrals/ZMQ Symbolic link
View File

@ -0,0 +1 @@
/home/giner/qp_bis/quantum_package/src/ZMQ

Binary file not shown.

View File

@ -0,0 +1,7 @@
program core_integrals
implicit none
BEGIN_DOC
! TODO
END_DOC
print*,'core energy = ',core_energy
end

View File

@ -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