From e767d5272546288a568001107f9d5c070c203fca Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 8 Dec 2020 22:33:52 +0100 Subject: [PATCH] Avoid possible divisions by zero --- config/ifort_debug.cfg | 2 +- src/ezfio_files/output.irp.f | 5 +++-- src/scf_utils/huckel.irp.f | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/config/ifort_debug.cfg b/config/ifort_debug.cfg index f0f90f34..f2fbf8ce 100644 --- a/config/ifort_debug.cfg +++ b/config/ifort_debug.cfg @@ -54,7 +54,7 @@ FCFLAGS : -msse4.2 -O2 -ip -ftz # [DEBUG] FC : -g -traceback -FCFLAGS : -msse4.2 -C -fpe0 -implicitnone +FCFLAGS : -msse4.2 -check all -debug all -fpe-all=0 -implicitnone # OpenMP flags diff --git a/src/ezfio_files/output.irp.f b/src/ezfio_files/output.irp.f index 5526fae2..48512f92 100644 --- a/src/ezfio_files/output.irp.f +++ b/src/ezfio_files/output.irp.f @@ -22,10 +22,11 @@ subroutine write_time(iunit) write(6,*) call print_memory_usage() call cpu_time(ct) + ct = ct - output_cpu_time_0 call wall_time(wt) + wt = wt - output_wall_time_0 write(6,'(A,F14.6,A,F14.6,A)') & - '.. >>>>> [ WALL TIME: ', wt-output_wall_time_0, & - ' s ] [ CPU TIME: ', ct-output_cpu_time_0, ' s ] <<<<< ..' + '.. >>>>> [ WALL TIME: ', wt, ' s ] [ CPU TIME: ', ct, ' s ] <<<<< ..' write(6,*) end diff --git a/src/scf_utils/huckel.irp.f b/src/scf_utils/huckel.irp.f index 4a1c4162..40d7cd5d 100644 --- a/src/scf_utils/huckel.irp.f +++ b/src/scf_utils/huckel.irp.f @@ -14,7 +14,9 @@ subroutine huckel_guess allocate (A(ao_num, ao_num)) A = 0.d0 do j=1,ao_num + if (ao_overlap(j,j) == 0.d0) cycle do i=1,ao_num + if (ao_overlap(i,i) == 0.d0) cycle A(i,j) = c * ao_overlap(i,j)/(ao_overlap(i,i)*ao_overlap(j,j)) * & (ao_one_e_integrals_diag(i) + ao_one_e_integrals_diag(j)) enddo