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.
|
#include <divide_geometry.h>
Public Member Functions | |
Life Cycle | |
DivideGeometry (const GeometryType &rInputGeometry, const Vector &rNodalDistances) | |
Default constructor. More... | |
virtual | ~DivideGeometry () |
Destructor. More... | |
Access | |
std::vector< IndexedPointGeometryPointerType > | GetPositiveSubdivisions () const |
Get the Positive Subdivisions object This method returns the container with the positive side subgeometries. More... | |
std::vector< IndexedPointGeometryPointerType > | GetNegativeSubdivisions () const |
Get the Negative Subdivisions object This method returns the container with the negative side subgeometries. More... | |
std::vector< IndexedPointGeometryPointerType > | GetPositiveInterfaces () const |
Get the Positive Interfaces object This method returns the container with the positive side interfaces. More... | |
std::vector< IndexedPointGeometryPointerType > | GetNegativeInterfaces () const |
Get the Negaitive Interfaces object This method returns the container with the negative side interfaces. More... | |
std::vector< unsigned int > | GetPositiveInterfacesParentIds () const |
Get the Positive Interfaces Parent Ids object This method returns the container with the positive side interfaces parent ids. More... | |
std::vector< unsigned int > | GetNegativeInterfacesParentIds () const |
Get the Negative Interfaces Parent Ids object This method returns the container with the negative side interfaces parent ids. More... | |
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... | |
Operations | |
virtual const std::vector< int > & | GetEdgeIdsI () const =0 |
virtual const std::vector< int > & | GetEdgeIdsJ () const =0 |
virtual std::vector< int > & | GetSplitEdges ()=0 |
Vector | GetNodalDistances () const |
GeometryType | GetInputGeometry () const |
virtual void | GenerateDivision ()=0 |
virtual void | GenerateIntersectionsSkin ()=0 |
virtual void | GenerateExteriorFaces (std::vector< IndexedPointGeometryPointerType > &rExteriorFacesVector, std::vector< unsigned int > &rExteriorFacesParentSubdivisionsIdsVector, const std::vector< IndexedPointGeometryPointerType > &rSubdivisionsContainer) |
virtual void | GenerateExteriorFaces (std::vector< IndexedPointGeometryPointerType > &rExteriorFacesVector, std::vector< unsigned int > &rExteriorFacesParentSubdivisionsIdsVector, const std::vector< IndexedPointGeometryPointerType > &rSubdivisionsContainer, const unsigned int FatherFaceId) |
Protected Member Functions | |
Protected Operations | |
void | IsSplit () |
Protected Attributes | |
Protected member Variables | |
std::vector< IndexedPointGeometryPointerType > | mPositiveSubdivisions |
std::vector< IndexedPointGeometryPointerType > | mNegativeSubdivisions |
std::vector< IndexedPointGeometryPointerType > | mPositiveInterfaces |
std::vector< IndexedPointGeometryPointerType > | mNegativeInterfaces |
std::vector< unsigned int > | mPositiveInterfacesParentIds |
std::vector< unsigned int > | mNegativeInterfacesParentIds |
Type Definitions | |
typedef Geometry< TPointType > | GeometryType |
typedef IndexedPoint | IndexedPointType |
typedef IndexedPoint::Pointer | IndexedPointPointerType |
typedef Geometry< IndexedPoint > | IndexedPointGeometryType |
typedef Geometry< IndexedPoint >::Pointer | IndexedPointGeometryPointerType |
typedef PointerVectorSet< IndexedPointType, IndexedObject > | IndexedPointsContainerType |
bool | mIsSplit |
int | mSplitEdgesNumber |
int | mDivisionsNumber |
IndexedPointsContainerType | mAuxPointsContainer |
KRATOS_CLASS_POINTER_DEFINITION (DivideGeometry) | |
Pointer definition of DivideGeometry. More... | |
typedef Geometry< TPointType > Kratos::DivideGeometry< TPointType >::GeometryType |
typedef Geometry< IndexedPoint >::Pointer Kratos::DivideGeometry< TPointType >::IndexedPointGeometryPointerType |
typedef Geometry< IndexedPoint > Kratos::DivideGeometry< TPointType >::IndexedPointGeometryType |
typedef IndexedPoint::Pointer Kratos::DivideGeometry< TPointType >::IndexedPointPointerType |
typedef PointerVectorSet<IndexedPointType, IndexedObject> Kratos::DivideGeometry< TPointType >::IndexedPointsContainerType |
typedef IndexedPoint Kratos::DivideGeometry< TPointType >::IndexedPointType |
Kratos::DivideGeometry< TPointType >::DivideGeometry | ( | const GeometryType & | rInputGeometry, |
const Vector & | rNodalDistances | ||
) |
Default constructor.
DivideGeometry implementation Default constructor
|
virtual |
Destructor.
|
pure virtual |
Divides the input geometry according to the provided distance data.
Implemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
inlinevirtual |
Generates a list containing the exterior (boundary) faces geometries for either the positive or the negative element subdivisions.
rExteriorFacesVector | Vector containing the generated exterior subfaces geometries |
rExteriorFacesParentSubdivisionsIdsVector | Vector containing the ids of the parent subdivision of each subface |
rSubdivisionsContainer | Positive or negative parent geometry subdivisions container |
Reimplemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
inlinevirtual |
Given a father face id, generates a list containing the exterior (boundary) faces geometries belonging to either the positive or negative side of that that father face.
rExteriorFacesVector | Vector containing the generated exterior subfaces geometries |
rExteriorFacesParentSubdivisionsIdsVector | Vector containing the ids of the parent subdivision of each subface |
rSubdivisionsContainer | Positive or negative parent geometry subdivisions container |
FatherFaceId | Father face in where the positive exterior faces are to be obtained |
Reimplemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
pure virtual |
Generates a list containing the intersection interface geometries for either the positive or the negative element subdivisions.
Implemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
pure virtual |
Returns the member vector containing the edges node I ids.
Implemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
pure virtual |
Returns the member vector containing the edges node J ids.
Implemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
Geometry< TPointType > Kratos::DivideGeometry< TPointType >::GetInputGeometry |
Returns a reference to the input geometry.
std::vector< typename DivideGeometry< TPointType >::IndexedPointGeometryPointerType > Kratos::DivideGeometry< TPointType >::GetNegativeInterfaces |
Get the Negaitive Interfaces object This method returns the container with the negative side interfaces.
std::vector< unsigned int > Kratos::DivideGeometry< TPointType >::GetNegativeInterfacesParentIds |
Get the Negative Interfaces Parent Ids object This method returns the container with the negative side interfaces parent ids.
std::vector< typename DivideGeometry< TPointType >::IndexedPointGeometryPointerType > Kratos::DivideGeometry< TPointType >::GetNegativeSubdivisions |
Get the Negative Subdivisions object This method returns the container with the negative side subgeometries.
Vector Kratos::DivideGeometry< TPointType >::GetNodalDistances |
Returns the nodal distance values.
std::vector< typename DivideGeometry< TPointType >::IndexedPointGeometryPointerType > Kratos::DivideGeometry< TPointType >::GetPositiveInterfaces |
Get the Positive Interfaces object This method returns the container with the positive side interfaces.
std::vector< unsigned int > Kratos::DivideGeometry< TPointType >::GetPositiveInterfacesParentIds |
Get the Positive Interfaces Parent Ids object This method returns the container with the positive side interfaces parent ids.
std::vector< typename DivideGeometry< TPointType >::IndexedPointGeometryPointerType > Kratos::DivideGeometry< TPointType >::GetPositiveSubdivisions |
Get the Positive Subdivisions object This method returns the container with the positive side subgeometries.
|
pure virtual |
Returns the member vector containing the split edges member vector.
Implemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
virtual |
Turn back information as a string.
Reimplemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
protected |
Returns true if the element is split and false otherwise.
Kratos::DivideGeometry< TPointType >::KRATOS_CLASS_POINTER_DEFINITION | ( | DivideGeometry< TPointType > | ) |
Pointer definition of DivideGeometry.
|
virtual |
Print object's data.
Reimplemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
|
virtual |
Print information about this object.
Reimplemented in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.
IndexedPointsContainerType Kratos::DivideGeometry< TPointType >::mAuxPointsContainer |
int Kratos::DivideGeometry< TPointType >::mDivisionsNumber |
bool Kratos::DivideGeometry< TPointType >::mIsSplit |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
int Kratos::DivideGeometry< TPointType >::mSplitEdgesNumber |