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

Short class definition. More...

#include <sphere_bounding_box.hpp>

Inheritance diagram for Kratos::SphereBoundingBox:
Collaboration diagram for Kratos::SphereBoundingBox:

Public Member Functions

Life Cycle
 SphereBoundingBox ()
 Default constructor. More...
 
 SphereBoundingBox (Parameters CustomParameters)
 
 SphereBoundingBox (PointType Center, double Radius, PointType Velocity, int Convexity)
 
SphereBoundingBoxoperator= (SphereBoundingBox const &rOther)
 Assignment operator. More...
 
 SphereBoundingBox (SphereBoundingBox const &rOther)
 Copy constructor. More...
 
virtual ~SphereBoundingBox ()
 Destructor. More...
 
Operations
bool IsInside (const PointType &rPoint, double &rCurrentTime, double Radius=0) override
 
bool IsInside (BoundingBoxParameters &rValues, const ProcessInfo &rCurrentProcessInfo) override
 
virtual void GetParametricDirections (BoundingBoxParameters &rValues, Vector &rT1, Vector &rT2) override
 
void CreateBoundingBoxBoundaryMesh (ModelPart &rModelPart, int linear_partitions=4, int angular_partitions=4) override
 
Input and output
virtual std::string Info () const override
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
virtual 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)
 
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 CreateSphereBoundaryMesh (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)
 

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 (SphereBoundingBox)
 Pointer definition of SphereBoundingBox. 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)
 
- Protected Attributes inherited from Kratos::SpatialBoundingBox
NodeType::Pointer mpRigidBodyCenter
 
bool mRigidBodyCenterSupplied
 
BoundingBoxVariables mBox
 

Detailed Description

Short class definition.

Detail class definition.

This Box represents a 3D wall composed by a sphere

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::SphereBoundingBox::NodesContainerTypePointer

◆ NodeType

◆ PointType

◆ QuaternionType

Constructor & Destructor Documentation

◆ SphereBoundingBox() [1/4]

Kratos::SphereBoundingBox::SphereBoundingBox ( )
inline

Default constructor.

◆ SphereBoundingBox() [2/4]

Kratos::SphereBoundingBox::SphereBoundingBox ( Parameters  CustomParameters)
inline

◆ SphereBoundingBox() [3/4]

Kratos::SphereBoundingBox::SphereBoundingBox ( PointType  Center,
double  Radius,
PointType  Velocity,
int  Convexity 
)
inline

◆ SphereBoundingBox() [4/4]

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

Copy constructor.

◆ ~SphereBoundingBox()

virtual Kratos::SphereBoundingBox::~SphereBoundingBox ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ ContactSearch() [1/2]

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

◆ ContactSearch() [2/2]

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

◆ CreateBoundingBoxBoundaryMesh()

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ CreateSphereBoundaryMesh()

void Kratos::SphereBoundingBox::CreateSphereBoundaryMesh ( ModelPart rModelPart,
const unsigned int rInitialNodeId,
const unsigned int angular_partitions 
)
inlineprotected

◆ GetParametricDirections()

virtual void Kratos::SphereBoundingBox::GetParametricDirections ( BoundingBoxParameters rValues,
Vector rT1,
Vector rT2 
)
inlineoverridevirtual

Reimplemented from Kratos::SpatialBoundingBox.

◆ Info()

virtual std::string Kratos::SphereBoundingBox::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::SpatialBoundingBox.

Reimplemented in Kratos::CircleBoundingBox.

◆ IsInside() [1/2]

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [2/2]

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::SphereBoundingBox::KRATOS_CLASS_POINTER_DEFINITION ( SphereBoundingBox  )

Pointer definition of SphereBoundingBox.

◆ operator=()

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

Assignment operator.

◆ PrintData()

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

Print object's data.

Reimplemented from Kratos::SpatialBoundingBox.

Reimplemented in Kratos::CircleBoundingBox.

◆ PrintInfo()

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

Print information about this object.

Reimplemented from Kratos::SpatialBoundingBox.

Reimplemented in Kratos::CircleBoundingBox.


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