10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-10-19 22:41:48 +02:00

1e integrals in EZFIO

This commit is contained in:
Anthony Scemama 2018-10-17 15:56:55 +02:00
parent ee13470949
commit 6566529ec4
9 changed files with 53 additions and 33 deletions

View File

@ -77,3 +77,11 @@ interface: ezfio
default: false
[integral_pseudo]
type: double precision
doc: Pseudopotential integrals in AO basis set
size: (ao_basis.ao_num,ao_basis.ao_num)
interface: ezfio
default: false

View File

@ -14,10 +14,10 @@
double precision :: alpha, beta, c
double precision :: A_center(3), B_center(3)
integer :: power_A(3), power_B(3)
! if (read_ao_one_integrals) then
! call ezfio_get_ao_basis_integral_overlap(ao_overlap(1:ao_num, 1:ao_num))
! print *, 'AO overlap integrals read from disk'
! else
if (read_ao_one_integrals) then
call ezfio_get_ao_basis_integral_overlap(ao_overlap(1:ao_num, 1:ao_num))
print *, 'AO overlap integrals read from disk'
else
dim1=100
!$OMP PARALLEL DO SCHEDULE(GUIDED) &
!$OMP DEFAULT(NONE) &
@ -60,11 +60,11 @@
enddo
enddo
!$OMP END PARALLEL DO
! endif
! if (write_ao_one_integrals) then
! call ezfio_set_ao_basis_integral_overlap(ao_overlap(1:ao_num, 1:ao_num))
! print *, 'AO overlap integrals written to disk'
! endif
endif
if (write_ao_one_integrals) then
call ezfio_set_ao_basis_integral_overlap(ao_overlap(1:ao_num, 1:ao_num))
print *, 'AO overlap integrals written to disk'
endif
END_PROVIDER

View File

@ -128,8 +128,7 @@ BEGIN_PROVIDER [double precision, ao_kinetic_integral, (ao_num,ao_num)]
integer :: i,j,k,l
if (read_ao_one_integrals) then
call read_one_e_integrals('ao_kinetic_integral', ao_kinetic_integral,&
size(ao_kinetic_integral,1), size(ao_kinetic_integral,2))
call ezfio_get_ao_basis_integral_kinetic(ao_kinetic_integral)
print *, 'AO kinetic integrals read from disk'
else
!$OMP PARALLEL DO DEFAULT(NONE) &
@ -143,8 +142,7 @@ BEGIN_PROVIDER [double precision, ao_kinetic_integral, (ao_num,ao_num)]
!$OMP END PARALLEL DO
endif
if (write_ao_one_integrals) then
call write_one_e_integrals('ao_kinetic_integral', ao_kinetic_integral,&
size(ao_kinetic_integral,1), size(ao_kinetic_integral,2))
call ezfio_set_ao_basis_integral_kinetic(ao_kinetic_integral)
print *, 'AO kinetic integrals written to disk'
endif
END_PROVIDER

View File

@ -5,8 +5,7 @@ BEGIN_PROVIDER [double precision, mo_kinetic_integral, (mo_tot_num,mo_tot_num)]
END_DOC
if (read_mo_one_integrals) then
call read_one_e_integrals('mo_kinetic_integral', mo_kinetic_integral,&
size(mo_kinetic_integral,1), size(mo_kinetic_integral,2))
call ezfio_get_mo_basis_integral_kinetic(mo_kinetic_integral)
print *, 'MO kinetic integrals read from disk'
else
call ao_to_mo( &
@ -17,8 +16,7 @@ BEGIN_PROVIDER [double precision, mo_kinetic_integral, (mo_tot_num,mo_tot_num)]
)
endif
if (write_mo_one_integrals) then
call write_one_e_integrals('mo_kinetic_integral', mo_kinetic_integral,&
size(mo_kinetic_integral,1), size(mo_kinetic_integral,2))
call ezfio_set_mo_basis_integral_kinetic(mo_kinetic_integral)
print *, 'MO kinetic integrals written to disk'
endif

View File

