36 #ifndef NEKTAR_SOLVERUTILS_FORCINGMOVINGREFERENCEFRAME    37 #define NEKTAR_SOLVERUTILS_FORCINGMOVINGREFERENCEFRAME    49 namespace SolverUtils {
    60             const std::weak_ptr<EquationSystem> &pEquation,
    62             const unsigned int &pNumForcingFields,
    63             const TiXmlElement *pForce) {
    66         p->InitObject(pFields, pNumForcingFields, pForce);
    77             const unsigned int &pNumForcingFields,
    78             const TiXmlElement *pForce);
    99             const std::weak_ptr<EquationSystem> &pEquation);
 void CalculateGradient(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
Calculates the gradient of the velocity fields. 
SOLVER_UTILS_EXPORT typedef std::shared_ptr< Forcing > ForcingSharedPtr
A shared pointer to an EquationSystem object. 
void Update(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time)
Updates the forcing array with the current required forcing. 
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
virtual SOLVER_UTILS_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce)
Initialise the forcing module. 
virtual ~ForcingMovingReferenceFrame(void)
static std::string classNameBody
Name of the class. 
static std::string classNameField
Array< OneD, Array< OneD, NekDouble > > m_grad
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool. 
#define SOLVER_UTILS_EXPORT
virtual SOLVER_UTILS_EXPORT void v_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 term. 
bool m_homogen_dealiasing
Array< OneD, NekDouble > m_frameVelocity
Defines a forcing term to be explicitly applied. 
ForcingMovingReferenceFrame(const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation)
std::shared_ptr< SessionReader > SessionReaderSharedPtr
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.