13 #if !defined(KRATOS_MODIFIED_SHAPE_FUNCTIONS)
14 #define KRATOS_MODIFIED_SHAPE_FUNCTIONS
92 virtual std::string
Info()
const;
95 virtual void PrintInfo(std::ostream& rOStream)
const;
98 virtual void PrintData(std::ostream& rOStream)
const;
121 const Vector& GetNodalDistances()
const;
128 double ComputePositiveSideDomainSize()
const;
135 double ComputeNegativeSideDomainSize()
const;
137 void ComputePositiveSideShapeFunctionsAndWeights(
138 Matrix &rPositiveSideShapeFunctionsValues,
139 Vector &rPositiveSideWeightsValues,
142 void ComputeNegativeSideShapeFunctionsAndWeights(
143 Matrix &rNegativeSideShapeFunctionsValues,
144 Vector &rNegativeSideWeightsValues,
154 void ComputePositiveSideShapeFunctionsAndGradientsValues(
155 Matrix &rPositiveSideShapeFunctionsValues,
157 Vector &rPositiveSideWeightsValues,
167 void ComputeNegativeSideShapeFunctionsAndGradientsValues(
168 Matrix &rNegativeSideShapeFunctionsValues,
170 Vector &rNegativeSideWeightsValues,
180 void ComputeInterfacePositiveSideShapeFunctionsAndGradientsValues(
181 Matrix &rInterfacePositiveSideShapeFunctionsValues,
183 Vector &rInterfacePositiveSideWeightsValues,
193 void ComputeInterfaceNegativeSideShapeFunctionsAndGradientsValues(
194 Matrix &rInterfaceNegativeSideShapeFunctionsValues,
196 Vector &rInterfaceNegativeSideWeightsValues,
207 void ComputePositiveExteriorFaceShapeFunctionsAndGradientsValues(
208 Matrix &rPositiveExteriorFaceShapeFunctionsValues,
210 Vector &rPositiveExteriorFaceWeightsValues,
211 const unsigned int FaceId,
222 void ComputeNegativeExteriorFaceShapeFunctionsAndGradientsValues(
223 Matrix &rNegativeExteriorFaceShapeFunctionsValues,
225 Vector &rNegativeExteriorFaceWeightsValues,
226 const unsigned int FaceId,
234 void ComputePositiveSideInterfaceAreaNormals(
243 void ComputeNegativeSideInterfaceAreaNormals(
253 void ComputePositiveExteriorFaceAreaNormals(
255 const unsigned int FaceId,
264 void ComputeNegativeExteriorFaceAreaNormals(
266 const unsigned int FaceId,
274 void ComputeShapeFunctionsOnPositiveEdgeIntersections(
Matrix &rPositiveEdgeIntersectionsShapeFunctionsValues);
281 void ComputeShapeFunctionsOnNegativeEdgeIntersections(
Matrix &rNegativeEdgeIntersectionsShapeFunctionsValues);
286 bool IsSplit()
const;
314 KRATOS_ERROR <<
"Calling base class \'SetCondensationMatrix\'. Call the derived class one instead." << std::endl;
325 KRATOS_ERROR <<
"Calling base class \'SetPositiveSideCondensationMatrix\'. Call the derived class one instead." << std::endl;
336 KRATOS_ERROR <<
"Calling base class \'SetNegativeSideCondensationMatrix\'. Call the derived class one instead." << std::endl;
348 void SetCondensationMatrix(
349 Matrix& rIntPointCondMatrix,
350 const std::vector<int>& rEdgeNodeI,
351 const std::vector<int>& rEdgeNodeJ,
352 const std::vector<int>& rSplitEdges);
363 void ComputeValuesOnOneSide(
364 Matrix &rShapeFunctionsValues,
365 ShapeFunctionsGradientsType &rShapeFunctionsGradientsValues,
367 const std::vector<IndexedPointGeometryPointerType> &rSubdivisionsVector,
382 void ComputeFaceValuesOnOneSide(
383 Matrix &rInterfaceShapeFunctionsValues,
384 ShapeFunctionsGradientsType &rInterfaceShapeFunctionsGradientsValues,
385 Vector &rInterfaceWeightsValues,
386 const std::vector<IndexedPointGeometryPointerType> &rInterfacesVector,
387 const std::vector<IndexedPointGeometryPointerType> &rParentGeometriesVector,
388 const std::vector<unsigned int> &rInterfacesParentIdsVector,
398 void ComputeFaceNormalOnOneSide(
399 AreaNormalsContainerType& rInterfaceAreaNormalValues,
400 const std::vector<IndexedPointGeometryPointerType> &rInterfacesVector,
408 void ComputeEdgeIntersectionValuesOnOneSide(
410 Matrix &rEdgeShapeFunctionValues);
435 const Vector mNodalDistances;
455 double ComputeDomainSizeOnOneSide(
const std::vector<IndexedPointGeometryPointerType> &rSubdivisionsVector)
const;
466 void ComputeValuesOnOneSide(
467 Matrix &rShapeFunctionsValues,
469 const std::vector<IndexedPointGeometryPointerType> &rSubdivisionsVector,
490 : mpInputGeometry(rOther.mpInputGeometry) , mNodalDistances(rOther.mNodalDistances) {};
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: divide_geometry.h:167
Geometry< IndexedPoint >::Pointer IndexedPointGeometryPointerType
Definition: divide_geometry.h:181
IntegrationMethod
Definition: geometry_data.h:76
@ NumberOfIntegrationMethods
Geometry base class.
Definition: geometry.h:71
Short class definition.
Definition: integration_point.h:52
Definition: amatrix_interface.h:41
Definition: modified_shape_functions.h:45
virtual void SetPositiveSideCondensationMatrix(Matrix &rPosSideCondMatrix)
Set the Positive Side Condensation Matrix object This function sets the positive side condensation ma...
Definition: modified_shape_functions.h:323
Geometry< Node > GeometryType
Definition: modified_shape_functions.h:55
virtual void SetNegativeSideCondensationMatrix(Matrix &rNegSideCondMatrix)
Set the Negative Side Condensation Matrix object This function sets the negative side condensation ma...
Definition: modified_shape_functions.h:334
GeometryType::CoordinatesArrayType CoordinatesArrayType
Definition: modified_shape_functions.h:57
std::vector< array_1d< double, 3 > > AreaNormalsContainerType
Definition: modified_shape_functions.h:60
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: modified_shape_functions.h:66
KRATOS_CLASS_POINTER_DEFINITION(ModifiedShapeFunctions)
Pointer definition of ModifiedShapeFunctions.
GeometryType::Pointer GeometryPointerType
Definition: modified_shape_functions.h:56
DivideGeometry< Node >::IndexedPointGeometryType IndexedPointGeometryType
Definition: modified_shape_functions.h:62
DivideGeometry< Node >::IndexedPointGeometryPointerType IndexedPointGeometryPointerType
Definition: modified_shape_functions.h:63
std::array< IntegrationPointsArrayType, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> IntegrationPointsContainerType
Definition: modified_shape_functions.h:67
GeometryData::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
Definition: modified_shape_functions.h:59
IntegrationPoint< 3 > IntegrationPointType
Definition: modified_shape_functions.h:65
virtual void SetCondensationMatrix(Matrix &rIntPointCondMatrix)
Definition: modified_shape_functions.h:312
GeometryData::IntegrationMethod IntegrationMethodType
Definition: modified_shape_functions.h:58
Short class definition.
Definition: array_1d.h:61
#define KRATOS_ERROR
Definition: exception.h:161
GeometryType::Pointer GeometryPointerType
Definition: mapping_intersection_utilities.h:38
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21