Nektar++
|
#include <FilterAeroForcesSPM.h>
Public Member Functions | |
FilterAeroForcesSPM (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< SolverUtils::EquationSystem > &pEquation, const std::map< std::string, std::string > &pParams) | |
~FilterAeroForcesSPM () override | |
void | CalculateForces (const Array< OneD, Array< OneD, NekDouble > > &pIntVel, const Array< OneD, Array< OneD, NekDouble > > &pUpPrev, const MultiRegions::ExpListSharedPtr &pPhi, NekDouble time, NekDouble dt) |
Determine the total force on the body defined by \(\Phi\) (note that if the shape function represents more than one body, this function calculates the value of the final force after adding up the values for each body). This value must be scaled with the density to get the real force vector. More... | |
Public Member Functions inherited from Nektar::SolverUtils::Filter | |
SOLVER_UTILS_EXPORT | Filter (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation) |
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 SolverUtils::FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< SolverUtils::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 |
Protected Attributes | |
unsigned int | m_index |
unsigned int | m_outputFrequency |
std::string | m_outputFile |
std::ofstream | m_outputStream |
NekDouble | m_startTime |
std::vector< std::string > | m_dirNames |
STL vector containing the names of the different directions. More... | |
NekDouble | m_spaceDim |
Dimension of the fluid domain. More... | |
Array< OneD, NekDouble > | m_Forces |
Array storing the last value of the aerodynamic forces. More... | |
Protected Attributes inherited from Nektar::SolverUtils::Filter | |
LibUtilities::SessionReaderSharedPtr | m_session |
const std::weak_ptr< EquationSystem > | m_equ |
Additional Inherited Members | |
Public Types inherited from Nektar::SolverUtils::Filter | |
typedef std::map< std::string, std::string > | ParamMap |
Definition at line 43 of file FilterAeroForcesSPM.h.
Nektar::FilterAeroForcesSPM::FilterAeroForcesSPM | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::weak_ptr< SolverUtils::EquationSystem > & | pEquation, | ||
const std::map< std::string, std::string > & | pParams | ||
) |
Definition at line 49 of file FilterAeroForcesSPM.cpp.
References ASSERTL0, Nektar::LibUtilities::Equation::Evaluate(), m_outputFile, m_outputFrequency, Nektar::SolverUtils::Filter::m_session, and m_startTime.
|
override |
Definition at line 100 of file FilterAeroForcesSPM.cpp.
void Nektar::FilterAeroForcesSPM::CalculateForces | ( | const Array< OneD, Array< OneD, NekDouble > > & | pIntVel, |
const Array< OneD, Array< OneD, NekDouble > > & | pUpPrev, | ||
const MultiRegions::ExpListSharedPtr & | pPhi, | ||
NekDouble | time, | ||
NekDouble | dt | ||
) |
Determine the total force on the body defined by \(\Phi\) (note that if the shape function represents more than one body, this function calculates the value of the final force after adding up the values for each body). This value must be scaled with the density to get the real force vector.
pIntVel | |
pUpPrev | |
pPhi | |
time | |
dt |
Definition at line 226 of file FilterAeroForcesSPM.cpp.
References m_Forces, m_index, m_outputFrequency, m_spaceDim, m_startTime, Vmath::Vmul(), and Vmath::Vsub().
|
inlinestatic |
Creates an instance of this class.
Definition at line 47 of file FilterAeroForcesSPM.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 195 of file FilterAeroForcesSPM.cpp.
References m_outputStream.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 107 of file FilterAeroForcesSPM.cpp.
References m_dirNames, m_Forces, m_index, m_outputFile, m_outputStream, Nektar::SolverUtils::Filter::m_session, and m_spaceDim.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 208 of file FilterAeroForcesSPM.cpp.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Filter.
Definition at line 162 of file FilterAeroForcesSPM.cpp.
References m_Forces, m_index, m_outputFrequency, m_outputStream, m_spaceDim, and m_startTime.
|
static |
Name of the class.
Definition at line 59 of file FilterAeroForcesSPM.h.
|
protected |
STL vector containing the names of the different directions.
Definition at line 82 of file FilterAeroForcesSPM.h.
Referenced by v_Initialise().
Array storing the last value of the aerodynamic forces.
Definition at line 86 of file FilterAeroForcesSPM.h.
Referenced by CalculateForces(), v_Initialise(), and v_Update().
|
protected |
Definition at line 75 of file FilterAeroForcesSPM.h.
Referenced by CalculateForces(), v_Initialise(), and v_Update().
|
protected |
Definition at line 77 of file FilterAeroForcesSPM.h.
Referenced by FilterAeroForcesSPM(), and v_Initialise().
|
protected |
Definition at line 76 of file FilterAeroForcesSPM.h.
Referenced by CalculateForces(), FilterAeroForcesSPM(), and v_Update().
|
protected |
Definition at line 78 of file FilterAeroForcesSPM.h.
Referenced by v_Finalise(), v_Initialise(), and v_Update().
|
protected |
Dimension of the fluid domain.
Definition at line 84 of file FilterAeroForcesSPM.h.
Referenced by CalculateForces(), v_Initialise(), and v_Update().
|
protected |
Definition at line 80 of file FilterAeroForcesSPM.h.
Referenced by CalculateForces(), FilterAeroForcesSPM(), and v_Update().