54 if (
domaine.type_elem()->que_suis_je() ==
"Triangle")
57 Nom fichier=
"connectivity_failed_";
63 Cerr <<
"The file " << fichier <<
" was not found !!! " << finl;
67 const DoubleTab& xs =
domaine.coord_sommets();
68 IntTab& les_elems =
domaine.les_elems();
70 int oldnbsom =
domaine.nb_som();
81 DoubleTab& sommets_dom =
domaine.les_sommets();
87 for(
int elem=0; elem<oldsz; elem++)
90 new_elems(elem, k) = les_elems(elem,k);
95 int face_oldsz, face_newsz, fac, indice;
100 IntTab new_faces_racc(face_newsz,
dimension);
110 int indice_new_som = oldnbsom;
120 Cerr<<
"Pb with "<<fichier <<
" in Decouper_Bord_coincident::interpreter_"<<finl;
121 Cerr<<
" eof ???"<<finl;
125 fic >> fac >> elem >> j ;
147 Cerr <<
" problem with the index j " << finl;
153 new_faces_racc(fac,0) = les_elems(elem,j1);
154 new_faces_racc(fac,1) = les_elems(elem,j2);
158 som1=les_elems(elem,j1);
159 som2=les_elems(elem,j2);
161 sommets_dom(indice_new_som,0) = 0.5*(xs(som1,0)+xs(som2,0));
162 sommets_dom(indice_new_som,1) = 0.5*(xs(som1,1)+xs(som2,1));
166 new_elems(elem, 0) = les_elems(elem,j0);
167 new_elems(elem, 1) = les_elems(elem,j1);
168 new_elems(elem, 2) = indice_new_som;
170 new_faces_racc(fac,0) = les_elems(elem,j1);
171 new_faces_racc(fac,1) = indice_new_som;
175 new_elems(i+oldsz, 0) = les_elems(elem,j0);
176 new_elems(i+oldsz, 1) = les_elems(elem,j2);
177 new_elems(i+oldsz, 2) = indice_new_som;
179 new_faces_racc(i+face_oldsz,0) = les_elems(elem,2);
180 new_faces_racc(i+face_oldsz,1) = indice_new_som;
194 Cerr <<
"problem with the partition of the element to realize" << finl;
195 Cerr <<
"We do not know how to split in " << indice << finl;
204 Cerr <<
" Number of boundary face (generated) " << i+face_oldsz << finl;
205 Cerr <<
" Number of boundary face (planned) " << face_newsz << finl;
207 if( (i+face_oldsz) != face_newsz)
209 Cerr <<
" Concern in the reconstruction " << finl;
216 les_elems.
ref(new_elems);
220 Cerr <<
"Splitting performs ..." << finl;
226 Cerr <<
" Reconstruction of the Octree" << finl;
228 Cerr <<
" Octree rebuilt" << finl;
232 Cerr <<
"Splitting of connections" << finl;
233 for (
auto &itr :
domaine.faces_raccord())
237 Faces& les_faces = itr->faces();
239 les_faces.
typer(Type_Face::segment_2D);
241 les_faces.
typer(Type_Face::triangle_3D);
245 sommets.
ref(new_faces_racc);
252 Cerr<<
"END of Decouper_Bord_coincident..."<<finl;
253 Cerr<<
" 1 NbElem="<<
domaine.les_elems().dimension(0)<<
" NbSom="<<
domaine.nb_som()<<finl;
257 Cerr <<
"We do not yet know how to Decouper_Bord_coincident the "
258 <<
domaine.type_elem()->que_suis_je() <<
"s"<<finl;