Initial Work on Reading Crystal and Creation Gaussian Input

This commit is contained in:
2022-12-26 06:49:14 -03:00
parent 787d17eccd
commit 3716017cb0
30 changed files with 3262 additions and 852 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.pyc
.idea/

View File

@@ -1,848 +0,0 @@
Entering Gaussian System, Link 0=g16
Input=1-DC-MBI-UNIT-ASS.gjf
Output=1-DC-MBI-UNIT-ASS.log
Initial command:
/opt/ohpc/pub/apps/gaussian/16b01/g16/l1.exe "/scratch/local/Gau-17233.inp" -scrdir="/scratch/local/"
Entering Link 1 = /opt/ohpc/pub/apps/gaussian/16b01/g16/l1.exe PID= 17234.
Copyright (c) 1988-2017, Gaussian, Inc. All Rights Reserved.
This is part of the Gaussian(R) 16 program. It is based on
the Gaussian(R) 09 system (copyright 2009, Gaussian, Inc.),
the Gaussian(R) 03 system (copyright 2003, Gaussian, Inc.),
the Gaussian(R) 98 system (copyright 1998, Gaussian, Inc.),
the Gaussian(R) 94 system (copyright 1995, Gaussian, Inc.),
the Gaussian 92(TM) system (copyright 1992, Gaussian, Inc.),
the Gaussian 90(TM) system (copyright 1990, Gaussian, Inc.),
the Gaussian 88(TM) system (copyright 1988, Gaussian, Inc.),
the Gaussian 86(TM) system (copyright 1986, Carnegie Mellon
University), and the Gaussian 82(TM) system (copyright 1983,
Carnegie Mellon University). Gaussian is a federally registered
trademark of Gaussian, Inc.
This software contains proprietary and confidential information,
including trade secrets, belonging to Gaussian, Inc.
This software is provided under written license and may be
used, copied, transmitted, or stored only in accord with that
written license.
The following legend is applicable only to US Government
contracts under FAR:
RESTRICTED RIGHTS LEGEND
Use, reproduction and disclosure by the US Government is
subject to restrictions as set forth in subparagraphs (a)
and (c) of the Commercial Computer Software - Restricted
Rights clause in FAR 52.227-19.
Gaussian, Inc.
340 Quinnipiac St., Bldg. 40, Wallingford CT 06492
---------------------------------------------------------------
Warning -- This program may not be used in any manner that
competes with the business of Gaussian, Inc. or will provide
assistance to any competitor of Gaussian, Inc. The licensee
of this program is prohibited from giving any competitor of
Gaussian, Inc. access to this program. By using this program,
the user acknowledges that Gaussian, Inc. is engaged in the
business of creating and licensing software in the field of
computational chemistry and represents and warrants to the
licensee that it is not a competitor of Gaussian, Inc. and that
it will not use this program in any manner prohibited above.
---------------------------------------------------------------
Cite this work as:
Gaussian 16, Revision B.01,
M. J. Frisch, G. W. Trucks, H. B. Schlegel, G. E. Scuseria,
M. A. Robb, J. R. Cheeseman, G. Scalmani, V. Barone,
G. A. Petersson, H. Nakatsuji, X. Li, M. Caricato, A. V. Marenich,
J. Bloino, B. G. Janesko, R. Gomperts, B. Mennucci, H. P. Hratchian,
J. V. Ortiz, A. F. Izmaylov, J. L. Sonnenberg, D. Williams-Young,
F. Ding, F. Lipparini, F. Egidi, J. Goings, B. Peng, A. Petrone,
T. Henderson, D. Ranasinghe, V. G. Zakrzewski, J. Gao, N. Rega,
G. Zheng, W. Liang, M. Hada, M. Ehara, K. Toyota, R. Fukuda,
J. Hasegawa, M. Ishida, T. Nakajima, Y. Honda, O. Kitao, H. Nakai,
T. Vreven, K. Throssell, J. A. Montgomery, Jr., J. E. Peralta,
F. Ogliaro, M. J. Bearpark, J. J. Heyd, E. N. Brothers, K. N. Kudin,
V. N. Staroverov, T. A. Keith, R. Kobayashi, J. Normand,
K. Raghavachari, A. P. Rendell, J. C. Burant, S. S. Iyengar,
J. Tomasi, M. Cossi, J. M. Millam, M. Klene, C. Adamo, R. Cammi,
J. W. Ochterski, R. L. Martin, K. Morokuma, O. Farkas,
J. B. Foresman, and D. J. Fox, Gaussian, Inc., Wallingford CT, 2016.
******************************************
Gaussian 16: ES64L-G16RevB.01 20-Dec-2017
16-Nov-2022
******************************************
%mem=42GB
%Nprocs=20
Will use up to 20 processors via shared memory.
----------------------------------------------------------
#p cam-b3lyp/aug-cc-pVDZ POP=CHELPG density=current NoSymm
----------------------------------------------------------
1/30=1,38=1,172=1/1;
2/12=2,15=1,17=6,18=5,40=1/2;
3/5=16,7=10,11=2,25=1,30=1,74=-40/1,2,3;
4//1;
5/5=2,38=5/2;
6/7=2,8=2,9=2,10=2,15=8,20=3,22=-1,28=1/1,2;
99/5=1,9=1/99;
Leave Link 1 at Wed Nov 16 10:43:17 2022, MaxMem= 5637144576 cpu: 1.9 elap: 0.2
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l101.exe)
-------------------------
DAST UAEnvolvida passo 15
-------------------------
Symbolic Z-matrix:
Charge = 0 Multiplicity = 1
Cl 0.52951 -1.62665 1.24734
Cl 0.36293 -1.51156 4.37537
N 3.70316 2.47026 1.67928
N 3.58214 2.53111 3.90653
C 4.1125 3.08953 2.78251
C 5.073 4.21889 2.80434
C 2.86041 1.45634 2.12431
C 2.79065 1.4916 3.51764
C 2.01966 0.58686 4.23407
C 1.33268 -0.36792 3.53324
C 1.40387 -0.4174 2.12743
C 2.1713 0.49075 1.40373
H 2.22113 0.45152 0.47623
H 1.97054 0.6278 5.16261
H 3.80155 2.76937 4.72069
H 5.68239 4.10686 3.53844
H 4.5946 5.04458 2.90832
H 5.56563 4.23595 1.98082
ITRead= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MicOpt= -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
NAtoms= 18 NQM= 18 NQMF= 0 NMMI= 0 NMMIF= 0
NMic= 0 NMicF= 0.
Isotopes and Nuclear Properties:
(Nuclear quadrupole moments (NQMom) in fm**2, nuclear magnetic moments (NMagM)
in nuclear magnetons)
Atom 1 2 3 4 5 6 7 8 9 10
IAtWgt= 35 35 14 14 12 12 12 12 12 12
AtmWgt= 34.9688527 34.9688527 14.0030740 14.0030740 12.0000000 12.0000000 12.0000000 12.0000000 12.0000000 12.0000000
NucSpn= 3 3 2 2 0 0 0 0 0 0
AtZEff= -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000
NQMom= -8.1650000 -8.1650000 2.0440000 2.0440000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
NMagM= 0.8218740 0.8218740 0.4037610 0.4037610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
AtZNuc= 17.0000000 17.0000000 7.0000000 7.0000000 6.0000000 6.0000000 6.0000000 6.0000000 6.0000000 6.0000000
Atom 11 12 13 14 15 16 17 18
IAtWgt= 12 12 1 1 1 1 1 1
AtmWgt= 12.0000000 12.0000000 1.0078250 1.0078250 1.0078250 1.0078250 1.0078250 1.0078250
NucSpn= 0 0 1 1 1 1 1 1
AtZEff= -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000 -0.0000000
NQMom= 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
NMagM= 0.0000000 0.0000000 2.7928460 2.7928460 2.7928460 2.7928460 2.7928460 2.7928460
AtZNuc= 6.0000000 6.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
Leave Link 101 at Wed Nov 16 10:43:18 2022, MaxMem= 5637144576 cpu: 1.8 elap: 0.2
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l202.exe)
Input orientation:
---------------------------------------------------------------------
Center Atomic Atomic Coordinates (Angstroms)
Number Number Type X Y Z
---------------------------------------------------------------------
1 17 0 0.529511 -1.626652 1.247344
2 17 0 0.362927 -1.511555 4.375374
3 7 0 3.703161 2.470259 1.679277
4 7 0 3.582138 2.531106 3.906529
5 6 0 4.112504 3.089530 2.782505
6 6 0 5.072999 4.218889 2.804341
7 6 0 2.860414 1.456338 2.124311
8 6 0 2.790648 1.491595 3.517643
9 6 0 2.019660 0.586857 4.234066
10 6 0 1.332677 -0.367923 3.533240
11 6 0 1.403867 -0.417396 2.127431
12 6 0 2.171295 0.490754 1.403730
13 1 0 2.221128 0.451516 0.476228
14 1 0 1.970539 0.627801 5.162607
15 1 0 3.801546 2.769374 4.720692
16 1 0 5.682386 4.106863 3.538439
17 1 0 4.594603 5.044583 2.908321
18 1 0 5.565634 4.235948 1.980819
---------------------------------------------------------------------
Distance matrix (angstroms):
1 2 3 4 5
1 Cl 0.000000
2 Cl 3.134576 0.000000
3 N 5.200317 5.854993 0.000000
4 N 5.803167 5.189050 2.231367 0.000000
5 C 6.118573 6.145449 1.329726 1.362555 0.000000
6 C 7.565572 7.582276 2.489966 2.507209 1.482727
7 C 3.963207 4.484765 1.391515 2.202797 2.160617
8 C 4.471069 3.955811 2.273775 1.363184 2.200256
9 C 4.005081 2.677324 3.592816 2.515695 3.570770
10 C 2.730347 1.719738 4.136623 3.688331 4.499447
11 C 1.732441 2.708134 3.718353 4.074766 4.479327
12 C 2.683900 4.013739 2.518130 3.523850 3.524620
13 H 2.788363 4.744460 2.778322 4.236037 3.981876
14 H 4.742194 2.789444 4.304674 2.792410 4.038937
15 H 6.488097 5.501790 3.057671 0.876227 1.988910
16 H 8.042041 7.782270 3.170534 2.651328 2.017655
17 H 7.986814 7.939916 2.988706 2.887745 2.017543
18 H 7.763414 8.113929 2.584065 3.247938 2.017068
6 7 8 9 10
6 C 0.000000
7 C 3.604117 0.000000
8 C 3.627128 1.395523 0.000000
9 C 4.955668 2.431857 1.387889 0.000000
10 C 5.963233 2.765319 2.362992 1.369200 0.000000
11 C 5.951124 2.373272 2.738631 2.413635 1.408480
12 C 4.927534 1.387975 2.419485 2.836024 2.444467
13 H 5.267483 2.033355 3.264402 3.765668 3.287271
14 H 5.299301 3.272552 2.030917 0.930740 2.013249
15 H 2.718472 3.057938 2.025330 2.859249 4.165092
16 H 0.960626 4.121719 3.899001 5.127368 6.240489
17 H 0.959919 4.061722 4.031036 5.315943 6.350268
18 H 0.959775 3.881370 4.194502 5.564793 6.443878
11 12 13 14 15
11 C 0.000000
12 C 1.391914 0.000000
13 H 2.037006 0.929668 0.000000
14 H 3.259731 3.766728 4.696384 0.000000
15 H 4.757034 4.341896 5.087795 2.852054 0.000000
16 H 6.384793 5.473663 5.892283 5.340375 2.593098
17 H 6.373680 5.373414 5.713556 5.610301 3.014997
18 H 6.244630 5.087342 5.269861 6.005598 3.573479
16 17 18
16 H 0.000000
17 H 1.568324 0.000000
18 H 1.567314 1.567499 0.000000
Symmetry turned off by external request.
Stoichiometry C8H6Cl2N2
Framework group C1[X(C8H6Cl2N2)]
Deg. of freedom 48
Full point group C1 NOp 1
Rotational constants (GHZ): 1.7084129 0.4124602 0.3328113
Leave Link 202 at Wed Nov 16 10:43:18 2022, MaxMem= 5637144576 cpu: 1.5 elap: 0.1
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l301.exe)
Standard basis: Aug-CC-pVDZ (5D, 7F)
Ernie: Thresh= 0.10000D-02 Tol= 0.10000D-05 Strict=F.
Ernie: 40 primitive shells out of 398 were deleted.
338 basis functions, 658 primitive gaussians, 362 cartesian basis functions
51 alpha electrons 51 beta electrons
nuclear repulsion energy 835.4499809625 Hartrees.
IExCor=20419 DFT=T Ex+Corr=CAM-B3LYP ExCW=0 ScaHFX= 1.000000
ScaDFX= 1.000000 1.000000 1.000000 0.810000 ScalE2= 1.000000 1.000000
IRadAn= 5 IRanWt= -1 IRanGd= 0 ICorTp=0 IEmpDi= 4
HFx wShort= 0.000000 wLong= 0.330000 cFull= 0.190000 cShort= 0.000000 cLong= 0.460000
DFx wShort= 0.000000 wLong= 0.330000 cFull= 0.190000 cShort= 0.000000 cLong= 0.460000
NAtoms= 18 NActive= 18 NUniq= 18 SFac= 1.00D+00 NAtFMM= 60 NAOKFM=F Big=F
Integral buffers will be 131072 words long.
Raffenetti 2 integral format.
Two-electron integral symmetry is turned off.
Leave Link 301 at Wed Nov 16 10:43:18 2022, MaxMem= 5637144576 cpu: 1.5 elap: 0.2
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l302.exe)
NPDir=0 NMtPBC= 1 NCelOv= 1 NCel= 1 NClECP= 1 NCelD= 1
NCelK= 1 NCelE2= 1 NClLst= 1 CellRange= 0.0.
One-electron integrals computed using PRISM.
NBasis= 338 RedAO= T EigKep= 1.82D-06 NBF= 338
NBsUse= 337 1.00D-06 EigRej= 8.38D-07 NBFU= 337
Precomputing XC quadrature grid using
IXCGrd= 4 IRadAn= 5 IRanWt= -1 IRanGd= 0 AccXCQ= 0.00D+00.
Generated NRdTot= 0 NPtTot= 0 NUsed= 0 NTot= 32
NSgBfM= 361 361 361 361 361 MxSgAt= 18 MxSgA2= 18.
Leave Link 302 at Wed Nov 16 10:43:20 2022, MaxMem= 5637144576 cpu: 24.4 elap: 2.3
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l303.exe)
DipDrv: MaxL=1.
Leave Link 303 at Wed Nov 16 10:43:20 2022, MaxMem= 5637144576 cpu: 2.6 elap: 0.2
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l401.exe)
ExpMin= 2.97D-02 ExpMax= 1.28D+05 ExpMxC= 1.24D+03 IAcc=3 IRadAn= 5 AccDes= 0.00D+00
Harris functional with IExCor=20419 and IRadAn= 5 diagonalized for initial guess.
HarFok: IExCor=20419 AccDes= 0.00D+00 IRadAn= 5 IDoV= 1 UseB2=F ITyADJ=14
ICtDFT= 3500011 ScaDFX= 1.000000 1.000000 1.000000 1.000000
FoFCou: FMM=F IPFlag= 0 FMFlag= 100000 FMFlg1= 0
NFxFlg= 0 DoJE=T BraDBF=F KetDBF=T FulRan=T
wScrn= 0.000000 ICntrl= 500 IOpCl= 0 I1Cent= 200000004 NGrid= 0
NMat0= 1 NMatS0= 1 NMatT0= 0 NMatD0= 1 NMtDS0= 0 NMtDT0= 0
Symmetry not used in FoFCou.
Harris En= -1308.35056237338
JPrj=0 DoOrth=F DoCkMO=F.
Leave Link 401 at Wed Nov 16 10:43:23 2022, MaxMem= 5637144576 cpu: 40.1 elap: 2.3
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l502.exe)
Two-electron integral symmetry not used.
Closed shell SCF:
Using DIIS extrapolation, IDIIS= 1040.
NGot= 5637144576 LenX= 5636872714 LenY= 5636741229
Requested convergence on RMS density matrix=1.00D-08 within 128 cycles.
Requested convergence on MAX density matrix=1.00D-06.
Requested convergence on energy=1.00D-06.
No special actions if energy rises.
Fock matrices will be formed incrementally for 20 cycles.
Cycle 1 Pass 1 IDiag 1:
FoFJK: IHMeth= 1 ICntrl= 0 DoSepK=T KAlg= 0 I1Cent= 0 FoldK=F
IRaf= 1 NMat= 1 IRICut= 1 DoRegI=T DoRafI=F ISym2E= 0 IDoP0=0 IntGTp=1.
FoFCou: FMM=F IPFlag= 0 FMFlag= 100000 FMFlg1= 0
NFxFlg= 0 DoJE=T BraDBF=F KetDBF=F FulRan=T
wScrn= 0.000000 ICntrl= 500 IOpCl= 0 I1Cent= 0 NGrid= 0
NMat0= 1 NMatS0= 1 NMatT0= 0 NMatD0= 1 NMtDS0= 0 NMtDT0= 0
Symmetry not used in FoFCou.
E= -1337.73360526009
DIIS: error= 2.76D-02 at cycle 1 NSaved= 1.
NSaved= 1 IEnMin= 1 EnMin= -1337.73360526009 IErMin= 1 ErrMin= 2.76D-02
ErrMax= 2.76D-02 0.00D+00 EMaxC= 1.00D-01 BMatC= 5.55D-01 BMatP= 5.55D-01
IDIUse=3 WtCom= 7.24D-01 WtEn= 2.76D-01
Coeff-Com: 0.100D+01
Coeff-En: 0.100D+01
Coeff: 0.100D+01
Gap= 0.388 Goal= None Shift= 0.000
GapD= 0.388 DampG=1.000 DampE=0.500 DampFc=0.5000 IDamp=-1.
Damping current iteration by 5.00D-01
RMSDP=8.43D-02 MaxDP=6.78D+00 OVMax= 2.28D-01
Cycle 2 Pass 1 IDiag 1:
RMSU= 1.51D-02 CP: 8.60D-01
E= -1337.93790506986 Delta-E= -0.204299809770 Rises=F Damp=T
DIIS: error= 7.69D-03 at cycle 2 NSaved= 2.
NSaved= 2 IEnMin= 2 EnMin= -1337.93790506986 IErMin= 2 ErrMin= 7.69D-03
ErrMax= 7.69D-03 0.00D+00 EMaxC= 1.00D-01 BMatC= 5.37D-02 BMatP= 5.55D-01
IDIUse=3 WtCom= 9.23D-01 WtEn= 7.69D-02
Coeff-Com: -0.162D+00 0.116D+01
Coeff-En: 0.000D+00 0.100D+01
Coeff: -0.150D+00 0.115D+01
Gap= 0.388 Goal= None Shift= 0.000
RMSDP=3.72D-02 MaxDP=2.98D+00 DE=-2.04D-01 OVMax= 1.48D-01
Cycle 3 Pass 1 IDiag 1:
RMSU= 1.13D-02 CP: 7.35D-01 9.54D-01
E= -1338.12177874285 Delta-E= -0.183873672995 Rises=F Damp=F
DIIS: error= 4.05D-03 at cycle 3 NSaved= 3.
NSaved= 3 IEnMin= 3 EnMin= -1338.12177874285 IErMin= 3 ErrMin= 4.05D-03
ErrMax= 4.05D-03 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.66D-02 BMatP= 5.37D-02
IDIUse=3 WtCom= 9.59D-01 WtEn= 4.05D-02
Coeff-Com: -0.128D+00 0.435D+00 0.694D+00
Coeff-En: 0.000D+00 0.000D+00 0.100D+01
Coeff: -0.123D+00 0.417D+00 0.706D+00
Gap= 0.288 Goal= None Shift= 0.000
RMSDP=5.34D-03 MaxDP=2.22D-01 DE=-1.84D-01 OVMax= 4.17D-02
Cycle 4 Pass 1 IDiag 1:
RMSU= 2.25D-03 CP: 7.24D-01 1.13D+00 7.49D-01
E= -1338.13580118171 Delta-E= -0.014022438855 Rises=F Damp=F
DIIS: error= 1.68D-03 at cycle 4 NSaved= 4.
NSaved= 4 IEnMin= 4 EnMin= -1338.13580118171 IErMin= 4 ErrMin= 1.68D-03
ErrMax= 1.68D-03 0.00D+00 EMaxC= 1.00D-01 BMatC= 2.91D-03 BMatP= 1.66D-02
IDIUse=3 WtCom= 9.83D-01 WtEn= 1.68D-02
Coeff-Com: -0.416D-01 0.886D-01 0.342D+00 0.611D+00
Coeff-En: 0.000D+00 0.000D+00 0.746D-01 0.925D+00
Coeff: -0.409D-01 0.871D-01 0.337D+00 0.616D+00
Gap= 0.282 Goal= None Shift= 0.000
RMSDP=1.11D-03 MaxDP=7.58D-02 DE=-1.40D-02 OVMax= 1.60D-02
Cycle 5 Pass 1 IDiag 1:
RMSU= 6.66D-04 CP: 7.23D-01 1.11D+00 7.97D-01 7.61D-01
E= -1338.13846012744 Delta-E= -0.002658945732 Rises=F Damp=F
DIIS: error= 5.08D-04 at cycle 5 NSaved= 5.
NSaved= 5 IEnMin= 5 EnMin= -1338.13846012744 IErMin= 5 ErrMin= 5.08D-04
ErrMax= 5.08D-04 0.00D+00 EMaxC= 1.00D-01 BMatC= 2.21D-04 BMatP= 2.91D-03
IDIUse=3 WtCom= 9.95D-01 WtEn= 5.08D-03
Coeff-Com: -0.115D-01 0.156D-01 0.128D+00 0.314D+00 0.554D+00
Coeff-En: 0.000D+00 0.000D+00 0.000D+00 0.000D+00 0.100D+01
Coeff: -0.114D-01 0.156D-01 0.128D+00 0.312D+00 0.556D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=3.66D-04 MaxDP=1.78D-02 DE=-2.66D-03 OVMax= 4.84D-03
Cycle 6 Pass 1 IDiag 1:
RMSU= 2.32D-04 CP: 7.23D-01 1.10D+00 8.08D-01 7.88D-01 7.15D-01
E= -1338.13867206928 Delta-E= -0.000211941844 Rises=F Damp=F
DIIS: error= 1.59D-04 at cycle 6 NSaved= 6.
NSaved= 6 IEnMin= 6 EnMin= -1338.13867206928 IErMin= 6 ErrMin= 1.59D-04
ErrMax= 1.59D-04 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.54D-05 BMatP= 2.21D-04
IDIUse=3 WtCom= 9.98D-01 WtEn= 1.59D-03
Coeff-Com: 0.165D-02-0.712D-02 0.791D-02 0.495D-01 0.222D+00 0.727D+00
Coeff-En: 0.000D+00 0.000D+00 0.000D+00 0.000D+00 0.000D+00 0.100D+01
Coeff: 0.164D-02-0.711D-02 0.790D-02 0.494D-01 0.221D+00 0.727D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=7.38D-05 MaxDP=3.71D-03 DE=-2.12D-04 OVMax= 1.65D-03
Cycle 7 Pass 1 IDiag 1:
RMSU= 5.89D-05 CP: 7.23D-01 1.10D+00 8.09D-01 7.92D-01 7.58D-01
CP: 1.09D+00
E= -1338.13869139904 Delta-E= -0.000019329762 Rises=F Damp=F
DIIS: error= 6.34D-05 at cycle 7 NSaved= 7.
NSaved= 7 IEnMin= 7 EnMin= -1338.13869139904 IErMin= 7 ErrMin= 6.34D-05
ErrMax= 6.34D-05 0.00D+00 EMaxC= 1.00D-01 BMatC= 2.10D-06 BMatP= 1.54D-05
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: 0.297D-02-0.606D-02-0.195D-01-0.364D-01-0.673D-02 0.283D+00
Coeff-Com: 0.783D+00
Coeff: 0.297D-02-0.606D-02-0.195D-01-0.364D-01-0.673D-02 0.283D+00
Coeff: 0.783D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=6.26D-05 MaxDP=3.76D-03 DE=-1.93D-05 OVMax= 9.18D-04
Cycle 8 Pass 1 IDiag 1:
RMSU= 3.38D-05 CP: 7.23D-01 1.10D+00 8.09D-01 7.94D-01 7.90D-01
CP: 1.13D+00 1.01D+00
E= -1338.13869497382 Delta-E= -0.000003574779 Rises=F Damp=F
DIIS: error= 1.71D-05 at cycle 8 NSaved= 8.
NSaved= 8 IEnMin= 8 EnMin= -1338.13869497382 IErMin= 8 ErrMin= 1.71D-05
ErrMax= 1.71D-05 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.98D-07 BMatP= 2.10D-06
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: 0.753D-03-0.120D-02-0.661D-02-0.167D-01-0.197D-01 0.312D-01
Coeff-Com: 0.268D+00 0.744D+00
Coeff: 0.753D-03-0.120D-02-0.661D-02-0.167D-01-0.197D-01 0.312D-01
Coeff: 0.268D+00 0.744D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=2.12D-05 MaxDP=1.82D-03 DE=-3.57D-06 OVMax= 4.44D-04
Cycle 9 Pass 1 IDiag 1:
RMSU= 9.20D-06 CP: 7.23D-01 1.10D+00 8.09D-01 7.96D-01 7.90D-01
CP: 1.14D+00 1.02D+00 8.64D-01
E= -1338.13869539092 Delta-E= -0.000000417093 Rises=F Damp=F
DIIS: error= 1.02D-05 at cycle 9 NSaved= 9.
NSaved= 9 IEnMin= 9 EnMin= -1338.13869539092 IErMin= 9 ErrMin= 1.02D-05
ErrMax= 1.02D-05 0.00D+00 EMaxC= 1.00D-01 BMatC= 3.44D-08 BMatP= 1.98D-07
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: -0.359D-03 0.862D-03 0.164D-02 0.996D-03-0.462D-02-0.399D-01
Coeff-Com: -0.515D-01 0.226D+00 0.867D+00
Coeff: -0.359D-03 0.862D-03 0.164D-02 0.996D-03-0.462D-02-0.399D-01
Coeff: -0.515D-01 0.226D+00 0.867D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=7.35D-06 MaxDP=2.91D-04 DE=-4.17D-07 OVMax= 2.47D-04
Cycle 10 Pass 1 IDiag 1:
RMSU= 4.30D-06 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.94D-01
CP: 1.14D+00 1.02D+00 9.57D-01 1.17D+00
E= -1338.13869549752 Delta-E= -0.000000106602 Rises=F Damp=F
DIIS: error= 4.99D-06 at cycle 10 NSaved= 10.
NSaved=10 IEnMin=10 EnMin= -1338.13869549752 IErMin=10 ErrMin= 4.99D-06
ErrMax= 4.99D-06 0.00D+00 EMaxC= 1.00D-01 BMatC= 7.85D-09 BMatP= 3.44D-08
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: -0.288D-03 0.571D-03 0.188D-02 0.350D-02 0.174D-02-0.222D-01
Coeff-Com: -0.742D-01-0.475D-01 0.360D+00 0.777D+00
Coeff: -0.288D-03 0.571D-03 0.188D-02 0.350D-02 0.174D-02-0.222D-01
Coeff: -0.742D-01-0.475D-01 0.360D+00 0.777D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=2.43D-06 MaxDP=1.46D-04 DE=-1.07D-07 OVMax= 1.42D-04
Cycle 11 Pass 1 IDiag 1:
RMSU= 1.66D-06 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.94D-01
CP: 1.14D+00 1.01D+00 9.63D-01 1.26D+00 1.03D+00
E= -1338.13869551830 Delta-E= -0.000000020782 Rises=F Damp=F
DIIS: error= 1.82D-06 at cycle 11 NSaved= 11.
NSaved=11 IEnMin=11 EnMin= -1338.13869551830 IErMin=11 ErrMin= 1.82D-06
ErrMax= 1.82D-06 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.56D-09 BMatP= 7.85D-09
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: -0.611D-04 0.102D-03 0.480D-03 0.122D-02 0.121D-02-0.333D-02
Coeff-Com: -0.250D-01-0.529D-01 0.200D-01 0.352D+00 0.707D+00
Coeff: -0.611D-04 0.102D-03 0.480D-03 0.122D-02 0.121D-02-0.333D-02
Coeff: -0.250D-01-0.529D-01 0.200D-01 0.352D+00 0.707D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=1.47D-06 MaxDP=5.90D-05 DE=-2.08D-08 OVMax= 4.30D-05
Cycle 12 Pass 1 IDiag 1:
RMSU= 6.53D-07 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.95D-01
CP: 1.14D+00 1.01D+00 9.79D-01 1.29D+00 1.13D+00
CP: 8.56D-01
E= -1338.13869552122 Delta-E= -0.000000002922 Rises=F Damp=F
DIIS: error= 5.84D-07 at cycle 12 NSaved= 12.
NSaved=12 IEnMin=12 EnMin= -1338.13869552122 IErMin=12 ErrMin= 5.84D-07
ErrMax= 5.84D-07 0.00D+00 EMaxC= 1.00D-01 BMatC= 2.04D-10 BMatP= 1.56D-09
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: 0.293D-04-0.656D-04-0.169D-03-0.155D-03 0.156D-03 0.261D-02
Coeff-Com: 0.233D-02-0.112D-01-0.521D-01 0.144D-01 0.297D+00 0.747D+00
Coeff: 0.293D-04-0.656D-04-0.169D-03-0.155D-03 0.156D-03 0.261D-02
Coeff: 0.233D-02-0.112D-01-0.521D-01 0.144D-01 0.297D+00 0.747D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=4.62D-07 MaxDP=2.96D-05 DE=-2.92D-09 OVMax= 1.32D-05
Cycle 13 Pass 1 IDiag 1:
RMSU= 2.17D-07 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.94D-01
CP: 1.14D+00 1.01D+00 9.76D-01 1.28D+00 1.13D+00
CP: 9.73D-01 9.30D-01
E= -1338.13869552153 Delta-E= -0.000000000303 Rises=F Damp=F
DIIS: error= 1.76D-07 at cycle 13 NSaved= 13.
NSaved=13 IEnMin=13 EnMin= -1338.13869552153 IErMin=13 ErrMin= 1.76D-07
ErrMax= 1.76D-07 0.00D+00 EMaxC= 1.00D-01 BMatC= 2.30D-11 BMatP= 2.04D-10
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: 0.161D-04-0.330D-04-0.110D-03-0.174D-03-0.404D-04 0.141D-02
Coeff-Com: 0.357D-02 0.188D-02-0.246D-01-0.413D-01 0.291D-01 0.295D+00
Coeff-Com: 0.736D+00
Coeff: 0.161D-04-0.330D-04-0.110D-03-0.174D-03-0.404D-04 0.141D-02
Coeff: 0.357D-02 0.188D-02-0.246D-01-0.413D-01 0.291D-01 0.295D+00
Coeff: 0.736D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=1.48D-07 MaxDP=1.11D-05 DE=-3.03D-10 OVMax= 3.35D-06
Cycle 14 Pass 1 IDiag 1:
RMSU= 8.56D-08 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.94D-01
CP: 1.14D+00 1.01D+00 9.75D-01 1.28D+00 1.13D+00
CP: 9.72D-01 9.61D-01 1.19D+00
E= -1338.13869552160 Delta-E= -0.000000000073 Rises=F Damp=F
DIIS: error= 4.26D-08 at cycle 14 NSaved= 14.
NSaved=14 IEnMin=14 EnMin= -1338.13869552160 IErMin=14 ErrMin= 4.26D-08
ErrMax= 4.26D-08 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.06D-12 BMatP= 2.30D-11
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: -0.224D-06 0.104D-05-0.458D-05-0.163D-04-0.175D-04 0.700D-04
Coeff-Com: 0.520D-03 0.183D-02-0.455D-04-0.892D-02-0.205D-01-0.160D-01
Coeff-Com: 0.136D+00 0.907D+00
Coeff: -0.224D-06 0.104D-05-0.458D-05-0.163D-04-0.175D-04 0.700D-04
Coeff: 0.520D-03 0.183D-02-0.455D-04-0.892D-02-0.205D-01-0.160D-01
Coeff: 0.136D+00 0.907D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=5.74D-08 MaxDP=2.28D-06 DE=-7.32D-11 OVMax= 7.11D-07
Cycle 15 Pass 1 IDiag 1:
RMSU= 1.94D-08 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.94D-01
CP: 1.14D+00 1.01D+00 9.75D-01 1.28D+00 1.13D+00
CP: 9.72D-01 9.64D-01 1.31D+00 1.16D+00
E= -1338.13869552161 Delta-E= -0.000000000007 Rises=F Damp=F
DIIS: error= 1.38D-08 at cycle 15 NSaved= 15.
NSaved=15 IEnMin=15 EnMin= -1338.13869552161 IErMin=15 ErrMin= 1.38D-08
ErrMax= 1.38D-08 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.67D-13 BMatP= 1.06D-12
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: -0.911D-06 0.212D-05 0.356D-05 0.217D-05-0.762D-05-0.472D-04
Coeff-Com: 0.146D-04 0.671D-03 0.114D-02-0.165D-02-0.104D-01-0.246D-01
Coeff-Com: 0.158D-01 0.368D+00 0.651D+00
Coeff: -0.911D-06 0.212D-05 0.356D-05 0.217D-05-0.762D-05-0.472D-04
Coeff: 0.146D-04 0.671D-03 0.114D-02-0.165D-02-0.104D-01-0.246D-01
Coeff: 0.158D-01 0.368D+00 0.651D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=1.29D-08 MaxDP=7.38D-07 DE=-7.28D-12 OVMax= 1.98D-07
Cycle 16 Pass 1 IDiag 1:
RMSU= 6.75D-09 CP: 7.23D-01 1.10D+00 8.09D-01 7.95D-01 7.94D-01
CP: 1.14D+00 1.01D+00 9.75D-01 1.28D+00 1.13D+00
CP: 9.73D-01 9.62D-01 1.33D+00 1.16D+00 9.53D-01
E= -1338.13869552164 Delta-E= -0.000000000034 Rises=F Damp=F
DIIS: error= 3.96D-09 at cycle 16 NSaved= 16.
NSaved=16 IEnMin=16 EnMin= -1338.13869552164 IErMin=16 ErrMin= 3.96D-09
ErrMax= 3.96D-09 0.00D+00 EMaxC= 1.00D-01 BMatC= 1.45D-14 BMatP= 1.67D-13
IDIUse=1 WtCom= 1.00D+00 WtEn= 0.00D+00
Coeff-Com: -0.288D-06 0.586D-06 0.198D-05 0.371D-05-0.822D-06-0.278D-04
Coeff-Com: -0.818D-04-0.109D-04 0.413D-03 0.824D-03-0.318D-03-0.607D-02
Coeff-Com: -0.110D-01-0.278D-02 0.198D+00 0.821D+00
Coeff: -0.288D-06 0.586D-06 0.198D-05 0.371D-05-0.822D-06-0.278D-04
Coeff: -0.818D-04-0.109D-04 0.413D-03 0.824D-03-0.318D-03-0.607D-02
Coeff: -0.110D-01-0.278D-02 0.198D+00 0.821D+00
Gap= 0.283 Goal= None Shift= 0.000
RMSDP=3.95D-09 MaxDP=2.32D-07 DE=-3.37D-11 OVMax= 7.13D-08
SCF Done: E(RCAM-B3LYP) = -1338.13869552 A.U. after 16 cycles
NFock= 16 Conv=0.40D-08 -V/T= 2.0019
KE= 1.335552096557D+03 PE=-4.830202254705D+03 EE= 1.321061481664D+03
Leave Link 502 at Wed Nov 16 10:45:01 2022, MaxMem= 5637144576 cpu: 1812.2 elap: 98.3
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l601.exe)
Copying SCF densities to generalized density rwf, IOpCl= 0 IROHF=0.
**********************************************************************
Population analysis using the SCF Density.
**********************************************************************
Alpha occ. eigenvalues -- -101.62776-101.62288 -14.46638 -14.40015 -10.34827
Alpha occ. eigenvalues -- -10.33240 -10.33029 -10.31287 -10.29476 -10.27361
Alpha occ. eigenvalues -- -10.26661 -10.24720 -9.54544 -9.54038 -7.30914
Alpha occ. eigenvalues -- -7.30409 -7.29927 -7.29881 -7.29424 -7.29378
Alpha occ. eigenvalues -- -1.13462 -1.00824 -0.98819 -0.94637 -0.93079
Alpha occ. eigenvalues -- -0.88139 -0.84829 -0.80006 -0.74918 -0.71095
Alpha occ. eigenvalues -- -0.69188 -0.65003 -0.59483 -0.57671 -0.56713
Alpha occ. eigenvalues -- -0.55763 -0.53516 -0.52046 -0.51645 -0.49524
Alpha occ. eigenvalues -- -0.47807 -0.47056 -0.46517 -0.41783 -0.39463
Alpha occ. eigenvalues -- -0.38815 -0.37620 -0.36888 -0.35330 -0.29664
Alpha occ. eigenvalues -- -0.28575
Alpha virt. eigenvalues -- -0.00241 -0.00034 0.01770 0.02707 0.02916
Alpha virt. eigenvalues -- 0.03771 0.03900 0.04199 0.05572 0.05966
Alpha virt. eigenvalues -- 0.07141 0.07206 0.07932 0.08164 0.09207
Alpha virt. eigenvalues -- 0.09357 0.09520 0.10359 0.10735 0.11107
Alpha virt. eigenvalues -- 0.11154 0.11883 0.12129 0.12989 0.13565
Alpha virt. eigenvalues -- 0.14021 0.14224 0.15039 0.15180 0.15363
Alpha virt. eigenvalues -- 0.15708 0.16762 0.17085 0.17468 0.17750
Alpha virt. eigenvalues -- 0.18896 0.19463 0.19809 0.20400 0.20650
Alpha virt. eigenvalues -- 0.20746 0.21167 0.21821 0.22197 0.22591
Alpha virt. eigenvalues -- 0.22871 0.23425 0.23819 0.24391 0.25374
Alpha virt. eigenvalues -- 0.26333 0.26818 0.26898 0.27340 0.27930
Alpha virt. eigenvalues -- 0.29362 0.29722 0.29981 0.30208 0.30820
Alpha virt. eigenvalues -- 0.32217 0.32513 0.33091 0.33473 0.33874
Alpha virt. eigenvalues -- 0.34342 0.35419 0.36023 0.36512 0.36993
Alpha virt. eigenvalues -- 0.37718 0.38577 0.38811 0.39275 0.39609
Alpha virt. eigenvalues -- 0.39971 0.41551 0.41970 0.43059 0.44251
Alpha virt. eigenvalues -- 0.44598 0.45378 0.45577 0.47200 0.48146
Alpha virt. eigenvalues -- 0.48604 0.49324 0.50697 0.51298 0.51948
Alpha virt. eigenvalues -- 0.52371 0.53250 0.53512 0.54384 0.55123
Alpha virt. eigenvalues -- 0.55558 0.55666 0.55889 0.56571 0.57070
Alpha virt. eigenvalues -- 0.57802 0.58903 0.59238 0.59651 0.60561
Alpha virt. eigenvalues -- 0.61680 0.62285 0.63457 0.64149 0.64397
Alpha virt. eigenvalues -- 0.64567 0.65257 0.65347 0.65712 0.67137
Alpha virt. eigenvalues -- 0.68141 0.68625 0.69355 0.70102 0.70905
Alpha virt. eigenvalues -- 0.71213 0.72286 0.73260 0.73758 0.73986
Alpha virt. eigenvalues -- 0.75906 0.76929 0.77223 0.78008 0.78447
Alpha virt. eigenvalues -- 0.78810 0.79442 0.80267 0.80874 0.82004
Alpha virt. eigenvalues -- 0.83777 0.84770 0.85728 0.86115 0.87060
Alpha virt. eigenvalues -- 0.87566 0.87959 0.89314 0.90893 0.91656
Alpha virt. eigenvalues -- 0.93708 0.94573 0.95088 0.95592 0.96581
Alpha virt. eigenvalues -- 0.96865 1.00749 1.01352 1.02668 1.03219
Alpha virt. eigenvalues -- 1.03452 1.05252 1.06361 1.07065 1.07541
Alpha virt. eigenvalues -- 1.08381 1.10406 1.11274 1.12010 1.13895
Alpha virt. eigenvalues -- 1.15583 1.17665 1.20580 1.21700 1.23399
Alpha virt. eigenvalues -- 1.24158 1.24820 1.25351 1.26367 1.28210
Alpha virt. eigenvalues -- 1.28400 1.29328 1.30480 1.31873 1.32753
Alpha virt. eigenvalues -- 1.32805 1.33157 1.33696 1.34152 1.35536
Alpha virt. eigenvalues -- 1.38535 1.40567 1.41880 1.42806 1.45601
Alpha virt. eigenvalues -- 1.46892 1.47644 1.48322 1.49588 1.49920
Alpha virt. eigenvalues -- 1.50704 1.50964 1.53130 1.54420 1.55408
Alpha virt. eigenvalues -- 1.56417 1.56937 1.57473 1.60097 1.61772
Alpha virt. eigenvalues -- 1.62801 1.64685 1.68366 1.68694 1.70779
Alpha virt. eigenvalues -- 1.71313 1.75203 1.76885 1.77496 1.77930
Alpha virt. eigenvalues -- 1.79239 1.81445 1.83406 1.84244 1.85636
Alpha virt. eigenvalues -- 1.87213 1.88132 1.88858 1.91410 1.92914
Alpha virt. eigenvalues -- 1.94856 1.96642 1.97335 1.98626 1.98812
Alpha virt. eigenvalues -- 2.00317 2.03905 2.04974 2.06776 2.08592
Alpha virt. eigenvalues -- 2.10709 2.11681 2.13564 2.14203 2.15619
Alpha virt. eigenvalues -- 2.19045 2.21279 2.22510 2.23146 2.25738
Alpha virt. eigenvalues -- 2.27039 2.27873 2.29261 2.30579 2.33906
Alpha virt. eigenvalues -- 2.35356 2.36760 2.39967 2.44113 2.46144
Alpha virt. eigenvalues -- 2.50509 2.51317 2.56180 2.58103 2.59891
Alpha virt. eigenvalues -- 2.61141 2.62345 2.67004 2.70992 2.76415
Alpha virt. eigenvalues -- 2.79793 2.80663 2.83959 2.92373 2.96508
Alpha virt. eigenvalues -- 2.99466 3.04709 3.08317 3.09275 3.12512
Alpha virt. eigenvalues -- 3.18326 3.26712 3.28352 3.34398 3.37904
Alpha virt. eigenvalues -- 3.42633 3.45610 3.53938 3.77775 3.85943
Alpha virt. eigenvalues -- 4.47811
Condensed to atoms (all electrons):
1 2 3 4 5 6
1 Cl 17.352138 -0.053132 0.007059 -0.004566 -0.006234 -0.001567
2 Cl -0.053132 17.356495 -0.002668 0.009998 -0.007377 -0.000652
3 N 0.007059 -0.002668 7.809975 0.058975 -0.280995 -0.039641
4 N -0.004566 0.009998 0.058975 7.563748 0.414727 -0.304047
5 C -0.006234 -0.007377 -0.280995 0.414727 9.193671 -0.936154
6 C -0.001567 -0.000652 -0.039641 -0.304047 -0.936154 6.533084
7 C -0.574668 0.305915 -1.295831 -0.349191 -0.041876 0.229866
8 C 0.325087 -0.661540 -0.125613 -1.448197 -0.383408 0.136816
9 C -0.438748 0.852357 -0.122049 1.691740 -1.416850 -0.371684
10 C 0.417747 -0.511245 0.123909 -0.379937 0.234053 0.040213
11 C -0.434115 0.457160 -0.197077 0.101391 0.175188 0.077675
12 C 0.729930 -0.413396 1.758349 0.140594 -1.129103 -0.604767
13 H -0.156270 0.013338 -0.228586 -0.028052 0.245165 0.033644
14 H 0.014645 -0.179548 -0.012846 -0.331957 0.282800 0.026370
15 H 0.001168 -0.002888 0.006537 -0.429063 -0.498617 -0.035183
16 H -0.000015 -0.000143 0.149239 -0.160407 0.328685 -0.410977
17 H -0.000054 -0.000106 0.164649 0.115122 -0.184422 -0.110737
18 H -0.000291 0.000160 -0.326526 0.058928 0.971775 -0.709900
7 8 9 10 11 12
1 Cl -0.574668 0.325087 -0.438748 0.417747 -0.434115 0.729930
2 Cl 0.305915 -0.661540 0.852357 -0.511245 0.457160 -0.413396
3 N -1.295831 -0.125613 -0.122049 0.123909 -0.197077 1.758349
4 N -0.349191 -1.448197 1.691740 -0.379937 0.101391 0.140594
5 C -0.041876 -0.383408 -1.416850 0.234053 0.175188 -1.129103
6 C 0.229866 0.136816 -0.371684 0.040213 0.077675 -0.604767
7 C 33.422028 -6.093637 4.286054 -7.399272 7.360157 -27.091466
8 C -6.093637 32.259904 -27.991684 8.192848 -7.477652 4.512126
9 C 4.286054 -27.991684 65.335038 -18.107160 8.799293 -20.518239
10 C -7.399272 8.192848 -18.107160 22.146129 -8.875544 8.853127
11 C 7.360157 -7.477652 8.799293 -8.875544 20.689701 -15.602273
12 C -27.091466 4.512126 -20.518239 8.853127 -15.602273 60.589553
13 H 5.376857 -0.166337 0.634114 -0.828348 2.357289 -9.579742
14 H -0.114052 5.535960 -10.331338 2.815829 -0.846597 0.568474
15 H -0.182344 0.731366 -0.495750 0.062060 -0.043855 0.092292
16 H 0.055674 -0.031639 -0.014148 0.011344 -0.003393 -0.008399
17 H 0.092974 0.085742 -0.058115 0.004475 0.002555 -0.022595
18 H -0.108216 0.030899 0.058430 -0.013297 0.017787 -0.063388
13 14 15 16 17 18
1 Cl -0.156270 0.014645 0.001168 -0.000015 -0.000054 -0.000291
2 Cl 0.013338 -0.179548 -0.002888 -0.000143 -0.000106 0.000160
3 N -0.228586 -0.012846 0.006537 0.149239 0.164649 -0.326526
4 N -0.028052 -0.331957 -0.429063 -0.160407 0.115122 0.058928
5 C 0.245165 0.282800 -0.498617 0.328685 -0.184422 0.971775
6 C 0.033644 0.026370 -0.035183 -0.410977 -0.110737 -0.709900
7 C 5.376857 -0.114052 -0.182344 0.055674 0.092974 -0.108216
8 C -0.166337 5.535960 0.731366 -0.031639 0.085742 0.030899
9 C 0.634114 -10.331338 -0.495750 -0.014148 -0.058115 0.058430
10 C -0.828348 2.815829 0.062060 0.011344 0.004475 -0.013297
11 C 2.357289 -0.846597 -0.043855 -0.003393 0.002555 0.017787
12 C -9.579742 0.568474 0.092292 -0.008399 -0.022595 -0.063388
13 H 4.450086 0.047731 -0.006312 0.002472 0.003221 0.005461
14 H 0.047731 4.623715 0.058799 0.007183 0.002531 0.001767
15 H -0.006312 0.058799 2.280237 -0.021008 0.001801 0.002610
16 H 0.002472 0.007183 -0.021008 2.221590 -0.282179 -0.330050
17 H 0.003221 0.002531 0.001801 -0.282179 1.920840 -0.331467
18 H 0.005461 0.001767 0.002610 -0.330050 -0.331467 2.272343
Mulliken charges:
1
1 Cl -0.178113
2 Cl -0.162727
3 N -0.446862
4 N 0.280194
5 C -0.961027
6 C 2.447638
7 C -1.878973
8 C -1.431042
9 C 4.208739
10 C -0.786929
11 C -0.557689
12 C 3.788922
13 H -1.175731
14 H -1.169465
15 H -0.521850
16 H -0.513827
17 H -0.404234
18 H -0.537022
Sum of Mulliken charges = -0.00000
Mulliken charges with hydrogens summed into heavy atoms:
1
1 Cl -0.178113
2 Cl -0.162727
3 N -0.446862
4 N -0.241656
5 C -0.961027
6 C 0.992555
7 C -1.878973
8 C -1.431042
9 C 3.039273
10 C -0.786929
11 C -0.557689
12 C 2.613192
Electronic spatial extent (au): <R**2>= 7763.9825
Charge= -0.0000 electrons
Dipole moment (field-independent basis, Debye):
X= 2.7814 Y= 3.6252 Z= 3.3717 Tot= 5.6787
Quadrupole moment (field-independent basis, Debye-Ang):
XX= -68.5758 YY= -73.5266 ZZ= -61.4118
XY= 14.7606 XZ= 21.1909 YZ= 20.1020
Traceless Quadrupole moment (field-independent basis, Debye-Ang):
XX= -0.7378 YY= -5.6885 ZZ= 6.4263
XY= 14.7606 XZ= 21.1909 YZ= 20.1020
Octapole moment (field-independent basis, Debye-Ang**2):
XXX= -468.8761 YYY= -106.0164 ZZZ= -584.3883 XYY= -124.0403
XXY= 19.3355 XXZ= -140.7134 XZZ= -75.9117 YZZ= 36.2786
YYZ= -180.4060 XYZ= 79.4989
Hexadecapole moment (field-independent basis, Debye-Ang**3):
XXXX= -3231.7191 YYYY= -1908.7634 ZZZZ= -4125.3312 XXXY= -698.6380
XXXZ= -1098.7817 YYYX= -797.2647 YYYZ= -242.0609 ZZZX= -1006.4236
ZZZY= -55.7408 XXYY= -644.4755 XXZZ= -965.7185 YYZZ= -919.0404
XXYZ= 192.7856 YYXZ= -244.2360 ZZXY= -10.8434
N-N= 8.354499809625D+02 E-N=-4.830202254696D+03 KE= 1.335552096557D+03
No NMR shielding tensors so no spin-rotation constants.
Leave Link 601 at Wed Nov 16 10:45:02 2022, MaxMem= 5637144576 cpu: 11.2 elap: 1.1
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l602.exe)
FitSet: NAtFit= 18 NAtPot= 18 NAtFrz= 0 MDM= 22 TotChg= 0.00000
Breneman (CHELPG) radii used.
Generate Potential Derived Charges using the Breneman model, NDens= 1.
Grid spacing= 0.300 Box extension= 2.800
NStep X,Y,Z= 37 41 36 Total possible points= 54612
Number of Points to Fit= 11818
**********************************************************************
Electrostatic Properties Using The SCF Density.
**********************************************************************
Atomic Center 1 is at 0.529511 -1.626652 1.247344
Atomic Center 2 is at 0.362927 -1.511555 4.375374
Atomic Center 3 is at 3.703161 2.470259 1.679277
Atomic Center 4 is at 3.582138 2.531106 3.906529
Atomic Center 5 is at 4.112504 3.089530 2.782505
Atomic Center 6 is at 5.072999 4.218889 2.804341
Atomic Center 7 is at 2.860414 1.456338 2.124311
Atomic Center 8 is at 2.790648 1.491595 3.517643
Atomic Center 9 is at 2.019660 0.586857 4.234066
Atomic Center 10 is at 1.332677 -0.367923 3.533240
Atomic Center 11 is at 1.403867 -0.417396 2.127431
Atomic Center 12 is at 2.171295 0.490754 1.403730
Atomic Center 13 is at 2.221128 0.451516 0.476228
Atomic Center 14 is at 1.970539 0.627801 5.162607
Atomic Center 15 is at 3.801546 2.769374 4.720692
Atomic Center 16 is at 5.682386 4.106863 3.538439
Atomic Center 17 is at 4.594603 5.044583 2.908321
Atomic Center 18 is at 5.565634 4.235948 1.980819
11818 points will be used for fitting atomic charges
Fitting point charges to electrostatic potential
Charges from ESP fit, RMS= 0.00452 RRMS= 0.21699:
ESP charges:
1
1 Cl -0.122653
2 Cl -0.108213
3 N -0.692073
4 N -0.518559
5 C 0.519349
6 C -0.094444
7 C 0.399280
8 C 0.125796
9 C -0.215631
10 C 0.034945
11 C 0.110077
12 C -0.290326
13 H 0.190237
14 H 0.163761
15 H 0.364197
16 H 0.025465
17 H 0.040002
18 H 0.068788
Sum of ESP charges = 0.00000
ESP charges with hydrogens summed into heavy atoms:
1
1 Cl -0.122653
2 Cl -0.108213
3 N -0.692073
4 N -0.154361
5 C 0.519349
6 C 0.039811
7 C 0.399280
8 C 0.125796
9 C -0.051870
10 C 0.034945
11 C 0.110077
12 C -0.100089
Charge= 0.00000 Dipole= 2.8894 3.7629 3.3221 Tot= 5.7917
-----------------------------------------------------------------
Electrostatic Properties (Atomic Units)
-----------------------------------------------------------------
Center Electric -------- Electric Field --------
Potential X Y Z
-----------------------------------------------------------------
1 Atom -64.398562
2 Atom -64.393669
3 Atom -18.383446
4 Atom -18.311324
5 Atom -14.669547
6 Atom -14.778941
7 Atom -14.726083
8 Atom -14.707371
9 Atom -14.753011
10 Atom -14.687413
11 Atom -14.688957
12 Atom -14.760543
13 Atom -1.078349
14 Atom -1.065572
15 Atom -0.965594
16 Atom -1.073607
17 Atom -1.075287
18 Atom -1.081172
-----------------------------------------------------------------
Leave Link 602 at Wed Nov 16 10:45:03 2022, MaxMem= 5637144576 cpu: 7.3 elap: 0.7
(Enter /opt/ohpc/pub/apps/gaussian/16b01/g16/l9999.exe)
1\1\GINC-N06\SP\RCAM-B3LYP\Aug-CC-pVDZ\C8H6Cl2N2\TERTIUS\16-Nov-2022\0
\\#p cam-b3lyp/aug-cc-pVDZ POP=CHELPG density=current NoSymm\\DAST UAE
nvolvida passo 15\\0,1\Cl,0,0.529511,-1.626652,1.247344\Cl,0,0.362927,
-1.511555,4.375374\N,0,3.703161,2.470259,1.679277\N,0,3.582138,2.53110
6,3.906529\C,0,4.112504,3.08953,2.782505\C,0,5.072999,4.218889,2.80434
1\C,0,2.860414,1.456338,2.124311\C,0,2.790648,1.491595,3.517643\C,0,2.
01966,0.586857,4.234066\C,0,1.332677,-0.367923,3.53324\C,0,1.403867,-0
.417396,2.127431\C,0,2.171295,0.490754,1.40373\H,0,2.221128,0.451516,0
.476228\H,0,1.970539,0.627801,5.162607\H,0,3.801546,2.769374,4.720692\
H,0,5.682386,4.106863,3.538439\H,0,4.594603,5.044583,2.908321\H,0,5.56
5634,4.235948,1.980819\\Version=ES64L-G16RevB.01\HF=-1338.1386955\RMSD
=3.953e-09\Dipole=1.094298,1.4262771,1.3265347\Quadrupole=-0.5485058,-
4.2292934,4.7777992,10.9741706,15.7548816,14.9453149\PG=C01 [X(C8H6Cl2
N2)]\\@
WE LEARN WISDOM FROM FAILURE MUCH MORE THAN FROM SUCCESS.
WE DISCOVER WHAT WILL DO BY FINDING OUT WHAT WILL NOT DO...
AND HE WHO NEVER MADE A MISTAKE NEVER MADE A DISCOVERY
Job cpu time: 0 days 0 hours 31 minutes 46.5 seconds.
Elapsed time: 0 days 0 hours 1 minutes 45.7 seconds.
File lengths (MBytes): RWF= 63 Int= 0 D2E= 0 Chk= 8 Scr= 1
Normal termination of Gaussian 16 at Wed Nov 16 10:45:03 2022.

