Nektar++
|
This class is the base class for Navier Stokes problems. More...
#include <IncNavierStokes.h>
Protected Member Functions | |
IncNavierStokes (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
Constructor. More... | |
EquationType | GetEquationType (void) |
void | EvaluateAdvectionTerms (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
void | WriteModalEnergy (void) |
void | SetBoundaryConditions (NekDouble time) |
time dependent boundary conditions updating More... | |
void | SetRadiationBoundaryForcing (int fieldid) |
Set Radiation forcing term. More... | |
void | SetZeroNormalVelocity () |
Set Normal Velocity Component to Zero. More... | |
void | SetWomersleyBoundary (const int fldid, const int bndid) |
Set Womersley Profile if specified. More... | |
void | SetUpWomersley (const int fldid, const int bndid, std::string womstr) |
Set Up Womersley details. More... | |
MultiRegions::ExpListSharedPtr | v_GetPressure () override |
void | v_TransCoeffToPhys (void) override |
Virtual function for transformation to physical space. More... | |
void | v_TransPhysToCoeff (void) override |
Virtual function for transformation to coefficient space. More... | |
virtual int | v_GetForceDimension ()=0 |
Array< OneD, NekDouble > | v_GetMaxStdVelocity (const NekDouble SpeedSoundFactor) override |
bool | v_PreIntegrate (int step) override |
Protected Member Functions inherited from Nektar::SolverUtils::AdvectionSystem | |
SOLVER_UTILS_EXPORT bool | v_PostIntegrate (int step) override |
virtual SOLVER_UTILS_EXPORT Array< OneD, NekDouble > | v_GetMaxStdVelocity (const NekDouble SpeedSoundFactor=1.0) |
Protected Member Functions inherited from Nektar::SolverUtils::UnsteadySystem | |
SOLVER_UTILS_EXPORT | UnsteadySystem (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Initialises UnsteadySystem class members. More... | |
SOLVER_UTILS_EXPORT void | v_InitObject (bool DeclareField=true) override |
Init object for UnsteadySystem class. More... | |
SOLVER_UTILS_EXPORT void | v_DoSolve () override |
Solves an unsteady problem. More... | |
virtual SOLVER_UTILS_EXPORT void | v_PrintStatusInformation (const int step, const NekDouble cpuTime) |
Print Status Information. More... | |
virtual SOLVER_UTILS_EXPORT void | v_PrintSummaryStatistics (const NekDouble intTime) |
Print Summary Statistics. More... | |
SOLVER_UTILS_EXPORT void | v_DoInitialise (bool dumpInitialConditions=true) override |
Sets up initial conditions. More... | |
SOLVER_UTILS_EXPORT void | v_GenerateSummary (SummaryList &s) override |
Print a summary of time stepping parameters. More... | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_GetTimeStep (const Array< OneD, const Array< OneD, NekDouble > > &inarray) |
Return the timestep to be used for the next step in the time-marching loop. More... | |
virtual SOLVER_UTILS_EXPORT bool | v_PreIntegrate (int step) |
virtual SOLVER_UTILS_EXPORT bool | v_PostIntegrate (int step) |
virtual SOLVER_UTILS_EXPORT bool | v_RequireFwdTrans () |
virtual SOLVER_UTILS_EXPORT void | v_SteadyStateResidual (int step, Array< OneD, NekDouble > &L2) |
virtual SOLVER_UTILS_EXPORT bool | v_UpdateTimeStepCheck () |
SOLVER_UTILS_EXPORT NekDouble | MaxTimeStepEstimator () |
Get the maximum timestep estimator for cfl control. More... | |
SOLVER_UTILS_EXPORT void | CheckForRestartTime (NekDouble &time, int &nchk) |
SOLVER_UTILS_EXPORT void | SVVVarDiffCoeff (const Array< OneD, Array< OneD, NekDouble > > vel, StdRegions::VarCoeffMap &varCoeffMap) |
Evaluate the SVV diffusion coefficient according to Moura's paper where it should proportional to h time velocity. More... | |
SOLVER_UTILS_EXPORT void | DoDummyProjection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Perform dummy projection. More... | |
Protected Member Functions inherited from Nektar::SolverUtils::EquationSystem | |
SOLVER_UTILS_EXPORT | EquationSystem (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Initialises EquationSystem class members. More... | |
virtual SOLVER_UTILS_EXPORT void | v_InitObject (bool DeclareFeld=true) |
Initialisation object for EquationSystem. More... | |
virtual SOLVER_UTILS_EXPORT void | v_DoInitialise (bool dumpInitialConditions=true) |
Virtual function for initialisation implementation. More... | |
virtual SOLVER_UTILS_EXPORT void | v_DoSolve () |
Virtual function for solve implementation. More... | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_LinfError (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray) |
Virtual function for the L_inf error computation between fields and a given exact solution. More... | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_L2Error (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray, bool Normalised=false) |
Virtual function for the L_2 error computation between fields and a given exact solution. More... | |
virtual SOLVER_UTILS_EXPORT void | v_TransCoeffToPhys () |
Virtual function for transformation to physical space. More... | |
virtual SOLVER_UTILS_EXPORT void | v_TransPhysToCoeff () |
Virtual function for transformation to coefficient space. More... | |
virtual SOLVER_UTILS_EXPORT void | v_GenerateSummary (SummaryList &l) |
Virtual function for generating summary information. More... | |
virtual SOLVER_UTILS_EXPORT void | v_SetInitialConditions (NekDouble initialtime=0.0, bool dumpInitialConditions=true, const int domain=0) |
virtual SOLVER_UTILS_EXPORT void | v_EvaluateExactSolution (unsigned int field, Array< OneD, NekDouble > &outfield, const NekDouble time) |
virtual SOLVER_UTILS_EXPORT void | v_Output (void) |
virtual SOLVER_UTILS_EXPORT MultiRegions::ExpListSharedPtr | v_GetPressure (void) |
virtual SOLVER_UTILS_EXPORT bool | v_NegatedOp (void) |
Virtual function to identify if operator is negated in DoSolve. More... | |
virtual SOLVER_UTILS_EXPORT void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) |
virtual SOLVER_UTILS_EXPORT void | v_GetVelocity (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &velocity)=0 |
virtual SOLVER_UTILS_EXPORT bool | v_HasConstantDensity ()=0 |
virtual SOLVER_UTILS_EXPORT void | v_GetDensity (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &density)=0 |
virtual SOLVER_UTILS_EXPORT void | v_GetPressure (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &pressure)=0 |
virtual SOLVER_UTILS_EXPORT void | v_SetMovingFrameVelocities (const Array< OneD, NekDouble > &vFrameVels, const int step) |
virtual SOLVER_UTILS_EXPORT bool | v_GetMovingFrameVelocities (Array< OneD, NekDouble > &vFrameVels, const int step) |
virtual SOLVER_UTILS_EXPORT void | v_SetMovingFrameDisp (const Array< OneD, NekDouble > &vFrameDisp, const int step) |
virtual SOLVER_UTILS_EXPORT void | v_SetMovingFramePivot (const Array< OneD, NekDouble > &vFramePivot) |
virtual SOLVER_UTILS_EXPORT bool | v_GetMovingFrameDisp (Array< OneD, NekDouble > &vFrameDisp, const int step) |
virtual SOLVER_UTILS_EXPORT void | v_SetAeroForce (Array< OneD, NekDouble > forces) |
virtual SOLVER_UTILS_EXPORT void | v_GetAeroForce (Array< OneD, NekDouble > forces) |
Protected Attributes | |
ExtrapolateSharedPtr | m_extrapolation |
IncBoundaryConditionsSharedPtr | m_IncNavierStokesBCs |
std::ofstream | m_mdlFile |
modal energy file More... | |
bool | m_SmoothAdvection |
bool to identify if advection term smoothing is requested More... | |
std::vector< SolverUtils::ForcingSharedPtr > | m_forcing |
Forcing terms. More... | |
int | m_nConvectiveFields |
Number of fields to be convected;. More... | |
Array< OneD, int > | m_velocity |
int which identifies which components of m_fields contains the velocity (u,v,w); More... | |
MultiRegions::ExpListSharedPtr | m_pressure |
Pointer to field holding pressure field. More... | |
NekDouble | m_kinvis |
Kinematic viscosity. More... | |
int | m_energysteps |
dump energy to file at steps time More... | |
EquationType | m_equationType |
equation type; More... | |
Array< OneD, Array< OneD, int > > | m_fieldsBCToElmtID |
Mapping from BCs to Elmt IDs. More... | |
Array< OneD, Array< OneD, int > > | m_fieldsBCToTraceID |
Mapping from BCs to Elmt Edge IDs. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_fieldsRadiationFactor |
RHS Factor for Radiation Condition. More... | |
int | m_intSteps |
Number of time integration steps AND Order of extrapolation for pressure boundary conditions. More... | |
Array< OneD, NekDouble > | m_pivotPoint |
pivot point for moving reference frame More... | |
Array< OneD, NekDouble > | m_aeroForces |
std::map< int, std::map< int, WomersleyParamsSharedPtr > > | m_womersleyParams |
Womersley parameters if required. More... | |
Protected Attributes inherited from Nektar::SolverUtils::AdvectionSystem | |
SolverUtils::AdvectionSharedPtr | m_advObject |
Advection term. More... | |
Protected Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
LibUtilities::TimeIntegrationSchemeSharedPtr | m_intScheme |
Wrapper to the time integration scheme. More... | |
LibUtilities::TimeIntegrationSchemeOperators | m_ode |
The time integration scheme operators to use. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_previousSolution |
Storage for previous solution for steady-state check. More... | |
std::vector< int > | m_intVariables |
NekDouble | m_cflSafetyFactor |
CFL safety factor (comprise between 0 to 1). More... | |
NekDouble | m_CFLGrowth |
CFL growth rate. More... | |
NekDouble | m_CFLEnd |
Maximun cfl in cfl growth. More... | |
int | m_abortSteps |
Number of steps between checks for abort conditions. More... | |
bool | m_explicitDiffusion |
Indicates if explicit or implicit treatment of diffusion is used. More... | |
bool | m_explicitAdvection |
Indicates if explicit or implicit treatment of advection is used. More... | |
bool | m_explicitReaction |
Indicates if explicit or implicit treatment of reaction is used. More... | |
int | m_steadyStateSteps |
Check for steady state at step interval. More... | |
NekDouble | m_steadyStateTol |
Tolerance to which steady state should be evaluated at. More... | |
int | m_filtersInfosteps |
Number of time steps between outputting filters information. More... | |
std::vector< std::pair< std::string, FilterSharedPtr > > | m_filters |
bool | m_homoInitialFwd |
Flag to determine if simulation should start in homogeneous forward transformed state. More... | |
std::ofstream | m_errFile |
NekDouble | m_epsilon |
Diffusion coefficient. More... | |
Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. More... | |
bool | m_verbose |
LibUtilities::SessionReaderSharedPtr | m_session |
The session reader. More... | |
std::map< std::string, SolverUtils::SessionFunctionSharedPtr > | m_sessionFunctions |
Map of known SessionFunctions. More... | |
LibUtilities::FieldIOSharedPtr | m_fld |
Field input/output. More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Array holding all dependent variables. More... | |
SpatialDomains::BoundaryConditionsSharedPtr | m_boundaryConditions |
Pointer to boundary conditions object. More... | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
Pointer to graph defining mesh. More... | |
std::string | m_sessionName |
Name of the session. More... | |
NekDouble | m_time |
Current time of simulation. More... | |
int | m_initialStep |
Number of the step where the simulation should begin. More... | |
NekDouble | m_fintime |
Finish time of the simulation. More... | |
NekDouble | m_timestep |
Time step size. More... | |
NekDouble | m_lambda |
Lambda constant in real system if one required. More... | |
NekDouble | m_checktime |
Time between checkpoints. More... | |
NekDouble | m_lastCheckTime |
NekDouble | m_TimeIncrementFactor |
int | m_nchk |
Number of checkpoints written so far. More... | |
int | m_steps |
Number of steps to take. More... | |
int | m_checksteps |
Number of steps between checkpoints. More... | |
int | m_infosteps |
Number of time steps between outputting status information. More... | |
int | m_iterPIT = 0 |
Number of parallel-in-time time iteration. More... | |
int | m_windowPIT = 0 |
Index of windows for parallel-in-time time iteration. More... | |
int | m_spacedim |
Spatial dimension (>= expansion dim). More... | |
int | m_expdim |
Expansion dimension. More... | |
bool | m_singleMode |
Flag to determine if single homogeneous mode is used. More... | |
bool | m_halfMode |
Flag to determine if half homogeneous mode is used. More... | |
bool | m_multipleModes |
Flag to determine if use multiple homogenenous modes are used. More... | |
bool | m_useFFT |
Flag to determine if FFT is used for homogeneous transform. More... | |
bool | m_homogen_dealiasing |
Flag to determine if dealiasing is used for homogeneous simulations. More... | |
bool | m_specHP_dealiasing |
Flag to determine if dealisising is usde for the Spectral/hp element discretisation. More... | |
enum MultiRegions::ProjectionType | m_projectionType |
Type of projection; e.g continuous or discontinuous. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
Array holding trace normals for DG simulations in the forwards direction. More... | |
Array< OneD, bool > | m_checkIfSystemSingular |
Flag to indicate if the fields should be checked for singularity. More... | |
LibUtilities::FieldMetaDataMap | m_fieldMetaDataMap |
Map to identify relevant solver info to dump in output fields. More... | |
Array< OneD, NekDouble > | m_movingFrameData |
Moving reference frame status in the inertial frame X, Y, Z, Theta_x, Theta_y, Theta_z, U, V, W, Omega_x, Omega_y, Omega_z, A_x, A_y, A_z, DOmega_x, DOmega_y, DOmega_z, pivot_x, pivot_y, pivot_z. More... | |
std::vector< std::string > | m_strFrameData |
variable name in m_movingFrameData More... | |
int | m_NumQuadPointsError |
Number of Quadrature points used to work out the error. More... | |
enum HomogeneousType | m_HomogeneousType |
NekDouble | m_LhomX |
physical length in X direction (if homogeneous) More... | |
NekDouble | m_LhomY |
physical length in Y direction (if homogeneous) More... | |
NekDouble | m_LhomZ |
physical length in Z direction (if homogeneous) More... | |
int | m_npointsX |
number of points in X direction (if homogeneous) More... | |
int | m_npointsY |
number of points in Y direction (if homogeneous) More... | |
int | m_npointsZ |
number of points in Z direction (if homogeneous) More... | |
int | m_HomoDirec |
number of homogenous directions More... | |
Protected Attributes inherited from Nektar::SolverUtils::ALEHelper | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fieldsALE |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocity |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocityTrace |
std::vector< ALEBaseShPtr > | m_ALEs |
bool | m_ALESolver = false |
bool | m_ImplicitALESolver = false |
NekDouble | m_prevStageTime = 0.0 |
int | m_spaceDim |
Static Protected Attributes | |
static std::string | eqTypeLookupIds [] |
Static Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
static std::string | equationSystemTypeLookupIds [] |
static std::string | projectionTypeLookupIds [] |
Additional Inherited Members | |
Static Public Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
static std::string | cmdSetStartTime |
static std::string | cmdSetStartChkNum |
Protected Types inherited from Nektar::SolverUtils::EquationSystem | |
enum | HomogeneousType { eHomogeneous1D , eHomogeneous2D , eHomogeneous3D , eNotHomogeneous } |
Parameter for homogeneous expansions. More... | |
This class is the base class for Navier Stokes problems.
Definition at line 146 of file IncNavierStokes.h.
|
override |
|
protected |
Constructor.
Constructor. Creates ...
param
Definition at line 83 of file IncNavierStokes.cpp.
void Nektar::IncNavierStokes::AddForcing | ( | const SolverUtils::ForcingSharedPtr & | pForce | ) |
Add an additional forcing term programmatically.
Definition at line 810 of file IncNavierStokes.cpp.
References m_forcing.
Referenced by Nektar::VortexWaveInteraction::ExecuteRoll().
bool Nektar::IncNavierStokes::DefinedForcing | ( | const std::string & | sForce | ) |
Function to check the type of forcing
Definition at line 994 of file IncNavierStokes.cpp.
References Nektar::SolverUtils::EquationSystem::m_session.
Referenced by v_InitObject().
|
protected |
Evaluation -N(V) for all fields except pressure using m_velocity
Definition at line 307 of file IncNavierStokes.cpp.
References Nektar::SolverUtils::AdvectionSystem::m_advObject, Nektar::SolverUtils::EquationSystem::m_fields, m_forcing, m_nConvectiveFields, m_velocity, and Vmath::Vcopy().
Referenced by Nektar::CoupledLinearNS::EvaluateAdvection(), Nektar::CoupledLinearNS::EvaluateNewtonRHS(), Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), and Nektar::VCSImplicit::v_EvaluateAdvection_SetPressureBCs().
|
inlineprotected |
Definition at line 245 of file IncNavierStokes.h.
References m_equationType.
|
inline |
Definition at line 155 of file IncNavierStokes.h.
References m_nConvectiveFields.
time dependent boundary conditions updating
Time dependent boundary conditions updating
Definition at line 332 of file IncNavierStokes.cpp.
References Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_session, SetRadiationBoundaryForcing(), SetWomersleyBoundary(), and SetZeroNormalVelocity().
Referenced by Nektar::VelocityCorrectionScheme::v_DoInitialise(), and v_PreIntegrate().
|
protected |
Set Radiation forcing term.
Probably should be pushed back into ContField?
Definition at line 367 of file IncNavierStokes.cpp.
References Nektar::SpatialDomains::eRobin, Nektar::SolverUtils::EquationSystem::GetPhys_Offset(), Nektar::SolverUtils::EquationSystem::m_fields, m_fieldsBCToElmtID, m_fieldsBCToTraceID, m_fieldsRadiationFactor, m_velocity, and Vmath::Vmul().
Referenced by SetBoundaryConditions().
|
protected |
Set Up Womersley details.
Error value returned by TinyXML.
Definition at line 586 of file IncNavierStokes.cpp.
References ASSERTL0, ASSERTL1, Nektar::ParseUtils::GenerateVector(), Polylib::ImagBesselComp(), Nektar::SolverUtils::EquationSystem::m_fields, m_kinvis, m_womersleyParams, Nektar::LibUtilities::rad(), tinysimd::sqrt(), and Nektar::UnitTests::z().
Referenced by v_InitObject().
|
protected |
Set Womersley Profile if specified.
Womersley boundary condition defintion
Definition at line 517 of file IncNavierStokes.cpp.
References ASSERTL1, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_time, m_womersleyParams, Vmath::Smul(), and tinysimd::sqrt().
Referenced by SetBoundaryConditions().
|
protected |
Set Normal Velocity Component to Zero.
Definition at line 429 of file IncNavierStokes.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SolverUtils::EquationSystem::m_fields, m_fieldsBCToElmtID, m_fieldsBCToTraceID, Nektar::SolverUtils::EquationSystem::m_spacedim, m_velocity, Vmath::Neg(), and Vmath::Vvtvp().
Referenced by SetBoundaryConditions().
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 983 of file IncNavierStokes.cpp.
References m_aeroForces, and Vmath::Vcopy().
|
overridevirtual |
Implements Nektar::SolverUtils::FluidInterface.
Definition at line 867 of file IncNavierStokes.cpp.
References Vmath::Fill().
|
protectedpure virtual |
Implemented in Nektar::VelocityCorrectionScheme, and Nektar::CoupledLinearNS.
Referenced by v_InitObject().
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::AdvectionSystem.
Definition at line 818 of file IncNavierStokes.cpp.
References Nektar::SolverUtils::EquationSystem::eHomogeneous1D, m_extrapolation, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_HomogeneousType, and m_velocity.
|
overridevirtual |
Function to get the angles between the moving frame of reference and stationary inertial reference frame
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 946 of file IncNavierStokes.cpp.
References ASSERTL0, Nektar::SolverUtils::EquationSystem::m_movingFrameData, and Vmath::Vcopy().
|
overridevirtual |
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 907 of file IncNavierStokes.cpp.
References ASSERTL0, Nektar::SolverUtils::EquationSystem::m_movingFrameData, and Vmath::Vcopy().
|
inlineoverrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::EquationSystem.
Definition at line 275 of file IncNavierStokes.h.
References m_pressure.
|
overridevirtual |
Implements Nektar::SolverUtils::FluidInterface.
Definition at line 854 of file IncNavierStokes.cpp.
References CG_Iterations::pressure.
|
overridevirtual |
Implements Nektar::SolverUtils::FluidInterface.
Definition at line 878 of file IncNavierStokes.cpp.
References Nektar::SolverUtils::EquationSystem::m_spacedim.
|
inlineoverridevirtual |
Implements Nektar::SolverUtils::FluidInterface.
Definition at line 170 of file IncNavierStokes.h.
|
overridevirtual |
Initialisation object for EquationSystem.
Continuous field
Setting up the normals
Setting up the normals
Reimplemented from Nektar::SolverUtils::AdvectionSystem.
Reimplemented in Nektar::SmoothedProfileMethod, Nektar::VCSMapping, and Nektar::VelocityCorrectionScheme.
Definition at line 91 of file IncNavierStokes.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), DefinedForcing(), Nektar::SpatialDomains::eDirichlet, Nektar::eEquationTypeSize, Nektar::SpatialDomains::eRobin, Nektar::eSteadyLinearisedNS, Nektar::eSteadyNavierStokes, Nektar::eUnsteadyLinearisedNS, Nektar::eUnsteadyNavierStokes, Nektar::eUnsteadyStokes, Nektar::LibUtilities::Equation::Evaluate(), Nektar::SolverUtils::GetAdvectionFactory(), Nektar::kEquationTypeStr, Nektar::SolverUtils::Forcing::Load(), Nektar::SolverUtils::AdvectionSystem::m_advObject, m_aeroForces, Nektar::SolverUtils::EquationSystem::m_boundaryConditions, m_equationType, Nektar::SolverUtils::EquationSystem::m_fieldMetaDataMap, Nektar::SolverUtils::EquationSystem::m_fields, m_fieldsBCToElmtID, m_fieldsBCToTraceID, m_fieldsRadiationFactor, m_forcing, m_kinvis, Nektar::SolverUtils::EquationSystem::m_movingFrameData, Nektar::SolverUtils::EquationSystem::m_session, Nektar::SolverUtils::EquationSystem::m_spacedim, Nektar::SolverUtils::EquationSystem::m_strFrameData, Nektar::SolverUtils::EquationSystem::m_time, Nektar::SolverUtils::EquationSystem::m_timestep, m_velocity, m_womersleyParams, SetUpWomersley(), v_GetForceDimension(), and Nektar::SolverUtils::AdvectionSystem::v_InitObject().
Referenced by Nektar::CoupledLinearNS::v_InitObject(), and Nektar::VelocityCorrectionScheme::v_InitObject().
|
overrideprotectedvirtual |
Perform the extrapolation.
Reimplemented from Nektar::SolverUtils::UnsteadySystem.
Definition at line 1031 of file IncNavierStokes.cpp.
References m_extrapolation, Nektar::SolverUtils::EquationSystem::m_time, Nektar::SolverUtils::EquationSystem::m_timestep, and SetBoundaryConditions().
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 975 of file IncNavierStokes.cpp.
References m_aeroForces, and Vmath::Vcopy().
|
overridevirtual |
Function to set the angles between the moving frame of reference and stationary inertial reference frame
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 929 of file IncNavierStokes.cpp.
References ASSERTL0, Nektar::SolverUtils::EquationSystem::m_movingFrameData, and Vmath::Vcopy().
|
overridevirtual |
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 964 of file IncNavierStokes.cpp.
References ASSERTL0, Nektar::SolverUtils::EquationSystem::m_movingFrameData, and Vmath::Vcopy().
|
overridevirtual |
Function to set the moving frame velocities calucated in the forcing this gives access to the moving reference forcing to set the velocities to be later used in enforcing the boundary condition in IncNavierStokes class
Reimplemented from Nektar::SolverUtils::FluidInterface.
Definition at line 894 of file IncNavierStokes.cpp.
References ASSERTL0, Nektar::SolverUtils::EquationSystem::m_movingFrameData, and Vmath::Vcopy().
Virtual function for transformation to physical space.
Reimplemented from Nektar::SolverUtils::EquationSystem.
Reimplemented in Nektar::VelocityCorrectionScheme.
Definition at line 280 of file IncNavierStokes.h.
References ASSERTL0.
Virtual function for transformation to coefficient space.
Reimplemented from Nektar::SolverUtils::EquationSystem.
Reimplemented in Nektar::VelocityCorrectionScheme.
Definition at line 285 of file IncNavierStokes.h.
References ASSERTL0.
|
staticprotected |
Definition at line 249 of file IncNavierStokes.h.
Definition at line 239 of file IncNavierStokes.h.
Referenced by v_GetAeroForce(), v_InitObject(), and v_SetAeroForce().
|
protected |
dump energy to file at steps time
Definition at line 221 of file IncNavierStokes.h.
|
protected |
equation type;
Definition at line 224 of file IncNavierStokes.h.
Referenced by GetEquationType(), Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::CoupledLinearNS::v_DoInitialise(), Nektar::CoupledLinearNS::v_DoSolve(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().
|
protected |
Definition at line 197 of file IncNavierStokes.h.
Referenced by Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::VelocityCorrectionScheme::SetupFlowrate(), Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSImplicit::v_EvaluateAdvection_SetPressureBCs(), Nektar::VelocityCorrectionScheme::v_GenerateSummary(), Nektar::VCSImplicit::v_GenerateSummary(), Nektar::VCSWeakPressure::v_GenerateSummary(), v_GetMaxStdVelocity(), Nektar::CoupledLinearNS::v_InitObject(), Nektar::VCSMapping::v_InitObject(), v_PreIntegrate(), Nektar::VCSMapping::v_SetUpPressureForcing(), Nektar::VelocityCorrectionScheme::v_SolvePressure(), Nektar::VCSMapping::v_SolvePressure(), Nektar::VCSImplicit::v_SolvePressure(), Nektar::VCSWeakPressure::v_SolvePressure(), Nektar::VelocityCorrectionScheme::v_SolveUnsteadyStokesSystem(), and Nektar::SmoothedProfileMethod::v_SolveUnsteadyStokesSystem().
Mapping from BCs to Elmt IDs.
Definition at line 227 of file IncNavierStokes.h.
Referenced by SetRadiationBoundaryForcing(), SetZeroNormalVelocity(), and v_InitObject().
Mapping from BCs to Elmt Edge IDs.
Definition at line 229 of file IncNavierStokes.h.
Referenced by SetRadiationBoundaryForcing(), SetZeroNormalVelocity(), and v_InitObject().
RHS Factor for Radiation Condition.
Definition at line 231 of file IncNavierStokes.h.
Referenced by SetRadiationBoundaryForcing(), and v_InitObject().
|
protected |
Forcing terms.
Definition at line 207 of file IncNavierStokes.h.
Referenced by AddForcing(), Nektar::CoupledLinearNS::EvaluateAdvection(), EvaluateAdvectionTerms(), Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::CoupledLinearNS::Solve(), Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), v_InitObject(), Nektar::VCSImplicit::v_SetUpPressureForcing(), and Nektar::VCSImplicit::v_SetUpViscousForcing().
|
protected |
Definition at line 198 of file IncNavierStokes.h.
Referenced by Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::VelocityCorrectionScheme::v_DoInitialise(), and Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs().
|
protected |
Number of time integration steps AND Order of extrapolation for pressure boundary conditions.
Definition at line 235 of file IncNavierStokes.h.
Referenced by Nektar::VCSMapping::v_InitObject().
|
protected |
Kinematic viscosity.
Definition at line 219 of file IncNavierStokes.h.
Referenced by Nektar::VelocityCorrectionScheme::AppendSVVFactors(), Nektar::VCSMapping::ApplyIncNSMappingForcing(), Nektar::CoupledLinearNS::Continuation(), Nektar::CoupledLinearNS::EvaluateNewtonRHS(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::VelocityCorrectionScheme::SetUpSVV(), SetUpWomersley(), Nektar::CoupledLinearNS::SolveSteadyNavierStokes(), Nektar::CoupledLinearNS::v_DoInitialise(), Nektar::VCSMapping::v_DoInitialise(), Nektar::VelocityCorrectionScheme::v_DoInitialise(), Nektar::CoupledLinearNS::v_DoSolve(), Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSImplicit::v_EvaluateAdvection_SetPressureBCs(), v_InitObject(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::VCSMapping::v_SetUpPressureForcing(), Nektar::VCSMapping::v_SetUpViscousForcing(), Nektar::VelocityCorrectionScheme::v_SolvePressure(), Nektar::VCSImplicit::v_SolvePressure(), Nektar::VCSWeakPressure::v_SolvePressure(), Nektar::VelocityCorrectionScheme::v_SolveUnsteadyStokesSystem(), Nektar::SmoothedProfileMethod::v_SolveUnsteadyStokesSystem(), and Nektar::VCSMapping::v_SolveViscous().
|
protected |
modal energy file
Definition at line 201 of file IncNavierStokes.h.
|
protected |
Number of fields to be convected;.
Definition at line 210 of file IncNavierStokes.h.
Referenced by Nektar::VCSMapping::ApplyIncNSMappingForcing(), Nektar::VCSImplicit::CheckUnsetGlobalLinSys(), EvaluateAdvectionTerms(), GetNConvectiveFields(), Nektar::VCSMapping::MappingAccelerationCorrection(), Nektar::VCSMapping::MappingAdvectionCorrection(), Nektar::VCSMapping::MappingPressureCorrection(), Nektar::VelocityCorrectionScheme::SetupFlowrate(), Nektar::VelocityCorrectionScheme::SetUpSVV(), Nektar::CoupledLinearNS::SolveUnsteadyStokesSystem(), Nektar::VCSImplicit::v_DoInitialise(), Nektar::VCSMapping::v_DoInitialise(), Nektar::VelocityCorrectionScheme::v_DoInitialise(), Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), Nektar::CoupledLinearNS::v_InitObject(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::VCSMapping::v_SetUpPressureForcing(), Nektar::VelocityCorrectionScheme::v_SetUpViscousForcing(), Nektar::VCSImplicit::v_SetUpViscousForcing(), Nektar::VCSMapping::v_SolvePressure(), Nektar::VelocityCorrectionScheme::v_SolveViscous(), Nektar::VCSMapping::v_SolveViscous(), and Nektar::VCSImplicit::v_SolveViscous().
pivot point for moving reference frame
Definition at line 238 of file IncNavierStokes.h.
|
protected |
Pointer to field holding pressure field.
Definition at line 217 of file IncNavierStokes.h.
Referenced by Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::SmoothedProfileMethod::SetUpExpansions(), Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::VelocityCorrectionScheme::SetupFlowrate(), Nektar::CoupledLinearNS::SolveLinearNS(), Nektar::VCSMapping::v_DoInitialise(), Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), v_GetPressure(), Nektar::CoupledLinearNS::v_InitObject(), Nektar::VCSMapping::v_InitObject(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::CoupledLinearNS::v_Output(), Nektar::VCSImplicit::v_SetUpPressureForcing(), Nektar::VCSWeakPressure::v_SetUpPressureForcing(), Nektar::VelocityCorrectionScheme::v_SetUpViscousForcing(), Nektar::VCSMapping::v_SetUpViscousForcing(), Nektar::VCSImplicit::v_SetUpViscousForcing(), Nektar::VelocityCorrectionScheme::v_SolvePressure(), Nektar::VCSMapping::v_SolvePressure(), Nektar::VCSImplicit::v_SolvePressure(), Nektar::VCSWeakPressure::v_SolvePressure(), and Nektar::SmoothedProfileMethod::v_SolveUnsteadyStokesSystem().
|
protected |
bool to identify if advection term smoothing is requested
Definition at line 204 of file IncNavierStokes.h.
Referenced by Nektar::VelocityCorrectionScheme::v_EvaluateAdvection_SetPressureBCs(), Nektar::VCSMapping::v_EvaluateAdvection_SetPressureBCs(), and Nektar::VelocityCorrectionScheme::v_InitObject().
int which identifies which components of m_fields contains the velocity (u,v,w);
Definition at line 214 of file IncNavierStokes.h.
Referenced by Nektar::VCSImplicit::AddImplicitSkewSymAdvection(), Nektar::CoupledLinearNS::Continuation(), Nektar::CoupledLinearNS::DefineForcingTerm(), EvaluateAdvectionTerms(), Nektar::CoupledLinearNS::EvaluateNewtonRHS(), Nektar::CoupledLinearNS::InfNorm(), Nektar::CoupledLinearNS::L2Norm(), Nektar::SmoothedProfileMethod::ReadPhi(), Nektar::SmoothedProfileMethod::SetCorrectionPressureBCs(), SetRadiationBoundaryForcing(), Nektar::SmoothedProfileMethod::SetUpCorrectionPressure(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::SmoothedProfileMethod::SetUpExpansions(), Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::VelocityCorrectionScheme::SetUpSVV(), SetZeroNormalVelocity(), Nektar::CoupledLinearNS::Solve(), Nektar::SmoothedProfileMethod::SolveCorrectedVelocity(), Nektar::CoupledLinearNS::SolveLinearNS(), Nektar::CoupledLinearNS::SolveSteadyNavierStokes(), Nektar::CoupledLinearNS::SolveUnsteadyStokesSystem(), Nektar::SmoothedProfileMethod::UpdateForcing(), Nektar::VCSImplicit::v_DoInitialise(), Nektar::CoupledLinearNS::v_DoInitialise(), Nektar::VCSImplicit::v_EvaluateAdvection_SetPressureBCs(), v_GetMaxStdVelocity(), Nektar::CoupledLinearNS::v_InitObject(), v_InitObject(), Nektar::SmoothedProfileMethod::v_InitObject(), Nektar::VCSMapping::v_InitObject(), Nektar::VelocityCorrectionScheme::v_SetUpPressureForcing(), Nektar::VCSImplicit::v_SetUpPressureForcing(), Nektar::VelocityCorrectionScheme::v_SetUpViscousForcing(), Nektar::VCSMapping::v_SetUpViscousForcing(), Nektar::VCSImplicit::v_SetUpViscousForcing(), and Nektar::VCSImplicit::v_SolveViscous().
|
protected |
Womersley parameters if required.
Definition at line 273 of file IncNavierStokes.h.
Referenced by SetUpWomersley(), SetWomersleyBoundary(), and v_InitObject().