35#ifndef NEKTAR_SOLVERUTILS_FILTERS_FILTERBENCHMARK_H
36#define NEKTAR_SOLVERUTILS_FILTERS_FILTERBENCHMARK_H
52 const std::shared_ptr<SolverUtils::EquationSystem> &pEquation,
57 pSession, pEquation, pParams);
67 const std::shared_ptr<SolverUtils::EquationSystem> &pEquation,
Records activation and repolarisation times.
std::vector< Array< OneD, NekDouble > > m_threshold
Storage for activation and repolarisation times.
LibUtilities::FieldIOSharedPtr m_fld
FieldIO object used for writing output files.
void v_Finalise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
Finalises the benchmark filter and write out recorded data.
~FilterBenchmark() override
Destructor for the benchmark filter.
void v_Initialise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
Initialises the benchmark filter and allocates storage.
NekDouble m_thresholdValue
Value at which tissue is considered active.
FilterBenchmark(const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams)
Construct the benchmark filter.
std::string m_outputFile
Filename of output files.
static SolverUtils::FilterSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams)
Creates an instance of this class.
void v_Update(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
Update recorded times.
bool v_IsTimeDependent() override
Identifies that the benchmark filter is time dependent.
NekDouble m_initialValue
Initial time to use in storage array.
NekDouble m_startTime
Time at which to start detecting activations and repolarisations.
static std::string className
Name of the class.
Array< OneD, int > m_polarity
Indicates if the previous event was an activation or repolarisation.
Array< OneD, int > m_idx
Number of activations and repolarisations detected for each point.
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::map< std::string, std::string > ParamMap
std::shared_ptr< FieldIO > FieldIOSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< Filter > FilterSharedPtr
A shared pointer to a Driver object.