17
Pipfile Normal file
View File

@@ -0,0 +1,17 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
setproctitle = "*"
pyyaml = "*"
nptyping = "*"
numpy = "*"
[dev-packages]
coverage = "*"
[requires]
python_version = "3.8"
python_full_version = "3.8.16"

254
Pipfile.lock generated Normal file
View File

@@ -0,0 +1,254 @@
{
"_meta": {
"hash": {
"sha256": "7b0193638342cd1d1a10b4ab84d0a955c850a7d8015c64c7a807fd46865444cf"
},
"pipfile-spec": 6,
"requires": {
"python_full_version": "3.8.16",
"python_version": "3.8"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"nptyping": {
"hashes": [
"sha256:23e8164b1e2c55e872f392ca7516b9b1b0cb400b03b70accaa63998b4106b0b3",
"sha256:57ba684ee5fc5eb681ee04270ee94adb879e4372ce6b640defa08ace8e1df295"
],
"index": "pypi",
"version": "==2.4.1"
},
"numpy": {
"hashes": [
"sha256:0104d8adaa3a4cc60c2777cab5196593bf8a7f416eda133be1f3803dd0838886",
"sha256:0885d9a7666cafe5f9876c57bfee34226e2b2847bfb94c9505e18d81011e5401",
"sha256:12bba5561d8118981f2f1ff069ecae200c05d7b6c78a5cdac0911f74bc71cbd1",
"sha256:2f8e0df2ecc1928ef7256f18e309c9d6229b08b5be859163f5caa59c93d53646",
"sha256:4445f472b246cad6514cc09fbb5ecb7aab09ca2acc3c16f29f8dca6c468af501",
"sha256:4d01f7832fa319a36fd75ba10ea4027c9338ede875792f7bf617f4b45056fc3a",
"sha256:4f5e78b8b710cd7cd1a8145994cfffc6ddd5911669a437777d8cedfce6c83a98",
"sha256:667b5b1f6a352419e340f6475ef9930348ae5cb7fca15f2cc3afcb530823715e",
"sha256:6e73a1f4f5b74a42abb55bc2b3d869f1b38cbc8776da5f8b66bf110284f7a437",
"sha256:73cf2c5b5a07450f20a0c8e04d9955491970177dce8df8d6903bf253e53268e0",
"sha256:7ad6a024a32ee61d18f5b402cd02e9c0e22c0fb9dc23751991b3a16d209d972e",
"sha256:8b1ddfac6a82d4f3c8e99436c90b9c2c68c0bb14658d1684cdd00f05fab241f5",
"sha256:90075ef2c6ac6397d0035bcd8b298b26e481a7035f7a3f382c047eb9c3414db0",
"sha256:9387c7d6d50e8f8c31e7bfc034241e9c6f4b3eb5db8d118d6487047b922f82af",
"sha256:9af91f794d2d3007d91d749ebc955302889261db514eb24caef30e03e8ec1e41",
"sha256:ab11f6a7602cf8ea4c093e091938207de3068c5693a0520168ecf4395750f7ea",
"sha256:ac4fe68f1a5a18136acebd4eff91aab8bed00d1ef2fdb34b5d9192297ffbbdfc",
"sha256:ada6c1e9608ceadaf7020e1deea508b73ace85560a16f51bef26aecb93626a72",
"sha256:c4ab7c9711fe6b235e86487ca74c1b092a6dd59a3cb45b63241ea0a148501853",
"sha256:cec79ff3984b2d1d103183fc4a3361f5b55bbb66cb395cbf5a920a4bb1fd588d",
"sha256:cf8960f72997e56781eb1c2ea256a70124f92a543b384f89e5fb3503a308b1d3",
"sha256:d7f223554aba7280e6057727333ed357b71b7da7422d02ff5e91b857888c25d1",
"sha256:dbb0490f0a880700a6cc4d000384baf19c1f4df59fff158d9482d4dbbca2b239",
"sha256:e63d2157f9fc98cc178870db83b0e0c85acdadd598b134b00ebec9e0db57a01f",
"sha256:ec3e5e8172a0a6a4f3c2e7423d4a8434c41349141b04744b11a90e017a95bad5",
"sha256:f3c4a9a9f92734a4728ddbd331e0124eabbc968a0359a506e8e74a9b0d2d419b",
"sha256:f9168790149f917ad8e3cf5047b353fefef753bd50b07c547da0bdf30bc15d91",
"sha256:fe44e925c68fb5e8db1334bf30ac1a1b6b963b932a19cf41d2e899cf02f36aab"
],
"index": "pypi",
"version": "==1.24.0"
},
"pyyaml": {
"hashes": [
"sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf",
"sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293",
"sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b",
"sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57",
"sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b",
"sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4",
"sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07",
"sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba",
"sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9",
"sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287",
"sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513",
"sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0",
"sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782",
"sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0",
"sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92",
"sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f",
"sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2",
"sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc",
"sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1",
"sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c",
"sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86",
"sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4",
"sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c",
"sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34",
"sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b",
"sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d",
"sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c",
"sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb",
"sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7",
"sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737",
"sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3",
"sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d",
"sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358",
"sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53",
"sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78",
"sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803",
"sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a",
"sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f",
"sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174",
"sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
],
"index": "pypi",
"version": "==6.0"
},
"setproctitle": {
"hashes": [
"sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b",
"sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9",
"sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31",
"sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83",
"sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f",
"sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca",
"sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494",
"sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe",
"sha256:2a97d51c17d438cf5be284775a322d57b7ca9505bb7e118c28b1824ecaf8aeaa",
"sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172",
"sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084",
"sha256:37ece938110cab2bb3957e3910af8152ca15f2b6efdf4f2612e3f6b7e5459b80",
"sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4",
"sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1",
"sha256:4bba3be4c1fabf170595b71f3af46c6d482fbe7d9e0563999b49999a31876f77",
"sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c",
"sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973",
"sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c",
"sha256:570d255fd99c7f14d8f91363c3ea96bd54f8742275796bca67e1414aeca7d8c3",
"sha256:587c7d6780109fbd8a627758063d08ab0421377c0853780e5c356873cdf0f077",
"sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202",
"sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5",
"sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65",
"sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18",
"sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13",
"sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005",
"sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02",
"sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7",
"sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665",
"sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f",
"sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1",
"sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989",
"sha256:88486e6cce2a18a033013d17b30a594f1c5cb42520c49c19e6ade40b864bb7ff",
"sha256:8e4f8f12258a8739c565292a551c3db62cca4ed4f6b6126664e2381acb4931bf",
"sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827",
"sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42",
"sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927",
"sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122",
"sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9",
"sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f",
"sha256:a8e0881568c5e6beff91ef73c0ec8ac2a9d3ecc9edd6bd83c31ca34f770910c4",
"sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d",
"sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98",
"sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796",
"sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb",
"sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd",
"sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe",
"sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806",
"sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484",
"sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e",
"sha256:ca58cd260ea02759238d994cfae844fc8b1e206c684beb8f38877dcab8451dfc",
"sha256:d7d17c8bd073cbf8d141993db45145a70b307385b69171d6b54bcf23e5d644de",
"sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575",
"sha256:db684d6bbb735a80bcbc3737856385b55d53f8a44ce9b46e9a5682c5133a9bf7",
"sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76",
"sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246",
"sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb",
"sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099",
"sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c",
"sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258",
"sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865",
"sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b",
"sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d",
"sha256:e932089c35a396dc31a5a1fc49889dd559548d14cb2237adae260382a090382e",
"sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10",
"sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f",
"sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94",
"sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6",
"sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963",
"sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4",
"sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8",
"sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761"
],
"index": "pypi",
"version": "==1.3.2"
},
"typing-extensions": {
"hashes": [
"sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa",
"sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"
],
"markers": "python_version < '3.10'",
"version": "==4.4.0"
}
},
"develop": {
"coverage": {
"hashes": [
"sha256:0a8b0e86bede874bf5da566b02194fbb12dd14ce3585cabd58452007f272ba81",
"sha256:100546219af59d2ad82d4575de03a303eb27b75ea36ffbd1677371924d50bcbc",
"sha256:10b6246cae61896ab4c7568e498e492cbb73a2dfa4c3af79141c43cf806f929a",
"sha256:215f40ef86f1958a1151fa7fad2b4f2f99534c4e10a34a1e065eba3f19ef8868",
"sha256:2331b7bd84a1be79bd17ca8e103ce38db8cbf7cb354dc56e651ba489cf849212",
"sha256:30220518dd89c4878908d73f5f3d1269f86e9e045354436534587a18c7b9da85",
"sha256:32b94ad926e933976627f040f96dd1d9b0ac91f8d27e868c30a28253b9b6ac2d",
"sha256:33efe89cd0efef016db19d8d05aa46631f76793de90a61b6717acb202b36fe60",
"sha256:36b62f0220459e528ad5806cc7dede71aa716e067d2cb10cb4a09686b8791fba",
"sha256:3c0deee68e0dae1d6e3fe6943c76d7e66fbeb6519bd08e4e5366bcc28a8a9aca",
"sha256:3ec256a592b497f26054195f7d7148892aca8c4cdcc064a7cc66ef7a0455b811",
"sha256:43ec1935c6d6caab4f3bc126d20bd709c0002a175d62208ebe745be37a826a41",
"sha256:5885a4ceb6dde34271bb0adafa4a248a7f589c89821e9da3110c39f92f41e21b",
"sha256:59e71912c7fc78d08a567ee65656123878f49ca1b5672e660ea70bf8dfbebf8f",
"sha256:793dcd9d42035746fc7637df4336f7581df19d33c5c5253cf988c99d8e93a8ba",
"sha256:8593c9baf1f0f273afa22f5b45508b76adc7b8e94e17e7d98fbe1e3cd5812af2",
"sha256:8938f3a10f45019b502020ba9567b97b6ecc8c76b664b421705c5406d4f92fe8",
"sha256:8dbf83a4611c591b5de65069b6fd4dd3889200ed270cd2f7f5ac765d3842889f",
"sha256:8f1e6d9c70d45a960d3f3d781ea62b167fdf2e0e1f6bb282b96feea653adb923",
"sha256:96b5b1f1079e48f56bfccf103bcf44d48b9eb5163f1ea523fad580f15d3fe5e0",
"sha256:97c0b001ff15b8e8882995fc07ac0a08c8baf8b13c1145f3f12e0587bbb0e335",
"sha256:9a175da2a7320e18fc3ee1d147639a2b3a8f037e508c96aa2da160294eb50e17",
"sha256:9fadd15f9fcfd7b16d9cccce9f5e6ec6f9b8df860633ad9aa62c2b14c259560f",
"sha256:a290b7921c1c05787b953e5854d394e887df40696f21381cc33c4e2179bf50ac",
"sha256:a30b646fbdd5bc52f506e149fa4fbdef82432baf6b81774e61ec4e3b43b9cbde",
"sha256:a6fff0f08bc5ffd0d78db821971472b4adc2ee876b86f743e46d634fb8e3c22f",
"sha256:a7e1bb36b4e57a2d304322021b35d4e4a25fa0d501ba56e8e51efaebf4480556",
"sha256:a8785791c2120af114ea7a06137f7778632e568a5aa2bbfc3b46c573b702af74",
"sha256:ae088eb1cbdad8206931b1bf3f11dee644e038a9300be84d3e705e29356e5b1d",
"sha256:b18df11efa615b79b9ecc13035a712957ff6283f7b244e57684e1c092869f541",
"sha256:b8f7cd942dda3795fc9eadf303cc53a422ac057e3b70c2ad6d4276ec6a83a541",
"sha256:bc904aa96105d73357de03de76336b1e3db28e2b12067d36625fd9646ab043fd",
"sha256:bcaf18e46668057051a312c714a4548b81f7e8fb3454116ad97be7562d2a99e4",
"sha256:bf437a04b9790d3c9cd5b48e9ce9aa84229040e3ae7d6c670a55118906113c5a",
"sha256:c1ba6e63b831112b9484ff5905370d89e43d4316bac76d403031f60d61597466",
"sha256:c4b63888bef2928d0eca12cbce0760cfb696acb4fe226eb55178b6a2a039328a",
"sha256:c685fc17d6f4f1a3833e9dac27d0b931f7ccb52be6c30d269374203c7d0204a2",
"sha256:cda63459eb20652b22e038729a8f5063862c189a3963cb042a764b753172f75e",
"sha256:d43d406a4d73aa7f855fa44fa77ff47e739b565b2af3844600cdc016d01e46b9",
"sha256:d564142a03d3bc8913499a458e931b52ddfe952f69b6cd4b24d810fd2959044a",
"sha256:d6b4af31fb49a2ae8de1cd505fa66c403bfcc5066e845ac19d8904dcfc9d40da",
"sha256:db8141856dc9be0917413df7200f53accf1d84c8b156868e6af058a1ea8e903a",
"sha256:de06e7585abe88c6d38c1b73ce4c3cb4c1a79fbb0da0d0f8e8689ef5729ec60d",
"sha256:e06abac1a4aec1ff989131e43ca917fc7bd296f34bf0cfe86cbf74343b21566d",
"sha256:e645c73cbfc4577d93747d3f793115acf6f907a7eb9208fa807fdcf2da1964a4",
"sha256:e907db8bdd0ad1253a33c20fdc5f0f6209d271114a9c6f1fcdf96617343f7ca0",
"sha256:f2569682d6ea9628da8d6ba38579a48b1e53081226ec7a6c82b5024b3ce5009f",
"sha256:f6a4bf5bdee93f6817797beba7086292c2ebde6df0d5822e0c33f8b05415c339",
"sha256:f9071e197faa24837b967bc9aa0b9ef961f805a75f1ee3ea1f3367f55cd46c3c",
"sha256:fb85b7a7a4b204bd59d6d0b0c8d87d9ffa820da225e691dfaffc3137dc05b5f6",
"sha256:fee283cd36c3f14422d9c1b51da24ddbb5e1eed89ad2480f6a9f115df38b5df8"
],
"index": "pypi",
"version": "==7.0.0"
}
}
}

8
config.example.yml Normal file
View File

@@ -0,0 +1,8 @@
crystal_pol:
mem: 42
n_procs: 20
level: "b3lyp/aug-cc-pVDZ"
pop: "chelpg"
mult: [0, 1]
n_atoms: 18
comment: "DC-MBI UAEnvolvida"

View File

@@ -1,10 +1,10 @@
%mem=42GB
%Nprocs=20
#p cam-b3lyp/aug-cc-pVDZ POP=CHELPG density=current NoSymm CHARGE
#p ${LEVEL} POP=${POP} density=current NoSymm (CHARGE - A partir do segundo)
DC-MBI UAEnvolvida passo 1
${COMMENTARY} passo 1
0 1
${MULT}
Cl 0.529511 -1.626652 1.247344
Cl 0.362927 -1.511555 4.375374
N 3.703161 2.470259 1.679277
@@ -24,7 +24,6 @@ H 5.682386 4.106863 3.538439
H 4.594603 5.044583 2.908321
H 5.565634 4.235948 1.980819
Cl -13.708489 -7.313252 -9.150656
Cl -13.875073 -7.198155 -6.022626
N -10.534839 -3.216341 -8.718723

1944
crystal.xyz Normal file

File diff suppressed because it is too large Load Diff

0
crystalpol/__init__.py Normal file
View File

62
crystalpol/__main__.py Normal file
View File

@@ -0,0 +1,62 @@
from crystalpol.polarization import Polarization
from crystalpol.shared.config import Config
from yaml.loader import SafeLoader
import yaml
import setproctitle
import argparse
import os
__VERSION = "v0.0.1"
os.nice(+19)
setproctitle.setproctitle("crystalpol-{}".format(__VERSION))
def main():
"""
Read and store the arguments passed to the program
and set the usage and help messages.
"""
parser = argparse.ArgumentParser(prog="CrystalPol")
parser.add_argument(
"-v", "--version", action="version", version=f"crystalpol-{__VERSION}"
)
parser.add_argument(
"-c", "--config",
dest="config",
default="config.yml",
metavar="INFILE",
help="Config file of crystalpol [default = config.yml]"
)
parser.add_argument(
"-i", "--input",
dest="infile",
default="crystal.xyz",
metavar="INFILE",
help="Input file of crystalpol [default = crystal.xyz]"
)
parser.add_argument(
"-o", "--output",
dest="outfile",
default="run.log",
metavar="OUTFILE",
help="Output file of crystalpol [default = run.log]"
)
args = parser.parse_args()
try:
with open(args.config) as file:
data = yaml.load(file, Loader=SafeLoader)
config = Config(**data.get('crystal_pol'))
except IOError:
raise RuntimeError('Invalid or Missing Config File.')
pol = Polarization(args.infile, args.outfile, config)
pol.run()
if __name__ == "__main__":
main()

114
crystalpol/gaussian.py Normal file
View File

@@ -0,0 +1,114 @@
from crystalpol.shared.utils.ptable import atom_symbol
from crystalpol.shared.system.crystal import Crystal
from crystalpol.shared.config import Config
from pathlib import Path, PosixPath
from typing import TextIO
import subprocess
import textwrap
import shutil
import os
class Gaussian:
__slots__ = ('qmprog', 'config', 'keywords')
def __init__(self, config: Config) -> None:
self.qmprog = "g16"
self.config = config
self.check_keyword()
def check_keyword(self):
if self.config.pop not in ["chelpg", "mk", "nbo"]:
self.config.pop = "chelpg"
def run(self, cycle: int, crystal: Crystal) -> None:
file = Path("simfiles", f"crystal-{str(cycle).zfill(2)}.gjf")
self.make_gaussian_input(cycle, file, crystal)
if shutil.which("bash") is not None:
exit_status = subprocess.call(
[
"bash",
"-c",
"exec -a {}-step{} {} {}".format(
self.qmprog, cycle, self.qmprog, file.name
),
]
)
else:
exit_status = subprocess.call([self.qmprog, file.name])
if exit_status != 0:
raise RuntimeError("Gaussian process did not exit properly")
return self.read_charges_from_gaussian_output()
def create_simulation_dir(self):
if not os.path.exists(self.config.simulation_dir):
os.makedirs(self.config.simulation_dir)
else:
raise RuntimeError(
f"Simulation directory '{self.config.simulation_dir}' already exists. "
f"Please remove it before proceeding."
)
def make_gaussian_input(self, cycle: int, file: PosixPath, crystal: Crystal) -> str:
with open(file, 'w+') as fh:
fh.write(f"%Mem={self.config.mem}MB\n")
fh.write(f"%Nprocs={self.config.n_procs}\n")
kwords_line = f"#P {self.config.level} " \
f"Pop = {self.config.pop} " \
f"Density = Current " \
f"NoSymm "
if cycle > 1:
kwords_line += f"charge"
fh.write(textwrap.fill(kwords_line, 90))
fh.write("\n")
fh.write(f"\n{self.config.comment} - Cycle number {cycle}\n")
fh.write("\n")
fh.write(f"{self.config.mult[0]}, {self.config.mult[1]}\n")
for atom in crystal[0][0]:
symbol = atom_symbol[atom.na]
fh.write(
f"{symbol:<2s} "
f"{atom.rx:>10.5f} "
f"{atom.ry:>10.5f} "
f"{atom.rz:>10.5f}\n"
)
if cycle > 1:
self.make_gaussian_charges(fh, crystal)
fh.seek(0)
return fh.read()
def make_gaussian_charges(self, fh: TextIO, crystal: Crystal) -> None:
fh.write("\n")
for index_cell, cell in enumerate(crystal):
for index_mol, molecule in enumerate(cell):
if (index_cell == 0 and index_mol != 0) or (index_cell != 0):
for atom in molecule:
symbol = atom_symbol[atom.na]
fh.write(
f"{symbol:<2s} "
f"{atom.rx:>10.5f} "
f"{atom.ry:>10.5f} "
f"{atom.rz:>10.5f}\n"
)
def read_charges_from_gaussian_output(self) -> None:
pass

View File

@@ -0,0 +1,74 @@
import os
from crystalpol.shared.system.molecule import Molecule
from crystalpol.shared.system.crystal import Crystal
from crystalpol.shared.system.atom import Atom
from crystalpol.shared.config import Config
from crystalpol.gaussian import Gaussian
from typing import List
class Polarization:
__slots__ = ('geom_file', 'outfile', 'config', 'gaussian', 'crystal')
def __init__(self, geom_file: str, outfile: str, config: Config) -> None:
self.crystal = None
self.geom_file = geom_file
self.outfile = outfile
self.config = config
self.gaussian = Gaussian(config)
def run(self):
self.read_crystal()
self.gaussian.run(1, self.crystal)
def read_crystal(self) -> None:
with open(self.geom_file, 'r') as geom_file:
lines = geom_file.readlines()
molecules = self._get_molecules_from_lines(lines)
structure = self._get_crystal_structure(molecules[0])
self.crystal = Crystal([structure])
for molecule in molecules:
self.crystal.add_cell([molecule])
def _get_molecules_from_lines(self, lines: List[str]) -> List[Molecule]:
if (len(lines) % self.config.n_atoms) == 0:
molecules: List[Molecule] = []
for index, molecule in enumerate(split(lines, self.config.n_atoms)):
mol = Molecule(f"Molecule-{index}")
for atom_line in molecule:
symbol, rx, ry, rz = tuple(atom_line.split())
mol.add_atom(
Atom(
rx, ry, rz,
symbol=symbol.ljust(2),
)
)
molecules.append(mol)
return molecules
else:
raise RuntimeError(
"Invalid Geom File, the number of atoms doesn't match the number of lines."
)
@staticmethod
def _get_crystal_structure(molecule: Molecule) -> List[str]:
structure: List[str] = []
for atom in molecule:
structure.append(atom.symbol)
return structure
def split(array: List, partitions: int):
for i in range(0, len(array), partitions):
yield array[i: i + partitions]

View File

View File

@@ -0,0 +1 @@
from .config import Config

View File

@@ -0,0 +1,42 @@
from dataclasses import dataclass, field, fields
@dataclass
class Config:
mem: int
level: str
n_atoms: int
n_procs: int = 1
pop: str = "chelpg"
comment: str = "crystalpol"
simulation_dir = "simfiles"
mult: list = \
field(default_factory=lambda: [0, 1])
def __post_init__(self):
for field in fields(self):
value = getattr(self, field.name)
if not isinstance(value, field.type):
raise ValueError(
f'Expected {field.name} to be {field.type}, '
f'got {repr(value)}'
)
if self.mem is None or self.mem <= 0:
raise ValueError(
f'Invalid value for mem: {self.mem},'
f'Memory must be a integer greater than 0.'
)
if self.level is None:
raise ValueError(
f'Invalid value for level. Level must not be none.'
)
if self.n_atoms is None or self.n_atoms <= 0:
raise ValueError(
f'Invalid value for n_atoms: {self.mem},'
f'Number of Atoms must be a integer greater than 0.'
)

View File

View File

@@ -0,0 +1,46 @@
from crystalpol.shared.utils.ptable import atom_mass, atom_symbol
class Atom:
"""
Atom class declaration. This class is used throughout the DicePlayer program to represent atoms.
Attributes:
na (int): Atomic number of the represented atom.
symbol (str): Atomic symbol of the represented atom.
rx (float): x cartesian coordinates of the represented atom.
ry (float): y cartesian coordinates of the represented atom.
rz (float): z cartesian coordinates of the represented atom.
"""
def __init__(
self,
rx: float,
ry: float,
rz: float,
na: int = None,
symbol: str = None,
) -> None:
"""
The constructor function __init__ is used to create new instances of the Atom class.
Args:
na (int): Atomic number of the represented atom.
symbol (str): Atomic symbol of the represented atom.
rx (float): x cartesian coordinates of the represented atom.
ry (float): y cartesian coordinates of the represented atom.
rz (float): z cartesian coordinates of the represented atom.
"""
if na is not None:
self.na = na
self.symbol = atom_symbol[self.na]
if symbol is not None and symbol in atom_symbol:
self.symbol = symbol
self.na = atom_symbol.index(self.symbol)
self.rx = rx
self.ry = ry
self.rz = rz
self.chg = None
self.mass = atom_mass[self.na]

View File

@@ -0,0 +1,43 @@
from crystalpol.shared.system.molecule import Molecule
from typing import List
class Crystal:
"""
This class represents a crystal, it will be organized in a list structure.
Each element is a unitary cell in the crystal. And this unitary cell will have
Molecules in it.
"""
def __init__(self, structure: List[List[str]]):
self.structure = structure
self.cells = []
def __iter__(self):
for cell in self.cells:
yield cell
def __len__(self):
return len(self.cells)
def __getitem__(self, index):
return self.cells[index]
def add_cell(self, cell: List[Molecule]) -> None:
valid = self._is_valid_cell(cell)
if not valid:
raise ValueError(
"This cell does not obey the declared format for this Crystal."
)
else:
self.cells.append(cell)
def _is_valid_cell(self, cell: List[Molecule]) -> bool:
if len(cell) == len(self.structure):
for i, molecule in enumerate(cell):
if len(molecule.atoms) == len(self.structure[i]) \
and all(atom.symbol == self.structure[i][j] for j, atom in enumerate(molecule.atoms)):
return True
return False

View File

@@ -0,0 +1,88 @@
from crystalpol.shared.system.atom import Atom
from crystalpol.shared.utils.ptable import atom_symbol
from typing import Final, List, TextIO
import math
""" Constants of unit conversion """
BOHR2ANG: Final[float] = 0.52917721092
ANG2BOHR: Final[float] = 1 / BOHR2ANG
class Molecule:
"""
Molecule class declaration. This class is used throughout the DicePlayer program to represent molecules.
Atributes:
molname (str): The name of the represented molecule
atom (List[Atom]): List of atoms of the represented molecule
position (NDArray[Any, Any]): The position relative to the internal atoms of the represented molecule
energy (NDArray[Any, Any]): The energy of the represented molecule
gradient (NDArray[Any, Any]): The first derivative of the energy relative to the position
hessian (NDArray[Any, Any]): The second derivative of the energy relative to the position
total_mass (int): The total mass of the molecule
com (NDArray[Any, Any]): The center of mass of the molecule
"""
__slots__ = (
'mol_name',
'atoms',
'position',
'energy',
'gradient',
'hessian',
'total_mass',
'com'
)
def __init__(self, mol_name: str) -> None:
"""
The constructor function __init__ is used to create new instances of the Molecule class.
Args:
mol_name (str): Molecule name
"""
self.mol_name: str = mol_name
self.atoms: List[Atom] = []
def __iter__(self):
for atom in self.atoms:
yield atom
def add_atom(self, a: Atom) -> None:
"""
Adds Atom instance to the molecule.
Args:
a (Atom): Atom instance to be added to atom list.
"""
self.atoms.append(a)
def update_charges(self, charges: List[float]) -> None:
if len(charges) != len(self.atoms):
raise ValueError(
f"The number of charges ({len(charges)}) does not match the number of atoms ({len(self.atoms)})"
)
for i, atom in enumerate(self.atoms):
atom.chg = charges[i]
def print_mol_info(self, fh: TextIO) -> None:
"""
Prints the Molecule information into a Output File
Args:
fh (TextIO): Output File
"""
fh.write("-"*80)
fh.write(f"Molecule Name: {self.mol_name}\n")
fh.write("\n")
for atom in self.atoms:
fh.write(f"{atom_symbol[atom.na]} r: [{atom.rx}, {atom.ry}, {atom.rz}] charge: {atom.chg}")

View File

View File

@@ -0,0 +1,34 @@
# Tuple of atom symbols
atom_symbol = ("00",
"H ", "He",
"Li", "Be", "B ", "C ", "N ", "O ", "F ", "Ne",
"Na", "Mg", "Al", "Si", "P ", "S ", "Cl", "Ar",
"K ", "Ca", "Sc", "Ti", "V ", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br",
"Kr",
"Rb", "Sr", "Y ", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I ",
"Xe",
"Cs", "Ba",
"La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",
"Hf", "Ta", "W ", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Ti", "Pb", "Bi", "Po", "At", "Rn",
"Fr", "Ra",
"Ac", "Th", "Pa", "U ", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr")
# Tuple of atom masses
atom_mass = (0.0,
1.0079, 4.0026,
6.9410, 9.0122, 10.811, 12.011, 14.007, 15.999, 18.998, 20.180,
22.990, 24.305, 26.982, 28.086, 30.974, 32.065, 35.453, 39.948,
39.098, 40.078, 44.956, 47.867, 50.942, 51.996, 54.938, 55.845, 58.933, 58.693, 63.546, 65.409, 69.723,
72.640, 74.922, 78.960, 79.904, 83.798,
85.468, 87.620, 88.906, 91.224, 92.906, 95.940, 98.000, 101.07, 102.91, 106.42, 107.87, 112.41, 114.82,
118.71, 121.76, 127.60, 126.90, 131.29,
132.91, 137.33,
138.91, 140.12, 140.91, 144.24, 145.00, 150.36, 151.96, 157.25, 158.93, 162.50, 164.93, 167.26, 168.93,
173.04, 174.97,
178.49, 180.95, 183.84, 186.21, 190.23, 192.22, 195.08, 196.97, 200.59, 204.38, 207.20, 208.98, 209.00,
210.00, 222.00,
223.00, 226.00,
227.00, 232.04, 231.04, 238.03, 237.00, 244.00, 243.00, 247.00, 247.00, 251.00, 252.00, 257.00, 258.00,
259.00, 262.00)

0
tests/__init__.py Normal file
View File

0
tests/shared/__init__.py Normal file
View File

View File

View File

@@ -0,0 +1,21 @@
from crystalpol.shared.config import Config
import unittest
class TestConfig(unittest.TestCase):
def test_class_instantiation(self):
config = Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
self.assertIsInstance(config, Config)
def test_config_raises_exception(self):
with self.assertRaises(ValueError):
Config(
mem="1",
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)

View File

View File

@@ -0,0 +1,19 @@
from crystalpol.shared.system.atom import Atom
import unittest
class TestAtom(unittest.TestCase):
def test_atom_instantiation(self):
atom = Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
self.assertIsInstance(atom, Atom)
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,102 @@
import unittest
from crystalpol.shared.system.atom import Atom
from crystalpol.shared.system.crystal import Crystal
from crystalpol.shared.system.molecule import Molecule
class TestCrystal(unittest.TestCase):
def test_class_instantiation(self):
# Note that this is not a valid crystal
crystal_structure = [
['H']
]
crystal = Crystal(crystal_structure)
self.assertIsInstance(crystal, Crystal)
def test_is_valid_cell(self):
crystal_structure = [
['H ']
]
crystal = Crystal(crystal_structure)
molecule = Molecule("TESTE")
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
self.assertTrue(crystal._is_valid_cell([molecule]))
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
self.assertFalse(crystal._is_valid_cell([molecule]))
def test_add_cell(self):
# Note that this is not a valid crystal
crystal_structure = [
['H ']
]
crystal = Crystal(crystal_structure)
molecule = Molecule("TESTE")
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
crystal.add_cell([molecule])
self.assertIsInstance(crystal, Crystal)
def test_add_cell_raises_exception(self):
# Note that this is not a valid crystal
crystal_structure = [
['H ']
]
crystal = Crystal(crystal_structure)
molecule = Molecule("TESTE")
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
with self.assertRaises(ValueError):
crystal.add_cell([molecule])
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,87 @@
from crystalpol.shared.system.molecule import Molecule
from crystalpol.shared.system.atom import Atom
import io
import unittest
class TestMolecule(unittest.TestCase):
def test_class_instantiation(self):
molecule = Molecule("TEST")
self.assertEqual(molecule.mol_name, "TEST")
self.assertIsInstance(molecule, Molecule)
def test_add_atom(self):
molecule = Molecule("TEST")
atom = Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
molecule.add_atom(atom)
self.assertEqual(len(molecule.atoms), 1)
self.assertEqual(molecule.atoms[0], atom)
def test_update_charges(self):
molecule = Molecule("TEST")
atom = Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
molecule.add_atom(atom)
molecule.update_charges([1])
self.assertEqual(molecule.atoms[-1].chg, 1)
def test_update_charges_raises_exception(self):
molecule = Molecule("TEST")
atom = Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
molecule.add_atom(atom)
with self.assertRaises(ValueError):
molecule.update_charges([1, 1])
def test_print_mol_info(self):
molecule = Molecule("TEST")
atom = Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
molecule.add_atom(atom)
with io.StringIO() as file:
molecule.print_mol_info(file)
file.seek(0)
info_string = file.read()
self.assertIsNotNone(info_string)
self.assertTrue(len(info_string) > 0)
self.assertTrue("Molecule Name: TEST" in info_string)
self.assertTrue("H r: [0, 0, 0] charge: None" in info_string)
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,199 @@
from crystalpol.shared.system.molecule import Molecule
from crystalpol.shared.system.crystal import Crystal
from crystalpol.shared.system.atom import Atom
from crystalpol.shared.config import Config
from crystalpol.gaussian import Gaussian
from io import StringIO
from unittest import mock, TestCase
import unittest
class TestGaussian(TestCase):
def test_class_instantiation(self):
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
self.assertIsInstance(gaussian, Gaussian)
def test_check_keyword(self):
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10,
pop="lorota"
)
)
self.assertEqual(gaussian.config.pop, "chelpg")
@mock.patch('crystalpol.gaussian.os')
def test_create_simulation_dir(self, os_mock):
os_mock.path.exists.return_value = False
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
gaussian.create_simulation_dir()
self.assertTrue(os_mock.makedirs.called)
@mock.patch('crystalpol.gaussian.os')
def test_create_simulation_dir_raises_exception(self, os_mock):
os_mock.path.exists.return_value = True
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
with self.assertRaises(RuntimeError):
gaussian.create_simulation_dir()
@mock.patch('crystalpol.gaussian.open')
def test_make_gaussian_input_cycle_1(self, open_mock):
open_mock.return_value = StringIO()
crystal = self.create_crystal()
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
gaussian_input = gaussian.make_gaussian_input(1, crystal)
expected_output = """\
%Mem=1MB
%Nprocs=1
#P b3lyp/aug-cc-pVDZ Pop = chelpg Density = Current NoSymm
crystalpol - Cycle number 1
0, 1
H 0.00000 0.00000 0.00000
"""
self.assertEqual(gaussian_input, expected_output)
@mock.patch('crystalpol.gaussian.open')
def test_make_gaussian_input_cycle_2(self, open_mock):
open_mock.return_value = StringIO()
crystal = self.create_crystal()
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
gaussian_input = gaussian.make_gaussian_input(2, "test", crystal)
expected_output = """\
%Mem=1MB
%Nprocs=1
#P b3lyp/aug-cc-pVDZ Pop = chelpg Density = Current NoSymm charge
crystalpol - Cycle number 2
0, 1
H 0.00000 0.00000 0.00000
H 0.00000 0.00000 0.00000
"""
self.assertEqual(gaussian_input, expected_output)
def test_make_gaussian_charges(self):
file = StringIO()
crystal = self.create_crystal()
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
gaussian.make_gaussian_charges(file, crystal)
file.seek(0)
charges_string = file.read()
expected_charges = '\nH 0.00000 0.00000 0.00000\n'
self.assertEqual(charges_string, expected_charges)
@mock.patch('crystalpol.gaussian.subprocess.call', autospec=True, return_value=0)
@mock.patch('crystalpol.gaussian.Gaussian.make_gaussian_input')
def test_run(self, subprocess_call_mock, make_gaussian_input_mock):
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
gaussian.run(1, self.create_crystal())
self.assertTrue(subprocess_call_mock.called)
@mock.patch('crystalpol.gaussian.subprocess.call', autospec=True, return_value=1)
@mock.patch('crystalpol.gaussian.Gaussian.make_gaussian_input')
def test_run_raises_exception(self, subprocess_call_mock, make_gaussian_input_mock):
gaussian = Gaussian(
Config(
mem=1,
level="b3lyp/aug-cc-pVDZ",
n_atoms=10
)
)
with self.assertRaises(RuntimeError):
gaussian.run(1, self.create_crystal())
@staticmethod
def create_crystal():
crystal_structure = [
['H ']
]
crystal = Crystal(crystal_structure)
molecule = Molecule("TESTE")
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
crystal.add_cell([molecule])
crystal.add_cell([molecule])
return crystal
if __name__ == '__main__':
unittest.main()

