Nektar++
|
#include <FilterModalEnergy.h>
Public Member Functions | |
SOLVER_UTILS_EXPORT | FilterModalEnergy (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation, const ParamMap &pParams) |
SOLVER_UTILS_EXPORT | ~FilterModalEnergy () override |
Public Member Functions inherited from Nektar::SolverUtils::Filter | |
SOLVER_UTILS_EXPORT | Filter (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation) |
virtual SOLVER_UTILS_EXPORT | ~Filter () |
SOLVER_UTILS_EXPORT void | Initialise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
SOLVER_UTILS_EXPORT void | Update (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
SOLVER_UTILS_EXPORT void | Finalise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
SOLVER_UTILS_EXPORT bool | IsTimeDependent () |
Static Public Member Functions | |
static FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation, const ParamMap &pParams) |
Static Public Attributes | |
static std::string | className |
Private Attributes | |
enum MultiRegions::ProjectionType | m_projectionType |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_base |
LibUtilities::FieldIOSharedPtr | m_fld |
std::vector< unsigned int > | m_boundaryRegionsIdList |
std::vector< bool > | m_boundaryRegionIsInList |
unsigned int | m_index |
unsigned int | m_outputFrequency |
unsigned int | m_outputPlane |
bool | m_isHomogeneous1D |
bool | m_isHomogeneous2D |
bool | m_PertEnergy |
int | m_npointsZ |
int | m_nproc |
std::string | m_outputFile |
std::string | m_EqTypeStr |
std::ofstream | m_outputStream |
LibUtilities::BasisSharedPtr | m_homogeneousBasis |
std::string | m_BoundaryString |
int | m_nplanes |
int | m_NumQuadPointsError |
bool | m_SingleMode |
bool | m_HalfMode |
bool | m_MultipleModes |
bool | m_useFFT |
NekDouble | m_LhomZ |
bool | m_homogen_dealiasing |
Friends | |
class | MemoryManager< FilterModalEnergy > |
Additional Inherited Members | |
Public Types inherited from Nektar::SolverUtils::Filter | |
typedef std::map< std::string, std::string > | ParamMap |
Protected Attributes inherited from Nektar::SolverUtils::Filter | |
LibUtilities::SessionReaderSharedPtr | m_session |
const std::weak_ptr< EquationSystem > | m_equ |
Definition at line 49 of file FilterModalEnergy.h.
Nektar::SolverUtils::FilterModalEnergy::FilterModalEnergy | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::weak_ptr< EquationSystem > & | pEquation, | ||
const ParamMap & | pParams | ||
) |
Constructor.
Definition at line 51 of file FilterModalEnergy.cpp.
References ASSERTL0, Nektar::LibUtilities::FieldIO::CreateDefault(), Nektar::LibUtilities::Equation::Evaluate(), m_EqTypeStr, m_fld, m_isHomogeneous1D, m_isHomogeneous2D, m_LhomZ, m_NumQuadPointsError, m_outputFile, m_outputFrequency, m_outputPlane, m_PertEnergy, and Nektar::SolverUtils::Filter::m_session.
|
override |
|
inlinestatic |
Definition at line 55 of file FilterModalEnergy.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protected |
Import the base flow fld file.
Definition at line 596 of file FilterModalEnergy.cpp.
References ASSERTL0, m_base, m_fld, and Nektar::SolverUtils::Filter::m_session.
Referenced by v_Update().
|
protected |
Calculate the L2 norm of a given field for calculating the modal energy.
Definition at line 339 of file FilterModalEnergy.cpp.
References m_NumQuadPointsError.
Referenced by v_Update().
|
protected |
Setup the base fields in case of stability analyses.
Definition at line 362 of file FilterModalEnergy.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::MultiRegions::eDiscontinuous, Nektar::ErrorUtil::efatal, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eFourierEvenlySpaced, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::LibUtilities::eFourierSingleModeSpaced, Nektar::MultiRegions::eGalerkin, Nektar::MultiRegions::eMixed_CG_Discontinuous, m_base, m_HalfMode, m_homogen_dealiasing, m_isHomogeneous1D, m_LhomZ, m_MultipleModes, m_npointsZ, m_projectionType, Nektar::SolverUtils::Filter::m_session, m_SingleMode, m_useFFT, and NEKERROR.
Referenced by v_Update().
|
overrideprotectedvirtual |
Close the output stream.
Implements Nektar::SolverUtils::Filter.
Definition at line 325 of file FilterModalEnergy.cpp.
References m_outputStream.
|
overrideprotectedvirtual |
Initialize the parallel communication and the output stream.
Implements Nektar::SolverUtils::Filter.
Definition at line 122 of file FilterModalEnergy.cpp.
References m_index, m_isHomogeneous1D, m_outputFile, m_outputStream, Nektar::SolverUtils::Filter::m_session, and v_Update().
|
overrideprotectedvirtual |
Flag for time-dependent flows.
Implements Nektar::SolverUtils::Filter.
Definition at line 631 of file FilterModalEnergy.cpp.
|
overrideprotectedvirtual |
Update the modal energy every m_outputFrequency.
Implements Nektar::SolverUtils::Filter.
Definition at line 160 of file FilterModalEnergy.cpp.
References ASSERTL0, ImportFldBase(), L2Error(), m_base, m_EqTypeStr, m_index, m_isHomogeneous1D, m_isHomogeneous2D, m_npointsZ, m_outputFrequency, m_outputStream, m_PertEnergy, Nektar::SolverUtils::Filter::m_session, Nektar::SpatialDomains::MeshGraph::Read(), SetUpBaseFields(), Vmath::Vadd(), and Vmath::Vsub().
Referenced by v_Initialise().
|
friend |
Definition at line 1 of file FilterModalEnergy.h.
|
static |
Definition at line 65 of file FilterModalEnergy.h.
|
private |
Definition at line 92 of file FilterModalEnergy.h.
Referenced by ImportFldBase(), SetUpBaseFields(), and v_Update().
|
private |
Definition at line 99 of file FilterModalEnergy.h.
|
private |
Definition at line 96 of file FilterModalEnergy.h.
|
private |
Definition at line 114 of file FilterModalEnergy.h.
|
private |
Definition at line 111 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and v_Update().
|
private |
Definition at line 93 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and ImportFldBase().
|
private |
Definition at line 118 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields().
|
private |
Definition at line 122 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields().
|
private |
Definition at line 113 of file FilterModalEnergy.h.
|
private |
Definition at line 100 of file FilterModalEnergy.h.
Referenced by v_Initialise(), and v_Update().
|
private |
Definition at line 105 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), SetUpBaseFields(), v_Initialise(), and v_Update().
|
private |
Definition at line 106 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and v_Update().
|
private |
Definition at line 121 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and SetUpBaseFields().
|
private |
Definition at line 119 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields().
|
private |
Definition at line 115 of file FilterModalEnergy.h.
|
private |
Definition at line 108 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields(), and v_Update().
|
private |
Definition at line 109 of file FilterModalEnergy.h.
|
private |
Definition at line 116 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and L2Error().
|
private |
Definition at line 110 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and v_Initialise().
|
private |
Definition at line 101 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and v_Update().
|
private |
Definition at line 104 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy().
|
private |
Definition at line 112 of file FilterModalEnergy.h.
Referenced by v_Finalise(), v_Initialise(), and v_Update().
|
private |
Definition at line 107 of file FilterModalEnergy.h.
Referenced by FilterModalEnergy(), and v_Update().
|
private |
Definition at line 91 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields().
|
private |
Definition at line 117 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields().
|
private |
Definition at line 120 of file FilterModalEnergy.h.
Referenced by SetUpBaseFields().