Nektar++
|
#include <NekFFTW.h>
Public Member Functions | |
NekFFTW (int N) | |
~NekFFTW () override | |
Public Member Functions inherited from Nektar::LibUtilities::NektarFFT | |
NektarFFT (int N) | |
Initialises NektarFFT class members. More... | |
virtual | ~NektarFFT () |
void | FFTFwdTrans (Array< OneD, NekDouble > &phy, Array< OneD, NekDouble > &coef) |
void | FFTBwdTrans (Array< OneD, NekDouble > &coef, Array< OneD, NekDouble > &phys) |
Static Public Member Functions | |
static NektarFFTSharedPtr | create (int N) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Protected Member Functions | |
void | Reshuffle_FFTW2Nek (Array< OneD, NekDouble > &coef) |
void | Reshuffle_Nek2FFTW (Array< OneD, NekDouble > &coef) |
void | v_FFTFwdTrans (Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
void | v_FFTBwdTrans (Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_FFTFwdTrans (Array< OneD, NekDouble > &phys, Array< OneD, NekDouble > &coef) |
virtual void | v_FFTBwdTrans (Array< OneD, NekDouble > &coef, Array< OneD, NekDouble > &phys) |
Protected Attributes | |
Array< OneD, NekDouble > | m_FFTW_w |
Array< OneD, NekDouble > | m_FFTW_w_inv |
Array< OneD, NekDouble > | m_phys |
Array< OneD, NekDouble > | m_coef |
Array< OneD, NekDouble > | m_wsp |
fftw_plan | m_plan_backward |
fftw_plan | m_plan_forward |
Additional Inherited Members | |
Public Attributes inherited from Nektar::LibUtilities::NektarFFT | |
int | m_N |
Nektar::LibUtilities::NekFFTW::NekFFTW | ( | int | N | ) |
Definition at line 44 of file NekFFTW.cpp.
References m_coef, m_FFTW_w, m_FFTW_w_inv, Nektar::LibUtilities::NektarFFT::m_N, m_phys, m_plan_backward, m_plan_forward, and m_wsp.
|
override |
Definition at line 72 of file NekFFTW.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 63 of file NekFFTW.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
Reshuffling routines to put the coefficients in Nektar++/FFTW format. The routines take as an input the number of points N, the vector of coeffcients and the vector containing the weights of the numerical integration. The routines modify directly the coef vector.
Definition at line 103 of file NekFFTW.cpp.
References m_FFTW_w, Nektar::LibUtilities::NektarFFT::m_N, m_wsp, Vmath::Vcopy(), and Vmath::Vmul().
Referenced by v_FFTFwdTrans().
Definition at line 122 of file NekFFTW.cpp.
References m_FFTW_w_inv, Nektar::LibUtilities::NektarFFT::m_N, m_wsp, Vmath::Smul(), Vmath::Vcopy(), and Vmath::Vmul().
Referenced by v_FFTBwdTrans().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::NektarFFT.
Definition at line 90 of file NekFFTW.cpp.
References m_coef, Nektar::LibUtilities::NektarFFT::m_N, m_phys, m_plan_backward, Reshuffle_Nek2FFTW(), and Vmath::Vcopy().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::NektarFFT.
Definition at line 77 of file NekFFTW.cpp.
References m_coef, Nektar::LibUtilities::NektarFFT::m_N, m_phys, m_plan_forward, Reshuffle_FFTW2Nek(), and Vmath::Vcopy().
|
static |
Name of class.
Definition at line 85 of file NekFFTW.h.
Referenced by NekFFTW(), v_FFTBwdTrans(), and v_FFTFwdTrans().
Definition at line 80 of file NekFFTW.h.
Referenced by NekFFTW(), and Reshuffle_FFTW2Nek().
Definition at line 82 of file NekFFTW.h.
Referenced by NekFFTW(), and Reshuffle_Nek2FFTW().
Definition at line 84 of file NekFFTW.h.
Referenced by NekFFTW(), v_FFTBwdTrans(), and v_FFTFwdTrans().
|
protected |
Definition at line 89 of file NekFFTW.h.
Referenced by NekFFTW(), and v_FFTBwdTrans().
|
protected |
Definition at line 90 of file NekFFTW.h.
Referenced by NekFFTW(), and v_FFTFwdTrans().
Definition at line 87 of file NekFFTW.h.
Referenced by NekFFTW(), Reshuffle_FFTW2Nek(), and Reshuffle_Nek2FFTW().