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.
quadrilateral_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 
14 #if !defined(KRATOS_QUADRILATERAL_COLLOCATION_INTEGRATION_POINTS_H_INCLUDED )
15 #define KRATOS_QUADRILATERAL_COLLOCATION_INTEGRATION_POINTS_H_INCLUDED
16 
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
23 #include "integration/quadrature.h"
24 
25 
26 namespace Kratos
27 {
28 
30 {
31 public:
33  typedef std::size_t SizeType;
34 
35  static const unsigned int Dimension = 2;
36 
38 
39  typedef std::array<IntegrationPointType, 4> IntegrationPointsArrayType;
40 
42 
44  {
45  return 4;
46  }
47 
49  {
50  static const IntegrationPointsArrayType s_integration_points{{
51  IntegrationPointType(-0.500000000000,-0.500000000000,1.00000000000),
52  IntegrationPointType(-0.500000000000,0.500000000000,1.00000000000),
53  IntegrationPointType(0.500000000000,-0.500000000000,1.00000000000),
54  IntegrationPointType(0.500000000000,0.500000000000,1.00000000000)
55  }};
56  return s_integration_points;
57  }
58 
59  std::string Info() const
60  {
61  std::stringstream buffer;
62  buffer << "Quadrilateral Collocation quadrature 1 ";
63  return buffer.str();
64  }
65 
66 
67 }; // Class QuadrilateralCollocationIntegrationPoints1
68 
70 {
71 public:
73  typedef std::size_t SizeType;
74 
75  static const unsigned int Dimension = 2;
76 
78 
79  typedef std::array<IntegrationPointType, 9> IntegrationPointsArrayType;
80 
82 
84  {
85  return 9;
86  }
87 
89  {
90  static const IntegrationPointsArrayType s_integration_points{{
91  IntegrationPointType(-0.666666666667,-0.666666666667,0.444444444444),
92  IntegrationPointType(-0.666666666667,0,0.444444444444),
93  IntegrationPointType(-0.666666666667,0.666666666667,0.444444444444),
94  IntegrationPointType(0,-0.666666666667,0.444444444444),
95  IntegrationPointType(0,0,0.444444444444),
96  IntegrationPointType(0,0.666666666667,0.444444444444),
97  IntegrationPointType(0.666666666667,-0.666666666667,0.444444444444),
98  IntegrationPointType(0.666666666667,0,0.444444444444),
99  IntegrationPointType(0.666666666667,0.666666666667,0.444444444444)
100  }};
101  return s_integration_points;
102  }
103 
104  std::string Info() const
105  {
106  std::stringstream buffer;
107  buffer << "Quadrilateral Collocation quadrature 2 ";
108  return buffer.str();
109  }
110 
111 
112 }; // Class QuadrilateralCollocationIntegrationPoints2
113 
115 {
116 public:
118  typedef std::size_t SizeType;
119 
120  static const unsigned int Dimension = 2;
121 
123 
124  typedef std::array<IntegrationPointType, 16> IntegrationPointsArrayType;
125 
127 
129  {
130  return 16;
131  }
132 
134  {
135  static const IntegrationPointsArrayType s_integration_points{{
136  IntegrationPointType(-0.750000000000,-0.750000000000,0.250000000000),
137  IntegrationPointType(-0.750000000000,-0.250000000000,0.250000000000),
138  IntegrationPointType(-0.750000000000,0.250000000000,0.250000000000),
139  IntegrationPointType(-0.750000000000,0.750000000000,0.250000000000),
140  IntegrationPointType(-0.250000000000,-0.750000000000,0.250000000000),
141  IntegrationPointType(-0.250000000000,-0.250000000000,0.250000000000),
142  IntegrationPointType(-0.250000000000,0.250000000000,0.250000000000),
143  IntegrationPointType(-0.250000000000,0.750000000000,0.250000000000),
144  IntegrationPointType(0.250000000000,-0.750000000000,0.250000000000),
145  IntegrationPointType(0.250000000000,-0.250000000000,0.250000000000),
146  IntegrationPointType(0.250000000000,0.250000000000,0.250000000000),
147  IntegrationPointType(0.250000000000,0.750000000000,0.250000000000),
148  IntegrationPointType(0.750000000000,-0.750000000000,0.250000000000),
149  IntegrationPointType(0.750000000000,-0.250000000000,0.250000000000),
150  IntegrationPointType(0.750000000000,0.250000000000,0.250000000000),
151  IntegrationPointType(0.750000000000,0.750000000000,0.250000000000)
152  }};
153  return s_integration_points;
154  }
155 
156  std::string Info() const
157  {
158  std::stringstream buffer;
159  buffer << "Quadrilateral Collocation quadrature 3 ";
160  return buffer.str();
161  }
162 
163 
164 }; // Class QuadrilateralCollocationIntegrationPoints3
165 
167 {
168 public:
170  typedef std::size_t SizeType;
171 
172  static const unsigned int Dimension = 2;
173 
175 
176  typedef std::array<IntegrationPointType, 25> IntegrationPointsArrayType;
177 
179 
181  {
182  return 25;
183  }
184 
186  {
187  static const IntegrationPointsArrayType s_integration_points{{
188  IntegrationPointType(-0.800000000000,-0.800000000000,0.160000000000),
189  IntegrationPointType(-0.800000000000,-0.400000000000,0.160000000000),
190  IntegrationPointType(-0.800000000000, 0.000000000000,0.160000000000),
191  IntegrationPointType(-0.800000000000,0.400000000000,0.160000000000),
192  IntegrationPointType(-0.800000000000,0.800000000000,0.160000000000),
193  IntegrationPointType(-0.400000000000,-0.800000000000,0.160000000000),
194  IntegrationPointType(-0.400000000000,-0.400000000000,0.160000000000),
195  IntegrationPointType(-0.400000000000,0.000000000000,0.160000000000),
196  IntegrationPointType(-0.400000000000,0.400000000000,0.160000000000),
197  IntegrationPointType(-0.400000000000,0.800000000000,0.160000000000),
198  IntegrationPointType(0.0000000000000,-0.800000000000,0.160000000000),
199  IntegrationPointType(0.0000000000000,-0.400000000000,0.160000000000),
200  IntegrationPointType(0.0000000000000, 0.000000000000,0.160000000000),
201  IntegrationPointType(0.0000000000000, 0.400000000000,0.160000000000),
202  IntegrationPointType(0.0000000000000,0.800000000000,0.160000000000),
203  IntegrationPointType(0.400000000000,-0.800000000000,0.160000000000),
204  IntegrationPointType(0.400000000000,-0.400000000000,0.160000000000),
205  IntegrationPointType(0.400000000000, 0.000000000000,0.160000000000),
206  IntegrationPointType(0.400000000000,0.400000000000,0.160000000000),
207  IntegrationPointType(0.400000000000,0.800000000000,0.160000000000),
208  IntegrationPointType(0.800000000000,-0.800000000000,0.160000000000),
209  IntegrationPointType(0.800000000000,-0.400000000000,0.160000000000),
210  IntegrationPointType(0.800000000000, 0.000000000000,0.160000000000),
211  IntegrationPointType(0.800000000000,0.400000000000,0.160000000000),
212  IntegrationPointType(0.800000000000,0.800000000000,0.160000000000)
213  }};
214  return s_integration_points;
215  }
216 
217  std::string Info() const
218  {
219  std::stringstream buffer;
220  buffer << "Quadrilateral Collocation quadrature 4 ";
221  return buffer.str();
222  }
223 
224 
225 }; // Class QuadrilateralCollocationIntegrationPoints4
226 
228 public:
230  typedef std::size_t SizeType;
231 
232  static const unsigned int Dimension = 2;
233 
235 
236  typedef std::array<IntegrationPointType, 36> IntegrationPointsArrayType;
237 
239 
241  {
242  return 36;
243  }
244 
246  {
247  static const IntegrationPointsArrayType s_integration_points{{
248  IntegrationPointType(-0.833333333333,-0.833333333333,0.111111111111),
249  IntegrationPointType(-0.833333333333,-0.500000000000,0.111111111111),
250  IntegrationPointType(-0.833333333333,-0.166666666667,0.111111111111),
251  IntegrationPointType(-0.833333333333,0.166666666667,0.111111111111),
252  IntegrationPointType(-0.833333333333,0.500000000000,0.111111111111),
253  IntegrationPointType(-0.833333333333,0.833333333333,0.111111111111),
254  IntegrationPointType(-0.500000000000,-0.833333333333,0.111111111111),
255  IntegrationPointType(-0.500000000000,-0.500000000000,0.111111111111),
256  IntegrationPointType(-0.500000000000,-0.166666666667,0.111111111111),
257  IntegrationPointType(-0.500000000000,0.166666666667,0.111111111111),
258  IntegrationPointType(-0.500000000000,0.500000000000,0.111111111111),
259  IntegrationPointType(-0.500000000000,0.833333333333,0.111111111111),
260  IntegrationPointType(-0.166666666667,-0.833333333333,0.111111111111),
261  IntegrationPointType(-0.166666666667,-0.500000000000,0.111111111111),
262  IntegrationPointType(-0.166666666667,-0.166666666667,0.111111111111),
263  IntegrationPointType(-0.166666666667,0.166666666667,0.111111111111),
264  IntegrationPointType(-0.166666666667,0.500000000000,0.111111111111),
265  IntegrationPointType(-0.166666666667,0.833333333333,0.111111111111),
266  IntegrationPointType(0.166666666667,-0.833333333333,0.111111111111),
267  IntegrationPointType(0.166666666667,-0.500000000000,0.111111111111),
268  IntegrationPointType(0.166666666667,-0.166666666667,0.111111111111),
269  IntegrationPointType(0.166666666667,0.166666666667,0.111111111111),
270  IntegrationPointType(0.166666666667,0.500000000000,0.111111111111),
271  IntegrationPointType(0.166666666667,0.833333333333,0.111111111111),
272  IntegrationPointType(0.500000000000,-0.833333333333,0.111111111111),
273  IntegrationPointType(0.500000000000,-0.500000000000,0.111111111111),
274  IntegrationPointType(0.500000000000,-0.166666666667,0.111111111111),
275  IntegrationPointType(0.500000000000,0.166666666667,0.111111111111),
276  IntegrationPointType(0.500000000000,0.500000000000,0.111111111111),
277  IntegrationPointType(0.500000000000,0.833333333333,0.111111111111),
278  IntegrationPointType(0.833333333333,-0.833333333333,0.111111111111),
279  IntegrationPointType(0.833333333333,-0.500000000000,0.111111111111),
280  IntegrationPointType(0.833333333333,-0.166666666667,0.111111111111),
281  IntegrationPointType(0.833333333333,0.166666666667,0.111111111111),
282  IntegrationPointType(0.833333333333,0.500000000000,0.111111111111),
283  IntegrationPointType(0.833333333333,0.833333333333,0.111111111111)
284  }};
285  return s_integration_points;
286  }
287 
288  std::string Info() const
289  {
290  std::stringstream buffer;
291  buffer << "Quadrilateral Collocation quadrature 5 ";
292  return buffer.str();
293  }
294 
295 
296 }; // Class QuadrilateralCollocationIntegrationPoints5
297 
298 
301 
302 
306 
307 
309 
310 
311 } // namespace Kratos.
312 
313 #endif // KRATOS_QUADRILATERAL_COLLOCATION_INTEGRATION_POINTS_H_INCLUDED defined
314 
315 
Short class definition.
Definition: integration_point.h:52
Point class.
Definition: point.h:59
Definition: quadrilateral_collocation_integration_points.h:30
IntegrationPoint< 2 > IntegrationPointType
Definition: quadrilateral_collocation_integration_points.h:37
IntegrationPointType::PointType PointType
Definition: quadrilateral_collocation_integration_points.h:41
static SizeType IntegrationPointsNumber()
Definition: quadrilateral_collocation_integration_points.h:43
static const unsigned int Dimension
Definition: quadrilateral_collocation_integration_points.h:35
std::array< IntegrationPointType, 4 > IntegrationPointsArrayType
Definition: quadrilateral_collocation_integration_points.h:39
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: quadrilateral_collocation_integration_points.h:48
std::size_t SizeType
Definition: quadrilateral_collocation_integration_points.h:33
KRATOS_CLASS_POINTER_DEFINITION(QuadrilateralCollocationIntegrationPoints1)
std::string Info() const
Definition: quadrilateral_collocation_integration_points.h:59
Definition: quadrilateral_collocation_integration_points.h:70
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: quadrilateral_collocation_integration_points.h:88
std::string Info() const
Definition: quadrilateral_collocation_integration_points.h:104
IntegrationPoint< 2 > IntegrationPointType
Definition: quadrilateral_collocation_integration_points.h:77
std::size_t SizeType
Definition: quadrilateral_collocation_integration_points.h:73
IntegrationPointType::PointType PointType
Definition: quadrilateral_collocation_integration_points.h:81
KRATOS_CLASS_POINTER_DEFINITION(QuadrilateralCollocationIntegrationPoints2)
static const unsigned int Dimension
Definition: quadrilateral_collocation_integration_points.h:75
static SizeType IntegrationPointsNumber()
Definition: quadrilateral_collocation_integration_points.h:83
std::array< IntegrationPointType, 9 > IntegrationPointsArrayType
Definition: quadrilateral_collocation_integration_points.h:79
Definition: quadrilateral_collocation_integration_points.h:115
std::array< IntegrationPointType, 16 > IntegrationPointsArrayType
Definition: quadrilateral_collocation_integration_points.h:124
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: quadrilateral_collocation_integration_points.h:133
std::string Info() const
Definition: quadrilateral_collocation_integration_points.h:156
std::size_t SizeType
Definition: quadrilateral_collocation_integration_points.h:118
static SizeType IntegrationPointsNumber()
Definition: quadrilateral_collocation_integration_points.h:128
static const unsigned int Dimension
Definition: quadrilateral_collocation_integration_points.h:120
KRATOS_CLASS_POINTER_DEFINITION(QuadrilateralCollocationIntegrationPoints3)
IntegrationPoint< 2 > IntegrationPointType
Definition: quadrilateral_collocation_integration_points.h:122
IntegrationPointType::PointType PointType
Definition: quadrilateral_collocation_integration_points.h:126
Definition: quadrilateral_collocation_integration_points.h:167
std::array< IntegrationPointType, 25 > IntegrationPointsArrayType
Definition: quadrilateral_collocation_integration_points.h:176
KRATOS_CLASS_POINTER_DEFINITION(QuadrilateralCollocationIntegrationPoints4)
static const unsigned int Dimension
Definition: quadrilateral_collocation_integration_points.h:172
static SizeType IntegrationPointsNumber()
Definition: quadrilateral_collocation_integration_points.h:180
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: quadrilateral_collocation_integration_points.h:185
IntegrationPointType::PointType PointType
Definition: quadrilateral_collocation_integration_points.h:178
std::string Info() const
Definition: quadrilateral_collocation_integration_points.h:217
std::size_t SizeType
Definition: quadrilateral_collocation_integration_points.h:170
IntegrationPoint< 2 > IntegrationPointType
Definition: quadrilateral_collocation_integration_points.h:174
Definition: quadrilateral_collocation_integration_points.h:227
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: quadrilateral_collocation_integration_points.h:245
std::array< IntegrationPointType, 36 > IntegrationPointsArrayType
Definition: quadrilateral_collocation_integration_points.h:236
KRATOS_CLASS_POINTER_DEFINITION(QuadrilateralCollocationIntegrationPoints5)
static SizeType IntegrationPointsNumber()
Definition: quadrilateral_collocation_integration_points.h:240
IntegrationPointType::PointType PointType
Definition: quadrilateral_collocation_integration_points.h:238
IntegrationPoint< 2 > IntegrationPointType
Definition: quadrilateral_collocation_integration_points.h:234
std::string Info() const
Definition: quadrilateral_collocation_integration_points.h:288
static const unsigned int Dimension
Definition: quadrilateral_collocation_integration_points.h:232
std::size_t SizeType
Definition: quadrilateral_collocation_integration_points.h:230
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21