14 #if !defined(KRATOS_FIND_NODAL_NEIGHBOURS_SURFACE_PROCESS_H_INCLUDED )
15 #define KRATOS_FIND_NODAL_NEIGHBOURS_SURFACE_PROCESS_H_INCLUDED
28 #include <pybind11/pybind11.h>
89 mavg_conds = avg_conds;
90 mavg_nodes = avg_nodes;
120 for(NodesContainerType::iterator in = rNodes.begin(); in!=rNodes.end(); ++in)
122 (in->GetValue(NEIGHBOUR_NODES)).reserve(mavg_nodes);
126 (in->GetValue(NEIGHBOUR_CONDITIONS)).reserve(mavg_conds);
132 for(ConditionsContainerType::iterator ic = rConds.begin(); ic!=rConds.end(); ++ic)
135 for(
unsigned int i = 0;
i < pGeom.
size();
i++)
138 (pGeom[
i].
GetValue(NEIGHBOUR_CONDITIONS)).push_back( Condition::WeakPointer( *(ic.base()) ) );
144 for(NodesContainerType::iterator in = rNodes.begin(); in!=rNodes.end(); ++in)
148 for(
unsigned int ic = 0; ic < rC.
size(); ic++)
151 for(
unsigned int i = 0;
i < pGeom.
size();
i++)
153 if(pGeom[
i].Id() != in->
Id() )
157 Condition::NodeType::WeakPointer
temp = pGeom(
i);
158 AddUniqueWeakPointer< Node >(in->GetValue(NEIGHBOUR_NODES),
temp);
168 for(NodesContainerType::iterator in = rNodes.begin(); in!=rNodes.end(); ++in)
193 std::string
Info()
const override
195 return "FindNodalNeighboursSurfaceProcess";
201 rOStream <<
"FindNodalNeighboursSurfaceProcess";
273 template<
class TDataType >
void AddUniqueWeakPointer
278 while (
i != endit && (
i)->Id() != (candidate.lock())->Id())
284 v.push_back(candidate);
339 rOStream << std::endl;
Short class definition.
Definition: find_nodal_neighbours_surface_process.h:70
FindNodalNeighboursSurfaceProcess(ModelPart &model_part, const int avg_conds=8, const int avg_nodes=8)
Definition: find_nodal_neighbours_surface_process.h:86
std::string Info() const override
Turn back information as a string.
Definition: find_nodal_neighbours_surface_process.h:193
~FindNodalNeighboursSurfaceProcess() override
Destructor.
Definition: find_nodal_neighbours_surface_process.h:94
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: find_nodal_neighbours_surface_process.h:199
KRATOS_CLASS_POINTER_DEFINITION(FindNodalNeighboursSurfaceProcess)
Pointer definition of FindNodalNeighboursSurfaceProcess.
void Execute() override
Execute method is used to execute the Process algorithms.
Definition: find_nodal_neighbours_surface_process.h:113
void operator()()
Definition: find_nodal_neighbours_surface_process.h:103
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: find_nodal_neighbours_surface_process.h:205
void ClearNeighbours()
Definition: find_nodal_neighbours_surface_process.h:165
Geometry base class.
Definition: geometry.h:71
SizeType size() const
Definition: geometry.h:518
IndexType const & Id() const
Id of this Geometry.
Definition: geometry.h:964
TVariableType::Type & GetValue(const TVariableType &rThisVariable)
Definition: geometry.h:627
This class is a vector which stores global pointers.
Definition: global_pointers_vector.h:61
boost::indirect_iterator< typename TContainerType::iterator > iterator
Definition: global_pointers_vector.h:79
iterator erase(iterator pos)
Definition: global_pointers_vector.h:351
iterator begin()
Definition: global_pointers_vector.h:221
size_type size() const
Definition: global_pointers_vector.h:307
iterator end()
Definition: global_pointers_vector.h:229
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType::ConditionsContainerType ConditionsContainerType
Condintions container. A vector set of Conditions with their Id's as key.
Definition: model_part.h:183
ConditionsContainerType & Conditions(IndexType ThisIndex=0)
Definition: model_part.h:1381
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
NodesContainerType & Nodes(IndexType ThisIndex=0)
Definition: model_part.h:507
The base class for all processes in Kratos.
Definition: process.h:49
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
ModelPart::NodesContainerType NodesContainerType
Definition: find_conditions_neighbours_process.h:44
ModelPart::ConditionsContainerType ConditionsContainerType
Definition: find_conditions_neighbours_process.h:45
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
v
Definition: generate_convection_diffusion_explicit_element.py:114
float temp
Definition: rotating_cone.py:85
integer i
Definition: TensorModule.f:17