Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

283 improve gradient printout #288

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 6 additions & 12 deletions src/dlfind/dlf_util.f90
Original file line number Diff line number Diff line change
Expand Up @@ -846,20 +846,14 @@ subroutine write_xyz_active(unit,nat,znuc,spec,coords)
! **********************************************************************
call dlf_constants_get("ANG_AU",ang_au)
write (unit,'(/," ANALYTICAL GRADIENT: ")')
write (unit,'("------------------------")')
write (unit,'(" VARIBLES",4x,"NEW_GRAD")')
write (unit,'("------------------------")')

cartsym(1) = 'X'
cartsym(2) = 'Y'
cartsym(3) = 'Z'

write (unit,'("---------------------------------------------------------")')
write (unit,'(" ATOM",9x,"X",16X,"Y",16X,"Z")')
write (unit,'("---------------------------------------------------------")')

do iat=1,nat
do jat=1,3
write(unit,'(I5,A1,3x,F14.10)')iat,cartsym(jat),coords((iat-1)*3+jat)
enddo
write(unit,'(I5,3x,F14.10,3x,F14.10,3x,F14.10)')iat,coords((iat-1)*3+1),coords((iat-1)*3+2),coords((iat-1)*3+3)
end do
write (unit,'("------------------------")')
write (unit,'("---------------------------------------------------------")')
call flush(unit)
end subroutine write_xyz_active

Expand Down
15 changes: 7 additions & 8 deletions src/modules/include/gradient.fh
Original file line number Diff line number Diff line change
Expand Up @@ -135,17 +135,16 @@ contains

call PrtAct(ioutfile,"Begin Gradient Calculation")
write (ioutfile,'(" ANALYTICAL GRADIENT: ")')
write (ioutfile,'(40("-"))')
write (ioutfile,'(" COORDINATE",4x,"XYZ",12x,"GRADIENT")')
write (ioutfile,'(40("-"))')
write (ioutfile,'("---------------------------------------------------------")')
write (ioutfile,'(" ATOM",9x,"X",16X,"Y",16X,"Z")')
write (ioutfile,'("---------------------------------------------------------")')
do Iatm=1,natom
do Imomentum=1,3
write (ioutfile,'(I5,A1,3x,F14.10,3x,F14.10)')Iatm,cartsym(imomentum), &
xyz(Imomentum,Iatm)*0.529177249d0,quick_qm_struct%gradient((Iatm-1)*3+Imomentum)
enddo
write (ioutfile,'(I5,3x,F14.10,3x,F14.10,3x,F14.10)')Iatm, &
quick_qm_struct%gradient((Iatm-1)*3+1), quick_qm_struct%gradient((Iatm-1)*3+2), &
quick_qm_struct%gradient((Iatm-1)*3+3)
enddo

write(ioutfile,'(40("-"))')
write(ioutfile,'("---------------------------------------------------------")')

if(quick_method%extCharges) then
write (ioutfile,'(/," POINT CHARGE GRADIENT: ")')
Expand Down
14 changes: 7 additions & 7 deletions src/modules/quick_optimizer_module.f90
Original file line number Diff line number Diff line change
Expand Up @@ -276,21 +276,21 @@ subroutine optimize(ierr)
gradmax = -1.d0
gradnorm = 0.d0
write (ioutfile,'(/," ANALYTICAL GRADIENT: ")')
write (ioutfile,'(76("-"))')
write (ioutfile,'(" VARIBLES",4x,"OLD_X",12x,"OLD_GRAD",8x,"NEW_GRAD",10x,"NEW_X")')
write (ioutfile,'(76("-"))')
write (ioutfile,'("---------------------------------------------------------")')
write (ioutfile,'(" ATOM",9x,"X",16X,"Y",16X,"Z")')
write (ioutfile,'("---------------------------------------------------------")')
do Iatm=1,natom
do Imomentum=1,3
! Max gradient change
gradmax = max(gradmax,dabs(quick_qm_struct%gradient((Iatm-1)*3+Imomentum)))
! Grad change normalization
gradnorm = gradnorm + quick_qm_struct%gradient((Iatm-1)*3+Imomentum)**2.d0
write (ioutfile,'(I5,A1,3x,F14.10,3x,F14.10,3x,F14.10,3x,F14.10)')Iatm,cartsym(imomentum), &
coordsold((Iatm-1)*3+Imomentum)*0.529177249d0,oldGrad((Iatm-1)*3+Imomentum), &
quick_qm_struct%gradient((Iatm-1)*3+Imomentum),xyz(Imomentum,Iatm)*0.529177249d0
enddo
write (ioutfile,'(I5,3x,F14.10,3x,F14.10,3x,F14.10)')Iatm, &
quick_qm_struct%gradient((Iatm-1)*3+1), quick_qm_struct%gradient((Iatm-1)*3+2), &
quick_qm_struct%gradient((Iatm-1)*3+3)
enddo
write(ioutfile,'(76("-"))')
write(ioutfile,'("---------------------------------------------------------")')
gradnorm = (gradnorm/dble(natom*3))**.5d0

