![]() |
Block-Structured AMR Software Framework
|
Discrete Fourier Transform. More...
#include <AMReX_FFT_R2X.H>
Public Types | |
| using | MF |
| using | cMF = FabArray<BaseFab<GpuComplex<T> > > |
Public Member Functions | |
| R2X (Box const &domain, Array< std::pair< Boundary, Boundary >, 3 > const &bc, Info const &info=Info{}) | |
| Build an FFT plan for the given domain and boundary types. | |
| ~R2X () | |
| Destroy any FFT resources held by this object. | |
| R2X (R2X const &)=delete | |
| R2X (R2X &&)=delete | |
| R2X & | operator= (R2X const &)=delete |
| R2X & | operator= (R2X &&)=delete |
| T | scalingFactor () const |
| Normalization applied after a forward/backward sequence. | |
| template<typename F> | |
| void | forwardThenBackward (MF const &inmf, MF &outmf, F const &post_forward) |
Execute forward transform, apply post_forward, then backward transform. | |
| template<int dim, typename FAB, typename F> | |
| void | post_forward_doit (FAB *fab, F const &f) |
Apply a user functor to a FAB after the forward transform along dimension dim. | |
| template<typename F> | |
| void | forwardThenBackward_doit_0 (MF const &inmf, MF &outmf, F const &post_forward, IntVect const &ngout=IntVect(0), Periodicity const &period=Periodicity::NonPeriodic()) |
| CUDA-visible helper that performs the forward/modify/backward cycle. | |
| template<typename F> | |
| void | forwardThenBackward_doit_1 (MF const &inmf, MF &outmf, F const &post_forward, IntVect const &ngout=IntVect(0), Periodicity const &period=Periodicity::NonPeriodic()) |
| CUDA-visible helper that operates on the complex FAB path. | |
Friends | |
| template<typename U> | |
| class | Poisson |
| template<typename U> | |
| class | PoissonHybrid |
Discrete Fourier Transform.
This class supports Fourier transforms including cosine and sine transforms.
| using amrex::FFT::R2X< T >::cMF = FabArray<BaseFab<GpuComplex<T> > > |
| using amrex::FFT::R2X< T >::MF |
| amrex::FFT::R2X< T >::~R2X | ( | ) |
Destroy any FFT resources held by this object.
|
delete |
|
delete |
| void amrex::FFT::R2X< T >::forwardThenBackward | ( | MF const & | inmf, |
| MF & | outmf, | ||
| F const & | post_forward ) |
| void amrex::FFT::R2X< T >::forwardThenBackward_doit_0 | ( | MF const & | inmf, |
| MF & | outmf, | ||
| F const & | post_forward, | ||
| IntVect const & | ngout = IntVect(0), | ||
| Periodicity const & | period = Periodicity::NonPeriodic() ) |
CUDA-visible helper that performs the forward/modify/backward cycle.
| inmf | Input MultiFab. |
| outmf | Output MultiFab. |
| post_forward | Spectral modifier functor. |
| ngout | Grow cells to fill on output. |
| period | Periodicity used for ghost exchange. |
| void amrex::FFT::R2X< T >::forwardThenBackward_doit_1 | ( | MF const & | inmf, |
| MF & | outmf, | ||
| F const & | post_forward, | ||
| IntVect const & | ngout = IntVect(0), | ||
| Periodicity const & | period = Periodicity::NonPeriodic() ) |
CUDA-visible helper that operates on the complex FAB path.
| inmf | Input MultiFab. |
| outmf | Output MultiFab. |
| post_forward | Spectral modifier functor. |
| ngout | Grow cells to fill on output. |
| period | Periodicity used for ghost exchange. |
|
delete |
|
delete |
| void amrex::FFT::R2X< T >::post_forward_doit | ( | FAB * | fab, |
| F const & | f ) |
Apply a user functor to a FAB after the forward transform along dimension dim.
| fab | Spectral FAB to mutate. |
| f | Callable object. |
|
nodiscard |
Normalization applied after a forward/backward sequence.
|
friend |
|
friend |