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

Remove Mesh Nodes Process for 2D and 3D cases. More...

#include <remove_nodes_mesher_process.hpp>

Inheritance diagram for Kratos::RemoveNodesMesherProcess:
Collaboration diagram for Kratos::RemoveNodesMesherProcess:

Public Member Functions

Life Cycle
 RemoveNodesMesherProcess (ModelPart &rModelPart, MesherUtilities::MeshingParameters &rRemeshingParameters, int EchoLevel)
 Default constructor. More...
 
virtual ~RemoveNodesMesherProcess ()
 Destructor. More...
 
Operators
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
Operations
void Execute () override
 Execute method is used to execute the Process algorithms. 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...
 
- Public Member Functions inherited from Kratos::MesherProcess
 KRATOS_CLASS_POINTER_DEFINITION (MesherProcess)
 Pointer definition of MesherProcess. More...
 
 MesherProcess ()
 Default constructor. More...
 
 MesherProcess (Flags options)
 Constructor. More...
 
virtual ~MesherProcess ()
 Destructor. More...
 
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
void ExecuteInitialize () final override
 
void ExecuteBeforeSolutionLoop () final override
 
void ExecuteInitializeSolutionStep () final override
 this function will be executed at every time step BEFORE performing the solve phase More...
 
void ExecuteFinalizeSolutionStep () final override
 this function will be executed at every time step AFTER performing the solve phase More...
 
void ExecuteBeforeOutputStep () final override
 this function will be executed at every time step BEFORE writing the output More...
 
void ExecuteAfterOutputStep () final override
 this function will be executed at every time step AFTER writing the output More...
 
void ExecuteFinalize () final override
 
- Public Member Functions inherited from Kratos::Process
 KRATOS_CLASS_POINTER_DEFINITION (Process)
 Pointer definition of Process. More...
 
 Process ()
 Default constructor. More...
 
 Process (const Flags options)
 
 ~Process () override
 Destructor. More...
 
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
virtual Process::Pointer Create (Model &rModel, Parameters ThisParameters)
 This method creates an pointer of the process. More...
 
virtual int Check ()
 This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More...
 
virtual void Clear ()
 This method clears the assignation of the conditions. More...
 
virtual const Parameters GetDefaultParameters () const
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Protected Member Functions

Protected Operations
void CleanRemovedNodes (ModelPart &rModelPart)
 
virtual bool RemoveNodesOnDistance (ModelPart &rModelPart, unsigned int &inside_nodes_removed, unsigned int &boundary_nodes_removed, bool &any_condition_removed)
 
virtual bool CheckEngagedNode (Node &rNode, std::vector< Node::Pointer > &rNeighbours, std::vector< double > &rNeighbourDistances, unsigned int &rn_points_in_radius)
 
virtual bool RemoveNodesOnError (ModelPart &rModelPart, unsigned int &error_removed_nodes)
 
virtual bool RemoveNodesOnContact (ModelPart &rModelPart, unsigned int &inside_nodes_removed, unsigned int &boundary_nodes_removed, bool &any_condition_removed)
 
bool RebuildBoundary (ModelPart &rModelPart)
 
- Protected Member Functions inherited from Kratos::MesherProcess
 MesherProcess (MesherProcess const &rOther)
 Copy constructor. More...
 

Protected Attributes

Protected member Variables
ModelPartmrModelPart
 
MesherUtilities::MeshingParametersmrRemesh
 
MesherUtilities mMesherUtilities
 
int mEchoLevel
 

Type Definitions

typedef ModelPart::ConditionType ConditionType
 
typedef ModelPart::PropertiesType PropertiesType
 
typedef ConditionType::GeometryType GeometryType
 
typedef Bucket< 3, Node, std::vector< Node::Pointer >, Node::Pointer, std::vector< Node::Pointer >::iterator, std::vector< double >::iterator > BucketType
 
typedef Tree< KDTreePartition< BucketType > > KdtreeType
 
typedef ModelPart::MeshType::GeometryType::PointsArrayType PointsArrayType
 
typedef GlobalPointersVector< NodeNodeWeakPtrVectorType
 
typedef GlobalPointersVector< ElementElementWeakPtrVectorType
 
typedef GlobalPointersVector< ConditionConditionWeakPtrVectorType
 
 KRATOS_CLASS_POINTER_DEFINITION (RemoveNodesMesherProcess)
 Pointer definition of Process. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 

Detailed Description

Remove Mesh Nodes Process for 2D and 3D cases.

The process labels the nodes to be erased (TO_ERASE) if they are too close (mRemoveOnDistance == true) if the error of the patch they belong is very small (REMOVE_NODES_ON_ERROR) In the interior of the domain or in the boundary (REMOVE_BOUNDARY_NODES) ...

Additional treatment of the nonconvex boundaries is also going to erase nodes.

At the end of the execution nodes are cleaned (only in the current mesh) If boundary nodes are removed, conditions must be build again (new conditions are build in the current mesh) NOTE: as kratos uses shared pointers, the main list of nodes can be changed. the element contains the geometry which has pointers to nodes, so that nodes are kept in memory and their information can be recovered. that means also that if the element information is needed it is kept until the end when new elements are created and replace the old ones.

Member Typedef Documentation

◆ BucketType

typedef Bucket<3, Node, std::vector<Node::Pointer>, Node::Pointer, std::vector<Node::Pointer>::iterator, std::vector<double>::iterator > Kratos::RemoveNodesMesherProcess::BucketType

◆ ConditionType

◆ ConditionWeakPtrVectorType

◆ ElementWeakPtrVectorType

◆ GeometryType

◆ KdtreeType

◆ NodeWeakPtrVectorType

◆ PointsArrayType

typedef ModelPart::MeshType::GeometryType::PointsArrayType Kratos::RemoveNodesMesherProcess::PointsArrayType

◆ PropertiesType

Constructor & Destructor Documentation

◆ RemoveNodesMesherProcess()

Kratos::RemoveNodesMesherProcess::RemoveNodesMesherProcess ( ModelPart rModelPart,
MesherUtilities::MeshingParameters rRemeshingParameters,
int  EchoLevel 
)
inline

Default constructor.

◆ ~RemoveNodesMesherProcess()

virtual Kratos::RemoveNodesMesherProcess::~RemoveNodesMesherProcess ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CheckEngagedNode()

virtual bool Kratos::RemoveNodesMesherProcess::CheckEngagedNode ( Node rNode,
std::vector< Node::Pointer > &  rNeighbours,
std::vector< double > &  rNeighbourDistances,
unsigned int rn_points_in_radius 
)
inlineprotectedvirtual

◆ CleanRemovedNodes()

void Kratos::RemoveNodesMesherProcess::CleanRemovedNodes ( ModelPart rModelPart)
inlineprotected

◆ Execute()

void Kratos::RemoveNodesMesherProcess::Execute ( )
inlineoverridevirtual

Execute method is used to execute the Process algorithms.

Reimplemented from Kratos::MesherProcess.

◆ Info()

std::string Kratos::RemoveNodesMesherProcess::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::MesherProcess.

Reimplemented in Kratos::RemoveFluidNodesMesherProcess.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::RemoveNodesMesherProcess::KRATOS_CLASS_POINTER_DEFINITION ( RemoveNodesMesherProcess  )

Pointer definition of Process.

◆ operator()()

void Kratos::RemoveNodesMesherProcess::operator() ( )
inline

This operator is provided to call the process as a function and simply calls the Execute method.

◆ PrintData()

void Kratos::RemoveNodesMesherProcess::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::MesherProcess.

Reimplemented in Kratos::RemoveFluidNodesMesherProcess.

◆ PrintInfo()

void Kratos::RemoveNodesMesherProcess::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::MesherProcess.

Reimplemented in Kratos::RemoveFluidNodesMesherProcess.

◆ RebuildBoundary()

bool Kratos::RemoveNodesMesherProcess::RebuildBoundary ( ModelPart rModelPart)
inlineprotected

◆ RemoveNodesOnContact()

virtual bool Kratos::RemoveNodesMesherProcess::RemoveNodesOnContact ( ModelPart rModelPart,
unsigned int inside_nodes_removed,
unsigned int boundary_nodes_removed,
bool any_condition_removed 
)
inlineprotectedvirtual

◆ RemoveNodesOnDistance()

virtual bool Kratos::RemoveNodesMesherProcess::RemoveNodesOnDistance ( ModelPart rModelPart,
unsigned int inside_nodes_removed,
unsigned int boundary_nodes_removed,
bool any_condition_removed 
)
inlineprotectedvirtual

◆ RemoveNodesOnError()

virtual bool Kratos::RemoveNodesMesherProcess::RemoveNodesOnError ( ModelPart rModelPart,
unsigned int error_removed_nodes 
)
inlineprotectedvirtual

Member Data Documentation

◆ mEchoLevel

int Kratos::RemoveNodesMesherProcess::mEchoLevel
protected

◆ mMesherUtilities

MesherUtilities Kratos::RemoveNodesMesherProcess::mMesherUtilities
protected

◆ mrModelPart

ModelPart& Kratos::RemoveNodesMesherProcess::mrModelPart
protected

◆ mrRemesh

MesherUtilities::MeshingParameters& Kratos::RemoveNodesMesherProcess::mrRemesh
protected

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