@ -11,8 +11,7 @@ BEGIN_PROVIDER [ double precision, ao_nucl_elec_integral, (ao_num,ao_num)]
double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult
if (read_ao_one_integrals) then
call read_one_e_integrals('ao_ne_integral', ao_nucl_elec_integral, &
size(ao_nucl_elec_integral,1), size(ao_nucl_elec_integral,2))
call ezfio_get_ao_basis_integral_nuclear(ao_nucl_elec_integral)
print *, 'AO N-e integrals read from disk'
else
@ -74,8 +73,7 @@ BEGIN_PROVIDER [ double precision, ao_nucl_elec_integral, (ao_num,ao_num)]
!$OMP END PARALLEL
endif
if (write_ao_one_integrals) then
call write_one_e_integrals('ao_ne_integral', ao_nucl_elec_integral, &
size(ao_nucl_elec_integral,1), size(ao_nucl_elec_integral,2))
call ezfio_set_ao_basis_integral_nuclear(ao_nucl_elec_integral)
print *, 'AO N-e integrals written to disk'
endif

View File

@ -5,8 +5,7 @@ BEGIN_PROVIDER [ double precision, ao_pseudo_integral, (ao_num,ao_num)]
END_DOC
if (read_ao_one_integrals) then
call read_one_e_integrals('ao_pseudo_integral', ao_pseudo_integral,&
size(ao_pseudo_integral,1), size(ao_pseudo_integral,2))
call ezfio_get_ao_basis_integral_pseudo(ao_pseudo_integral)
print *, 'AO pseudopotential integrals read from disk'
else
@ -22,8 +21,7 @@ BEGIN_PROVIDER [ double precision, ao_pseudo_integral, (ao_num,ao_num)]
endif
if (write_ao_one_integrals) then
call write_one_e_integrals('ao_pseudo_integral', ao_pseudo_integral,&
size(ao_pseudo_integral,1), size(ao_pseudo_integral,2))
call ezfio_set_ao_basis_integral_pseudo(ao_pseudo_integral)
print *, 'AO pseudopotential integrals written to disk'
endif

View File

@ -5,8 +5,7 @@ BEGIN_PROVIDER [double precision, mo_nucl_elec_integral, (mo_tot_num,mo_tot_num)
END_DOC
if (read_mo_one_integrals) then
call read_one_e_integrals('mo_ne_integral', mo_nucl_elec_integral, &
size(mo_nucl_elec_integral,1), size(mo_nucl_elec_integral,2))
call ezfio_get_mo_basis_integral_nuclear(mo_nucl_elec_integral)
print *, 'MO N-e integrals read from disk'
else
call ao_to_mo( &
@ -17,8 +16,7 @@ BEGIN_PROVIDER [double precision, mo_nucl_elec_integral, (mo_tot_num,mo_tot_num)
)
endif
if (write_mo_one_integrals) then
call write_one_e_integrals('mo_ne_integral', mo_nucl_elec_integral, &
size(mo_nucl_elec_integral,1), size(mo_nucl_elec_integral,2))
call ezfio_set_mo_basis_integral_nuclear(mo_nucl_elec_integral)
print *, 'MO N-e integrals written to disk'
endif

View File

@ -5,8 +5,7 @@ BEGIN_PROVIDER [double precision, mo_pseudo_integral, (mo_tot_num,mo_tot_num)]
END_DOC
if (read_mo_one_integrals) then
call read_one_e_integrals('mo_pseudo_integral', mo_pseudo_integral,&
size(mo_pseudo_integral,1), size(mo_pseudo_integral,2))
call ezfio_get_mo_basis_integral_pseudo(mo_pseudo_integral)
print *, 'MO pseudopotential integrals read from disk'
else
call ao_to_mo( &
@ -17,8 +16,7 @@ BEGIN_PROVIDER [double precision, mo_pseudo_integral, (mo_tot_num,mo_tot_num)]
)
endif
if (write_mo_one_integrals) then
call write_one_e_integrals('mo_pseudo_integral', mo_pseudo_integral,&
size(mo_pseudo_integral,1), size(mo_pseudo_integral,2))
call ezfio_set_mo_basis_integral_pseudo(mo_pseudo_integral)
print *, 'MO pseudopotential integrals written to disk'
endif

View File

@ -30,3 +30,27 @@ size: (mo_basis.mo_tot_num)
type: character*(32)
doc: Ao_md5
interface: ezfio
[integral_nuclear]
type: double precision
doc: Nucleus-electron integrals in MO basis set
size: (mo_basis.mo_tot_num,mo_basis.mo_tot_num)
interface: ezfio
default: false
[integral_kinetic]
type: double precision
doc: Kinetic energy integrals in MO basis set
size: (mo_basis.mo_tot_num,mo_basis.mo_tot_num)
interface: ezfio
default: false
[integral_pseudo]
type: double precision
doc: Pseudopotential integrals in MO basis set
size: (mo_basis.mo_tot_num,mo_basis.mo_tot_num)
interface: ezfio
default: false