Nektar++
|
#include <StandardExtrapolate.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... | |
Static Protected Attributes | |
static NekDouble | DuDt_Coeffs [3][4] |
Static Protected Attributes inherited from Nektar::Extrapolate | |
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} |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::Extrapolate | |
LibUtilities::SessionReaderSharedPtr | m_session |
LibUtilities::CommSharedPtr | m_comm |
Array< OneD, HBCType > | m_hbcType |
Array of type of high order BCs for splitting shemes. More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Velocity fields. More... | |
MultiRegions::ExpListSharedPtr | m_pressure |
Pointer to field holding pressure field. More... | |
Array< OneD, int > | m_velocity |
int which identifies which components of m_fields contains the velocity (u,v,w); More... | |
SolverUtils::AdvectionSharedPtr | m_advObject |
std::vector< SolverUtils::ForcingSharedPtr > | m_forcing |
Array< OneD, Array< OneD, NekDouble > > | m_previousVelFields |
int | m_curl_dim |
Curl-curl dimensionality. More... | |
int | m_bnd_dim |
bounday dimensionality More... | |
Array< OneD, const SpatialDomains::BoundaryConditionShPtr > | m_PBndConds |
pressure boundary conditions container More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_PBndExp |
pressure boundary conditions expansion container More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_bndElmtExps |
Boundary expansions on each domain boundary. More... | |
int | m_pressureCalls |
number of times the high-order pressure BCs have been called More... | |
int | m_numHBCDof |
int | m_HBCnumber |
int | m_intSteps |
Maximum points used in pressure BC evaluation. More... | |
NekDouble | m_timestep |
Array< OneD, Array< OneD, NekDouble > > | m_pressureHBCs |
Storage for current and previous levels of high order pressure boundary conditions. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_iprodnormvel |
Storage for current and previous levels of the inner product of normal velocity. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
HighOrderOutflowSharedPtr | m_houtflow |
Definition at line 57 of file StandardExtrapolate.h.
Nektar::StandardExtrapolate::StandardExtrapolate | ( | const LibUtilities::SessionReaderSharedPtr | pSession, |
Array< OneD, MultiRegions::ExpListSharedPtr > | pFields, | ||
MultiRegions::ExpListSharedPtr | pPressure, | ||
const Array< OneD, int > | pVel, | ||
const SolverUtils::AdvectionSharedPtr | advObject | ||
) |
Definition at line 51 of file StandardExtrapolate.cpp.
|
override |
Definition at line 60 of file StandardExtrapolate.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 61 of file StandardExtrapolate.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
overrideprotectedvirtual |
At the start, the newest value is stored in array[nlevels-1] and the previous values in the first positions At the end, the acceleration from BDF is stored in array[nlevels-1] and the storage has been updated to included the new value
Reimplemented from Nektar::Extrapolate.
Definition at line 155 of file StandardExtrapolate.cpp.
References DuDt_Coeffs, Nektar::Extrapolate::m_intSteps, Nektar::Extrapolate::m_pressureCalls, Nektar::Extrapolate::RollOver(), Vmath::Smul(), and Vmath::Svtvp().
|
overrideprotectedvirtual |
Function to extrapolate the new pressure boundary condition. Based on the velocity field and on the advection term. Acceleration term is also computed. This routine is a general one for 2d and 3D application and it can be called directly from velocity correction scheme. Specialisation on dimensionality is redirected to the CalcNeumannPressureBCs method.
Implements Nektar::Extrapolate.
Reimplemented in Nektar::WeakPressureExtrapolate.
Definition at line 72 of file StandardExtrapolate.cpp.
References Nektar::Extrapolate::AddDuDt(), Nektar::Extrapolate::CalcNeumannPressureBCs(), Nektar::Extrapolate::CalcOutflowBCs(), Nektar::Extrapolate::CopyPressureHBCsToPbndExp(), Nektar::Extrapolate::ExtrapolateArray(), Nektar::Extrapolate::m_HBCnumber, Nektar::Extrapolate::m_pressureCalls, and Nektar::Extrapolate::m_pressureHBCs.
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Reimplemented in Nektar::WeakPressureExtrapolate.
Definition at line 142 of file StandardExtrapolate.cpp.
References Vmath::Svtvp().
|
overrideprotectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 99 of file StandardExtrapolate.cpp.
References Nektar::ErrorUtil::efatal, Nektar::Extrapolate::m_intSteps, and NEKERROR.
|
overrideprotectedvirtual |
|
static |
Name of class.
Registers the class with the Factory.
Definition at line 74 of file StandardExtrapolate.h.
|
staticprotected |
Definition at line 107 of file StandardExtrapolate.h.
Referenced by v_AccelerationBDF().