Nektar++
|
Base class for the development of solvers. More...
#include <AdvectionTerm.h>
Public Member Functions | |
virtual | ~AdvectionTerm () |
Destructor. | |
void | InitObject () |
void | DoAdvection (Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int nConvectiveFields, const Array< OneD, int > &vel_loc, const Array< OneD, const Array< OneD, NekDouble > > &pInarray, Array< OneD, Array< OneD, NekDouble > > &pOutarray, NekDouble m_time, Array< OneD, NekDouble > &pWk=NullNekDouble1DArray) |
Compute advection term. | |
void | DoAdvection (Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, const Array< OneD, NekDouble > > &Velocity, const Array< OneD, const Array< OneD, NekDouble > > &pInarray, Array< OneD, Array< OneD, NekDouble > > &pOutarray, NekDouble m_time, Array< OneD, NekDouble > &pWk=NullNekDouble1DArray) |
bool | GetSpecHPDealiasing (void) |
void | SetSpecHPDealiasing (bool value) |
Protected Member Functions | |
AdvectionTerm (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
Constructor. | |
virtual void | v_InitObject () |
virtual void | v_ComputeAdvectionTerm (Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, Array< OneD, NekDouble > > &pV, const Array< OneD, const NekDouble > &pU, Array< OneD, NekDouble > &pOutarray, int pVelocityComponent, NekDouble m_time, Array< OneD, NekDouble > &pWk) |
Protected Attributes | |
LibUtilities::SessionReaderSharedPtr | m_session |
std::string | m_sessionName |
Name of the session. | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
Pointer to mesh graph. | |
bool | m_homogen_dealiasing |
flag to determine if use Fourier dealising or not | |
bool | m_specHP_dealiasing |
flag to determine if use Spectral/hp element dealising or not | |
bool | m_SingleMode |
Flag to determine if use single mode or not. | |
bool | m_HalfMode |
Flag to determine if use half mode or not. | |
MultiRegions::CoeffState | m_CoeffState |
enum MultiRegions::ProjectionType | m_projectionType |
Type of projection, i.e. Galerkin or DG. | |
int | m_spacedim |
Spatial dimension (> expansion dim) | |
int | m_expdim |
Dimension of the expansion. | |
int | nvariables |
Number of variables. | |
int | m_nConvectiveFields |
int | m_slices |
Number of fields to be convected;. | |
NekDouble | m_period |
Array< OneD, Array< OneD, NekDouble > > | m_interp |
LibUtilities::NektarFFTSharedPtr | m_FFT |
Array< OneD, NekDouble > | m_tmpIN |
Array< OneD, NekDouble > | m_tmpOUT |
bool | m_useFFTW |
Base class for the development of solvers.
Definition at line 62 of file AdvectionTerm.h.
|
virtual |
|
protected |
Constructor.
Constructor. Creates ...
\param |
Definition at line 57 of file AdvectionTerm.cpp.
void Nektar::AdvectionTerm::DoAdvection | ( | Array< OneD, MultiRegions::ExpListSharedPtr > & | pFields, |
const int | nConvectiveFields, | ||
const Array< OneD, int > & | vel_loc, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | pInarray, | ||
Array< OneD, Array< OneD, NekDouble > > & | pOutarray, | ||
NekDouble | m_time, | ||
Array< OneD, NekDouble > & | pWk = NullNekDouble1DArray |
||
) |
Compute advection term.
Definition at line 127 of file AdvectionTerm.cpp.
References ASSERTL1, m_HalfMode, and m_SingleMode.
void Nektar::AdvectionTerm::DoAdvection | ( | Array< OneD, MultiRegions::ExpListSharedPtr > & | pFields, |
const Array< OneD, const Array< OneD, NekDouble > > & | Velocity, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | pInarray, | ||
Array< OneD, Array< OneD, NekDouble > > & | pOutarray, | ||
NekDouble | m_time, | ||
Array< OneD, NekDouble > & | pWk = NullNekDouble1DArray |
||
) |
Definition at line 160 of file AdvectionTerm.cpp.
References ASSERTL0, m_nConvectiveFields, Vmath::Neg(), and v_ComputeAdvectionTerm().
|
inline |
Definition at line 86 of file AdvectionTerm.h.
References m_specHP_dealiasing.
|
inline |
|
inline |
Definition at line 91 of file AdvectionTerm.h.
References m_specHP_dealiasing.
|
inlineprotectedvirtual |
|
protectedvirtual |
Reimplemented in Nektar::LinearisedAdvection, and Nektar::AdjointAdvection.
Definition at line 65 of file AdvectionTerm.cpp.
References ASSERTL0, Nektar::MultiRegions::eDiscontinuous, Nektar::MultiRegions::eGalerkin, Nektar::MultiRegions::eLocal, Nektar::MultiRegions::eMixed_CG_Discontinuous, m_CoeffState, m_expdim, m_graph, m_HalfMode, m_homogen_dealiasing, m_projectionType, m_session, m_sessionName, m_SingleMode, m_spacedim, and m_specHP_dealiasing.
Referenced by InitObject().
|
protected |
Definition at line 107 of file AdvectionTerm.h.
Referenced by Nektar::SkewSymmetricAdvection::v_ComputeAdvectionTerm(), Nektar::NavierStokesAdvection::v_ComputeAdvectionTerm(), Nektar::LinearisedAdvection::v_ComputeAdvectionTerm(), and v_InitObject().
|
protected |
Dimension of the expansion.
Definition at line 113 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::SetUpBaseFields(), Nektar::LinearisedAdvection::SetUpBaseFields(), and v_InitObject().
|
protected |
Definition at line 125 of file AdvectionTerm.h.
|
protected |
Pointer to mesh graph.
Definition at line 100 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::DFT(), Nektar::LinearisedAdvection::DFT(), Nektar::AdjointAdvection::SetUpBaseFields(), Nektar::LinearisedAdvection::SetUpBaseFields(), Nektar::AdjointAdvection::v_InitObject(), Nektar::LinearisedAdvection::v_InitObject(), and v_InitObject().
|
protected |
Flag to determine if use half mode or not.
Definition at line 105 of file AdvectionTerm.h.
Referenced by DoAdvection(), and v_InitObject().
|
protected |
flag to determine if use Fourier dealising or not
Definition at line 102 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::SetUpBaseFields(), Nektar::LinearisedAdvection::SetUpBaseFields(), Nektar::SkewSymmetricAdvection::v_ComputeAdvectionTerm(), Nektar::NavierStokesAdvection::v_ComputeAdvectionTerm(), Nektar::LinearisedAdvection::v_ComputeAdvectionTerm(), and v_InitObject().
Definition at line 123 of file AdvectionTerm.h.
|
protected |
Definition at line 116 of file AdvectionTerm.h.
Referenced by DoAdvection(), Nektar::AdjointAdvection::ImportFldBase(), Nektar::LinearisedAdvection::ImportFldBase(), Nektar::LinearisedAdvection::v_ComputeAdvectionTerm(), and Nektar::AdjointAdvection::v_ComputeAdvectionTerm().
|
protected |
Definition at line 121 of file AdvectionTerm.h.
|
protected |
Type of projection, i.e. Galerkin or DG.
Definition at line 110 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::SetUpBaseFields(), Nektar::LinearisedAdvection::SetUpBaseFields(), Nektar::AdjointAdvection::v_InitObject(), Nektar::LinearisedAdvection::v_InitObject(), and v_InitObject().
|
protected |
Definition at line 96 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::DFT(), Nektar::LinearisedAdvection::DFT(), Nektar::AdjointAdvection::ImportFldBase(), Nektar::LinearisedAdvection::ImportFldBase(), Nektar::AdjointAdvection::SetUpBaseFields(), Nektar::LinearisedAdvection::SetUpBaseFields(), Nektar::LinearisedAdvection::v_ComputeAdvectionTerm(), Nektar::AdjointAdvection::v_ComputeAdvectionTerm(), Nektar::AdjointAdvection::v_InitObject(), Nektar::LinearisedAdvection::v_InitObject(), and v_InitObject().
|
protected |
|
protected |
Flag to determine if use single mode or not.
Definition at line 104 of file AdvectionTerm.h.
Referenced by DoAdvection(), and v_InitObject().
|
protected |
Number of fields to be convected;.
Definition at line 119 of file AdvectionTerm.h.
|
protected |
Spatial dimension (> expansion dim)
Definition at line 112 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::v_InitObject(), Nektar::LinearisedAdvection::v_InitObject(), and v_InitObject().
|
protected |
flag to determine if use Spectral/hp element dealising or not
Definition at line 103 of file AdvectionTerm.h.
Referenced by GetSpecHPDealiasing(), SetSpecHPDealiasing(), Nektar::NavierStokesAdvection::v_ComputeAdvectionTerm(), and v_InitObject().
Definition at line 126 of file AdvectionTerm.h.
Definition at line 127 of file AdvectionTerm.h.
|
protected |
Definition at line 129 of file AdvectionTerm.h.
|
protected |
Number of variables.
Definition at line 114 of file AdvectionTerm.h.
Referenced by Nektar::AdjointAdvection::SetUpBaseFields(), and Nektar::LinearisedAdvection::SetUpBaseFields().