1#ifndef RPG_AM_ITERATOR_BASIS_H
2#define RPG_AM_ITERATOR_BASIS_H
12#include <pscf/iterator/AmIteratorDArray.h>
13#include <pscf/iterator/AmbdInteraction.h>
14#include <util/containers/DArray.h>
15#include <util/containers/RingBuffer.h>
21 template <
int D>
class System;
72 using Iterator<D>::setFlexibleParams;
94 void setup(
bool isContinuation);
109 int nElements()
override;
114 bool hasInitialGuess()
override;
126 void evaluate()
override;
145 void outputToLog()
override;
AmIteratorDArray()=default
Template for Anderson mixing iterator algorithm.
DArray< double > const & residual() const
int solve(bool isContinuation=false)
Modified interaction to compute residual defn.
Anderson Mixing iterator with imposed space-group symmetry.
~AmIteratorBasis()
Destructor.
AmIteratorBasis(System< D > &system)
Constructor.
void readParameters(std::istream &in)
Read all parameters and initialize.
void outputTimers(std::ostream &out) const
Output timing results to log file.
void setup(bool isContinuation)
Setup iterator just before entering iteration loop.
AmIteratorTmpl< Iterator< D >, DArray< double > > AmTmpl
Alias for indirect base (grandparent) class.
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.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.