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.
|
Short class definition. More...
#include <compound_noses_bounding_box.hpp>
Classes | |
struct | BoxNoseVariables |
Public Types | |
typedef array_1d< double, 3 > | PointType |
typedef ModelPart::NodeType | NodeType |
typedef ModelPart::NodesContainerType | NodesContainerType |
typedef NodesContainerType::Pointer | NodesContainerTypePointer |
typedef BeamMathUtils< double > | BeamMathUtilsType |
typedef Quaternion< double > | QuaternionType |
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< double > | BeamMathUtilsType |
typedef Quaternion< double > | QuaternionType |
Public Member Functions | |
Type Definitions | |
KRATOS_CLASS_POINTER_DEFINITION (CompoundNosesBoundingBox) | |
Pointer definition of CompoundNosesBoundingBox. More... | |
Life Cycle | |
CompoundNosesBoundingBox () | |
Default constructor. More... | |
CompoundNosesBoundingBox (Parameters CustomParameters) | |
CompoundNosesBoundingBox (Vector Radius, Vector RakeAngles, Vector ClearanceAngles, Matrix Centers, Vector Convexities, Vector Velocity, Vector AngularVelocity, Vector UpperPoint, Vector LowerPoint, Matrix InitialLocalMatrix) | |
CompoundNosesBoundingBox & | operator= (CompoundNosesBoundingBox const &rOther) |
Assignment operator. More... | |
CompoundNosesBoundingBox (CompoundNosesBoundingBox const &rOther) | |
Copy constructor. More... | |
virtual | ~CompoundNosesBoundingBox () |
Destructor. More... | |
Operations | |
double | GetRadius (const PointType &rPoint) override |
PointType | GetCenter (const PointType &rPoint) override |
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 |
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 SpatialBoundingBox & | operator= (SpatialBoundingBox const &rOther) |
Assignment operator. More... | |
SpatialBoundingBox (SpatialBoundingBox const &rOther) | |
Copy constructor. More... | |
virtual | ~SpatialBoundingBox () |
Destructor. More... | |
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 PointType | GetVelocity () |
virtual PointType | GetCenter () |
std::vector< PointType > | GetHoles (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 &rFirstInitialNodeId, const unsigned int &rSecondInitialNodeId) |
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 | |
std::vector< BoxNoseVariables > | mBoxNoses |
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) |
Short class definition.
Detail class definition.
This Box represents a 2D wall composed by a set of two-line sistems called "Noses" each pair of lines are tangent to the semi-circle given by a center and a radius these semi-circles represent the "noses" or the "tips" of the box wall One line is the upper line of the nose defined by a rake angle (respect to the vertical axis) The other line is a down line defined by a clearance angle (respect to the horizontal axis)
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
typedef NodesContainerType::Pointer Kratos::CompoundNosesBoundingBox::NodesContainerTypePointer |
|
inline |
Default constructor.
|
inline |
|
inline |
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inlineoverridevirtual |
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineprotected |
|
inlineprotected |
|
inlineoverridevirtual |
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineoverridevirtual |
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineoverridevirtual |
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineoverridevirtual |
Reimplemented from Kratos::SpatialBoundingBox.
Kratos::CompoundNosesBoundingBox::KRATOS_CLASS_POINTER_DEFINITION | ( | CompoundNosesBoundingBox | ) |
Pointer definition of CompoundNosesBoundingBox.
|
inline |
Assignment operator.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::SpatialBoundingBox.
|
inlineoverridevirtual |
Reimplemented from Kratos::SpatialBoundingBox.
|
protected |