11 #if !defined(KRATOS_INTEGRATION_INFO_H_INCLUDED )
12 #define KRATOS_INTEGRATION_INFO_H_INCLUDED
75 SizeType NumberOfIntegrationPointsPerSpan,
76 QuadratureMethod ThisQuadratureMethod = QuadratureMethod::GAUSS);
79 const std::vector<SizeType>& NumberOfIntegrationPointsPerSpanVector,
80 const std::vector<QuadratureMethod>& ThisQuadratureMethodVector);
88 return mNumberOfIntegrationPointsPerSpanVector.size();
95 void SetIntegrationMethod(
101 void SetNumberOfIntegrationPointsPerSpan(
IndexType DimensionIndex,
102 SizeType NumberOfIntegrationPointsPerSpan);
106 return mQuadratureMethodVector[DimensionIndex];
109 void SetQuadratureMethod(
IndexType DimensionIndex,
110 QuadratureMethod ThisQuadratureMethod);
122 SizeType NumberOfIntegrationPointsPerSpan,
125 switch (NumberOfIntegrationPointsPerSpan) {
127 if (ThisQuadratureMethod == QuadratureMethod::GAUSS) {
135 if (ThisQuadratureMethod == QuadratureMethod::GAUSS) {
143 if (ThisQuadratureMethod == QuadratureMethod::GAUSS) {
151 if (ThisQuadratureMethod == QuadratureMethod::GAUSS) {
159 if (ThisQuadratureMethod == QuadratureMethod::GAUSS) {
171 <<
"Chosen combination of number of points per span and quadrature method does not has a corresponding IntegrationMethod in the KRATOS core."
172 <<
"NumberOfIntegrationPointsPerSpan: " << NumberOfIntegrationPointsPerSpan << std::endl;
181 std::string
Info()
const override
183 std::stringstream buffer;
184 buffer <<
" Integration info with local space dimension: " << mNumberOfIntegrationPointsPerSpanVector.size()
185 <<
" and number of integration points per spans: " << mNumberOfIntegrationPointsPerSpanVector;
192 rOStream <<
" Integration info with local space dimension: " << mNumberOfIntegrationPointsPerSpanVector.size()
193 <<
" and number of integration points per spans: " << mNumberOfIntegrationPointsPerSpanVector;
199 rOStream <<
" Integration info with local space dimension: " << mNumberOfIntegrationPointsPerSpanVector.size()
200 <<
" and number of integration points per spans: " << mNumberOfIntegrationPointsPerSpanVector;
209 std::vector<SizeType> mNumberOfIntegrationPointsPerSpanVector;
211 std::vector<QuadratureMethod> mQuadratureMethodVector;
223 template<std::
size_t TDimension,
class TDataType,
class TWeightType>
227 template<std::
size_t TDimension,
class TDataType,
class TWeightType>
std::size_t IndexType
Definition: flags.h:74
IntegrationMethod
Definition: geometry_data.h:76
@ NumberOfIntegrationMethods
Integration information for the creation of integration points.
Definition: integration_info.h:35
std::string Info() const override
Turn back information as a string.
Definition: integration_info.h:181
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: integration_info.h:190
GeometryData::IntegrationMethod IntegrationMethod
Integration methods implemented specified within enum.
Definition: integration_info.h:47
SizeType LocalSpaceDimension()
Definition: integration_info.h:86
QuadratureMethod GetQuadratureMethod(IndexType DimensionIndex) const
Definition: integration_info.h:104
KRATOS_CLASS_POINTER_DEFINITION(IntegrationInfo)
Pointer definition of IntegrationPoint.
KRATOS_DEFINE_LOCAL_FLAG(DO_NOT_CREATE_TESSELLATION_ON_SLAVE)
Point::IndexType SizeType
Definition: integration_info.h:43
Point::IndexType IndexType
Definition: integration_info.h:44
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: integration_info.h:197
static IntegrationMethod GetIntegrationMethod(SizeType NumberOfIntegrationPointsPerSpan, QuadratureMethod ThisQuadratureMethod)
Definition: integration_info.h:121
QuadratureMethod
Definition: integration_info.h:60
std::size_t IndexType
Definition: point.h:79
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
#define KRATOS_WARNING(label)
Definition: logger.h:265
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432