Nektar++
|
Append Reynolds stresses to the average fields. More...
#include <FilterReynoldsStresses.h>
Static Public Member Functions | |
static FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< SolverUtils::EquationSystem > &pEquation, const std::map< std::string, std::string > &pParams) |
Creates an instance of this class. More... | |
Static Public Member Functions inherited from Nektar::SolverUtils::FilterFieldConvert | |
static FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation, const std::map< std::string, std::string > &pParams) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of the class. More... | |
Static Public Attributes inherited from Nektar::SolverUtils::FilterFieldConvert | |
static std::string | className |
Name of the class. More... | |
Protected Attributes | |
std::vector< Array< OneD, NekDouble > > | m_fields |
std::vector< Array< OneD, NekDouble > > | m_delta |
NekDouble | m_alpha |
bool | m_movAvg |
Protected Attributes inherited from Nektar::SolverUtils::FilterFieldConvert | |
unsigned int | m_numSamples |
unsigned int | m_outputFrequency |
unsigned int | m_sampleFrequency |
std::string | m_outputFile |
std::string | m_restartFile |
unsigned int | m_index |
unsigned int | m_outputIndex |
bool | m_phaseSample |
NekDouble | m_phaseSamplePeriod |
NekDouble | m_phaseSamplePhase |
NekDouble | m_phaseTolerance |
NekDouble | m_dt |
std::vector< ModuleSharedPtr > | m_modules |
LibUtilities::FieldMetaDataMap | m_fieldMetaData |
std::vector< Array< OneD, NekDouble > > | m_outFields |
std::vector< std::string > | m_variables |
FieldSharedPtr | m_f |
po::variables_map | m_vm |
Protected Attributes inherited from Nektar::SolverUtils::Filter | |
LibUtilities::SessionReaderSharedPtr | m_session |
const std::weak_ptr< EquationSystem > | m_equ |
Friends | |
class | MemoryManager< FilterReynoldsStresses > |
Additional Inherited Members | |
Public Types inherited from Nektar::SolverUtils::Filter | |
typedef std::map< std::string, std::string > | ParamMap |
Append Reynolds stresses to the average fields.
This class appends the average fields with the Reynolds stresses of the form \( \overline{u' v'} \).
For the default case, this is achieved by calculating \( C_{n} = \Sigma_{i=1}^{n} (u_i - \bar{u}_n)(v_i - \bar{v}_n)\) using the recursive relation:
\[ C_{n} = C_{n-1} + \frac{n}{n-1} (u_n - \bar{u}_n)(v_n - \bar{v}_n) \]
The FilterSampler base class then divides the result by n, leading to the Reynolds stress.
It is also possible to perform the averages using an exponential moving average, in which case either the moving average parameter \( \alpha \) or the time constant \( \tau \) must be prescribed.
Definition at line 42 of file FilterReynoldsStresses.h.
Nektar::SolverUtils::FilterReynoldsStresses::FilterReynoldsStresses | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::weak_ptr< SolverUtils::EquationSystem > & | pEquation, | ||
const std::map< std::string, std::string > & | pParams | ||
) |
Definition at line 64 of file FilterReynoldsStresses.cpp.
References ASSERTL0, Nektar::LibUtilities::Equation::Evaluate(), m_alpha, m_movAvg, Nektar::SolverUtils::FilterFieldConvert::m_sampleFrequency, and Nektar::SolverUtils::Filter::m_session.
|
override |
Definition at line 138 of file FilterReynoldsStresses.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 48 of file FilterReynoldsStresses.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::FilterFieldConvert.
Definition at line 182 of file FilterReynoldsStresses.cpp.
References Nektar::SolverUtils::FilterFieldConvert::m_variables.
|
inlineoverrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::FilterFieldConvert.
Definition at line 84 of file FilterReynoldsStresses.h.
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::FilterFieldConvert.
Definition at line 304 of file FilterReynoldsStresses.cpp.
References m_movAvg, and Nektar::SolverUtils::FilterFieldConvert::m_numSamples.
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::FilterFieldConvert.
Definition at line 142 of file FilterReynoldsStresses.cpp.
References m_delta, m_fields, Nektar::SolverUtils::FilterFieldConvert::m_numSamples, Nektar::SolverUtils::FilterFieldConvert::m_outFields, and Nektar::SolverUtils::FilterFieldConvert::v_Initialise().
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::FilterFieldConvert.
Definition at line 279 of file FilterReynoldsStresses.cpp.
References Nektar::SolverUtils::FilterFieldConvert::m_fieldMetaData, m_fields, Nektar::SolverUtils::FilterFieldConvert::m_numSamples, and Nektar::SolverUtils::FilterFieldConvert::m_outFields.
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::FilterFieldConvert.
Definition at line 204 of file FilterReynoldsStresses.cpp.
References m_alpha, m_delta, m_fields, m_movAvg, Nektar::SolverUtils::FilterFieldConvert::m_numSamples, Nektar::SolverUtils::FilterFieldConvert::m_outFields, Vmath::Svtsvtp(), Vmath::Svtvm(), and Vmath::Vmul().
|
friend |
Definition at line 1 of file FilterReynoldsStresses.h.
|
static |
Name of the class.
Definition at line 60 of file FilterReynoldsStresses.h.
|
protected |
Definition at line 91 of file FilterReynoldsStresses.h.
Referenced by FilterReynoldsStresses(), and v_ProcessSample().
Definition at line 90 of file FilterReynoldsStresses.h.
Referenced by v_Initialise(), and v_ProcessSample().
|
protected |
Definition at line 89 of file FilterReynoldsStresses.h.
Referenced by v_Initialise(), v_PrepareOutput(), and v_ProcessSample().
|
protected |
Definition at line 92 of file FilterReynoldsStresses.h.
Referenced by FilterReynoldsStresses(), v_GetScale(), and v_ProcessSample().