Nektar++
|
Base class for unsteady solvers. More...
#include <ShallowWaterSystem.h>
Static Public Member Functions | |
static SolverUtils::EquationSystemSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Static Public Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
static std::string | cmdSetStartTime |
static std::string | cmdSetStartChkNum |
Protected Member Functions | |
ShallowWaterSystem (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
Initialises UnsteadySystem class members. More... | |
void | v_InitObject (bool DeclareFields=true) override |
Init object for UnsteadySystem class. More... | |
virtual void | v_DoOdeRhs (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
void | v_GenerateSummary (SolverUtils::SummaryList &s) override |
Print a summary of time stepping parameters. More... | |
void | InitialiseNonlinSysSolver (void) |
void | DoImplicitSolve (const Array< OneD, const Array< OneD, NekDouble > > &inpnts, Array< OneD, Array< OneD, NekDouble > > &outpnt, const NekDouble time, const NekDouble lambda) |
void | DoImplicitSolve1D (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out) |
void | CalcRefValues (const Array< OneD, const NekDouble > &inarray) |
void | NonlinSysEvaluator1D (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out, const bool &flag) |
void | NonlinSysEvaluator (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &out) |
void | MatrixMultiplyMatrixFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out, const bool &flag) |
void | DoNullPrecon (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const bool &flag) |
void | DoOdeProjection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
void | SetBoundaryConditions (const Array< OneD, const Array< OneD, NekDouble > > &physarray, NekDouble time) |
void | WallBoundary2D (int bcRegion, int cnt, Array< OneD, Array< OneD, NekDouble > > &Fwd) |
void | AddCoriolis (const Array< OneD, const Array< OneD, NekDouble > > &physarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
void | PrimitiveToConservative () |
void | ConservativeToPrimitive () |
NekDouble | GetGravity () |
const Array< OneD, const Array< OneD, NekDouble > > & | GetVecLocs () |
const Array< OneD, const Array< OneD, NekDouble > > & | GetNormals () |
const Array< OneD, NekDouble > & | GetDepth () |
bool | IsConstantDepth () |
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) |
Protected Attributes | |
SolverUtils::RiemannSolverSharedPtr | m_riemannSolver |
SolverUtils::AdvectionSharedPtr | m_advection |
SolverUtils::DiffusionSharedPtr | m_diffusion |
int | m_TotNewtonIts = 0 |
int | m_TotLinIts = 0 |
int | m_TotImpStages = 0 |
NekDouble | m_jacobiFreeEps = 5.0E-08 |
NekDouble | m_bndEvaluateTime = 0.0 |
NekDouble | m_TimeIntegLambda = 0.0 |
NekDouble | m_inArrayNorm = -1.0 |
LibUtilities::NekNonlinSysIterSharedPtr | m_nonlinsol |
bool | m_constantDepth |
Indicates if constant depth case. More... | |
NekDouble | m_g |
Acceleration of gravity. More... | |
Array< OneD, NekDouble > | m_depth |
Still water depth. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_bottomSlope |
Array< OneD, NekDouble > | m_coriolis |
Coriolis force. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_vecLocs |
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 |
Private Member Functions | |
void | EvaluateWaterDepth (void) |
void | EvaluateCoriolis (void) |
Friends | |
class | MemoryManager< ShallowWaterSystem > |
Additional Inherited Members | |
Protected Types inherited from Nektar::SolverUtils::EquationSystem | |
enum | HomogeneousType { eHomogeneous1D , eHomogeneous2D , eHomogeneous3D , eNotHomogeneous } |
Parameter for homogeneous expansions. More... | |
Static Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
static std::string | equationSystemTypeLookupIds [] |
static std::string | projectionTypeLookupIds [] |
Base class for unsteady solvers.
Provides the underlying timestepping framework for shallow water flow solvers including the general timestepping routines. This class is not intended to be directly instantiated, but rather is a base class on which to define shallow water solvers, e.g. SWE, Boussinesq, linear and nonlinear versions.
For details on implementing unsteady solvers see sectionADRSolverModuleImplementation
Definition at line 47 of file ShallowWaterSystem.h.
|
overridedefault |
Destructor.
|
protected |
Initialises UnsteadySystem class members.
Definition at line 65 of file ShallowWaterSystem.cpp.
|
protected |
Definition at line 484 of file ShallowWaterSystem.cpp.
References ASSERTL0, Nektar::MultiRegions::eDiscontinuous, Nektar::MultiRegions::eGalerkin, Nektar::SolverUtils::EquationSystem::GetNcoeffs(), Nektar::SolverUtils::EquationSystem::GetTotPoints(), m_coriolis, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_projectionType, Vmath::Neg(), Vmath::Vadd(), and Vmath::Vmul().
Referenced by Nektar::LinearSWE::v_DoOdeRhs(), Nektar::NonlinearPeregrine::v_DoOdeRhs(), and Nektar::NonlinearSWE::v_DoOdeRhs().
|
protected |
Definition at line 223 of file ShallowWaterSystem.cpp.
References Vmath::Dot(), Nektar::SolverUtils::EquationSystem::m_comm, Nektar::SolverUtils::EquationSystem::m_fields, m_inArrayNorm, and Nektar::LibUtilities::ReduceSum.
Referenced by DoImplicitSolve1D().
Definition at line 532 of file ShallowWaterSystem.cpp.
References Nektar::SolverUtils::EquationSystem::GetTotPoints(), m_depth, Nektar::SolverUtils::EquationSystem::m_fields, Vmath::Vdiv(), and Vmath::Vsub().
|
inlinestatic |
Creates an instance of this class.
Definition at line 53 of file ShallowWaterSystem.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protected |
Definition at line 180 of file ShallowWaterSystem.cpp.
References DoImplicitSolve1D(), m_bndEvaluateTime, Nektar::SolverUtils::EquationSystem::m_fields, m_TimeIntegLambda, and Vmath::Vcopy().
Referenced by Nektar::LinearSWE::v_InitObject(), Nektar::NonlinearPeregrine::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
|
protected |
Definition at line 209 of file ShallowWaterSystem.cpp.
References CalcRefValues(), m_inArrayNorm, m_nonlinsol, m_TotImpStages, m_TotLinIts, and m_TotNewtonIts.
Referenced by DoImplicitSolve().
|
protected |
Definition at line 310 of file ShallowWaterSystem.cpp.
References Vmath::Vcopy().
Referenced by InitialiseNonlinSysSolver().
|
protected |
Definition at line 317 of file ShallowWaterSystem.cpp.
References ASSERTL0, Nektar::MultiRegions::eDiscontinuous, Nektar::MultiRegions::eGalerkin, Nektar::SolverUtils::EquationSystem::GetNcoeffs(), Nektar::SolverUtils::EquationSystem::GetNpoints(), Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_projectionType, SetBoundaryConditions(), Nektar::SolverUtils::EquationSystem::SetBoundaryConditions(), and Vmath::Vcopy().
Referenced by NonlinSysEvaluator(), Nektar::LinearSWE::v_InitObject(), Nektar::NonlinearPeregrine::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
Definition at line 571 of file ShallowWaterSystem.cpp.
References Nektar::SolverUtils::EquationSystem::GetFunction(), and m_coriolis.
Referenced by v_InitObject().
Definition at line 566 of file ShallowWaterSystem.cpp.
References Nektar::SolverUtils::EquationSystem::GetFunction(), and m_depth.
Referenced by v_InitObject().
Definition at line 171 of file ShallowWaterSystem.h.
References m_depth.
Referenced by Nektar::NonlinearSWE::v_InitObject().
|
inlineprotected |
Definition at line 156 of file ShallowWaterSystem.h.
References m_g.
Referenced by Nektar::LinearSWE::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
|
inlineprotected |
Definition at line 166 of file ShallowWaterSystem.h.
References Nektar::SolverUtils::EquationSystem::m_traceNormals.
Referenced by Nektar::LinearSWE::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
|
inlineprotected |
Definition at line 161 of file ShallowWaterSystem.h.
References m_vecLocs.
Referenced by Nektar::LinearSWE::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
Definition at line 136 of file ShallowWaterSystem.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::NekSysOperators::DefineNekSysLhsEval(), Nektar::LibUtilities::NekSysOperators::DefineNekSysPrecon(), Nektar::LibUtilities::NekSysOperators::DefineNekSysResEval(), DoNullPrecon(), Nektar::LibUtilities::GetNekNonlinSysIterFactory(), Nektar::SolverUtils::EquationSystem::m_comm, Nektar::SolverUtils::EquationSystem::m_fields, m_jacobiFreeEps, Nektar::LibUtilities::NekSysKey::m_KrylovMaxHessMatBand, Nektar::LibUtilities::NekSysKey::m_LinSysIterSolverTypeInNonlin, Nektar::LibUtilities::NekSysKey::m_LinSysMaxStorage, Nektar::LibUtilities::NekSysKey::m_NekLinSysMaxIterations, Nektar::LibUtilities::NekSysKey::m_NekLinSysTolerance, Nektar::LibUtilities::NekSysKey::m_NekNonlinSysMaxIterations, Nektar::LibUtilities::NekSysKey::m_NekNonLinSysTolerance, Nektar::LibUtilities::NekSysKey::m_NonlinIterTolRelativeL2, m_nonlinsol, Nektar::SolverUtils::EquationSystem::m_session, MatrixMultiplyMatrixFree(), NonlinSysEvaluator1D(), and WARNINGL0.
Referenced by v_InitObject().
|
inlineprotected |
Definition at line 176 of file ShallowWaterSystem.h.
References m_constantDepth.
|
protected |
Definition at line 287 of file ShallowWaterSystem.cpp.
References Vmath::Dot(), Nektar::SolverUtils::EquationSystem::m_comm, m_inArrayNorm, m_jacobiFreeEps, m_nonlinsol, NonlinSysEvaluator1D(), Nektar::LibUtilities::ReduceSum, Vmath::Smul(), tinysimd::sqrt(), Vmath::Svtvp(), and Vmath::Vsub().
Referenced by InitialiseNonlinSysSolver().
|
protected |
Definition at line 263 of file ShallowWaterSystem.cpp.
References DoOdeProjection(), m_bndEvaluateTime, Nektar::SolverUtils::EquationSystem::m_fields, m_nonlinsol, m_TimeIntegLambda, Vmath::Svtvp(), v_DoOdeRhs(), and Vmath::Vsub().
Referenced by NonlinSysEvaluator1D().
|
protected |
Definition at line 246 of file ShallowWaterSystem.cpp.
References Nektar::SolverUtils::EquationSystem::m_fields, and NonlinSysEvaluator().
Referenced by InitialiseNonlinSysSolver(), and MatrixMultiplyMatrixFree().
Definition at line 549 of file ShallowWaterSystem.cpp.
References Nektar::SolverUtils::EquationSystem::GetTotPoints(), m_depth, Nektar::SolverUtils::EquationSystem::m_fields, Vmath::Vadd(), and Vmath::Vmul().
|
protected |
Definition at line 359 of file ShallowWaterSystem.cpp.
References Nektar::SpatialDomains::ePeriodic, Nektar::SolverUtils::EquationSystem::GetTraceTotPoints(), Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_session, and WallBoundary2D().
Referenced by DoOdeProjection().
|
protectedvirtual |
Reimplemented in Nektar::LinearSWE, Nektar::NonlinearPeregrine, and Nektar::NonlinearSWE.
Definition at line 122 of file ShallowWaterSystem.cpp.
Referenced by NonlinSysEvaluator().
|
overrideprotectedvirtual |
Print a summary of time stepping parameters.
Prints a summary with some information regards the time-stepping.
Reimplemented from Nektar::SolverUtils::UnsteadySystem.
Definition at line 129 of file ShallowWaterSystem.cpp.
References Nektar::SolverUtils::AddSummaryItem(), m_constantDepth, and Nektar::SolverUtils::UnsteadySystem::v_GenerateSummary().
Referenced by Nektar::LinearSWE::v_GenerateSummary(), and Nektar::NonlinearSWE::v_GenerateSummary().
|
overrideprotectedvirtual |
Init object for UnsteadySystem class.
Initialization object for UnsteadySystem class.
Reimplemented from Nektar::SolverUtils::UnsteadySystem.
Definition at line 72 of file ShallowWaterSystem.cpp.
References Nektar::MultiRegions::DirCartesianMap, EvaluateCoriolis(), EvaluateWaterDepth(), Nektar::SolverUtils::EquationSystem::GetTotPoints(), InitialiseNonlinSysSolver(), m_bottomSlope, m_constantDepth, m_depth, Nektar::SolverUtils::UnsteadySystem::m_explicitAdvection, Nektar::SolverUtils::EquationSystem::m_fields, m_g, Nektar::SolverUtils::EquationSystem::m_session, Nektar::SolverUtils::EquationSystem::m_spacedim, m_vecLocs, Vmath::Neg(), and Nektar::SolverUtils::UnsteadySystem::v_InitObject().
Referenced by Nektar::LinearSWE::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
|
protected |
Definition at line 405 of file ShallowWaterSystem.cpp.
References ASSERTL0, Nektar::SolverUtils::EquationSystem::GetExpSize(), Nektar::SolverUtils::EquationSystem::m_expdim, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_traceNormals, Vmath::Neg(), Vmath::Vcopy(), Vmath::Vmul(), Vmath::Vvtvm(), and Vmath::Vvtvp().
Referenced by SetBoundaryConditions().
|
friend |
Definition at line 1 of file ShallowWaterSystem.h.
|
static |
Name of class.
Processes SolverInfo parameters from the session file and sets up timestepping-specific code.
pSession | Session object to read parameters from. |
Definition at line 65 of file ShallowWaterSystem.h.
|
protected |
Definition at line 72 of file ShallowWaterSystem.h.
Referenced by Nektar::LinearSWE::v_DoOdeRhs(), Nektar::NonlinearPeregrine::v_DoOdeRhs(), Nektar::NonlinearSWE::v_DoOdeRhs(), Nektar::LinearSWE::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
|
protected |
Definition at line 80 of file ShallowWaterSystem.h.
Referenced by DoImplicitSolve(), and NonlinSysEvaluator().
Definition at line 93 of file ShallowWaterSystem.h.
Referenced by Nektar::NonlinearSWE::AddVariableDepth(), and v_InitObject().
|
protected |
Indicates if constant depth case.
Definition at line 87 of file ShallowWaterSystem.h.
Referenced by IsConstantDepth(), Nektar::NonlinearPeregrine::v_DoOdeRhs(), Nektar::NonlinearSWE::v_DoOdeRhs(), v_GenerateSummary(), Nektar::LinearSWE::v_InitObject(), and v_InitObject().
Coriolis force.
Definition at line 95 of file ShallowWaterSystem.h.
Referenced by AddCoriolis(), EvaluateCoriolis(), Nektar::LinearSWE::v_DoOdeRhs(), Nektar::NonlinearPeregrine::v_DoOdeRhs(), and Nektar::NonlinearSWE::v_DoOdeRhs().
Still water depth.
Definition at line 91 of file ShallowWaterSystem.h.
Referenced by ConservativeToPrimitive(), EvaluateWaterDepth(), GetDepth(), Nektar::LinearSWE::GetFluxVector(), PrimitiveToConservative(), Nektar::LinearSWE::v_InitObject(), and v_InitObject().
|
protected |
Definition at line 73 of file ShallowWaterSystem.h.
|
protected |
Acceleration of gravity.
Definition at line 89 of file ShallowWaterSystem.h.
Referenced by Nektar::NonlinearSWE::AddVariableDepth(), Nektar::LinearSWE::GetFluxVector(), Nektar::NonlinearSWE::GetFluxVector(), GetGravity(), Nektar::NonlinearPeregrine::LaitoneSolitaryWave(), and v_InitObject().
|
protected |
Definition at line 82 of file ShallowWaterSystem.h.
Referenced by CalcRefValues(), DoImplicitSolve1D(), and MatrixMultiplyMatrixFree().
|
protected |
Definition at line 79 of file ShallowWaterSystem.h.
Referenced by InitialiseNonlinSysSolver(), and MatrixMultiplyMatrixFree().
|
protected |
Definition at line 84 of file ShallowWaterSystem.h.
Referenced by DoImplicitSolve1D(), InitialiseNonlinSysSolver(), MatrixMultiplyMatrixFree(), and NonlinSysEvaluator().
|
protected |
Definition at line 71 of file ShallowWaterSystem.h.
Referenced by Nektar::LinearSWE::v_InitObject(), and Nektar::NonlinearSWE::v_InitObject().
|
protected |
Definition at line 81 of file ShallowWaterSystem.h.
Referenced by DoImplicitSolve(), and NonlinSysEvaluator().
|
protected |
Definition at line 78 of file ShallowWaterSystem.h.
Referenced by DoImplicitSolve1D().
|
protected |
Definition at line 77 of file ShallowWaterSystem.h.
Referenced by DoImplicitSolve1D().
|
protected |
Definition at line 76 of file ShallowWaterSystem.h.
Referenced by DoImplicitSolve1D().
Definition at line 97 of file ShallowWaterSystem.h.
Referenced by GetVecLocs(), and v_InitObject().