35 #ifndef NEKTAR_SOLVERS_COUPLEDSTOKESSCHEME_H 36 #define NEKTAR_SOLVERS_COUPLEDSTOKESSCHEME_H 109 void SetUpCoupledMatrix(
const NekDouble lambda = 0.0,
111 bool IsLinearNSEquation =
true);
128 const int HomogeneousMode = 0);
139 void SolveSteadyNavierStokes(
void);
141 void Continuation(
void);
156 void DefineForcingTerm(
void);
166 virtual void v_InitObject();
196 void SetUpCoupledMatrix(
const NekDouble lambda,
198 bool IsLinearNSEquation,
199 const int HomogeneousMode,
206 virtual void v_DoInitialise(
void);
208 virtual void v_DoSolve(
void);
210 virtual bool v_NegatedOp(
void);
212 virtual void v_TransCoeffToPhys(
void);
214 virtual void v_TransPhysToCoeff(
void);
216 virtual void v_Output(
void);
218 virtual int v_GetForceDimension(
void);
225 #endif //COUPLEDSTOKESSCHEME_H struct Nektar::coupledSolverMatrices CoupledSolverMatrices
DNekScalBlkMatSharedPtr m_Btilde
Interior-boundary Laplacian plus linearised convective terms .
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
DNekScalBlkMatSharedPtr m_D_bnd
Inner product of pressure system with divergence of the boundary velocity space . ...
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
std::shared_ptr< DNekScalBlkMat > DNekScalBlkMatSharedPtr
std::vector< std::pair< std::string, std::string > > SummaryList
Array< OneD, Array< OneD, NekDouble > > m_ForcingTerm
std::shared_ptr< GlobalLinSys > GlobalLinSysSharedPtr
Pointer to a GlobalLinSys object.
Array< OneD, CoupledSolverMatrices > m_mat
static void Solve(Nektar::Array< OneD, NekDouble > pX, struct crs_data *pCrs, Nektar::Array< OneD, NekDouble > pB)
Solve the matrix system for a given input vector b.
DataType L2Norm(const NekVector< DataType > &v)
static SolverUtils::EquationSystemSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph)
Creates an instance of this class.
DNekScalBlkMatSharedPtr m_D_int
Inner product of pressure system with divergence of the interior velocity space . ...
Array< OneD, Array< OneD, NekDouble > > m_ForcingTerm_Coeffs
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
static const NekDouble kNekUnsetDouble
static std::string className
Name of class.
DNekScalBlkMatSharedPtr m_Cinv
Interior-Interior Laplaican plus linearised convective terms inverted, i.e. the inverse of ...
Array< OneD, CoupledLocalToGlobalC0ContMapSharedPtr > m_locToGloMap
NekDouble m_KinvisPercentage
bool m_zeroMode
Id to identify when single mode is mean mode (i.e. beta=0);.
This class is the base class for Navier Stokes problems.
std::shared_ptr< CoupledLocalToGlobalC0ContMap > CoupledLocalToGlobalC0ContMapSharedPtr
static Array< OneD, Array< OneD, NekDouble > > NullNekDoubleArrayofArray
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::map< int, ExpansionShPtr > ExpansionMap
std::shared_ptr< EquationSystem > EquationSystemSharedPtr
A shared pointer to an EquationSystem object.
DNekScalBlkMatSharedPtr m_BCinv
Boundary-interior Laplacian plus linearised convective terms pre-multiplying Cinv: ...
MultiRegions::GlobalLinSysSharedPtr m_CoupledBndSys