35 #ifndef NEKTAR_SOLVERS_EXTRAPOLATE_H 36 #define NEKTAR_SOLVERS_EXTRAPOLATE_H 78 const LibUtilities::SessionReaderSharedPtr pSession,
79 Array<OneD, MultiRegions::ExpListSharedPtr> pFields,
80 MultiRegions::ExpListSharedPtr pPressure,
81 const Array<OneD, int> pVel,
86 void GenerateHOPBCMap(
const LibUtilities::SessionReaderSharedPtr& pSsession);
218 Array<OneD, MultiRegions::ExpListSharedPtr>
m_fields;
280 HighOrderOutflow(
const int numHOpts,
const int outHBCnumber,
const int curldim,
const LibUtilities::SessionReaderSharedPtr &pSession):
281 m_numOutHBCPts(numHOpts),
282 m_outHBCnumber(outHBCnumber)
288 m_outflowVelBnd =
Array<OneD,
292 m_UBndExp =
Array<OneD,
293 Array<OneD, MultiRegions::ExpListSharedPtr> >(curldim);
295 pSession->LoadParameter(
"OutflowBC_theta", m_obcTheta, 1.0);
296 pSession->LoadParameter(
"OutflowBC_alpha1", m_obcAlpha1, 0.0);
297 pSession->LoadParameter(
"OutflowBC_alpha2", m_obcAlpha2, 0.0);
299 pSession->LoadParameter(
"U0_HighOrderBC", m_U0,1.0);
300 pSession->LoadParameter(
"Delta_HighOrderBC", m_delta,1/20.0);
318 std::string m_defVelPrimCoeff[3];
NekDouble m_obcTheta
Parameters for outflow boundary condition.
virtual ~HighOrderOutflow()
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > m_outflowVelBnd
Storage for current and previous velocities along the outflow boundary.
ExtrapolateFactory & GetExtrapolateFactory()
std::shared_ptr< Advection > AdvectionSharedPtr
A shared pointer to an Advection object.
std::shared_ptr< Extrapolate > ExtrapolateSharedPtr
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > m_outflowVel
Storage for current and previous velocity fields along the outflow.
HighOrderOutflow(const int numHOpts, const int outHBCnumber, const int curldim, const LibUtilities::SessionReaderSharedPtr &pSession)
Array< OneD, Array< OneD, NekDouble > > m_velocityPrimCoeff
primitive coefficient for velocities when using convetive like OBCs
std::shared_ptr< TimeIntegrationWrapper > TimeIntegrationWrapperSharedPtr
LibUtilities::NekFactory< std::string, Extrapolate, const LibUtilities::SessionReaderSharedPtr &, Array< OneD, MultiRegions::ExpListSharedPtr > &, MultiRegions::ExpListSharedPtr &, const Array< OneD, int > &, const SolverUtils::AdvectionSharedPtr &> ExtrapolateFactory
Array< OneD, NekDouble > m_pressurePrimCoeff
primitive coefficient for pressure when using convetive like OBCs
Array< OneD, Array< OneD, MultiRegions::ExpListSharedPtr > > m_UBndExp
Velocity boundary condition expansions on high order boundaries.
int m_numOutHBCPts
Number of quadrature points for Outflow HOBC.
std::shared_ptr< HighOrderOutflow > HighOrderOutflowSharedPtr
std::shared_ptr< TimeIntegrationSolution > TimeIntegrationSolutionSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
int m_outHBCnumber
Number of Outflow HOBCs.
An abstract base class encapsulating the concept of advection of a vector field.
Provides a generic Factory class.