![]() |
GemaCoreLib
The GeMA Core library
|
A class storing tables with (position, weight) pairs for line, triangle and tetrahedron Gauss integration rules. More...
#include <gmGaussIntegrationTables.h>
Static Public Member Functions | |
static const QVector< QPair< double, double > > * | lineRuleTable (int rule) |
Returns the table storing (position, weight) pairs for the given line Gauss rule. Rule SHOULD be in the interval 1 to 5. Returns NULL for any unknown rule. | |
static int | lineRuleDegree (int rule) |
Returns the integration degree for the given line Gauss rule (The polynomial degree. More... | |
static const QVector< QPair< GmVector, double > > * | triRuleTable (int rule) |
Returns the table storing (position, weight) pairs for the given triangle Gauss rule. Rule SHOULD be equal to 1, 3, or 6. Returns NULL for any unknown rule. | |
static int | triRuleDegree (int rule) |
Returns the integration degree for the given triangle Gauss rule (The polynomial degree for which this rule is exact). Returns an undefined value for invalid rules Rule 1 -> Degree 1, Rule 3 -> Degree 2, Rule 6 -> Degree 4. | |
static const QVector< QPair< GmVector, double > > * | tetRuleTable (int rule) |
Returns the table storing (position, weight) pairs for the given tetrahedron Gauss rule. Rule SHOULD be equal to 1 or 4. Returns NULL for any unknown rule. | |
static int | tetRuleDegree (int rule) |
Returns the integration degree for the given tetrahedron Gauss rule (The polynomial degree for which this rule is exact). Returns an undefined value for invalid rules Rule 1 -> Degree 1, Rule 4 -> Degree 2. | |
static const QVector< QPair< GmVector, double > > * | pyraRuleTable (int rule) |
Returns the table storing (position, weight) pairs for the given pyramid Gauss rule. Rule SHOULD be equal to 1, 5 or 13. Returns NULL for any unknown rule. | |
static int | pyraRuleDegree (int rule) |
Returns the integration degree for the given pyramid Gauss rule (The polynomial degree for which this rule is exact). Returns an undefined value for invalid rules Rule 1 -> Degree 1, Rule 5 -> Degree 2, and Rule 13 -> Degree 2. | |
static bool | initTables () |
Initialization function for the set of integration rule tables. Must be called once. | |
Static Private Member Functions | |
static void | initLineTable () |
Initializes tables needed to compute line Gauss quadrature rules. More... | |
static void | initTriTable () |
Initializes _triTable with position and weigths for 2D Gauss integration rules over a triangle with natural coordinates zeta1, zeta2 and zeta3. More... | |
static void | initTetTable () |
Initializes _tetTable with position and weigths for 3D Gauss integration rules over a tetrahedron with natural coordinates zeta1, zeta2, zeta3 and zeta4. More... | |
static void | initPyraTable () |
Initializes _pyraTable with position and weigths for 3D Gauss integration rules over a pyramid with natural coordinates xi, eta, zeta. More... | |
Static Private Attributes | |
static QVector< QPair< double, double > > | _lineTable [5] |
The static table storing (position, weight) pairs for the first 5 line Gauss rules. | |
static QVector< QPair< GmVector, double > > | _triTable [6] |
The static table storing (position, weight) pairs for the triangle Gauss rules. More... | |
static QVector< QPair< GmVector, double > > | _tetTable [4] |
The static table storing (position, weight) pairs for the tetrahedron Gauss rules with 1, and 4 points. Entries for the remaining indices are empty. Position vectors store natural coordinates with 4 components. | |
static QVector< QPair< GmVector, double > > | _pyraTable [13] |
The static table storing (position, weight) pairs for the pyramid Gauss rules with 1, 5, and 13 points. Entries for the remaining indices are empty. Position vectors store natural coordinates with 3 components. | |
A class storing tables with (position, weight) pairs for line, triangle and tetrahedron Gauss integration rules.
|
staticprivate |
Initializes tables needed to compute line Gauss quadrature rules.
This function initializes _lineTable with weight and coordinate constants for each of the first five rules used for 1D, 2D and 3D quadrature rules.
See Felippa, chapter 17, table 17.1 (page 17-7) or the wikipedia for the magic numbers.
Only the first five rules are currently implemented.
|
staticprivate |
Initializes _pyraTable with position and weigths for 3D Gauss integration rules over a pyramid with natural coordinates xi, eta, zeta.
Implements rules with 1, 5, and 13 points. Other rule slots are left empty on _pyraTable. See Felippa, AFEM section 19.7
|
staticprivate |
Initializes _tetTable with position and weigths for 3D Gauss integration rules over a tetrahedron with natural coordinates zeta1, zeta2, zeta3 and zeta4.
Implements rules with 1, and 4 points. Other rule slots are left empty on _tetTable. See Felippa, AFEM section 10.7
|
staticprivate |
Initializes _triTable with position and weigths for 2D Gauss integration rules over a triangle with natural coordinates zeta1, zeta2 and zeta3.
Implements rules with 1, 3 and 6 points. Other rule slots are left empty on _triTable. See Felippa, IFEM section 24.2.
|
inlinestatic |
Returns the integration degree for the given line Gauss rule (The polynomial degree.
for which this rule is exact). Returns an undefined value for invalid rules
The static table storing (position, weight) pairs for the triangle Gauss rules.
with 1, 3 and 6 points. Entries for the remaining indices are empty. Position vectors store natural coordinates with 3 components.