mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-01-03 09:05:39 +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))
|
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 PARALLEL PRIVATE(i,j) DEFAULT(SHARED)
|
||||||
|
!$OMP DO COLLAPSE(2)
|
||||||
do j=1,cc_diis_depth
|
do j=1,cc_diis_depth
|
||||||
!$OMP DO
|
|
||||||
do i=1, size(all_err,1)
|
do i=1, size(all_err,1)
|
||||||
all_err(i,j) = 0d0
|
all_err(i,j) = 0d0
|
||||||
all_t(i,j) = 0d0
|
all_t(i,j) = 0d0
|
||||||
enddo
|
enddo
|
||||||
!$OMP END DO NOWAIT
|
|
||||||
enddo
|
enddo
|
||||||
|
!$OMP END DO NOWAIT
|
||||||
!$OMP END PARALLEL
|
!$OMP END PARALLEL
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -19,16 +19,20 @@ END_PROVIDER
|
|||||||
! Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
|
! Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i,j
|
integer :: i,j
|
||||||
HF_energy = nuclear_repulsion
|
double precision :: tmp1, tmp2
|
||||||
|
HF_energy = 0.d0
|
||||||
HF_two_electron_energy = 0.d0
|
HF_two_electron_energy = 0.d0
|
||||||
HF_one_electron_energy = 0.d0
|
HF_one_electron_energy = 0.d0
|
||||||
do j=1,ao_num
|
do j=1,ao_num
|
||||||
do i=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) &
|
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) )
|
+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) )
|
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
|
||||||
enddo
|
enddo
|
||||||
HF_energy += HF_two_electron_energy + HF_one_electron_energy
|
HF_energy += nuclear_repulsion
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
@ -70,6 +70,10 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ]
|
|||||||
else
|
else
|
||||||
call add_integrals_to_map(full_ijkl_bitmask_4)
|
call add_integrals_to_map(full_ijkl_bitmask_4)
|
||||||
endif
|
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
|
endif
|
||||||
|
|
||||||
call wall_time(wall_2)
|
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
|
integer*8 :: get_mo_map_size, mo_map_size
|
||||||
mo_map_size = get_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*,' cpu time :',cpu_2 - cpu_1, 's'
|
||||||
print*,' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1), ')'
|
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
|
BEGIN_DOC
|
||||||
! Hartree-Fock energy
|
! Hartree-Fock energy
|
||||||
END_DOC
|
END_DOC
|
||||||
SCF_energy = nuclear_repulsion
|
|
||||||
|
|
||||||
integer :: i,j
|
integer :: i,j
|
||||||
|
|
||||||
|
SCF_energy = 0.d0
|
||||||
|
|
||||||
do j=1,ao_num
|
do j=1,ao_num
|
||||||
do i=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_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
|
||||||
enddo
|
enddo
|
||||||
SCF_energy += extra_e_contrib_density
|
SCF_energy = 0.5d0 * SCF_energy + extra_e_contrib_density + nuclear_repulsion
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user