MAIA bb96820c
Multiphysics at AIA
|
Class that represents DG element collector. More...
#include <dgcartesiansurfacecollector.h>
Public Types | |
template<class T > | |
using | Invalid = typename maia::dg::collector::Invalid< T > |
Public Member Functions | |
constexpr | SurfaceCollector ()=default |
Default c'tor does nothing. More... | |
MInt & | orientation (const MInt srfcId) |
Accessor for orientation. More... | |
MInt | orientation (const MInt srfcId) const |
Accessor for orientation (const version). More... | |
MInt & | fineCellId (const MInt srfcId) |
Accessor for fine cell id. More... | |
MInt | fineCellId (const MInt srfcId) const |
Accessor for fine cell id (const version). More... | |
MInt & | internalSideId (const MInt srfcId) |
Accessor for internal side id. More... | |
MInt | internalSideId (const MInt srfcId) const |
Accessor for internal side id (const version). More... | |
MInt & | polyDeg (const MInt srfcId) |
Accessor for polynomial degree. More... | |
MInt | polyDeg (const MInt srfcId) const |
Accessor for polynomial degree (const version). More... | |
MInt & | noNodes1D (const MInt srfcId) |
Accessor for number of nodes 1D. More... | |
MInt | noNodes1D (const MInt srfcId) const |
Accessor for number of nodes 1D (const version). More... | |
MInt | noNodesXD (const MInt srfcId) const |
Accessor for number of nodes XD (const version). More... | |
MLong & | globalId (const MInt srfcId) |
Accessor for global id. More... | |
MLong | globalId (const MInt srfcId) const |
Accessor for global id (const version). More... | |
MFloat & | coords (const MInt srfcId, const MInt dir) |
Accessor for coordinates. More... | |
MFloat | coords (const MInt srfcId, const MInt dir) const |
Accessor for coordinates (const version). More... | |
MFloat & | nodeCoords (const MInt srfcId) |
Accessor for node coordinates. More... | |
MFloat | nodeCoords (const MInt srfcId) const |
Accessor for node coordinates (const version). More... | |
MFloat & | flux (const MInt srfcId) |
Accessor for flux. More... | |
MFloat | flux (const MInt srfcId) const |
Accessor for flux (const version). More... | |
MInt & | nghbrElementIds (const MInt srfcId, const MInt side) |
Accessor for neighbor element ids. More... | |
MInt | nghbrElementIds (const MInt srfcId, const MInt side) const |
Accessor for neighbor element ids (const version). More... | |
MFloat & | variables (const MInt srfcId, const MInt side) |
Accessor for variables. More... | |
MFloat & | variables (const MInt srfcId, const MInt side) const |
Accessor for variables (const version). More... | |
MFloat & | nodeVars (const MInt srfcId, const MInt side) |
Accessor for node variables. More... | |
MFloat & | nodeVars (const MInt srfcId, const MInt side) const |
Accessor for node variables (const version). More... | |
MInt | maxPolyDeg () const |
Return maximum polynomial degree. More... | |
void | maxPolyDeg (const MInt maxPolyDeg_) |
MInt | maxNoNodes1D () const |
Return maximum number of nodes 1D. More... | |
void | maxNoNodes1D (const MInt maxNoNodes1D_) |
MInt | maxNoNodesXD () const |
Return maximum number if nodes XD. More... | |
void | noNodeVars (const MInt noNodeVars_) |
constexpr MInt | noNodeVars () const |
Return number of node variables. More... | |
constexpr MInt | noValuesVariables () const |
constexpr MInt | noValuesNodeVars () const |
constexpr MInt | noValuesNodeCoordinates () const |
constexpr MInt | noValuesFlux () const |
Public Member Functions inherited from maia::container::Container< SurfaceCollector< nDim, SysEqn >, Invalid > | |
constexpr | Container ()=default |
Default c'tor does nothing. More... | |
constexpr MInt | capacity () const |
Return capacity (i.e., maximum number of nodes) More... | |
void | reset (const MInt capacity) |
Reset tree, re-create data structures with given capacity, and set size to zero. More... | |
void | resize (const MInt capacity) |
Resize the container capacity. More... | |
constexpr MInt | size () const |
Return size (i.e., currently used number of nodes) More... | |
void | size (const MInt size_) |
Resize tree WITHOUT CONSIDERING ANY NODE CONSISTENCY! Use at own risk and remove ASAP... More... | |
void | append (const MInt count) |
Append nodes to end of tree. More... | |
void | append () |
void | shrink (const MInt count) |
Remove nodes from end of tree. More... | |
void | shrink () |
void | copy (const T &source, const MInt begin, const MInt end, const MInt to) |
Copy nodes to another location without changing any parent/child/neighbor information. More... | |
void | copy (const T &source, const MInt from, const MInt to) |
void | copy (const MInt begin, const MInt end, const MInt to) |
void | copy (const MInt from, const MInt to) |
void | move (const MInt begin, const MInt end, const MInt to) |
Move nodes to another location and update parent/child/neighbor information accordingly. More... | |
void | move (const MInt from, const MInt to) |
void | swap (const MInt a, const MInt b) |
Swap two nodes and update parent/child/neighbor information accordingly. More... | |
void | insert (const MInt begin, const MInt count) |
void | insert (const MInt id) |
void | erase (const MInt begin, const MInt end) |
Erase nodes in range [begin, end) and update parent/child/neighbor information. More... | |
void | erase (const MInt id) |
void | removeAndShift (const MInt begin, const MInt end) |
void | removeAndShift (const MInt id) |
void | removeAndFill (const MInt begin, const MInt end) |
void | removeAndFill (const MInt id) |
void | clear () |
Clear tree by invalidating all nodes and setting size to zero. More... | |
SurfaceCollector< nDim, SysEqn > & | derived () |
const SurfaceCollector< nDim, SysEqn > & | derived () const |
void | rawCopy (const T &source, const MInt begin, const MInt end, const MInt to) |
Copy range of nodes [begin, end) to range starting at 'to'. More... | |
void | rawCopy (const T &source, const MInt from, const MInt to) |
void | deleteConnectivity (const MInt NotUsed(begin), const MInt NotUsed(end)) |
void | moveConnectivity (const MInt NotUsed(begin), const MInt NotUsed(end), const MInt NotUsed(to)) |
void | moveConnectivity (const MInt from, const MInt to) |
constexpr MInt | dummy () const |
Private Types | |
using | Base = maia::container::Container< SurfaceCollector< nDim, SysEqn >, Invalid > |
template<class T > | |
using | Storage = typename Base::template Storage< T > |
Private Member Functions | |
void | reset () |
Reset SurfaceCollector, re-create data structures. More... | |
void | invalidate (const MInt begin, const MInt end) |
Erase range of nodes such that they contain no sensible values anymore. More... | |
template<class Functor , class T > | |
void | rawCopyGeneric (Functor &&c, const T &source, const MInt begin, const MInt end, const MInt destination) |
Helper function for rawCopy(). Destination may refer to beginning or end of target range. More... | |
Private Attributes | |
MInt | m_maxPolyDeg = -1 |
MInt | m_maxNoNodes1D = -1 |
MInt | m_maxNoNodesXD = -1 |
MInt | m_noNodeVars = -1 |
Storage< MInt > | m_orientation {} |
Orientiation of face normal vector. More... | |
Storage< MInt > | m_nghbrElementIds {} |
Nghbr. element ids (or -1 of no neighbor) More... | |
Storage< MInt > | m_fineCellId {} |
H-refinement fine element id. More... | |
Storage< MInt > | m_internalSideId {} |
Side id of the internal element. More... | |
Storage< MInt > | m_polyDeg {} |
Polynomial degrees of the neighbors. More... | |
Storage< MInt > | m_noNodes1D {} |
Number of nodes 1D of the neighbors. More... | |
Storage< MLong > | m_globalId {} |
Storage< MFloat > | m_variables {} |
Surface variables. More... | |
Storage< MFloat > | m_nodeVars {} |
Additional variables at each node. More... | |
Storage< MFloat > | m_coordinates {} |
Coordinates of the surface center. More... | |
Storage< MFloat > | m_nodeCoordinates {} |
Integration node coordinates. More... | |
Storage< MFloat > | m_flux {} |
Store the numerical (Riemann) flux. More... | |
Friends | |
class | maia::container::Container< SurfaceCollector< nDim, SysEqn >, Invalid > |
Additional Inherited Members | |
Protected Types inherited from maia::container::Container< SurfaceCollector< nDim, SysEqn >, Invalid > | |
using | Storage = std::vector< T > |
Protected Member Functions inherited from maia::container::Container< SurfaceCollector< nDim, SysEqn >, Invalid > | |
virtual void | resize () |
void | resetStorage (const MInt n, Storage< T > &c) |
Create new container with given size and replace original one. More... | |
void | resizeStorage (const MInt n, Storage< T > &c) |
Resize container with given size. More... | |
void | fill_invalid (Container_ &c, const MInt begin, const MInt end, const MInt solverSize=1, const T value=Invalid< T >::value()) |
void | copyData (const Container_ &source, Container_ &target, Functor &&f, const MInt begin, const MInt end, const MInt dest, const MInt solverSize=1) |
Copy [begin, end) range with given solver size from source to dest position of target. More... | |
MBool | isValidId (const MInt id) const |
Return whether given id refers to a valid node (auxiliary method). More... | |
Definition at line 59 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 64 of file dgcartesiansurfacecollector.h.
using maia::dg::collector::SurfaceCollector< nDim, SysEqn >::Invalid = typename maia::dg::collector::Invalid<T> |
Definition at line 72 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 67 of file dgcartesiansurfacecollector.h.
|
constexprdefault |
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::coords | ( | const MInt | srfcId, |
const MInt | dir | ||
) |
Definition at line 330 of file dgcartesiansurfacecollector.h.
MFloat maia::dg::collector::SurfaceCollector< nDim, SysEqn >::coords | ( | const MInt | srfcId, |
const MInt | dir | ||
) | const |
Definition at line 341 of file dgcartesiansurfacecollector.h.
MInt & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::fineCellId | ( | const MInt | srfcId | ) |
Definition at line 212 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::fineCellId | ( | const MInt | srfcId | ) | const |
Definition at line 222 of file dgcartesiansurfacecollector.h.
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::flux | ( | const MInt | srfcId | ) |
Definition at line 376 of file dgcartesiansurfacecollector.h.
MFloat maia::dg::collector::SurfaceCollector< nDim, SysEqn >::flux | ( | const MInt | srfcId | ) | const |
Definition at line 386 of file dgcartesiansurfacecollector.h.
MLong & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::globalId | ( | const MInt | srfcId | ) |
Definition at line 308 of file dgcartesiansurfacecollector.h.
MLong maia::dg::collector::SurfaceCollector< nDim, SysEqn >::globalId | ( | const MInt | srfcId | ) | const |
Definition at line 318 of file dgcartesiansurfacecollector.h.
MInt & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::internalSideId | ( | const MInt | srfcId | ) |
Definition at line 234 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::internalSideId | ( | const MInt | srfcId | ) | const |
Definition at line 244 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 488 of file dgcartesiansurfacecollector.h.
|
inline |
Definition at line 117 of file dgcartesiansurfacecollector.h.
|
inline |
Definition at line 120 of file dgcartesiansurfacecollector.h.
|
inline |
Definition at line 126 of file dgcartesiansurfacecollector.h.
|
inline |
Definition at line 111 of file dgcartesiansurfacecollector.h.
|
inline |
Definition at line 114 of file dgcartesiansurfacecollector.h.
MInt & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::nghbrElementIds | ( | const MInt | srfcId, |
const MInt | side | ||
) |
Definition at line 398 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::nghbrElementIds | ( | const MInt | srfcId, |
const MInt | side | ||
) | const |
Definition at line 409 of file dgcartesiansurfacecollector.h.
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::nodeCoords | ( | const MInt | srfcId | ) |
Definition at line 354 of file dgcartesiansurfacecollector.h.
MFloat maia::dg::collector::SurfaceCollector< nDim, SysEqn >::nodeCoords | ( | const MInt | srfcId | ) | const |
Definition at line 364 of file dgcartesiansurfacecollector.h.
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::nodeVars | ( | const MInt | srfcId, |
const MInt | side | ||
) |
Definition at line 446 of file dgcartesiansurfacecollector.h.
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::nodeVars | ( | const MInt | srfcId, |
const MInt | side | ||
) | const |
Definition at line 457 of file dgcartesiansurfacecollector.h.
MInt & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::noNodes1D | ( | const MInt | srfcId | ) |
Definition at line 277 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::noNodes1D | ( | const MInt | srfcId | ) | const |
Definition at line 287 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::noNodesXD | ( | const MInt | srfcId | ) | const |
Definition at line 297 of file dgcartesiansurfacecollector.h.
|
inlineconstexpr |
Definition at line 132 of file dgcartesiansurfacecollector.h.
|
inline |
Definition at line 129 of file dgcartesiansurfacecollector.h.
|
inlineconstexpr |
Definition at line 140 of file dgcartesiansurfacecollector.h.
|
inlineconstexpr |
Definition at line 138 of file dgcartesiansurfacecollector.h.
|
inlineconstexpr |
Definition at line 136 of file dgcartesiansurfacecollector.h.
|
inlineconstexpr |
Definition at line 134 of file dgcartesiansurfacecollector.h.
MInt & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::orientation | ( | const MInt | srfcId | ) |
Definition at line 190 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::orientation | ( | const MInt | srfcId | ) | const |
Definition at line 200 of file dgcartesiansurfacecollector.h.
MInt & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::polyDeg | ( | const MInt | srfcId | ) |
Definition at line 256 of file dgcartesiansurfacecollector.h.
MInt maia::dg::collector::SurfaceCollector< nDim, SysEqn >::polyDeg | ( | const MInt | srfcId | ) | const |
Definition at line 266 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 523 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 470 of file dgcartesiansurfacecollector.h.
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::variables | ( | const MInt | srfcId, |
const MInt | side | ||
) |
Definition at line 422 of file dgcartesiansurfacecollector.h.
MFloat & maia::dg::collector::SurfaceCollector< nDim, SysEqn >::variables | ( | const MInt | srfcId, |
const MInt | side | ||
) | const |
Definition at line 433 of file dgcartesiansurfacecollector.h.
|
friend |
Definition at line 523 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 182 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 159 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 184 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 178 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 160 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 150 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 151 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 149 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 158 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 183 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 181 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 162 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 154 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 157 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 161 of file dgcartesiansurfacecollector.h.
|
private |
Definition at line 180 of file dgcartesiansurfacecollector.h.