1#ifndef RPG_LR_COMPRESSOR_H
2#define RPG_LR_COMPRESSOR_H
11#include "Compressor.h"
12#include <prdc/cuda/RField.h>
13#include <prdc/cuda/RFieldDft.h>
14#include <util/containers/DArray.h>
15#include <util/containers/DMatrix.h>
16#include <util/misc/Timer.h>
17#include <rpg/fts/compressor/intra/IntraCorrelation.h>
23 template <
int D>
class System;
81 double subspacePercent(){
return 0;};
83 double correctionPercent(){
return 0;};
119 std::string errorType_;
167 void updateWFields();
175 double computeError(
int verbose);
210 #ifndef RPG_LR_COMPRESSOR_TPP
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.
int mdeCounter_
Count how many times MDE has been solved.
System< D > const & system() const
Return const reference to parent system.
Base class for iterators that impose incompressibility.
Linear response compressor.
void setup()
Initialize just before entry to iterative loop.
void readParameters(std::istream &in)
Read all parameters and initialize.
void clearTimers()
Clear timers.
~LrCompressor()
Destructor.
int compress()
Iterate pressure field to obtain partial saddle point.
void outputTimers(std::ostream &out)
Return compressor times contributions.
LrCompressor(System< D > &system)
Constructor.
Main class for calculations that represent one system.
Dynamically allocatable contiguous array template.
ScalarParam< Type > & read(std::istream &in, const char *label, Type &value)
Add and read a new required ScalarParam < Type > object.
void setClassName(const char *className)
Set class name string.
ScalarParam< Type > & readOptional(std::istream &in, const char *label, Type &value)
Add and read a new optional ScalarParam < Type > object.
Fields, FFTs, and utilities for periodic boundary conditions (CUDA)
Periodic fields and crystallography.
PSCF package top-level namespace.
Utility classes for scientific computation.