36#ifndef NEKTAR_SOLVERUTILS_FORCINGCFSSYNTHETICEDDY
37#define NEKTAR_SOLVERUTILS_FORCINGCFSSYNTHETICEDDY
56 const std::weak_ptr<EquationSystem> &pEquation,
58 const unsigned int &pNumForcingFields,
const TiXmlElement *pForce)
63 p->InitObject(pFields, pNumForcingFields, pForce);
89 std::pair<NekDouble, NekDouble> rhoMachMean);
100 const std::weak_ptr<EquationSystem> &pEquation);
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
~ForcingCFSSyntheticEddy(void) override=default
void v_ApplyCoeff(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time) override
Apply forcing term if an eddy left the box of eddies and update the eddies positions.
void CalculateForcing(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
Calculate Forcing.
std::pair< NekDouble, NekDouble > ComputeRhoMachMean(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
Compute rho and mach mean.
VariableConverterSharedPtr m_varConv
Auxiliary object to convert variables.
void v_Apply(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time) override
Apply forcing term if an eddy left the box of eddies and update the eddies positions.
ForcingCFSSyntheticEddy(const LibUtilities::SessionReaderSharedPtr &pSession, const std::weak_ptr< EquationSystem > &pEquation)
Array< OneD, Array< OneD, NekDouble > > ComputeDensityFluctuation(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, Array< OneD, NekDouble > > &velFLuc, std::pair< NekDouble, NekDouble > rhoMachMean)
Compute Velocity Fluctuation.
static 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.
static std::string className
Name of the class.
Defines a forcing term to be explicitly applied.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
SOLVER_UTILS_EXPORT typedef std::shared_ptr< Forcing > ForcingSharedPtr
A shared pointer to an EquationSystem object.
std::shared_ptr< VariableConverter > VariableConverterSharedPtr