walberla::fft::FourierTransform< Field_T > Class Template Reference

#include <Fft.h>

Public Member Functions

 FourierTransform (shared_ptr< StructuredBlockForest > &blocks, BlockDataID fieldId, const std::function< real_t(uint_t, uint_t, uint_t)> &greens=std::function< real_t(uint_t, uint_t, uint_t)>())
 
void operator() ()
 

Private Types

using FFTReal = std::unique_ptr< double[], std::function< void(double *)> >
 
typedef std::unique_ptr< fftw_complex[], std::function< void(fftw_complex *)> > FFTComplex
 
typedef std::unique_ptr< std::remove_pointer< fftw_plan >::type, std::function< void(fftw_plan)> > FFTPlan
 

Private Attributes

shared_ptr< StructuredBlockForest > & blocks_
 
BlockDataID fieldId_
 
ptrdiff_t local_no [3]
 
FFTReal in_
 
FFTReal greens_
 
FFTComplex out_
 
FFTPlan plan_forward_
 
FFTPlan plan_backward_
 

Member Typedef Documentation

◆ FFTComplex

template<typename Field_T >
typedef std::unique_ptr<fftw_complex[], std::function<void(fftw_complex*)> > walberla::fft::FourierTransform< Field_T >::FFTComplex
private

◆ FFTPlan

template<typename Field_T >
typedef std::unique_ptr<std::remove_pointer<fftw_plan>::type, std::function<void(fftw_plan)> > walberla::fft::FourierTransform< Field_T >::FFTPlan
private

◆ FFTReal

template<typename Field_T >
using walberla::fft::FourierTransform< Field_T >::FFTReal = std::unique_ptr<double [], std::function<void (double *)> >
private

Constructor & Destructor Documentation

◆ FourierTransform()

template<typename Field_T >
walberla::fft::FourierTransform< Field_T >::FourierTransform ( shared_ptr< StructuredBlockForest > &  blocks,
BlockDataID  fieldId,
const std::function< real_t(uint_t, uint_t, uint_t)> &  greens = std::function<real_t(uint_t,uint_t,uint_t)>() 
)

Member Function Documentation

◆ operator()()

template<typename Field_T >
void walberla::fft::FourierTransform< Field_T >::operator()

Member Data Documentation

◆ blocks_

template<typename Field_T >
shared_ptr< StructuredBlockForest >& walberla::fft::FourierTransform< Field_T >::blocks_
private

◆ fieldId_

template<typename Field_T >
BlockDataID walberla::fft::FourierTransform< Field_T >::fieldId_
private

◆ greens_

template<typename Field_T >
FFTReal walberla::fft::FourierTransform< Field_T >::greens_
private

◆ in_

template<typename Field_T >
FFTReal walberla::fft::FourierTransform< Field_T >::in_
private

◆ local_no

template<typename Field_T >
ptrdiff_t walberla::fft::FourierTransform< Field_T >::local_no[3]
private

◆ out_

template<typename Field_T >
FFTComplex walberla::fft::FourierTransform< Field_T >::out_
private

◆ plan_backward_

template<typename Field_T >
FFTPlan walberla::fft::FourierTransform< Field_T >::plan_backward_
private

◆ plan_forward_

template<typename Field_T >
FFTPlan walberla::fft::FourierTransform< Field_T >::plan_forward_
private

The documentation for this class was generated from the following files: