13 #if !defined(KRATOS_PRISM_INTERFACE_3D_6_H_INCLUDED )
14 #define KRATOS_PRISM_INTERFACE_3D_6_H_INCLUDED
207 typename PointType::Pointer pPoint2,
208 typename PointType::Pointer pPoint3,
209 typename PointType::Pointer pPoint4,
210 typename PointType::Pointer pPoint5,
211 typename PointType::Pointer pPoint6 )
224 :
BaseType( ThisPoints, &msGeometryData )
308 template<
class TOtherPo
intType>
331 if ( rResult.size1() != 6 || rResult.size2() != 3 )
332 rResult.
resize( 6, 3,
false );
334 rResult( 0, 0 ) = 0.0;
335 rResult( 0, 1 ) = 0.0;
336 rResult( 0, 2 ) = 0.0;
338 rResult( 1, 0 ) = 1.0;
339 rResult( 1, 1 ) = 0.0;
340 rResult( 1, 2 ) = 0.0;
342 rResult( 2, 0 ) = 0.0;
343 rResult( 2, 1 ) = 1.0;
344 rResult( 2, 2 ) = 0.0;
346 rResult( 3, 0 ) = 0.0;
347 rResult( 3, 1 ) = 0.0;
348 rResult( 3, 2 ) = 1.0;
350 rResult( 4, 0 ) = 1.0;
351 rResult( 4, 1 ) = 0.0;
352 rResult( 4, 2 ) = 1.0;
354 rResult( 5, 0 ) = 0.0;
355 rResult( 5, 1 ) = 1.0;
356 rResult( 5, 2 ) = 1.0;
386 return std::sqrt(2.0*
Area());
411 Vector side_a = ( p0 - p1 );
413 Vector side_b = ( p1 - p2 );
415 Vector side_c = ( p2 - p0 );
417 double s = (
a +
b +
c ) / 2;
418 return( sqrt( s*( s -
a )*( s -
b )*( s -
c ) ) );
456 const double Tolerance = std::numeric_limits<double>::epsilon()
461 if ( rResult[0] >= (0.0 - Tolerance) )
462 if ( rResult[1] >= (0.0 - Tolerance) )
463 if ( rResult[2] >= (0.0 - Tolerance) )
464 if( rResult[2] <= (1.0 + Tolerance) )
465 if ( (rResult[0] + rResult[1]) <= (1.0 + Tolerance) )
484 for(
unsigned int i=0;
i<3;
i++) {
503 for (
int k = 0;
k < maxiter;
k++ )
508 noalias( CurrentGlobalCoords ) = rPoint - CurrentGlobalCoords;
512 Matrix shape_functions_gradients;
520 const double det_j =
J( 0, 0 ) *
J( 1, 1 ) -
J( 0, 1 ) *
J( 1, 0 );
523 invJ( 0, 0 ) = (
J( 1, 1 ) ) / ( det_j );
524 invJ( 1, 0 ) = -(
J( 1, 0 ) ) / ( det_j );
525 invJ( 0, 1 ) = -(
J( 0, 1 ) ) / ( det_j );
526 invJ( 1, 1 ) = (
J( 0, 0 ) ) / ( det_j );
529 DeltaXi( 0 ) = invJ( 0, 0 ) *
res[0] + invJ( 0, 1 ) *
res[1];
530 DeltaXi( 1 ) = invJ( 1, 0 ) *
res[0] + invJ( 1, 1 ) *
res[1];
532 rResult[0] += DeltaXi[0];
533 rResult[1] += DeltaXi[1];
536 if (
k>0 &&
norm_2( DeltaXi ) > 30 )
538 KRATOS_ERROR <<
"Computation of local coordinates failed at iteration " <<
k<< std::endl;
579 rResult.
resize( 3, 2,
false );
580 rResult( 0, 0 ) = -( p0[0] ) + ( p1[0] );
581 rResult( 1, 0 ) = -( p0[1] ) + ( p1[1] );
582 rResult( 2, 0 ) = -( p0[2] ) + ( p1[2] );
583 rResult( 0, 1 ) = -( p0[0] ) + ( p2[0] );
584 rResult( 1, 1 ) = -( p0[1] ) + ( p2[1] );
585 rResult( 2, 1 ) = -( p0[2] ) + ( p2[2] );
612 const Matrix& DeltaPosition )
const override
619 for(
unsigned int i = 0;
i < 3;
i++)
620 for(
unsigned int j = 0;
j < 3;
j++)
621 deltaPosMid(
i,
j) = 0.5*( DeltaPosition(
i,
j) + DeltaPosition(
i+3,
j) );
623 if(rResult.size1() != 3 || rResult.size2() != 2)
624 rResult.
resize(3, 2,
false);
626 rResult( 0, 0 ) = -( p0[0] - deltaPosMid(0,0) ) + ( p1[0] - deltaPosMid(1,0) );
627 rResult( 1, 0 ) = -( p0[1] - deltaPosMid(0,1) ) + ( p1[1] - deltaPosMid(1,1) );
628 rResult( 2, 0 ) = -( p0[2] - deltaPosMid(0,2) ) + ( p1[2] - deltaPosMid(1,2) );
629 rResult( 0, 1 ) = -( p0[0] - deltaPosMid(0,0) ) + ( p2[0] - deltaPosMid(2,0) );
630 rResult( 1, 1 ) = -( p0[1] - deltaPosMid(0,1) ) + ( p2[1] - deltaPosMid(2,1) );
631 rResult( 2, 1 ) = -( p0[2] - deltaPosMid(0,2) ) + ( p2[2] - deltaPosMid(2,2) );
657 rResult.
resize( 3, 2 ,
false);
658 rResult( 0, 0 ) = -( p0[0] ) + ( p1[0] );
659 rResult( 1, 0 ) = -( p0[1] ) + ( p1[1] );
660 rResult( 2, 0 ) = -( p0[2] ) + ( p1[2] );
661 rResult( 0, 1 ) = -( p0[0] ) + ( p2[0] );
662 rResult( 1, 1 ) = -( p0[1] ) + ( p2[1] );
663 rResult( 2, 1 ) = -( p0[2] ) + ( p2[2] );
698 if ( rResult.size() != this->IntegrationPointsNumber( ThisMethod ) )
1002 switch ( ShapeFunctionIndex )
1005 return( 1.0 -( rPoint[0] + rPoint[1] + rPoint[2] - ( rPoint[0]*rPoint[2] ) - ( rPoint[1]*rPoint[2] ) ) );
1007 return( rPoint[0] - ( rPoint[0]*rPoint[2] ) );
1009 return( rPoint[1] - ( rPoint[1]*rPoint[2] ) );
1011 return( rPoint[2] - ( rPoint[0]*rPoint[2] ) - ( rPoint[1]*rPoint[2] ) );
1013 return( rPoint[0]*rPoint[2] );
1015 return( rPoint[1]*rPoint[2] );
1017 KRATOS_ERROR <<
"Wrong index of shape function!" << *
this << std::endl;
1036 if(rResult.size() != 6) rResult.
resize(6,
false);
1037 rResult[0] = 1.0 -( rCoordinates[0] + rCoordinates[1] + rCoordinates[2] - ( rCoordinates[0]*rCoordinates[2] ) - ( rCoordinates[1]*rCoordinates[2] ) );
1038 rResult[1] = rCoordinates[0] - ( rCoordinates[0]*rCoordinates[2] );
1039 rResult[2] = rCoordinates[1] - ( rCoordinates[1]*rCoordinates[2] );
1040 rResult[3] = rCoordinates[2] - ( rCoordinates[0]*rCoordinates[2] ) - ( rCoordinates[1]*rCoordinates[2] );
1041 rResult[4] = rCoordinates[0]*rCoordinates[2];
1042 rResult[5] = rCoordinates[1]*rCoordinates[2];
1067 const unsigned int integration_points_number =
1070 if ( integration_points_number == 0 )
1071 KRATOS_ERROR <<
"This integration method is not supported" << *
this << std::endl;
1074 if ( rResult.size() != integration_points_number )
1084 CalculateShapeFunctionsIntegrationPointsLocalGradients( ThisMethod );
1092 for (
unsigned int pnt = 0; pnt < integration_points_number; pnt++ )
1094 rResult[pnt].
resize( 6, 3,
false );
1096 for (
int i = 0;
i < 6;
i++ )
1098 for (
int j = 0;
j < 3;
j++ )
1100 rResult[pnt](
i,
j ) =
1101 ( locG[pnt](
i, 0 ) * invJ[pnt](
j, 0 ) )
1102 + ( locG[pnt](
i, 1 ) * invJ[pnt](
j, 1 ) )
1103 + ( locG[pnt](
i, 2 ) * invJ[pnt](
j, 2 ) );
1122 return "3 dimensional interface Prism with six nodes in 3D space";
1133 rOStream <<
"3 dimensional interface Prism with six nodes in 3D space";
1154 std::cout << std::endl;
1160 rOStream <<
" Jacobian in the origin\t : " << jacobian;
1176 rResult.
resize( 6, 3,
false );
1179 rResult( 0, 0 ) = -1.0 + rPoint[2];
1180 rResult( 0, 1 ) = -1.0 + rPoint[2];
1181 rResult( 0, 2 ) = -1.0 + rPoint[0] + rPoint[1];
1183 rResult( 1, 0 ) = 1.0 - rPoint[2];
1184 rResult( 1, 1 ) = 0.0;
1185 rResult( 1, 2 ) = -rPoint[0];
1187 rResult( 2, 0 ) = 0.0;
1188 rResult( 2, 1 ) = 1.0 - rPoint[2];
1189 rResult( 2, 2 ) = -rPoint[1];
1191 rResult( 3, 0 ) = -rPoint[2];
1192 rResult( 3, 1 ) = -rPoint[2];
1193 rResult( 3, 2 ) = 1.0 - rPoint[0] - rPoint[1];
1195 rResult( 4, 0 ) = rPoint[2];
1196 rResult( 4, 1 ) = 0.0;
1197 rResult( 4, 2 ) = rPoint[0];
1199 rResult( 5, 0 ) = 0.0;
1200 rResult( 5, 1 ) = rPoint[2];
1201 rResult( 5, 2 ) = rPoint[1];
1216 if ( rResult.size() != this->PointsNumber() )
1226 rResult[0].
resize( 2, 2 ,
false);
1227 rResult[1].
resize( 2, 2 ,
false);
1228 rResult[2].
resize( 2, 2 ,
false);
1230 rResult[0]( 0, 0 ) = 0.0;
1231 rResult[0]( 0, 1 ) = 0.0;
1232 rResult[0]( 1, 0 ) = 0.0;
1233 rResult[0]( 1, 1 ) = 0.0;
1234 rResult[1]( 0, 0 ) = 0.0;
1235 rResult[1]( 0, 1 ) = 0.0;
1236 rResult[1]( 1, 0 ) = 0.0;
1237 rResult[1]( 1, 1 ) = 0.0;
1238 rResult[2]( 0, 0 ) = 0.0;
1239 rResult[2]( 0, 1 ) = 0.0;
1240 rResult[2]( 1, 0 ) = 0.0;
1241 rResult[2]( 1, 1 ) = 0.0;
1254 if ( rResult.size() != this->PointsNumber() )
1271 rResult[0][0].
resize( 2, 2 ,
false);
1272 rResult[0][1].
resize( 2, 2 ,
false);
1273 rResult[1][0].
resize( 2, 2 ,
false);
1274 rResult[1][1].
resize( 2, 2 ,
false);
1275 rResult[2][0].
resize( 2, 2 ,
false);
1276 rResult[2][1].
resize( 2, 2 ,
false);
1278 for (
int i = 0;
i < 3;
i++ )
1280 rResult[
i][0]( 0, 0 ) = 0.0;
1281 rResult[
i][0]( 0, 1 ) = 0.0;
1282 rResult[
i][0]( 1, 0 ) = 0.0;
1283 rResult[
i][0]( 1, 1 ) = 0.0;
1284 rResult[
i][1]( 0, 0 ) = 0.0;
1285 rResult[
i][1]( 0, 1 ) = 0.0;
1286 rResult[
i][1]( 1, 0 ) = 0.0;
1287 rResult[
i][1]( 1, 1 ) = 0.0;
1318 void save(
Serializer& rSerializer )
const override
1354 static Matrix CalculateShapeFunctionsIntegrationPointsValues(
1358 AllIntegrationPoints();
1361 const int integration_points_number = integration_points.size();
1363 const int points_number = 6;
1365 Matrix shape_function_values( integration_points_number, points_number );
1368 for (
int pnt = 0; pnt < integration_points_number; pnt++ )
1370 shape_function_values ( pnt, 0 ) = ( 1.0
1371 - integration_points[pnt].X()
1372 - integration_points[pnt].Y()
1373 - integration_points[pnt].Z()
1374 + ( integration_points[pnt].X() * integration_points[pnt].Z() )
1375 + ( integration_points[pnt].
Y() * integration_points[pnt].Z() ) );
1376 shape_function_values( pnt, 1 ) = integration_points[pnt].X()
1377 - ( integration_points[pnt].X() * integration_points[pnt].Z() );
1378 shape_function_values( pnt, 2 ) = integration_points[pnt].Y()
1379 - ( integration_points[pnt].Y() * integration_points[pnt].Z() );
1380 shape_function_values( pnt, 3 ) = integration_points[pnt].Z()
1381 - ( integration_points[pnt].X() * integration_points[pnt].Z() )
1382 - ( integration_points[pnt].
Y() * integration_points[pnt].Z() );
1383 shape_function_values( pnt, 4 ) = ( integration_points[pnt].X() * integration_points[pnt].Z() );
1384 shape_function_values( pnt, 5 ) = ( integration_points[pnt].Y() * integration_points[pnt].Z() );
1387 return shape_function_values;
1406 AllIntegrationPoints();
1409 const int integration_points_number = integration_points.size();
1415 for (
int pnt = 0; pnt < integration_points_number; pnt++ )
1418 result( 0, 0 ) = -1.0 + integration_points[pnt].Z();
1419 result( 0, 1 ) = -1.0 + integration_points[pnt].Z();
1420 result( 0, 2 ) = -1.0 + integration_points[pnt].X() + integration_points[pnt].Y();
1421 result( 1, 0 ) = 1.0 - integration_points[pnt].Z();
1422 result( 1, 1 ) = 0.0;
1423 result( 1, 2 ) = -integration_points[pnt].X();
1424 result( 2, 0 ) = 0.0;
1425 result( 2, 1 ) = 1.0 - integration_points[pnt].Z();
1426 result( 2, 2 ) = -integration_points[pnt].Y();
1427 result( 3, 0 ) = -integration_points[pnt].Z();
1428 result( 3, 1 ) = -integration_points[pnt].Z();
1429 result( 3, 2 ) = 1.0 - integration_points[pnt].X() - integration_points[pnt].Y();
1430 result( 4, 0 ) = integration_points[pnt].Z();
1431 result( 4, 1 ) = 0.0;
1432 result( 4, 2 ) = integration_points[pnt].X();
1433 result( 5, 0 ) = 0.0;
1434 result( 5, 1 ) = integration_points[pnt].Z();
1435 result( 5, 2 ) = integration_points[pnt].Y();
1436 d_shape_f_values[pnt] = result;
1439 return d_shape_f_values;
1450 Quadrature<PrismGaussLobattoIntegrationPoints1,
1451 3, IntegrationPoint<3> >::GenerateIntegrationPoints(),
1452 Quadrature<PrismGaussLobattoIntegrationPoints2,
1453 3, IntegrationPoint<3> >::GenerateIntegrationPoints(),
1459 return integration_points;
1470 PrismInterface3D6<TPointType>::CalculateShapeFunctionsIntegrationPointsValues(
1472 PrismInterface3D6<TPointType>::CalculateShapeFunctionsIntegrationPointsValues(
1478 return shape_functions_values;
1485 AllShapeFunctionsLocalGradients()
1496 return shape_functions_local_gradients;
1536 std::istream& rIStream,
1542 std::ostream& rOStream,
1546 rOStream << std::endl;
1553 template<
class TPo
intType>
const
1554 GeometryData PrismInterface3D6<TPointType>::msGeometryData(
1557 PrismInterface3D6<TPointType>::AllIntegrationPoints(),
1558 PrismInterface3D6<TPointType>::AllShapeFunctionsValues(),
1559 AllShapeFunctionsLocalGradients()
1562 template<
class TPo
intType>
const
Definition: geometry_data.h:60
KratosGeometryType
Definition: geometry_data.h:110
SizeType IntegrationPointsNumber() const
Definition: geometry_data.h:430
IntegrationMethod
Definition: geometry_data.h:76
KratosGeometryFamily
Definition: geometry_data.h:91
Definition: geometry_dimension.h:42
Geometry base class.
Definition: geometry.h:71
SizeType PointsNumber() const
Definition: geometry.h:528
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: geometry.h:3834
Geometry & operator=(const Geometry &rOther)
Definition: geometry.h:400
virtual CoordinatesArrayType & GlobalCoordinates(CoordinatesArrayType &rResult, CoordinatesArrayType const &LocalCoordinates) const
Definition: geometry.h:2377
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
virtual array_1d< double, 3 > Normal(const CoordinatesArrayType &rPointLocalCoordinates) const
It returns a vector that is normal to its corresponding geometry in the given local point.
Definition: geometry.h:1543
std::size_t SizeType
Definition: geometry.h:144
const TPointType::Pointer pGetPoint(const int Index) const
Definition: geometry.h:1790
std::size_t IndexType
Definition: geometry.h:137
std::array< Matrix, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> ShapeFunctionsValuesContainerType
Definition: geometry.h:172
const PointsArrayType & Points() const
Definition: geometry.h:1768
bool AllPointsAreValid() const
Checks if the geometry points are valid Checks if the geometry points are valid from the pointer valu...
Definition: geometry.h:4093
std::array< IntegrationPointsArrayType, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> IntegrationPointsContainerType
Definition: geometry.h:167
const ShapeFunctionsGradientsType & ShapeFunctionsLocalGradients() const
Definition: geometry.h:3539
TPointType const & GetPoint(const int Index) const
Definition: geometry.h:1816
GeometryData::ShapeFunctionsLocalGradientsContainerType ShapeFunctionsLocalGradientsContainerType
Definition: geometry.h:177
SizeType IntegrationPointsNumber() const
Definition: geometry.h:2257
GeometryData::IntegrationMethod IntegrationMethod
Definition: geometry.h:122
Short class definition.
Definition: integration_point.h:52
Definition: amatrix_interface.h:41
void swap(Matrix &Other)
Definition: amatrix_interface.h:289
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
An two node 3D line geometry with linear shape functions.
Definition: line_3d_2.h:64
static double Norm3(const TVectorType &a)
Calculates the norm of vector "a" which is assumed to be of size 3.
Definition: math_utils.h:691
static T CrossProduct(const T &a, const T &b)
Performs the vector product of the two input vectors a,b.
Definition: math_utils.h:762
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
void reserve(size_type dim)
Definition: pointer_vector.h:319
void push_back(const TPointerType &x)
Definition: pointer_vector.h:270
Definition: prism_interface_3d_6.h:54
BaseType::IndexType IndexType
Definition: prism_interface_3d_6.h:99
BaseType::Pointer Create(PointsArrayType const &ThisPoints) const override
Creates a new geometry pointer.
Definition: prism_interface_3d_6.h:319
Quadrilateral3D4< TPointType > FaceType2
Definition: prism_interface_3d_6.h:70
BaseType::PointsArrayType PointsArrayType
Definition: prism_interface_3d_6.h:112
double Volume() const override
This method calculate and return volume of this geometry.
Definition: prism_interface_3d_6.h:421
BaseType::ShapeFunctionsValuesContainerType ShapeFunctionsValuesContainerType
Definition: prism_interface_3d_6.h:145
JacobiansType & InverseOfJacobian(JacobiansType &rResult, IntegrationMethod ThisMethod) const override
Definition: prism_interface_3d_6.h:806
std::string Info() const override
Definition: prism_interface_3d_6.h:1120
friend class PrismInterface3D6
Definition: prism_interface_3d_6.h:1513
void PrintData(std::ostream &rOStream) const override
Definition: prism_interface_3d_6.h:1150
BaseType::NormalType NormalType
Definition: prism_interface_3d_6.h:186
PrismInterface3D6(PrismInterface3D6< TOtherPointType > const &rOther)
Definition: prism_interface_3d_6.h:256
Matrix & PointsLocalCoordinates(Matrix &rResult) const override
Definition: prism_interface_3d_6.h:329
PrismInterface3D6 & operator=(PrismInterface3D6< TOtherPointType > const &rOther)
Definition: prism_interface_3d_6.h:309
Geometry< TPointType > BaseType
Definition: prism_interface_3d_6.h:63
double Length() const override
Definition: prism_interface_3d_6.h:384
Matrix & Jacobian(Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod, const Matrix &DeltaPosition) const override
Definition: prism_interface_3d_6.h:609
Line3D2< TPointType > EdgeType
Definition: prism_interface_3d_6.h:68
SizeType EdgesNumber() const override
This method gives you number of all edges of this geometry.
Definition: prism_interface_3d_6.h:882
void ShapeFunctionsIntegrationPointsGradients(ShapeFunctionsGradientsType &rResult, IntegrationMethod ThisMethod) const override
Definition: prism_interface_3d_6.h:1063
BaseType::ShapeFunctionsThirdDerivativesType ShapeFunctionsThirdDerivativesType
Definition: prism_interface_3d_6.h:181
Matrix & Jacobian(Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const override
Definition: prism_interface_3d_6.h:571
virtual ~PrismInterface3D6()
Definition: prism_interface_3d_6.h:264
double Area() const override
Definition: prism_interface_3d_6.h:404
BaseType::JacobiansType JacobiansType
Definition: prism_interface_3d_6.h:158
GeometryData::IntegrationMethod IntegrationMethod
Definition: prism_interface_3d_6.h:80
BaseType::CoordinatesArrayType CoordinatesArrayType
Definition: prism_interface_3d_6.h:117
PrismInterface3D6(PrismInterface3D6 const &rOther)
Definition: prism_interface_3d_6.h:239
TPointType PointType
Definition: prism_interface_3d_6.h:91
BaseType::GeometriesArrayType GeometriesArrayType
Definition: prism_interface_3d_6.h:86
PrismInterface3D6(const PointsArrayType &ThisPoints)
Definition: prism_interface_3d_6.h:223
CoordinatesArrayType & PointLocalCoordinates(CoordinatesArrayType &rResult, const CoordinatesArrayType &rPoint) const override
Returns the local coordinates of a given arbitrary point.
Definition: prism_interface_3d_6.h:477
BaseType::ShapeFunctionsSecondDerivativesType ShapeFunctionsSecondDerivativesType
Definition: prism_interface_3d_6.h:173
double DeterminantOfJacobian(const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:770
Vector & DeterminantOfJacobian(Vector &rResult, IntegrationMethod ThisMethod) const override
Definition: prism_interface_3d_6.h:682
PrismInterface3D6(typename PointType::Pointer pPoint1, typename PointType::Pointer pPoint2, typename PointType::Pointer pPoint3, typename PointType::Pointer pPoint4, typename PointType::Pointer pPoint5, typename PointType::Pointer pPoint6)
Definition: prism_interface_3d_6.h:206
BaseType::IntegrationPointsArrayType IntegrationPointsArrayType
Definition: prism_interface_3d_6.h:132
ShapeFunctionsSecondDerivativesType & ShapeFunctionsSecondDerivatives(ShapeFunctionsSecondDerivativesType &rResult, const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:1213
Matrix & InverseOfJacobian(Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const override
Definition: prism_interface_3d_6.h:836
PrismInterface3D6 & operator=(const PrismInterface3D6 &rOther)
Definition: prism_interface_3d_6.h:291
BaseType::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
Definition: prism_interface_3d_6.h:165
double DeterminantOfJacobian(IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const override
Definition: prism_interface_3d_6.h:729
void PrintInfo(std::ostream &rOStream) const override
Definition: prism_interface_3d_6.h:1131
GeometryData::KratosGeometryFamily GetGeometryFamily() const override
Definition: prism_interface_3d_6.h:266
bool IsInside(const CoordinatesArrayType &rPoint, CoordinatesArrayType &rResult, const double Tolerance=std::numeric_limits< double >::epsilon()) const override
Definition: prism_interface_3d_6.h:453
ShapeFunctionsThirdDerivativesType & ShapeFunctionsThirdDerivatives(ShapeFunctionsThirdDerivativesType &rResult, const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:1251
Matrix & ShapeFunctionsLocalGradients(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:1173
Vector & ShapeFunctionsValues(Vector &rResult, const CoordinatesArrayType &rCoordinates) const override
Definition: prism_interface_3d_6.h:1034
double DomainSize() const override
Definition: prism_interface_3d_6.h:440
BaseType::ShapeFunctionsLocalGradientsContainerType ShapeFunctionsLocalGradientsContainerType
Definition: prism_interface_3d_6.h:151
BaseType::IntegrationPointType IntegrationPointType
Definition: prism_interface_3d_6.h:123
GeometryData::KratosGeometryType GetGeometryType() const override
Definition: prism_interface_3d_6.h:271
Matrix & InverseOfJacobian(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:860
double ShapeFunctionValue(IndexType ShapeFunctionIndex, const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:999
BaseType::IntegrationPointsContainerType IntegrationPointsContainerType
Definition: prism_interface_3d_6.h:139
GeometriesArrayType GenerateFaces() const override
Returns all faces of the current geometry.
Definition: prism_interface_3d_6.h:953
Triangle3D3< TPointType > FaceType1
Definition: prism_interface_3d_6.h:69
SizeType FacesNumber() const override
Returns the number of faces of the current geometry.
Definition: prism_interface_3d_6.h:940
KRATOS_CLASS_POINTER_DEFINITION(PrismInterface3D6)
GeometriesArrayType GenerateEdges() const override
This method gives you all edges of this geometry.
Definition: prism_interface_3d_6.h:895
Matrix & Jacobian(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: prism_interface_3d_6.h:651
BaseType::SizeType SizeType
Definition: prism_interface_3d_6.h:106
A four node 3D quadrilateral geometry with bi-linear shape functions.
Definition: quadrilateral_3d_4.h:76
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
A three node 3D triangle geometry with linear shape functions.
Definition: triangle_3d_3.h:77
Short class definition.
Definition: array_1d.h:61
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
TExpressionType::data_type norm_2(AMatrix::MatrixExpression< TExpressionType, TCategory > const &TheExpression)
Definition: amatrix_interface.h:625
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
AMatrix::MatrixProductExpression< TExpression1Type, TExpression2Type > prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:568
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
const GeometryData BrepCurve< TContainerPointType, TContainerPointEmbeddedType >::msGeometryData & msGeometryDimension
Definition: brep_curve.h:483
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
const GeometryData PrismInterface3D6< TPointType >::msGeometryData & msGeometryDimension(), PrismInterface3D6< TPointType >::AllShapeFunctionsValues(), AllShapeFunctionsLocalGradients()
Definition: brep_curve.h:483
AMatrix::TransposeMatrix< const T > trans(const T &TheMatrix)
Definition: amatrix_interface.h:486
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
res
Definition: generate_convection_diffusion_explicit_element.py:211
DN
Definition: generate_convection_diffusion_explicit_element.py:98
a
Definition: generate_stokes_twofluid_element.py:77
b
Definition: generate_total_lagrangian_mixed_volumetric_strain_element.py:31
c
Definition: generate_weakly_compressible_navier_stokes_element.py:108
int tol
Definition: hinsberg_optimization.py:138
def load(f)
Definition: ode_solve.py:307
int k
Definition: quadrature.py:595
int j
Definition: quadrature.py:648
float temp
Definition: rotating_cone.py:85
J
Definition: sensitivityMatrix.py:58
integer i
Definition: TensorModule.f:17