ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | List of all members
FFTAccelerationAPI_2Way Class Referenceabstract

API for 2 way M2L. More...

#include <FFTAccelerationAPI_extensions.h>

Inheritance diagram for FFTAccelerationAPI_2Way:
FFTAccelerationAPI FFTAccelerationAPI_full FFTAcceleration_2wayM2L FFTAcceleration_blocks FFTAcceleration_scalBlocks_optFFT FFTAcceleration_2wayM2L_fftw FFTAcceleration_2wayM2L_optFFT FFTAcceleration_blocks_fftw FFTAcceleration_blocks_optFFT

Public Member Functions

virtual ~FFTAccelerationAPI_2Way ()
 destructor, child class will be upcasted, virtual destructor required to call the right child class destructor
 
virtual void FFT_M2L_2way (FFTAccelerableExpansion &Source1, FFTAccelerableExpansion &Source2, FFTAccelerableExpansion &Target1, FFTAccelerableExpansion &Target2, FFTDataContainer *TransferFunction)=0
 M2L using 2way scheme (see doc/2wayM2L) More...
 
virtual void FFT_M2L_2way_vec (FFTAccelerableExpansion &Source1, FFTAccelerableExpansion &Source2, FFTAccelerableExpansion &Target1, FFTAccelerableExpansion &Target2, FFTDataContainer *TransferFunction)=0
 
- Public Member Functions inherited from FFTAccelerationAPI
virtual ~FFTAccelerationAPI ()
 destructor, child class will be upcasted, virtual destructor required to call the right child class destructor
 
virtual void FFT_initialize_Source (FFTAccelerableExpansion &Expansion, double radius)=0
 
virtual void FFT_initialize_Target (FFTAccelerableExpansion &Expansion)=0
 
virtual void FFT_initialize_TransferFunction (FFTAccelerableExpansion &Expansion)=0
 
virtual void FFT_M2L (FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction)=0
 
virtual void FFT_M2L_vec (FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction)=0
 
virtual void FFT_finalize_Target (FFTAccelerableExpansion &Expansion, double radius)=0
 

Additional Inherited Members

- Protected Attributes inherited from FFTAccelerationAPI
int _p
 
int _fft_nx
 order of the expansions (start at 0 so usually order+1)
 
int _fft_ny
 number of line of the FFT matrices (or similar)
 

Detailed Description

API for 2 way M2L.

Various additionnal M2L schemes FMM algorithm will have to static_cast to it to use the order reduction in the M2L All extends FFTAcceleration so FFTAcceleration's implementation can directly inherit them

Member Function Documentation

◆ FFT_M2L_2way()

virtual void FFTAccelerationAPI_2Way::FFT_M2L_2way ( FFTAccelerableExpansion Source1,
FFTAccelerableExpansion Source2,
FFTAccelerableExpansion Target1,
FFTAccelerableExpansion Target2,
FFTDataContainer TransferFunction 
)
pure virtual

M2L using 2way scheme (see doc/2wayM2L)

Implemented in FFTAcceleration_blocks, FFTAcceleration_scalBlocks_optFFT, and FFTAcceleration_2wayM2L.


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