ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
fft::fft_forw_plan< FloatType > Struct Template Reference

Plan for a forward 1D FFT of a flattened 3D array. More...

#include <fft.hpp>

+ Inheritance diagram for fft::fft_forw_plan< FloatType >:
+ Collaboration diagram for fft::fft_forw_plan< FloatType >:

Public Attributes

int row_dir
 row direction of that FFT.
 
int n_permute
 permutations from normal coordinate system.
 
int n_ffts
 number of 1D FFTs.
 
std::array< int, 3u > old_mesh
 size of local mesh before communication.
 
std::array< int, 3u > new_mesh
 size of local mesh after communication, also used for actual FFT.
 
std::array< int, 3u > start
 lower left point of local FFT mesh in global FFT mesh coordinates.
 
int new_size
 size of new mesh (number of mesh points).
 
std::vector< int > group
 group of nodes which have to communicate with each other.
 
std::vector< int > send_block
 Send block specification.
 
std::vector< int > send_size
 Send block communication sizes.
 
std::vector< int > recv_block
 Recv block specification.
 
std::vector< int > recv_size
 Recv block communication sizes.
 
int element
 size of send block elements, i.e.
 
- Public Attributes inherited from fft::fft_plan< FloatType >
int dir
 plan direction: forward or backward FFT (enum value from FFTW).
 
fftw_plan plan_handle = nullptr
 plan for the FFT.
 
void(* pack_function )(FloatType const *const, FloatType *const, int const *, int const *, int const *, int)
 packing function for send blocks.
 

Additional Inherited Members

- Public Types inherited from fft::fft_plan< FloatType >
using fftw_plan = std::conditional_t< std::is_same_v< FloatType, double >, fftw_plan_s *, fftwf_plan_s * >
 
- Public Member Functions inherited from fft::fft_plan< FloatType >
 ~fft_plan ()
 
void destroy_plan ()
 

Detailed Description

template<typename FloatType>
struct fft::fft_forw_plan< FloatType >

Plan for a forward 1D FFT of a flattened 3D array.

Definition at line 82 of file fft.hpp.

Member Data Documentation

◆ element

template<typename FloatType >
int fft::fft_forw_plan< FloatType >::element

size of send block elements, i.e.

1 for real, 2 for complex.

Definition at line 111 of file fft.hpp.

◆ group

template<typename FloatType >
std::vector<int> fft::fft_forw_plan< FloatType >::group

group of nodes which have to communicate with each other.

Definition at line 100 of file fft.hpp.

◆ n_ffts

template<typename FloatType >
int fft::fft_forw_plan< FloatType >::n_ffts

number of 1D FFTs.

Definition at line 88 of file fft.hpp.

◆ n_permute

template<typename FloatType >
int fft::fft_forw_plan< FloatType >::n_permute

permutations from normal coordinate system.

Definition at line 86 of file fft.hpp.

◆ new_mesh

template<typename FloatType >
std::array<int, 3u> fft::fft_forw_plan< FloatType >::new_mesh

size of local mesh after communication, also used for actual FFT.

Definition at line 93 of file fft.hpp.

◆ new_size

template<typename FloatType >
int fft::fft_forw_plan< FloatType >::new_size

size of new mesh (number of mesh points).

Definition at line 97 of file fft.hpp.

◆ old_mesh

template<typename FloatType >
std::array<int, 3u> fft::fft_forw_plan< FloatType >::old_mesh

size of local mesh before communication.

Definition at line 91 of file fft.hpp.

◆ recv_block

template<typename FloatType >
std::vector<int> fft::fft_forw_plan< FloatType >::recv_block

Recv block specification.

6 integers for each node: start[3], size[3].

Definition at line 107 of file fft.hpp.

◆ recv_size

template<typename FloatType >
std::vector<int> fft::fft_forw_plan< FloatType >::recv_size

Recv block communication sizes.

Definition at line 109 of file fft.hpp.

◆ row_dir

template<typename FloatType >
int fft::fft_forw_plan< FloatType >::row_dir

row direction of that FFT.

Definition at line 84 of file fft.hpp.

◆ send_block

template<typename FloatType >
std::vector<int> fft::fft_forw_plan< FloatType >::send_block

Send block specification.

6 integers for each node: start[3], size[3].

Definition at line 103 of file fft.hpp.

◆ send_size

template<typename FloatType >
std::vector<int> fft::fft_forw_plan< FloatType >::send_size

Send block communication sizes.

Definition at line 105 of file fft.hpp.

◆ start

template<typename FloatType >
std::array<int, 3u> fft::fft_forw_plan< FloatType >::start

lower left point of local FFT mesh in global FFT mesh coordinates.

Definition at line 95 of file fft.hpp.


The documentation for this struct was generated from the following file: