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::DivideTetrahedra3D4< TPointType > Class Template Reference

#include <divide_tetrahedra_3d_4.h>

Inheritance diagram for Kratos::DivideTetrahedra3D4< TPointType >:
Collaboration diagram for Kratos::DivideTetrahedra3D4< TPointType >:

Public Member Functions

Life Cycle
 DivideTetrahedra3D4 (const GeometryType &rInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
 ~DivideTetrahedra3D4 ()
 Destructor. More...
 
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...
 
Operations
const std::vector< int > & GetEdgeIdsI () const override
 
const std::vector< int > & GetEdgeIdsJ () const override
 
std::vector< int > & GetSplitEdges () override
 
void GenerateDivision () override
 
void GenerateIntersectionsSkin () override
 
void GenerateExteriorFaces (std::vector< IndexedPointGeometryPointerType > &rExteriorFacesVector, std::vector< unsigned int > &rExteriorFacesParentSubdivisionsIdsVector, const std::vector< IndexedPointGeometryPointerType > &rSubdivisionsContainer) override
 
void GenerateExteriorFaces (std::vector< IndexedPointGeometryPointerType > &rExteriorFacesVector, std::vector< unsigned int > &rExteriorFacesParentSubdivisionsIdsVector, const std::vector< IndexedPointGeometryPointerType > &rSubdivisionsContainer, const unsigned int FatherFaceId) override
 
- Public Member Functions inherited from Kratos::DivideGeometry< TPointType >
 DivideGeometry (const GeometryType &rInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
virtual ~DivideGeometry ()
 Destructor. More...
 
std::vector< IndexedPointGeometryPointerTypeGetPositiveSubdivisions () const
 Get the Positive Subdivisions object This method returns the container with the positive side subgeometries. More...
 
std::vector< IndexedPointGeometryPointerTypeGetNegativeSubdivisions () const
 Get the Negative Subdivisions object This method returns the container with the negative side subgeometries. More...
 
std::vector< IndexedPointGeometryPointerTypeGetPositiveInterfaces () const
 Get the Positive Interfaces object This method returns the container with the positive side interfaces. More...
 
std::vector< IndexedPointGeometryPointerTypeGetNegativeInterfaces () const
 Get the Negaitive Interfaces object This method returns the container with the negative side interfaces. More...
 
std::vector< unsigned intGetPositiveInterfacesParentIds () const
 Get the Positive Interfaces Parent Ids object This method returns the container with the positive side interfaces parent ids. More...
 
std::vector< unsigned intGetNegativeInterfacesParentIds () const
 Get the Negative Interfaces Parent Ids object This method returns the container with the negative side interfaces parent ids. More...
 
Vector GetNodalDistances () const
 
GeometryType GetInputGeometry () const
 
 KRATOS_CLASS_POINTER_DEFINITION (DivideGeometry)
 Pointer definition of DivideGeometry. More...
 

Type Definitions

typedef DivideGeometry< TPointType > BaseType
 
typedef BaseType::GeometryType GeometryType
 
typedef BaseType::IndexedPointType IndexedPointType
 
typedef BaseType::IndexedPointPointerType IndexedPointPointerType
 
typedef BaseType::IndexedPointGeometryType IndexedPointGeometryType
 
typedef BaseType::IndexedPointGeometryPointerType IndexedPointGeometryPointerType
 
typedef BaseType::IndexedPointGeometryType::GeometriesArrayType IndexedGeometriesArrayType
 
typedef Triangle3D3< IndexedPointTypeIndexedPointTriangleType
 
typedef Tetrahedra3D4< IndexedPointTypeIndexedPointTetrahedraType
 
const std::vector< intmEdgeNodeI = {0, 0, 0, 1, 1, 2}
 
const std::vector< intmEdgeNodeJ = {1, 2, 3, 2, 3, 3}
 
std::vector< intmSplitEdges = {0, 1, 2, 3, -1, -1, -1, -1, -1, -1, -1}
 
 KRATOS_CLASS_POINTER_DEFINITION (DivideTetrahedra3D4)
 Pointer definition of DivideTetrahedra3D4. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::DivideGeometry< TPointType >
typedef Geometry< TPointType > GeometryType
 
typedef IndexedPoint IndexedPointType
 
typedef IndexedPoint::Pointer IndexedPointPointerType
 
typedef Geometry< IndexedPointIndexedPointGeometryType
 
typedef Geometry< IndexedPoint >::Pointer IndexedPointGeometryPointerType
 
typedef PointerVectorSet< IndexedPointType, IndexedObjectIndexedPointsContainerType
 
- Public Attributes inherited from Kratos::DivideGeometry< TPointType >
bool mIsSplit
 
int mSplitEdgesNumber
 
int mDivisionsNumber
 
IndexedPointsContainerType mAuxPointsContainer
 
- Protected Member Functions inherited from Kratos::DivideGeometry< TPointType >
void IsSplit ()
 
- Protected Attributes inherited from Kratos::DivideGeometry< TPointType >
std::vector< IndexedPointGeometryPointerTypemPositiveSubdivisions
 
std::vector< IndexedPointGeometryPointerTypemNegativeSubdivisions
 
std::vector< IndexedPointGeometryPointerTypemPositiveInterfaces
 
std::vector< IndexedPointGeometryPointerTypemNegativeInterfaces
 
std::vector< unsigned intmPositiveInterfacesParentIds
 
std::vector< unsigned intmNegativeInterfacesParentIds
 

Member Typedef Documentation

◆ BaseType

template<class TPointType >
typedef DivideGeometry<TPointType> Kratos::DivideTetrahedra3D4< TPointType >::BaseType

◆ GeometryType

template<class TPointType >
typedef BaseType::GeometryType Kratos::DivideTetrahedra3D4< TPointType >::GeometryType

◆ IndexedGeometriesArrayType

◆ IndexedPointGeometryPointerType

◆ IndexedPointGeometryType

◆ IndexedPointPointerType

◆ IndexedPointTetrahedraType

template<class TPointType >
typedef Tetrahedra3D4< IndexedPointType > Kratos::DivideTetrahedra3D4< TPointType >::IndexedPointTetrahedraType

◆ IndexedPointTriangleType

template<class TPointType >
typedef Triangle3D3< IndexedPointType > Kratos::DivideTetrahedra3D4< TPointType >::IndexedPointTriangleType

◆ IndexedPointType

template<class TPointType >
typedef BaseType::IndexedPointType Kratos::DivideTetrahedra3D4< TPointType >::IndexedPointType

Constructor & Destructor Documentation

◆ DivideTetrahedra3D4()

template<class TPointType >
Kratos::DivideTetrahedra3D4< TPointType >::DivideTetrahedra3D4 ( const GeometryType rInputGeometry,
const Vector rNodalDistances 
)

Default constructor.

◆ ~DivideTetrahedra3D4()

template<class TPointType >
Kratos::DivideTetrahedra3D4< TPointType >::~DivideTetrahedra3D4

Destructor.

Member Function Documentation

◆ GenerateDivision()

template<class TPointType >
void Kratos::DivideTetrahedra3D4< TPointType >::GenerateDivision
overridevirtual

Divides the input geometry according to the provided distance data.

Implements Kratos::DivideGeometry< TPointType >.

◆ GenerateExteriorFaces() [1/2]

template<class TPointType >
void Kratos::DivideTetrahedra3D4< TPointType >::GenerateExteriorFaces ( std::vector< IndexedPointGeometryPointerType > &  rExteriorFacesVector,
std::vector< unsigned int > &  rExteriorFacesParentSubdivisionsIdsVector,
const std::vector< IndexedPointGeometryPointerType > &  rSubdivisionsContainer 
)
overridevirtual

Generates a list containing the exterior (boundary) faces geometries for either the positive or the negative element subdivisions.

Parameters
rExteriorFacesVectorVector containing the generated exterior subfaces geometries
rExteriorFacesParentSubdivisionsIdsVectorVector containing the ids of the parent subdivision of each subface
rSubdivisionsContainerPositive or negative parent geometry subdivisions container

Reimplemented from Kratos::DivideGeometry< TPointType >.

◆ GenerateExteriorFaces() [2/2]

template<class TPointType >
void Kratos::DivideTetrahedra3D4< TPointType >::GenerateExteriorFaces ( std::vector< IndexedPointGeometryPointerType > &  rExteriorFacesVector,
std::vector< unsigned int > &  rExteriorFacesParentSubdivisionsIdsVector,
const std::vector< IndexedPointGeometryPointerType > &  rSubdivisionsContainer,
const unsigned int  FatherFaceId 
)
overridevirtual

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.

Parameters
rExteriorFacesVectorVector containing the generated exterior subfaces geometries
rExteriorFacesParentSubdivisionsIdsVectorVector containing the ids of the parent subdivision of each subface
rSubdivisionsContainerPositive or negative parent geometry subdivisions container
FatherFaceIdFather face in where the positive exterior faces are to be obtained

Reimplemented from Kratos::DivideGeometry< TPointType >.

◆ GenerateIntersectionsSkin()

template<class TPointType >
void Kratos::DivideTetrahedra3D4< TPointType >::GenerateIntersectionsSkin
overridevirtual

Generates a list containing the intersection interface geometries for either the positive or the negative element subdivisions.

Implements Kratos::DivideGeometry< TPointType >.

◆ GetEdgeIdsI()

template<class TPointType >
const std::vector< int > & Kratos::DivideTetrahedra3D4< TPointType >::GetEdgeIdsI
overridevirtual

Returns the member vector containing the edges node I ids.

Implements Kratos::DivideGeometry< TPointType >.

◆ GetEdgeIdsJ()

template<class TPointType >
const std::vector< int > & Kratos::DivideTetrahedra3D4< TPointType >::GetEdgeIdsJ
overridevirtual

Returns the member vector containing the edges node J ids.

Implements Kratos::DivideGeometry< TPointType >.

◆ GetSplitEdges()

template<class TPointType >
std::vector< int > & Kratos::DivideTetrahedra3D4< TPointType >::GetSplitEdges
overridevirtual

Returns the member vector containing the split edges member vector.

Implements Kratos::DivideGeometry< TPointType >.

◆ Info()

template<class TPointType >
std::string Kratos::DivideTetrahedra3D4< TPointType >::Info
overridevirtual

Turn back information as a string.

Reimplemented from Kratos::DivideGeometry< TPointType >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TPointType >
Kratos::DivideTetrahedra3D4< TPointType >::KRATOS_CLASS_POINTER_DEFINITION ( DivideTetrahedra3D4< TPointType >  )

Pointer definition of DivideTetrahedra3D4.

◆ PrintData()

template<class TPointType >
void Kratos::DivideTetrahedra3D4< TPointType >::PrintData ( std::ostream &  rOStream) const
overridevirtual

Print object's data.

Reimplemented from Kratos::DivideGeometry< TPointType >.

◆ PrintInfo()

template<class TPointType >
void Kratos::DivideTetrahedra3D4< TPointType >::PrintInfo ( std::ostream &  rOStream) const
overridevirtual

Print information about this object.

Reimplemented from Kratos::DivideGeometry< TPointType >.

Member Data Documentation

◆ mEdgeNodeI

template<class TPointType >
const std::vector<int> Kratos::DivideTetrahedra3D4< TPointType >::mEdgeNodeI = {0, 0, 0, 1, 1, 2}

◆ mEdgeNodeJ

template<class TPointType >
const std::vector<int> Kratos::DivideTetrahedra3D4< TPointType >::mEdgeNodeJ = {1, 2, 3, 2, 3, 3}

◆ mSplitEdges

template<class TPointType >
std::vector<int> Kratos::DivideTetrahedra3D4< TPointType >::mSplitEdges = {0, 1, 2, 3, -1, -1, -1, -1, -1, -1, -1}

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