|
| FastFourierTransform (const ArrayLayout< EntityType, MeshType > &layout) |
| Constructor.
|
|
void | checkArrayDofs (const int dof) |
| Ensure the FFT compute array has the correct DoFs.
|
|
template<class Array_t, class ScaleType> |
void | forward (const Array_t &x, const ScaleType scaling, typename std::enable_if<(is_array< Array_t >::value &&is_matching_array< typename Array_t::entity_type, typename Array_t::mesh_type, typename Array_t::memory_space, typename Array_t::value_type, entity_type, mesh_type, memory_space, value_type >::value), int >::type *=0) |
| Do a forward FFT.
|
|
template<class Array_t, class ScaleType> |
void | reverse (const Array_t &x, const ScaleType scaling, typename std::enable_if<(is_array< Array_t >::value &&is_matching_array< typename Array_t::entity_type, typename Array_t::mesh_type, typename Array_t::memory_space, typename Array_t::value_type, entity_type, mesh_type, memory_space, value_type >::value), int >::type *=0) |
| Do a reverse FFT.
|
|
template<class ExecutionSpace, class IndexSpaceType, class LViewType, class LGViewType, std::size_t NSD = num_space_dim> |
std::enable_if_t< 3==NSD, void > | copyToLocal (ExecutionSpace exec_space, const IndexSpaceType own_space, LViewType &l_view, const LGViewType lg_view) |
| Copy owned data for FFT.
|
|
template<class ExecutionSpace, class IndexSpaceType, class LViewType, class LGViewType, std::size_t NSD = num_space_dim> |
std::enable_if_t< 2==NSD, void > | copyToLocal (ExecutionSpace space, const IndexSpaceType own_space, LViewType &l_view, const LGViewType lg_view) |
| Copy owned data for FFT.
|
|
template<class ExecutionSpace, class IndexSpaceType, class LViewType, class LGViewType, std::size_t NSD = num_space_dim> |
std::enable_if_t< 3==NSD, void > | copyFromLocal (ExecutionSpace space, const IndexSpaceType own_space, const LViewType l_view, LGViewType &lg_view) |
| Copy owned data back after FFT.
|
|
template<class ExecutionSpace, class IndexSpaceType, class LViewType, class LGViewType, std::size_t NSD = num_space_dim> |
std::enable_if_t< 2==NSD, void > | copyFromLocal (ExecutionSpace space, const IndexSpaceType own_space, const LViewType l_view, LGViewType &lg_view) |
| Copy owned data back after FFT.
|
|
template<class EntityType, class MeshType, class Scalar, class MemorySpace, class Derived>
class Cabana::Grid::Experimental::FastFourierTransform< EntityType, MeshType, Scalar, MemorySpace, Derived >
2D/3D distributed fast Fourier transform base implementation.