! geometry RMS
Expand Down
276 changes: 118 additions & 158 deletions test/saved/api_water_rhf_631g.out

Large diffs are not rendered by default.

117 changes: 57 additions & 60 deletions test/saved/grad_AlH3_b3lyp_def2sv_p.out
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,11 @@
If you have any comments or queries, please send us an email for technical support:
quick.merzlab@gmail.com

| TASK STARTS ON: Fri Jul 22 11:14:32 2022
| TASK STARTS ON: Fri Mar 17 10:23:41 2023
| INPUT FILE : grad_AlH3_b3lyp_def2sv_p.in
| OUTPUT FILE: grad_AlH3_b3lyp_def2sv_p.out
| DATA FILE : grad_AlH3_b3lyp_def2sv_p.dat
| BASIS SET PATH: /home/madu/test-output-update/basis

|------------ GPU INFORMATION ---------------
| CUDA ENABLED DEVICE : 3
| CUDA DEVICE IN USE : 0
| CUDA DEVICE NAME : NVIDIA TITAN V
| CUDA DEVICE PM : 80
| CUDA DEVICE CORE FREQ(GHZ) : 1.46
| CUDA DEVICE MEMORY SIZE (MB): 12066
| SUPPORTING CUDA VERSION : 7.0
|--------------------------------------------
| BASIS SET PATH: /mnt/home/shajanak/QUICK_OG/basis

@ Read Job And Atom

Expand All @@ -78,10 +68,10 @@
BASIS SET PRIME = 0.100E-09
MATRIX ELEMENTS = 0.100E-09
BASIS FUNCTION = 0.100E-05
GRADIENT CUTOFF = 0.100E-08
GRADIENT CUTOFF = 0.100E-06
DENSITY MATRIX MAXIMUM RMS FOR CONVERGENCE = 0.100E-05
BASIS SET = DEF2-SV(P), TYPE = CARTESIAN
| BASIS FILE = /home/madu/test-output-update/basis/DEF2-SV_P.BAS
| BASIS FILE = /mnt/home/shajanak/QUICK_OG/basis/DEF2-SV_P.BAS

@ Finish reading job

