36 #ifndef NEKTAR_SOLVERUTILS_FORCING 
   37 #define NEKTAR_SOLVERUTILS_FORCING 
   77                 const Array<OneD, MultiRegions::ExpListSharedPtr>&       pFields,
 
   78                 const unsigned int& pNumForcingFields,
 
   79                 const TiXmlElement* pForce);
 
   83                 const Array<OneD, MultiRegions::ExpListSharedPtr> &fields,
 
   89                         const LibUtilities::SessionReaderSharedPtr& pSession,
 
   90                         const Array<OneD, MultiRegions::ExpListSharedPtr>& pFields,
 
   91                         const unsigned int& pNumForcingFields = 0);
 
  103                 const LibUtilities::SessionReaderSharedPtr&);
 
  106                 const Array<OneD, MultiRegions::ExpListSharedPtr>&       pFields,
 
  107                 const unsigned int& pNumForcingFields,
 
  108                 const TiXmlElement* pForce) = 0;
 
  111                 const Array<OneD, MultiRegions::ExpListSharedPtr> &fields,
 
  117                     Array<OneD, MultiRegions::ExpListSharedPtr> pFields,
 
  118                     LibUtilities::SessionReaderSharedPtr        pSession,
 
  119                     std::string                                 pFieldName, 
 
  121                     const std::string& pFunctionName,
 
  125                     LibUtilities::SessionReaderSharedPtr        pSession,
 
  126                     std::string                                 pFieldName, 
 
  128                     const std::string&                          pFunctionName,
 
SOLVER_UTILS_EXPORT void EvaluateTimeFunction(LibUtilities::SessionReaderSharedPtr pSession, std::string pFieldName, Array< OneD, NekDouble > &pArray, const std::string &pFunctionName, NekDouble pTime=NekDouble(0))
 
Array< OneD, Array< OneD, NekDouble > > m_Forcing
Evaluated forcing function. 
 
SOLVER_UTILS_EXPORT void InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce)
Initialise the forcing object. 
 
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. 
 
SOLVER_UTILS_EXPORT typedef boost::shared_ptr< Forcing > ForcingSharedPtr
A shared pointer to an EquationSystem object. 
 
ForcingFactory & GetForcingFactory()
Declaration of the forcing factory singleton. 
 
SOLVER_UTILS_EXPORT void EvaluateFunction(Array< OneD, MultiRegions::ExpListSharedPtr > pFields, LibUtilities::SessionReaderSharedPtr pSession, std::string pFieldName, Array< OneD, NekDouble > &pArray, const std::string &pFunctionName, NekDouble pTime=NekDouble(0))
 
static SOLVER_UTILS_EXPORT std::vector< ForcingSharedPtr > Load(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields=0)
 
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
 
LibUtilities::NekFactory< std::string, Forcing, const LibUtilities::SessionReaderSharedPtr &, const Array< OneD, MultiRegions::ExpListSharedPtr > &, const unsigned int &, const TiXmlElement * > ForcingFactory
Declaration of the forcing factory. 
 
SOLVER_UTILS_EXPORT Forcing(const LibUtilities::SessionReaderSharedPtr &)
Constructor. 
 
LibUtilities::SessionReaderSharedPtr m_session
Session reader. 
 
boost::shared_ptr< Equation > EquationSharedPtr
 
int m_NumVariable
Number of variables. 
 
virtual SOLVER_UTILS_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce)=0
 
#define SOLVER_UTILS_EXPORT
 
virtual SOLVER_UTILS_EXPORT ~Forcing()
 
Defines a forcing term to be explicitly applied. 
 
Provides a generic Factory class. 
 
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)=0