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.
List of all members
Kratos::TubeBoundingBox Class Reference

Short class definition. More...

#include <tube_bounding_box.hpp>

Inheritance diagram for Kratos::TubeBoundingBox:
Collaboration diagram for Kratos::TubeBoundingBox:

Public Member Functions

Life Cycle
 TubeBoundingBox ()
 Default constructor. More...
 
 TubeBoundingBox (ModelPart &rModelPart, Parameters CustomParameters)
 
 TubeBoundingBox (ModelPart &rModelPart, double Radius, int Convexity)
 
TubeBoundingBoxoperator= (TubeBoundingBox const &rOther)
 Assignment operator. More...
 
 TubeBoundingBox (TubeBoundingBox const &rOther)
 Copy constructor. More...
 
virtual ~TubeBoundingBox ()
 Destructor. More...
 
Operations
bool IsInside (const PointType &rPoint, double &rCurrentTime, double Radius=0) override
 
bool IsInside (BoundingBoxParameters &rValues, const ProcessInfo &rCurrentProcessInfo) override
 
void CreateBoundingBoxBoundaryMesh (ModelPart &rModelPart, int linear_partitions=4, int angular_partitions=4) override
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::SpatialBoundingBox
 KRATOS_CLASS_POINTER_DEFINITION (SpatialBoundingBox)
 Pointer definition of SpatialBoundingBox. More...
 
 SpatialBoundingBox ()
 Default constructor. More...
 
 SpatialBoundingBox (Parameters CustomParameters)
 
 SpatialBoundingBox (const PointType &rLowerPoint, const PointType &rUpperPoint)
 
 SpatialBoundingBox (const PointType &rCenter, const double &rRadius)
 
 SpatialBoundingBox (ModelPart &rModelPart, const double &rRadius, double factor=0)
 
virtual SpatialBoundingBoxoperator= (SpatialBoundingBox const &rOther)
 Assignment operator. More...
 
 SpatialBoundingBox (SpatialBoundingBox const &rOther)
 Copy constructor. More...
 
virtual ~SpatialBoundingBox ()
 Destructor. More...
 
virtual void UpdateBoxPosition (const double &rCurrentTime)
 
virtual bool IsInside (const PointType &rPoint)
 
virtual void GetParametricDirections (BoundingBoxParameters &rValues, Vector &rT1, Vector &rT2)
 
void SetUpperPoint (PointType &rUpperPoint)
 
void SetLowerPoint (PointType &rLowerPoint)
 
void SetVelocity (PointType &rVelocity)
 
void SetAngularVelocity (PointType &rAngularVelocity)
 
void SetDimension (int dimension)
 
void SetAxisymmetric ()
 
void SetRigidBodyCenter (NodeType::Pointer pCenter)
 
virtual double GetRadius ()
 
virtual double GetRadius (const PointType &rPoint)
 
virtual PointType GetVelocity ()
 
virtual PointType GetCenter ()
 
virtual PointType GetCenter (const PointType &rPoint)
 
std::vector< PointTypeGetHoles (ModelPart &rModelPart)
 Compute inside holes. More...
 
void GetVertices (std::vector< PointType > &rVertices, const double &rCurrentTime, const unsigned int &rDimension)
 Compute vertices. More...
 
void GetTriangularFaces (DenseMatrix< unsigned int > &rFaces, const unsigned int &rDimension)
 
void GetQuadrilateralFaces (DenseMatrix< unsigned int > &rFaces, const unsigned int &rDimension)
 

Protected Member Functions

Protected Operations
void CreateKnotsList (ModelPart &rModelPart)
 
void CreateKnotsKdtree ()
 
bool ContactSearch (const PointType &rPoint, const double &rRadius)
 
bool ContactSearch (BoundingBoxParameters &rValues, const ProcessInfo &rCurrentProcessInfo)
 
void CreateQuadrilateralBoundaryMesh (ModelPart &rModelPart, const unsigned int &rInitialNodeId, const unsigned int &angular_partitions)
 
- Protected Member Functions inherited from Kratos::SpatialBoundingBox
void MapToLocalFrame (QuaternionType &rQuaternion, BoundingBoxVariables &rBox)
 
PointType GetBoxDisplacement (const double &rCurrentTime)
 
PointType GetBoxDeltaDisplacement (const double &rCurrentTime, const double &rPreviousTime)
 
void ComputeContactTangent (BoundingBoxParameters &rValues, const ProcessInfo &rCurrentProcessInfo)
 
NodeType::Pointer CreateNode (ModelPart &rModelPart, PointType &rPoint, const unsigned int &rNodeId)
 
void CalculateOrthonormalBase (PointType &rDirectionVectorX, PointType &rDirectionVectorY, PointType &rDirectionVectorZ)
 

Protected Attributes

Protected static Member Variables
std::vector< NodeType::Pointer > mKnotsList
 
KdtreeTypempKnotsKdtree
 
SplineCurveUtilities mSplineCurveUtilities
 
- Protected Attributes inherited from Kratos::SpatialBoundingBox
NodeType::Pointer mpRigidBodyCenter
 
bool mRigidBodyCenterSupplied
 
BoundingBoxVariables mBox
 

Type Definitions

typedef array_1d< double, 3 > PointType
 
typedef Node NodeType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef NodesContainerType::Pointer NodesContainerTypePointer
 
typedef ModelPart::ElementsContainerType ElementsContainerType
 
typedef Quaternion< doubleQuaternionType
 
typedef ModelPart::ElementType ElementType
 
typedef ElementType::GeometryType GeometryType
 
typedef NodeType::Pointer NodePointerType
 
typedef std::vector< NodePointerTypeNodePointerTypeVector
 