Expand Down Expand Up @@ -147,46 +137,38 @@
| ------------------------------------------------------------------------------------------------------------------------
| NCYC ENERGY DELTA_E SCF_TIME DII_CYC DII_TIME O_TIME DIAG_TIME MAX_ERR RMS_CHG MAX_CHG
| ------------------------------------------------------------------------------------------------------------------------
| 1 -244.248734854 ------ 0.038 1 0.00 0.03 0.00 0.2469E+01 0.7940E-01 0.5093E+00
| 2 -243.731181295 -.517554E+00 0.013 2 0.00 0.01 0.00 0.8828E-01 0.2410E-01 0.2559E+00
| 3 -243.755530873 0.243496E-01 0.013 3 0.00 0.01 0.00 0.2772E-01 0.6731E-02 0.6802E-01
| 4 -243.757972359 0.244149E-02 0.013 4 0.00 0.01 0.00 0.1825E-02 0.1041E-02 0.1476E-01
| 5 -243.757991193 0.188344E-04 0.013 5 0.00 0.01 0.00 0.1724E-03 0.4568E-04 0.4721E-03
| 6 -243.757991339 0.145901E-06 0.012 6 0.00 0.01 0.00 0.2671E-04 0.8537E-05 0.9187E-04
| 7 -243.757991343 0.404008E-08 0.012 7 0.00 0.01 0.00 0.5463E-05 0.1371E-05 0.1033E-04
| 8 -243.757991343 -.244381E-09 0.012 8 0.00 0.01 0.00 0.9886E-06 0.2140E-06 0.1560E-05
| 1 -244.248734857 ------ 0.174 1 0.00 0.17 0.00 0.2469E+01 0.7940E-01 0.5093E+00
| 2 -243.731181499 -.517553E+00 0.176 2 0.00 0.17 0.00 0.8828E-01 0.2410E-01 0.2559E+00
| 3 -243.755531073 0.243496E-01 0.175 3 0.00 0.17 0.00 0.2772E-01 0.6731E-02 0.6802E-01
| 4 -243.757972559 0.244149E-02 0.175 4 0.00 0.17 0.00 0.1825E-02 0.1041E-02 0.1476E-01
| 5 -243.757991394 0.188344E-04 0.174 5 0.00 0.17 0.00 0.1724E-03 0.4568E-04 0.4721E-03
| 6 -243.757991540 0.145927E-06 0.172 6 0.00 0.17 0.00 0.2671E-04 0.8537E-05 0.9187E-04
| 7 -243.757991544 0.411847E-08 0.169 7 0.00 0.17 0.00 0.5463E-05 0.1372E-05 0.1033E-04
| 8 -243.757991544 -.246029E-09 0.164 8 0.00 0.16 0.00 0.9885E-06 0.2140E-06 0.1560E-05
| ------------------------------------------------------------------------------------------------------------------------
| REACH CONVERGENCE AFTER 8 CYCLES
| MAX ERROR = 0.988573E-06 RMS CHANGE = 0.214004E-06 MAX CHANGE = 0.155983E-05
| MAX ERROR = 0.988521E-06 RMS CHANGE = 0.214020E-06 MAX CHANGE = 0.155995E-05
| -----------------------------------------------
ALPHA ELECTRON DENSITY = 8.0001036894
BETA ELECTRON DENSITY = 8.0001036894
ELECTRONIC ENERGY = -263.352967308
ALPHA ELECTRON DENSITY = 8.0001039238
BETA ELECTRON DENSITY = 8.0001039238
ELECTRONIC ENERGY = -263.352967508
CORE_CORE REPULSION = 19.594975965
TOTAL ENERGY = -243.757991343
TOTAL ENERGY = -243.757991544

@ End Energy calculation


@ Begin Gradient Calculation

ANALYTICAL GRADIENT:
----------------------------------------
COORDINATE XYZ GRADIENT
----------------------------------------
1X -2.6227002003 -0.0001375163
1Y -0.1565100120 -0.0000010512
1Z -0.0605100046 -0.0000048580
2X -1.5227001163 -0.3873907895
2Y -0.1565100120 -0.0000001518
2Z -0.0605100046 -0.0000003161
3X -3.1727002423 0.1937637059
3Y -0.8695000664 0.2516122034
3Z 0.5712700436 -0.2227645489
4X -3.1727002423 0.1937645999
4Y 0.5564700425 -0.2516110004
4Z -0.6923000529 0.2227697231
----------------------------------------
---------------------------------------------------------
ATOM X Y Z
---------------------------------------------------------
1 -0.0001374645 -0.0000010353 -0.0000048067
2 -0.3873901702 -0.0000001427 -0.0000002977
3 0.1937633991 0.2516117144 -0.2227642090
4 0.1937642356 -0.2516105365 0.2227693133
---------------------------------------------------------

@ End Gradient Calculation

