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

API for OrderReduction scheme (extends 2way M2L) More...

#include <FFTAccelerationAPI_extensions.h>

Inheritance diagram for FFTAccelerationAPI_full:
FFTAccelerationAPI_2Way FFTAccelerationAPI FFTAcceleration_blocks FFTAcceleration_scalBlocks_optFFT FFTAcceleration_blocks_fftw FFTAcceleration_blocks_optFFT

Public Member Functions

virtual ~FFTAccelerationAPI_full ()
 destructor, child class will be upcasted, virtual destructor required to call the right child class destructor
 
virtual void FFT_M2L_OrderReduction (FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction, int order)=0
 M2L using Order Reduction. More...
 
virtual void FFT_M2L_OrderReduction_vec (FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction, int order)=0
 
virtual void FFT_M2L_2way_ORed (FFTAccelerableExpansion &Source1, FFTAccelerableExpansion &Source2, FFTAccelerableExpansion &Target1, FFTAccelerableExpansion &Target2, FFTDataContainer *TransferFunction, int order)=0
 M2L using both Order Reduction and 2way. More...
 
virtual void FFT_M2L_2way_ORed_vec (FFTAccelerableExpansion &Source1, FFTAccelerableExpansion &Source2, FFTAccelerableExpansion &Target1, FFTAccelerableExpansion &Target2, FFTDataContainer *TransferFunction, int order)=0
 
- Public Member Functions inherited from FFTAccelerationAPI_2Way
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 OrderReduction scheme (extends 2way M2L)

Member Function Documentation

◆ FFT_M2L_2way_ORed()

virtual void FFTAccelerationAPI_full::FFT_M2L_2way_ORed ( FFTAccelerableExpansion Source1,
FFTAccelerableExpansion Source2,
FFTAccelerableExpansion Target1,
FFTAccelerableExpansion Target2,
FFTDataContainer TransferFunction,
int  order 
)
pure virtual

M2L using both Order Reduction and 2way.

Implemented in FFTAcceleration_blocks, and FFTAcceleration_scalBlocks_optFFT.

◆ FFT_M2L_OrderReduction()

virtual void FFTAccelerationAPI_full::FFT_M2L_OrderReduction ( FFTAccelerableExpansion Source,
FFTAccelerableExpansion Target,
FFTDataContainer TransferFunction,
int  order 
)
pure virtual

M2L using Order Reduction.

Implemented in FFTAcceleration_blocks, and FFTAcceleration_scalBlocks_optFFT.


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