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.
|
Remove Mesh Nodes Process for 2D and 3D cases. More...
#include <remove_nodes_mesher_process.hpp>
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 | |
Flags & | operator= (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 Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (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 | |
ModelPart & | mrModelPart |
MesherUtilities::MeshingParameters & | mrRemesh |
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< Node > | NodeWeakPtrVectorType |
typedef GlobalPointersVector< Element > | ElementWeakPtrVectorType |
typedef GlobalPointersVector< Condition > | ConditionWeakPtrVectorType |
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) |
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.
typedef Bucket<3, Node, std::vector<Node::Pointer>, Node::Pointer, std::vector<Node::Pointer>::iterator, std::vector<double>::iterator > Kratos::RemoveNodesMesherProcess::BucketType |
typedef GlobalPointersVector<Condition> Kratos::RemoveNodesMesherProcess::ConditionWeakPtrVectorType |
typedef ModelPart::MeshType::GeometryType::PointsArrayType Kratos::RemoveNodesMesherProcess::PointsArrayType |
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
|
inlineprotectedvirtual |
|
inlineprotected |
|
inlineoverridevirtual |
Execute method is used to execute the Process algorithms.
Reimplemented from Kratos::MesherProcess.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::MesherProcess.
Reimplemented in Kratos::RemoveFluidNodesMesherProcess.
Kratos::RemoveNodesMesherProcess::KRATOS_CLASS_POINTER_DEFINITION | ( | RemoveNodesMesherProcess | ) |
Pointer definition of Process.
|
inline |
This operator is provided to call the process as a function and simply calls the Execute method.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::MesherProcess.
Reimplemented in Kratos::RemoveFluidNodesMesherProcess.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::MesherProcess.
Reimplemented in Kratos::RemoveFluidNodesMesherProcess.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in Kratos::RemoveFluidNodesMesherProcess.
|
inlineprotectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |