35 #ifndef NEKTAR_SOLVERS_INCNAVIERSTOKES_H 36 #define NEKTAR_SOLVERS_INCNAVIERSTOKES_H 70 "UnsteadyLinearisedNS",
71 "UnsteadyNavierStokes",
143 virtual void v_InitObject();
147 return m_nConvectiveFields;
157 virtual void GetPressure(
161 virtual void GetDensity(
170 virtual void GetVelocity(
223 return m_equationType;
229 void WriteModalEnergy(
void);
232 void SetBoundaryConditions(
NekDouble time);
235 void SetRadiationBoundaryForcing(
int fieldid);
238 void SetZeroNormalVelocity();
241 void SetWomersleyBoundary(
const int fldid,
const int bndid);
244 void SetUpWomersley(
const int fldid,
const int bndid, std::string womstr);
256 ASSERTL0(
false,
"This method is not defined in this class");
261 ASSERTL0(
false,
"This method is not defined in this class");
264 virtual int v_GetForceDimension()=0;
268 virtual bool v_PreIntegrate(
int step);
278 #endif //NEKTAR_SOLVERS_INCNAVIERSTOKES_H
EquationType m_equationType
equation type;
#define ASSERTL0(condition, msg)
SOLVER_UTILS_EXPORT typedef std::shared_ptr< Forcing > ForcingSharedPtr
A shared pointer to an EquationSystem object.
std::complex< double > NekComplexDouble
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
Array< OneD, Array< OneD, int > > m_fieldsBCToTraceID
Mapping from BCs to Elmt Edge IDs.
std::map< int, std::map< int, WomersleyParamsSharedPtr > > m_womersleyParams
Womersley parameters if required.
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
NekDouble m_kinvis
Kinematic viscosity.
std::shared_ptr< IncNavierStokes > IncNavierStokesSharedPtr
std::shared_ptr< Extrapolate > ExtrapolateSharedPtr
Array< OneD, int > m_velocity
int which identifies which components of m_fields contains the velocity (u,v,w);
virtual void v_TransCoeffToPhys(void)
Virtual function for transformation to physical space.
ExtrapolateSharedPtr m_extrapolation
Array< OneD, Array< OneD, NekDouble > > m_poiseuille
int m_intSteps
Number of time integration steps AND Order of extrapolation for pressure boundary conditions...
int m_nConvectiveFields
Number of fields to be convected;.
const std::string kAdvectionFormStr[]
int m_energysteps
dump energy to file at steps time
std::vector< NekComplexDouble > m_wom_vel
Array< OneD, Array< OneD, Array< OneD, NekComplexDouble > > > m_zvel
EquationType GetEquationType(void)
virtual ~WomersleyParams()
Array< OneD, Array< OneD, NekDouble > > m_fieldsRadiationFactor
RHS Factor for Radiation Condition.
std::vector< SolverUtils::ForcingSharedPtr > m_forcing
Forcing terms.
virtual MultiRegions::ExpListSharedPtr v_GetPressure()
bool m_SmoothAdvection
bool to identify if advection term smoothing is requested
Array< OneD, NekDouble > m_axispoint
int GetNConvectiveFields(void)
Array< OneD, int > & GetVelocity(void)
Array< OneD, Array< OneD, int > > m_fieldsBCToElmtID
Mapping from BCs to Elmt IDs.
virtual bool HasConstantDensity()
Array< OneD, NekDouble > m_axisnormal
std::ofstream m_mdlFile
modal energy file
This class is the base class for Navier Stokes problems.
const std::string kEquationTypeStr[]
virtual void v_TransPhysToCoeff(void)
Virtual function for transformation to coefficient space.
MultiRegions::ExpListSharedPtr m_pressure
Pointer to field holding pressure field.
A base class for PDEs which include an advection component.
std::shared_ptr< WomersleyParams > WomersleyParamsSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr