1#ifndef PRDC_CPU_R_FIELD_DFT_H
2#define PRDC_CPU_R_FIELD_DFT_H
11#include <prdc/cpu/FftwDArray.h>
12#include <pscf/math/IntVec.h>
111 template <
class Archive>
112 void serialize(Archive& ar,
const unsigned int version);
131 {
return meshDimensions_; }
138 {
return dftDimensions_; }
144 template <
class Archive>
148 ar & meshDimensions_;
An IntVec<D, T> is a D-component vector of elements of integer type T.
void serialize(Archive &ar, const unsigned int version)
Serialize a FftwDArray to/from an Archive.
Fourier transform of a real field on an FFT mesh.
virtual void deallocate()
Deallocate underlying C array and clear mesh dimensions.
double RealType
Type of real and imaginary parts of a complex element value.
virtual ~RFieldDft()
Destructor.
IntVec< D > const & meshDimensions() const
Return vector of spatial mesh dimensions by constant reference.
void serialize(Archive &ar, const unsigned int version)
Serialize a Field to/from an Archive.
IntVec< D > const & dftDimensions() const
Return vector of dft (Fourier) grid dimensions by constant reference.
RFieldDft< D > & operator=(RFieldDft< D > const &other)
Assignment operator.
void allocate(IntVec< D > const &meshDimensions)
Allocate the underlying C array and set mesh dimensions.
RFieldDft()
Default constructor.
Fields and FFTs for periodic boundary conditions (CPU)
Periodic fields and crystallography.
PSCF package top-level namespace.