waLBerla 7.3
Loading...
Searching...
No Matches
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 *)>>
using FFTComplex = std::unique_ptr<fftw_complex[], std::function<void(fftw_complex*)> >
using FFTPlan = std::unique_ptr<std::remove_pointer_t<fftw_plan>, std::function<void(fftw_plan)> >

Private Attributes

shared_ptr< StructuredBlockForest > & blocks_
BlockDataID fieldId_
std::array< ptrdiff_t, 3 > local_no
FFTReal in_
FFTReal greens_
FFTComplex out_
FFTPlan plan_forward_
FFTPlan plan_backward_

Member Typedef Documentation

◆ FFTComplex

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

◆ FFTPlan

template<typename Field_T>
using walberla::fft::FourierTransform< Field_T >::FFTPlan = std::unique_ptr<std::remove_pointer_t<fftw_plan>, std::function<void(fftw_plan)> >
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>
std::array< ptrdiff_t, 3 > walberla::fft::FourierTransform< Field_T >::local_no
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:
  • /builds/administration/walberla-website/walberla/src/fft/Fft.h
  • /builds/administration/walberla-website/walberla/src/fft/Fft.cpp