51 #if !defined(KRATOS_MARK_CLOSE_NODES_PROCESS_INCLUDED )
52 #define KRATOS_MARK_CLOSE_NODES_PROCESS_INCLUDED
148 double fact2 = admissible_distance_factor*admissible_distance_factor;
149 for(ModelPart::NodesContainerType::iterator in = mr_model_part.
NodesBegin(); in!=mr_model_part.
NodesEnd(); in++)
151 if(in->FastGetSolutionStepValue(IS_STRUCTURE) == 0)
153 double hnode2 = in->FastGetSolutionStepValue(NODAL_H);
158 i != in->GetValue(NEIGHBOUR_NODES).end();
i++)
160 if(
i->Is(TO_ERASE) ==
false)
162 double dx =
i->X() - in->X();
163 double dy =
i->Y() - in->Y();
164 double dz =
i->Z() - in->Z();
166 double dist2 = dx*dx + dy*dy + dz*dz;
168 if(dist2 < fact2 * hnode2)
169 in->Set(TO_ERASE,
true);
225 std::string
Info()
const override
227 return "MarkCloseNodesProcess";
233 rOStream <<
"MarkCloseNodesProcess";
351 rOStream << std::endl;
boost::indirect_iterator< typename TContainerType::iterator > iterator
Definition: global_pointers_vector.h:79
Short class definition.
Definition: mark_close_nodes_process.h:109
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mark_close_nodes_process.h:237
~MarkCloseNodesProcess() override
Destructor.
Definition: mark_close_nodes_process.h:128
KRATOS_CLASS_POINTER_DEFINITION(MarkCloseNodesProcess)
Pointer definition of PushStructureProcess.
MarkCloseNodesProcess(ModelPart &model_part)
Default constructor.
Definition: mark_close_nodes_process.h:122
std::string Info() const override
Turn back information as a string.
Definition: mark_close_nodes_process.h:225
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mark_close_nodes_process.h:231
void MarkCloseNodes(const double admissible_distance_factor)
Definition: mark_close_nodes_process.h:144
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
NodeIterator NodesBegin(IndexType ThisIndex=0)
Definition: model_part.h:487
NodeIterator NodesEnd(IndexType ThisIndex=0)
Definition: model_part.h:497
The base class for all processes in Kratos.
Definition: process.h:49
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
model_part
Definition: face_heat.py:14
integer i
Definition: TensorModule.f:17