Nektar++
|
#include <ForcingAbsorption.h>
Static Public Member Functions | |
static SOLVER_UTILS_EXPORT ForcingSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce) |
Creates an instance of this class. More... | |
![]() | |
static SOLVER_UTILS_EXPORT std::vector< ForcingSharedPtr > | Load (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields=0) |
Static Public Attributes | |
static std::string | className |
Name of the class. More... | |
Protected Types | |
typedef bg::model::point< NekDouble, 3, bg::cs::cartesian > | BPoint |
typedef std::pair< BPoint, unsigned int > | BPointPair |
typedef bgi::rtree< BPointPair, bgi::rstar< 16 > > | BRTree |
Protected Attributes | |
bool | m_hasRefFlow |
bool | m_hasRefFlowTime |
Array< OneD, Array< OneD, NekDouble > > | m_Absorption |
Array< OneD, Array< OneD, NekDouble > > | m_Refflow |
std::string | m_funcNameTime |
std::vector< unsigned int > | m_bRegions |
std::shared_ptr< BRTree > | m_rtree |
![]() | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader. More... | |
const std::weak_ptr< EquationSystem > | m_equ |
Weak pointer to equation system using this forcing. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_Forcing |
Evaluated forcing function. More... | |
int | m_NumVariable |
Number of variables. More... | |
std::map< std::string, SolverUtils::SessionFunctionSharedPtr > | m_sessionFunctions |
Map of known SessionFunctions. More... | |
Private Member Functions | |
ForcingAbsorption (const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation) | |
virtual | ~ForcingAbsorption (void) |
void | CalcAbsorption (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pForce) |
Friends | |
class | MemoryManager< ForcingAbsorption > |
Additional Inherited Members | |
![]() | |
virtual SOLVER_UTILS_EXPORT | ~Forcing () |
SOLVER_UTILS_EXPORT void | InitObject (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce) |
Initialise the forcing object. More... | |
SOLVER_UTILS_EXPORT void | Apply (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time) |
Apply the forcing. More... | |
SOLVER_UTILS_EXPORT void | PreApply (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time) |
Change the advection velocity before applying the forcing. For example, subtracting the frame velocity from the advection velocity in the MovingRefercenceFrame. More... | |
SOLVER_UTILS_EXPORT void | ApplyCoeff (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time) |
Apply the forcing. More... | |
SOLVER_UTILS_EXPORT const Array< OneD, const Array< OneD, NekDouble > > & | GetForces () |
SOLVER_UTILS_EXPORT Array< OneD, Array< OneD, NekDouble > > & | UpdateForces () |
Definition at line 57 of file ForcingAbsorption.h.
|
protected |
Definition at line 81 of file ForcingAbsorption.h.
|
protected |
Definition at line 82 of file ForcingAbsorption.h.
|
protected |
Definition at line 83 of file ForcingAbsorption.h.
|
private |
Definition at line 55 of file ForcingAbsorption.cpp.
|
inlineprivatevirtual |
Definition at line 117 of file ForcingAbsorption.h.
|
private |
Definition at line 115 of file ForcingAbsorption.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::StdRegions::find(), Nektar::ParseUtils::GenerateVector(), Nektar::SpatialDomains::BoundaryConditions::GetBoundaryRegions(), Nektar::SolverUtils::Forcing::GetFunction(), m_Absorption, m_bRegions, Nektar::SolverUtils::Forcing::m_NumVariable, m_rtree, and Nektar::SolverUtils::Forcing::m_session.
Referenced by v_InitObject().
|
protected |
Definition at line 273 of file ForcingAbsorption.cpp.
References Nektar::SolverUtils::Forcing::GetFunction(), m_Absorption, Nektar::SolverUtils::Forcing::m_Forcing, m_funcNameTime, m_hasRefFlow, m_hasRefFlowTime, Nektar::SolverUtils::Forcing::m_NumVariable, m_Refflow, Nektar::SolverUtils::Forcing::m_session, Vmath::Vcopy(), Vmath::Vmul(), and Vmath::Vsub().
Referenced by v_Apply(), and v_ApplyCoeff().
|
inlinestatic |
Creates an instance of this class.
Definition at line 63 of file ForcingAbsorption.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::SolverUtils::ForcingSharedPtr, and CellMLToNektar.cellml_metadata::p.
|
protectedvirtual |
Implements Nektar::SolverUtils::Forcing.
Definition at line 240 of file ForcingAbsorption.cpp.
References CalculateForcing(), Nektar::SolverUtils::Forcing::m_Forcing, Nektar::SolverUtils::Forcing::m_NumVariable, and Vmath::Vadd().
|
protectedvirtual |
Reimplemented from Nektar::SolverUtils::Forcing.
Definition at line 255 of file ForcingAbsorption.cpp.
References CalculateForcing(), Nektar::SolverUtils::Forcing::m_Forcing, Nektar::SolverUtils::Forcing::m_NumVariable, and Vmath::Vadd().
|
protectedvirtual |
Implements Nektar::SolverUtils::Forcing.
Definition at line 64 of file ForcingAbsorption.cpp.
References ASSERTL0, CalcAbsorption(), Nektar::SolverUtils::Forcing::GetFunction(), Nektar::SolverUtils::Forcing::m_Forcing, m_funcNameTime, m_hasRefFlow, m_hasRefFlowTime, Nektar::SolverUtils::Forcing::m_NumVariable, m_Refflow, and Nektar::SolverUtils::Forcing::m_session.
|
friend |
Definition at line 1 of file ForcingAbsorption.h.
|
static |
Name of the class.
Definition at line 77 of file ForcingAbsorption.h.
Definition at line 87 of file ForcingAbsorption.h.
Referenced by CalcAbsorption(), and CalculateForcing().
|
protected |
Definition at line 90 of file ForcingAbsorption.h.
Referenced by CalcAbsorption().
|
protected |
Definition at line 89 of file ForcingAbsorption.h.
Referenced by CalculateForcing(), and v_InitObject().
|
protected |
Definition at line 85 of file ForcingAbsorption.h.
Referenced by CalculateForcing(), and v_InitObject().
|
protected |
Definition at line 86 of file ForcingAbsorption.h.
Referenced by CalculateForcing(), and v_InitObject().
Definition at line 88 of file ForcingAbsorption.h.
Referenced by CalculateForcing(), and v_InitObject().
|
protected |
Definition at line 91 of file ForcingAbsorption.h.
Referenced by CalcAbsorption().