Nektar++
|
#include <UnsteadyAdvectionDiffusion.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 Member Functions inherited from Nektar::UnsteadyAdvection | |
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::UnsteadyAdvection | |
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 | |
UnsteadyAdvectionDiffusion (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
Session reader. More... | |
void | GetFluxVectorDiff (const Array< OneD, Array< OneD, NekDouble > > &inarray, const Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &qfield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &viscousTensor) |
Evaluate the flux at each solution point for the diffusion part. More... | |
void | DoOdeRhs (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Compute the RHS. More... | |
void | DoImplicitSolve (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, NekDouble time, NekDouble lambda) |
Solve implicitly the diffusion term. More... | |
void | v_InitObject (bool DeclareFields=true) override |
Initialise the object. More... | |
void | v_GenerateSummary (SolverUtils::SummaryList &s) override |
Print Summary. More... | |
bool | v_PreIntegrate (int step) override |
PreIntegration step for substepping. More... | |
void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) override |
void | SubStepAdvance (int nstep, NekDouble time) |
NekDouble | GetSubstepTimeStep () |
void | SetUpSubSteppingTimeIntegration (const LibUtilities::TimeIntegrationSchemeSharedPtr &IntegrationScheme) |
void | SubStepAdvection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
void | SubStepProjection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
void | AddAdvectionPenaltyFlux (const Array< OneD, const Array< OneD, NekDouble > > &velfield, const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &Outarray) |
Array< OneD, NekDouble > | GetMaxStdVelocity (const Array< OneD, Array< OneD, NekDouble > > inarray) |
Protected Member Functions inherited from Nektar::UnsteadyAdvection | |
UnsteadyAdvection (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
Session reader. More... | |
void | GetFluxVector (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &flux) |
Evaluate the flux at each solution point. More... | |
void | GetFluxVectorDeAlias (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &flux) |
Evaluate the flux at each solution point using dealiasing. More... | |
void | DoOdeRhs (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Compute the RHS. More... | |
void | DoOdeProjection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Compute the projection. More... | |
Array< OneD, NekDouble > & | GetNormalVelocity () |
Get the normal velocity. More... | |
Array< OneD, NekDouble > & | GetNormalVel (const Array< OneD, const Array< OneD, NekDouble > > &velfield) |
Get the normal velocity based on input velfield. More... | |
void | v_InitObject (bool DeclareFields=true) override |
Initialise the object. More... | |
void | v_GenerateSummary (SolverUtils::SummaryList &s) override |
Print Summary. More... | |
bool | v_PreIntegrate (int step) override |
void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) 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) |
Protected Attributes | |
bool | m_subSteppingScheme |
bool | m_useSpecVanVisc |
NekDouble | m_sVVCutoffRatio |
NekDouble | m_sVVDiffCoeff |
SolverUtils::DiffusionSharedPtr | m_diffusion |
LibUtilities::TimeIntegrationSchemeSharedPtr | m_subStepIntegrationScheme |
LibUtilities::TimeIntegrationSchemeOperators | m_subStepIntegrationOps |
int | m_intSteps |
int | m_minsubsteps |
Protected Attributes inherited from Nektar::UnsteadyAdvection | |
bool | m_useGJPStabilisation |
NekDouble | m_GJPJumpScale |
SolverUtils::RiemannSolverSharedPtr | m_riemannSolver |
Array< OneD, Array< OneD, NekDouble > > | m_velocity |
Advection velocity. More... | |
Array< OneD, NekDouble > | m_traceVn |
std::vector< SolverUtils::ForcingSharedPtr > | m_forcing |
Forcing terms. 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 |
Private Attributes | |
NekDouble | m_epsilon |
Friends | |
class | MemoryManager< UnsteadyAdvectionDiffusion > |
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 [] |
Definition at line 43 of file UnsteadyAdvectionDiffusion.h.
|
overridedefault |
Destructor.
|
protected |
Session reader.
Definition at line 48 of file UnsteadyAdvectionDiffusion.cpp.
|
protected |
Number of trace points
Forward state array
Backward state array
upwind numerical flux state array
Normal velocity array
Extract forwards/backwards trace spaces Note: Needs to have correct i value to get boundary conditions
Upwind between elements
Construct difference between numflux and Fwd,Bwd
Calculate the numerical fluxes multipling Fwd, Bwd and numflux by the normal advection velocity
Definition at line 514 of file UnsteadyAdvectionDiffusion.cpp.
References ASSERTL1, Nektar::UnsteadyAdvection::GetNormalVel(), Nektar::SolverUtils::EquationSystem::m_fields, Vmath::Vmul(), and Vmath::Vsub().
Referenced by SubStepAdvection().
|
inlinestatic |
Creates an instance of this class.
Definition at line 49 of file UnsteadyAdvectionDiffusion.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protected |
Solve implicitly the diffusion term.
Definition at line 209 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::MultiRegions::eDiscontinuous, Nektar::StdRegions::eFactorGJP, Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eFactorSVVCutoffRatio, Nektar::StdRegions::eFactorSVVDiffCoeff, Nektar::StdRegions::eFactorTau, Nektar::VarcoeffHashingTest::factors, m_epsilon, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::UnsteadyAdvection::m_GJPJumpScale, Nektar::SolverUtils::EquationSystem::m_projectionType, m_sVVCutoffRatio, m_sVVDiffCoeff, Nektar::UnsteadyAdvection::m_useGJPStabilisation, m_useSpecVanVisc, Nektar::SolverUtils::EquationSystem::SetBoundaryConditions(), and Vmath::Smul().
Referenced by v_InitObject().
|
protected |
Compute the RHS.
Compute the right-hand side for the unsteady linear advection diffusion problem.
inarray | Given fields. |
outarray | Calculated solution. |
time | Time. |
Definition at line 164 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::SolverUtils::ALEHelper::ALEDoElmtInvMassBwdTrans(), Nektar::UnsteadyAdvection::DoOdeRhs(), Nektar::SolverUtils::ALEHelper::m_ALESolver, m_diffusion, Nektar::SolverUtils::UnsteadySystem::m_explicitDiffusion, Nektar::SolverUtils::EquationSystem::m_fields, and Vmath::Vadd().
Referenced by v_InitObject().
|
protected |
Evaluate the flux at each solution point for the diffusion part.
Return the flux vector for the diffusion part.
Definition at line 270 of file UnsteadyAdvectionDiffusion.cpp.
References m_epsilon, and Vmath::Smul().
Referenced by v_InitObject().
|
protected |
Definition at line 561 of file UnsteadyAdvectionDiffusion.cpp.
References ASSERTL0, Nektar::SpatialDomains::eDeformed, Nektar::SolverUtils::EquationSystem::m_fields, and tinysimd::sqrt().
Referenced by GetSubstepTimeStep().
|
protected |
Definition at line 385 of file UnsteadyAdvectionDiffusion.cpp.
References GetMaxStdVelocity(), Nektar::SolverUtils::UnsteadySystem::m_cflSafetyFactor, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_session, Nektar::UnsteadyAdvection::m_velocity, Nektar::LibUtilities::ReduceMin, and Vmath::Vmin().
Referenced by SubStepAdvance().
|
protected |
Definition at line 412 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineOdeRhs(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineProjection(), Nektar::ErrorUtil::efatal, Nektar::LibUtilities::GetTimeIntegrationSchemeFactory(), m_intSteps, m_subStepIntegrationOps, m_subStepIntegrationScheme, NEKERROR, SubStepAdvection(), and SubStepProjection().
Referenced by v_InitObject().
Definition at line 329 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::SolverUtils::EquationSystem::GetExpSize(), GetSubstepTimeStep(), Nektar::SolverUtils::UnsteadySystem::m_cflSafetyFactor, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_infosteps, Nektar::SolverUtils::UnsteadySystem::m_intScheme, m_intSteps, m_minsubsteps, Nektar::SolverUtils::EquationSystem::m_session, m_subStepIntegrationOps, m_subStepIntegrationScheme, and Nektar::SolverUtils::EquationSystem::m_timestep.
Referenced by v_PreIntegrate().
|
protected |
Explicit Advection terms used by SubStepAdvance time integration
Get the number of coefficients
Define an auxiliary variable to compute the RHS
Operations to compute the RHS
Multiply the flux by the inverse of the mass matrix
Store in outarray the physical values of the RHS
Definition at line 450 of file UnsteadyAdvectionDiffusion.cpp.
References AddAdvectionPenaltyFlux(), Nektar::SolverUtils::AdvectionSystem::m_advObject, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::UnsteadyAdvection::m_velocity, and Vmath::Neg().
Referenced by SetUpSubSteppingTimeIntegration().
|
protected |
Projection used by SubStepAdvance time integration
Definition at line 500 of file UnsteadyAdvectionDiffusion.cpp.
References ASSERTL1, and Vmath::Vcopy().
Referenced by SetUpSubSteppingTimeIntegration().
|
overridevirtual |
Reimplemented from Nektar::UnsteadyAdvection.
Definition at line 735 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::MultiRegions::eDiscontinuous, Nektar::SolverUtils::EquationSystem::GetTotPoints(), Nektar::SolverUtils::ALEHelper::InitObject(), Nektar::SolverUtils::ALEHelper::m_fieldsALE, Nektar::SolverUtils::ALEHelper::m_gridVelocity, Nektar::SolverUtils::ALEHelper::m_gridVelocityTrace, Nektar::SolverUtils::EquationSystem::m_projectionType, and Nektar::SolverUtils::ALEHelper::m_spaceDim.
|
overrideprotectedvirtual |
Reimplemented from Nektar::UnsteadyAdvection.
Definition at line 300 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::SolverUtils::ALEHelper::ExtraFldOutputGridVelocity(), Nektar::SolverUtils::ALEHelper::m_ALESolver, and Nektar::SolverUtils::EquationSystem::m_session.
|
overrideprotectedvirtual |
Print Summary.
Reimplemented from Nektar::UnsteadyAdvection.
Definition at line 288 of file UnsteadyAdvectionDiffusion.cpp.
References Nektar::SolverUtils::AddSummaryItem(), m_sVVCutoffRatio, m_sVVDiffCoeff, m_useSpecVanVisc, and Nektar::UnsteadyAdvection::v_GenerateSummary().
|
overrideprotectedvirtual |
Initialise the object.
Initialisation object for the unsteady linear advection diffusion equation.
Reimplemented from Nektar::UnsteadyAdvection.
Definition at line 59 of file UnsteadyAdvectionDiffusion.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineImplicitSolve(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineOdeRhs(), DoImplicitSolve(), DoOdeRhs(), Nektar::MultiRegions::eDiscontinuous, Nektar::MultiRegions::eGalerkin, Nektar::MultiRegions::eMixed_CG_Discontinuous, Nektar::SolverUtils::GetDiffusionFactory(), GetFluxVectorDiff(), Nektar::UnsteadyAdvection::GetNormalVelocity(), Nektar::SolverUtils::GetRiemannSolverFactory(), Nektar::SolverUtils::EquationSystem::GetTraceNpoints(), Nektar::SolverUtils::AdvectionSystem::m_advObject, m_diffusion, m_epsilon, Nektar::SolverUtils::UnsteadySystem::m_explicitDiffusion, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::UnsteadySystem::m_intScheme, m_minsubsteps, Nektar::SolverUtils::UnsteadySystem::m_ode, Nektar::SolverUtils::EquationSystem::m_projectionType, Nektar::UnsteadyAdvection::m_riemannSolver, Nektar::SolverUtils::EquationSystem::m_session, m_subSteppingScheme, m_sVVCutoffRatio, m_sVVDiffCoeff, Nektar::UnsteadyAdvection::m_traceVn, m_useSpecVanVisc, SetUpSubSteppingTimeIntegration(), and Nektar::UnsteadyAdvection::v_InitObject().
|
overrideprotectedvirtual |
PreIntegration step for substepping.
Perform the extrapolation.
Reimplemented from Nektar::UnsteadyAdvection.
Definition at line 316 of file UnsteadyAdvectionDiffusion.cpp.
References m_subSteppingScheme, Nektar::SolverUtils::EquationSystem::m_time, and SubStepAdvance().
|
friend |
Definition at line 1 of file UnsteadyAdvectionDiffusion.h.
|
static |
Name of class.
Definition at line 61 of file UnsteadyAdvectionDiffusion.h.
|
protected |
Definition at line 80 of file UnsteadyAdvectionDiffusion.h.
Referenced by DoOdeRhs(), and v_InitObject().
|
private |
Definition at line 147 of file UnsteadyAdvectionDiffusion.h.
Referenced by DoImplicitSolve(), GetFluxVectorDiff(), and v_InitObject().
|
protected |
Definition at line 143 of file UnsteadyAdvectionDiffusion.h.
Referenced by SetUpSubSteppingTimeIntegration(), and SubStepAdvance().
|
protected |
Definition at line 144 of file UnsteadyAdvectionDiffusion.h.
Referenced by SubStepAdvance(), and v_InitObject().
|
protected |
Definition at line 141 of file UnsteadyAdvectionDiffusion.h.
Referenced by SetUpSubSteppingTimeIntegration(), and SubStepAdvance().
|
protected |
Definition at line 140 of file UnsteadyAdvectionDiffusion.h.
Referenced by SetUpSubSteppingTimeIntegration(), and SubStepAdvance().
|
protected |
Definition at line 71 of file UnsteadyAdvectionDiffusion.h.
Referenced by v_InitObject(), and v_PreIntegrate().
|
protected |
Definition at line 76 of file UnsteadyAdvectionDiffusion.h.
Referenced by DoImplicitSolve(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 78 of file UnsteadyAdvectionDiffusion.h.
Referenced by DoImplicitSolve(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 74 of file UnsteadyAdvectionDiffusion.h.
Referenced by DoImplicitSolve(), v_GenerateSummary(), and v_InitObject().