|
Nektar++
|
#include <GJPStabilisation.h>
Public Member Functions | |
| GJPStabilisation (ExpListSharedPtr field) | |
| ~GJPStabilisation () | |
| void | Apply (const Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const Array< OneD, NekDouble > &pUnorm=NullNekDouble1DArray, const NekDouble scale=1.0) const |
| Array< OneD, Array< OneD, NekDouble > > & | GetTraceNormals (void) |
| int | GetNumTracePts (void) const |
| bool | IsSemiImplicit () const |
| bool | IsExplicit () const |
| bool | IsImplicit () const |
| Array< OneD, NekDouble > | GetTraceWeightVarFactors (void) |
Private Member Functions | |
| void | ConstructLocalTraceJump (const int dir, const Array< OneD, const NekDouble > &in, Array< OneD, NekDouble > &store) const |
| void | ConstructLocalTraceJumpSI (const int dir, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &store) const |
| void | IProductwrtStdDerivBaseOnTraceMat (int i, Array< OneD, NekDouble > &in, Array< OneD, NekDouble > &out) const |
| void | StdDerivOnTraceFromModes (int i, Array< OneD, NekDouble > &in, Array< OneD, NekDouble > &out) const |
| void | TraceJumpFromLocTraceNormDeriv (Array< OneD, NekDouble > &normderiv, Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd) const |
Private Attributes | |
| unsigned | m_coordDim |
| unsigned | m_traceDim |
| unsigned | m_nLocTracePts |
| GJPFormulation | m_formulation = eGJPNoFormulation |
| Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
| MultiRegions::ExpListSharedPtr | m_dgfield |
| DG expansion for projection evalaution along trace. | |
| Array< OneD, Array< OneD, NekDouble > > | m_scalTrace |
| Scale factor for phys values along trace involving the local normals and geometric factors. | |
| Array< OneD, NekDouble > | m_locTraceWeights |
| std::vector< unsigned > | m_traceOffset |
| phys offset in trace expannsion of each trace as we loop over elmts | |
| std::vector< unsigned > | m_locTracePts0 |
| npoints in local trace expannsion in dir 0 | |
| std::vector< unsigned > | m_locTracePts1 |
| npoints in local trace expannsion in dir 1 | |
| std::vector< unsigned > | m_ntrace |
| list of the number of traces over an element; | |
| std::map< int, std::pair< LocalRegions::ExpansionSharedPtr, LocalRegions::ExpansionSharedPtr > > | m_interpTrace |
| local trace and multiregion dg trace if different (i.e variable p and BC trace) | |
| std::vector< bool > | m_traceFwd |
| std::vector< std::pair< int, Array< OneD, DNekMatSharedPtr > > > | m_StdDBaseOnTraceMat |
| std::vector< NekDouble > | m_locEdgeScale |
Static Private Attributes | |
| static std::string | GJPStabilisationLookupIds [] |
Definition at line 54 of file GJPStabilisation.h.
| Nektar::MultiRegions::GJPStabilisation::GJPStabilisation | ( | ExpListSharedPtr | field | ) |
Definition at line 47 of file GJPStabilisation.cpp.
References ASSERTL0, ASSERTL1, Nektar::MultiRegions::eGJPExplicit, Nektar::MultiRegions::eGJPImplicit, Nektar::MultiRegions::eGJPNoFormulation, Nektar::MultiRegions::eGJPSemiImplicit, m_coordDim, m_dgfield, m_formulation, m_interpTrace, m_locEdgeScale, m_locTracePts0, m_locTracePts1, m_locTraceWeights, m_nLocTracePts, m_ntrace, m_scalTrace, m_StdDBaseOnTraceMat, m_traceDim, m_traceFwd, m_traceNormals, m_traceOffset, sign, and Vmath::Smul().
|
inline |
Definition at line 59 of file GJPStabilisation.h.
| void Nektar::MultiRegions::GJPStabilisation::Apply | ( | const Array< OneD, NekDouble > & | inarray, |
| Array< OneD, NekDouble > & | outarray, | ||
| const Array< OneD, NekDouble > & | pUnorm = NullNekDouble1DArray, |
||
| const NekDouble | scale = 1.0 |
||
| ) | const |
Definition at line 292 of file GJPStabilisation.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), Nektar::MultiRegions::eGJPSemiImplicit, IProductwrtStdDerivBaseOnTraceMat(), m_coordDim, m_dgfield, m_formulation, m_nLocTracePts, m_scalTrace, m_traceDim, Nektar::NullNekDouble1DArray, Nektar::LibUtilities::Timer::Start(), StdDerivOnTraceFromModes(), Nektar::LibUtilities::Timer::Stop(), Vmath::Svtvp(), TraceJumpFromLocTraceNormDeriv(), Vmath::Vadd(), Vmath::Vmul(), and Vmath::Vvtvp().
|
private |
construct the gradient jump on local trace using input 'in' which is in trace orientation
Definition at line 412 of file GJPStabilisation.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::StdRegions::eDir1FwdDir2_Dir2FwdDir1, m_dgfield, m_interpTrace, m_locEdgeScale, m_locTracePts0, m_locTracePts1, m_locTraceWeights, m_ntrace, m_scalTrace, m_traceOffset, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
Referenced by Apply().
|
private |
Definition at line 475 of file GJPStabilisation.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), ASSERTL1, Nektar::StdRegions::eDir1FwdDir2_Dir2FwdDir1, m_dgfield, m_interpTrace, m_locEdgeScale, m_locTracePts0, m_locTracePts1, m_locTraceWeights, m_ntrace, m_scalTrace, m_traceFwd, m_traceOffset, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
Referenced by Apply().
|
inline |
Definition at line 71 of file GJPStabilisation.h.
References m_dgfield.
|
inline |
Definition at line 66 of file GJPStabilisation.h.
References m_traceNormals.
Definition at line 673 of file GJPStabilisation.cpp.
References m_dgfield, and m_locEdgeScale.
|
private |
Definition at line 579 of file GJPStabilisation.cpp.
References Blas::Dgemm(), and m_StdDBaseOnTraceMat.
Referenced by Apply().
|
inline |
Definition at line 81 of file GJPStabilisation.h.
References Nektar::MultiRegions::eGJPExplicit, and m_formulation.
|
inline |
Definition at line 86 of file GJPStabilisation.h.
References Nektar::MultiRegions::eGJPImplicit, and m_formulation.
|
inline |
Definition at line 76 of file GJPStabilisation.h.
References Nektar::MultiRegions::eGJPSemiImplicit, and m_formulation.
|
private |
Definition at line 653 of file GJPStabilisation.cpp.
References Blas::Dgemm(), and m_StdDBaseOnTraceMat.
Referenced by Apply().
|
private |
Definition at line 599 of file GJPStabilisation.cpp.
References ASSERTL0, m_dgfield, m_interpTrace, m_locTracePts0, m_locTracePts1, m_ntrace, m_traceFwd, m_traceOffset, and Vmath::Vcopy().
Referenced by Apply().
|
staticprivate |
Definition at line 98 of file GJPStabilisation.h.
|
private |
Definition at line 94 of file GJPStabilisation.h.
Referenced by Apply(), and GJPStabilisation().
|
private |
DG expansion for projection evalaution along trace.
Definition at line 104 of file GJPStabilisation.h.
Referenced by Apply(), ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GetNumTracePts(), GetTraceWeightVarFactors(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().
|
private |
Definition at line 97 of file GJPStabilisation.h.
Referenced by Apply(), GJPStabilisation(), IsExplicit(), IsImplicit(), and IsSemiImplicit().
|
private |
local trace and multiregion dg trace if different (i.e variable p and BC trace)
Definition at line 124 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().
|
private |
Definition at line 131 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GetTraceWeightVarFactors(), and GJPStabilisation().
|
private |
npoints in local trace expannsion in dir 0
Definition at line 115 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().
|
private |
npoints in local trace expannsion in dir 1
Definition at line 117 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().
Definition at line 110 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), and GJPStabilisation().
|
private |
Definition at line 96 of file GJPStabilisation.h.
Referenced by Apply(), and GJPStabilisation().
|
private |
list of the number of traces over an element;
Definition at line 119 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().
Scale factor for phys values along trace involving the local normals and geometric factors.
Definition at line 108 of file GJPStabilisation.h.
Referenced by Apply(), ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), and GJPStabilisation().
|
private |
Definition at line 129 of file GJPStabilisation.h.
Referenced by GJPStabilisation(), IProductwrtStdDerivBaseOnTraceMat(), and StdDerivOnTraceFromModes().
|
private |
Definition at line 95 of file GJPStabilisation.h.
Referenced by Apply(), and GJPStabilisation().
|
private |
Definition at line 126 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJumpSI(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().
Definition at line 101 of file GJPStabilisation.h.
Referenced by GetTraceNormals(), and GJPStabilisation().
|
private |
phys offset in trace expannsion of each trace as we loop over elmts
Definition at line 113 of file GJPStabilisation.h.
Referenced by ConstructLocalTraceJump(), ConstructLocalTraceJumpSI(), GJPStabilisation(), and TraceJumpFromLocTraceNormDeriv().