Nektar++
|
#include <FilterAeroForces.h>
Public Member Functions | |
SOLVER_UTILS_EXPORT | FilterAeroForces (const LibUtilities::SessionReaderSharedPtr &pSession, const std::map< std::string, std::string > &pParams) |
virtual SOLVER_UTILS_EXPORT | ~FilterAeroForces () |
SOLVER_UTILS_EXPORT void | GetForces (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, Array< OneD, NekDouble > &Aeroforces, const NekDouble &time) |
Public Member Functions inherited from Nektar::SolverUtils::Filter | |
SOLVER_UTILS_EXPORT | Filter (const LibUtilities::SessionReaderSharedPtr &pSession) |
virtual SOLVER_UTILS_EXPORT | ~Filter () |
SOLVER_UTILS_EXPORT void | Initialise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
SOLVER_UTILS_EXPORT void | Update (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
SOLVER_UTILS_EXPORT void | Finalise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
SOLVER_UTILS_EXPORT bool | IsTimeDependent () |
Static Public Member Functions | |
static FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::map< std::string, std::string > &pParams) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of the class. More... | |
Protected Member Functions | |
virtual void | v_Initialise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
virtual void | v_Update (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
virtual void | v_Finalise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
virtual bool | v_IsTimeDependent () |
Private Member Functions | |
void | CalculateForces (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
void | CalculateForcesMapping (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) |
Friends | |
class | MemoryManager< FilterAeroForces > |
Additional Inherited Members | |
Public Types inherited from Nektar::SolverUtils::Filter | |
typedef std::map< std::string, std::string > | ParamMap |
Protected Attributes inherited from Nektar::SolverUtils::Filter | |
LibUtilities::SessionReaderSharedPtr | m_session |
Definition at line 47 of file FilterAeroForces.h.
Nektar::SolverUtils::FilterAeroForces::FilterAeroForces | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::map< std::string, std::string > & | pParams | ||
) |
Definition at line 58 of file FilterAeroForces.cpp.
References ASSERTL0, Nektar::LibUtilities::Equation::Evaluate(), m_BoundaryString, m_directions, m_isHomogeneous1D, m_outputAllPlanes, m_outputFile, m_outputFrequency, Nektar::SolverUtils::Filter::m_session, and m_startTime.
|
virtual |
Definition at line 191 of file FilterAeroForces.cpp.
|
private |
This function calculates the forces
Definition at line 556 of file FilterAeroForces.cpp.
References ASSERTL0, CalculateForcesMapping(), m_BCtoElmtID, m_BCtoTraceID, m_boundaryRegionIsInList, m_directions, m_Fpplane, m_Ftplane, m_Fvplane, m_isHomogeneous1D, m_lastTime, m_mapping, m_nPlanes, m_outputAllPlanes, m_planesID, Nektar::SolverUtils::Filter::m_session, Nektar::LibUtilities::ReduceSum, Vmath::Smul(), Vmath::Vmul(), and Vmath::Vvtvp().
Referenced by GetForces(), and v_Update().
|
private |
This function calculates the forces when we have a mapping defining a coordinate system transformation
Definition at line 884 of file FilterAeroForces.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::MultiRegions::DirCartesianMap, m_BCtoElmtID, m_BCtoTraceID, m_boundaryRegionIsInList, m_directions, m_Fpplane, m_Ftplane, m_Fvplane, m_isHomogeneous1D, m_mapping, m_nPlanes, m_planesID, Nektar::SolverUtils::Filter::m_session, Nektar::LibUtilities::ReduceSum, Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vmul(), and Vmath::Vvtvp().
Referenced by CalculateForces().
|
inlinestatic |
Creates an instance of this class.
Definition at line 53 of file FilterAeroForces.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
void Nektar::SolverUtils::FilterAeroForces::GetForces | ( | const Array< OneD, const MultiRegions::ExpListSharedPtr > & | pFields, |
Array< OneD, NekDouble > & | Aeroforces, | ||
const NekDouble & | time | ||
) |
This function outputs the force on all planes of the current process, in the format required by ForcingMovingBody
Definition at line 513 of file FilterAeroForces.cpp.
References CalculateForces(), m_Ftplane, m_lastTime, and m_outputAllPlanes.
|
protectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 490 of file FilterAeroForces.cpp.
References m_outputStream.
|
protectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 199 of file FilterAeroForces.cpp.
References ASSERTL0, Nektar::StdRegions::find(), Nektar::ParseUtils::GenerateSeqVector(), Nektar::SpatialDomains::BoundaryConditions::GetBoundaryRegions(), Nektar::GlobalMapping::Mapping::Load(), m_BCtoElmtID, m_BCtoTraceID, m_boundaryRegionIsInList, m_boundaryRegionsIdList, m_BoundaryString, m_directions, m_index, m_isHomogeneous1D, m_lastTime, m_mapping, m_nPlanes, m_outputAllPlanes, m_outputFile, m_outputStream, m_planesID, Nektar::SolverUtils::Filter::m_session, and v_Update().
|
protectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 504 of file FilterAeroForces.cpp.
|
protectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 361 of file FilterAeroForces.cpp.
References CalculateForces(), m_Fpplane, m_Ftplane, m_Fvplane, m_index, m_nPlanes, m_outputAllPlanes, m_outputFrequency, m_outputStream, Nektar::SolverUtils::Filter::m_session, m_startTime, and Vmath::Vsum().
Referenced by v_Initialise().
|
friend |
Definition at line 50 of file FilterAeroForces.h.
|
static |
Name of the class.
Definition at line 64 of file FilterAeroForces.h.
Definition at line 105 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
Definition at line 106 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
|
private |
Determines if a given Boundary Region is in m_boundaryRegionsIdList.
Definition at line 94 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
|
private |
ID's of boundary regions where we want the forces.
Definition at line 91 of file FilterAeroForces.h.
Referenced by v_Initialise().
|
private |
Definition at line 104 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Initialise().
Definition at line 113 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), FilterAeroForces(), and v_Initialise().
Definition at line 115 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Update().
Definition at line 117 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), GetForces(), and v_Update().
Definition at line 116 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Update().
|
private |
Definition at line 103 of file FilterAeroForces.h.
|
private |
Definition at line 95 of file FilterAeroForces.h.
Referenced by v_Initialise(), and v_Update().
|
private |
Definition at line 100 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), FilterAeroForces(), and v_Initialise().
|
private |
Definition at line 119 of file FilterAeroForces.h.
Referenced by CalculateForces(), GetForces(), and v_Initialise().
|
private |
Definition at line 120 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
|
private |
number of planes for homogeneous1D expansion
Definition at line 108 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), v_Initialise(), and v_Update().
|
private |
if using a homogeneous1D expansion, determine if should output all planes or just the average
Definition at line 99 of file FilterAeroForces.h.
Referenced by CalculateForces(), FilterAeroForces(), GetForces(), v_Initialise(), and v_Update().
|
private |
Definition at line 101 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Initialise().
|
private |
Definition at line 96 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Update().
|
private |
Definition at line 102 of file FilterAeroForces.h.
Referenced by v_Finalise(), v_Initialise(), and v_Update().
Definition at line 109 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
|
private |
Definition at line 111 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Update().