Main Page Class Hierarchy Compound List File List Compound Members Related Pages

# 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]
List of all members.

## Public Methods

| 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...
| ~DIIS ()
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 ()

## Protected Methods

void | init ()

## 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

## 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::SelfConsistentExtrapolation.

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

- diis.h