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::TetrahedraReconnectUtility Class Reference

Short class definition. More...

#include <tetrahedra_reconnect_utility.h>

Collaboration diagram for Kratos::TetrahedraReconnectUtility:

Public Member Functions

void innerConvertFromKratos (ModelPart &r_model_part, TVolumeMesh *m)
 function innerConvertFromKratos This function converts from Kratos format, to the inner structure More...
 
void innerConvertToKratos (ModelPart &mrModelPart, TVolumeMesh *m, bool removeFreeVertexes)
 function innerConvertToKratos This function converts back to Kratos format More...
 
bool EvaluateQuality ()
 
void TestRemovingElements ()
 
void updateNodesPositions (ModelPart &r_model_part)
 function updateNodesPositions Update only nodes positions without regenerating the structure More...
 
void setMaxNumThreads (int mxTh)
 function OptimizeQuality More...
 
void setBlockSize (int bs)
 
bool isaValidMesh ()
 
void InterpolateAndAddNewNodes (ModelPart &rModelPart, TVolumeMesh *m, BinBasedFastPointLocator< 3 > &element_finder)
 
void setVertexExpectedSize (ModelPart &rModelPart, TVolumeMesh *m)
 
void Interpolate (Geometry< Node > &geom, const array_1d< double, 4 > &N, unsigned int step_data_size, Node::Pointer pnode)
 
void OptimizeQuality (ModelPart &r_model_part, int simIter, int iterations, bool processByNode, bool processByFace, bool processByEdge, bool saveToFile, bool removeFreeVertexes, bool evaluateInParallel, bool reinsertNodes, bool debugMode, int minAngle)
 
void tryToReinsertNodes ()
 function tryToReinsertNodes Reinsert removed nodes into the structure More...
 
void FinalizeOptimization (bool removeFreeVertexes)
 function FinalizeOptimization Destroy the structure 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...
 

Type Definitions

int maxNumThreads
 
int blockSize
 
bool debugMode
 
 KRATOS_CLASS_POINTER_DEFINITION (TetrahedraReconnectUtility)
 Pointer definition of TetrahedraReconnectUtility. More...
 

Life Cycle

TVolumeMesh * m
 
ModelPartrefMP
 
 TetrahedraReconnectUtility (ModelPart &r_model_part)
 Default constructor. More...
 
virtual ~TetrahedraReconnectUtility ()=default
 Destructor. More...
 

Detailed Description

Short class definition.

Detail class definition.

Constructor & Destructor Documentation

◆ TetrahedraReconnectUtility()

Kratos::TetrahedraReconnectUtility::TetrahedraReconnectUtility ( ModelPart r_model_part)
inline

Default constructor.

◆ ~TetrahedraReconnectUtility()

virtual Kratos::TetrahedraReconnectUtility::~TetrahedraReconnectUtility ( )
virtualdefault

Destructor.

Member Function Documentation

◆ EvaluateQuality()

bool Kratos::TetrahedraReconnectUtility::EvaluateQuality ( )
inline

◆ FinalizeOptimization()

void Kratos::TetrahedraReconnectUtility::FinalizeOptimization ( bool  removeFreeVertexes)
inline

function FinalizeOptimization Destroy the structure

◆ Info()

virtual std::string Kratos::TetrahedraReconnectUtility::Info ( ) const
inlinevirtual

Turn back information as a string.

◆ innerConvertFromKratos()

void Kratos::TetrahedraReconnectUtility::innerConvertFromKratos ( ModelPart r_model_part,
TVolumeMesh *  m 
)
inline

function innerConvertFromKratos This function converts from Kratos format, to the inner structure

Parameters
r_model_partthe input mesh
mthe output mesh

◆ innerConvertToKratos()

void Kratos::TetrahedraReconnectUtility::innerConvertToKratos ( ModelPart mrModelPart,
TVolumeMesh *  m,
bool  removeFreeVertexes 
)
inline

function innerConvertToKratos This function converts back to Kratos format

Parameters
mthe input mesh
mrModelPartthe output mesh
removeFreeVertexesFree vertexes are not added to the new structure

◆ Interpolate()

void Kratos::TetrahedraReconnectUtility::Interpolate ( Geometry< Node > &  geom,
const array_1d< double, 4 > &  N,
unsigned int  step_data_size,
Node::Pointer  pnode 
)
inline

◆ InterpolateAndAddNewNodes()

void Kratos::TetrahedraReconnectUtility::InterpolateAndAddNewNodes ( ModelPart rModelPart,
TVolumeMesh *  m,
BinBasedFastPointLocator< 3 > &  element_finder 
)
inline

◆ isaValidMesh()

bool Kratos::TetrahedraReconnectUtility::isaValidMesh ( )
inline

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::TetrahedraReconnectUtility::KRATOS_CLASS_POINTER_DEFINITION ( TetrahedraReconnectUtility  )

Pointer definition of TetrahedraReconnectUtility.

◆ OptimizeQuality()

void Kratos::TetrahedraReconnectUtility::OptimizeQuality ( ModelPart r_model_part,
int  simIter,
int  iterations,
bool  processByNode,
bool  processByFace,
bool  processByEdge,
bool  saveToFile,
bool  removeFreeVertexes,
bool  evaluateInParallel,
bool  reinsertNodes,
bool  debugMode,
int  minAngle 
)
inline

◆ PrintData()

virtual void Kratos::TetrahedraReconnectUtility::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

◆ PrintInfo()

virtual void Kratos::TetrahedraReconnectUtility::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

◆ setBlockSize()

void Kratos::TetrahedraReconnectUtility::setBlockSize ( int  bs)
inline

◆ setMaxNumThreads()

void Kratos::TetrahedraReconnectUtility::setMaxNumThreads ( int  mxTh)
inline

function OptimizeQuality

Parameters
r_model_partthe input mesh
iterationsamount of iterations to optimize
processByNodeboolean that indicates if processing is done by Node
processByFaceboolean that indicates if processing is done by Face
processByEdgeboolean that indicates if processing is done by Edge
saveToFileboolean to use as Debug Mode and see intermediate generated meshes
removeFreeVertexesboolean Removes vertexes that do not have elements referencing them
evaluateInParallelboolean Activate/Deactivate parallel processing mode
reinsertNodesboolean Activate/Deactivate to try re inserting removed nodes

◆ setVertexExpectedSize()

void Kratos::TetrahedraReconnectUtility::setVertexExpectedSize ( ModelPart rModelPart,
TVolumeMesh *  m 
)
inline

◆ TestRemovingElements()

void Kratos::TetrahedraReconnectUtility::TestRemovingElements ( )
inline

This function performs the meshing optimization by Cluster reconnection.

◆ tryToReinsertNodes()

void Kratos::TetrahedraReconnectUtility::tryToReinsertNodes ( )
inline

function tryToReinsertNodes Reinsert removed nodes into the structure

◆ updateNodesPositions()

void Kratos::TetrahedraReconnectUtility::updateNodesPositions ( ModelPart r_model_part)
inline

function updateNodesPositions Update only nodes positions without regenerating the structure

Parameters
r_model_partthe input mesh

Member Data Documentation

◆ blockSize

int Kratos::TetrahedraReconnectUtility::blockSize

◆ debugMode

bool Kratos::TetrahedraReconnectUtility::debugMode

◆ m

TVolumeMesh* Kratos::TetrahedraReconnectUtility::m

◆ maxNumThreads

int Kratos::TetrahedraReconnectUtility::maxNumThreads

◆ refMP

ModelPart& Kratos::TetrahedraReconnectUtility::refMP

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