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::DivideGeometry< TPointType > Class Template Referenceabstract

#include <divide_geometry.h>

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

Public Member Functions

Life Cycle
 DivideGeometry (const GeometryType &rInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
virtual ~DivideGeometry ()
 Destructor. More...
 
Access
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...
 
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< IndexedPointGeometryPointerTypemPositiveSubdivisions
 
std::vector< IndexedPointGeometryPointerTypemNegativeSubdivisions
 
std::vector< IndexedPointGeometryPointerTypemPositiveInterfaces
 
std::vector< IndexedPointGeometryPointerTypemNegativeInterfaces
 
std::vector< unsigned intmPositiveInterfacesParentIds
 
std::vector< unsigned intmNegativeInterfacesParentIds
 

Type Definitions

typedef Geometry< TPointType > GeometryType
 
typedef IndexedPoint IndexedPointType
 
typedef IndexedPoint::Pointer IndexedPointPointerType
 
typedef Geometry< IndexedPointIndexedPointGeometryType
 
typedef Geometry< IndexedPoint >::Pointer IndexedPointGeometryPointerType
 
typedef PointerVectorSet< IndexedPointType, IndexedObjectIndexedPointsContainerType
 
bool mIsSplit
 
int mSplitEdgesNumber
 
int mDivisionsNumber
 
IndexedPointsContainerType mAuxPointsContainer
 
 KRATOS_CLASS_POINTER_DEFINITION (DivideGeometry)
 Pointer definition of DivideGeometry. More...
 

Member Typedef Documentation

◆ GeometryType

template<class TPointType >
typedef Geometry< TPointType > Kratos::DivideGeometry< TPointType >::GeometryType

◆ IndexedPointGeometryPointerType

template<class TPointType >
typedef Geometry< IndexedPoint >::Pointer Kratos::DivideGeometry< TPointType >::IndexedPointGeometryPointerType

◆ IndexedPointGeometryType

template<class TPointType >
typedef Geometry< IndexedPoint > Kratos::DivideGeometry< TPointType >::IndexedPointGeometryType

◆ IndexedPointPointerType

template<class TPointType >
typedef IndexedPoint::Pointer Kratos::DivideGeometry< TPointType >::IndexedPointPointerType

◆ IndexedPointsContainerType

◆ IndexedPointType

template<class TPointType >
typedef IndexedPoint Kratos::DivideGeometry< TPointType >::IndexedPointType

Constructor & Destructor Documentation

◆ DivideGeometry()

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

Default constructor.

DivideGeometry implementation Default constructor

◆ ~DivideGeometry()

template<class TPointType >
Kratos::DivideGeometry< TPointType >::~DivideGeometry
virtual

Destructor.

Member Function Documentation

◆ GenerateDivision()

template<class TPointType >
virtual void Kratos::DivideGeometry< TPointType >::GenerateDivision ( )
pure virtual

◆ GenerateExteriorFaces() [1/2]

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

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 in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.

◆ GenerateExteriorFaces() [2/2]

template<class TPointType >
virtual void Kratos::DivideGeometry< TPointType >::GenerateExteriorFaces ( std::vector< IndexedPointGeometryPointerType > &  rExteriorFacesVector,
std::vector< unsigned int > &  rExteriorFacesParentSubdivisionsIdsVector,
const std::vector< IndexedPointGeometryPointerType > &  rSubdivisionsContainer,
const unsigned int  FatherFaceId 
)
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.

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 in Kratos::DivideTriangle2D3< TPointType >, Kratos::DivideTriangle2D3< Kratos::Node >, Kratos::DivideTetrahedra3D4< TPointType >, and Kratos::DivideTetrahedra3D4< Kratos::Node >.

◆ GenerateIntersectionsSkin()

template<class TPointType >
virtual void Kratos::DivideGeometry< TPointType >::GenerateIntersectionsSkin ( )
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 >.

◆ GetEdgeIdsI()

template<class TPointType >
virtual const std::vector<int>& Kratos::DivideGeometry< TPointType >::GetEdgeIdsI ( ) const
pure virtual

◆ GetEdgeIdsJ()

template<class TPointType >
virtual const std::vector<int>& Kratos::DivideGeometry< TPointType >::GetEdgeIdsJ ( ) const
pure virtual

◆ GetInputGeometry()

template<class TPointType >
Geometry< TPointType > Kratos::DivideGeometry< TPointType >::GetInputGeometry

Returns a reference to the input geometry.

◆ GetNegativeInterfaces()

template<class TPointType >
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.

Returns
std::vector<IndexedPointGeometryPointerType> A vector containing pointers to the negative side subinterfaces

◆ GetNegativeInterfacesParentIds()

template<class TPointType >
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.

Returns
std::vector<IndexedPointGeometryPointerType> A vector containing the ids of the negative side interfaces parents

◆ GetNegativeSubdivisions()

template<class TPointType >
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.

Returns
std::vector<IndexedPointGeometryPointerType> A vector containing pointers to the negative side subgeometries

◆ GetNodalDistances()

template<class TPointType >
Vector Kratos::DivideGeometry< TPointType >::GetNodalDistances

Returns the nodal distance values.

◆ GetPositiveInterfaces()

template<class TPointType >
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.

Returns
std::vector<IndexedPointGeometryPointerType> A vector containing pointers to the positive side subinterfaces

◆ GetPositiveInterfacesParentIds()

template<class TPointType >
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.

Returns
std::vector<IndexedPointGeometryPointerType> A vector containing the ids of the positive side interfaces parents

◆ GetPositiveSubdivisions()

template<class TPointType >
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.

Returns
std::vector<IndexedPointGeometryPointerType> A vector containing pointers to the positive side subgeometries

◆ GetSplitEdges()

template<class TPointType >
virtual std::vector<int>& Kratos::DivideGeometry< TPointType >::GetSplitEdges ( )
pure virtual

◆ Info()

template<class TPointType >
std::string Kratos::DivideGeometry< TPointType >::Info
virtual

◆ IsSplit()

template<class TPointType >
void Kratos::DivideGeometry< TPointType >::IsSplit
protected

Returns true if the element is split and false otherwise.

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of DivideGeometry.

◆ PrintData()

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

◆ PrintInfo()

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

Member Data Documentation

◆ mAuxPointsContainer

template<class TPointType >
IndexedPointsContainerType Kratos::DivideGeometry< TPointType >::mAuxPointsContainer

◆ mDivisionsNumber

template<class TPointType >
int Kratos::DivideGeometry< TPointType >::mDivisionsNumber

◆ mIsSplit

template<class TPointType >
bool Kratos::DivideGeometry< TPointType >::mIsSplit

◆ mNegativeInterfaces

template<class TPointType >
std::vector<IndexedPointGeometryPointerType> Kratos::DivideGeometry< TPointType >::mNegativeInterfaces
protected

◆ mNegativeInterfacesParentIds

template<class TPointType >
std::vector<unsigned int> Kratos::DivideGeometry< TPointType >::mNegativeInterfacesParentIds
protected

◆ mNegativeSubdivisions

template<class TPointType >
std::vector<IndexedPointGeometryPointerType> Kratos::DivideGeometry< TPointType >::mNegativeSubdivisions
protected

◆ mPositiveInterfaces

template<class TPointType >
std::vector<IndexedPointGeometryPointerType> Kratos::DivideGeometry< TPointType >::mPositiveInterfaces
protected

◆ mPositiveInterfacesParentIds

template<class TPointType >
std::vector<unsigned int> Kratos::DivideGeometry< TPointType >::mPositiveInterfacesParentIds
protected

◆ mPositiveSubdivisions

template<class TPointType >
std::vector<IndexedPointGeometryPointerType> Kratos::DivideGeometry< TPointType >::mPositiveSubdivisions
protected

◆ mSplitEdgesNumber

template<class TPointType >
int Kratos::DivideGeometry< TPointType >::mSplitEdgesNumber

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