35 #ifndef MULTIREGIONS_LOCTRACETOTRACEMAP_H 36 #define MULTIREGIONS_LOCTRACETOTRACEMAP_H 47 namespace LocalRegions
53 namespace MultiRegions
79 LibUtilities::PointsKey,
80 LibUtilities::PointsKey,
86 TraceInterpPoints
const &b)
const 88 if (std::get<0>(a) < std::get<0>(b))
93 if (std::get<0>(b) < std::get<0>(a))
98 if (std::get<1>(a) < std::get<1>(b))
102 if (std::get<1>(b) < std::get<1>(a))
107 if (std::get<2>(a) < std::get<2>(b))
112 if (std::get<2>(b) < std::get<2>(a))
117 if (std::get<3>(a) < std::get<3>(b))
159 const ExpListSharedPtr &trace,
162 const std::vector<bool> &LeftAdjacents);
169 const ExpListSharedPtr &trace,
172 const std::vector<bool> &LeftAdjacents);
176 const ExpListSharedPtr &trace,
179 const std::vector<bool> &LeftAdjacents);
213 return m_nFwdLocTracePts;
221 return m_nLocTracePts;
260 int m_nTraceCoeffs[2];
int GetNFwdLocTracePts()
Return the number of `forward' local trace points.
int m_nTracePts
The number of global trace points.
Array< OneD, Array< OneD, DNekMatSharedPtr > > m_interpTraceI0
Interpolation matrices for either 2D edges or first coordinate of 3D face.
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
std::shared_ptr< LocTraceToTraceMap > LocTraceToTraceMapSharedPtr
#define MULTI_REGIONS_EXPORT
Array< OneD, Array< OneD, int > > m_traceCoeffsToElmtTrace
Mapping from forwards/backwards trace coefficients to the position of the trace element in global sto...
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_interpEndPtI0
Mapping to hold first coordinate direction endpoint interpolation, which can be more optimal if using...
Base class for all multi-elemental spectral/hp expansions.
Array< OneD, Array< OneD, int > > m_traceCoeffsToElmtSign
Sign array for mapping from forwards/backwards trace coefficients to local trace storage.
int m_nLocTracePts
The number of local trace points.
bool operator()(TraceInterpPoints const &a, TraceInterpPoints const &b) const
int m_nFwdLocTracePts
The number of forward trace points. A local trace element is `forward' if it is the side selected for...
Array< OneD, Array< OneD, int > > m_traceCoeffsToElmtMap
Mapping from forwards/backwards trace coefficients to elemental coefficient storage.
Defines a specification for a set of points.
Array< OneD, Array< OneD, DNekMatSharedPtr > > m_interpTraceI1
Interpolation matrices for the second coordinate of 3D face, not used in 2D.
int GetNLocTracePts()
Return the number of local trace points.
A helper class to deal with trace operations in the discontinuous Galerkin code.
std::shared_ptr< Expansion > ExpansionSharedPtr
Array< OneD, Array< OneD, int > > m_interpNfaces
Number of edges/faces on a 2D/3D element that require interpolation.
std::tuple< LibUtilities::PointsKey, LibUtilities::PointsKey, LibUtilities::PointsKey, LibUtilities::PointsKey > TraceInterpPoints
Map holding points distributions required for interpolation of local traces onto global trace in two ...
Array< OneD, Array< OneD, int > > m_LocTraceToTraceMap
A mapping from local trace points to the global trace. Dimension 0 holds forward traces, dimension 1 backward.
Array< OneD, Array< OneD, InterpLocTraceToTrace > > m_interpTrace
A mapping holding the type of interpolation needed for each local trace. Dimension 0 holds forward tr...
Array< OneD, Array< OneD, TraceInterpPoints > > m_interpPoints
Interpolation points key distributions for each of the local to global mappings.
Array< OneD, int > m_fieldToLocTraceMap
A mapping from the local trace points, arranged as all forwards traces followed by backwards traces...
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_interpEndPtI1
Mapping to hold second coordinate direction endpoint interpolation, which can be more optimal if usin...