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.
Classes | Public Types | List of all members
Kratos::SpatialBoundingBox Class Reference

Short class definition. More...

#include <spatial_bounding_box.hpp>

Inheritance diagram for Kratos::SpatialBoundingBox:
Collaboration diagram for Kratos::SpatialBoundingBox:

Classes

struct  BoundingBoxParameters
 
struct  BoundingBoxVariables
 

Public Types

typedef array_1d< double, 3 > PointType
 
typedef ModelPart::NodeType NodeType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef NodesContainerType::Pointer NodesContainerTypePointer
 
typedef BeamMathUtils< doubleBeamMathUtilsType
 
typedef Quaternion< doubleQuaternionType
 

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (SpatialBoundingBox)
 Pointer definition of SpatialBoundingBox. More...
 
Life Cycle
 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...
 
Operations
virtual void UpdateBoxPosition (const double &rCurrentTime)
 
virtual bool IsInside (const PointType &rPoint, double &rCurrentTime, double Radius=0)
 
virtual bool IsInside (const PointType &rPoint)
 
virtual bool IsInside (BoundingBoxParameters &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void GetParametricDirections (BoundingBoxParameters &rValues, Vector &rT1, Vector &rT2)
 
Access
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)
 
virtual void CreateBoundingBoxBoundaryMesh (ModelPart &rModelPart, int linear_partitions=4, int angular_partitions=4)
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Protected Attributes

Protected member Variables
NodeType::Pointer mpRigidBodyCenter
 
bool mRigidBodyCenterSupplied
 
BoundingBoxVariables mBox
 

Protected Operations

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)
 
static unsigned int GetMaxNodeId (ModelPart &rModelPart)
 
static unsigned int GetMaxElementId (ModelPart &rModelPart)
 

Detailed Description

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ BeamMathUtilsType

◆ NodesContainerType

◆ NodesContainerTypePointer

typedef NodesContainerType::Pointer Kratos::SpatialBoundingBox::NodesContainerTypePointer

◆ NodeType

◆ PointType

◆ QuaternionType

Constructor & Destructor Documentation

◆ SpatialBoundingBox() [1/6]

Kratos::SpatialBoundingBox::SpatialBoundingBox ( )
inline

Default constructor.

◆ SpatialBoundingBox() [2/6]

Kratos::SpatialBoundingBox::SpatialBoundingBox ( Parameters  CustomParameters)
inline

◆ SpatialBoundingBox() [3/6]

Kratos::SpatialBoundingBox::SpatialBoundingBox ( const PointType rLowerPoint,
const PointType rUpperPoint 
)
inline

◆ SpatialBoundingBox() [4/6]

Kratos::SpatialBoundingBox::SpatialBoundingBox ( const PointType rCenter,
const double rRadius 
)
inline

◆ SpatialBoundingBox() [5/6]

Kratos::SpatialBoundingBox::SpatialBoundingBox ( ModelPart rModelPart,
const double rRadius,
double  factor = 0 
)
inline

◆ SpatialBoundingBox() [6/6]

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

Copy constructor.

◆ ~SpatialBoundingBox()

virtual Kratos::SpatialBoundingBox::~SpatialBoundingBox ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CalculateOrthonormalBase()

void Kratos::SpatialBoundingBox::CalculateOrthonormalBase ( PointType rDirectionVectorX,
PointType rDirectionVectorY,
PointType rDirectionVectorZ 
)
inlineprotected

◆ ComputeContactTangent()

void Kratos::SpatialBoundingBox::ComputeContactTangent ( BoundingBoxParameters rValues,
const ProcessInfo rCurrentProcessInfo 
)
inlineprotected

◆ CreateBoundingBoxBoundaryMesh()

virtual void Kratos::SpatialBoundingBox::CreateBoundingBoxBoundaryMesh ( ModelPart rModelPart,
int  linear_partitions = 4,
int  angular_partitions = 4 
)
inlinevirtual

◆ CreateNode()

NodeType::Pointer Kratos::SpatialBoundingBox::CreateNode ( ModelPart rModelPart,
PointType rPoint,
const unsigned int rNodeId 
)
inlineprotected

◆ GetBoxDeltaDisplacement()

PointType Kratos::SpatialBoundingBox::GetBoxDeltaDisplacement ( const double rCurrentTime,
const double rPreviousTime 
)
inlineprotected

◆ GetBoxDisplacement()

PointType Kratos::SpatialBoundingBox::GetBoxDisplacement ( const double rCurrentTime)
inlineprotected

◆ GetCenter() [1/2]

virtual PointType Kratos::SpatialBoundingBox::GetCenter ( )
inlinevirtual

◆ GetCenter() [2/2]