101
tests/test_polarization.py Normal file
View File

@@ -0,0 +1,101 @@
from crystalpol.polarization import Polarization
from crystalpol.shared.config import Config
from crystalpol.shared.system.atom import Atom
from crystalpol.shared.system.molecule import Molecule
from unittest import TestCase, mock
import unittest
GEOM_DATA = """\
Cl 0.529511 -1.626652 1.247344
N 3.703161 2.470259 1.679277
Cl 0.362927 -1.511555 4.375374
N 3.582138 2.531106 3.906529
"""
class TestPolarization(TestCase):
def setUp(self):
self.config = Config(
mem=42,
n_atoms=2,
level="b3lyp/aug-cc-pVDZ"
)
def test_class_instantiation(self):
pol = Polarization("geom_file", "outfile", self.config)
self.assertIsInstance(pol, Polarization)
def test_get_molecules_from_lines(self):
pol = Polarization("geom_file", "outfile", self.config)
lines = [
"Cl 0.529511 -1.626652 1.247344",
"N 3.703161 2.470259 1.679277",
"Cl 0.362927 -1.511555 4.375374",
"N 3.582138 2.531106 3.906529",
]
molecules = pol._get_molecules_from_lines(lines)
self.assertIsNotNone(molecules)
self.assertTrue(any(atom.symbol == "Cl" for atom in molecules[0]))
self.assertTrue(any(atom.symbol == "N " for atom in molecules[1]))
def test_get_molecules_from_lines_raises_exception(self):
pol = Polarization("geom_file", "outfile", self.config)
lines = [
"Cl 0.529511 -1.626652 1.247344",
"N 3.703161 2.470259 1.679277",
"Cl 0.362927 -1.511555 4.375374",
"N 3.582138 2.531106 3.906529",
"N 3.582138 2.531106 3.906529",
]
with self.assertRaises(RuntimeError):
pol._get_molecules_from_lines(lines)
def test_get_crystal_structure(self):
pol = Polarization("geom_file", "outfile", self.config)
molecule = Molecule("TEST")
molecule.add_atom(
Atom(
na=1,
rx=0,
ry=0,
rz=0,
)
)
structure = pol._get_crystal_structure(molecule)
self.assertEqual(structure, ['H '])
@mock.patch('builtins.open', mock.mock_open(read_data=GEOM_DATA))
def test_read_crystal(self):
pol = Polarization("geom_file", "outfile", self.config)
pol.read_crystal()
self.assertIsNotNone(pol.crystal)
self.assertEqual(len(pol.crystal), 2)
self.assertEqual(len(pol.crystal[0]), 1)
@mock.patch('builtins.open', mock.mock_open(read_data=GEOM_DATA))
def test_run(self):
pol = Polarization("geom_file", "outfile", self.config)
pol.run()
self.assertIsNotNone(pol.crystal)
self.assertEqual(len(pol.crystal), 2)
self.assertEqual(len(pol.crystal[0]), 1)
if __name__ == '__main__':
unittest.main()