ls1-MarDyn
ls1-MarDyn molecular dynamics code
|
#include <FFTAcceleration_matrices.h>
Public Member Functions | |
void | FFT_initialize_Target (FFTAccelerableExpansion &Expansion) |
void | FFT_M2L (FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction) |
void | FFT_M2L_vec (FFTAccelerableExpansion &Source, FFTAccelerableExpansion &Target, FFTDataContainer *TransferFunction) |
![]() | |
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_TransferFunction (FFTAccelerableExpansion &Expansion)=0 |
virtual void | FFT_finalize_Target (FFTAccelerableExpansion &Expansion, double radius)=0 |
Protected Member Functions | |
FFTDataContainer_matrices * | getFFTData (FFTAccelerableExpansion &Expansion) |
Additional Inherited Members | |
![]() | |
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) | |
Abstract class with common code for basic fft and fftw implementation
Use FFTDataContainer_matrices as Data container (2 matrices)
|
virtual |
Initialize a Target expansion's FFTDatacontainer (schould be to a full 0 FFTDatacontainer)
FFTAccelerableExpansion | & Expansion |
Implements FFTAccelerationAPI.
|
virtual |
M2L operator, performs the M2L in fourier space, usually an entrywise product (or more complexe scheme if needed, see blocks implementations)
All parameters needs to be initialized using the previous methods The TransferFunction should come from a TransferFunctionManager
FFTAccelerableExpansion | & Source |
FFTAccelerableExpansion | & Target |
FFTDataContainer* | TransferFunction |
Implements FFTAccelerationAPI.
|
virtual |
M2L operator, performs the M2L in fourier space, usually an entrywise product (or more complexe scheme if needed, see blocks implementations)
Uses vectorization of the loops
All parameters needs to be initialized using the previous methods The TransferFunction should come from a TransferFunctionManager
FFTAccelerableExpansion | & Source |
FFTAccelerableExpansion | & Target |
FFTDataContainer* | TransferFunction |
Implements FFTAccelerationAPI.