54 template<
class TPo
intType>
149 typename PointType::Pointer pPoint1,
150 typename PointType::Pointer pPoint2,
151 typename PointType::Pointer pPoint3,
152 typename PointType::Pointer pPoint4,
153 typename PointType::Pointer pPoint5,
154 typename PointType::Pointer pPoint6,
155 typename PointType::Pointer pPoint7,
156 typename PointType::Pointer pPoint8,
157 typename PointType::Pointer pPoint9,
158 typename PointType::Pointer pPoint10,
159 typename PointType::Pointer pPoint11,
160 typename PointType::Pointer pPoint12,
161 typename PointType::Pointer pPoint13)
181 :
BaseType( ThisPoints, &msGeometryData )
190 ) :
BaseType( GeometryId, rThisPoints, &msGeometryData)
197 const std::string& rGeometryName,
199 ) :
BaseType(rGeometryName, rThisPoints, &msGeometryData)
274 template<
class TOtherPo
intType>
297 return typename BaseType::Pointer(
new Pyramid3D13( NewGeometryId, rThisPoints ) );
311 auto p_geometry =
typename BaseType::Pointer(
new Pyramid3D13( NewGeometryId, rGeometry.
Points() ) );
312 p_geometry->SetData(rGeometry.
GetData());
387 const double Tolerance = std::numeric_limits<double>::epsilon()
390 if ( std::abs( rPointLocalCoordinates[0] ) <= (1.0 + Tolerance) ) {
391 if ( std::abs( rPointLocalCoordinates[1] ) <= (1.0 + Tolerance) ) {
392 if ( std::abs( rPointLocalCoordinates[2] ) <= (1.0 + Tolerance) ) {
393 if ( (std::abs(rPointLocalCoordinates[0]) +
394 std::abs(rPointLocalCoordinates[1]) +
395 rPointLocalCoordinates[2]) <= (1.0 + Tolerance) ) {
412 if ( rResult.size1() != 13 || rResult.size2() != 3 )
413 rResult.
resize( 13, 3,
false );
415 rResult( 0, 0 ) = -1.0;
416 rResult( 0, 1 ) = -1.0;
417 rResult( 0, 2 ) = -1.0;
419 rResult( 1, 0 ) = +1.0;
420 rResult( 1, 1 ) = -1.0;
421 rResult( 1, 2 ) = -1.0;
423 rResult( 2, 0 ) = +1.0;
424 rResult( 2, 1 ) = +1.0;
425 rResult( 2, 2 ) = -1.0;
427 rResult( 3, 0 ) = -1.0;
428 rResult( 3, 1 ) = +1.0;
429 rResult( 3, 2 ) = -1.0;
431 rResult( 4, 0 ) = 0.0;
432 rResult( 4, 1 ) = 0.0;
433 rResult( 4, 2 ) = +1.0;
435 rResult( 5, 0 ) = 0.0;
436 rResult( 5, 1 ) = -0.5;
437 rResult( 5, 2 ) = -1.0;
439 rResult( 6, 0 ) = +0.5;
440 rResult( 6, 1 ) = 0.0;
441 rResult( 6, 2 ) = -1.0;
443 rResult( 7, 0 ) = 0.0;
444 rResult( 7, 1 ) = +0.5;
445 rResult( 7, 2 ) = -1.0;
447 rResult( 8, 0 ) = +0.5;
448 rResult( 8, 1 ) = 0.0;
449 rResult( 8, 2 ) = -1.0;
451 rResult( 9, 0 ) = -0.5;
452 rResult( 9, 1 ) = -0.5;
453 rResult( 9, 2 ) = 0.0;
455 rResult( 10, 0 ) = +0.5;
456 rResult( 10, 1 ) = -0.5;
457 rResult( 10, 2 ) = 0.0;
459 rResult( 11, 0 ) = +0.5;
460 rResult( 11, 1 ) = +0.5;
461 rResult( 11, 2 ) = 0.0;
463 rResult( 12, 0 ) = -0.5;
464 rResult( 12, 1 ) = +0.5;
465 rResult( 12, 2 ) = 0.0;
487 if(rResult.size() != 13) rResult.
resize(13,
false);
489 for (std::size_t
i=0;
i<13; ++
i) {
508 return ShapeFunctionValueImpl(ShapeFunctionIndex, rPoint);
525 const std::size_t integration_points_number = integration_points.size();
527 const std::size_t points_number = 13;
529 Matrix shape_function_values( integration_points_number, points_number );
532 for (std::size_t pnt = 0; pnt<integration_points_number; ++pnt) {
533 for (std::size_t
i=0;
i<points_number; ++
i) {
534 shape_function_values( pnt,
i ) = ShapeFunctionValueImpl(
i, integration_points[pnt]);
538 return shape_function_values;
553 if(rResult.size1() != this->PointsNumber() || rResult.size2() != this->LocalSpaceDimension())
574 rResult.
resize( 13, 3,
false );
577 rResult( 0, 0 ) = (+0.0625) * (1 - rPoint[1]) * (1 - rPoint[2]) * (1 + 6*rPoint[0] + rPoint[1] + 4*rPoint[0]*rPoint[1] + rPoint[2] + 2*rPoint[0]*rPoint[2] - rPoint[1]*rPoint[2] + 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
578 rResult( 0, 1 ) = (+0.0625) * (1 - rPoint[0]) * (1 - rPoint[2]) * (1 + rPoint[0] + 6*rPoint[1] + 4*rPoint[0]*rPoint[1] + rPoint[2] - rPoint[0]*rPoint[2] + 2*rPoint[1]*rPoint[2] + 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
579 rResult( 0, 2 ) = (+0.125) * (1 - rPoint[0]) * (1 - rPoint[1]) * (1 + rPoint[0] + rPoint[1] + 2*rPoint[2] + rPoint[0]*rPoint[2] + rPoint[1]*rPoint[2] + 2*rPoint[0]*rPoint[1]*rPoint[2]) ;
581 rResult( 1, 0 ) = (-0.0625) * (1 - rPoint[1]) * (1 - rPoint[2]) * (1 - 6*rPoint[0] + rPoint[1] - 4*rPoint[0]*rPoint[1] + rPoint[2] - 2*rPoint[0]*rPoint[2] - rPoint[1]*rPoint[2] - 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
582 rResult( 1, 1 ) = (+0.0625) * (1 + rPoint[0]) * (1 - rPoint[2]) * (1 - rPoint[0] + 6*rPoint[1] - 4*rPoint[0]*rPoint[1] + rPoint[2] + rPoint[0]*rPoint[2] + 2*rPoint[1]*rPoint[2] - 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
583 rResult( 1, 2 ) = (+0.125) * (1 + rPoint[0]) * (1 - rPoint[1]) * (1 - rPoint[0] + rPoint[1] + 2*rPoint[2] - rPoint[0]*rPoint[2] + rPoint[1]*rPoint[2] - 2*rPoint[0]*rPoint[1]*rPoint[2]) ;
585 rResult( 2, 0 ) = (-0.0625) * (1 + rPoint[1]) * (1 - rPoint[2]) * (1 - 6*rPoint[0] - rPoint[1] + 4*rPoint[0]*rPoint[1] + rPoint[2] - 2*rPoint[0]*rPoint[2] + rPoint[1]*rPoint[2] + 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
586 rResult( 2, 1 ) = (-0.0625) * (1 + rPoint[0]) * (1 - rPoint[2]) * (1 - rPoint[0] - 6*rPoint[1] + 4*rPoint[0]*rPoint[1] + rPoint[2] + rPoint[0]*rPoint[2] - 2*rPoint[1]*rPoint[2] + 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
587 rResult( 2, 2 ) = (+0.125) * (1 + rPoint[0]) * (1 + rPoint[1]) * (1 - rPoint[0] - rPoint[1] + 2*rPoint[2] - rPoint[0]*rPoint[2] - rPoint[1]*rPoint[2] + 2*rPoint[0]*rPoint[1]*rPoint[2]) ;
589 rResult( 3, 0 ) = (+0.0625) * (1 + rPoint[1]) * (1 - rPoint[2]) * (1 + 6*rPoint[0] - rPoint[1] - 4*rPoint[0]*rPoint[1] + rPoint[2] + 2*rPoint[0]*rPoint[2] + rPoint[1]*rPoint[2] - 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
590 rResult( 3, 1 ) = (-0.0625) * (1 - rPoint[0]) * (1 - rPoint[2]) * (1 + rPoint[0] - 6*rPoint[1] - 4*rPoint[0]*rPoint[1] + rPoint[2] - rPoint[0]*rPoint[2] - 2*rPoint[1]*rPoint[2] - 4*rPoint[0]*rPoint[1]*rPoint[2]) ;
591 rResult( 3, 2 ) = (+0.125) * (1 - rPoint[0]) * (1 + rPoint[1]) * (1 + rPoint[0] - rPoint[1] + 2*rPoint[2] + rPoint[0]*rPoint[2] - rPoint[1]*rPoint[2] - 2*rPoint[0]*rPoint[1]*rPoint[2]) ;
593 rResult( 4, 0 ) = 0.00 ;
594 rResult( 4, 1 ) = 0.00 ;
595 rResult( 4, 2 ) = (0.5) + rPoint[2] ;
597 rResult( 5, 0 ) = (-0.25) * (rPoint[0]) * (1 - rPoint[1]) * (1 - rPoint[2]) * (2 + rPoint[1] + rPoint[1]*rPoint[2]) ;
598 rResult( 5, 1 ) = (-0.125) * (1 - std::pow(rPoint[0],2.0)) * (1 - rPoint[2]) * (1 + 2*rPoint[1] - rPoint[2] + 2*rPoint[1]*rPoint[2]) ;
599 rResult( 5, 2 ) = (-0.25) * (1 - std::pow(rPoint[0],2.0)) * (1 - rPoint[1]) * (1 + rPoint[1]*rPoint[2]) ;
601 rResult( 6, 0 ) = (0.125) * (1 - std::pow(rPoint[1],2.0)) * (1 - rPoint[2]) * (1 - 2*rPoint[0] - rPoint[2] - 2*rPoint[0]*rPoint[2]) ;
602 rResult( 6, 1 ) = (-0.25) * (1 + rPoint[0]) * (rPoint[1]) * (1 - rPoint[2]) * (2 - rPoint[0] - rPoint[0]*rPoint[2]) ;
603 rResult( 6, 2 ) = (-0.25) * (1 + rPoint[0]) * (1 - std::pow(rPoint[1],2.0)) * (1 - rPoint[0]*rPoint[2]) ;
605 rResult( 7, 0 ) = (-0.25) * (rPoint[0]) * (1 + rPoint[1]) * (1 - rPoint[2]) * (2 - rPoint[1] - rPoint[1]*rPoint[2]) ;
606 rResult( 7, 1 ) = (+0.125) * (1 - std::pow(rPoint[0],2.0)) * (1 - rPoint[2]) * (1 - 2*rPoint[1] - rPoint[2] - 2*rPoint[1]*rPoint[2]) ;
607 rResult( 7, 2 ) = (-0.25) * (1 - std::pow(rPoint[0],2.0)) * (1 + rPoint[1]) * (1 - rPoint[1]*rPoint[2]) ;
609 rResult( 8, 0 ) = (-0.125) * (1 - std::pow(rPoint[1],2.0)) * (1 - rPoint[2]) * (1 + 2*rPoint[0] - rPoint[2] + 2*rPoint[0]*rPoint[2]) ;
610 rResult( 8, 1 ) = (-0.25) * (1 - rPoint[0]) * (rPoint[1]) * (1 - rPoint[2]) * (2 + rPoint[0] + rPoint[0]*rPoint[2]) ;
611 rResult( 8, 2 ) = (-0.25) * (1 - rPoint[0]) * (1 - std::pow(rPoint[1],2.0)) * (1 + rPoint[0]*rPoint[2]) ;
613 rResult( 9, 0 ) = (-0.25) * (1 - rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) ;
614 rResult( 9, 1 ) = (-0.25) * (1 - rPoint[0]) * (1 - std::pow(rPoint[2],2.0)) ;
615 rResult( 9, 2 ) = (-0.5) * (1 - rPoint[0]) * (1 - rPoint[1]) * (rPoint[2]) ;
617 rResult( 10, 0 ) = (+0.25) * (1 - rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) ;
618 rResult( 10, 1 ) = (-0.25) * (1 + rPoint[0]) * (1 - std::pow(rPoint[2],2.0)) ;
619 rResult( 10, 2 ) = (-0.5) * (1 + rPoint[0]) * (1 - rPoint[1]) * (rPoint[2]) ;
621 rResult( 11, 0 ) = (+0.25) * (1 + rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) ;
622 rResult( 11, 1 ) = (+0.25) * (1 + rPoint[0]) * (1 - std::pow(rPoint[2],2.0)) ;
623 rResult( 11, 2 ) = (-0.5) * (1 + rPoint[0]) * (1 + rPoint[1]) * (rPoint[2]) ;
625 rResult( 12, 0 ) = (-0.25) * (1 + rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) ;
626 rResult( 12, 1 ) = (+0.25) * (1 - rPoint[0]) * (1 - std::pow(rPoint[2],2.0)) ;
627 rResult( 12, 2 ) = (-0.5) * (1 - rPoint[0]) * (1 + rPoint[1]) * (rPoint[2]) ;
646 const std::size_t integration_points_number = integration_points.size();
652 for (std::size_t pnt = 0; pnt<integration_points_number; ++pnt) {
656 return d_shape_f_values;
669 std::string
Info()
const override
671 return "3 dimensional pyramid with 13 nodes in 3D space";
714 void save(
Serializer& rSerializer )
const override
732 static double ShapeFunctionValueImpl(
736 switch ( ShapeFunctionIndex )
739 return( (-0.0625) * (1 - rPoint[0]) * (1 - rPoint[1]) * (1 - rPoint[2]) * (4 + 3*rPoint[0] + 3*rPoint[1] + 2*rPoint[0]*rPoint[1] + 2*rPoint[2] + rPoint[0]*rPoint[2] + rPoint[1]*rPoint[2] + 2*rPoint[0]*rPoint[1]*rPoint[2]) );
741 return( (-0.0625) * (1 + rPoint[0]) * (1 - rPoint[1]) * (1 - rPoint[2]) * (4 - 3*rPoint[0] + 3*rPoint[1] - 2*rPoint[0]*rPoint[1] + 2*rPoint[2] - rPoint[0]*rPoint[2] + rPoint[1]*rPoint[2] - 2*rPoint[0]*rPoint[1]*rPoint[2]) );
743 return( (-0.0625) * (1 + rPoint[0]) * (1 + rPoint[1]) * (1 - rPoint[2]) * (4 - 3*rPoint[0] - 3*rPoint[1] + 2*rPoint[0]*rPoint[1] + 2*rPoint[2] - rPoint[0]*rPoint[2] - rPoint[1]*rPoint[2] + 2*rPoint[0]*rPoint[1]*rPoint[2]) );
745 return( (-0.0625) * (1 - rPoint[0]) * (1 + rPoint[1]) * (1 - rPoint[2]) * (4 + 3*rPoint[0] - 3*rPoint[1] - 2*rPoint[0]*rPoint[1] + 2*rPoint[2] + rPoint[0]*rPoint[2] - rPoint[1]*rPoint[2] - 2*rPoint[0]*rPoint[1]*rPoint[2]) );
747 return( (0.5) * (rPoint[2]) * (1 + rPoint[2]) );
749 return( (0.125) * (1 - std::pow(rPoint[0],2.0)) * (1 - rPoint[1]) * (1 - rPoint[2]) * (2 + rPoint[1] + rPoint[1]*rPoint[2]) );
751 return( (0.125) * (1 + rPoint[0]) * (1 - std::pow(rPoint[1],2.0)) * (1 - rPoint[2]) * (2 - rPoint[0] - rPoint[0]*rPoint[2]) );
753 return( (0.125) * (1 - std::pow(rPoint[0],2.0)) * (1 + rPoint[1]) * (1 - rPoint[2]) * (2 - rPoint[1] - rPoint[1]*rPoint[2]) );
755 return( (0.125) * (1 - rPoint[0]) * (1 - std::pow(rPoint[1],2.0)) * (1 - rPoint[2]) * (2 + rPoint[0] + rPoint[0]*rPoint[2]) );
757 return( (0.25) * (1 - rPoint[0]) * (1 - rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) );
759 return( (0.25) * (1 + rPoint[0]) * (1 - rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) );
761 return( (0.25) * (1 + rPoint[0]) * (1 + rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) );
763 return( (0.25) * (1 - rPoint[0]) * (1 + rPoint[1]) * (1 - std::pow(rPoint[2],2.0)) );
765 KRATOS_ERROR <<
"Wrong index of shape function:" << ShapeFunctionIndex << std::endl;
776 Quadrature < PyramidGaussLegendreIntegrationPoints1,
777 3, IntegrationPoint<3> >::GenerateIntegrationPoints(),
778 Quadrature < PyramidGaussLegendreIntegrationPoints2,
779 3, IntegrationPoint<3> >::GenerateIntegrationPoints(),
780 Quadrature < PyramidGaussLegendreIntegrationPoints3,
781 3, IntegrationPoint<3> >::GenerateIntegrationPoints(),
782 Quadrature < PyramidGaussLegendreIntegrationPoints4,
783 3, IntegrationPoint<3> >::GenerateIntegrationPoints(),
784 Quadrature < PyramidGaussLegendreIntegrationPoints5,
785 3, IntegrationPoint<3> >::GenerateIntegrationPoints()
788 return integration_points;
803 return shape_functions_values;
818 return shape_functions_local_gradients;
852 template<
class TPo
intType>
857 template<
class TPo
intType>
862 rOStream << std::endl;
869 template<
class TPo
intType>
const
870 GeometryData Pyramid3D13<TPointType>::msGeometryData(
873 Pyramid3D13<TPointType>::AllIntegrationPoints(),
874 Pyramid3D13<TPointType>::AllShapeFunctionsValues(),
875 AllShapeFunctionsLocalGradients()
878 template<
class TPo
intType>
const
Definition: geometry_data.h:60
KratosGeometryType
Definition: geometry_data.h:110
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
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
DataValueContainer & GetData()
Definition: geometry.h:591
SizeType LocalSpaceDimension() const
Definition: geometry.h:1300
std::size_t SizeType
Definition: geometry.h:144
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
std::array< IntegrationPointsArrayType, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> IntegrationPointsContainerType
Definition: geometry.h:167
GeometryData::ShapeFunctionsLocalGradientsContainerType ShapeFunctionsLocalGradientsContainerType
Definition: geometry.h:177
Short class definition.
Definition: integration_point.h:52
static double ComputeVolume3DGeometry(const Geometry< TPointType > &rGeometry)
This method calculates and returns the volume of the geometry from a 3D geometry.
Definition: integration_utilities.h:168
Definition: amatrix_interface.h:41
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
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
A 13 node pyramid geometry with quadratic shape functions.
Definition: pyramid_3d_13.h:56
GeometryData::KratosGeometryFamily GetGeometryFamily() const override
Definition: pyramid_3d_13.h:233
TPointType PointType
Definition: pyramid_3d_13.h:74
void PrintData(std::ostream &rOStream) const override
Definition: pyramid_3d_13.h:693
static Matrix CalculateShapeFunctionsIntegrationPointsValues(typename BaseType::IntegrationMethod ThisMethod)
Definition: pyramid_3d_13.h:520
BaseType::IntegrationPointsContainerType IntegrationPointsContainerType
Definition: pyramid_3d_13.h:111
void PrintInfo(std::ostream &rOStream) const override
Definition: pyramid_3d_13.h:680
SizeType EdgesNumber() const override
This method gives you number of all edges of this geometry.
Definition: pyramid_3d_13.h:330
double DomainSize() const override
Definition: pyramid_3d_13.h:370
BaseType::GeometriesArrayType GeometriesArrayType
Definition: pyramid_3d_13.h:141
BaseType::Pointer Create(const IndexType NewGeometryId, PointsArrayType const &rThisPoints) const override
Creates a new geometry pointer.
Definition: pyramid_3d_13.h:292
friend class Pyramid3D13
Definition: pyramid_3d_13.h:835
BaseType::Pointer Create(const IndexType NewGeometryId, const BaseType &rGeometry) const override
Creates a new geometry pointer.
Definition: pyramid_3d_13.h:306
BaseType::SizeType SizeType
Definition: pyramid_3d_13.h:87
std::string Info() const override
Definition: pyramid_3d_13.h:669
Pyramid3D13(const IndexType GeometryId, const PointsArrayType &rThisPoints)
Constructor with Geometry Id.
Definition: pyramid_3d_13.h:187
BaseType::CoordinatesArrayType CoordinatesArrayType
Definition: pyramid_3d_13.h:135
BaseType::PointsArrayType PointsArrayType
Definition: pyramid_3d_13.h:92
Matrix & ShapeFunctionsLocalGradients(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: pyramid_3d_13.h:548
BaseType::IntegrationPointType IntegrationPointType
Definition: pyramid_3d_13.h:98
Pyramid3D13(Pyramid3D13< TOtherPointType > const &rOther)
Definition: pyramid_3d_13.h:228
double ShapeFunctionValue(IndexType ShapeFunctionIndex, const CoordinatesArrayType &rPoint) const override
Definition: pyramid_3d_13.h:505
Vector & ShapeFunctionsValues(Vector &rResult, const CoordinatesArrayType &rCoordinates) const override
Definition: pyramid_3d_13.h:485
KRATOS_CLASS_POINTER_DEFINITION(Pyramid3D13)
Pointer definition of Pyramid3D13.
SizeType FacesNumber() const override
Returns the number of faces of the current geometry.
Definition: pyramid_3d_13.h:341
Pyramid3D13 & operator=(Pyramid3D13< TOtherPointType > const &rOther)
Definition: pyramid_3d_13.h:275
int IsInsideLocalSpace(const CoordinatesArrayType &rPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const override
Checks if given point in local space coordinates of this geometry is inside the geometry boundaries.
Definition: pyramid_3d_13.h:385
Pyramid3D13(Pyramid3D13 const &rOther)
Definition: pyramid_3d_13.h:212
Pyramid3D13(const PointsArrayType &ThisPoints)
Definition: pyramid_3d_13.h:180
BaseType::ShapeFunctionsLocalGradientsContainerType ShapeFunctionsLocalGradientsContainerType
Definition: pyramid_3d_13.h:130
GeometryData::IntegrationMethod IntegrationMethod
Definition: pyramid_3d_13.h:70
BaseType::IndexType IndexType
Definition: pyramid_3d_13.h:80
Pyramid3D13(const std::string &rGeometryName, const PointsArrayType &rThisPoints)
Constructor with Geometry Name.
Definition: pyramid_3d_13.h:196
BaseType::ShapeFunctionsValuesContainerType ShapeFunctionsValuesContainerType
Definition: pyramid_3d_13.h:116
double Volume() const override
This method calculate and return volume of this geometry.
Definition: pyramid_3d_13.h:354
Matrix & PointsLocalCoordinates(Matrix &rResult) const override
Definition: pyramid_3d_13.h:410
BaseType::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
Definition: pyramid_3d_13.h:123
GeometryData::KratosGeometryType GetGeometryType() const override
Definition: pyramid_3d_13.h:238
static ShapeFunctionsGradientsType CalculateShapeFunctionsIntegrationPointsLocalGradients(typename BaseType::IntegrationMethod ThisMethod)
Definition: pyramid_3d_13.h:641
Pyramid3D13 & operator=(const Pyramid3D13 &rOther)
Definition: pyramid_3d_13.h:257
static Matrix & CalculateShapeFunctionsLocalGradients(Matrix &rResult, const CoordinatesArrayType &rPoint)
Definition: pyramid_3d_13.h:569
Geometry< TPointType > BaseType
Geometry as base class.
Definition: pyramid_3d_13.h:63
Pyramid3D13(typename PointType::Pointer pPoint1, typename PointType::Pointer pPoint2, typename PointType::Pointer pPoint3, typename PointType::Pointer pPoint4, typename PointType::Pointer pPoint5, typename PointType::Pointer pPoint6, typename PointType::Pointer pPoint7, typename PointType::Pointer pPoint8, typename PointType::Pointer pPoint9, typename PointType::Pointer pPoint10, typename PointType::Pointer pPoint11, typename PointType::Pointer pPoint12, typename PointType::Pointer pPoint13)
Definition: pyramid_3d_13.h:148
BaseType::IntegrationPointsArrayType IntegrationPointsArrayType
Definition: pyramid_3d_13.h:105
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
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
#define KRATOS_ERROR_IF(conditional)
Definition: exception.h:162
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
const GeometryData Pyramid3D13< TPointType >::msGeometryData & msGeometryDimension(), Pyramid3D13< TPointType >::AllShapeFunctionsValues(), AllShapeFunctionsLocalGradients()
Definition: brep_curve.h:483
const GeometryData BrepCurve< TContainerPointType, TContainerPointEmbeddedType >::msGeometryData & msGeometryDimension
Definition: brep_curve.h:483
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def load(f)
Definition: ode_solve.py:307
integer i
Definition: TensorModule.f:17