Nektar++
|
#include <FilterMovingBody.h>
Static Public Member Functions | |
static SolverUtils::FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Private Member Functions | |
FilterMovingBody (const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams) | |
~FilterMovingBody () override=default | |
void | v_Initialise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override |
void | v_Update (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override |
void | v_Finalise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override |
bool | v_IsTimeDependent () override |
Private Attributes | |
std::vector< unsigned int > | m_boundaryRegionsIdList |
ID's of boundary regions where we want the forces. More... | |
std::vector< bool > | m_boundaryRegionIsInList |
Determines if a given Boundary Region is in m_boundaryRegionsIdList. More... | |
size_t | m_index_f |
size_t | m_index_m |
size_t | m_outputFrequency |
size_t | m_outputPlane |
plane to take history point from if using a homogeneous1D expansion More... | |
bool | m_isHomogeneous1D |
LibUtilities::BasisSharedPtr | m_homogeneousBasis |
std::string | m_BoundaryString |
size_t | m_planes |
number of planes for homogeneous1D expansion More... | |
Array< OneD, std::ofstream > | m_outputStream |
std::string | m_outputFile_fce |
std::string | m_outputFile_mot |
Friends | |
class | MemoryManager< FilterMovingBody > |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, std::string > | ParamMap |
![]() | |
virtual void | v_Initialise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)=0 |
virtual void | v_Update (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)=0 |
virtual void | v_Finalise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)=0 |
virtual bool | v_IsTimeDependent ()=0 |
virtual SOLVER_UTILS_EXPORT std::string | v_SetupOutput (const std::string ext, const ParamMap &pParams) |
virtual SOLVER_UTILS_EXPORT std::string | v_SetupOutput (const std::string ext, const std::string inname) |
![]() | |
LibUtilities::SessionReaderSharedPtr | m_session |
const std::weak_ptr< EquationSystem > | m_equ |
bool | m_updateOnInitialise = true |
Definition at line 50 of file FilterMovingBody.h.
|
private |
Definition at line 53 of file FilterMovingBody.cpp.
References ASSERTL0, Nektar::LibUtilities::Equation::Evaluate(), m_BoundaryString, m_isHomogeneous1D, m_outputFile_fce, m_outputFile_mot, m_outputFrequency, Nektar::SolverUtils::Filter::m_session, and Nektar::SolverUtils::Filter::SetupOutput().
|
overrideprivatedefault |
|
inlinestatic |
Creates an instance of this class.
Definition at line 56 of file FilterMovingBody.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
void Nektar::FilterMovingBody::UpdateForce | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const Array< OneD, const MultiRegions::ExpListSharedPtr > & | pFields, | ||
Array< OneD, NekDouble > & | Aeroforces, | ||
const NekDouble & | time | ||
) |
Definition at line 197 of file FilterMovingBody.cpp.
References Nektar::StdRegions::StdExpansion::GetTotPoints(), m_boundaryRegionIsInList, m_index_f, m_outputFrequency, m_outputStream, Nektar::LibUtilities::P, Nektar::LibUtilities::ReduceSum, Vmath::Sadd(), Vmath::Smul(), Vmath::Vadd(), Vmath::Vmul(), Vmath::Vvtvp(), Nektar::UnitTests::z(), and Vmath::Zero().
void Nektar::FilterMovingBody::UpdateMotion | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const Array< OneD, const MultiRegions::ExpListSharedPtr > & | pFields, | ||
Array< OneD, NekDouble > & | MotionVars, | ||
const NekDouble & | time | ||
) |
Definition at line 663 of file FilterMovingBody.cpp.
References m_index_m, m_outputFrequency, m_outputStream, and Nektar::SolverUtils::Filter::m_session.
|
overrideprivatevirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 717 of file FilterMovingBody.cpp.
References m_outputStream.
|
overrideprivatevirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 95 of file FilterMovingBody.cpp.
References ASSERTL0, Nektar::StdRegions::find(), Nektar::ParseUtils::GenerateSeqVector(), Nektar::SpatialDomains::BoundaryConditions::GetBoundaryRegions(), m_boundaryRegionIsInList, m_boundaryRegionsIdList, m_BoundaryString, m_index_f, m_index_m, m_outputFile_fce, m_outputFile_mot, m_outputStream, and Nektar::SolverUtils::Filter::m_session.
|
overrideprivatevirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 731 of file FilterMovingBody.cpp.
|
inlineoverrideprivatevirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 111 of file FilterMovingBody.h.
|
friend |
Definition at line 48 of file FilterMovingBody.h.
|
static |
Definition at line 67 of file FilterMovingBody.h.
|
private |
Determines if a given Boundary Region is in m_boundaryRegionsIdList.
Definition at line 84 of file FilterMovingBody.h.
Referenced by UpdateForce(), and v_Initialise().
|
private |
ID's of boundary regions where we want the forces.
Definition at line 81 of file FilterMovingBody.h.
Referenced by v_Initialise().
|
private |
Definition at line 93 of file FilterMovingBody.h.
Referenced by FilterMovingBody(), and v_Initialise().
|
private |
Definition at line 92 of file FilterMovingBody.h.
|
private |
Definition at line 85 of file FilterMovingBody.h.
Referenced by UpdateForce(), and v_Initialise().
|
private |
Definition at line 86 of file FilterMovingBody.h.
Referenced by UpdateMotion(), and v_Initialise().
|
private |
Definition at line 91 of file FilterMovingBody.h.
Referenced by FilterMovingBody().
|
private |
Definition at line 97 of file FilterMovingBody.h.
Referenced by FilterMovingBody(), and v_Initialise().
|
private |
Definition at line 98 of file FilterMovingBody.h.
Referenced by FilterMovingBody(), and v_Initialise().
|
private |
Definition at line 87 of file FilterMovingBody.h.
Referenced by FilterMovingBody(), UpdateForce(), and UpdateMotion().
|
private |
plane to take history point from if using a homogeneous1D expansion
Definition at line 90 of file FilterMovingBody.h.
Definition at line 96 of file FilterMovingBody.h.
Referenced by UpdateForce(), UpdateMotion(), v_Finalise(), and v_Initialise().
|
private |
number of planes for homogeneous1D expansion
Definition at line 95 of file FilterMovingBody.h.