Nektar++
|
#include <FilterAeroForces.h>
Static Public Member Functions | |
static FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation, 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 | |
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 |
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 |
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 |
const std::weak_ptr< EquationSystem > | m_equ |
Definition at line 51 of file FilterAeroForces.h.
Nektar::SolverUtils::FilterAeroForces::FilterAeroForces | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::weak_ptr< EquationSystem > & | pEquation, | ||
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_directions0, m_isHomogeneous1D, m_outputAllPlanes, m_outputFile, m_outputFrequency, m_pivotPoint, Nektar::SolverUtils::Filter::m_session, m_startTime, and tinysimd::sqrt().
|
override |
Definition at line 228 of file FilterAeroForces.cpp.
|
private |
This function calculates the forces
Definition at line 755 of file FilterAeroForces.cpp.
References ASSERTL0, CalculateForcesMapping(), m_BCtoElmtID, m_BCtoTraceID, m_boundaryRegionIsInList, m_directions, m_directions0, Nektar::SolverUtils::Filter::m_equ, m_Fp, m_Fpplane, m_Ft, m_Ftplane, m_Fv, m_Fvplane, m_isHomogeneous1D, m_lastTime, m_mapping, m_Mp, m_Mpplane, m_Mt, m_Mtplane, m_Mv, m_Mvplane, m_nPlanes, m_outputAllPlanes, m_pivotPoint, m_planesID, Nektar::SolverUtils::Filter::m_session, CG_Iterations::pressure, Nektar::LibUtilities::ReduceSum, Vmath::Sadd(), Vmath::Smul(), Vmath::Vadd(), Nektar::MovementTests::velocity, Vmath::Vmul(), Vmath::Vsum(), Vmath::Vvtvp(), and Vmath::Vvtvvtp().
Referenced by GetForces(), GetMoments(), and v_Update().
|
private |
This function calculates the forces when we have a mapping defining a coordinate system transformation
Definition at line 1295 of file FilterAeroForces.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::MultiRegions::DirCartesianMap, m_BCtoElmtID, m_BCtoTraceID, m_boundaryRegionIsInList, m_directions, m_Fp, m_Fpplane, m_Ft, m_Ftplane, m_Fv, m_Fvplane, m_isHomogeneous1D, m_mapping, m_Mp, m_Mpplane, m_Mt, m_Mtplane, m_Mv, m_Mvplane, m_nPlanes, m_pivotPoint, m_planesID, Nektar::SolverUtils::Filter::m_session, Nektar::LibUtilities::P, Nektar::LibUtilities::ReduceSum, Vmath::Sadd(), Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vmul(), Vmath::Vsum(), Vmath::Vvtvp(), and Vmath::Vvtvvtp().
Referenced by CalculateForces().
|
inlinestatic |
Creates an instance of this class.
Definition at line 57 of file FilterAeroForces.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
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 665 of file FilterAeroForces.cpp.
References CalculateForces(), m_Ft, m_Ftplane, m_lastTime, m_outputAllPlanes, and Nektar::NullNekDouble1DArray.
void Nektar::SolverUtils::FilterAeroForces::GetMoments | ( | const Array< OneD, const MultiRegions::ExpListSharedPtr > & | pFields, |
Array< OneD, NekDouble > & | moments, | ||
const NekDouble & | time | ||
) |
This function outputs the moments of force on all planes of the current process
Definition at line 712 of file FilterAeroForces.cpp.
References CalculateForces(), m_lastTime, m_Mt, m_Mtplane, and m_outputAllPlanes.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 643 of file FilterAeroForces.cpp.
References m_outputStream.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 235 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_pivotPoint, m_planesID, Nektar::SolverUtils::Filter::m_session, and v_Update().
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 656 of file FilterAeroForces.cpp.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 441 of file FilterAeroForces.cpp.
References CalculateForces(), m_Fpplane, m_Ftplane, m_Fvplane, m_index, m_isHomogeneous1D, m_Mpplane, m_Mtplane, m_Mvplane, 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 153 of file FilterAeroForces.h.
|
static |
Name of the class.
Definition at line 68 of file FilterAeroForces.h.
Definition at line 113 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
Definition at line 114 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 102 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 99 of file FilterAeroForces.h.
Referenced by v_Initialise().
|
private |
Definition at line 112 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Initialise().
Definition at line 122 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), FilterAeroForces(), and v_Initialise().
Definition at line 121 of file FilterAeroForces.h.
Referenced by CalculateForces(), and FilterAeroForces().
Definition at line 130 of file FilterAeroForces.h.
Referenced by CalculateForces(), and CalculateForcesMapping().
Definition at line 127 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Update().
Definition at line 132 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and GetForces().
Definition at line 129 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), GetForces(), and v_Update().
Definition at line 131 of file FilterAeroForces.h.
Referenced by CalculateForces(), and CalculateForcesMapping().
Definition at line 128 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Update().
|
private |
Definition at line 111 of file FilterAeroForces.h.
|
private |
Definition at line 103 of file FilterAeroForces.h.
Referenced by v_Initialise(), and v_Update().
|
private |
Definition at line 108 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), FilterAeroForces(), v_Initialise(), and v_Update().
|
private |
Definition at line 141 of file FilterAeroForces.h.
Referenced by CalculateForces(), GetForces(), GetMoments(), and v_Initialise().
|
private |
Definition at line 142 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
Definition at line 134 of file FilterAeroForces.h.
Referenced by CalculateForces(), and CalculateForcesMapping().
Definition at line 137 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Update().
Definition at line 136 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and GetMoments().
Definition at line 139 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), GetMoments(), and v_Update().
Definition at line 135 of file FilterAeroForces.h.
Referenced by CalculateForces(), and CalculateForcesMapping().
Definition at line 138 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Update().
|
private |
number of planes for homogeneous1D expansion
Definition at line 116 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 107 of file FilterAeroForces.h.
Referenced by CalculateForces(), FilterAeroForces(), GetForces(), GetMoments(), v_Initialise(), and v_Update().
|
private |
Definition at line 109 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Initialise().
|
private |
Definition at line 104 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Update().
|
private |
Definition at line 110 of file FilterAeroForces.h.
Referenced by v_Finalise(), v_Initialise(), and v_Update().
Definition at line 124 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), FilterAeroForces(), and v_Initialise().
Definition at line 117 of file FilterAeroForces.h.
Referenced by CalculateForces(), CalculateForcesMapping(), and v_Initialise().
|
private |
Definition at line 119 of file FilterAeroForces.h.
Referenced by FilterAeroForces(), and v_Update().