typedef std::vector< NodeTypeNodeTypeVector
 
typedef NodePointerTypeVector::iterator NodePointerIterator
 
typedef std::vector< doubleDistanceVector
 
typedef std::vector< double >::iterator DistanceIterator
 
typedef Bucket< 3, NodeType, NodePointerTypeVector, NodePointerType, NodePointerIterator, DistanceIteratorBucketType
 
typedef Tree< KDTreePartition< BucketType > > KdtreeType
 
 KRATOS_CLASS_POINTER_DEFINITION (TubeBoundingBox)
 Pointer definition of TubeBoundingBox. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::SpatialBoundingBox
typedef array_1d< double, 3 > PointType
 
typedef ModelPart::NodeType NodeType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef NodesContainerType::Pointer NodesContainerTypePointer
 
typedef BeamMathUtils< doubleBeamMathUtilsType
 
typedef Quaternion< doubleQuaternionType
 
- Static Protected Member Functions inherited from Kratos::SpatialBoundingBox
static unsigned int GetMaxNodeId (ModelPart &rModelPart)
 
static unsigned int GetMaxElementId (ModelPart &rModelPart)
 

Detailed Description

Short class definition.

Detail class definition.

This Box represents a 3D wall composed by a cylinder

A convexity parameter is given to determine if the internal or external space is considered as boundary

This bounding box is essentially used for rigid wall contact purposes

Member Typedef Documentation

◆ BucketType

◆ DistanceIterator

typedef std::vector<double>::iterator Kratos::TubeBoundingBox::DistanceIterator

◆ DistanceVector

◆ ElementsContainerType

◆ ElementType

◆ GeometryType

◆ KdtreeType

◆ NodePointerIterator

typedef NodePointerTypeVector::iterator Kratos::TubeBoundingBox::NodePointerIterator

◆ NodePointerType

typedef NodeType::Pointer Kratos::TubeBoundingBox::NodePointerType

◆ NodePointerTypeVector

◆ NodesContainerType

◆ NodesContainerTypePointer

typedef NodesContainerType::Pointer Kratos::TubeBoundingBox::NodesContainerTypePointer

◆ NodeType

◆ NodeTypeVector

◆ PointType

◆ QuaternionType

Constructor & Destructor Documentation

◆ TubeBoundingBox() [1/4]

Kratos::TubeBoundingBox::TubeBoundingBox ( )
inline

Default constructor.

◆ TubeBoundingBox() [2/4]

Kratos::TubeBoundingBox::TubeBoundingBox ( ModelPart rModelPart,
Parameters  CustomParameters 
)
inline

◆ TubeBoundingBox() [3/4]

Kratos::TubeBoundingBox::TubeBoundingBox ( ModelPart rModelPart,
double  Radius,
int  Convexity 
)
inline

◆ TubeBoundingBox() [4/4]

Kratos::TubeBoundingBox::TubeBoundingBox ( TubeBoundingBox const &  rOther)
inline

Copy constructor.

◆ ~TubeBoundingBox()

virtual Kratos::TubeBoundingBox::~TubeBoundingBox ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ ContactSearch() [1/2]

bool Kratos::TubeBoundingBox::ContactSearch ( BoundingBoxParameters rValues,
const ProcessInfo rCurrentProcessInfo 
)
inlineprotected

◆ ContactSearch() [2/2]

bool Kratos::TubeBoundingBox::ContactSearch ( const PointType rPoint,
const double rRadius 
)
inlineprotected

◆ CreateBoundingBoxBoundaryMesh()

void Kratos::TubeBoundingBox::CreateBoundingBoxBoundaryMesh ( ModelPart rModelPart,
int  linear_partitions = 4,
int  angular_partitions = 4 
)
inlineoverridevirtual

Reimplemented from Kratos::SpatialBoundingBox.

◆ CreateKnotsKdtree()

void Kratos::TubeBoundingBox::CreateKnotsKdtree ( )
inlineprotected

◆ CreateKnotsList()

void Kratos::TubeBoundingBox::CreateKnotsList ( ModelPart rModelPart)
inlineprotected

◆ CreateQuadrilateralBoundaryMesh()

void Kratos::TubeBoundingBox::CreateQuadrilateralBoundaryMesh ( ModelPart rModelPart,
const unsigned int rInitialNodeId,
const unsigned int angular_partitions 
)
inlineprotected

◆ Info()

std::string Kratos::TubeBoundingBox::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [1/2]

bool Kratos::TubeBoundingBox::IsInside ( BoundingBoxParameters rValues,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [2/2]

bool Kratos::TubeBoundingBox::IsInside ( const PointType rPoint,
double rCurrentTime,
double  Radius = 0 
)
inlineoverridevirtual

Reimplemented from Kratos::SpatialBoundingBox.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::TubeBoundingBox::KRATOS_CLASS_POINTER_DEFINITION ( TubeBoundingBox  )

Pointer definition of TubeBoundingBox.

◆ operator=()

TubeBoundingBox& Kratos::TubeBoundingBox::operator= ( TubeBoundingBox const &  rOther)
inline

Assignment operator.

◆ PrintData()

void Kratos::TubeBoundingBox::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::SpatialBoundingBox.

◆ PrintInfo()

void Kratos::TubeBoundingBox::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::SpatialBoundingBox.

Member Data Documentation

◆ mKnotsList

std::vector<NodeType::Pointer> Kratos::TubeBoundingBox::mKnotsList
protected

◆ mpKnotsKdtree

KdtreeType* Kratos::TubeBoundingBox::mpKnotsKdtree
protected

◆ mSplineCurveUtilities

SplineCurveUtilities Kratos::TubeBoundingBox::mSplineCurveUtilities
protected

The documentation for this class was generated from the following file: