KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
triangle_collocation_integration_points.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Vicente Mataix Ferrandiz
11 //
12 //
13 #if !defined(KRATOS_TRIANGLE_COLLOCATION_INTEGRATION_POINTS_H_INCLUDED )
14 #define KRATOS_TRIANGLE_COLLOCATION_INTEGRATION_POINTS_H_INCLUDED
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "integration/quadrature.h"
22 
23 namespace Kratos
24 {
25 
27 {
28 public:
30  typedef std::size_t SizeType;
31 
32  static const unsigned int Dimension = 2;
33 
35 
36  typedef std::array<IntegrationPointType, 3> IntegrationPointsArrayType;
37 
39 
41  {
42  return 3;
43  }
44 
46  {
47  static const IntegrationPointsArrayType s_integration_points{{
48  IntegrationPointType(0.166666666667,0.166666666667,0.166666666667),
49  IntegrationPointType(0.166666666667,0.666666666667,0.166666666667),
50  IntegrationPointType(0.666666666667,0.666666666667,0.166666666667)
51  }};
52  return s_integration_points;
53  }
54 
55  std::string Info() const
56  {
57  std::stringstream buffer;
58  buffer << "Triangle Collocation quadrature 1 ";
59  return buffer.str();
60  }
61 
62 
63 }; // Class TriangleCollocationIntegrationPoints1
64 
65 
67 {
68 public:
70  typedef std::size_t SizeType;
71 
72  static const unsigned int Dimension = 2;
73 
75 
76  typedef std::array<IntegrationPointType, 6> IntegrationPointsArrayType;
77 
79 
81  {
82  return 6;
83  }
84 
86  {
87  static const IntegrationPointsArrayType s_integration_points{{
88  IntegrationPointType(0.111111111111,0.111111111111,0.0833333333333),
89  IntegrationPointType(0.111111111111,0.444444444444,0.0833333333333),
90  IntegrationPointType(0.111111111111,0.777777777778,0.0833333333333),
91  IntegrationPointType(0.444444444444,0.444444444444,0.0833333333333),
92  IntegrationPointType(0.444444444444,0.777777777778,0.0833333333333),
93  IntegrationPointType(0.777777777778,0.777777777778,0.0833333333333)
94  }};
95  return s_integration_points;
96  }
97 
98  std::string Info() const
99  {
100  std::stringstream buffer;
101  buffer << "Triangle Collocation quadrature 2 ";
102  return buffer.str();
103  }
104 
105 
106 }; // Class TriangleCollocationIntegrationPoints2
107 
108 
110 {
111 public:
113  typedef std::size_t SizeType;
114 
115  static const unsigned int Dimension = 2;
116 
118 
119  typedef std::array<IntegrationPointType, 10> IntegrationPointsArrayType;
120 
122 
124  {
125  return 10;
126  }
127 
129  {
130  static const IntegrationPointsArrayType s_integration_points{{
131  IntegrationPointType(0.0833333333333,0.0833333333333,0.0500000000000),
132  IntegrationPointType(0.0833333333333,0.333333333333,0.0500000000000),
133  IntegrationPointType(0.0833333333333,0.583333333333,0.0500000000000),
134  IntegrationPointType(0.0833333333333,0.833333333333,0.0500000000000),
135  IntegrationPointType(0.333333333333,0.333333333333,0.0500000000000),
136  IntegrationPointType(0.333333333333,0.583333333333,0.0500000000000),
137  IntegrationPointType(0.333333333333,0.833333333333,0.0500000000000),
138  IntegrationPointType(0.583333333333,0.583333333333,0.0500000000000),
139  IntegrationPointType(0.583333333333,0.833333333333,0.0500000000000),
140  IntegrationPointType(0.833333333333,0.833333333333,0.0500000000000)
141  }};
142  return s_integration_points;
143  }
144 
145  std::string Info() const
146  {
147  std::stringstream buffer;
148  buffer << "Triangle Collocation quadrature 3 ";
149  return buffer.str();
150  }
151 
152 
153 }; // Class TriangleCollocationIntegrationPoints2
154 
155 
157 {
158 public:
160  typedef std::size_t SizeType;
161 
162  static const unsigned int Dimension = 2;
163 
165 
166  typedef std::array<IntegrationPointType, 15> IntegrationPointsArrayType;
167 
169 
171  {
172  return 15;
173  }
174 
176  {
177  static const IntegrationPointsArrayType s_integration_points{{
178  IntegrationPointType(0.0666666666667,0.0666666666667,0.0333333333333),
179  IntegrationPointType(0.0666666666667,0.266666666667,0.0333333333333),
180  IntegrationPointType(0.0666666666667,0.466666666667,0.0333333333333),
181  IntegrationPointType(0.0666666666667,0.666666666667,0.0333333333333),
182  IntegrationPointType(0.0666666666667,0.866666666667,0.0333333333333),
183  IntegrationPointType(0.266666666667,0.266666666667,0.0333333333333),
184  IntegrationPointType(0.266666666667,0.466666666667,0.0333333333333),
185  IntegrationPointType(0.266666666667,0.666666666667,0.0333333333333),
186  IntegrationPointType(0.266666666667,0.866666666667,0.0333333333333),
187  IntegrationPointType(0.466666666667,0.466666666667,0.0333333333333),
188  IntegrationPointType(0.466666666667,0.666666666667,0.0333333333333),
189  IntegrationPointType(0.466666666667,0.866666666667,0.0333333333333),
190  IntegrationPointType(0.666666666667,0.666666666667,0.0333333333333),
191  IntegrationPointType(0.666666666667,0.866666666667,0.0333333333333),
192  IntegrationPointType(0.866666666667,0.866666666667,0.0333333333333)
193  }};
194  return s_integration_points;
195  }
196 
197  std::string Info() const
198  {
199  std::stringstream buffer;
200  buffer << "Triangle Collocation quadrature 4 ";
201  return buffer.str();
202  }
203 
204 
205 }; // Class TriangleCollocationIntegrationPoints4
206 
208 {
209 public:
211  typedef std::size_t SizeType;
212 
213  static const unsigned int Dimension = 2;
214 
216 
217  typedef std::array<IntegrationPointType, 21> IntegrationPointsArrayType;
218 
220 
222  {
223  return 21;
224  }
225 
227  {
228  static const IntegrationPointsArrayType s_integration_points{{
229  IntegrationPointType(0.0555555555556,0.0555555555556,0.0238095238095),
230  IntegrationPointType(0.0555555555556,0.222222222222,0.0238095238095),
231  IntegrationPointType(0.0555555555556,0.388888888889,0.0238095238095),
232  IntegrationPointType(0.0555555555556,0.555555555556,0.0238095238095),
233  IntegrationPointType(0.0555555555556,0.722222222222,0.0238095238095),
234  IntegrationPointType(0.0555555555556,0.888888888889,0.0238095238095),
235  IntegrationPointType(0.222222222222,0.222222222222,0.0238095238095),
236  IntegrationPointType(0.222222222222,0.388888888889,0.0238095238095),
237  IntegrationPointType(0.222222222222,0.555555555556,0.0238095238095),
238  IntegrationPointType(0.222222222222,0.722222222222,0.0238095238095),
239  IntegrationPointType(0.222222222222,0.888888888889,0.0238095238095),
240  IntegrationPointType(0.388888888889,0.388888888889,0.0238095238095),
241  IntegrationPointType(0.388888888889,0.555555555556,0.0238095238095),
242  IntegrationPointType(0.388888888889,0.722222222222,0.0238095238095),
243  IntegrationPointType(0.388888888889,0.888888888889,0.0238095238095),
244  IntegrationPointType(0.555555555556,0.555555555556,0.0238095238095),
245  IntegrationPointType(0.555555555556,0.722222222222,0.0238095238095),
246  IntegrationPointType(0.555555555556,0.888888888889,0.0238095238095),
247  IntegrationPointType(0.722222222222,0.722222222222,0.0238095238095),
248  IntegrationPointType(0.722222222222,0.888888888889,0.0238095238095),
249  IntegrationPointType(0.888888888889,0.888888888889,0.0238095238095)
250  }};
251  return s_integration_points;
252  }
253 
254  std::string Info() const
255  {
256  std::stringstream buffer;
257  buffer << "Triangle Collocation quadrature 5 ";
258  return buffer.str();
259  }
260 
261 
262 }; // Class TriangleCollocationIntegrationPoints5
263 
264 
267 
268 
272 
273 
275 
276 
277 } // namespace Kratos.
278 
279 #endif // KRATOS_TRIANGLE_COLLOCATION_INTEGRATION_POINTS_H_INCLUDED defined
280 
281 
Short class definition.
Definition: integration_point.h:52
Point class.
Definition: point.h:59
Definition: triangle_collocation_integration_points.h:27
std::size_t SizeType
Definition: triangle_collocation_integration_points.h:30
std::string Info() const
Definition: triangle_collocation_integration_points.h:55
KRATOS_CLASS_POINTER_DEFINITION(TriangleCollocationIntegrationPoints1)
IntegrationPointType::PointType PointType
Definition: triangle_collocation_integration_points.h:38
IntegrationPoint< 2 > IntegrationPointType
Definition: triangle_collocation_integration_points.h:34
static const unsigned int Dimension
Definition: triangle_collocation_integration_points.h:32
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: triangle_collocation_integration_points.h:45
static SizeType IntegrationPointsNumber()
Definition: triangle_collocation_integration_points.h:40
std::array< IntegrationPointType, 3 > IntegrationPointsArrayType
Definition: triangle_collocation_integration_points.h:36
Definition: triangle_collocation_integration_points.h:67
IntegrationPointType::PointType PointType
Definition: triangle_collocation_integration_points.h:78
std::array< IntegrationPointType, 6 > IntegrationPointsArrayType
Definition: triangle_collocation_integration_points.h:76
std::string Info() const
Definition: triangle_collocation_integration_points.h:98
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: triangle_collocation_integration_points.h:85
static SizeType IntegrationPointsNumber()
Definition: triangle_collocation_integration_points.h:80
IntegrationPoint< 2 > IntegrationPointType
Definition: triangle_collocation_integration_points.h:74
static const unsigned int Dimension
Definition: triangle_collocation_integration_points.h:72
KRATOS_CLASS_POINTER_DEFINITION(TriangleCollocationIntegrationPoints2)
std::size_t SizeType
Definition: triangle_collocation_integration_points.h:70
Definition: triangle_collocation_integration_points.h:110
static const unsigned int Dimension
Definition: triangle_collocation_integration_points.h:115
static SizeType IntegrationPointsNumber()
Definition: triangle_collocation_integration_points.h:123
std::array< IntegrationPointType, 10 > IntegrationPointsArrayType
Definition: triangle_collocation_integration_points.h:119
std::size_t SizeType
Definition: triangle_collocation_integration_points.h:113
IntegrationPointType::PointType PointType
Definition: triangle_collocation_integration_points.h:121
KRATOS_CLASS_POINTER_DEFINITION(TriangleCollocationIntegrationPoints3)
std::string Info() const
Definition: triangle_collocation_integration_points.h:145
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: triangle_collocation_integration_points.h:128
IntegrationPoint< 2 > IntegrationPointType
Definition: triangle_collocation_integration_points.h:117
Definition: triangle_collocation_integration_points.h:157
static const unsigned int Dimension
Definition: triangle_collocation_integration_points.h:162
static SizeType IntegrationPointsNumber()
Definition: triangle_collocation_integration_points.h:170
std::string Info() const
Definition: triangle_collocation_integration_points.h:197
KRATOS_CLASS_POINTER_DEFINITION(TriangleCollocationIntegrationPoints4)
std::size_t SizeType
Definition: triangle_collocation_integration_points.h:160
std::array< IntegrationPointType, 15 > IntegrationPointsArrayType
Definition: triangle_collocation_integration_points.h:166
IntegrationPoint< 2 > IntegrationPointType
Definition: triangle_collocation_integration_points.h:164
IntegrationPointType::PointType PointType
Definition: triangle_collocation_integration_points.h:168
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: triangle_collocation_integration_points.h:175
Definition: triangle_collocation_integration_points.h:208
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: triangle_collocation_integration_points.h:226
KRATOS_CLASS_POINTER_DEFINITION(TriangleCollocationIntegrationPoints5)
static const unsigned int Dimension
Definition: triangle_collocation_integration_points.h:213
IntegrationPointType::PointType PointType
Definition: triangle_collocation_integration_points.h:219
std::size_t SizeType
Definition: triangle_collocation_integration_points.h:211
IntegrationPoint< 2 > IntegrationPointType
Definition: triangle_collocation_integration_points.h:215
std::array< IntegrationPointType, 21 > IntegrationPointsArrayType
Definition: triangle_collocation_integration_points.h:217
static SizeType IntegrationPointsNumber()
Definition: triangle_collocation_integration_points.h:221
std::string Info() const
Definition: triangle_collocation_integration_points.h:254
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21