|
PSCF v1.4.0
|
Linear-response Anderson mixing compressor. More...
#include <LrAmCompressor.h>
Public Member Functions | |
| LrAmCompressor (System< D > &system) | |
| Constructor. | |
| Public Member Functions inherited from Pscf::Rp::LrAmCompressor< D, Rpg::Types< D >, DeviceArray< cudaReal > > | |
| void | readParameters (std::istream &in) override |
| Read body of parameter file block and initialize. | |
| void | setup (bool isContinuation) override |
| Initialize just before entry to iterative loop. | |
| int | compress () override |
| Compress to obtain partial saddle point field. | |
| void | outputTimers (std::ostream &out) const override |
| Return compressor time contributions. | |
| void | clearTimers () override |
| Clear all timers and MDE solution counter. | |
| Public Member Functions inherited from Pscf::AmIteratorTmpl< Iterator, T > | |
| AmIteratorTmpl () | |
| Constructor. | |
| ~AmIteratorTmpl () | |
| Destructor. | |
| int | solve (bool isContinuation=false) |
| Iterate to a solution. | |
| void | outputTimers (std::ostream &out) const |
| Log output timing results. | |
| void | clearTimers () |
| Clear timers. | |
Additional Inherited Members | |
| Public Types inherited from Pscf::Rp::LrAmCompressor< D, Rpg::Types< D >, DeviceArray< cudaReal > > | |
| using | VectorT |
| Type of field and residual vectors. | |
| Protected Member Functions inherited from Pscf::Rp::LrAmCompressor< D, Rpg::Types< D >, DeviceArray< cudaReal > > | |
| LrAmCompressor (typename Rpg::Types< D >::System &system) | |
| Constructor. | |
| ~LrAmCompressor ()=default | |
| Destructor. | |
| Protected Member Functions inherited from Pscf::AmIteratorTmpl< Iterator, T > | |
| void | readErrorType (std::istream &in) |
| Read and validate the optional errorType string parameter. | |
| virtual bool | isValidErrorType () |
| Checks if a string is a valid error type. | |
| void | readMixingParameters (std::istream &in, bool useLambdaRamp=true) |
| Read optional parameters used in default correction algorithm. | |
| void | allocateAM () |
| Allocate memory required by AM algorithm, if necessary. | |
| bool | isAllocatedAM () const |
| Have data structures required by the AM algorithm been allocated? | |
| virtual void | clear () |
| Clear information about history. | |
| virtual double | computeError (T &residTrial, T &stateTrial, std::string errorType, int verbose) |
| Compute and return error used to test for convergence. | |
| double | computeError (int verbose) |
| Compute and return error used to test for convergence. | |
| double | lambdaRampFactor () |
| Compute ramped prefactor of mixing parameter lambda. | |
| virtual double | computeLambda () |
| Compute mixing parameter for correction step of Anderson mixing. | |
| int | verbose () const |
| Verbosity level, allowed values 0, 1, or 2. | |
| std::string | errorType () const |
| Get error type string. | |
| T const & | residual () const |
| Get the current residual vector by const reference. | |
| T const & | state () const |
| Return the current state vector by const reference. | |
| int | totalItr () |
| Return the total number of iterations needed to converge. | |
| double | timerTotal () |
| Get total time. | |
| double | timerMDE () |
| Get time spent solving the modified diffusion equation (MDE). | |
| double | timerAM () |
| Get total time for AM algorithm, excluding MDE solution. | |
| double | timerResid () |
| Get time spent computing residual. | |
| double | timerError () |
| Get time evaluating scalar error. | |
| double | timerCoeff () |
| Get time spent evaluating Anderson mixing coefficients. | |
| double | timerOmega () |
| Get time spent updating w states. | |
| template<typename Type> | |
| ScalarParam< Type > & | read (std::istream &in, const char *label, Type &value) |
| Add and read a new required ScalarParam < Type > object. | |
| template<typename Type> | |
| ScalarParam< Type > & | readOptional (std::istream &in, const char *label, Type &value) |
| Add and read a new optional ScalarParam < Type > object. | |
| Protected Attributes inherited from Pscf::AmIteratorTmpl< Iterator, T > | |
| double | epsilon_ |
| Error tolerance. | |
| int | maxItr_ |
| Maximum number of iterations to attempt. | |
| int | maxHist_ |
| Maximum number of basis vectors in AM algorithm. | |
| int | verbose_ |
| Verbosity level. | |
| std::string | errorType_ |
| Type of error criterion used to test convergence. | |
Linear-response Anderson mixing compressor.
Specializations of this template with D=1, 2, and 3 are derived from specializations of the base class template Rp::LrAmCompressor, and inherit their public interface and almost all of their source code from this base class.
Definition at line 42 of file /fts/compressor/LrAmCompressor.h.
| Pscf::Rpg::LrAmCompressor< D >::LrAmCompressor | ( | System< D > & | system | ) |
Constructor.
| system | parent System object |
Definition at line 34 of file LrAmCompressor.cu.
References LrAmCompressor().
Referenced by LrAmCompressor().