GemaCoreLib
The GeMA Core library
Loading...
Searching...
No Matches
GmGaussIndex Class Referenceabstract

A class storing an index capable of determining the number of integration points belonging to a mesh, to a cell group set or to a cell list, possibly filtered by the set of active elements, and capable of determining the linear index of the gauss point from the element id + local integration point number. More...

#include <gmGaussIndex.h>

Inheritance diagram for GmGaussIndex:

Public Member Functions

virtual ~GmGaussIndex ()
 Virtual destructor.
 
virtual int numPoints () const =0
 Returns the number of Gauss points in the index.
 
virtual int numCells () const =0
 Returns the number of cells in the index.
 
virtual int numPoints (int cellId) const =0
 Returns the number of Gauss points for the given Cell. Returns 0 if the cell does not belongs to the set.
 
virtual int pointIndex (int cellId, int ip) const =0
 Given a mesh cell index and an integration point index, returns the Gauss point "linear" index, a value between 0 and numPoints()-1. Returns -1 if the the given cellId does not belong to the index set (a cell outside a cell list, for example - cell ids outside the mesh domain are invalid though).
 
virtual int cellIp (int gpIndex, int *ip) const =0
 Given a Gauss point "linear" index (a value from 0 to numPoints()-1), returns the mesh cell index + its integration point index by filling ip.
 

Detailed Description

A class storing an index capable of determining the number of integration points belonging to a mesh, to a cell group set or to a cell list, possibly filtered by the set of active elements, and capable of determining the linear index of the gauss point from the element id + local integration point number.

The reverse query (from a linear index to an element id + ip) is also possible, though it might need a binary search.

Member Function Documentation

◆ cellIp()

virtual int GmGaussIndex::cellIp ( int gpIndex,
int * ip ) const
pure virtual

Given a Gauss point "linear" index (a value from 0 to numPoints()-1), returns the mesh cell index + its integration point index by filling ip.

Implemented in GmFilteredGaussIndexBase, and GmGaussIndexProxy< T >.

◆ numCells()

virtual int GmGaussIndex::numCells ( ) const
pure virtual

Returns the number of cells in the index.

Implemented in GmFilteredGaussIndexBase, and GmGaussIndexProxy< T >.

◆ numPoints() [1/2]

virtual int GmGaussIndex::numPoints ( ) const
pure virtual

Returns the number of Gauss points in the index.

Implemented in GmFilteredGaussIndexBase, and GmGaussIndexProxy< T >.

◆ numPoints() [2/2]

virtual int GmGaussIndex::numPoints ( int cellId) const
pure virtual

Returns the number of Gauss points for the given Cell. Returns 0 if the cell does not belongs to the set.

Implemented in GmFilteredGaussIndexBase, and GmGaussIndexProxy< T >.

◆ pointIndex()

virtual int GmGaussIndex::pointIndex ( int cellId,
int ip ) const
pure virtual

Given a mesh cell index and an integration point index, returns the Gauss point "linear" index, a value between 0 and numPoints()-1. Returns -1 if the the given cellId does not belong to the index set (a cell outside a cell list, for example - cell ids outside the mesh domain are invalid though).

Implemented in GmFilteredGaussIndexBase, and GmGaussIndexProxy< T >.


The documentation for this class was generated from the following file: