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.
line_gauss_legendre_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: Josep Maria Carbonell
11 //
12 //
13 
14 #if !defined(KRATOS_LINE_GAUSS_LEGENDRE_INTEGRATION_POINTS_H_INCLUDED )
15 #define KRATOS_LINE_GAUSS_LEGENDRE_INTEGRATION_POINTS_H_INCLUDED
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "integration/quadrature.h"
23 
24 namespace Kratos
25 {
27 {
28 public:
30  typedef std::size_t SizeType;
31 
32  static const unsigned int Dimension = 1;
33 
35 
36  typedef std::array<IntegrationPointType, 1> IntegrationPointsArrayType;
37 
39 
41  {
42  return 1;
43  }
44 
46  {
47  static const IntegrationPointsArrayType s_integration_points{{
48  IntegrationPointType(0.00, 2.00)
49  }};
50  return s_integration_points;
51  }
52 
53  std::string Info() const
54  {
55  std::stringstream buffer;
56  buffer << "Line Gauss-Legendre quadrature 1 ";
57  return buffer.str();
58  }
59 
60 
61 }; // Class LineGaussLegendreIntegrationPoints1
62 
63 
65 {
66 public:
68  typedef std::size_t SizeType;
69 
70  static const unsigned int Dimension = 1;
71 
73 
74  typedef std::array<IntegrationPointType, 2> IntegrationPointsArrayType;
75 
77 
79  {
80  return 2;
81  }
82 
84  {
85  static const IntegrationPointsArrayType s_integration_points{{
86  IntegrationPointType(-std::sqrt(1.00 / 3.00), 1.00),
87  IntegrationPointType( std::sqrt(1.00 / 3.00), 1.00)
88  }};
89  return s_integration_points;
90  }
91 
92  std::string Info() const
93  {
94  std::stringstream buffer;
95  buffer << "Line Gauss-Legendre quadrature 2 ";
96  return buffer.str();
97  }
98 
99 
100 }; // Class LineGaussLegendreIntegrationPoints2
101 
102 
104 {
105 public:
107  typedef std::size_t SizeType;
108 
109  static const unsigned int Dimension = 1;
110 
112 
113  typedef std::array<IntegrationPointType, 3> IntegrationPointsArrayType;
114 
116 
118  {
119  return 3;
120  }
121 
123  {
124  static const IntegrationPointsArrayType s_integration_points{{
125  IntegrationPointType(-std::sqrt(3.00 / 5.00), 5.00 / 9.00),
126  IntegrationPointType( 0.00 , 8.00 / 9.00),
127  IntegrationPointType( std::sqrt(3.00 / 5.00), 5.00 / 9.00)
128  }};
129  return s_integration_points;
130  }
131 
132  std::string Info() const
133  {
134  std::stringstream buffer;
135  buffer << "Line Gauss-Legendre quadrature 3 ";
136  return buffer.str();
137  }
138 
139 
140 }; // Class LineGaussLegendreIntegrationPoints3
141 
142 
143 
145 {
146 public:
148  typedef std::size_t SizeType;
149 
150  static const unsigned int Dimension = 1;
151 
153 
154  typedef std::array<IntegrationPointType, 4> IntegrationPointsArrayType;
155 
157 
159  {
160  return 4;
161  }
162 
164  {
165  static const IntegrationPointsArrayType s_integration_points{{
166  IntegrationPointType(-0.861136311594053, 0.347854845137454),
167  IntegrationPointType(-0.339981043584856, 0.652145154862546),
168  IntegrationPointType( 0.339981043584856, 0.652145154862546),
169  IntegrationPointType( 0.861136311594053, 0.347854845137454)
170  }};
171  return s_integration_points;
172  }
173 
174  std::string Info() const
175  {
176  std::stringstream buffer;
177  buffer << "Line Gauss-Legendre quadrature 4 ";
178  return buffer.str();
179  }
180 
181 
182 }; // Class LineGaussLegendreIntegrationPoints4
183 
184 
185 
187 {
188 public:
190  typedef std::size_t SizeType;
191 
192  static const unsigned int Dimension = 1;
193 
195 
196  typedef std::array<IntegrationPointType, 5> IntegrationPointsArrayType;
197 
199 
201  {
202  return 5;
203  }
204 
206  {
207  static const IntegrationPointsArrayType s_integration_points{{
208  IntegrationPointType(-0.906179845938664, 0.236926885056189),
209  IntegrationPointType(-0.538469310105683, 0.478628670499366),
210  IntegrationPointType( 0.000000000000000, 0.568888888888889),
211  IntegrationPointType( 0.538469310105683, 0.478628670499366),
212  IntegrationPointType( 0.906179845938664, 0.236926885056189)
213  }};
214  return s_integration_points;
215  }
216 
217  std::string Info() const
218  {
219  std::stringstream buffer;
220  buffer << "Line Gauss-Legendre quadrature 5 ";
221  return buffer.str();
222  }
223 
224 
225 }; // Class LineGaussLegendreIntegrationPoints4
226 
227 
228 
230 {
231 public:
233  typedef std::size_t SizeType;
234 
235  static const unsigned int Dimension = 1;
236 
238 
239  typedef std::array<IntegrationPointType, 6> IntegrationPointsArrayType;
240 
242 
244  {
245  return 6;
246  }
247 
249  {
250  static const IntegrationPointsArrayType s_integration_points{{
251  IntegrationPointType(-0.9324695142031521, 0.1713244923791704),
252  IntegrationPointType(-0.6612093864662645, 0.3607615730481386),
253  IntegrationPointType(-0.2386191860831969, 0.4679139345726910),
254  IntegrationPointType( 0.2386191860831969, 0.4679139345726910),
255  IntegrationPointType( 0.6612093864662645, 0.3607615730481386),
256  IntegrationPointType( 0.9324695142031521, 0.1713244923791704)
257  }};
258  return s_integration_points;
259  }
260 
261  std::string Info() const
262  {
263  std::stringstream buffer;
264  buffer << "Line Gauss-Legendre quadrature 6 ";
265  return buffer.str();
266  }
267 
268 
269 }; // Class LineGaussLegendreIntegrationPoints6
270 
271 
272 
274 {
275 public:
277  typedef std::size_t SizeType;
278 
279  static const unsigned int Dimension = 1;
280 
282 
283  typedef std::array<IntegrationPointType, 7> IntegrationPointsArrayType;
284 
286 
288  {
289  return 7;
290  }
291 
293  {
294  static const IntegrationPointsArrayType s_integration_points{{
295  IntegrationPointType(-0.9491079123427585, 0.1294849661688697),
296  IntegrationPointType(-0.7415311855993945, 0.2797053914892766),
297  IntegrationPointType(-0.4058451513773972, 0.3818300505051189),
298  IntegrationPointType( 0.0000000000000000, 0.4179591836734694),
299  IntegrationPointType( 0.4058451513773972, 0.3818300505051189),
300  IntegrationPointType( 0.7415311855993945, 0.2797053914892766),
301  IntegrationPointType( 0.9491079123427585, 0.1294849661688697)
302  }};
303  return s_integration_points;
304  }
305 
306  std::string Info() const
307  {
308  std::stringstream buffer;
309  buffer << "Line Gauss-Legendre quadrature 7 ";
310  return buffer.str();
311  }
312 
313 
314 }; // Class LineGaussLegendreIntegrationPoints7
315 
316 
317 
319 {
320 public:
322  typedef std::size_t SizeType;
323 
324  static const unsigned int Dimension = 1;
325 
327 
328  typedef std::array<IntegrationPointType, 8> IntegrationPointsArrayType;
329 
331 
333  {
334  return 8;
335  }
336 
338  {
339  static const IntegrationPointsArrayType s_integration_points{{
340  IntegrationPointType(-0.9602898564975363, 0.1012285362903763),
341  IntegrationPointType(-0.7966664774136267, 0.2223810344533745),
342  IntegrationPointType(-0.5255324099163290, 0.3137066458778873),
343  IntegrationPointType(-0.1834346424956498, 0.3626837833783620),
344  IntegrationPointType( 0.1834346424956498, 0.3626837833783620),
345  IntegrationPointType( 0.5255324099163290, 0.3137066458778873),
346  IntegrationPointType( 0.7966664774136267, 0.2223810344533745),
347  IntegrationPointType( 0.9602898564975363, 0.1012285362903763)
348  }};
349  return s_integration_points;
350  }
351 
352  std::string Info() const
353  {
354  std::stringstream buffer;
355  buffer << "Line Gauss-Legendre quadrature 8 ";
356  return buffer.str();
357  }
358 
359 
360 }; // Class LineGaussLegendreIntegrationPoints8
361 
362 
363 
365 {
366 public:
368  typedef std::size_t SizeType;
369 
370  static const unsigned int Dimension = 1;
371 
373 
374  typedef std::array<IntegrationPointType, 9> IntegrationPointsArrayType;
375 
377 
379  {
380  return 9;
381  }
382 
384  {
385  static const IntegrationPointsArrayType s_integration_points{{
386  IntegrationPointType(-0.9681602395076261, 0.0812743883615744),
387  IntegrationPointType(-0.8360311073266358, 0.1806481606948574),
388  IntegrationPointType(-0.6133714327005904, 0.2606106964029354),
389  IntegrationPointType(-0.3242534234038089, 0.3123470770400029),
390  IntegrationPointType( 0.0000000000000000, 0.3302393550012598),
391  IntegrationPointType( 0.3242534234038089, 0.3123470770400029),
392  IntegrationPointType( 0.6133714327005904, 0.2606106964029354),
393  IntegrationPointType( 0.8360311073266358, 0.1806481606948574),
394  IntegrationPointType( 0.9681602395076261, 0.0812743883615744)
395  }};
396  return s_integration_points;
397  }
398 
399  std::string Info() const
400  {
401  std::stringstream buffer;
402  buffer << "Line Gauss-Legendre quadrature 9 ";
403  return buffer.str();
404  }
405 
406 
407 }; // Class LineGaussLegendreIntegrationPoints9
408 
409 
410 
412 {
413 public:
415  typedef std::size_t SizeType;
416 
417  static const unsigned int Dimension = 1;
418 
420 
421  typedef std::array<IntegrationPointType, 10> IntegrationPointsArrayType;
422 
424 
426  {
427  return 10;
428  }
429 
431  {
432  static const IntegrationPointsArrayType s_integration_points{{
433  IntegrationPointType(-0.9739065285171717, 0.0666713443086881),
434  IntegrationPointType(-0.8650633666889845, 0.1494513491505806),
435  IntegrationPointType(-0.6794095682990244, 0.2190863625159820),
436  IntegrationPointType(-0.4333953941292472, 0.2692667193099963),
437  IntegrationPointType(-0.1488743389816312, 0.2955242247147529),
438  IntegrationPointType( 0.1488743389816312, 0.2955242247147529),
439  IntegrationPointType( 0.4333953941292472, 0.2692667193099963),
440  IntegrationPointType( 0.6794095682990244, 0.2190863625159820),
441  IntegrationPointType( 0.8650633666889845, 0.1494513491505806),
442  IntegrationPointType( 0.9739065285171717, 0.0666713443086881)
443  }};
444  return s_integration_points;
445  }
446 
447  std::string Info() const
448  {
449  std::stringstream buffer;
450  buffer << "Line Gauss-Legendre quadrature 10 ";
451  return buffer.str();
452  }
453 
454 
455 }; // Class LineGaussLegendreIntegrationPoints10
456 
457 
460 
464 
468 
472 
476 
480 
481 
485 
486 
488 
489 
490 } // namespace Kratos.
491 
492 #endif // KRATOS_LINE_GAUSS_LEGENDRE_INTEGRATION_POINTS_H_INCLUDED defined
493 
494 
Short class definition.
Definition: integration_point.h:52
Definition: line_gauss_legendre_integration_points.h:412
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:415
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:430
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:425
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:447
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:417
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints10)
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:423
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:419
std::array< IntegrationPointType, 10 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:421
Definition: line_gauss_legendre_integration_points.h:27
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:45
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:30
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints1)
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:32
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:38
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:53
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:34
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:40
std::array< IntegrationPointType, 1 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:36
Definition: line_gauss_legendre_integration_points.h:65
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:92
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:83
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:70
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:72
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:68
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:78
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints2)
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:76
std::array< IntegrationPointType, 2 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:74
Definition: line_gauss_legendre_integration_points.h:104
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:115
std::array< IntegrationPointType, 3 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:113
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:132
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:117
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:107
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:111
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints3)
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:122
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:109
Definition: line_gauss_legendre_integration_points.h:145
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints4)
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:163
std::array< IntegrationPointType, 4 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:154
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:152
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:150
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:156
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:158
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:148
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:174
Definition: line_gauss_legendre_integration_points.h:187
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:217
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:205
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:192
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:198
std::array< IntegrationPointType, 5 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:196
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:190
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints5)
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:200
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:194
Definition: line_gauss_legendre_integration_points.h:230
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:248
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:261
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:235
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:241
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:243
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints6)
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:233
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:237
std::array< IntegrationPointType, 6 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:239
Definition: line_gauss_legendre_integration_points.h:274
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:279
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:277
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:285
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:306
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:292
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:287
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:281
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints7)
std::array< IntegrationPointType, 7 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:283
Definition: line_gauss_legendre_integration_points.h:319
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints8)
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:324
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:322
std::array< IntegrationPointType, 8 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:328
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:330
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:326
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:352
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:337
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:332
Definition: line_gauss_legendre_integration_points.h:365
IntegrationPointType::PointType PointType
Definition: line_gauss_legendre_integration_points.h:376
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: line_gauss_legendre_integration_points.h:383
static SizeType IntegrationPointsNumber()
Definition: line_gauss_legendre_integration_points.h:378
std::string Info() const
Definition: line_gauss_legendre_integration_points.h:399
KRATOS_CLASS_POINTER_DEFINITION(LineGaussLegendreIntegrationPoints9)
std::array< IntegrationPointType, 9 > IntegrationPointsArrayType
Definition: line_gauss_legendre_integration_points.h:374
static const unsigned int Dimension
Definition: line_gauss_legendre_integration_points.h:370
std::size_t SizeType
Definition: line_gauss_legendre_integration_points.h:368
IntegrationPoint< 1 > IntegrationPointType
Definition: line_gauss_legendre_integration_points.h:372
Point class.
Definition: point.h:59
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21