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

Short class definition. More...

#include <plane_bounding_box.hpp>

Inheritance diagram for Kratos::PlaneBoundingBox:
Collaboration diagram for Kratos::PlaneBoundingBox:

Classes

struct  PlaneVariables
 

Public Types

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
 
- 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
 

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (PlaneBoundingBox)
 Pointer definition of PlaneBoundingBox. More...
 
Life Cycle
 PlaneBoundingBox ()
 Default constructor. More...
 
 PlaneBoundingBox (Parameters CustomParameters)
 
 PlaneBoundingBox (PointType Point, PointType Normal, PointType Velocity, int Convexity)
 
PlaneBoundingBoxoperator= (PlaneBoundingBox const &rOther)
 Assignment operator. More...
 
 PlaneBoundingBox (PlaneBoundingBox const &rOther)
 Copy constructor. More...
 
virtual ~PlaneBoundingBox ()
 Destructor. More...
 
Operations
void UpdateBoxPosition (const double &rCurrentTime) override
 
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 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
void CreateLinearBoundaryMesh (ModelPart &rModelPart, const unsigned int &rInitialNodeId)
 
void CreateQuadrilateralBoundaryMesh (ModelPart &rModelPart, const unsigned int &rInitialNodeId)
 
- 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 member Variables
PlaneVariables mPlane
 
- Protected Attributes inherited from Kratos::SpatialBoundingBox
NodeType::Pointer mpRigidBodyCenter
 
bool mRigidBodyCenterSupplied
 
BoundingBoxVariables mBox
 

Additional Inherited Members

- 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 2D wall composed by plane

A convexity parameter is given to determine which side of each nose is considered the internal or external boundary

This bounding box is essentially used for rigid wall contact purposes

Member Typedef Documentation

◆ ElementType

◆ GeometryType

◆ NodesContainerType

◆ NodesContainerTypePointer

typedef NodesContainerType::Pointer Kratos::PlaneBoundingBox::NodesContainerTypePointer

◆ NodeType

◆ PointType

◆ QuaternionType

Constructor & Destructor Documentation

◆ PlaneBoundingBox() [1/4]

Kratos::PlaneBoundingBox::PlaneBoundingBox ( )
inline

Default constructor.

◆ PlaneBoundingBox() [2/4]

Kratos::PlaneBoundingBox::PlaneBoundingBox ( Parameters  CustomParameters)
inline

◆ PlaneBoundingBox() [3/4]

Kratos::PlaneBoundingBox::PlaneBoundingBox ( PointType  Point,
PointType  Normal,
PointType  Velocity,
int  Convexity 
)
inline

◆ PlaneBoundingBox() [4/4]

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

Copy constructor.

◆ ~PlaneBoundingBox()

virtual Kratos::PlaneBoundingBox::~PlaneBoundingBox ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CreateBoundingBoxBoundaryMesh()

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ CreateLinearBoundaryMesh()

void Kratos::PlaneBoundingBox::CreateLinearBoundaryMesh ( ModelPart rModelPart,
const unsigned int rInitialNodeId 
)
inlineprotected

◆ CreateQuadrilateralBoundaryMesh()

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

◆ GetParametricDirections()

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ Info()

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

Turn back information as a string.

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [1/2]

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ IsInside() [2/2]

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

Reimplemented from Kratos::SpatialBoundingBox.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::PlaneBoundingBox::KRATOS_CLASS_POINTER_DEFINITION ( PlaneBoundingBox  )

Pointer definition of PlaneBoundingBox.

◆ operator=()

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

Assignment operator.

◆ PrintData()

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

Print object's data.

Reimplemented from Kratos::SpatialBoundingBox.

◆ PrintInfo()

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

Print information about this object.

Reimplemented from Kratos::SpatialBoundingBox.

◆ UpdateBoxPosition()

void Kratos::PlaneBoundingBox::UpdateBoxPosition ( const double rCurrentTime)
inlineoverridevirtual

Reimplemented from Kratos::SpatialBoundingBox.

Member Data Documentation

◆ mPlane

PlaneVariables Kratos::PlaneBoundingBox::mPlane
protected

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