|
MAIA bb96820c
Multiphysics at AIA
|
Class that represents DG element collector. More...
#include <dgcartesianelementcollector.h>
Public Types | |
| template<class T > | |
| using | Invalid = typename maia::dg::collector::Invalid< T > |
Public Member Functions | |
| constexpr | ElementCollector ()=default |
| Default c'tor does nothing. More... | |
| MInt & | cellId (const MInt id) |
| Accessor for cell id. More... | |
| MInt | cellId (const MInt id) const |
| Accessor for cell id (const version). More... | |
| MInt & | polyDeg (const MInt id) |
| Accessor for polynomial degree. More... | |
| MInt | polyDeg (const MInt id) const |
| Accessor for polynomial degree (const version). More... | |
| MInt | noNodes1D (const MInt id) const |
| Accessor for number of nodes 1D (const version). More... | |
| MInt & | noNodes1D (const MInt id) |
| Accessor for number of nodes 1D. More... | |
| MInt | noNodesXD (const MInt id) const |
| Accessor for number of nodes XD (const version). More... | |
| MInt & | surfaceIds (const MInt id, const MInt dir) |
| Accessor for surface ids. More... | |
| MInt | surfaceIds (const MInt id, const MInt dir) const |
| Accessor for surface ids (const version). More... | |
| MFloat & | nodeCoordinates (const MInt id) |
| Accessor for node coordinates. More... | |
| MFloat | nodeCoordinates (const MInt id) const |
| Accessor for node coordinates (const version). More... | |
| MFloat & | variables (const MInt id, const MInt pos) |
| Accessor for variables. More... | |
| MFloat & | variables (const MInt id) |
| MFloat | variables (const MInt id, const MInt pos) const |
| Accessor for variables (const version). More... | |
| MFloat | variables (const MInt id) const |
| MFloat & | timeIntStorage (const MInt id) |
| Accessor for storage variables. More... | |
| MFloat | timeIntStorage (const MInt id) const |
| Accessor for storage variables (const version). More... | |
| MFloat & | nodeVars (const MInt id) |
| Accessor for node variables. More... | |
| MFloat | nodeVars (const MInt id) const |
| Accessor for node variables (const version). More... | |
| MFloat & | rightHandSide (const MInt id) |
| Accessor for right hand side. More... | |
| MFloat | rightHandSide (const MInt id) const |
| Accessor for right hand side (const version). More... | |
| MFloat & | externalSource (const MInt id) |
| Accessor for external source terms. More... | |
| MFloat | externalSource (const MInt id) const |
| Accessor for external source terms (const version). More... | |
| MFloat & | invJacobian (const MInt id) |
| Accessor for inverse jacobian. More... | |
| MFloat | invJacobian (const MInt id) const |
| Accessor for inverse jacobian (const version). More... | |
| MInt | maxPolyDeg () const |
| Return maximum polynomial degree. More... | |
| MInt | maxPolyDeg (const MInt maxPolyDeg_) |
| Set maximum polynomial degree. More... | |
| MInt | maxNoNodes1D () const |
| Return maximum number of nodes 1D. More... | |
| void | maxNoNodes1D (const MInt maxNoNodesDeg_) |
| Set maximum noNodes. More... | |
| MInt | maxNoNodesXD () const |
| Return maximum number of nodes XD. More... | |
| void | noNodeVars (const MInt noNodeVars_) |
| constexpr MInt | noNodeVars () const |
| Return number of node variables. More... | |
| MInt | getElementByCellId (const MInt cellId) const |
| Return element id for a given cell id (or -1 if not found). More... | |
| MInt | getElementByCellId (const MInt first, const MInt last, const MInt cellId) const |
Search for element with cell id cellId in [first, last). More... | |
Public Member Functions inherited from maia::container::Container< ElementCollector< 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... | |
| ElementCollector< nDim, SysEqn > & | derived () |
| const ElementCollector< 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 |
Static Public Member Functions | |
| static constexpr MInt | noVars () |
| Return number of nodes in 1D. More... | |
| static constexpr MInt | noSurfaces () |
| Return number of surfaces per element. More... | |
Private Types | |
| using | Base = maia::container::Container< ElementCollector< nDim, SysEqn >, Invalid > |
| template<class T > | |
| using | Storage = typename Base::template Storage< T > |
Private Member Functions | |
| void | reset () |
| Reset tree, re-create data structures with given capacity, and set size to zero. 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 |
| Maximum polynomial degree. More... | |
| MInt | m_maxNoNodes1D = -1 |
| Maximum number of nodes 1D. More... | |
| MInt | m_maxNoNodesXD = -1 |
| Maximum number if nodes XD. More... | |
| MInt | m_noNodeVars = -1 |
| Storage< MInt > | m_cellId {} |
| Storage< MInt > | m_polyDeg {} |
| Storage< MInt > | m_noNodes1D {} |
| Storage< MInt > | m_surfaceIds {} |
| Storage< MFloat > | m_nodeCoordinates {} |
| Storage< MFloat > | m_variables {} |
| Storage< MFloat > | m_timeIntStorage {} |
| Storage< MFloat > | m_nodeVariables {} |
| Storage< MFloat > | m_rightHandSide {} |
| Storage< MFloat > | m_externalSource {} |
| Storage< MFloat > | m_invJacobian {} |
Friends | |
| class | maia::container::Container< ElementCollector< nDim, SysEqn >, Invalid > |
Additional Inherited Members | |
Protected Types inherited from maia::container::Container< ElementCollector< nDim, SysEqn >, Invalid > | |
| using | Storage = std::vector< T > |
Protected Member Functions inherited from maia::container::Container< ElementCollector< 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 117 of file dgcartesianelementcollector.h.
|
private |
Definition at line 122 of file dgcartesianelementcollector.h.
| using maia::dg::collector::ElementCollector< nDim, SysEqn >::Invalid = typename maia::dg::collector::Invalid<T> |
Definition at line 130 of file dgcartesianelementcollector.h.
|
private |
Definition at line 125 of file dgcartesianelementcollector.h.
|
constexprdefault |
| MInt & maia::dg::collector::ElementCollector< nDim, SysEqn >::cellId | ( | const MInt | id | ) |
Definition at line 255 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::cellId | ( | const MInt | id | ) | const |
Definition at line 265 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::externalSource | ( | const MInt | id | ) |
Definition at line 467 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::externalSource | ( | const MInt | id | ) | const |
Definition at line 477 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::getElementByCellId | ( | const MInt | cellId | ) | const |
| [in] | cellId | Cell id for which the element is searched. |
Definition at line 628 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::getElementByCellId | ( | const MInt | first, |
| const MInt | last, | ||
| const MInt | cellId | ||
| ) | const |
| [in] | first | First element id to consider. |
| [in] | last | Last element id to consider + 1. |
| [in] | cellId | Cell id of the searched element. |
Definition at line 644 of file dgcartesianelementcollector.h.
|
private |
Definition at line 511 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::invJacobian | ( | const MInt | id | ) |
Definition at line 489 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::invJacobian | ( | const MInt | id | ) | const |
Definition at line 499 of file dgcartesianelementcollector.h.
|
inline |
Definition at line 174 of file dgcartesianelementcollector.h.
| void maia::dg::collector::ElementCollector< nDim, SysEqn >::maxNoNodes1D | ( | const MInt | maxNoNodesDeg_ | ) |
Definition at line 613 of file dgcartesianelementcollector.h.
|
inline |
Definition at line 178 of file dgcartesianelementcollector.h.
|
inline |
Definition at line 169 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::maxPolyDeg | ( | const MInt | maxPolyDeg_ | ) |
Definition at line 605 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::nodeCoordinates | ( | const MInt | id | ) |
Definition at line 355 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::nodeCoordinates | ( | const MInt | id | ) | const |
Definition at line 365 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::nodeVars | ( | const MInt | id | ) |
Definition at line 423 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::nodeVars | ( | const MInt | id | ) | const |
Definition at line 433 of file dgcartesianelementcollector.h.
| MInt & maia::dg::collector::ElementCollector< nDim, SysEqn >::noNodes1D | ( | const MInt | id | ) |
Definition at line 298 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::noNodes1D | ( | const MInt | id | ) | const |
Definition at line 309 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::noNodesXD | ( | const MInt | id | ) | const |
Definition at line 320 of file dgcartesianelementcollector.h.
|
inlineconstexpr |
Definition at line 193 of file dgcartesianelementcollector.h.
|
inline |
Definition at line 181 of file dgcartesianelementcollector.h.
|
inlinestaticconstexpr |
Definition at line 196 of file dgcartesianelementcollector.h.
|
inlinestaticconstexpr |
Return number of nodes in 2D/3D Return number of variables
Definition at line 190 of file dgcartesianelementcollector.h.
| MInt & maia::dg::collector::ElementCollector< nDim, SysEqn >::polyDeg | ( | const MInt | id | ) |
Definition at line 277 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::polyDeg | ( | const MInt | id | ) | const |
Definition at line 287 of file dgcartesianelementcollector.h.
|
private |
Definition at line 559 of file dgcartesianelementcollector.h.
|
private |
Definition at line 238 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::rightHandSide | ( | const MInt | id | ) |
Definition at line 445 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::rightHandSide | ( | const MInt | id | ) | const |
Definition at line 455 of file dgcartesianelementcollector.h.
| MInt & maia::dg::collector::ElementCollector< nDim, SysEqn >::surfaceIds | ( | const MInt | id, |
| const MInt | dir | ||
| ) |
Definition at line 331 of file dgcartesianelementcollector.h.
| MInt maia::dg::collector::ElementCollector< nDim, SysEqn >::surfaceIds | ( | const MInt | id, |
| const MInt | dir | ||
| ) | const |
Definition at line 342 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::timeIntStorage | ( | const MInt | id | ) |
Definition at line 401 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::timeIntStorage | ( | const MInt | id | ) | const |
Definition at line 411 of file dgcartesianelementcollector.h.
|
inline |
Definition at line 154 of file dgcartesianelementcollector.h.
|
inline |
Definition at line 156 of file dgcartesianelementcollector.h.
| MFloat & maia::dg::collector::ElementCollector< nDim, SysEqn >::variables | ( | const MInt | id, |
| const MInt | pos | ||
| ) |
Definition at line 377 of file dgcartesianelementcollector.h.
| MFloat maia::dg::collector::ElementCollector< nDim, SysEqn >::variables | ( | const MInt | id, |
| const MInt | pos | ||
| ) | const |
Definition at line 388 of file dgcartesianelementcollector.h.
|
friend |
Definition at line 105 of file dgcartesianelementcollector.h.
|
private |
Definition at line 222 of file dgcartesianelementcollector.h.
|
private |
Definition at line 231 of file dgcartesianelementcollector.h.
|
private |
Definition at line 232 of file dgcartesianelementcollector.h.
|
private |
Definition at line 213 of file dgcartesianelementcollector.h.
|
private |
Definition at line 216 of file dgcartesianelementcollector.h.
|
private |
Definition at line 210 of file dgcartesianelementcollector.h.
|
private |
Definition at line 226 of file dgcartesianelementcollector.h.
|
private |
Definition at line 229 of file dgcartesianelementcollector.h.
|
private |
Definition at line 224 of file dgcartesianelementcollector.h.
|
private |
Definition at line 219 of file dgcartesianelementcollector.h.
|
private |
Definition at line 223 of file dgcartesianelementcollector.h.
|
private |
Definition at line 230 of file dgcartesianelementcollector.h.
|
private |
Definition at line 225 of file dgcartesianelementcollector.h.
|
private |
Definition at line 228 of file dgcartesianelementcollector.h.
|
private |
Definition at line 227 of file dgcartesianelementcollector.h.