GemaCoreLib
The GeMA Core library
gmBarIntegrationRule.h
Go to the documentation of this file.
1 /************************************************************************
2 **
3 ** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4 ** All rights reserved.
5 **
6 ** This file is part of the "GeMA" software. It's use should respect
7 ** the terms in the license agreement that can be found together
8 ** with this source code.
9 ** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10 ** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11 ** A PARTICULAR PURPOSE.
12 **
13 ************************************************************************/
14 
25 #ifndef _GEMA_BAR_INT_RULE_H_
26 #define _GEMA_BAR_INT_RULE_H_
27 
28 #include "gmIntegrationRule.h"
29 
33 
34 
37 {
38 public:
45  GmGaussIntegrationTables::lineRuleTable(rule),
46  GmGaussIntegrationTables::lineRuleDegree(rule))
47  {
48  }
49 
51  GmLineGaussIntegrationRule(GmIntegrationRuleType irType, int rule1, int rule2, int rule3)
53  {
54  assert(irType == GM_GAUSS_RULE_TYPE); Q_UNUSED(irType); Q_UNUSED(rule2); Q_UNUSED(rule3);
55  }
56 };
57 
60 {
61 public:
66  GmLineNewtonIntegrationRule(int rule, bool closed)
68  GM_LINE_NIR_KEY, rule,
69  GmNewtonIntegrationTables::lineRuleTable(rule, closed),
70  GmNewtonIntegrationTables::lineRuleDegree(rule))
71  {
72  }
73 
75  GmLineNewtonIntegrationRule(GmIntegrationRuleType irType, int rule1, int rule2, int rule3)
77  {
78  assert(irType == GM_CLOSED_NEWTON_RULE_TYPE || irType == GM_OPEN_NEWTON_RULE_TYPE); Q_UNUSED(rule2); Q_UNUSED(rule3);
79  }
80 };
81 
84 {
85 public:
92  GmLobattoIntegrationTables::lineRuleTable(rule),
93  GmLobattoIntegrationTables::lineRuleDegree(rule))
94  {
95  }
96 
98  GmLineLobattoIntegrationRule(GmIntegrationRuleType irType, int rule1, int rule2, int rule3)
100  {
101  assert(irType == GM_LOBATTO_RULE_TYPE); Q_UNUSED(irType); Q_UNUSED(rule2); Q_UNUSED(rule3);
102  }
103 };
104 
105 #endif
106 
GmIntegrationRuleType
The type of desired integration rule (Gauss quadrature, Lobatto quadrature, etc)
Definition: gmIntegrationRule.h:67
Declaration of the set of tables defining Newton Cotes integration rule points and weights Content wa...
1D Lobatto Integration rules (for bar elements)
Definition: gmBarIntegrationRule.h:83
1D Newton cotes Integration rules (for bar elements)
Definition: gmBarIntegrationRule.h:59
Gauss rules.
Definition: gmIntegrationRule.h:75
GmLineGaussIntegrationRule(int rule)
Basic constructor for a Line integration rule using Gauss rules. Rule from 1 to 5....
Definition: gmBarIntegrationRule.h:43
GmLineLobattoIntegrationRule(int rule)
Basic constructor for a Line integration rule using Lobatto rules. Rule from 1 to 11....
Definition: gmBarIntegrationRule.h:90
Lobatto rules.
Definition: gmIntegrationRule.h:76
Declaration of the GmIntegrationRule class and its helper decendants.
GmLineGaussIntegrationRule(GmIntegrationRuleType irType, int rule1, int rule2, int rule3)
Standard constructor to enable the class use with GmCellIntegrationRuleSet.
Definition: gmBarIntegrationRule.h:51
GmLineNewtonIntegrationRule(GmIntegrationRuleType irType, int rule1, int rule2, int rule3)
Standard constructor to enable the class use with GmCellIntegrationRuleSet.
Definition: gmBarIntegrationRule.h:75
A class storing tables with (position, weight) pairs for line, triangle and tetrahedron Gauss integra...
Definition: gmGaussIntegrationTables.h:36
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
Declaration of the set of tables defining Lobatto integration rule points and weights Content was pre...
Base cache key for 1D Gauss line rules.
Definition: gmIntegrationRule.h:42
GmLineLobattoIntegrationRule(GmIntegrationRuleType irType, int rule1, int rule2, int rule3)
Standard constructor to enable the class use with GmCellIntegrationRuleSet.
Definition: gmBarIntegrationRule.h:98
Base cache key for 1D Newton cotes line rules.
Definition: gmIntegrationRule.h:51
GmLineNewtonIntegrationRule(int rule, bool closed)
Basic constructor for a Line integration rule using Newton Cotes rules. Rule from 1 to 5....
Definition: gmBarIntegrationRule.h:66
A helper class used to combine 1, 2 or 3 single "line" integration rule tables into a multi-dimension...
Definition: gmIntegrationRule.h:191
Declaration of the set of tables defining Gauss integration rule points and weights Content was previ...
Open Newton-Cotes rules.
Definition: gmIntegrationRule.h:78
A class storing tables with (position, weight) pairs for line Lobatto integration rules.
Definition: gmLobattoIntegrationTables.h:35
Closed Newton-Cotes rules.
Definition: gmIntegrationRule.h:77
1D Gauss Integration rules (for bar elements)
Definition: gmBarIntegrationRule.h:36
A class storing tables with (position, weight) pairs for line, triangle and tetrahedron Open & closed...
Definition: gmNewtonCotesIntegrationTables.h:36
Base cache key for 1D Lobatto line rules.
Definition: gmIntegrationRule.h:58