diff --git a/.gitignore b/.gitignore
index 3fbf7b2ce..82f48e460 100755
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,9 @@ tests/.autode_calculations
tests/data/complex_conf*.xyz
tests/data/*.com
+
+tests/data/conformers/.autode_calculations
+
+tests/data/orca/.autode_calculations
+
+tests/data/xtb/.autode_calculations
diff --git a/autode/calculation.py b/autode/calculation.py
index 72837d53a..616947f22 100644
--- a/autode/calculation.py
+++ b/autode/calculation.py
@@ -276,7 +276,7 @@ def get_gradients(self):
calculation
Returns:
- (np.ndarray): Gradient vectors for each atom (Å)
+ (np.ndarray): Gradient vectors for each atom (Ha Å^-1)
gradients.shape = (n_atoms, 3)
"""
logger.info(f'Getting gradients from {self.output.filename}')
diff --git a/autode/constants.py b/autode/constants.py
index 1c56d29b6..752eeb87d 100644
--- a/autode/constants.py
+++ b/autode/constants.py
@@ -1,7 +1,8 @@
-class Constants(object):
+class Constants:
- ha2kcalmol = 627.509 # Hartee^-1 kcal mol^-1
- ha2kJmol = 2625.50 # Hartree^-1 kJ mol^-1
- eV2ha = 0.0367493 # Hartree ev^-1
- a02ang = 0.529177 # Å bohr^-1
- kcal2kJ = 4.184 # kJ kcal^-1
+ ha2kcalmol = 627.509 # Hartee^-1 kcal mol^-1
+ ha2kJmol = 2625.50 # Hartree^-1 kJ mol^-1
+ eV2ha = 0.0367493 # Hartree ev^-1
+ a02ang = 0.529177 # Å bohr^-1
+ ang2a0 = 1.0 / a02ang # bohr Å^-1
+ kcal2kJ = 4.184 # kJ kcal^-1
diff --git a/autode/smiles/smiles.py b/autode/smiles/smiles.py
index 92de15b26..b45080c59 100644
--- a/autode/smiles/smiles.py
+++ b/autode/smiles/smiles.py
@@ -12,7 +12,9 @@
def calc_multiplicity(molecule, n_radical_electrons):
- """Calculate the spin multiplicity 2S + 1 where S is the number of unpaired electrons
+ """Calculate the spin multiplicity 2S + 1 where S is the number of
+ unpaired electrons
+
Arguments:
molecule (autode.molecule.Molecule):
n_radical_electrons (int):
@@ -24,11 +26,13 @@ def calc_multiplicity(molecule, n_radical_electrons):
return 1
if molecule.mult == 1 and n_radical_electrons == 1:
- # Cannot have multiplicity = 1 and 1 radical electrons – override default multiplicity
+ # Cannot have multiplicity = 1 and 1 radical electrons – override
+ # default multiplicity
return 2
if molecule.mult == 1 and n_radical_electrons > 1:
- logger.warning('Diradicals by default singlets. Set mol.mult if it\'s any different')
+ logger.warning('Diradicals by default singlets. Set mol.mult if it\'s '
+ 'any different')
return 1
return molecule.mult
@@ -36,8 +40,9 @@ def calc_multiplicity(molecule, n_radical_electrons):
def init_organic_smiles(molecule, smiles):
"""
- Initialise a molecule from a SMILES string, set the charge, multiplicity (if it's not already specified) and the 3D
- geometry using RDKit
+ Initialise a molecule from a SMILES string, set the charge, multiplicity (
+ if it's not already specified) and the 3D geometry using RDKit
+
Arguments:
molecule (autode.molecule.Molecule):
smiles (str): SMILES string
@@ -87,7 +92,6 @@ def init_smiles(molecule, smiles):
molecule (autode.molecule.Molecule):
smiles (str): SMILES string
"""
-
# Assume that the RDKit conformer generation algorithm is not okay for metals
molecule.rdkit_conf_gen_is_fine = False
@@ -115,7 +119,8 @@ def init_smiles(molecule, smiles):
def check_bonds(molecule, bonds):
"""
- Ensure the SMILES string and the 3D structure have the same bonds, but don't override
+ Ensure the SMILES string and the 3D structure have the same bonds,
+ but don't override
Arguments:
molecule (autode.molecule.Molecule):
diff --git a/autode/transition_states/transition_state.py b/autode/transition_states/transition_state.py
index 283ab4a6a..93bca27cf 100644
--- a/autode/transition_states/transition_state.py
+++ b/autode/transition_states/transition_state.py
@@ -36,7 +36,6 @@ def _run_opt_ts_calc(self, method, name_ext):
other_input_block=method.keywords.optts_block)
self.optts_calc.run()
- # Was this intentionally removed?
if not self.optts_calc.optimisation_converged():
if self.optts_calc.optimisation_nearly_converged():
logger.info('Optimisation nearly converged')
diff --git a/autode/transition_states/ts_guess.py b/autode/transition_states/ts_guess.py
index d06aa4657..b3813f7de 100644
--- a/autode/transition_states/ts_guess.py
+++ b/autode/transition_states/ts_guess.py
@@ -57,12 +57,9 @@ def get_ts_guess_constrained_opt(reactant, method, keywords, name, distance_cons
# corresponding energy
try:
mol_with_constraints.optimise(method=method, calc=hl_const_opt)
+
except AtomsNotFound:
- # Retrun with the low level
- try:
- mol_with_constraints.run_const_opt(ll_const_opt)
- except AtomsNotFound:
- return None
+ pass
return get_ts_guess(species=mol_with_constraints, reactant=reactant,
product=product, name=f'ts_guess_{name}')
diff --git a/autode/wrappers/G09.py b/autode/wrappers/G09.py
index e0f1e34b2..cb3e017fa 100644
--- a/autode/wrappers/G09.py
+++ b/autode/wrappers/G09.py
@@ -1,5 +1,6 @@
from copy import deepcopy
import numpy as np
+from autode.constants import Constants
from autode.wrappers.base import ElectronicStructureMethod
from autode.utils import run_external
from autode.atoms import Atom
@@ -440,16 +441,20 @@ def get_gradients(self, calc):
gradients_section = False
if gradients_section and len(line.split()) == 5:
- _, _, x, y, z = line.split()
+ _, _, fx, fy, fz = line.split()
try:
- gradients.append([float(x), float(y), float(z)])
+ # Ha / a0
+ force = np.array([float(fx), float(fy), float(fz)])
+
+ grad = -force / Constants.a02ang
+ gradients.append(grad)
except ValueError:
pass
for line in gradients:
for i in range(3):
line[i] *= -1
- return gradients
+ return np.array(gradients)
def __init__(self):
super().__init__(name='g09', path=Config.G09.path,
diff --git a/autode/wrappers/MOPAC.py b/autode/wrappers/MOPAC.py
index 91e304b55..867aa97a9 100644
--- a/autode/wrappers/MOPAC.py
+++ b/autode/wrappers/MOPAC.py
@@ -293,7 +293,7 @@ def get_gradients(self, calc):
_, _, _, _, _, _, value, _ = line.split()
gradients.append(value)
grad_array = np.asarray(gradients)
- grad_array *= Constants.a02ang/Constants.ha2kcalmol
+ grad_array /= Constants.ha2kcalmol # From kcal mol-1 Å^-1 to Ha Å^-1
grad_array.reshape((calc.molecule.n_atoms, 3))
return grad_array.tolist()
diff --git a/autode/wrappers/NWChem.py b/autode/wrappers/NWChem.py
index 34c56edac..d50f5d087 100644
--- a/autode/wrappers/NWChem.py
+++ b/autode/wrappers/NWChem.py
@@ -356,9 +356,11 @@ def get_gradients(self, calc):
if gradients_section and len(line.split()) == 8:
x, y, z = line.split()[5:]
- gradients.append([float(x), float(y), float(z)])
+ gradients.append(np.array([float(x), float(y), float(z)]))
- return gradients
+ # Convert from Ha a0^-1 to Ha A-1
+ gradients = [grad / Constants.a02ang for grad in gradients]
+ return np.array(gradients)
def __init__(self):
super().__init__('nwchem', path=Config.NWChem.path,
diff --git a/autode/wrappers/ORCA.py b/autode/wrappers/ORCA.py
index a47bebf82..b30003f48 100644
--- a/autode/wrappers/ORCA.py
+++ b/autode/wrappers/ORCA.py
@@ -1,5 +1,6 @@
import numpy as np
import os
+from autode.constants import Constants
from autode.utils import run_external
from autode.wrappers.base import ElectronicStructureMethod
from autode.atoms import Atom
@@ -423,8 +424,12 @@ def get_gradients(self, calc):
first, last = i + 3, i + 3 + calc.molecule.n_atoms
for grad_line in calc.output.file_lines[first:last]:
dadx, dady, dadz = grad_line.split()[-3:]
- gradients.append([float(dadx), float(dady), float(dadz)])
+ vec = [float(dadx), float(dady), float(dadz)]
+ gradients.append(np.array(vec))
+
+ # Convert from Ha a0^-1 to Ha A-1
+ gradients = [grad / Constants.a02ang for grad in gradients]
return np.array(gradients)
def __init__(self):
diff --git a/autode/wrappers/XTB.py b/autode/wrappers/XTB.py
index ec350b2c4..f9b168e30 100644
--- a/autode/wrappers/XTB.py
+++ b/autode/wrappers/XTB.py
@@ -130,7 +130,7 @@ def execute(self, calc):
flags += ['--input', calc.input.additional_filenames[-1]]
@work_in_tmp_dir(filenames_to_copy=calc.input.get_input_filenames(),
- kept_file_exts=('.xyz', '.out', '.pc'))
+ kept_file_exts=('.xyz', '.out', '.pc', '.grad', 'gradient'))
def execute_xtb():
logger.info(f'Setting the number of OMP threads to {calc.n_cores}')
os.environ['OMP_NUM_THREADS'] = str(calc.n_cores)
@@ -286,22 +286,32 @@ def get_atomic_charges(self, calc):
def get_gradients(self, calc):
gradients = []
+
if os.path.exists(f'{calc.name}_xtb.grad'):
grad_file_name = f'{calc.name}_xtb.grad'
with open(grad_file_name, 'r') as grad_file:
for line in grad_file:
x, y, z = line.split()
- gradients.append([float(x), float(y), float(z)])
- else:
+ gradients.append(np.array([float(x), float(y), float(z)]))
+
+ elif os.path.exists('gradient'):
with open('gradient', 'r') as grad_file:
for line_no, line in enumerate(grad_file):
if line_no > 1 and len(line.split()) == 3:
x, y, z = line.split()
- gradients.append([float(x.replace('D', 'E')), float(y.replace('D', 'E')), float(z.replace('D', 'E'))])
+ vec = [float(x.replace('D', 'E')),
+ float(y.replace('D', 'E')),
+ float(z.replace('D', 'E'))]
+
+ gradients.append(np.array(vec))
+
with open(f'{calc.name}_xtb.grad', 'w') as new_grad_file:
- [print('{:^12.8f} {:^12.8f} {:^12.8f}'.format(*line), file=new_grad_file) for line in gradients]
+ [print('{:^12.8f} {:^12.8f} {:^12.8f}'.format(*line),
+ file=new_grad_file) for line in gradients]
os.remove('gradient')
+ # Convert from Ha a0^-1 to Ha A-1
+ gradients = [grad / Constants.a02ang for grad in gradients]
return np.array(gradients)
def __init__(self):
diff --git a/doc/examples/conformers.rst b/doc/examples/conformers.rst
index 509ee4d08..9f7694719 100644
--- a/doc/examples/conformers.rst
+++ b/doc/examples/conformers.rst
@@ -60,7 +60,7 @@ Metal Complex
Arbitrary distance constraints can be added in a RR conformer generation. For
example, to generate conformers of
-`Vaska's complex `_
+`Vaska's complex `_
while retaining the square planar geometry
diff --git a/doc/examples/molecules.rst b/doc/examples/molecules.rst
index 7edbd3597..44116403c 100644
--- a/doc/examples/molecules.rst
+++ b/doc/examples/molecules.rst
@@ -104,7 +104,8 @@ Calculations
**autodE** provides wrappers around common electronic structure theory packages
(ORCA, XTB, NWChem, MOPAC, Gaussian09) so geometries may be optimised and
-energies calculated.
+energies calculated. Energies are in atomic Hartrees and gradients in
+Ha / Å.
For example, to optimise the geometry at the XTB level and then perform a
single point energy evaluation with ORCA
diff --git a/tests/data/orca/h2_disp_orca.out b/tests/data/orca/h2_disp_orca.out
new file mode 100644
index 000000000..3d00ca524
--- /dev/null
+++ b/tests/data/orca/h2_disp_orca.out
@@ -0,0 +1,734 @@
+
+ *****************
+ * O R C A *
+ *****************
+
+ --- An Ab Initio, DFT and Semiempirical electronic structure package ---
+
+ #######################################################
+ # -***- #
+ # Department of theory and spectroscopy #
+ # Directorship: Frank Neese #
+ # Max Planck Institute fuer Kohlenforschung #
+ # Kaiser Wilhelm Platz 1 #
+ # D-45470 Muelheim/Ruhr #
+ # Germany #
+ # #
+ # All rights reserved #
+ # -***- #
+ #######################################################
+
+
+ Program Version 4.2.1 - RELEASE -
+
+
+ With contributions from (in alphabetic order):
+ Daniel Aravena : Magnetic Suceptibility
+ Michael Atanasov : Ab Initio Ligand Field Theory (pilot matlab implementation)
+ Alexander A. Auer : GIAO ZORA, VPT2
+ Ute Becker : Parallelization
+ Giovanni Bistoni : ED, misc. LED, open-shell LED, HFLD
+ Martin Brehm : Molecular dynamics
+ Dmytro Bykov : SCF Hessian
+ Vijay G. Chilkuri : MRCI spin determinant printing, contributions to CSF-ICE
+ Dipayan Datta : RHF DLPNO-CCSD density
+ Achintya Kumar Dutta : EOM-CC, STEOM-CC
+ Dmitry Ganyushin : Spin-Orbit,Spin-Spin,Magnetic field MRCI
+ Miquel Garcia : C-PCM Hessian, Gaussian charge scheme
+ Yang Guo : DLPNO-NEVPT2, CIM, IAO-localization
+ Andreas Hansen : Spin unrestricted coupled pair/coupled cluster methods
+ Benjamin Helmich-Paris : CASSCF linear response (MC-RPA)
+ Lee Huntington : MR-EOM, pCC
+ Robert Izsak : Overlap fitted RIJCOSX, COSX-SCS-MP3, EOM
+ Christian Kollmar : KDIIS, OOCD, Brueckner-CCSD(T), CCSD density
+ Simone Kossmann : Meta GGA functionals, TD-DFT gradient, OOMP2, MP2 Hessian
+ Martin Krupicka : AUTO-CI
+ Lucas Lang : DCDCAS
+ Dagmar Lenk : GEPOL surface, SMD
+ Dimitrios Liakos : Extrapolation schemes; Compound Job, initial MDCI parallelization
+ Dimitrios Manganas : Further ROCIS development; embedding schemes
+ Dimitrios Pantazis : SARC Basis sets
+ Taras Petrenko : DFT Hessian,TD-DFT gradient, ASA, ECA, R-Raman, ABS, FL, XAS/XES, NRVS
+ Peter Pinski : DLPNO-MP2, DLPNO-MP2 Gradient
+ Christoph Reimann : Effective Core Potentials
+ Marius Retegan : Local ZFS, SOC
+ Christoph Riplinger : Optimizer, TS searches, QM/MM, DLPNO-CCSD(T), (RO)-DLPNO pert. Triples
+ Tobias Risthaus : Range-separated hybrids, TD-DFT gradient, RPA, STAB
+ Michael Roemelt : Original ROCIS implementation
+ Masaaki Saitow : Open-shell DLPNO-CCSD energy and density
+ Barbara Sandhoefer : DKH picture change effects
+ Avijit Sen : IP-ROCIS
+ Kantharuban Sivalingam : CASSCF convergence, NEVPT2, FIC-MRCI
+ Bernardo de Souza : ESD, SOC TD-DFT
+ Georgi Stoychev : AutoAux, RI-MP2 NMR
+ Willem Van den Heuvel : Paramagnetic NMR
+ Boris Wezisla : Elementary symmetry handling
+ Frank Wennmohs : Technical directorship
+
+
+ We gratefully acknowledge several colleagues who have allowed us to
+ interface, adapt or use parts of their codes:
+ Stefan Grimme, W. Hujo, H. Kruse, : VdW corrections, initial TS optimization,
+ C. Bannwarth DFT functionals, gCP, sTDA/sTD-DF
+ Ed Valeev, F. Pavosevic, A. Kumar : LibInt (2-el integral package), F12 methods
+ Garnet Chan, S. Sharma, J. Yang, R. Olivares : DMRG
+ Ulf Ekstrom : XCFun DFT Library
+ Mihaly Kallay : mrcc (arbitrary order and MRCC methods)
+ Andreas Klamt, Michael Diedenhofen : otool_cosmo (COSMO solvation model)
+ Jiri Pittner, Ondrej Demel : Mk-CCSD
+ Frank Weinhold : gennbo (NPA and NBO analysis)
+ Christopher J. Cramer and Donald G. Truhlar : smd solvation model
+ Lars Goerigk : TD-DFT with DH, B97 family of functionals
+ V. Asgeirsson, H. Jonsson : NEB implementation
+ FAccTs GmbH : IRC, NEB, NEB-TS, Multilevel, MM, QM/MM, CI optimization
+ S Lehtola, MJT Oliveira, MAL Marques : LibXC Library
+
+
+ Your calculation uses the libint2 library for the computation of 2-el integrals
+ For citations please refer to: http://libint.valeyev.net
+
+ Your ORCA version has been built with support for libXC version: 4.2.3
+ For citations please refer to: https://tddft.org/programs/libxc/
+
+ This ORCA versions uses:
+ CBLAS interface : Fast vector & matrix operations
+ LAPACKE interface : Fast linear algebra routines
+ SCALAPACK package : Parallel linear algebra routines
+
+
+Your calculation utilizes the atom-pairwise dispersion correction
+with the Becke-Johnson damping scheme (D3BJ)
+Cite in your paper:
+S.Grimme, S.Ehrlich, L.Goerigk, J Comput Chem, (2011), 32, 1456–1465
+S.Grimme, J.Antony, S.Ehrlich and H.Krieg, J.Chem.Phys., 132, (2010), 154104
+
+
+----- Orbital basis set information -----
+Your calculation utilizes the basis: def2-SVP
+ F. Weigend and R. Ahlrichs, Phys. Chem. Chem. Phys. 7, 3297 (2005).
+
+----- AuxJ basis set information -----
+Your calculation utilizes the auxiliary basis: def2/J
+ F. Weigend, Phys. Chem. Chem. Phys. 8, 1057 (2006).
+
+================================================================================
+ WARNINGS
+ Please study these warnings very carefully!
+================================================================================
+
+
+INFO : the flag for use of LIBINT has been found!
+
+================================================================================
+ INPUT FILE
+================================================================================
+NAME = h2_disp_orca.inp
+| 1> ! EnGrad PBE D3BJ def2-SVP
+| 2> %geom MaxIter 100 end
+| 3> %output
+| 4> xyzfile=True
+| 5> end
+| 6> %scf
+| 7> maxiter 250
+| 8> end
+| 9> %output
+| 10> Print[P_Hirshfeld] = 1
+| 11> end
+| 12> % maxcore
+| 13> 4000
+| 14> *xyz 0 1
+| 15> H 0.00000000 0.00000000 0.00000000
+| 16> H 1.00000001 0.00000000 0.00000000
+| 17> *
+| 18>
+| 19> ****END OF INPUT****
+================================================================================
+
+ *******************************
+ * Energy+Gradient Calculation *
+ *******************************
+
+---------------------------------
+CARTESIAN COORDINATES (ANGSTROEM)
+---------------------------------
+ H 0.000000 0.000000 0.000000
+ H 1.000000 0.000000 0.000000
+
+----------------------------
+CARTESIAN COORDINATES (A.U.)
+----------------------------
+ NO LB ZA FRAG MASS X Y Z
+ 0 H 1.0000 0 1.008 0.000000 0.000000 0.000000
+ 1 H 1.0000 0 1.008 1.889726 0.000000 0.000000
+
+--------------------------------
+INTERNAL COORDINATES (ANGSTROEM)
+--------------------------------
+ H 0 0 0 0.000000000000 0.00000000 0.00000000
+ H 1 0 0 1.000000010000 0.00000000 0.00000000
+
+---------------------------
+INTERNAL COORDINATES (A.U.)
+---------------------------
+ H 0 0 0 0.000000000000 0.00000000 0.00000000
+ H 1 0 0 1.889726152819 0.00000000 0.00000000
+
+---------------------
+BASIS SET INFORMATION
+---------------------
+There are 1 groups of distinct atoms
+
+ Group 1 Type H : 4s1p contracted to 2s1p pattern {31/1}
+
+Atom 0H basis set group => 1
+Atom 1H basis set group => 1
+---------------------------------
+AUXILIARY/J BASIS SET INFORMATION
+---------------------------------
+There are 1 groups of distinct atoms
+
+ Group 1 Type H : 5s2p1d contracted to 3s1p1d pattern {311/2/1}
+
+Atom 0H basis set group => 1
+Atom 1H basis set group => 1
+------------------------------------------------------------------------------
+ ORCA GTO INTEGRAL CALCULATION
+ -- RI-GTO INTEGRALS CHOSEN --
+------------------------------------------------------------------------------
+
+ BASIS SET STATISTICS AND STARTUP INFO
+
+Gaussian basis set:
+ # of primitive gaussian shells ... 10
+ # of primitive gaussian functions ... 14
+ # of contracted shells ... 6
+ # of contracted basis functions ... 10
+ Highest angular momentum ... 1
+ Maximum contraction depth ... 3
+Auxiliary gaussian basis set:
+ # of primitive gaussian shells ... 16
+ # of primitive gaussian functions ... 32
+ # of contracted shells ... 10
+ # of contracted aux-basis functions ... 22
+ Highest angular momentum ... 2
+ Maximum contraction depth ... 3
+Ratio of auxiliary to basis functions ... 2.20
+Integral package used ... LIBINT
+ One Electron integrals ... done
+ Ordering auxiliary basis shells ... done
+ Integral threshhold Thresh ... 2.500e-11
+ Primitive cut-off TCut ... 2.500e-12
+ Pre-screening matrix ... done
+ Shell pair data ...
+ Ordering of the shell pairs ... done ( 0.000 sec) 21 of 21 pairs
+ Determination of significant pairs ... done ( 0.000 sec)
+ Creation of shell pair data ... done ( 0.000 sec)
+ Storage of shell pair data ... done ( 0.000 sec)
+ Shell pair data done in ( 0.000 sec)
+ Computing two index integrals ... done
+ Cholesky decomposition of the V-matrix ... done
+
+
+Timings:
+ Total evaluation time ... 0.061 sec ( 0.001 min)
+ One electron matrix time ... 0.002 sec ( 0.000 min) = 3.1%
+ Schwartz matrix evaluation time ... 0.052 sec ( 0.001 min) = 85.2%
+ Two index repulsion integral time ... 0.000 sec ( 0.000 min) = 0.1%
+ Cholesky decomposition of V ... 0.000 sec ( 0.000 min) = 0.3%
+ Three index repulsion integral time ... 0.000 sec ( 0.000 min) = 0.0%
+
+-------------------------------------------------------------------------------
+ ORCA SCF
+-------------------------------------------------------------------------------
+
+------------
+SCF SETTINGS
+------------
+Hamiltonian:
+ Density Functional Method .... DFT(GTOs)
+ Exchange Functional Exchange .... PBE
+ PBE kappa parameter XKappa .... 0.804000
+ PBE mue parameter XMuePBE .... 0.219520
+ Correlation Functional Correlation .... PBE
+ PBE beta parameter CBetaPBE .... 0.066725
+ LDA part of GGA corr. LDAOpt .... PW91-LDA
+ Gradients option PostSCFGGA .... off
+ Density functional embedding theory .... OFF
+ NL short-range parameter .... 6.400000
+ RI-approximation to the Coulomb term is turned on
+ Number of auxiliary basis functions .... 22
+
+
+General Settings:
+ Integral files IntName .... h2_disp_orca
+ Hartree-Fock type HFTyp .... RHF
+ Total Charge Charge .... 0
+ Multiplicity Mult .... 1
+ Number of Electrons NEL .... 2
+ Basis Dimension Dim .... 10
+ Nuclear Repulsion ENuc .... 0.5291772030 Eh
+
+Convergence Acceleration:
+ DIIS CNVDIIS .... on
+ Start iteration DIISMaxIt .... 12
+ Startup error DIISStart .... 0.200000
+ # of expansion vecs DIISMaxEq .... 5
+ Bias factor DIISBfac .... 1.050
+ Max. coefficient DIISMaxC .... 10.000
+ Newton-Raphson CNVNR .... off
+ SOSCF CNVSOSCF .... on
+ Start iteration SOSCFMaxIt .... 150
+ Startup grad/error SOSCFStart .... 0.003300
+ Level Shifting CNVShift .... on
+ Level shift para. LevelShift .... 0.2500
+ Turn off err/grad. ShiftErr .... 0.0010
+ Zerner damping CNVZerner .... off
+ Static damping CNVDamp .... on
+ Fraction old density DampFac .... 0.7000
+ Max. Damping (<1) DampMax .... 0.9800
+ Min. Damping (>=0) DampMin .... 0.0000
+ Turn off err/grad. DampErr .... 0.1000
+ Fernandez-Rico CNVRico .... off
+
+SCF Procedure:
+ Maximum # iterations MaxIter .... 250
+ SCF integral mode SCFMode .... Direct
+ Integral package .... LIBINT
+ Reset frequency DirectResetFreq .... 20
+ Integral Threshold Thresh .... 2.500e-11 Eh
+ Primitive CutOff TCut .... 2.500e-12 Eh
+
+Convergence Tolerance:
+ Convergence Check Mode ConvCheckMode .... Total+1el-Energy
+ Convergence forced ConvForced .... 0
+ Energy Change TolE .... 1.000e-08 Eh
+ 1-El. energy change .... 1.000e-05 Eh
+ Orbital Gradient TolG .... 1.000e-05
+ Orbital Rotation angle TolX .... 1.000e-05
+ DIIS Error TolErr .... 5.000e-07
+
+
+Diagonalization of the overlap matrix:
+Smallest eigenvalue ... 1.144e-01
+Time for diagonalization ... 0.000 sec
+Threshold for overlap eigenvalues ... 1.000e-08
+Number of eigenvalues below threshold ... 0
+Time for construction of square roots ... 0.000 sec
+Total time needed ... 0.000 sec
+
+-------------------
+DFT GRID GENERATION
+-------------------
+
+General Integration Accuracy IntAcc ... 4.340
+Radial Grid Type RadialGrid ... Gauss-Chebyshev
+Angular Grid (max. acc.) AngularGrid ... Lebedev-110
+Angular grid pruning method GridPruning ... 3 (G Style)
+Weight generation scheme WeightScheme... Becke
+Basis function cutoff BFCut ... 1.0000e-11
+Integration weight cutoff WCut ... 1.0000e-14
+Grids for H and He will be reduced by one unit
+
+# of grid points (after initial pruning) ... 1588 ( 0.0 sec)
+# of grid points (after weights+screening) ... 1566 ( 0.0 sec)
+nearest neighbour list constructed ... 0.0 sec
+Grid point re-assignment to atoms done ... 0.0 sec
+Grid point division into batches done ... 0.0 sec
+Reduced shell lists constructed in 0.0 sec
+
+Total number of grid points ... 1566
+Total number of batches ... 26
+Average number of points per batch ... 60
+Average number of grid points per atom ... 783
+Average number of shells per batch ... 5.78 (96.30%)
+Average number of basis functions per batch ... 9.63 (96.30%)
+Average number of large shells per batch ... 5.74 (99.36%)
+Average number of large basis fcns per batch ... 9.52 (98.85%)
+Maximum spatial batch extension ... 15.26, 21.59, 21.59 au
+Average spatial batch extension ... 5.01, 8.34, 8.47 au
+
+Time for grid setup = 0.002 sec
+
+------------------------------
+INITIAL GUESS: MODEL POTENTIAL
+------------------------------
+Loading Hartree-Fock densities ... done
+Calculating cut-offs ... done
+Setting up the integral package ... done
+Initializing the effective Hamiltonian ... done
+Starting the Coulomb interaction ... done ( 0.0 sec)
+Reading the grid ... done
+Mapping shells ... done
+Starting the XC term evaluation ... done ( 0.0 sec)
+ promolecular density results
+ # of electrons = 1.995342477
+ EX = -0.539655112
+ EC = -0.039204154
+ EX+EC = -0.578859265
+Transforming the Hamiltonian ... done ( 0.0 sec)
+Diagonalizing the Hamiltonian ... done ( 0.0 sec)
+Back transforming the eigenvectors ... done ( 0.0 sec)
+Now organizing SCF variables ... done
+ ------------------
+ INITIAL GUESS DONE ( 0.1 sec)
+ ------------------
+--------------
+SCF ITERATIONS
+--------------
+ITER Energy Delta-E Max-DP RMS-DP [F,P] Damp
+ *** Starting incremental Fock matrix formation ***
+ 0 -1.1371803689 0.000000000000 0.00800248 0.00156073 0.0277451 0.7000
+ 1 -1.1376074620 -0.000427093036 0.00733753 0.00142548 0.0194169 0.7000
+ ***Turning on DIIS***
+ 2 -1.1378921888 -0.000284726801 0.01726758 0.00334735 0.0123998 0.0000
+ 3 -1.1384268915 -0.000534702786 0.00253904 0.00049918 0.0034195 0.0000
+ *** Initiating the SOSCF procedure ***
+ *** Shutting down DIIS ***
+ *** Re-Reading the Fockian ***
+ *** Removing any level shift ***
+ITER Energy Delta-E Grad Rot Max-DP RMS-DP
+ 4 -1.13844475 -0.0000178584 0.000599 0.000599 0.000999 0.000193
+ *** Restarting incremental Fock matrix formation ***
+ 5 -1.13844598 -0.0000012260 0.000027 0.000038 0.000043 0.000008
+ **** Energy Check signals convergence ****
+ ***Rediagonalizing the Fockian in SOSCF/NRSCF***
+
+ *****************************************************
+ * SUCCESS *
+ * SCF CONVERGED AFTER 6 CYCLES *
+ *****************************************************
+
+Setting up the final grid:
+
+General Integration Accuracy IntAcc ... 4.670
+Radial Grid Type RadialGrid ... Gauss-Chebyshev
+Angular Grid (max. acc.) AngularGrid ... Lebedev-302
+Angular grid pruning method GridPruning ... 3 (G Style)
+Weight generation scheme WeightScheme... Becke
+Basis function cutoff BFCut ... 1.0000e-11
+Integration weight cutoff WCut ... 1.0000e-14
+Grids for H and He will be reduced by one unit
+
+# of grid points (after initial pruning) ... 6788 ( 0.0 sec)
+# of grid points (after weights+screening) ... 6762 ( 0.0 sec)
+nearest neighbour list constructed ... 0.0 sec
+Grid point re-assignment to atoms done ... 0.0 sec
+Grid point division into batches done ... 0.0 sec
+Reduced shell lists constructed in 0.0 sec
+
+Total number of grid points ... 6762
+Total number of batches ... 106
+Average number of points per batch ... 63
+Average number of grid points per atom ... 3381
+Average number of shells per batch ... 5.62 (93.61%)
+Average number of basis functions per batch ... 9.13 (91.31%)
+Average number of large shells per batch ... 5.35 (95.17%)
+Average number of large basis fcns per batch ... 8.58 (93.96%)
+Maximum spatial batch extension ... 13.36, 15.43, 15.43 au
+Average spatial batch extension ... 3.44, 3.75, 3.68 au
+
+Final grid set up in 0.0 sec
+Final integration ... done ( 0.0 sec)
+Change in XC energy ... -0.000519751
+Integrated number of electrons ... 2.000001506
+Previous integrated no of electrons ... 1.996305491
+
+----------------
+TOTAL SCF ENERGY
+----------------
+
+Total Energy : -1.13896573 Eh -30.99283 eV
+
+Components:
+Nuclear Repulsion : 0.52917720 Eh 14.39964 eV
+Electronic Energy : -1.66814293 Eh -45.39248 eV
+One Electron Energy: -2.21299244 Eh -60.21859 eV
+Two Electron Energy: 0.54484951 Eh 14.82611 eV
+
+Virial components:
+Potential Energy : -2.07822304 Eh -56.55132 eV
+Kinetic Energy : 0.93925731 Eh 25.55849 eV
+Virial Ratio : 2.21262375
+
+
+DFT components:
+N(Alpha) : 1.000000753145 electrons
+N(Beta) : 1.000000753145 electrons
+N(Total) : 2.000001506290 electrons
+E(X) : -0.581529949948 Eh
+E(C) : -0.042684508029 Eh
+E(XC) : -0.624214457977 Eh
+DFET-embed. en. : 0.000000000000 Eh
+
+---------------
+SCF CONVERGENCE
+---------------
+
+ Last Energy change ... -1.6201e-09 Tolerance : 1.0000e-08
+ Last MAX-Density change ... 8.9368e-06 Tolerance : 1.0000e-07
+ Last RMS-Density change ... 1.7428e-06 Tolerance : 5.0000e-09
+ Last Orbital Gradient ... 7.0603e-06 Tolerance : 1.0000e-05
+ Last Orbital Rotation ... 8.0205e-06 Tolerance : 1.0000e-05
+
+ **** THE GBW FILE WAS UPDATED (h2_disp_orca.gbw) ****
+ **** DENSITY FILE WAS UPDATED (h2_disp_orca.scfp) ****
+ **** ENERGY FILE WAS UPDATED (h2_disp_orca.en.tmp) ****
+ **** THE GBW FILE WAS UPDATED (h2_disp_orca.gbw) ****
+ **** DENSITY FILE WAS UPDATED (h2_disp_orca.scfp) ****
+----------------
+ORBITAL ENERGIES
+----------------
+
+ NO OCC E(Eh) E(eV)
+ 0 2.0000 -0.337975 -9.1968
+ 1 0.0000 -0.009271 -0.2523
+ 2 0.0000 0.358351 9.7512
+ 3 0.0000 0.549625 14.9561
+ 4 0.0000 1.125742 30.6330
+ 5 0.0000 1.125742 30.6330
+ 6 0.0000 1.451556 39.4988
+ 7 0.0000 1.700412 46.2706
+ 8 0.0000 1.700412 46.2706
+ 9 0.0000 2.578536 70.1655
+
+ ********************************
+ * MULLIKEN POPULATION ANALYSIS *
+ ********************************
+
+-----------------------
+MULLIKEN ATOMIC CHARGES
+-----------------------
+ 0 H : -0.000000
+ 1 H : 0.000000
+Sum of atomic charges: -0.0000000
+
+--------------------------------
+MULLIKEN REDUCED ORBITAL CHARGES
+--------------------------------
+ 0 H s : 0.994220 s : 0.994220
+ pz : 0.000000 p : 0.005780
+ px : 0.005780
+ py : 0.000000
+ 1 H s : 0.994220 s : 0.994220
+ pz : 0.000000 p : 0.005780
+ px : 0.005780
+ py : 0.000000
+
+
+ *******************************
+ * LOEWDIN POPULATION ANALYSIS *
+ *******************************
+
+----------------------
+LOEWDIN ATOMIC CHARGES
+----------------------
+ 0 H : -0.000000
+ 1 H : 0.000000
+
+-------------------------------
+LOEWDIN REDUCED ORBITAL CHARGES
+-------------------------------
+ 0 H s : 0.983646 s : 0.983646
+ pz : 0.000000 p : 0.016354
+ px : 0.016354
+ py : 0.000000
+ 1 H s : 0.983646 s : 0.983646
+ pz : 0.000000 p : 0.016354
+ px : 0.016354
+ py : 0.000000
+
+
+ *****************************
+ * MAYER POPULATION ANALYSIS *
+ *****************************
+
+ NA - Mulliken gross atomic population
+ ZA - Total nuclear charge
+ QA - Mulliken gross atomic charge
+ VA - Mayer's total valence
+ BVA - Mayer's bonded valence
+ FA - Mayer's free valence
+
+ ATOM NA ZA QA VA BVA FA
+ 0 H 1.0000 1.0000 -0.0000 1.0000 1.0000 -0.0000
+ 1 H 1.0000 1.0000 0.0000 1.0000 1.0000 -0.0000
+
+ Mayer bond orders larger than 0.100000
+B( 0-H , 1-H ) : 1.0000
+
+
+------------------
+HIRSHFELD ANALYSIS
+------------------
+
+Total integrated alpha density = 0.998152745
+Total integrated beta density = 0.998152745
+
+ ATOM CHARGE SPIN
+ 0 H 0.001847 0.000000
+ 1 H 0.001847 0.000000
+
+ TOTAL 0.003695 0.000000
+
+-------
+TIMINGS
+-------
+
+Total SCF time: 0 days 0 hours 0 min 0 sec
+
+Total time .... 0.478 sec
+Sum of individual times .... 0.424 sec ( 88.7%)
+
+Fock matrix formation .... 0.349 sec ( 73.1%)
+ Split-RI-J .... 0.332 sec ( 95.0% of F)
+ XC integration .... 0.016 sec ( 4.5% of F)
+ Basis function eval. .... 0.003 sec ( 20.7% of XC)
+ Density eval. .... 0.003 sec ( 17.7% of XC)
+ XC-Functional eval. .... 0.007 sec ( 43.3% of XC)
+ XC-Potential eval. .... 0.001 sec ( 6.5% of XC)
+Diagonalization .... 0.000 sec ( 0.0%)
+Density matrix formation .... 0.000 sec ( 0.0%)
+Population analysis .... 0.001 sec ( 0.2%)
+Initial guess .... 0.056 sec ( 11.7%)
+Orbital Transformation .... 0.000 sec ( 0.0%)
+Orbital Orthonormalization .... 0.000 sec ( 0.0%)
+DIIS solution .... 0.000 sec ( 0.0%)
+SOSCF solution .... 0.000 sec ( 0.0%)
+Grid generation .... 0.018 sec ( 3.7%)
+
+
+-------------------------------------------------------------------------------
+ DFT DISPERSION CORRECTION
+
+ DFTD3 V3.1 Rev 1
+ USING Becke-Johnson damping
+-------------------------------------------------------------------------------
+The PBE functional is recognized
+Active option DFTDOPT ... 4
+
+molecular C6(AA) [au] = 28.931678
+
+
+ DFT-D V3
+ parameters
+ s6 scaling factor : 1.0000
+ a1 scaling factor : 0.4289
+ s8 scaling factor : 0.7875
+ a2 scaling factor : 4.4407
+ ad hoc parameters k1-k3 : 16.0000 1.3333 -4.0000
+
+ Edisp/kcal,au: -0.132247128154 -0.000210749191
+ E6 /kcal : -0.104066703
+ E8 /kcal : -0.028180425
+ % E8 : 21.308912950
+
+------------------------- ----------------
+Dispersion correction -0.000210749
+------------------------- ----------------
+
+
+------------------------- --------------------
+FINAL SINGLE POINT ENERGY -1.139176477697
+------------------------- --------------------
+
+------------------------------------------------------------------------------
+ ORCA SCF GRADIENT CALCULATION
+------------------------------------------------------------------------------
+
+Gradient of the Kohn-Sham DFT energy:
+Kohn-Sham wavefunction type ... RKS
+Hartree-Fock exchange scaling ... 0.000
+Number of operators ... 1
+Number of atoms ... 2
+Basis set dimensions ... 10
+Integral neglect threshold ... 2.5e-11
+Integral primitive cutoff ... 2.5e-12
+
+Nuclear repulsion gradient ... done
+One Electron Gradient ... done
+Pre-screening matrix ... done
+RI-J gradient ... done
+Exchange-correlation gradient ... done
+Dispersion correction ... done
+
+------------------
+CARTESIAN GRADIENT
+------------------
+
+ 1 H : -0.079873920 0.000000000 -0.000000000
+ 2 H : 0.079873920 -0.000000000 0.000000000
+
+Difference to translation invariance:
+ : -0.0000000000 -0.0000000000 -0.0000000000
+
+Norm of the cartesian gradient ... 0.1129587816
+RMS gradient ... 0.0461152295
+MAX gradient ... 0.0798739205
+
+-------
+TIMINGS
+-------
+
+Total SCF gradient time ... 0.139 sec
+
+One electron gradient .... 0.000 sec ( 0.1%)
+Prescreening matrices .... 0.000 sec ( 0.0%)
+RI-J Coulomb gradient .... 0.042 sec ( 30.0%)
+XC gradient .... 0.016 sec ( 11.3%)
+
+ ***************************************
+ * ORCA property calculations *
+ ***************************************
+
+ ---------------------
+ Active property flags
+ ---------------------
+ (+) Dipole Moment
+
+
+------------------------------------------------------------------------------
+ ORCA ELECTRIC PROPERTIES CALCULATION
+------------------------------------------------------------------------------
+
+Dipole Moment Calculation ... on
+Quadrupole Moment Calculation ... off
+Polarizability Calculation ... off
+GBWName ... h2_disp_orca.gbw
+Electron density file ... h2_disp_orca.scfp
+The origin for moment calculation is the CENTER OF MASS = ( 0.944863, 0.000000 0.000000)
+
+-------------
+DIPOLE MOMENT
+-------------
+ X Y Z
+Electronic contribution: 0.00000 0.00000 -0.00000
+Nuclear contribution : 0.00000 0.00000 0.00000
+ -----------------------------------------
+Total Dipole Moment : 0.00000 0.00000 -0.00000
+ -----------------------------------------
+Magnitude (a.u.) : 0.00000
+Magnitude (Debye) : 0.00000
+
+
+
+--------------------
+Rotational spectrum
+--------------------
+
+Rotational constants in cm-1: 0.000000 33.447707 33.447707
+Rotational constants in MHz : 0.000000 1002737.042819 1002737.042819
+
+ Dipole components along the rotational axes:
+x,y,z [a.u.] : 0.000000 0.000000 -0.000000
+x,y,z [Debye]: 0.000000 0.000000 -0.000000
+
+
+
+Timings for individual modules:
+
+Sum of individual times ... 0.738 sec (= 0.012 min)
+GTO integral calculation ... 0.082 sec (= 0.001 min) 11.1 %
+SCF iterations ... 0.494 sec (= 0.008 min) 67.0 %
+SCF Gradient evaluation ... 0.161 sec (= 0.003 min) 21.9 %
+ ****ORCA TERMINATED NORMALLY****
+TOTAL RUN TIME: 0 days 0 hours 0 minutes 0 seconds 866 msec
diff --git a/tests/data/orca/h2_disp_orca.xyz b/tests/data/orca/h2_disp_orca.xyz
new file mode 100644
index 000000000..baea2195e
--- /dev/null
+++ b/tests/data/orca/h2_disp_orca.xyz
@@ -0,0 +1,4 @@
+2
+Coordinates from ORCA-job h2_disp_orca
+ H 0.00000000000000 0.00000000000000 0.00000000000000
+ H 1.00000001000000 0.00000000000000 0.00000000000000
diff --git a/tests/data/orca/h2_grad_orca.out b/tests/data/orca/h2_grad_orca.out
new file mode 100644
index 000000000..df6836400
--- /dev/null
+++ b/tests/data/orca/h2_grad_orca.out
@@ -0,0 +1,734 @@
+
+ *****************
+ * O R C A *
+ *****************
+
+ --- An Ab Initio, DFT and Semiempirical electronic structure package ---
+
+ #######################################################
+ # -***- #
+ # Department of theory and spectroscopy #
+ # Directorship: Frank Neese #
+ # Max Planck Institute fuer Kohlenforschung #
+ # Kaiser Wilhelm Platz 1 #
+ # D-45470 Muelheim/Ruhr #
+ # Germany #
+ # #
+ # All rights reserved #
+ # -***- #
+ #######################################################
+
+
+ Program Version 4.2.1 - RELEASE -
+
+
+ With contributions from (in alphabetic order):
+ Daniel Aravena : Magnetic Suceptibility
+ Michael Atanasov : Ab Initio Ligand Field Theory (pilot matlab implementation)
+ Alexander A. Auer : GIAO ZORA, VPT2
+ Ute Becker : Parallelization
+ Giovanni Bistoni : ED, misc. LED, open-shell LED, HFLD
+ Martin Brehm : Molecular dynamics
+ Dmytro Bykov : SCF Hessian
+ Vijay G. Chilkuri : MRCI spin determinant printing, contributions to CSF-ICE
+ Dipayan Datta : RHF DLPNO-CCSD density
+ Achintya Kumar Dutta : EOM-CC, STEOM-CC
+ Dmitry Ganyushin : Spin-Orbit,Spin-Spin,Magnetic field MRCI
+ Miquel Garcia : C-PCM Hessian, Gaussian charge scheme
+ Yang Guo : DLPNO-NEVPT2, CIM, IAO-localization
+ Andreas Hansen : Spin unrestricted coupled pair/coupled cluster methods
+ Benjamin Helmich-Paris : CASSCF linear response (MC-RPA)
+ Lee Huntington : MR-EOM, pCC
+ Robert Izsak : Overlap fitted RIJCOSX, COSX-SCS-MP3, EOM
+ Christian Kollmar : KDIIS, OOCD, Brueckner-CCSD(T), CCSD density
+ Simone Kossmann : Meta GGA functionals, TD-DFT gradient, OOMP2, MP2 Hessian
+ Martin Krupicka : AUTO-CI
+ Lucas Lang : DCDCAS
+ Dagmar Lenk : GEPOL surface, SMD
+ Dimitrios Liakos : Extrapolation schemes; Compound Job, initial MDCI parallelization
+ Dimitrios Manganas : Further ROCIS development; embedding schemes
+ Dimitrios Pantazis : SARC Basis sets
+ Taras Petrenko : DFT Hessian,TD-DFT gradient, ASA, ECA, R-Raman, ABS, FL, XAS/XES, NRVS
+ Peter Pinski : DLPNO-MP2, DLPNO-MP2 Gradient
+ Christoph Reimann : Effective Core Potentials
+ Marius Retegan : Local ZFS, SOC
+ Christoph Riplinger : Optimizer, TS searches, QM/MM, DLPNO-CCSD(T), (RO)-DLPNO pert. Triples
+ Tobias Risthaus : Range-separated hybrids, TD-DFT gradient, RPA, STAB
+ Michael Roemelt : Original ROCIS implementation
+ Masaaki Saitow : Open-shell DLPNO-CCSD energy and density
+ Barbara Sandhoefer : DKH picture change effects
+ Avijit Sen : IP-ROCIS
+ Kantharuban Sivalingam : CASSCF convergence, NEVPT2, FIC-MRCI
+ Bernardo de Souza : ESD, SOC TD-DFT
+ Georgi Stoychev : AutoAux, RI-MP2 NMR
+ Willem Van den Heuvel : Paramagnetic NMR
+ Boris Wezisla : Elementary symmetry handling
+ Frank Wennmohs : Technical directorship
+
+
+ We gratefully acknowledge several colleagues who have allowed us to
+ interface, adapt or use parts of their codes:
+ Stefan Grimme, W. Hujo, H. Kruse, : VdW corrections, initial TS optimization,
+ C. Bannwarth DFT functionals, gCP, sTDA/sTD-DF
+ Ed Valeev, F. Pavosevic, A. Kumar : LibInt (2-el integral package), F12 methods
+ Garnet Chan, S. Sharma, J. Yang, R. Olivares : DMRG
+ Ulf Ekstrom : XCFun DFT Library
+ Mihaly Kallay : mrcc (arbitrary order and MRCC methods)
+ Andreas Klamt, Michael Diedenhofen : otool_cosmo (COSMO solvation model)
+ Jiri Pittner, Ondrej Demel : Mk-CCSD
+ Frank Weinhold : gennbo (NPA and NBO analysis)
+ Christopher J. Cramer and Donald G. Truhlar : smd solvation model
+ Lars Goerigk : TD-DFT with DH, B97 family of functionals
+ V. Asgeirsson, H. Jonsson : NEB implementation
+ FAccTs GmbH : IRC, NEB, NEB-TS, Multilevel, MM, QM/MM, CI optimization
+ S Lehtola, MJT Oliveira, MAL Marques : LibXC Library
+
+
+ Your calculation uses the libint2 library for the computation of 2-el integrals
+ For citations please refer to: http://libint.valeyev.net
+
+ Your ORCA version has been built with support for libXC version: 4.2.3
+ For citations please refer to: https://tddft.org/programs/libxc/
+
+ This ORCA versions uses:
+ CBLAS interface : Fast vector & matrix operations
+ LAPACKE interface : Fast linear algebra routines
+ SCALAPACK package : Parallel linear algebra routines
+
+
+Your calculation utilizes the atom-pairwise dispersion correction
+with the Becke-Johnson damping scheme (D3BJ)
+Cite in your paper:
+S.Grimme, S.Ehrlich, L.Goerigk, J Comput Chem, (2011), 32, 1456–1465
+S.Grimme, J.Antony, S.Ehrlich and H.Krieg, J.Chem.Phys., 132, (2010), 154104
+
+
+----- Orbital basis set information -----
+Your calculation utilizes the basis: def2-SVP
+ F. Weigend and R. Ahlrichs, Phys. Chem. Chem. Phys. 7, 3297 (2005).
+
+----- AuxJ basis set information -----
+Your calculation utilizes the auxiliary basis: def2/J
+ F. Weigend, Phys. Chem. Chem. Phys. 8, 1057 (2006).
+
+================================================================================
+ WARNINGS
+ Please study these warnings very carefully!
+================================================================================
+
+
+INFO : the flag for use of LIBINT has been found!
+
+================================================================================
+ INPUT FILE
+================================================================================
+NAME = h2_grad_orca.inp
+| 1> ! EnGrad PBE D3BJ def2-SVP
+| 2> %geom MaxIter 100 end
+| 3> %output
+| 4> xyzfile=True
+| 5> end
+| 6> %scf
+| 7> maxiter 250
+| 8> end
+| 9> %output
+| 10> Print[P_Hirshfeld] = 1
+| 11> end
+| 12> % maxcore
+| 13> 4000
+| 14> *xyz 0 1
+| 15> H 0.00000000 0.00000000 0.00000000
+| 16> H 1.00000000 0.00000000 0.00000000
+| 17> *
+| 18>
+| 19> ****END OF INPUT****
+================================================================================
+
+ *******************************
+ * Energy+Gradient Calculation *
+ *******************************
+
+---------------------------------
+CARTESIAN COORDINATES (ANGSTROEM)
+---------------------------------
+ H 0.000000 0.000000 0.000000
+ H 1.000000 0.000000 0.000000
+
+----------------------------
+CARTESIAN COORDINATES (A.U.)
+----------------------------
+ NO LB ZA FRAG MASS X Y Z
+ 0 H 1.0000 0 1.008 0.000000 0.000000 0.000000
+ 1 H 1.0000 0 1.008 1.889726 0.000000 0.000000
+
+--------------------------------
+INTERNAL COORDINATES (ANGSTROEM)
+--------------------------------
+ H 0 0 0 0.000000000000 0.00000000 0.00000000
+ H 1 0 0 1.000000000000 0.00000000 0.00000000
+
+---------------------------
+INTERNAL COORDINATES (A.U.)
+---------------------------
+ H 0 0 0 0.000000000000 0.00000000 0.00000000
+ H 1 0 0 1.889726133921 0.00000000 0.00000000
+
+---------------------
+BASIS SET INFORMATION
+---------------------
+There are 1 groups of distinct atoms
+
+ Group 1 Type H : 4s1p contracted to 2s1p pattern {31/1}
+
+Atom 0H basis set group => 1
+Atom 1H basis set group => 1
+---------------------------------
+AUXILIARY/J BASIS SET INFORMATION
+---------------------------------
+There are 1 groups of distinct atoms
+
+ Group 1 Type H : 5s2p1d contracted to 3s1p1d pattern {311/2/1}
+
+Atom 0H basis set group => 1
+Atom 1H basis set group => 1
+------------------------------------------------------------------------------
+ ORCA GTO INTEGRAL CALCULATION
+ -- RI-GTO INTEGRALS CHOSEN --
+------------------------------------------------------------------------------
+
+ BASIS SET STATISTICS AND STARTUP INFO
+
+Gaussian basis set:
+ # of primitive gaussian shells ... 10
+ # of primitive gaussian functions ... 14
+ # of contracted shells ... 6
+ # of contracted basis functions ... 10
+ Highest angular momentum ... 1
+ Maximum contraction depth ... 3
+Auxiliary gaussian basis set:
+ # of primitive gaussian shells ... 16
+ # of primitive gaussian functions ... 32
+ # of contracted shells ... 10
+ # of contracted aux-basis functions ... 22
+ Highest angular momentum ... 2
+ Maximum contraction depth ... 3
+Ratio of auxiliary to basis functions ... 2.20
+Integral package used ... LIBINT
+ One Electron integrals ... done
+ Ordering auxiliary basis shells ... done
+ Integral threshhold Thresh ... 2.500e-11
+ Primitive cut-off TCut ... 2.500e-12
+ Pre-screening matrix ... done
+ Shell pair data ...
+ Ordering of the shell pairs ... done ( 0.000 sec) 21 of 21 pairs
+ Determination of significant pairs ... done ( 0.000 sec)
+ Creation of shell pair data ... done ( 0.000 sec)
+ Storage of shell pair data ... done ( 0.000 sec)
+ Shell pair data done in ( 0.000 sec)
+ Computing two index integrals ... done
+ Cholesky decomposition of the V-matrix ... done
+
+
+Timings:
+ Total evaluation time ... 0.060 sec ( 0.001 min)
+ One electron matrix time ... 0.002 sec ( 0.000 min) = 3.1%
+ Schwartz matrix evaluation time ... 0.052 sec ( 0.001 min) = 85.5%
+ Two index repulsion integral time ... 0.000 sec ( 0.000 min) = 0.1%
+ Cholesky decomposition of V ... 0.000 sec ( 0.000 min) = 0.3%
+ Three index repulsion integral time ... 0.000 sec ( 0.000 min) = 0.0%
+
+-------------------------------------------------------------------------------
+ ORCA SCF
+-------------------------------------------------------------------------------
+
+------------
+SCF SETTINGS
+------------
+Hamiltonian:
+ Density Functional Method .... DFT(GTOs)
+ Exchange Functional Exchange .... PBE
+ PBE kappa parameter XKappa .... 0.804000
+ PBE mue parameter XMuePBE .... 0.219520
+ Correlation Functional Correlation .... PBE
+ PBE beta parameter CBetaPBE .... 0.066725
+ LDA part of GGA corr. LDAOpt .... PW91-LDA
+ Gradients option PostSCFGGA .... off
+ Density functional embedding theory .... OFF
+ NL short-range parameter .... 6.400000
+ RI-approximation to the Coulomb term is turned on
+ Number of auxiliary basis functions .... 22
+
+
+General Settings:
+ Integral files IntName .... h2_grad_orca
+ Hartree-Fock type HFTyp .... RHF
+ Total Charge Charge .... 0
+ Multiplicity Mult .... 1
+ Number of Electrons NEL .... 2
+ Basis Dimension Dim .... 10
+ Nuclear Repulsion ENuc .... 0.5291772083 Eh
+
+Convergence Acceleration:
+ DIIS CNVDIIS .... on
+ Start iteration DIISMaxIt .... 12
+ Startup error DIISStart .... 0.200000
+ # of expansion vecs DIISMaxEq .... 5
+ Bias factor DIISBfac .... 1.050
+ Max. coefficient DIISMaxC .... 10.000
+ Newton-Raphson CNVNR .... off
+ SOSCF CNVSOSCF .... on
+ Start iteration SOSCFMaxIt .... 150
+ Startup grad/error SOSCFStart .... 0.003300
+ Level Shifting CNVShift .... on
+ Level shift para. LevelShift .... 0.2500
+ Turn off err/grad. ShiftErr .... 0.0010
+ Zerner damping CNVZerner .... off
+ Static damping CNVDamp .... on
+ Fraction old density DampFac .... 0.7000
+ Max. Damping (<1) DampMax .... 0.9800
+ Min. Damping (>=0) DampMin .... 0.0000
+ Turn off err/grad. DampErr .... 0.1000
+ Fernandez-Rico CNVRico .... off
+
+SCF Procedure:
+ Maximum # iterations MaxIter .... 250
+ SCF integral mode SCFMode .... Direct
+ Integral package .... LIBINT
+ Reset frequency DirectResetFreq .... 20
+ Integral Threshold Thresh .... 2.500e-11 Eh
+ Primitive CutOff TCut .... 2.500e-12 Eh
+
+Convergence Tolerance:
+ Convergence Check Mode ConvCheckMode .... Total+1el-Energy
+ Convergence forced ConvForced .... 0
+ Energy Change TolE .... 1.000e-08 Eh
+ 1-El. energy change .... 1.000e-05 Eh
+ Orbital Gradient TolG .... 1.000e-05
+ Orbital Rotation angle TolX .... 1.000e-05
+ DIIS Error TolErr .... 5.000e-07
+
+
+Diagonalization of the overlap matrix:
+Smallest eigenvalue ... 1.144e-01
+Time for diagonalization ... 0.000 sec
+Threshold for overlap eigenvalues ... 1.000e-08
+Number of eigenvalues below threshold ... 0
+Time for construction of square roots ... 0.000 sec
+Total time needed ... 0.000 sec
+
+-------------------
+DFT GRID GENERATION
+-------------------
+
+General Integration Accuracy IntAcc ... 4.340
+Radial Grid Type RadialGrid ... Gauss-Chebyshev
+Angular Grid (max. acc.) AngularGrid ... Lebedev-110
+Angular grid pruning method GridPruning ... 3 (G Style)
+Weight generation scheme WeightScheme... Becke
+Basis function cutoff BFCut ... 1.0000e-11
+Integration weight cutoff WCut ... 1.0000e-14
+Grids for H and He will be reduced by one unit
+
+# of grid points (after initial pruning) ... 1588 ( 0.0 sec)
+# of grid points (after weights+screening) ... 1566 ( 0.0 sec)
+nearest neighbour list constructed ... 0.0 sec
+Grid point re-assignment to atoms done ... 0.0 sec
+Grid point division into batches done ... 0.0 sec
+Reduced shell lists constructed in 0.0 sec
+
+Total number of grid points ... 1566
+Total number of batches ... 26
+Average number of points per batch ... 60
+Average number of grid points per atom ... 783
+Average number of shells per batch ... 5.78 (96.30%)
+Average number of basis functions per batch ... 9.63 (96.30%)
+Average number of large shells per batch ... 5.74 (99.36%)
+Average number of large basis fcns per batch ... 9.52 (98.85%)
+Maximum spatial batch extension ... 15.26, 21.59, 21.59 au
+Average spatial batch extension ... 4.63, 8.28, 8.44 au
+
+Time for grid setup = 0.002 sec
+
+------------------------------
+INITIAL GUESS: MODEL POTENTIAL
+------------------------------
+Loading Hartree-Fock densities ... done
+Calculating cut-offs ... done
+Setting up the integral package ... done
+Initializing the effective Hamiltonian ... done
+Starting the Coulomb interaction ... done ( 0.0 sec)
+Reading the grid ... done
+Mapping shells ... done
+Starting the XC term evaluation ... done ( 0.0 sec)
+ promolecular density results
+ # of electrons = 1.995342477
+ EX = -0.539655113
+ EC = -0.039204154
+ EX+EC = -0.578859266
+Transforming the Hamiltonian ... done ( 0.0 sec)
+Diagonalizing the Hamiltonian ... done ( 0.0 sec)
+Back transforming the eigenvectors ... done ( 0.0 sec)
+Now organizing SCF variables ... done
+ ------------------
+ INITIAL GUESS DONE ( 0.1 sec)
+ ------------------
+--------------
+SCF ITERATIONS
+--------------
+ITER Energy Delta-E Max-DP RMS-DP [F,P] Damp
+ *** Starting incremental Fock matrix formation ***
+ 0 -1.1371803703 0.000000000000 0.00800249 0.00156073 0.0277451 0.7000
+ 1 -1.1376074634 -0.000427093056 0.00733753 0.00142548 0.0194169 0.7000
+ ***Turning on DIIS***
+ 2 -1.1378921902 -0.000284726814 0.01726758 0.00334735 0.0123998 0.0000
+ 3 -1.1384268930 -0.000534702810 0.00253904 0.00049918 0.0034195 0.0000
+ *** Initiating the SOSCF procedure ***
+ *** Shutting down DIIS ***
+ *** Re-Reading the Fockian ***
+ *** Removing any level shift ***
+ITER Energy Delta-E Grad Rot Max-DP RMS-DP
+ 4 -1.13844475 -0.0000178584 0.000599 0.000599 0.000999 0.000193
+ *** Restarting incremental Fock matrix formation ***
+ 5 -1.13844598 -0.0000012260 0.000027 0.000038 0.000043 0.000008
+ **** Energy Check signals convergence ****
+ ***Rediagonalizing the Fockian in SOSCF/NRSCF***
+
+ *****************************************************
+ * SUCCESS *
+ * SCF CONVERGED AFTER 6 CYCLES *
+ *****************************************************
+
+Setting up the final grid:
+
+General Integration Accuracy IntAcc ... 4.670
+Radial Grid Type RadialGrid ... Gauss-Chebyshev
+Angular Grid (max. acc.) AngularGrid ... Lebedev-302
+Angular grid pruning method GridPruning ... 3 (G Style)
+Weight generation scheme WeightScheme... Becke
+Basis function cutoff BFCut ... 1.0000e-11
+Integration weight cutoff WCut ... 1.0000e-14
+Grids for H and He will be reduced by one unit
+
+# of grid points (after initial pruning) ... 6788 ( 0.0 sec)
+# of grid points (after weights+screening) ... 6762 ( 0.0 sec)
+nearest neighbour list constructed ... 0.0 sec
+Grid point re-assignment to atoms done ... 0.0 sec
+Grid point division into batches done ... 0.0 sec
+Reduced shell lists constructed in 0.0 sec
+
+Total number of grid points ... 6762
+Total number of batches ... 106
+Average number of points per batch ... 63
+Average number of grid points per atom ... 3381
+Average number of shells per batch ... 5.62 (93.61%)
+Average number of basis functions per batch ... 9.13 (91.31%)
+Average number of large shells per batch ... 5.35 (95.17%)
+Average number of large basis fcns per batch ... 8.58 (93.96%)
+Maximum spatial batch extension ... 13.36, 15.43, 15.43 au
+Average spatial batch extension ... 3.44, 3.76, 3.67 au
+
+Final grid set up in 0.0 sec
+Final integration ... done ( 0.0 sec)
+Change in XC energy ... -0.000519751
+Integrated number of electrons ... 2.000001506
+Previous integrated no of electrons ... 1.996305491
+
+----------------
+TOTAL SCF ENERGY
+----------------
+
+Total Energy : -1.13896573 Eh -30.99283 eV
+
+Components:
+Nuclear Repulsion : 0.52917721 Eh 14.39964 eV
+Electronic Energy : -1.66814294 Eh -45.39248 eV
+One Electron Energy: -2.21299245 Eh -60.21859 eV
+Two Electron Energy: 0.54484951 Eh 14.82611 eV
+
+Virial components:
+Potential Energy : -2.07822305 Eh -56.55132 eV
+Kinetic Energy : 0.93925732 Eh 25.55849 eV
+Virial Ratio : 2.21262375
+
+
+DFT components:
+N(Alpha) : 1.000000753145 electrons
+N(Beta) : 1.000000753145 electrons
+N(Total) : 2.000001506290 electrons
+E(X) : -0.581529952006 Eh
+E(C) : -0.042684508121 Eh
+E(XC) : -0.624214460127 Eh
+DFET-embed. en. : 0.000000000000 Eh
+
+---------------
+SCF CONVERGENCE
+---------------
+
+ Last Energy change ... -1.6201e-09 Tolerance : 1.0000e-08
+ Last MAX-Density change ... 8.9368e-06 Tolerance : 1.0000e-07
+ Last RMS-Density change ... 1.7428e-06 Tolerance : 5.0000e-09
+ Last Orbital Gradient ... 7.0603e-06 Tolerance : 1.0000e-05
+ Last Orbital Rotation ... 8.0205e-06 Tolerance : 1.0000e-05
+
+ **** THE GBW FILE WAS UPDATED (h2_grad_orca.gbw) ****
+ **** DENSITY FILE WAS UPDATED (h2_grad_orca.scfp) ****
+ **** ENERGY FILE WAS UPDATED (h2_grad_orca.en.tmp) ****
+ **** THE GBW FILE WAS UPDATED (h2_grad_orca.gbw) ****
+ **** DENSITY FILE WAS UPDATED (h2_grad_orca.scfp) ****
+----------------
+ORBITAL ENERGIES
+----------------
+
+ NO OCC E(Eh) E(eV)
+ 0 2.0000 -0.337975 -9.1968
+ 1 0.0000 -0.009271 -0.2523
+ 2 0.0000 0.358351 9.7512
+ 3 0.0000 0.549625 14.9561
+ 4 0.0000 1.125742 30.6330
+ 5 0.0000 1.125742 30.6330
+ 6 0.0000 1.451556 39.4988
+ 7 0.0000 1.700412 46.2706
+ 8 0.0000 1.700412 46.2706
+ 9 0.0000 2.578536 70.1655
+
+ ********************************
+ * MULLIKEN POPULATION ANALYSIS *
+ ********************************
+
+-----------------------
+MULLIKEN ATOMIC CHARGES
+-----------------------
+ 0 H : -0.000000
+ 1 H : 0.000000
+Sum of atomic charges: 0.0000000
+
+--------------------------------
+MULLIKEN REDUCED ORBITAL CHARGES
+--------------------------------
+ 0 H s : 0.994220 s : 0.994220
+ pz : 0.000000 p : 0.005780
+ px : 0.005780
+ py : 0.000000
+ 1 H s : 0.994220 s : 0.994220
+ pz : 0.000000 p : 0.005780
+ px : 0.005780
+ py : 0.000000
+
+
+ *******************************
+ * LOEWDIN POPULATION ANALYSIS *
+ *******************************
+
+----------------------
+LOEWDIN ATOMIC CHARGES
+----------------------
+ 0 H : -0.000000
+ 1 H : 0.000000
+
+-------------------------------
+LOEWDIN REDUCED ORBITAL CHARGES
+-------------------------------
+ 0 H s : 0.983646 s : 0.983646
+ pz : 0.000000 p : 0.016354
+ px : 0.016354
+ py : 0.000000
+ 1 H s : 0.983646 s : 0.983646
+ pz : 0.000000 p : 0.016354
+ px : 0.016354
+ py : 0.000000
+
+
+ *****************************
+ * MAYER POPULATION ANALYSIS *
+ *****************************
+
+ NA - Mulliken gross atomic population
+ ZA - Total nuclear charge
+ QA - Mulliken gross atomic charge
+ VA - Mayer's total valence
+ BVA - Mayer's bonded valence
+ FA - Mayer's free valence
+
+ ATOM NA ZA QA VA BVA FA
+ 0 H 1.0000 1.0000 -0.0000 1.0000 1.0000 0.0000
+ 1 H 1.0000 1.0000 0.0000 1.0000 1.0000 0.0000
+
+ Mayer bond orders larger than 0.100000
+B( 0-H , 1-H ) : 1.0000
+
+
+------------------
+HIRSHFELD ANALYSIS
+------------------
+
+Total integrated alpha density = 0.998152745
+Total integrated beta density = 0.998152745
+
+ ATOM CHARGE SPIN
+ 0 H 0.001847 0.000000
+ 1 H 0.001847 0.000000
+
+ TOTAL 0.003695 0.000000
+
+-------
+TIMINGS
+-------
+
+Total SCF time: 0 days 0 hours 0 min 0 sec
+
+Total time .... 0.482 sec
+Sum of individual times .... 0.432 sec ( 89.6%)
+
+Fock matrix formation .... 0.357 sec ( 74.1%)
+ Split-RI-J .... 0.338 sec ( 94.7% of F)
+ XC integration .... 0.017 sec ( 4.8% of F)
+ Basis function eval. .... 0.004 sec ( 21.0% of XC)
+ Density eval. .... 0.003 sec ( 16.9% of XC)
+ XC-Functional eval. .... 0.007 sec ( 43.1% of XC)
+ XC-Potential eval. .... 0.001 sec ( 6.4% of XC)
+Diagonalization .... 0.000 sec ( 0.0%)
+Density matrix formation .... 0.000 sec ( 0.0%)
+Population analysis .... 0.001 sec ( 0.2%)
+Initial guess .... 0.055 sec ( 11.4%)
+Orbital Transformation .... 0.000 sec ( 0.0%)
+Orbital Orthonormalization .... 0.000 sec ( 0.0%)
+DIIS solution .... 0.000 sec ( 0.0%)
+SOSCF solution .... 0.000 sec ( 0.0%)
+Grid generation .... 0.019 sec ( 3.8%)
+
+
+-------------------------------------------------------------------------------
+ DFT DISPERSION CORRECTION
+
+ DFTD3 V3.1 Rev 1
+ USING Becke-Johnson damping
+-------------------------------------------------------------------------------
+The PBE functional is recognized
+Active option DFTDOPT ... 4
+
+molecular C6(AA) [au] = 28.931678
+
+
+ DFT-D V3
+ parameters
+ s6 scaling factor : 1.0000
+ a1 scaling factor : 0.4289
+ s8 scaling factor : 0.7875
+ a2 scaling factor : 4.4407
+ ad hoc parameters k1-k3 : 16.0000 1.3333 -4.0000
+
+ Edisp/kcal,au: -0.132247127680 -0.000210749190
+ E6 /kcal : -0.104066702
+ E8 /kcal : -0.028180425
+ % E8 : 21.308912949
+
+------------------------- ----------------
+Dispersion correction -0.000210749
+------------------------- ----------------
+
+
+------------------------- --------------------
+FINAL SINGLE POINT ENERGY -1.139176479197
+------------------------- --------------------
+
+------------------------------------------------------------------------------
+ ORCA SCF GRADIENT CALCULATION
+------------------------------------------------------------------------------
+
+Gradient of the Kohn-Sham DFT energy:
+Kohn-Sham wavefunction type ... RKS
+Hartree-Fock exchange scaling ... 0.000
+Number of operators ... 1
+Number of atoms ... 2
+Basis set dimensions ... 10
+Integral neglect threshold ... 2.5e-11
+Integral primitive cutoff ... 2.5e-12
+
+Nuclear repulsion gradient ... done
+One Electron Gradient ... done
+Pre-screening matrix ... done
+RI-J gradient ... done
+Exchange-correlation gradient ... done
+Dispersion correction ... done
+
+------------------
+CARTESIAN GRADIENT
+------------------
+
+ 1 H : -0.079873919 0.000000000 -0.000000000
+ 2 H : 0.079873919 -0.000000000 0.000000000
+
+Difference to translation invariance:
+ : -0.0000000000 -0.0000000000 0.0000000000
+
+Norm of the cartesian gradient ... 0.1129587797
+RMS gradient ... 0.0461152287
+MAX gradient ... 0.0798739191
+
+-------
+TIMINGS
+-------
+
+Total SCF gradient time ... 0.141 sec
+
+One electron gradient .... 0.000 sec ( 0.1%)
+Prescreening matrices .... 0.000 sec ( 0.0%)
+RI-J Coulomb gradient .... 0.043 sec ( 30.5%)
+XC gradient .... 0.016 sec ( 11.4%)
+
+ ***************************************
+ * ORCA property calculations *
+ ***************************************
+
+ ---------------------
+ Active property flags
+ ---------------------
+ (+) Dipole Moment
+
+
+------------------------------------------------------------------------------
+ ORCA ELECTRIC PROPERTIES CALCULATION
+------------------------------------------------------------------------------
+
+Dipole Moment Calculation ... on
+Quadrupole Moment Calculation ... off
+Polarizability Calculation ... off
+GBWName ... h2_grad_orca.gbw
+Electron density file ... h2_grad_orca.scfp
+The origin for moment calculation is the CENTER OF MASS = ( 0.944863, 0.000000 0.000000)
+
+-------------
+DIPOLE MOMENT
+-------------
+ X Y Z
+Electronic contribution: 0.00000 -0.00000 -0.00000
+Nuclear contribution : 0.00000 0.00000 0.00000
+ -----------------------------------------
+Total Dipole Moment : 0.00000 -0.00000 -0.00000
+ -----------------------------------------
+Magnitude (a.u.) : 0.00000
+Magnitude (Debye) : 0.00000
+
+
+
+--------------------
+Rotational spectrum
+--------------------
+
+Rotational constants in cm-1: 0.000000 33.447708 33.447708
+Rotational constants in MHz : 0.000000 1002737.062874 1002737.062874
+
+ Dipole components along the rotational axes:
+x,y,z [a.u.] : 0.000000 -0.000000 -0.000000
+x,y,z [Debye]: 0.000000 -0.000000 -0.000000
+
+
+
+Timings for individual modules:
+
+Sum of individual times ... 0.742 sec (= 0.012 min)
+GTO integral calculation ... 0.078 sec (= 0.001 min) 10.5 %
+SCF iterations ... 0.499 sec (= 0.008 min) 67.2 %
+SCF Gradient evaluation ... 0.165 sec (= 0.003 min) 22.3 %
+ ****ORCA TERMINATED NORMALLY****
+TOTAL RUN TIME: 0 days 0 hours 0 minutes 0 seconds 907 msec
diff --git a/tests/data/orca/h2_grad_orca.xyz b/tests/data/orca/h2_grad_orca.xyz
new file mode 100644
index 000000000..497170bda
--- /dev/null
+++ b/tests/data/orca/h2_grad_orca.xyz
@@ -0,0 +1,4 @@
+2
+Coordinates from ORCA-job h2_grad_orca
+ H 0.00000000000000 0.00000000000000 0.00000000000000
+ H 1.00000000000000 0.00000000000000 0.00000000000000
diff --git a/tests/data/xtb/gradient b/tests/data/xtb/gradient
new file mode 100644
index 000000000..95b0b7337
--- /dev/null
+++ b/tests/data/xtb/gradient
@@ -0,0 +1,13 @@
+$gradient
+cycle = 1 SCF energy = -4.17404780397 |dE/dxyz| = 0.027866
+3.63797523123375 -1.13138130908142 -0.00032759661848 C
+5.72449332438353 -1.13197561185651 0.00028950521969 H
+ 2.94133258016711 0.22776472016180 -1.42078243039077 H
+ 2.94175598539510 -0.58111835182372 1.88747566982948 H
+2.94180792167968 -3.04156357656436 -0.46665514803992 H
+-1.7221823521705E-05 7.9930724499610E-05 -1.1737079840097E-04
+ 1.4116296505865E-02 -4.0359524399270E-05 3.9719638516747E-05
+-4.7199424681741E-03 9.0086220034949E-03 -9.4114548523723E-03
+-4.6956970257351E-03 3.6356853660431E-03 1.2558467871909E-02
+ -4.6834351884340E-03 -1.2683878569638E-02 -3.0693618596526E-03
+$end
diff --git a/tests/data/xtb/h2_disp_sp_xtb.out b/tests/data/xtb/h2_disp_sp_xtb.out
new file mode 100644
index 000000000..a04ebb5b2
--- /dev/null
+++ b/tests/data/xtb/h2_disp_sp_xtb.out
@@ -0,0 +1,225 @@
+ -----------------------------------------------------------
+ | ===================== |
+ | x T B |
+ | ===================== |
+ | S. Grimme |
+ | Mulliken Center for Theoretical Chemistry |
+ | University of Bonn |
+ -----------------------------------------------------------
+
+ * xtb version 6.2.3 (830e466) compiled by 'ehlert@majestix' on 2020-03-16
+
+ xtb is free software: you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ xtb is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ Cite this work as:
+ * S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017,
+ 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118
+ * C. Bannwarth, S. Ehlert and S. Grimme., J. Chem. Theory Comput., 2019,
+ 15, 1652-1671. DOI: 10.1021/acs.jctc.8b01176
+ * P. Pracht, E. Caldeweyher, S. Ehlert, S. Grimme, ChemRxiv, 2019, preprint.
+ DOI: 10.26434/chemrxiv.8326202.v1
+
+ for DFT-D4:
+ * E. Caldeweyher, C. Bannwarth and S. Grimme, J. Chem. Phys., 2017,
+ 147, 034112. DOI: 10.1063/1.4993215
+ * E. Caldeweyher, S. Ehlert, A. Hansen, H. Neugebauer, S. Spicher,
+ C. Bannwarth and S. Grimme, J. Chem. Phys., 2019, 150, 154122.
+ DOI: 10.1063/1.5090222
+
+ for sTDA-xTB:
+ * S. Grimme and C. Bannwarth, J. Chem. Phys., 2016, 145, 054103.
+ DOI: 10.1063/1.4959605
+
+ in the mass-spec context:
+ * V. Asgeirsson, C. Bauer and S. Grimme, Chem. Sci., 2017, 8, 4879.
+ DOI: 10.1039/c7sc00601b
+
+ for metadynamics refer to:
+ * S. Grimme, J. Chem. Theory Comput., 2019, 155, 2847-2862
+ DOI: 10.1021/acs.jctc.9b00143
+
+ with help from (in alphabetical order)
+ C. Bannwarth, F. Bohle, G. Brandenburg, E. Caldeweyher, M. Checinski,
+ S. Dohm, S. Ehlert, S. Ehrlich, F. März, H. Neugebauer, J. Pisarek,
+ P. Pracht, P. Shushkov, and S. Spicher.
+
+ * started run on 2020/07/10 at 11:58:33.648
+
+ -------------------------------------------------
+ | Calculation Setup |
+ -------------------------------------------------
+
+ program call : /home/tom/.local/bin/xtb h2_disp_sp_xtb.xyz --chrg 0
+ coordinate file : h2_disp_sp_xtb.xyz
+ omp threads : 4
+ number of atoms : 2
+ number of electrons : 2
+ charge : 0
+ spin : 0.0
+ first test random number : 0.67842890260110
+
+
+molecular fragmentation (1/2 indicates fragments):
+12
+# atoms in fragment 1/2: 1 1
+ fragment masses (1/2) : 1.01 1.01
+CMA distance (Bohr) : 1.890
+constraining FC (au) : 0.0500
+########################################################################
+[WARNING] Please study the warnings concerning your input carefully
+-2- prog_main: XTBPATH is not set, using XTBHOME instead
+-1- prog_main: XTBHOME is not set, using HOME instead
+########################################################################
+ -------------------------------------------------
+ | G F N 2 - x T B |
+ | Geometry, Frequencies, Noncovalent interactions |
+ | JCTC 2019 parametrisation |
+ -------------------------------------------------
+ k(s) : 1.8500
+ k(p) : 2.2300
+ k(d) : 2.2300
+ k(f) : 2.0000
+ kEN (H0ij) : -2.0000
+ D4 a1 : 0.5200
+ D4 a2 : 5.0000
+ D4 s6 : 1.0000
+ D4 s8 : 2.7000
+ D4 s9 : 5.0000
+ alphaj : 2.0000
+
+ Z AO/shell Hii/eV exponent
+ 1 Wed Apr 25 08:07:45 CEST 2018 EN: 2.200 GM2: 0.406 GM3: 0.0800 RAES: 1.40
+ 1s -10.707211 1.230000
+
+ -------------------------------------------------
+ | Self-Consistent Charge Iterations |
+ -------------------------------------------------
+
+ ...................................................
+ : SETUP :
+ :.................................................:
+ : # basis functions 2 :
+ : # atomic orbitals 2 :
+ : # shells 2 :
+ : # electrons 2 :
+ : max. iterations 250 :
+ : Hamiltonian GFN2-xTB :
+ : restarted? false :
+ : GBSA solvation false :
+ : PC potential false :
+ : electronic temp. 300.0000000 K :
+ : accuracy 1.0000000 :
+ : -> integral cutoff 0.2500000E+02 :
+ : -> integral neglect 0.1000000E-07 :
+ : -> SCF convergence 0.1000000E-05 Eh :
+ : -> wf. convergence 0.1000000E-03 e :
+ : Broyden damping 0.4000000 :
+ ...................................................
+
+ iter E dE RMSdq gap omega full diag
+ 1 -0.9763805 -0.976380E+00 0.539E+00 11.55 0.0 T
+ 2 -0.9763805 0.111022E-15 0.323E+00 10.60 1.0 T
+ 3 -0.9763805 -0.333067E-15 0.194E-04 9.18 364.7 T
+ 4 -0.9763805 0.333067E-15 0.838E-14 9.18 100000.0 T
+
+ *** convergence criteria satisfied after 4 iterations ***
+
+ # Occupation Energy/Eh Energy/eV
+ -------------------------------------------------------------
+ 1 2.0000 -0.4332513 -11.7894 (HOMO)
+ 2 -0.0957936 -2.6067 (LUMO)
+ -------------------------------------------------------------
+ HL-Gap 0.3374576 Eh 9.1827 eV
+ Fermi-level -0.2645225 Eh -7.1980 eV
+
+ SCC (total) 0 d, 0 h, 0 min, 0.001 sec
+ SCC setup ... 0 min, 0.000 sec ( 10.575%)
+ Dispersion ... 0 min, 0.000 sec ( 2.965%)
+ integral evaluation ... 0 min, 0.000 sec ( 4.425%)
+ zeroth order Hamiltonian ... 0 min, 0.000 sec ( 2.035%)
+ iterations ... 0 min, 0.000 sec ( 58.628%)
+ molecular gradient ... 0 min, 0.000 sec ( 11.504%)
+ printout ... 0 min, 0.000 sec ( 5.752%)
+
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+ :: SUMMARY ::
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+ :: total energy -0.966521858391 Eh ::
+ :: gradient norm 0.089193551151 Eh/a0 ::
+ :: HOMO-LUMO gap 9.182689883989 eV ::
+ ::.................................................::
+ :: SCC energy -0.976380476204 Eh ::
+ :: -> isotropic ES 0.000000000000 Eh ::
+ :: -> anisotropic ES 0.010484358440 Eh ::
+ :: -> anisotropic XC 0.011179676128 Eh ::
+ :: -> dispersion -0.000130282514 Eh ::
+ :: repulsion energy 0.009858617812 Eh ::
+ :: add. restraining 0.000000000000 Eh ::
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+ -------------------------------------------------
+ | Property Printout |
+ -------------------------------------------------
+
+ * Orbital Energies and Occupations
+
+ # Occupation Energy/Eh Energy/eV
+ -------------------------------------------------------------
+ 1 2.0000 -0.4332513 -11.7894 (HOMO)
+ 2 -0.0957936 -2.6067 (LUMO)
+ -------------------------------------------------------------
+ HL-Gap 0.3374576 Eh 9.1827 eV
+ Fermi-level -0.2645225 Eh -7.1980 eV
+
+ # Z covCN q C6AA α(0)
+ 1 1 H 0.033 -0.000 7.614 5.045
+ 2 1 H 0.033 -0.000 7.614 5.045
+
+ Mol. C6AA /au·bohr⁶ : 30.454152
+ Mol. C8AA /au·bohr⁸ : 368.140452
+ Mol. α(0) /au : 10.089605
+
+
+Wiberg/Mayer (AO) data.
+largest (>0.10) Wiberg bond orders for each atom
+ total WBO WBO to atom ...
+ 1 H 1.000 H 2 1.000
+ 2 H 1.000 H 1 1.000
+
+molecular dipole:
+ x y z tot (Debye)
+ q only: -0.000 0.000 0.000
+ full: -0.000 0.000 0.000 0.000
+molecular quadrupole (traceless):
+ xx xy yy xz yz zz
+ q only: -0.000 0.000 0.000 0.000 0.000 0.000
+ q+dip: 1.192 0.000 -0.596 0.000 0.000 -0.596
+ full: 0.480 0.000 -0.240 0.000 0.000 -0.240
+
+
+ -------------------------------------------------
+ | TOTAL ENERGY -0.966521858391 Eh |
+ | GRADIENT NORM 0.089193551151 Eh/α |
+ | HOMO-LUMO GAP 9.182689883989 eV |
+ -------------------------------------------------
+
+------------------------------------------------------------------------
+ * finished run on 2020/07/10 at 11:58:33.672
+------------------------------------------------------------------------
+ total:
+ * wall-time: 0 d, 0 h, 0 min, 0.023 sec
+ * cpu-time: 0 d, 0 h, 0 min, 0.073 sec
+ * ratio c/w: 3.118 speedup
+ SCF:
+ * wall-time: 0 d, 0 h, 0 min, 0.001 sec
+ * cpu-time: 0 d, 0 h, 0 min, 0.002 sec
+ * ratio c/w: 4.010 speedup
+
diff --git a/tests/data/xtb/h2_disp_sp_xtb.xyz b/tests/data/xtb/h2_disp_sp_xtb.xyz
new file mode 100644
index 000000000..1491b13f1
--- /dev/null
+++ b/tests/data/xtb/h2_disp_sp_xtb.xyz
@@ -0,0 +1,4 @@
+2
+
+H 0.00000 0.00000 0.00000
+H 1.00001 0.00000 0.00000
diff --git a/tests/data/xtb/h2_grad_xtb.out b/tests/data/xtb/h2_grad_xtb.out
new file mode 100644
index 000000000..1324856b1
--- /dev/null
+++ b/tests/data/xtb/h2_grad_xtb.out
@@ -0,0 +1,225 @@
+ -----------------------------------------------------------
+ | ===================== |
+ | x T B |
+ | ===================== |
+ | S. Grimme |
+ | Mulliken Center for Theoretical Chemistry |
+ | University of Bonn |
+ -----------------------------------------------------------
+
+ * xtb version 6.2.3 (830e466) compiled by 'ehlert@majestix' on 2020-03-16
+
+ xtb is free software: you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ xtb is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ Cite this work as:
+ * S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017,
+ 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118
+ * C. Bannwarth, S. Ehlert and S. Grimme., J. Chem. Theory Comput., 2019,
+ 15, 1652-1671. DOI: 10.1021/acs.jctc.8b01176
+ * P. Pracht, E. Caldeweyher, S. Ehlert, S. Grimme, ChemRxiv, 2019, preprint.
+ DOI: 10.26434/chemrxiv.8326202.v1
+
+ for DFT-D4:
+ * E. Caldeweyher, C. Bannwarth and S. Grimme, J. Chem. Phys., 2017,
+ 147, 034112. DOI: 10.1063/1.4993215
+ * E. Caldeweyher, S. Ehlert, A. Hansen, H. Neugebauer, S. Spicher,
+ C. Bannwarth and S. Grimme, J. Chem. Phys., 2019, 150, 154122.
+ DOI: 10.1063/1.5090222
+
+ for sTDA-xTB:
+ * S. Grimme and C. Bannwarth, J. Chem. Phys., 2016, 145, 054103.
+ DOI: 10.1063/1.4959605
+
+ in the mass-spec context:
+ * V. Asgeirsson, C. Bauer and S. Grimme, Chem. Sci., 2017, 8, 4879.
+ DOI: 10.1039/c7sc00601b
+
+ for metadynamics refer to:
+ * S. Grimme, J. Chem. Theory Comput., 2019, 155, 2847-2862
+ DOI: 10.1021/acs.jctc.9b00143
+
+ with help from (in alphabetical order)
+ C. Bannwarth, F. Bohle, G. Brandenburg, E. Caldeweyher, M. Checinski,
+ S. Dohm, S. Ehlert, S. Ehrlich, F. März, H. Neugebauer, J. Pisarek,
+ P. Pracht, P. Shushkov, and S. Spicher.
+
+ * started run on 2020/07/10 at 11:57:51.850
+
+ -------------------------------------------------
+ | Calculation Setup |
+ -------------------------------------------------
+
+ program call : /home/tom/.local/bin/xtb h2_grad_xtb.xyz --chrg 0 --grad
+ coordinate file : h2_grad_xtb.xyz
+ omp threads : 1
+ number of atoms : 2
+ number of electrons : 2
+ charge : 0
+ spin : 0.0
+ first test random number : 0.28874914839104
+
+
+molecular fragmentation (1/2 indicates fragments):
+12
+# atoms in fragment 1/2: 1 1
+ fragment masses (1/2) : 1.01 1.01
+CMA distance (Bohr) : 1.890
+constraining FC (au) : 0.0500
+########################################################################
+[WARNING] Please study the warnings concerning your input carefully
+-2- prog_main: XTBPATH is not set, using XTBHOME instead
+-1- prog_main: XTBHOME is not set, using HOME instead
+########################################################################
+ -------------------------------------------------
+ | G F N 2 - x T B |
+ | Geometry, Frequencies, Noncovalent interactions |
+ | JCTC 2019 parametrisation |
+ -------------------------------------------------
+ k(s) : 1.8500
+ k(p) : 2.2300
+ k(d) : 2.2300
+ k(f) : 2.0000
+ kEN (H0ij) : -2.0000
+ D4 a1 : 0.5200
+ D4 a2 : 5.0000
+ D4 s6 : 1.0000
+ D4 s8 : 2.7000
+ D4 s9 : 5.0000
+ alphaj : 2.0000
+
+ Z AO/shell Hii/eV exponent
+ 1 Wed Apr 25 08:07:45 CEST 2018 EN: 2.200 GM2: 0.406 GM3: 0.0800 RAES: 1.40
+ 1s -10.707211 1.230000
+
+ -------------------------------------------------
+ | Self-Consistent Charge Iterations |
+ -------------------------------------------------
+
+ ...................................................
+ : SETUP :
+ :.................................................:
+ : # basis functions 2 :
+ : # atomic orbitals 2 :
+ : # shells 2 :
+ : # electrons 2 :
+ : max. iterations 250 :
+ : Hamiltonian GFN2-xTB :
+ : restarted? false :
+ : GBSA solvation false :
+ : PC potential false :
+ : electronic temp. 300.0000000 K :
+ : accuracy 1.0000000 :
+ : -> integral cutoff 0.2500000E+02 :
+ : -> integral neglect 0.1000000E-07 :
+ : -> SCF convergence 0.1000000E-05 Eh :
+ : -> wf. convergence 0.1000000E-03 e :
+ : Broyden damping 0.4000000 :
+ ...................................................
+
+ iter E dE RMSdq gap omega full diag
+ 1 -0.9763822 -0.976382E+00 0.539E+00 11.55 0.0 T
+ 2 -0.9763822 0.000000E+00 0.323E+00 10.60 1.0 T
+ 3 -0.9763822 -0.111022E-15 0.194E-04 9.18 364.7 T
+ 4 -0.9763822 0.111022E-15 0.883E-14 9.18 100000.0 T
+
+ *** convergence criteria satisfied after 4 iterations ***
+
+ # Occupation Energy/Eh Energy/eV
+ -------------------------------------------------------------
+ 1 2.0000 -0.4332524 -11.7894 (HOMO)
+ 2 -0.0957872 -2.6065 (LUMO)
+ -------------------------------------------------------------
+ HL-Gap 0.3374652 Eh 9.1829 eV
+ Fermi-level -0.2645198 Eh -7.1979 eV
+
+ SCC (total) 0 d, 0 h, 0 min, 0.000 sec
+ SCC setup ... 0 min, 0.000 sec ( 11.106%)
+ Dispersion ... 0 min, 0.000 sec ( 2.404%)
+ integral evaluation ... 0 min, 0.000 sec ( 5.625%)
+ zeroth order Hamiltonian ... 0 min, 0.000 sec ( 2.019%)
+ iterations ... 0 min, 0.000 sec ( 58.894%)
+ molecular gradient ... 0 min, 0.000 sec ( 9.904%)
+ printout ... 0 min, 0.000 sec ( 6.058%)
+
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+ :: SUMMARY ::
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+ :: total energy -0.966523050218 Eh ::
+ :: gradient norm 0.089191857169 Eh/a0 ::
+ :: HOMO-LUMO gap 9.182896506924 eV ::
+ ::.................................................::
+ :: SCC energy -0.976382179047 Eh ::
+ :: -> isotropic ES 0.000000000000 Eh ::
+ :: -> anisotropic ES 0.010484355527 Eh ::
+ :: -> anisotropic XC 0.011179625009 Eh ::
+ :: -> dispersion -0.000130282477 Eh ::
+ :: repulsion energy 0.009859128829 Eh ::
+ :: add. restraining 0.000000000000 Eh ::
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+ -------------------------------------------------
+ | Property Printout |
+ -------------------------------------------------
+
+ * Orbital Energies and Occupations
+
+ # Occupation Energy/Eh Energy/eV
+ -------------------------------------------------------------
+ 1 2.0000 -0.4332524 -11.7894 (HOMO)
+ 2 -0.0957872 -2.6065 (LUMO)
+ -------------------------------------------------------------
+ HL-Gap 0.3374652 Eh 9.1829 eV
+ Fermi-level -0.2645198 Eh -7.1979 eV
+
+ # Z covCN q C6AA α(0)
+ 1 1 H 0.033 -0.000 7.614 5.045
+ 2 1 H 0.033 0.000 7.614 5.045
+
+ Mol. C6AA /au·bohr⁶ : 30.454143
+ Mol. C8AA /au·bohr⁸ : 368.140340
+ Mol. α(0) /au : 10.089603
+
+
+Wiberg/Mayer (AO) data.
+largest (>0.10) Wiberg bond orders for each atom
+ total WBO WBO to atom ...
+ 1 H 1.000 H 2 1.000
+ 2 H 1.000 H 1 1.000
+
+molecular dipole:
+ x y z tot (Debye)
+ q only: 0.000 0.000 0.000
+ full: 0.000 0.000 0.000 0.000
+molecular quadrupole (traceless):
+ xx xy yy xz yz zz
+ q only: 0.000 0.000 -0.000 0.000 0.000 -0.000
+ q+dip: 1.192 0.000 -0.596 0.000 0.000 -0.596
+ full: 0.480 0.000 -0.240 0.000 0.000 -0.240
+
+
+ -------------------------------------------------
+ | TOTAL ENERGY -0.966523050218 Eh |
+ | GRADIENT NORM 0.089191857169 Eh/α |
+ | HOMO-LUMO GAP 9.182896506924 eV |
+ -------------------------------------------------
+
+------------------------------------------------------------------------
+ * finished run on 2020/07/10 at 11:57:51.857
+------------------------------------------------------------------------
+ total:
+ * wall-time: 0 d, 0 h, 0 min, 0.007 sec
+ * cpu-time: 0 d, 0 h, 0 min, 0.007 sec
+ * ratio c/w: 0.980 speedup
+ SCF:
+ * wall-time: 0 d, 0 h, 0 min, 0.001 sec
+ * cpu-time: 0 d, 0 h, 0 min, 0.001 sec
+ * ratio c/w: 0.998 speedup
+
diff --git a/tests/data/xtb/h2_grad_xtb.xyz b/tests/data/xtb/h2_grad_xtb.xyz
new file mode 100644
index 000000000..228ed4e0e
--- /dev/null
+++ b/tests/data/xtb/h2_grad_xtb.xyz
@@ -0,0 +1,4 @@
+2
+
+H 0.00000 0.00000 0.00000
+H 1.00000 0.00000 0.00000
diff --git a/tests/data/xtb/h2_grad_xtb_xtb.grad b/tests/data/xtb/h2_grad_xtb_xtb.grad
new file mode 100644
index 000000000..19b6fd689
--- /dev/null
+++ b/tests/data/xtb/h2_grad_xtb_xtb.grad
@@ -0,0 +1,2 @@
+-0.06306817 0.00000000 0.00000000
+ 0.06306817 0.00000000 0.00000000
diff --git a/tests/data/xtb/h2_sp_xtb.out b/tests/data/xtb/h2_sp_xtb.out
new file mode 100644
index 000000000..bd98639b9
--- /dev/null
+++ b/tests/data/xtb/h2_sp_xtb.out
@@ -0,0 +1,225 @@
+ -----------------------------------------------------------
+ | ===================== |
+ | x T B |
+ | ===================== |
+ | S. Grimme |
+ | Mulliken Center for Theoretical Chemistry |
+ | University of Bonn |
+ -----------------------------------------------------------
+
+ * xtb version 6.2.3 (830e466) compiled by 'ehlert@majestix' on 2020-03-16
+
+ xtb is free software: you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ xtb is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ Cite this work as:
+ * S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017,
+ 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118
+ * C. Bannwarth, S. Ehlert and S. Grimme., J. Chem. Theory Comput., 2019,
+ 15, 1652-1671. DOI: 10.1021/acs.jctc.8b01176
+ * P. Pracht, E. Caldeweyher, S. Ehlert, S. Grimme, ChemRxiv, 2019, preprint.
+ DOI: 10.26434/chemrxiv.8326202.v1
+
+ for DFT-D4:
+ * E. Caldeweyher, C. Bannwarth and S. Grimme, J. Chem. Phys., 2017,
+ 147, 034112. DOI: 10.1063/1.4993215
+ * E. Caldeweyher, S. Ehlert, A. Hansen, H. Neugebauer, S. Spicher,
+ C. Bannwarth and S. Grimme, J. Chem. Phys., 2019, 150, 154122.
+ DOI: 10.1063/1.5090222
+
+ for sTDA-xTB:
+ * S. Grimme and C. Bannwarth, J. Chem. Phys., 2016, 145, 054103.
+ DOI: 10.1063/1.4959605
+
+ in the mass-spec context:
+ * V. Asgeirsson, C. Bauer and S. Grimme, Chem. Sci., 2017, 8, 4879.
+ DOI: 10.1039/c7sc00601b
+
+ for metadynamics refer to:
+ * S. Grimme, J. Chem. Theory Comput., 2019, 155, 2847-2862
+ DOI: 10.1021/acs.jctc.9b00143
+
+ with help from (in alphabetical order)
+ C. Bannwarth, F. Bohle, G. Brandenburg, E. Caldeweyher, M. Checinski,
+ S. Dohm, S. Ehlert, S. Ehrlich, F. März, H. Neugebauer, J. Pisarek,
+ P. Pracht, P. Shushkov, and S. Spicher.
+
+ * started run on 2020/07/10 at 11:57:51.789
+
+ -------------------------------------------------
+ | Calculation Setup |
+ -------------------------------------------------
+
+ program call : /home/tom/.local/bin/xtb h2_sp_xtb.xyz --chrg 0
+ coordinate file : h2_sp_xtb.xyz
+ omp threads : 4
+ number of atoms : 2
+ number of electrons : 2
+ charge : 0
+ spin : 0.0
+ first test random number : 0.61746211279383
+
+
+molecular fragmentation (1/2 indicates fragments):
+12
+# atoms in fragment 1/2: 1 1
+ fragment masses (1/2) : 1.01 1.01
+CMA distance (Bohr) : 1.890
+constraining FC (au) : 0.0500
+########################################################################
+[WARNING] Please study the warnings concerning your input carefully
+-2- prog_main: XTBPATH is not set, using XTBHOME instead
+-1- prog_main: XTBHOME is not set, using HOME instead
+########################################################################
+ -------------------------------------------------
+ | G F N 2 - x T B |
+ | Geometry, Frequencies, Noncovalent interactions |
+ | JCTC 2019 parametrisation |
+ -------------------------------------------------
+ k(s) : 1.8500
+ k(p) : 2.2300
+ k(d) : 2.2300
+ k(f) : 2.0000
+ kEN (H0ij) : -2.0000
+ D4 a1 : 0.5200
+ D4 a2 : 5.0000
+ D4 s6 : 1.0000
+ D4 s8 : 2.7000
+ D4 s9 : 5.0000
+ alphaj : 2.0000
+
+ Z AO/shell Hii/eV exponent
+ 1 Wed Apr 25 08:07:45 CEST 2018 EN: 2.200 GM2: 0.406 GM3: 0.0800 RAES: 1.40
+ 1s -10.707211 1.230000
+
+ -------------------------------------------------
+ | Self-Consistent Charge Iterations |
+ -------------------------------------------------
+
+ ...................................................
+ : SETUP :
+ :.................................................:
+ : # basis functions 2 :
+ : # atomic orbitals 2 :
+ : # shells 2 :
+ : # electrons 2 :
+ : max. iterations 250 :
+ : Hamiltonian GFN2-xTB :
+ : restarted? false :
+ : GBSA solvation false :
+ : PC potential false :
+ : electronic temp. 300.0000000 K :
+ : accuracy 1.0000000 :
+ : -> integral cutoff 0.2500000E+02 :
+ : -> integral neglect 0.1000000E-07 :
+ : -> SCF convergence 0.1000000E-05 Eh :
+ : -> wf. convergence 0.1000000E-03 e :
+ : Broyden damping 0.4000000 :
+ ...................................................
+
+ iter E dE RMSdq gap omega full diag
+ 1 -0.9763822 -0.976382E+00 0.539E+00 11.55 0.0 T
+ 2 -0.9763822 0.000000E+00 0.323E+00 10.60 1.0 T
+ 3 -0.9763822 -0.111022E-15 0.194E-04 9.18 364.7 T
+ 4 -0.9763822 0.111022E-15 0.883E-14 9.18 100000.0 T
+
+ *** convergence criteria satisfied after 4 iterations ***
+
+ # Occupation Energy/Eh Energy/eV
+ -------------------------------------------------------------
+ 1 2.0000 -0.4332524 -11.7894 (HOMO)
+ 2 -0.0957872 -2.6065 (LUMO)
+ -------------------------------------------------------------
+ HL-Gap 0.3374652 Eh 9.1829 eV
+ Fermi-level -0.2645198 Eh -7.1979 eV
+
+ SCC (total) 0 d, 0 h, 0 min, 0.008 sec
+ SCC setup ... 0 min, 0.001 sec ( 6.535%)
+ Dispersion ... 0 min, 0.000 sec ( 3.215%)
+ integral evaluation ... 0 min, 0.002 sec ( 19.261%)
+ zeroth order Hamiltonian ... 0 min, 0.000 sec ( 0.181%)
+ iterations ... 0 min, 0.005 sec ( 62.261%)
+ molecular gradient ... 0 min, 0.000 sec ( 4.710%)
+ printout ... 0 min, 0.000 sec ( 3.395%)
+
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+ :: SUMMARY ::
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+ :: total energy -0.966523050218 Eh ::
+ :: gradient norm 0.089191857169 Eh/a0 ::
+ :: HOMO-LUMO gap 9.182896506924 eV ::
+ ::.................................................::
+ :: SCC energy -0.976382179047 Eh ::
+ :: -> isotropic ES 0.000000000000 Eh ::
+ :: -> anisotropic ES 0.010484355527 Eh ::
+ :: -> anisotropic XC 0.011179625009 Eh ::
+ :: -> dispersion -0.000130282477 Eh ::
+ :: repulsion energy 0.009859128829 Eh ::
+ :: add. restraining 0.000000000000 Eh ::
+ :::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+ -------------------------------------------------
+ | Property Printout |
+ -------------------------------------------------
+
+ * Orbital Energies and Occupations
+
+ # Occupation Energy/Eh Energy/eV
+ -------------------------------------------------------------
+ 1 2.0000 -0.4332524 -11.7894 (HOMO)
+ 2 -0.0957872 -2.6065 (LUMO)
+ -------------------------------------------------------------
+ HL-Gap 0.3374652 Eh 9.1829 eV
+ Fermi-level -0.2645198 Eh -7.1979 eV
+
+ # Z covCN q C6AA α(0)
+ 1 1 H 0.033 -0.000 7.614 5.045
+ 2 1 H 0.033 0.000 7.614 5.045
+
+ Mol. C6AA /au·bohr⁶ : 30.454143
+ Mol. C8AA /au·bohr⁸ : 368.140340
+ Mol. α(0) /au : 10.089603
+
+
+Wiberg/Mayer (AO) data.
+largest (>0.10) Wiberg bond orders for each atom
+ total WBO WBO to atom ...
+ 1 H 1.000 H 2 1.000
+ 2 H 1.000 H 1 1.000
+
+molecular dipole:
+ x y z tot (Debye)
+ q only: 0.000 0.000 0.000
+ full: 0.000 0.000 0.000 0.000
+molecular quadrupole (traceless):
+ xx xy yy xz yz zz
+ q only: 0.000 0.000 -0.000 0.000 0.000 -0.000
+ q+dip: 1.192 0.000 -0.596 0.000 0.000 -0.596
+ full: 0.480 0.000 -0.240 0.000 0.000 -0.240
+
+
+ -------------------------------------------------
+ | TOTAL ENERGY -0.966523050218 Eh |
+ | GRADIENT NORM 0.089191857169 Eh/α |
+ | HOMO-LUMO GAP 9.182896506924 eV |
+ -------------------------------------------------
+
+------------------------------------------------------------------------
+ * finished run on 2020/07/10 at 11:57:51.842
+------------------------------------------------------------------------
+ total:
+ * wall-time: 0 d, 0 h, 0 min, 0.051 sec
+ * cpu-time: 0 d, 0 h, 0 min, 0.138 sec
+ * ratio c/w: 2.708 speedup
+ SCF:
+ * wall-time: 0 d, 0 h, 0 min, 0.009 sec
+ * cpu-time: 0 d, 0 h, 0 min, 0.027 sec
+ * ratio c/w: 2.916 speedup
+
diff --git a/tests/data/xtb/h2_sp_xtb.xyz b/tests/data/xtb/h2_sp_xtb.xyz
new file mode 100644
index 000000000..228ed4e0e
--- /dev/null
+++ b/tests/data/xtb/h2_sp_xtb.xyz
@@ -0,0 +1,4 @@
+2
+
+H 0.00000 0.00000 0.00000
+H 1.00000 0.00000 0.00000
diff --git a/tests/data/xtb/methane_xtb_xtb.grad b/tests/data/xtb/methane_xtb_xtb.grad
new file mode 100644
index 000000000..e30e27b19
--- /dev/null
+++ b/tests/data/xtb/methane_xtb_xtb.grad
@@ -0,0 +1,5 @@
+-0.00001722 0.00007993 -0.00011737
+ 0.01411630 -0.00004036 0.00003972
+-0.00471994 0.00900862 -0.00941145
+-0.00469570 0.00363569 0.01255847
+-0.00468344 -0.01268388 -0.00306936
diff --git a/tests/data/xtbopt.xyz b/tests/data/xtbopt.xyz
deleted file mode 100644
index 48cbcbed5..000000000
--- a/tests/data/xtbopt.xyz
+++ /dev/null
@@ -1,8 +0,0 @@
-6
- energy: -13.191605770476 gnorm: 0.000387392520 xtb: 6.2.3 (830e466)
-C -0.00574967262589 -0.01085571761125 -0.02597769822345
-F 0.58591477377632 -1.09061806899196 0.59503434605500
-H -0.46261868045701 0.60478393745781 0.74798789369103
-H 0.77787505033051 0.54155220814803 -0.54405213169454
-H -0.76278974746505 -0.35174309896199 -0.73487361835079
-Cl -2.39536172355888 0.30689073995933 -2.30085879147730
diff --git a/tests/test_1d_pes.py b/tests/test_1d_pes.py
index 82497a640..1122ae02e 100644
--- a/tests/test_1d_pes.py
+++ b/tests/test_1d_pes.py
@@ -97,4 +97,9 @@ def test_1d_pes():
if filename.endswith(('.inp', '.png')):
os.remove(filename)
+ for filename in os.listdir(os.path.join(here, 'data', 'pes1d')):
+ if filename.endswith('.xyz') and 'optimised' in filename:
+ xyz_path = os.path.join(here, 'data', 'pes1d', filename)
+ os.remove(xyz_path)
+
os.chdir(here)
diff --git a/tests/test_orca_calc.py b/tests/test_orca_calc.py
index 3cf23b14a..ff620a5b2 100644
--- a/tests/test_orca_calc.py
+++ b/tests/test_orca_calc.py
@@ -1,4 +1,5 @@
from autode.wrappers.ORCA import ORCA
+from autode.atoms import Atom
from autode.calculation import Calculation
from autode.calculation import execute_calc
from autode.species.molecule import Molecule
@@ -10,6 +11,7 @@
from autode.exceptions import UnsuppportedCalculationInput
from autode.wrappers.keywords import SinglePointKeywords, OptKeywords
from autode.solvent.solvents import Solvent
+import numpy as np
import pytest
import os
@@ -182,3 +184,41 @@ def test_solvation():
assert any('smd' in line.lower() for line in open('methane_smd_orca.inp', 'r'))
os.remove('methane_smd_orca.inp')
+
+
+def test_gradients():
+ os.chdir(os.path.join(here, 'data', 'orca'))
+
+ h2 = Molecule(name='h2', atoms=[Atom('H'), Atom('H', x=1.0)])
+ calc = Calculation(name='h2_grad', molecule=h2,
+ method=method,
+ keywords=method.keywords.grad)
+ calc.run()
+ h2.energy = calc.get_energy()
+
+ delta_r = 1E-8
+
+ # Energy of a finite difference approximation
+ h2_disp = Molecule(name='h2_disp',
+ atoms=[Atom('H'), Atom('H', x=1.0 + delta_r)])
+ calc = Calculation(name='h2_disp', molecule=h2_disp,
+ method=method,
+ keywords=method.keywords.grad)
+ calc.run()
+ h2_disp.energy = calc.get_energy()
+
+ delta_energy = h2_disp.energy - h2.energy # Ha
+ grad = delta_energy / delta_r # Ha A^-1
+
+ calc = Calculation(name='h2_grad', molecule=h2,
+ method=method,
+ keywords=method.keywords.grad)
+
+ calc.run()
+
+ diff = calc.get_gradients()[1, 0] - grad # Ha A^-1
+
+ # Difference between the absolute and finite difference approximation
+ assert np.abs(diff) < 1E-3
+
+ os.chdir(here)
diff --git a/tests/test_ts.py b/tests/test_ts.py
index 61ce93d35..8d505ca32 100644
--- a/tests/test_ts.py
+++ b/tests/test_ts.py
@@ -152,7 +152,8 @@ def test_isomorphic_reactant_product():
p_water = Product(name='h2o', smiles='O')
p_methane = Product(name='methane', smiles='C')
- # Reaction where the reactant and product complexes are isomorphic should return no TS
+ # Reaction where the reactant and product complexes are isomorphic
+ # should return no TS
reaction = Reaction(r_water, r_methane, p_water, p_methane)
reaction.locate_transition_state()
@@ -206,6 +207,14 @@ def test_find_tss():
# Truncated graph has 7 atoms in
assert template.graph.number_of_nodes() == 7
+ # Tidy the generated files
+ pes_path = os.path.join(here, 'data', 'locate_ts',
+ 'transition_states', 'pes1d')
+
+ for filename in os.listdir(pes_path):
+ if 'optimised' in filename and filename.endswith('.xyz'):
+ os.remove(os.path.join(pes_path, filename))
+
os.remove('template0.obj')
os.chdir(here)
diff --git a/tests/test_xtb_calc.py b/tests/test_xtb_calc.py
index a2d2d4051..dd7e89f01 100644
--- a/tests/test_xtb_calc.py
+++ b/tests/test_xtb_calc.py
@@ -1,9 +1,11 @@
import pytest
+from autode.atoms import Atom
from autode.wrappers.XTB import XTB
from autode.calculation import Calculation
from autode.species.molecule import Molecule
from autode.point_charges import PointCharge
from autode.config import Config
+import numpy as np
import os
here = os.path.dirname(os.path.abspath(__file__))
@@ -72,4 +74,57 @@ def test_point_charge():
calc.run()
assert -4.178 < calc.get_energy() < -4.175
- os.chdir(here)
\ No newline at end of file
+ os.chdir(here)
+
+
+def test_gradients():
+ os.chdir(os.path.join(here, 'data', 'xtb'))
+
+ h2 = Molecule(name='h2', atoms=[Atom('H'), Atom('H', x=1.0)])
+ h2.single_point(method)
+
+ delta_r = 1E-5
+ h2_disp = Molecule(name='h2_disp',
+ atoms=[Atom('H'), Atom('H', x=1.0 + delta_r)])
+ h2_disp.single_point(method)
+
+ delta_energy = h2_disp.energy - h2.energy # Ha
+ grad = delta_energy / delta_r # Ha A^-1
+
+ calc = Calculation(name='h2_grad', molecule=h2,
+ method=method,
+ keywords=method.keywords.grad)
+
+ calc.run()
+
+ diff = calc.get_gradients()[1, 0] - grad # Ha A^-1
+
+ # Difference between the absolute and finite difference approximation
+ assert np.abs(diff) < 1E-5
+
+ # Older xtb version
+ with open('gradient', 'w') as gradient_file:
+ print('$gradient\n'
+ 'cycle = 1 SCF energy = -4.17404780397 |dE/dxyz| = 0.027866\n'
+ '3.63797523123375 -1.13138130908142 -0.00032759661848 C \n'
+ '5.72449332438353 -1.13197561185651 0.00028950521969 H \n'
+ ' 2.94133258016711 0.22776472016180 -1.42078243039077 H \n'
+ ' 2.94175598539510 -0.58111835182372 1.88747566982948 H \n'
+ '2.94180792167968 -3.04156357656436 -0.46665514803992 H \n'
+ '-1.7221823521705E-05 7.9930724499610E-05 -1.1737079840097E-04\n'
+ ' 1.4116296505865E-02 -4.0359524399270E-05 3.9719638516747E-05\n'
+ '-4.7199424681741E-03 9.0086220034949E-03 -9.4114548523723E-03\n'
+ '-4.6956970257351E-03 3.6356853660431E-03 1.2558467871909E-02\n'
+ ' -4.6834351884340E-03 -1.2683878569638E-02 -3.0693618596526E-03\n'
+ '$end', file=gradient_file)
+
+ calc = Calculation(name='methane',
+ molecule=Molecule(name='methane', smiles='C'),
+ method=method,
+ keywords=method.keywords.grad)
+ gradients = method.get_gradients(calc)
+
+ assert gradients.shape == (5, 3)
+ assert np.abs(gradients[0, 0]) < 1E-3
+
+ os.chdir(here)