mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-01-03 01:55:59 +01:00
Precision in HF energy
This commit is contained in:
parent
4f8e5e76bb
commit
efcd7420ba
@ -154,14 +154,14 @@ subroutine run_ccsd_space_orb
|
||||
|
||||
allocate(all_err(nO*nV+nO*nO*nV*(nV*1_8),cc_diis_depth), all_t(nO*nV+nO*nO*nV*(nV*1_8),cc_diis_depth))
|
||||
!$OMP PARALLEL PRIVATE(i,j) DEFAULT(SHARED)
|
||||
!$OMP DO COLLAPSE(2)
|
||||
do j=1,cc_diis_depth
|
||||
!$OMP DO
|
||||
do i=1, size(all_err,1)
|
||||
all_err(i,j) = 0d0
|
||||
all_t(i,j) = 0d0
|
||||
enddo
|
||||
!$OMP END DO NOWAIT
|
||||
enddo
|
||||
!$OMP END DO NOWAIT
|
||||
!$OMP END PARALLEL
|
||||
endif
|
||||
|
||||
|
@ -19,16 +19,20 @@ END_PROVIDER
|
||||
! Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
|
||||
END_DOC
|
||||
integer :: i,j
|
||||
HF_energy = nuclear_repulsion
|
||||
double precision :: tmp1, tmp2
|
||||
HF_energy = 0.d0
|
||||
HF_two_electron_energy = 0.d0
|
||||
HF_one_electron_energy = 0.d0
|
||||
do j=1,ao_num
|
||||
do i=1,ao_num
|
||||
HF_two_electron_energy += 0.5d0 * ( ao_two_e_integral_alpha(i,j) * SCF_density_matrix_ao_alpha(i,j) &
|
||||
+ao_two_e_integral_beta(i,j) * SCF_density_matrix_ao_beta(i,j) )
|
||||
HF_one_electron_energy += ao_one_e_integrals(i,j) * (SCF_density_matrix_ao_alpha(i,j) + SCF_density_matrix_ao_beta (i,j) )
|
||||
tmp1 = 0.5d0 * ( ao_two_e_integral_alpha(i,j) * SCF_density_matrix_ao_alpha(i,j) &
|
||||
+ao_two_e_integral_beta (i,j) * SCF_density_matrix_ao_beta (i,j) )
|
||||
tmp2 = ao_one_e_integrals(i,j) * (SCF_density_matrix_ao_alpha(i,j) + SCF_density_matrix_ao_beta (i,j) )
|
||||
HF_two_electron_energy += tmp1
|
||||
HF_one_electron_energy += tmp2
|
||||
HF_energy += tmp1 + tmp2
|
||||
enddo
|
||||
enddo
|
||||
HF_energy += HF_two_electron_energy + HF_one_electron_energy
|
||||
HF_energy += nuclear_repulsion
|
||||
END_PROVIDER
|
||||
|
||||
|
@ -70,6 +70,10 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ]
|
||||
else
|
||||
call add_integrals_to_map(full_ijkl_bitmask_4)
|
||||
endif
|
||||
double precision, external :: map_mb
|
||||
print*,'Molecular integrals provided:'
|
||||
print*,' Size of MO map ', map_mb(mo_integrals_map) ,'MB'
|
||||
print*,' Number of MO integrals: ', mo_map_size
|
||||
endif
|
||||
|
||||
call wall_time(wall_2)
|
||||
@ -78,10 +82,6 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ]
|
||||
integer*8 :: get_mo_map_size, mo_map_size
|
||||
mo_map_size = get_mo_map_size()
|
||||
|
||||
double precision, external :: map_mb
|
||||
print*,'Molecular integrals provided:'
|
||||
print*,' Size of MO map ', map_mb(mo_integrals_map) ,'MB'
|
||||
print*,' Number of MO integrals: ', mo_map_size
|
||||
print*,' cpu time :',cpu_2 - cpu_1, 's'
|
||||
print*,' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1), ')'
|
||||
|
||||
|
@ -253,17 +253,18 @@ BEGIN_PROVIDER [ double precision, SCF_energy ]
|
||||
BEGIN_DOC
|
||||
! Hartree-Fock energy
|
||||
END_DOC
|
||||
SCF_energy = nuclear_repulsion
|
||||
|
||||
integer :: i,j
|
||||
|
||||
SCF_energy = 0.d0
|
||||
|
||||
do j=1,ao_num
|
||||
do i=1,ao_num
|
||||
SCF_energy += 0.5d0 * ( &
|
||||
SCF_energy += &
|
||||
(ao_one_e_integrals(i,j) + Fock_matrix_ao_alpha(i,j) ) * SCF_density_matrix_ao_alpha(i,j) +&
|
||||
(ao_one_e_integrals(i,j) + Fock_matrix_ao_beta (i,j) ) * SCF_density_matrix_ao_beta (i,j) )
|
||||
(ao_one_e_integrals(i,j) + Fock_matrix_ao_beta (i,j) ) * SCF_density_matrix_ao_beta (i,j)
|
||||
enddo
|
||||
enddo
|
||||
SCF_energy += extra_e_contrib_density
|
||||
SCF_energy = 0.5d0 * SCF_energy + extra_e_contrib_density + nuclear_repulsion
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user