1#ifndef RPC_LR_AM_COMPRESSOR_H
2#define RPC_LR_AM_COMPRESSOR_H
11#include "Compressor.h"
12#include <pscf/iterator/AmIteratorDArray.h>
14#include <rpc/fts/compressor/IntraCorrelation.h>
15#include <prdc/cpu/RField.h>
16#include <prdc/cpu/RFieldDft.h>
17#include <util/containers/DArray.h>
24 template <
int D>
class System;
77 void setup(
bool isContinuation)
override;
149 bool isIntraCalculated_;
172 int nElements()
override;
177 bool hasInitialGuess()
override;
192 void evaluate()
override;
211 void outputToLog()
override;
AmIteratorDArray()=default
Template for Anderson mixing iterator algorithm.
An IntVec<D, T> is a D-component vector of elements of integer type T.
Fourier transform of a real field on an FFT mesh.
Field of real double precision values on an FFT mesh.
Base class for iterators that impose incompressibility.
Intramolecular correlation analysis for LR compressors.
Anderson Mixing compressor with linear-response mixing step.
void readParameters(std::istream &in) override
Read all parameters and initialize.
~LrAmCompressor()
Destructor.
LrAmCompressor(System< D > &system)
Constructor.
int compress() override
Compress to obtain partial saddle point w+.
void outputTimers(std::ostream &out) const override
Return compressor times contributions.
void setup(bool isContinuation) override
Initialize just before entry to iterative loop.
void clearTimers() override
Clear all timers (reset accumulated time to zero).
Main class, representing a complete physical system.
Dynamically allocatable contiguous array template.
Fields and FFTs for periodic boundary conditions (CPU)
Periodic fields and crystallography.
Real periodic fields, SCFT and PS-FTS (CPU).
PSCF package top-level namespace.