ls1-MarDyn
ls1-MarDyn molecular dynamics code
FFTAccelerationAPI_extensions.h
1/*
2 * FFTAcceleration_extensions.h
3 *
4 * Created on: Mar 20, 2016
5 * Author: gallardjm
6 */
7#ifndef FFTACC_EXTS_H_
8#define FFTACC_EXTS_H_
9
10#include "bhfmm/fft/FFTDataContainer.h"
11#include "bhfmm/fft/FFTAccelerableExpansion.h"
12#include "bhfmm/fft/FFTAccelerationAPI.h"
13
22
23public:
24
27 }
28
30 virtual void FFT_M2L_2way(FFTAccelerableExpansion & Source1,
34 FFTDataContainer* TransferFunction) =0;
35 virtual void FFT_M2L_2way_vec(FFTAccelerableExpansion & Source1,
39 FFTDataContainer* TransferFunction) =0;
40};
41
44
45public:
46
49 }
50
54 FFTDataContainer* TransferFunction, int order) =0;
55 virtual void FFT_M2L_OrderReduction_vec(FFTAccelerableExpansion & Source,
57 FFTDataContainer* TransferFunction, int order) =0;
58
59 //M2L using 2way from inheritance
60
66 FFTDataContainer* TransferFunction, int order) =0;
67 virtual void FFT_M2L_2way_ORed_vec(FFTAccelerableExpansion & Source1,
71 FFTDataContainer* TransferFunction, int order) =0;
72
73};
74
75#endif
Definition: FFTAccelerableExpansion.h:21
API for 2 way M2L.
Definition: FFTAccelerationAPI_extensions.h:21
virtual ~FFTAccelerationAPI_2Way()
destructor, child class will be upcasted, virtual destructor required to call the right child class d...
Definition: FFTAccelerationAPI_extensions.h:26
virtual void FFT_M2L_2way(FFTAccelerableExpansion &Source1, FFTAccelerableExpansion &Source2, FFTAccelerableExpansion &Target1, FFTAccelerableExpansion &Target2, FFTDataContainer *TransferFunction)=0
M2L using 2way scheme (see doc/2wayM2L)
API for OrderReduction scheme (extends 2way M2L)
Definition: FFTAccelerationAPI_extensions.h:43
virtual ~FFTAccelerationAPI_full()
destructor, child class will be upcasted, virtual destructor required to call the right child class d...
Definition: FFTAccelerationAPI_extensions.h:48
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.
virtual void FFT_M2L_OrderReduction(FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction, int order)=0
M2L using Order Reduction.
Definition: FFTAccelerationAPI.h:22
Definition: FFTDataContainer.h:14