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