35 #ifndef NEKTAR_INCNAVIERSTOKES_FILTERS_FILTERMOVINGBODY_H
36 #define NEKTAR_INCNAVIERSTOKES_FILTERS_FILTERMOVINGBODY_H
44 class FilterMovingBody;
48 typedef std::pair<std::string, FilterParams>
FilterMap;
58 const std::weak_ptr<SolverUtils::EquationSystem> &pEquation,
70 const std::weak_ptr<SolverUtils::EquationSystem> &pEquation,
virtual void v_Initialise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)
std::string m_outputFile_fce
std::string m_outputFile_mot
virtual void v_Finalise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)
unsigned int m_outputFrequency
static std::string className
std::string m_BoundaryString
void UpdateMotion(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, Array< OneD, NekDouble > &MotionVars, const NekDouble &time)
unsigned int m_outputPlane
plane to take history point from if using a homogeneous1D expansion
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.
Array< OneD, std::ofstream > m_outputStream
int m_planes
number of planes for homogeneous1D expansion
virtual void v_Update(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)
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)
virtual bool v_IsTimeDependent()
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