1#ifndef PSPG_FFT_BATCHED_H
2#define PSPG_FFT_BATCHED_H
11#include <pspg/field/RDField.h>
12#include <pspg/field/RDFieldDft.h>
13#include <pscf/math/IntVec.h>
18#include <cuda_runtime.h>
19#include <pspg/math/GpuResources.h>
124 {
return meshDimensions_; }
131 inline cufftHandle& FFTBatched<D>::fPlan()
135 inline cufftHandle& FFTBatched<D>::iPlan()
138 #ifndef PSPG_FFT_BATCHED_TPP
140 extern template class FFTBatched<1>;
141 extern template class FFTBatched<2>;
142 extern template class FFTBatched<3>;
An IntVec<D, T> is a D-component vector of elements of integer type T.
Fourier transform wrapper for real data.
FFTBatched()
Default constructor.
void setup(RDField< D > &rDField, RDFieldDft< D > &kDField)
Check and setup grid dimensions if necessary.
void inverseTransform(RDFieldDft< D > &in, RDField< D > &out)
Compute inverse (complex-to-real) Fourier transform.
virtual ~FFTBatched()
Destructor.
void forwardTransform(RDField< D > &in, RDFieldDft< D > &out)
Compute forward (real-to-complex) Fourier transform.
const IntVec< D > & meshDimensions() const
Return the dimensions of the grid for which this was allocated.
Discrete Fourier Transform (DFT) of a real field on an FFT mesh.
Field of real single precision values on an FFT mesh on a device.
File containing preprocessor macros for error handling.
C++ namespace for polymer self-consistent field theory (PSCF).
Utility classes for scientific computation.