sc::DIIS Class Reference

The DIIS class provides DIIS extrapolation. More...

`#include <diis.h>`

Inheritance diagram for sc::DIIS:
[legend]
Collaboration diagram for sc::DIIS:
[legend]

## Public Member Functions

| DIIS (int strt=1, int ndi=5, double dmp=0, int ngr=1, int ngrdiis=1)
| DIIS (StateIn &)
| DIIS (const Ref< KeyVal > &)
| The DIIS KeyVal constructor recognizes the following keywords: More...
void | save_data_state (StateOut &)
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...
int | extrapolate (const Ref< SCExtrapData > &data, const Ref< SCExtrapError > &error)
void | start_extrapolation ()
void | reinitialize ()
void | print (std::ostream &=ExEnv::out0()) const
| Override DescribedClass::print.
Public Member Functions inherited from sc::SelfConsistentExtrapolation
| SelfConsistentExtrapolation (StateIn &)
| SelfConsistentExtrapolation (const Ref< KeyVal > &)
| The only keyword read is #tolerance#, which is usually not needed since the objects using SelfConsistentExtrapolation should set the tolerances as needed. More...
void | save_data_state (StateOut &)
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...
void | set_tolerance (double t)
double | tolerance ()
double | error ()
int | converged ()
Public Member Functions inherited from sc::SavableState
SavableState & | operator= (const SavableState &)
void | save_state (StateOut &)
| Save the state of the object as specified by the StateOut object. More...
void | save_object_state (StateOut &)
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More...
virtual void | save_vbase_state (StateOut &)
| Save the virtual bases for the object. More...
Public Member Functions inherited from sc::DescribedClass
| DescribedClass (const DescribedClass &)
DescribedClass & | operator= (const DescribedClass &)
ClassDesc * | class_desc () const throw ()
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
const char * | class_name () const
| Return the name of the object's exact type.
int | class_version () const
| Return the version of the class.
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Protected Member Functions

void | init ()
Protected Member Functions inherited from sc::SelfConsistentExtrapolation
void | set_error (double e)
Protected Member Functions inherited from sc::SavableState
| SavableState (const SavableState &)
| SavableState (StateIn &)
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More...

## Protected Attributes

int | start
int | ndiis
int | iter
int | ngroup
int | ngroupdiis
double | damping_factor
double * | btemp
double ** | bold
double ** | bmat
Ref< SCExtrapData > | dtemp_data
Ref< SCExtrapError > | dtemp_error
Ref< SCExtrapData > | Ldata
Ref< SCExtrapData > * | diism_data
Ref< SCExtrapError > * | diism_error

## Additional Inherited Members

Static Public Member Functions inherited from sc::SavableState
static void | save_state (SavableState *s, StateOut &)
static SavableState * | restore_state (StateIn &si)
| Restores objects saved with save_state. More...
static SavableState * | key_restore_state (StateIn &si, const char *keyword)
| Like restore_state, but keyword is used to override values while restoring. More...
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)

## Detailed Description

The DIIS class provides DIIS extrapolation.

## Constructor & Destructor Documentation

sc::DIIS::DIIS | ( | const Ref< KeyVal > & |  | ) |

The DIIS KeyVal constructor recognizes the following keywords:

`n`

  This integer maximum number of data sets to retain. The default is 5.

`start`

  The DIIS extrapolation will begin on the iteration given by this integer. The default is 1.

`damping_factor`

  This nonnegative floating point number is used to dampen the DIIS extrapolation. The default is 0.0.

`ngroup`

  The number of iterations in a DIIS group. DIIS extrapolation is only used for the first ngroupdiis of these interations. The default is 1. If ngroup is 1 and ngroupdiis is greater than 0, then DIIS will be used on all iterations after and including the start iteration.

`ngroupdiis`

  The number of DIIS extrapolations to do at the beginning of an iteration group. See the documentation for ngroup.

## Member Function Documentation

void sc::DIIS::save_data_state | ( | StateOut & |  | ) |

virtual

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::SavableState.

The documentation for this class was generated from the following file:

- diis.h