File ScfModifier.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 ScfModifier
#include <ScfModifier.h>

Base class for SCF modifiers. SCF modifiers allow to act in between the different steps of a SCF calculations. The functions it defines are anchors and are called after the corresponding steps of a SCF calculation.

See

ScfMethod

Subclassed by Scine::Utils::ChargeSimple, Scine::Utils::EdiisDiisModifier, Scine::Utils::EdiisModifier, Scine::Utils::FockDiisModifier, Scine::Utils::FockSimple

Public Functions

virtual ~ScfModifier()
virtual void setMethod(ScfMethod *method)

Set the method its access points will be called from. This function can be overriden to perform further checks / …

virtual void initialize()

Initialize the SCF Modifier, to be overridden if necessary by the derived class.

virtual bool isValid()

Gives information about compatibility between ScfMethod and ScfModifier. To be overriden if necessary by derived classes.

Return

true if the ScfMethod and ScfModifier are compatible, true by default.

virtual void onOverlapCalculated()
virtual void onIterationStart()
virtual void onFockCalculated()
virtual void onGEPSolved()
virtual void onDensityCalculated()
virtual void onCalculationFinalized()

Protected Attributes

ScfMethod *m = nullptr