File EdiisDiisModifier.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
class
EdiisDiisModifier
: public Scine::Utils::SCFModifier - #include <EdiisDiisModifier.h>
Class to use the EDIIS + DIIS combination as in Gaussian. Garza, Scuseria, J Chem Phys 137 (2012) 054110: “In the default EDIIS + DIIS procedure in Gaussian, EDIIS is used when the largest DIIS error (errMax) is greater than 10^-1 a.u. but DIIS is employed when this error goes below 10^-4 a.u. In between these values, the EDIIS and DIIS coefficients are weighted such that c = 10(errorMax) C(EDIIS) + (1-10(errorMax))c(DIIS); however, if the error of the last cycle is 10% greater than the minimum error, pure EDIIS is used.”
Public Functions
-
EdiisDiisModifier
()¶
-
void
onOverlapCalculated
()¶
-
void
onFockCalculated
()¶
-
void
setSpaceSize
(unsigned n)¶
-
void
initialize
() Initialize the SCF Modifier, to be overridden if necessary by the derived class.
Private Functions
-
bool
sameNumberOfElectronsInMethodAndInDensityMatrix
()¶
-
void
setOrthogonal
(bool o)¶
-
SpinAdaptedMatrix
getCombinedFockMatrix
()¶
-
SpinAdaptedMatrix
mixedFockMatrix
(double errMax)¶
-
-
class
-
namespace