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::shared_ptr<SolverUtils::EquationSystem> &pEquation,
63 pSession, pEquation, pParams);
71 const std::shared_ptr<SolverUtils::EquationSystem> &pEquation,
82 [[maybe_unused]]
const NekDouble &time)
override
void v_Update(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
std::string m_outputFile_fce
std::string m_outputFile_mot
void v_Initialise(const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override
FilterMovingBody(const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams)
static std::string className
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)
bool v_IsTimeDependent() override
std::vector< unsigned int > m_boundaryRegionsIdList
ID's of boundary regions where we want the forces.
~FilterMovingBody() override
static SolverUtils::FilterSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_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.
std::shared_ptr< FilterMovingBody > FilterMovingBodySharedPtr
std::pair< std::string, FilterParams > FilterMap
std::map< std::string, std::string > FilterParams