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.
Public Types | List of all members
Kratos::ChimeraHoleCuttingUtility Class Reference

Short class definition. More...

#include <hole_cutting_utility.h>

Collaboration diagram for Kratos::ChimeraHoleCuttingUtility:

Public Types

typedef std::size_t IndexType
 
Type Definitions
enum  SideToExtract { INSIDE =0 , OUTSIDE =1 }
 
enum  Domain { MAIN_BACKGROUND =1 , OTHER =-1 }
 

Public Member Functions

Pointer Definitions

Pointer definition of ChimeraHoleCuttingUtility

 KRATOS_CLASS_POINTER_DEFINITION (ChimeraHoleCuttingUtility)
 
Life Cycle
 ChimeraHoleCuttingUtility ()=default
 
 ~ChimeraHoleCuttingUtility ()=default
 Destructor. More...
 
Operations
template<int TDim>
void CreateHoleAfterDistance (ModelPart &rModelPart, ModelPart &rHoleModelPart, ModelPart &rHoleBoundaryModelPart, const double Distance)
 Creates a hole on the given rModelPart at a Distance (-ve) from the zero distance layer. More...
 
template<int TDim>
void RemoveOutOfDomainElements (ModelPart &rModelPart, ModelPart &rModifiedModelPart, const ChimeraHoleCuttingUtility::Domain DomainType, const double OverLapDistance=0.0, const ChimeraHoleCuttingUtility::SideToExtract Side=ChimeraHoleCuttingUtility::SideToExtract::OUTSIDE)
 Removes the elements which are out of the domain. An element is removed even if one of its nodes is out of the domain (-ve or +ve) as indicated by GetInside and MainDomainOrNot. More...
 
template<int TDim>
void ExtractBoundaryMesh (ModelPart &rVolumeModelPart, ModelPart &rExtractedBoundaryModelPart, const ChimeraHoleCuttingUtility::SideToExtract GetInternal=ChimeraHoleCuttingUtility::SideToExtract::OUTSIDE)
 Extracts the outside surface/edges of a modelpart.This uses the bool variable CHIMERA_INTERNAL_BOUNDARY to check if there is an internal boundary in the given ModelPart. The flag GetInternal specifies weather to get the internal boundary marked by CHIMERA_INTERNAL_BOUNDARY or the outside one. More...
 
ChimeraHoleCuttingUtilityoperator= (ChimeraHoleCuttingUtility const &rOther)=delete
 Assignment operator. More...
 
 ChimeraHoleCuttingUtility (ChimeraHoleCuttingUtility const &rOther)=delete
 Copy constructor. More...
 

Detailed Description

Short class definition.

Member Typedef Documentation

◆ IndexType

Member Enumeration Documentation

◆ Domain

Enumerator
MAIN_BACKGROUND 
OTHER 

◆ SideToExtract

Enumerator
INSIDE 
OUTSIDE 

Constructor & Destructor Documentation

◆ ChimeraHoleCuttingUtility() [1/2]

Kratos::ChimeraHoleCuttingUtility::ChimeraHoleCuttingUtility ( )
default

◆ ~ChimeraHoleCuttingUtility()

Kratos::ChimeraHoleCuttingUtility::~ChimeraHoleCuttingUtility ( )
default

Destructor.

◆ ChimeraHoleCuttingUtility() [2/2]

Kratos::ChimeraHoleCuttingUtility::ChimeraHoleCuttingUtility ( ChimeraHoleCuttingUtility const &  rOther)
delete

Copy constructor.

Member Function Documentation

◆ CreateHoleAfterDistance()

template<int TDim>
template void Kratos::ChimeraHoleCuttingUtility::CreateHoleAfterDistance< 3 > ( ModelPart rModelPart,
ModelPart rHoleModelPart,
ModelPart rHoleBoundaryModelPart,
const double  Distance 
)

Creates a hole on the given rModelPart at a Distance (-ve) from the zero distance layer.

Parameters
rModelPartThe modelpart where the hole is to be cut.
rHoleModelPartThe modelpart containing the nodes and corresponding elements from the cut hole. (deactivated elements)
rHoleBoundaryModelPartBoundary modelpart of the rHoleModelPart
Distanceis the the distance (magnitude) at which hole is to be cut from the zero distance layer.

◆ ExtractBoundaryMesh()

template<int TDim>
template void Kratos::ChimeraHoleCuttingUtility::ExtractBoundaryMesh< 3 > ( ModelPart rVolumeModelPart,
ModelPart rExtractedBoundaryModelPart,
const ChimeraHoleCuttingUtility::SideToExtract  GetInternal = ChimeraHoleCuttingUtility::SideToExtract::OUTSIDE 
)

Extracts the outside surface/edges of a modelpart.This uses the bool variable CHIMERA_INTERNAL_BOUNDARY to check if there is an internal boundary in the given ModelPart. The flag GetInternal specifies weather to get the internal boundary marked by CHIMERA_INTERNAL_BOUNDARY or the outside one.

Parameters
rVolumeModelPartThe modelpart on which the boundary is to be found.
rExtractedBoundaryModelPartThe extracted surface/edge modelpart.
GetInternalA bool specifying which surface/edge extracted. The one marked by CHIMERA_INTERNAL_BOUNDARY or the outside one.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::ChimeraHoleCuttingUtility::KRATOS_CLASS_POINTER_DEFINITION ( ChimeraHoleCuttingUtility  )

◆ operator=()

ChimeraHoleCuttingUtility& Kratos::ChimeraHoleCuttingUtility::operator= ( ChimeraHoleCuttingUtility const &  rOther)
delete

Assignment operator.

◆ RemoveOutOfDomainElements()

template<int TDim>
template void Kratos::ChimeraHoleCuttingUtility::RemoveOutOfDomainElements< 3 > ( ModelPart rModelPart,
ModelPart rModifiedModelPart,
const ChimeraHoleCuttingUtility::Domain  DomainType,
const double  OverLapDistance = 0.0,
const ChimeraHoleCuttingUtility::SideToExtract  Side = ChimeraHoleCuttingUtility::SideToExtract::OUTSIDE 
)

Removes the elements which are out of the domain. An element is removed even if one of its nodes is out of the domain (-ve or +ve) as indicated by GetInside and MainDomainOrNot.

Parameters
rModelPartThe modelpart From where the elements are to be removed.
rModifiedModelPartThe modified modelpart without the the elements which are out side.
DomainTypesays which sign (-ve or +ve) is inside
OverLapDistanceis the the distance (magnitude) at which hole is to be cut from the zero distance layer.
GetInsideworks in combination with MainDomainOrNot to get the feeling of what is inside or what is outside.

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