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