Expand Down Expand Up @@ -216,7 +198,7 @@
H -0.0746 -0.0423
H -0.0745 -0.0266
H -0.0745 -0.0266
TOTAL -0.0000 0.0000
TOTAL -0.0000 -0.0000

DIPOLE (DEBYE)
X Y Z TOTAL
Expand All @@ -228,23 +210,38 @@
@ Output Timing Information

------------- TIMING ---------------
| INITIAL GUESS TIME = 0.422732000( 7.16%)
| DFT GRID OPERATIONS = 0.016271000( 0.28%)
| TOTAL SCF TIME = 0.126131000( 2.14%)
| TOTAL OP TIME = 0.100073000( 1.70%)
| TOTAL 1e TIME = 0.001125000( 0.02%)
| TOTAL 2e TIME = 0.056732000( 0.96%)
| TOTAL EXC TIME = 0.040424000( 0.69%)
| TOTAL DII TIME = 0.025984000( 0.44%)
| TOTAL DIAG TIME = 0.019160000( 0.32%)
| TOTAL GRADIENT TIME = 0.093962000( 1.59%)
| TOTAL 1e GRADIENT TIME = 0.003245000( 0.07%)
| TOTAL 2e GRADIENT TIME = 0.074720000( 1.27%)
| TOTAL EXC GRADIENT TIME = 0.015194000( 0.26%)
| TOTAL TIME = 5.900171000
| INITIALIZATION TIME = 0.004361000( 0.18%)
| INITIAL GUESS TIME = 0.310050000( 13.11%)
| OVERLAP 1e INTEGRALS TIME = 0.000448000( 0.02%)
| OVERLAP 1e DIAGONALIZATION TIME = 0.000200000( 0.01%)
| DFT GRID OPERATIONS = 0.080877000( 3.42%)
| TOTAL GRID FORMATION TIME = 0.000924000( 0.04%)
| TOTAL GRID WEIGHT TIME = 0.008893000( 0.38%)
| TOTAL OCTREE RUN TIME = 0.030000000( 1.27%)
| TOTAL PRESCREENING TIME = 0.020000000( 0.85%)
| TOTAL DATA PACKING TIME = 0.021060000( 0.89%)
| TOTAL SCF TIME = 1.379167000( 58.30%)
| TOTAL OP TIME = 1.372285000( 58.01%)
| TOTAL 1e TIME = 0.001587000( 0.07%)
| KINETIC 1e INTEGRALS TIME = 0.001086000( 0.05%)
| ATTRACTION 1e INTEGRALS TIME = 0.000493000( 0.02%)
| TOTAL 2e TIME = 0.523943000( 22.15%)
| TOTAL EXC TIME = 0.845010000( 35.72%)
| TOTAL ENERGY TIME = 0.000059000( 0.00%)
| TOTAL DII TIME = 0.006789000( 0.29%)
| TOTAL DIAG TIME = 0.001475000( 0.06%)
| TOTAL GRADIENT TIME = 0.586970000( 24.81%)
| TOTAL NUCLEAR GRADIENT TIME = 0.000006000( 0.00%)
| TOTAL 1e GRADIENT TIME = 0.004426000( 0.31%)
| KINETIC 1e GRADIENT TIME = 0.004426000( 0.19%)
| ATTRACTION 1e GRADIENT TIME = 0.002933000( 0.12%)
| TOTAL 2e GRADIENT TIME = 0.322933000(13.65%)
| TOTAL EXC GRADIENT TIME = 0.256671000( 10.85%)
| DIPOLE TIME = 0.001915000( 0.08%)
| TOTAL TIME = 2.365458000
------------------------------------
| Job cpu time: 0 days 0 hours 0 minutes 5.9 seconds.
| Job cpu time: 0 days 0 hours 0 minutes 2.4 seconds.

@ Finish Output Timing Information

| Normal Termination. Task Finished on: Fri Jul 22 11:14:38 2022
| Normal Termination. Task Finished on: Fri Mar 17 10:23:44 2023
Loading
Loading