41 Static_Int_Lists incidence;
44 LIST(
Nom) name_of_useless_boundaries;
45 LIST(
Nom) name_of_useless_connectors;
46 ArrOfInt nodes_of_frontier_face;
47 ArrOfInt cells_on_frontier_face;
52 const Faces& frontier_faces = itr.faces();
53 const int nb_frontier_faces = frontier_faces.
nb_faces_tot();
54 const int nb_nodes_per_face = frontier_faces.
nb_som_faces();
60 for (
int i=0; i<nb_nodes_per_face; ++i)
61 nodes_of_frontier_face[i] = frontier_faces.
sommet(0,i);
62 find_adjacent_elements(incidence,nodes_of_frontier_face,cells_on_frontier_face);
64 bool remove_frontier =
false;
67 remove_frontier =
false;
68 else if (cells_on_frontier_face.
size_array() == 2)
71 remove_frontier =
true;
73 Nom& new_useless_frontier_name = name_of_useless_boundaries.add(dummy);
74 new_useless_frontier_name = itr.
le_nom();
78 Cerr <<
"Error in 'Remove_Invalid_Internal_Boundaries::interpreter_()' :" << finl;
79 Cerr <<
" Invalid incidence" << finl;
83 for (
int f=0; f<nb_frontier_faces; ++f)
85 for (
int i=0; i<nb_nodes_per_face; ++i)
86 nodes_of_frontier_face[i] = frontier_faces.
sommet(0,i);
87 find_adjacent_elements(incidence,nodes_of_frontier_face,cells_on_frontier_face);
93 Cerr <<
"Error in 'Remove_Invalid_Internal_Boundaries::interpreter_()' :" << finl;
94 Cerr <<
" Invalid incidence" << finl;
102 Cerr <<
"Error in 'Remove_Invalid_Internal_Boundaries::interpreter_()' :" << finl;
103 Cerr <<
" Invalid incidence" << finl;
112 const Faces& frontier_faces = itr->faces();
113 const int nb_frontier_faces = frontier_faces.
nb_faces_tot();
114 const int nb_nodes_per_face = frontier_faces.
nb_som_faces();
119 for (
int i = 0; i < nb_nodes_per_face; ++i)
120 nodes_of_frontier_face[i] = frontier_faces.
sommet(0, i);
122 find_adjacent_elements(incidence, nodes_of_frontier_face, cells_on_frontier_face);
124 bool remove_frontier =
false;
127 remove_frontier =
false;
128 else if (cells_on_frontier_face.
size_array() == 2)
130 remove_frontier =
true;
132 Nom& new_useless_frontier_name = name_of_useless_connectors.add(dummy);
133 new_useless_frontier_name = itr->
le_nom();
137 Cerr <<
"Error in 'Remove_Invalid_Internal_Boundaries::interpreter_()' :" << finl;
138 Cerr <<
" Invalid incidence" << finl;
142 for (
int f = 0; f < nb_frontier_faces; ++f)
144 for (
int i = 0; i < nb_nodes_per_face; ++i)
145 nodes_of_frontier_face[i] = frontier_faces.
sommet(0, i);
146 find_adjacent_elements(incidence, nodes_of_frontier_face, cells_on_frontier_face);
152 Cerr <<
"Error in 'Remove_Invalid_Internal_Boundaries::interpreter_()' :" << finl;
153 Cerr <<
" Invalid incidence" << finl;
161 Cerr <<
"Error in 'Remove_Invalid_Internal_Boundaries::interpreter_()' :" << finl;
162 Cerr <<
" Invalid incidence" << finl;
169 for (
auto& itr : name_of_useless_boundaries)
172 boundaries.suppr(domain.
bord(itr));
175 for (
auto& itr : name_of_useless_connectors)
178 connectors.suppr(domain.
raccord(itr));
Raccord_t & raccord(int i)
Raccords_t & faces_raccord()
int_t nb_som_tot() const
Renvoie le nombre total de sommets du domaine i.e. le nombre de sommets reels et virtuels sur le proc...