46 const std::shared_ptr<EquationSystem> &pEquation,
const ParamMap &pParams)
50 auto it = pParams.find(
"SampleFrequency");
51 if (it == pParams.end())
62 it = pParams.find(
"alpha");
63 if (it == pParams.end())
65 it = pParams.find(
"tau");
66 if (it == pParams.end())
68 ASSERTL0(
false,
"FilterMovingAverage needs either alpha or tau.");
88 it = pParams.find(
"tau");
89 if (it != pParams.end())
92 "Cannot define both alpha and tau in MovingAverage.");
#define ASSERTL0(condition, msg)
NekDouble Evaluate() const
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
unsigned int m_sampleFrequency
unsigned int m_numSamples
std::vector< Array< OneD, NekDouble > > m_outFields
LibUtilities::SessionReaderSharedPtr m_session
std::map< std::string, std::string > ParamMap
static std::string className
Name of the class.
static FilterSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< EquationSystem > &pEquation, const std::map< std::string, std::string > &pParams)
Creates an instance of this class.
void v_ProcessSample(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, std::vector< Array< OneD, NekDouble > > &fieldcoeffs, const NekDouble &time) override
SOLVER_UTILS_EXPORT ~FilterMovingAverage() override
SOLVER_UTILS_EXPORT FilterMovingAverage(const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< EquationSystem > &pEquation, const ParamMap &pParams)
std::shared_ptr< SessionReader > SessionReaderSharedPtr
FilterFactory & GetFilterFactory()
void Svtsvtp(int n, const T alpha, const T *x, int incx, const T beta, const T *y, int incy, T *z, int incz)
Svtsvtp (scalar times vector plus scalar times vector):