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::CylinderBoundingBox Class Reference

Short class definition. More...

#include <cylinder_bounding_box.hpp>

Inheritance diagram for Kratos::CylinderBoundingBox:
Collaboration diagram for Kratos::CylinderBoundingBox:

Public Member Functions

Life Cycle
 CylinderBoundingBox ()
 Default constructor. More...
 
 CylinderBoundingBox (Parameters CustomParameters)
 
 CylinderBoundingBox (PointType FirstCenter, PointType SecondCenter, double Radius, PointType Velocity, int Convexity)
 
CylinderBoundingBoxoperator= (CylinderBoundingBox const &rOther)
 Assignment operator. More...
 
 CylinderBoundingBox (CylinderBoundingBox const &rOther)
 Copy constructor. More...
 
virtual ~CylinderBoundingBox ()
 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
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
PointType mFirstCenter
 
PointType mSecondCenter
 
- Protected Attributes inherited from Kratos::SpatialBoundingBox
NodeType::Pointer mpRigidBodyCenter
 
bool mRigidBodyCenterSupplied
 
BoundingBoxVariables mBox
 

Type Definitions

typedef array_1d< double, 3 > PointType
 
typedef ModelPart::NodeType NodeType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef NodesContainerType::Pointer NodesContainerTypePointer
 
typedef Quaternion< doubleQuaternionType
 
typedef ModelPart::ElementType ElementType
 
typedef ElementType::GeometryType GeometryType
 
 KRATOS_CLASS_POINTER_DEFINITION (CylinderBoundingBox)
 Pointer definition of CylinderBoundingBox. 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

◆ ElementType

◆ GeometryType

◆ NodesContainerType

◆ NodesContainerTypePointer

typedef NodesContainerType::Pointer Kratos::CylinderBoundingBox::NodesContainerTypePointer

◆ NodeType

◆ PointType

◆ QuaternionType

Constructor & Destructor Documentation

◆ CylinderBoundingBox() [1/4]

Kratos::CylinderBoundingBox::CylinderBoundingBox ( )
inline

Default constructor.

◆ CylinderBoundingBox() [2/4]

Kratos::CylinderBoundingBox::CylinderBoundingBox ( Parameters  CustomParameters)
inline

◆ CylinderBoundingBox() [3/4]

Kratos::CylinderBoundingBox::CylinderBoundingBox ( PointType  FirstCenter,
PointType  SecondCenter,
double  Radius,
PointType  Velocity,
int  Convexity 
)
inline

◆ CylinderBoundingBox() [4/4]

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

Copy constructor.

◆ ~CylinderBoundingBox()

virtual Kratos::CylinderBoundingBox::~CylinderBoundingBox ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ ContactSearch() [1/2]

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

◆ ContactSearch() [2/2]

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

◆ CreateBoundingBoxBoundaryMesh()

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ CreateQuadrilateralBoundaryMesh()

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

◆ Info()

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

Turn back information as a string.

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [1/2]

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [2/2]

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::CylinderBoundingBox::KRATOS_CLASS_POINTER_DEFINITION ( CylinderBoundingBox  )

Pointer definition of CylinderBoundingBox.

◆ operator=()

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

Assignment operator.

◆ PrintData()

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

Print object's data.

Reimplemented from Kratos::SpatialBoundingBox.

◆ PrintInfo()

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

Print information about this object.

Reimplemented from Kratos::SpatialBoundingBox.

Member Data Documentation

◆ mFirstCenter

PointType Kratos::CylinderBoundingBox::mFirstCenter
protected

◆ mSecondCenter

PointType Kratos::CylinderBoundingBox::mSecondCenter
protected

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