41 { 1.0, -1., 0.0, 0.0},
42 { 2.5, -4.0, 1.5, 0.0},
43 { 13./3., -9.5, 7.0, -11.0/6.0}};
59 :
Extrapolate(pSession,pFields,pPressure,pVel,advObject)
187 int nlevels = array.num_elements();
188 int nPts = array[0].num_elements();
204 accelerationTerm, 1);
206 for(
int i = 0; i < acc_order; i++)
212 accelerationTerm, 1);
215 array[nlevels-1] = accelerationTerm;
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
An abstract base class encapsulating the concept of advection of a vector field.
virtual void v_EvaluatePressureBCs(const Array< OneD, const Array< OneD, NekDouble > > &fields, const Array< OneD, const Array< OneD, NekDouble > > &N, NekDouble kinvis)
static std::string className
Name of class.
static ExtrapolateSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, MultiRegions::ExpListSharedPtr &pPressure, const Array< OneD, int > &pVel, const SolverUtils::AdvectionSharedPtr &advObject)
Creates an instance of this class.
static NekDouble DuDt_Coeffs[3][4]
virtual void v_SubStepSetPressureBCs(const Array< OneD, const Array< OneD, NekDouble > > &inarray, NekDouble Aii_DT, NekDouble kinvis)
virtual void v_SubSteppingTimeIntegration(int intMethod, const LibUtilities::TimeIntegrationWrapperSharedPtr &IntegrationScheme)
virtual ~StandardExtrapolate()
virtual void v_SubStepSaveFields(int nstep)
StandardExtrapolate(const LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields, MultiRegions::ExpListSharedPtr pPressure, const Array< OneD, int > pVel, const SolverUtils::AdvectionSharedPtr advObject)
virtual void v_AccelerationBDF(Array< OneD, Array< OneD, NekDouble > > &array)
virtual void v_SubStepAdvance(const LibUtilities::TimeIntegrationSolutionSharedPtr &integrationSoln, int nstep, NekDouble time)
virtual void v_MountHOPBCs(int HBCdata, NekDouble kinvis, Array< OneD, NekDouble > &Q, Array< OneD, const NekDouble > &Advection)
@ eIMEXGear
IMEX Gear Order 2.
@ eIMEXOrder4
IMEX 4th order scheme using Backward Different Formula & Extrapolation.
@ eIMEXOrder1
IMEX 1st order scheme using Euler Backwards/Euler Forwards.
@ eIMEXOrder3
IMEX 3rd order scheme using Backward Different Formula & Extrapolation.
@ eIMEXOrder2
IMEX 2nd order scheme using Backward Different Formula & Extrapolation.
std::shared_ptr< TimeIntegrationWrapper > TimeIntegrationWrapperSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< TimeIntegrationSolution > TimeIntegrationSolutionSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
std::shared_ptr< Advection > AdvectionSharedPtr
A shared pointer to an Advection object.
ExtrapolateFactory & GetExtrapolateFactory()
void Svtvp(int n, const T alpha, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
svtvp (scalar times vector plus vector): z = alpha*x + y
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*y.