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.
prism_gauss_lobatto_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_PRISM_GAUSS_LOBATTO_INTEGRATION_POINTS_H_INCLUDED )
15 #define KRATOS_PRISM_GAUSS_LOBATTO_INTEGRATION_POINTS_H_INCLUDED
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "integration/quadrature.h"
23 
24 //TO BE COMPLETED: Only the needed ones have been implemented
25 
26 namespace Kratos
27 {
28 
30 {
31 public:
33  typedef std::size_t SizeType;
34 
35  static const unsigned int Dimension = 3;
36 
38 
39  typedef std::array<IntegrationPointType, 3> IntegrationPointsArrayType;
40 
42 
44  {
45  return 3;
46  }
47 
49  {
50  static const IntegrationPointsArrayType s_integration_points{{
51  IntegrationPointType( 0.0 , 0.0 , 0.5 , 1.00 / 6.00 ),
52  IntegrationPointType( 1.0 , 0.0 , 0.5 , 1.00 / 6.00 ),
53  IntegrationPointType( 0.0 , 1.0 , 0.5 , 1.00 / 6.00 )
54  }};
55  return s_integration_points;
56  }
57 
58  std::string Info() const
59  {
60  std::stringstream buffer;
61  buffer << "Prism Gauss-Lobatto quadrature 1 ";
62  return buffer.str();
63  }
64 
65 
66 }; // Class PrismGaussLobattoIntegrationPoints1
67 
69 {
70 public:
72  typedef std::size_t SizeType;
73 
74  static const unsigned int Dimension = 3;
75 
77 
78  typedef std::array<IntegrationPointType, 6> IntegrationPointsArrayType;
79 
81 
83  {
84  return 6;
85  }
86 
88  {
89  static const IntegrationPointsArrayType s_integration_points{{
90  IntegrationPointType( 0.0 , 0.0 , 0.0 , 1.00 / 12.00 ),
91  IntegrationPointType( 1.0 , 0.0 , 0.0 , 1.00 / 12.00 ),
92  IntegrationPointType( 0.0 , 1.0 , 0.0 , 1.00 / 12.00 ),
93  IntegrationPointType( 0.0 , 0.0 , 1.0 , 1.00 / 12.00 ),
94  IntegrationPointType( 1.0 , 0.0 , 1.0 , 1.00 / 12.00 ),
95  IntegrationPointType( 0.0 , 1.0 , 1.0 , 1.00 / 12.00 )
96  }};
97  return s_integration_points;
98  }
99 
100  std::string Info() const
101  {
102  std::stringstream buffer;
103  buffer << "Prism Gauss-Lobatto quadrature 2 ";
104  return buffer.str();
105  }
106 
107 
108 }; // Class PrismGaussLobattoIntegrationPoints2
109 
110 
111 
112 }
113 
114 #endif // KRATOS_PRISM_GAUSS_LOBATTO_INTEGRATION_POINTS_H_INCLUDED defined
115 
116 
Short class definition.
Definition: integration_point.h:52
Point class.
Definition: point.h:59
Definition: prism_gauss_lobatto_integration_points.h:30
static SizeType IntegrationPointsNumber()
Definition: prism_gauss_lobatto_integration_points.h:43
KRATOS_CLASS_POINTER_DEFINITION(PrismGaussLobattoIntegrationPoints1)
IntegrationPoint< 3 > IntegrationPointType
Definition: prism_gauss_lobatto_integration_points.h:37
IntegrationPointType::PointType PointType
Definition: prism_gauss_lobatto_integration_points.h:41
std::size_t SizeType
Definition: prism_gauss_lobatto_integration_points.h:33
std::array< IntegrationPointType, 3 > IntegrationPointsArrayType
Definition: prism_gauss_lobatto_integration_points.h:39
static const unsigned int Dimension
Definition: prism_gauss_lobatto_integration_points.h:35
std::string Info() const
Definition: prism_gauss_lobatto_integration_points.h:58
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: prism_gauss_lobatto_integration_points.h:48
Definition: prism_gauss_lobatto_integration_points.h:69
static const IntegrationPointsArrayType & IntegrationPoints()
Definition: prism_gauss_lobatto_integration_points.h:87
KRATOS_CLASS_POINTER_DEFINITION(PrismGaussLobattoIntegrationPoints2)
std::string Info() const
Definition: prism_gauss_lobatto_integration_points.h:100
std::array< IntegrationPointType, 6 > IntegrationPointsArrayType
Definition: prism_gauss_lobatto_integration_points.h:78
std::size_t SizeType
Definition: prism_gauss_lobatto_integration_points.h:72
static SizeType IntegrationPointsNumber()
Definition: prism_gauss_lobatto_integration_points.h:82
IntegrationPointType::PointType PointType
Definition: prism_gauss_lobatto_integration_points.h:80
static const unsigned int Dimension
Definition: prism_gauss_lobatto_integration_points.h:74
IntegrationPoint< 3 > IntegrationPointType
Definition: prism_gauss_lobatto_integration_points.h:76
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21