1#ifndef RPC_AM_ITERATOR_BASIS_H
2#define RPC_AM_ITERATOR_BASIS_H
12#include <pscf/iterator/AmIteratorDArray.h>
13#include <pscf/iterator/AmbdInteraction.h>
17 template <
typename T>
class DArray;
21 template <
int D>
class System;
76 using Iterator<D>::setFlexibleParams;
98 void setup(
bool isContinuation)
override;
113 bool hasInitialGuess()
override;
120 int nElements()
override;
135 void evaluate()
override;
154 void outputToLog()
override;
AmIteratorDArray()=default
Template for Anderson mixing iterator algorithm.
DArray< double > const & residual() const
Modified interaction to compute residual defn.
Anderson Mixing iterator with imposed space-group symmetry.
void readParameters(std::istream &in) override
Read all parameters and initialize.
AmIteratorTmpl< Iterator< D >, DArray< double > > AmTmpl
Alias for indirect base (grandparent) class.
void outputTimers(std::ostream &out) const override
Output timing results to log file.
AmIteratorBasis(System< D > &system)
Constructor.
~AmIteratorBasis()
Destructor.
void setup(bool isContinuation) override
Setup iterator just before entering iteration loop.
Base class for iterative solvers for SCF equations.
Main class, representing a complete physical system.
Dynamically allocatable contiguous array template.
FSArrayParam< Type, N > & readOptionalFSArray(std::istream &in, const char *label, FSArray< Type, N > &array, int size)
Add and read an optional FSArray < Type, N > array parameter.
ScalarParam< Type > & readOptional(std::istream &in, const char *label, Type &value)
Add and read a new optional ScalarParam < Type > object.
void readParamCompositeOptional(std::istream &in, ParamComposite &child, bool next=true)
Add and attempt to read an optional child ParamComposite.
Real periodic fields, SCFT and PS-FTS (CPU).
PSCF package top-level namespace.
Utility classes for scientific computation.