Nektar++
|
#include <SubSteppingExtrapolate.h>
Static Public Member Functions | |
static ExtrapolateSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, MultiRegions::ExpListSharedPtr &pPressure, const Array< OneD, int > &pVel, const SolverUtils::AdvectionSharedPtr &advObject) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Additional Inherited Members | |
![]() | |
static NekDouble | StifflyStable_Betaq_Coeffs [3][3] |
static NekDouble | StifflyStable_Alpha_Coeffs [3][3] |
static NekDouble | StifflyStable_Gamma0_Coeffs [3] = {1.0, 1.5, 11.0 / 6.0} |
Definition at line 57 of file SubSteppingExtrapolate.h.
Nektar::SubSteppingExtrapolate::SubSteppingExtrapolate | ( | const LibUtilities::SessionReaderSharedPtr | pSession, |
Array< OneD, MultiRegions::ExpListSharedPtr > | pFields, | ||
MultiRegions::ExpListSharedPtr | pPressure, | ||
const Array< OneD, int > | pVel, | ||
const SolverUtils::AdvectionSharedPtr | advObject | ||
) |
Definition at line 50 of file SubSteppingExtrapolate.cpp.
References m_cflSafetyFactor, Nektar::Extrapolate::m_fields, m_infosteps, m_maxsubsteps, m_minsubsteps, Nektar::Extrapolate::m_session, and Nektar::Extrapolate::m_traceNormals.
|
virtual |
Definition at line 73 of file SubSteppingExtrapolate.cpp.
|
protected |
Number of trace points
Number of spatial dimensions
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 407 of file SubSteppingExtrapolate.cpp.
References ASSERTL1, Nektar::Extrapolate::m_bnd_dim, Nektar::Extrapolate::m_fields, Nektar::Extrapolate::m_traceNormals, Vmath::Vmul(), Vmath::Vsub(), and Vmath::Vvtvp().
Referenced by SubStepAdvection().
|
inlinestatic |
Creates an instance of this class.
Definition at line 61 of file SubSteppingExtrapolate.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protected |
Definition at line 376 of file SubSteppingExtrapolate.cpp.
References Nektar::Extrapolate::GetMaxStdVelocity(), m_cflSafetyFactor, Nektar::Extrapolate::m_comm, Nektar::Extrapolate::m_fields, Nektar::Extrapolate::m_velocity, Nektar::LibUtilities::ReduceMin, and Vmath::Vmin().
Referenced by v_SubStepAdvance().
|
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 148 of file SubSteppingExtrapolate.cpp.
References AddAdvectionPenaltyFlux(), Nektar::Extrapolate::m_advObject, Nektar::Extrapolate::m_fields, Nektar::Extrapolate::m_forcing, Nektar::Extrapolate::m_timestep, Nektar::Extrapolate::m_velocity, Vmath::Neg(), and SubStepExtrapolateField().
Referenced by v_SubSteppingTimeIntegration().
|
protected |
Extrapolate field using equally time spaced field un,un-1,un-2, (at dt intervals) to time n+t at order Ord
Definition at line 469 of file SubSteppingExtrapolate.cpp.
References Blas::Daxpy(), Vmath::Fill(), Nektar::Extrapolate::m_fields, Nektar::Extrapolate::m_intSteps, m_previousVelFields, Nektar::Extrapolate::m_timestep, Nektar::Extrapolate::m_velocity, and Vmath::Smul().
Referenced by SubStepAdvection().
|
protected |
Projection used by SubStepAdvance time integration
Definition at line 215 of file SubSteppingExtrapolate.cpp.
References ASSERTL1, and Vmath::Vcopy().
Referenced by v_SubSteppingTimeIntegration().
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 77 of file SubSteppingExtrapolate.cpp.
References ASSERTL0.
|
overrideprotectedvirtual |
Reimplemented from Nektar::Extrapolate.
Definition at line 518 of file SubSteppingExtrapolate.cpp.
References m_subStepIntegrationScheme.
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 509 of file SubSteppingExtrapolate.cpp.
References Vmath::Smul().
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 313 of file SubSteppingExtrapolate.cpp.
References ASSERTL0, GetSubstepTimeStep(), Nektar::Extrapolate::IProductNormVelocityOnHBC(), m_cflSafetyFactor, Nektar::Extrapolate::m_comm, Nektar::Extrapolate::m_fields, m_infosteps, m_intScheme, Nektar::Extrapolate::m_intSteps, Nektar::Extrapolate::m_iprodnormvel, m_maxsubsteps, m_minsubsteps, m_subStepIntegrationOps, m_subStepIntegrationScheme, and Nektar::Extrapolate::m_timestep.
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 85 of file SubSteppingExtrapolate.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineOdeRhs(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineProjection(), Nektar::LibUtilities::GetTimeIntegrationSchemeFactory(), Nektar::Extrapolate::m_fields, m_intScheme, Nektar::Extrapolate::m_intSteps, m_previousVelFields, Nektar::Extrapolate::m_session, m_subStepIntegrationOps, m_subStepIntegrationScheme, Nektar::Extrapolate::m_velocity, SubStepAdvection(), and SubStepProjection().
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 263 of file SubSteppingExtrapolate.cpp.
References Nektar::Extrapolate::m_fields, m_previousVelFields, Nektar::Extrapolate::m_velocity, and Vmath::Vcopy().
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Reimplemented in Nektar::SubSteppingExtrapolateWeakPressure.
Definition at line 232 of file SubSteppingExtrapolate.cpp.
References Nektar::Extrapolate::AddDuDt(), Nektar::Extrapolate::CalcNeumannPressureBCs(), Nektar::Extrapolate::CalcOutflowBCs(), Nektar::Extrapolate::CopyPressureHBCsToPbndExp(), Nektar::Extrapolate::ExtrapolateArray(), Nektar::Extrapolate::m_pressureCalls, and Nektar::Extrapolate::m_pressureHBCs.
|
static |
Name of class.
Registers the class with the Factory.
Definition at line 74 of file SubSteppingExtrapolate.h.
|
protected |
Definition at line 132 of file SubSteppingExtrapolate.h.
Referenced by GetSubstepTimeStep(), SubSteppingExtrapolate(), and v_SubStepAdvance().
|
protected |
Definition at line 133 of file SubSteppingExtrapolate.h.
Referenced by SubSteppingExtrapolate(), and v_SubStepAdvance().
|
protected |
Definition at line 126 of file SubSteppingExtrapolate.h.
Referenced by v_SubStepAdvance(), and v_SubSteppingTimeIntegration().
|
protected |
Definition at line 135 of file SubSteppingExtrapolate.h.
Referenced by SubSteppingExtrapolate(), and v_SubStepAdvance().
|
protected |
Definition at line 134 of file SubSteppingExtrapolate.h.
Referenced by SubSteppingExtrapolate(), and v_SubStepAdvance().
Definition at line 130 of file SubSteppingExtrapolate.h.
Referenced by SubStepExtrapolateField(), v_SubSteppingTimeIntegration(), and v_SubStepSaveFields().
|
protected |
Definition at line 128 of file SubSteppingExtrapolate.h.
Referenced by v_SubStepAdvance(), and v_SubSteppingTimeIntegration().
|
protected |
Definition at line 127 of file SubSteppingExtrapolate.h.
Referenced by v_GetSubStepName(), v_SubStepAdvance(), and v_SubSteppingTimeIntegration().