-
Notifications
You must be signed in to change notification settings - Fork 174
Description
Hi,
It seems to me that cclib can't read dispersion corrections from ORCA logfiles (#660, #664 and #418 are related to this). But this happens in general with any added correction to the SCF energies, such as gCP or correlation energy from CCSD(T) or DLPNO-CCSD(T). The following input, for instance,
➜ h2 git:(master) ✗ cat singlepoint.inp
! DLPNO-CCSD(T) gCP(HF/TZ) def2-TZVP def2-TZVP/C TightSCF Grid5 NoFinalGrid GridX6 NoFinalGridX
%maxcore 1000
*xyz 0 1
H 0 0 0
H 0 0 1
*
processes the following information:
➜ h2 git:(master) ✗ ipython3
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import cclib
In [2]: data = cclib.ccopen("singlepoint.out").parse()
In [3]: from scipy.constants import physical_constants
In [4]: c = physical_constants["Hartree energy in eV"][0]
In [5]: data.scfenergies[0] / c
Out[5]: -1.1015466615850964
In [6]: data.getattributes()
Out[6]:
{'atomcharges': {'mulliken': array([ 0., -0.]), 'lowdin': array([ 0., -0.])},
'atomcoords': array([[[0., 0., 0.],
[0., 0., 1.]]]),
'atommasses': array([1.008, 1.008]),
'atomnos': array([1, 1], dtype=int32),
'charge': 0,
'coreelectrons': array([0, 0], dtype=int32),
'homos': array([0], dtype=int32),
'metadata': {'package': 'ORCA',
'methods': [],
'success': True,
'package_version': '4.2.1',
'warnings': ['MDCI localization with Augmented Hessian Foster-BoysSwitching off randomization!',
'Post HF methods need fully converged wavefunctionsSetting SCFConvForced trueYou can overwrite this default with %scf ConvForced false'],
'info': ['the flag for use of LIBINT has been found!'],
'input_file_name': 'singlepoint.inp',
'input_file_contents': '! DLPNO-CCSD(T) gCP(HF/TZ) def2-TZVP def2-TZVP/C TightSCF Grid5 NoFinalGrid GridX6 NoFinalGridX\n%maxcore 1000\n\n*xyz 0 1\nH 0 0 0\nH 0 0 1\n*\n\n',
'coord_type': 'xyz',
'keywords': ['DLPNO-CCSD(T)',
'gCP(HF/TZ)',
'def2-TZVP',
'def2-TZVP/C',
'TightSCF',
'Grid5',
'NoFinalGrid',
'GridX6',
'NoFinalGridX'],
'coords': [['H', 0.0, 0.0, 0.0], ['H', 0.0, 0.0, 1.0]]},
'moenergies': [array([-14.32752894, 3.37813019, 8.98808375, 15.19538164,
38.73518893, 38.73518893, 46.24387131, 55.17943708,
55.17943708, 69.35640543, 73.75920753, 82.02159085])],
'moments': [array([0., 0., 0.]), array([ 0., -0., -0.])],
'mult': 1,
'natom': 2,
'nbasis': 12,
'nmo': 12,
'scfenergies': array([-29.97461168]),
'scftargets': array([[1.e-08, 1.e-07, 5.e-09]]),
'scfvalues': [array([[ 0.000000e+00, 1.984200e-03, 4.611900e-04],
[-2.559112e-04, 3.231000e-03, 5.342000e-03],
[-7.155438e-04, 2.997000e-03, 1.918000e-03],
[-2.385800e-05, 8.130000e-04, 7.070000e-04],
[-1.023600e-06, 1.600000e-05, 4.000000e-05],
[-2.303900e-09, 5.342400e-06, 8.823600e-07]])]}
Compare the value above for the final SCF energy (-1.101546661585 hartree) with the following taken from the logfile (logfile is available here):
Triples Correction (T) ... 0.000000000
Final correlation energy ... -0.039911635
E(CCSD) ... -1.141458346
E(CCSD(T)) ... -1.141458346
...some extra output...
------------------ -----------------
gCP correction 0.000545516
------------------ -----------------
------------------------- --------------------
FINAL SINGLE POINT ENERGY -1.140912829750
------------------------- --------------------
The final single point, in this case, is the sum of SCF energy, final correlation energy and gCP correction (-1.101546661585 + -0.039911635 + 0.000545516 == -1.140912780585
), although I'm not sure if the triples correction (T, zero here) is already accounted for in the final correlation energy or not.
I think those values are useful as separate entities as well, not only added to the SCF energies. What do you think?