virtual PointType Kratos::SpatialBoundingBox::GetCenter ( const PointType rPoint)
inlinevirtual

◆ GetHoles()

std::vector<PointType > Kratos::SpatialBoundingBox::GetHoles ( ModelPart rModelPart)
inline

Compute inside holes.

◆ GetMaxElementId()

static unsigned int Kratos::SpatialBoundingBox::GetMaxElementId ( ModelPart rModelPart)
inlinestaticprotected

◆ GetMaxNodeId()

static unsigned int Kratos::SpatialBoundingBox::GetMaxNodeId ( ModelPart rModelPart)
inlinestaticprotected

◆ GetParametricDirections()

virtual void Kratos::SpatialBoundingBox::GetParametricDirections ( BoundingBoxParameters rValues,
Vector rT1,
Vector rT2 
)
inlinevirtual

◆ GetQuadrilateralFaces()

void Kratos::SpatialBoundingBox::GetQuadrilateralFaces ( DenseMatrix< unsigned int > &  rFaces,
const unsigned int rDimension 
)
inline

◆ GetRadius() [1/2]

virtual double Kratos::SpatialBoundingBox::GetRadius ( )
inlinevirtual

◆ GetRadius() [2/2]

virtual double Kratos::SpatialBoundingBox::GetRadius ( const PointType rPoint)
inlinevirtual

◆ GetTriangularFaces()

void Kratos::SpatialBoundingBox::GetTriangularFaces ( DenseMatrix< unsigned int > &  rFaces,
const unsigned int rDimension 
)
inline

◆ GetVelocity()

virtual PointType Kratos::SpatialBoundingBox::GetVelocity ( )
inlinevirtual

◆ GetVertices()

void Kratos::SpatialBoundingBox::GetVertices ( std::vector< PointType > &  rVertices,
const double rCurrentTime,
const unsigned int rDimension 
)
inline

Compute vertices.

◆ Info()

virtual std::string Kratos::SpatialBoundingBox::Info ( ) const
inlinevirtual

◆ IsInside() [1/3]

virtual bool Kratos::SpatialBoundingBox::IsInside ( BoundingBoxParameters rValues,
const ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

◆ IsInside() [2/3]

virtual bool Kratos::SpatialBoundingBox::IsInside ( const PointType rPoint)
inlinevirtual

◆ IsInside() [3/3]

virtual bool Kratos::SpatialBoundingBox::IsInside ( const PointType rPoint,
double rCurrentTime,
double  Radius = 0 
)
inlinevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::SpatialBoundingBox::KRATOS_CLASS_POINTER_DEFINITION ( SpatialBoundingBox  )

Pointer definition of SpatialBoundingBox.

◆ MapToLocalFrame()

void Kratos::SpatialBoundingBox::MapToLocalFrame ( QuaternionType rQuaternion,
BoundingBoxVariables rBox 
)
inlineprotected

◆ operator=()

virtual SpatialBoundingBox& Kratos::SpatialBoundingBox::operator= ( SpatialBoundingBox const &  rOther)
inlinevirtual

Assignment operator.

◆ PrintData()

virtual void Kratos::SpatialBoundingBox::PrintData ( std::ostream &  rOStream) const
inlinevirtual

◆ PrintInfo()

virtual void Kratos::SpatialBoundingBox::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

◆ SetAngularVelocity()

void Kratos::SpatialBoundingBox::SetAngularVelocity ( PointType rAngularVelocity)
inline

◆ SetAxisymmetric()

void Kratos::SpatialBoundingBox::SetAxisymmetric ( )
inline

◆ SetDimension()

void Kratos::SpatialBoundingBox::SetDimension ( int  dimension)
inline

◆ SetLowerPoint()

void Kratos::SpatialBoundingBox::SetLowerPoint ( PointType rLowerPoint)
inline

◆ SetRigidBodyCenter()

void Kratos::SpatialBoundingBox::SetRigidBodyCenter ( NodeType::Pointer  pCenter)
inline

◆ SetUpperPoint()

void Kratos::SpatialBoundingBox::SetUpperPoint ( PointType rUpperPoint)
inline

◆ SetVelocity()

void Kratos::SpatialBoundingBox::SetVelocity ( PointType rVelocity)
inline

◆ UpdateBoxPosition()

virtual void Kratos::SpatialBoundingBox::UpdateBoxPosition ( const double rCurrentTime)
inlinevirtual

Member Data Documentation

◆ mBox

BoundingBoxVariables Kratos::SpatialBoundingBox::mBox
protected

◆ mpRigidBodyCenter

NodeType::Pointer Kratos::SpatialBoundingBox::mpRigidBodyCenter
protected

◆ mRigidBodyCenterSupplied

bool Kratos::SpatialBoundingBox::mRigidBodyCenterSupplied
protected

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