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

API for the legacy FFT backend of the P3M algorithm. More...

#include <data_struct.hpp>

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

Public Member Functions

 FFTBackend (P3MLocalMesh const &local_mesh)
 
virtual ~FFTBackend ()=default
 
virtual void init (P3MParameters const &params)=0
 
virtual int get_ca_mesh_size () const noexcept=0
 
virtual int get_ks_pnum () const noexcept=0
 
virtual void forward_fft (FloatType *rs_mesh)=0
 Carry out the forward FFT of the scalar mesh.
 
virtual void backward_fft (FloatType *rs_mesh)=0
 Carry out the backward FFT of the scalar mesh.
 
virtual std::array< int, 3u > constget_mesh_size () const =0
 
virtual std::array< int, 3u > constget_mesh_start () const =0
 

Protected Attributes

P3MLocalMesh constlocal_mesh
 

Detailed Description

template<typename FloatType>
class FFTBackend< FloatType >

API for the legacy FFT backend of the P3M algorithm.

Definition at line 79 of file data_struct.hpp.

Constructor & Destructor Documentation

◆ FFTBackend()

template<typename FloatType >
FFTBackend< FloatType >::FFTBackend ( P3MLocalMesh const local_mesh)
inlineexplicit

Definition at line 84 of file data_struct.hpp.

◆ ~FFTBackend()

template<typename FloatType >
virtual FFTBackend< FloatType >::~FFTBackend ( )
virtualdefault

Member Function Documentation

◆ backward_fft()

template<typename FloatType >
virtual void FFTBackend< FloatType >::backward_fft ( FloatType *  rs_mesh)
pure virtual

Carry out the backward FFT of the scalar mesh.

Implemented in FFTBackendLegacy< FloatType >.

◆ forward_fft()

template<typename FloatType >
virtual void FFTBackend< FloatType >::forward_fft ( FloatType *  rs_mesh)
pure virtual

Carry out the forward FFT of the scalar mesh.

Implemented in FFTBackendLegacy< FloatType >.

◆ get_ca_mesh_size()

template<typename FloatType >
virtual int FFTBackend< FloatType >::get_ca_mesh_size ( ) const
pure virtualnoexcept

◆ get_ks_pnum()

template<typename FloatType >
virtual int FFTBackend< FloatType >::get_ks_pnum ( ) const
pure virtualnoexcept

◆ get_mesh_size()

template<typename FloatType >
virtual std::array< int, 3u > const & FFTBackend< FloatType >::get_mesh_size ( ) const
pure virtual

◆ get_mesh_start()

template<typename FloatType >
virtual std::array< int, 3u > const & FFTBackend< FloatType >::get_mesh_start ( ) const
pure virtual

◆ init()

template<typename FloatType >
virtual void FFTBackend< FloatType >::init ( P3MParameters const params)
pure virtual

Member Data Documentation

◆ local_mesh

template<typename FloatType >
P3MLocalMesh const& FFTBackend< FloatType >::local_mesh
protected

Definition at line 81 of file data_struct.hpp.


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