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... | |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::Extrapolate | |
LibUtilities::SessionReaderSharedPtr | m_session |
LibUtilities::CommSharedPtr | m_comm |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
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 |
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... | |
int | m_pressureCalls |
number of times the high-order pressure BCs have been called More... | |
int | m_pressureBCsMaxPts |
Maximum points used in pressure BC evaluation. More... | |
int | m_pressureBCsElmtMaxPts |
Maximum points used in Element adjacent to pressure BC evaluation. More... | |
int | m_intSteps |
Maximum points used in pressure BC evaluation. More... | |
NekDouble | m_timestep |
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... | |
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... | |
Array< OneD, int > | m_pressureBCtoElmtID |
Id of element to which pressure boundary condition belongs. More... | |
Array< OneD, int > | m_pressureBCtoTraceID |
Id of edge (2D) or face (3D) to which pressure boundary condition belongs. More... | |
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_acceleration |
Storage for current and previous levels of the acceleration term. More... | |
Array< OneD, HBCInfo > | m_HBCdata |
data structure to old all the information regarding High order pressure BCs More... | |
Array< OneD, NekDouble > | m_wavenumber |
wave number 2 pi k /Lz More... | |
Array< OneD, NekDouble > | m_negWavenumberSq |
minus Square of wavenumber More... | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_outflowVel |
Storage for current and previous velocity fields at the otuflow for high order outflow BCs. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_PhyoutfVel |
Storage for current and previous velocity fields in physical space at the otuflow for high order outflow BCs. More... | |
Array< OneD, NekDouble > | m_nonlinearterm_phys |
(if homogeneous) More... | |
Array< OneD, NekDouble > | m_nonlinearterm_coeffs |
(if homogeneous) More... | |
Array< OneD, unsigned int > | m_expsize_per_plane |
(if homogeneous) More... | |
Array< OneD, NekDouble > | m_PBndCoeffs |
(if homogeneous) More... | |
Array< OneD, Array< OneD, NekDouble > > | m_UBndCoeffs |
(if homogeneous) More... | |
int | m_totexps_per_plane |
(if homogeneous) More... | |
Static Protected Attributes inherited from Nektar::Extrapolate | |
static NekDouble | StifflyStable_Betaq_Coeffs [3][3] |
total number of expansion for each plane (if homogeneous) More... | |
static NekDouble | StifflyStable_Alpha_Coeffs [3][3] |
static NekDouble | StifflyStable_Gamma0_Coeffs [3] |
Definition at line 58 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 49 of file StandardExtrapolate.cpp.
|
virtual |
Definition at line 59 of file StandardExtrapolate.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 63 of file StandardExtrapolate.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
protectedvirtual |
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.
Definition at line 73 of file StandardExtrapolate.cpp.
References Nektar::Extrapolate::CalcExplicitDuDt(), Nektar::Extrapolate::CalcNeumannPressureBCs(), Nektar::Extrapolate::CalcOutflowBCs(), Nektar::Extrapolate::CopyPressureHBCsToPbndExp(), Nektar::Extrapolate::ExtrapolatePressureHBCs(), Nektar::Extrapolate::m_HBCdata, Nektar::Extrapolate::m_pressureCalls, Nektar::Extrapolate::m_pressureHBCs, and Nektar::Extrapolate::RollOver().
|
protectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 165 of file StandardExtrapolate.cpp.
References Vmath::Svtvp().
|
protectedvirtual |
|
protectedvirtual |
Implements Nektar::Extrapolate.
Definition at line 108 of file StandardExtrapolate.cpp.
References Nektar::LibUtilities::eIMEXOrder1, Nektar::LibUtilities::eIMEXOrder2, Nektar::LibUtilities::eIMEXOrder3, and Nektar::Extrapolate::m_intSteps.
|
protectedvirtual |
|
static |
Name of class.
Registers the class with the Factory.
Definition at line 76 of file StandardExtrapolate.h.