ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
FFTBackendLegacy< FloatType > Class Template Reference

Historic FFT backend based on FFTW3. More...

#include <FFTBackendLegacy.hpp>

+ Inheritance diagram for FFTBackendLegacy< FloatType >:
+ Collaboration diagram for FFTBackendLegacy< FloatType >:

Public Member Functions

 FFTBackendLegacy (P3MLocalMesh const &local_mesh)
 
 ~FFTBackendLegacy () override
 
void init (P3MParameters const &params) override
 
void forward_fft (FloatType *rs_mesh) override
 
void backward_fft (FloatType *rs_mesh) override
 
int get_ca_mesh_size () const noexcept override
 
int get_ks_pnum () const noexcept override
 
std::array< int, 3u > const & get_mesh_size () const override
 
std::array< int, 3u > const & get_mesh_start () const override
 
std::tuple< int, int, int > get_permutations () const override
 Index helpers for reciprocal space.
 
- Public Member Functions inherited from FFTBackend< FloatType >
 FFTBackend (P3MLocalMesh const &local_mesh)
 
virtual ~FFTBackend ()=default
 

Additional Inherited Members

- Public Attributes inherited from FFTBackend< FloatType >
bool check_complex_residuals = false
 
- Protected Attributes inherited from FFTBackend< FloatType >
P3MLocalMesh const & local_mesh
 

Detailed Description

template<typename FloatType>
class FFTBackendLegacy< FloatType >

Historic FFT backend based on FFTW3.

The 3D FFT is split into three 1D FFTs.

Definition at line 45 of file FFTBackendLegacy.hpp.

Constructor & Destructor Documentation

◆ FFTBackendLegacy()

template<typename FloatType >
FFTBackendLegacy< FloatType >::FFTBackendLegacy ( P3MLocalMesh const &  local_mesh)

Definition at line 35 of file FFTBackendLegacy.cpp.

◆ ~FFTBackendLegacy()

template<typename FloatType >
FFTBackendLegacy< FloatType >::~FFTBackendLegacy ( )
overridedefault

Member Function Documentation

◆ backward_fft()

template<typename FloatType >
void FFTBackendLegacy< FloatType >::backward_fft ( FloatType *  rs_mesh)
overridevirtual

Implements FFTBackend< FloatType >.

Definition at line 56 of file FFTBackendLegacy.cpp.

References comm_cart.

◆ forward_fft()

template<typename FloatType >
void FFTBackendLegacy< FloatType >::forward_fft ( FloatType *  rs_mesh)
overridevirtual

Implements FFTBackend< FloatType >.

Definition at line 51 of file FFTBackendLegacy.cpp.

References comm_cart.

◆ get_ca_mesh_size()

template<typename FloatType >
int FFTBackendLegacy< FloatType >::get_ca_mesh_size ( ) const
inlineoverridevirtualnoexcept

Implements FFTBackend< FloatType >.

Definition at line 61 of file FFTBackendLegacy.hpp.

◆ get_ks_pnum()

template<typename FloatType >
int FFTBackendLegacy< FloatType >::get_ks_pnum ( ) const
inlineoverridevirtualnoexcept

Implements FFTBackend< FloatType >.

Definition at line 62 of file FFTBackendLegacy.hpp.

◆ get_mesh_size()

template<typename FloatType >
std::array< int, 3u > const & FFTBackendLegacy< FloatType >::get_mesh_size ( ) const
inlineoverridevirtual

Implements FFTBackend< FloatType >.

Definition at line 63 of file FFTBackendLegacy.hpp.

◆ get_mesh_start()

template<typename FloatType >
std::array< int, 3u > const & FFTBackendLegacy< FloatType >::get_mesh_start ( ) const
inlineoverridevirtual

Implements FFTBackend< FloatType >.

Definition at line 66 of file FFTBackendLegacy.hpp.

◆ get_permutations()

template<typename FloatType >
std::tuple< int, int, int > FFTBackendLegacy< FloatType >::get_permutations ( ) const
inlineoverridevirtual

Index helpers for reciprocal space.

After the FFT the data is in order YZX, which means that Y is the slowest changing index.

Implements FFTBackend< FloatType >.

Definition at line 75 of file FFTBackendLegacy.hpp.

◆ init()

template<typename FloatType >
void FFTBackendLegacy< FloatType >::init ( P3MParameters const &  params)
overridevirtual

Implements FFTBackend< FloatType >.

Definition at line 44 of file FFTBackendLegacy.cpp.

References comm_cart, communicator, Communicator::node_grid, and params.


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