35#ifndef NEKTAR_INCNAVIERSTOKES_FILTERS_FILTERMOVINGBODY_H
36#define NEKTAR_INCNAVIERSTOKES_FILTERS_FILTERMOVINGBODY_H
44class FilterMovingBody;
48typedef std::pair<std::string, FilterParams>
FilterMap;
58 const std::weak_ptr<SolverUtils::EquationSystem> &pEquation,
63 pSession, pEquation, pParams);
71 const std::weak_ptr<SolverUtils::EquationSystem> &pEquation,
83 boost::ignore_unused(pFields, time);
std::string m_outputFile_fce
std::string m_outputFile_mot
virtual void v_Initialise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
virtual void v_Update(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
static std::string className
virtual void v_Finalise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
size_t m_planes
number of planes for homogeneous1D expansion
std::string m_BoundaryString
void UpdateMotion(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, Array< OneD, NekDouble > &MotionVars, const NekDouble &time)
virtual bool v_IsTimeDependent() override
std::vector< unsigned int > m_boundaryRegionsIdList
ID's of boundary regions where we want the forces.
FilterMovingBody(const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams)
static SolverUtils::FilterSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams)
Creates an instance of this class.
size_t m_outputPlane
plane to take history point from if using a homogeneous1D expansion
Array< OneD, std::ofstream > m_outputStream
LibUtilities::BasisSharedPtr m_homogeneousBasis
std::vector< bool > m_boundaryRegionIsInList
Determines if a given Boundary Region is in m_boundaryRegionsIdList.
void UpdateForce(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, Array< OneD, NekDouble > &Aeroforces, const NekDouble &time)
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< Basis > BasisSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< Filter > FilterSharedPtr
A shared pointer to a Driver object.
The above copyright notice and this permission notice shall be included.
std::shared_ptr< FilterMovingBody > FilterMovingBodySharedPtr
std::pair< std::string, FilterParams > FilterMap
std::map< std::string, std::string > FilterParams