Changeset 23559
- Timestamp:
- 12/17/18 21:06:05 (6 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r23532 r23559 558 558 approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])); 559 559 if(approximation==FSApproximationEnum) approximation=FSvelocityEnum; 560 nodes->AddObject(new Node(i+1,i,lid++, i,iomodel,StressbalanceAnalysisEnum,approximation));560 nodes->AddObject(new Node(i+1,i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,approximation)); 561 561 } 562 562 } 563 563 for(int i=0;i<iomodel->numberofelements;i++){ 564 564 if(iomodel->my_elements[i]){ 565 node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);565 node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum); 566 566 node->Deactivate(); 567 567 nodes->AddObject(node); … … 572 572 if(iomodel->my_vertices[i]){ 573 573 approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])); 574 node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++, i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum);574 node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum); 575 575 if(approximation==HOApproximationEnum || approximation==SSAApproximationEnum){ 576 576 node->Deactivate(); … … 583 583 for(int i=0;i<iomodel->numberofvertices;i++){ 584 584 if(iomodel->my_vertices[i]){ 585 nodes->AddObject(new Node(i+1,i,lid++, i,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))));585 nodes->AddObject(new Node(i+1,i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])))); 586 586 } 587 587 } -
issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
r23532 r23559 99 99 100 100 /*Create new node if is in this processor's partition*/ 101 node = new Node(i+1,i,lid++, i,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])));101 node = new Node(i+1,i,lid++,0,i,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))); 102 102 103 103 /*Deactivate node if not SIA*/ -
issm/trunk-jpl/src/c/classes/Node.cpp
r23066 r23559 21 21 } 22 22 /*}}}*/ 23 Node::Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/23 Node::Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/ 24 24 25 25 /*Intermediary*/ … … 31 31 this->sid = node_sid; 32 32 this->lid = node_lid; 33 this->pid = node_pid; 33 34 this->analysis_enum = analysis_enum; 34 35 … … 137 138 output->sid = this->sid; 138 139 output->lid = this->lid; 140 output->pid = this->pid; 139 141 output->analysis_enum = this->analysis_enum; 140 142 output->approximation = this->approximation; … … 156 158 MARSHALLING(sid); 157 159 MARSHALLING(lid); 160 MARSHALLING(pid); 158 161 MARSHALLING(indexingupdate); 159 162 indexing.Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); … … 182 185 _printf_(" id : " << id << "\n"); 183 186 _printf_(" sid: " << sid << "\n"); 187 _printf_(" lid: " << lid << "\n"); 188 _printf_(" pid: " << pid << "\n"); 184 189 _printf_(" analysis_enum: " << EnumToStringx(analysis_enum) << "\n"); 185 190 _printf_(" approximation: " << EnumToStringx(approximation) << "\n"); -
issm/trunk-jpl/src/c/classes/Node.h
r23524 r23559 32 32 int sid; // "serial" id (rank of this node if the dataset was serial on 1 cpu) 33 33 int lid; // "local" id (rank of this node in current partition) 34 int pid; // parallel id (specific to this partition) 34 35 35 36 int analysis_enum; … … 40 41 /*Node constructors, destructors*/ 41 42 Node(); 42 Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_enum,int approximation_in);43 Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, IoModel* iomodel,int analysis_enum,int approximation_in); 43 44 ~Node(); 44 45 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
r23532 r23559 268 268 for(int i=0;i<MAXCONNECTIVITY*iomodel->numberofvertices;i++) vertices_ranks[i] = -1; 269 269 270 /*For all vertices, coun dhow many cpus hold vertex i (initialize with 0)*/270 /*For all vertices, count how many cpus hold vertex i (initialize with 0)*/ 271 271 int* vertices_proc_count = xNewZeroInit<int>(iomodel->numberofvertices); 272 272 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r23533 r23559 22 22 for(i=0;i<iomodel->numberofvertices;i++){ 23 23 if(iomodel->my_vertices[i]){ 24 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));24 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 25 25 } 26 26 } … … 32 32 for(j=0;j<3;j++){ 33 33 if(my_nodes[3*i+j]){ 34 nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++, iomodel->elements[3*i+j]-1,iomodel,analysis,approximation));34 nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,0,iomodel->elements[3*i+j]-1,iomodel,analysis,approximation)); 35 35 36 36 } … … 42 42 for(i=0;i<iomodel->numberofvertices;i++){ 43 43 if(iomodel->my_vertices[i]){ 44 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));45 } 46 } 47 for(i=0;i<iomodel->numberofelements;i++){ 48 if(iomodel->my_elements[i]){ 49 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,approximation));44 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 45 } 46 } 47 for(i=0;i<iomodel->numberofelements;i++){ 48 if(iomodel->my_elements[i]){ 49 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation)); 50 50 } 51 51 } … … 55 55 for(i=0;i<iomodel->numberofvertices;i++){ 56 56 if(iomodel->my_vertices[i]){ 57 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));58 } 59 } 60 for(i=0;i<iomodel->numberofelements;i++){ 61 if(iomodel->my_elements[i]){ 62 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,approximation);57 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 58 } 59 } 60 for(i=0;i<iomodel->numberofelements;i++){ 61 if(iomodel->my_elements[i]){ 62 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation); 63 63 node->HardDeactivate(); 64 64 nodes->AddObject(node); … … 71 71 for(i=0;i<iomodel->numberofvertices;i++){ 72 72 if(iomodel->my_vertices[i]){ 73 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));73 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 74 74 } 75 75 } … … 79 79 if(iomodel->edges[i*3+2]==2){ 80 80 if(iomodel->my_edges[i]){ 81 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0, iomodel,analysis,approximation);81 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 82 82 nodes->AddObject(node); 83 83 } … … 91 91 for(i=0;i<iomodel->numberofvertices;i++){ 92 92 if(iomodel->my_vertices[i]){ 93 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));93 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 94 94 } 95 95 } … … 99 99 if(iomodel->edges[i*3+2]==2){ 100 100 if(iomodel->my_edges[i]){ 101 node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0, iomodel,analysis,approximation);102 nodes->AddObject(node); 103 node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0, iomodel,analysis,approximation);101 node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 102 nodes->AddObject(node); 103 node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation); 104 104 nodes->AddObject(node); 105 105 } … … 112 112 for(i=0;i<iomodel->numberofvertices;i++){ 113 113 if(iomodel->my_vertices[i]){ 114 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));114 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 115 115 } 116 116 } … … 119 119 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 120 120 if(iomodel->my_edges[i]){ 121 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0, iomodel,analysis,approximation);122 nodes->AddObject(node); 123 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0, iomodel,analysis,approximation);124 nodes->AddObject(node); 125 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0, iomodel,analysis,approximation);121 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 122 nodes->AddObject(node); 123 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation); 124 nodes->AddObject(node); 125 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation); 126 126 nodes->AddObject(node); 127 127 } … … 135 135 for(i=0;i<iomodel->numberofvertices;i++){ 136 136 if(iomodel->my_vertices[i]){ 137 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));137 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 138 138 } 139 139 } … … 143 143 if(iomodel->edges[i*3+2]!=2){ 144 144 if(iomodel->my_edges[i]){ 145 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0, iomodel,analysis,approximation);145 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 146 146 nodes->AddObject(node); 147 147 } … … 155 155 for(i=0;i<iomodel->numberofvertices;i++){ 156 156 if(iomodel->my_vertices[i]){ 157 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));157 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 158 158 } 159 159 } 160 160 for(i=0;i<iomodel->numberofedges;i++){ 161 161 if(iomodel->my_edges[i]){ 162 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,approximation));162 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation)); 163 163 } 164 164 } … … 169 169 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 170 170 if(iomodel->my_faces[i]){ 171 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0, iomodel,analysis,approximation);171 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,approximation); 172 172 nodes->AddObject(node); 173 173 } … … 186 186 for(i=0;i<iomodel->numberofvertices;i++){ 187 187 if(iomodel->my_vertices[i]){ 188 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));188 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 189 189 } 190 190 } 191 191 for(i=0;i<iomodel->numberofedges;i++){ 192 192 if(iomodel->my_edges[i]){ 193 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,approximation));193 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation)); 194 194 } 195 195 } … … 200 200 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 201 201 if(iomodel->my_faces[i]){ 202 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0, iomodel,analysis,approximation);202 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,approximation); 203 203 nodes->AddObject(node); 204 204 } … … 215 215 for(i=0;i<iomodel->numberofelements;i++){ 216 216 if(iomodel->my_elements[i]){ 217 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0, iomodel,analysis,approximation));217 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,approximation)); 218 218 } 219 219 } … … 224 224 for(i=0;i<iomodel->numberofvertices;i++){ 225 225 if(iomodel->my_vertices[i]){ 226 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,approximation));226 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation)); 227 227 } 228 228 } … … 231 231 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 232 232 if(iomodel->my_edges[i]){ 233 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0, iomodel,analysis,approximation);234 nodes->AddObject(node); 235 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0, iomodel,analysis,approximation);236 nodes->AddObject(node); 237 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0, iomodel,analysis,approximation);233 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 234 nodes->AddObject(node); 235 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation); 236 nodes->AddObject(node); 237 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation); 238 238 nodes->AddObject(node); 239 239 } … … 242 242 else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/ 243 243 if(iomodel->my_edges[i]){ 244 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0, iomodel,analysis,approximation);244 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 245 245 nodes->AddObject(node); 246 246 } … … 255 255 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 256 256 if(iomodel->my_faces[i]){ 257 node = new Node(id0+3*i+1,counter+1,lid++,0, iomodel,analysis,approximation);258 nodes->AddObject(node); 259 node = new Node(id0+3*i+2,counter+2,lid++,0, iomodel,analysis,approximation);260 nodes->AddObject(node); 261 node = new Node(id0+3*i+3,counter+3,lid++,0, iomodel,analysis,approximation);257 node = new Node(id0+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation); 258 nodes->AddObject(node); 259 node = new Node(id0+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation); 260 nodes->AddObject(node); 261 node = new Node(id0+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation); 262 262 nodes->AddObject(node); 263 263 } … … 279 279 for(i=0;i<iomodel->numberofvertices;i++){ 280 280 if(iomodel->my_vertices[i]){ 281 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));281 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 282 282 } 283 283 } … … 286 286 for(i=0;i<iomodel->numberofvertices;i++){ 287 287 if(iomodel->my_vertices[i]){ 288 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++, i,iomodel,analysis,FSpressureEnum));288 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,iomodel,analysis,FSpressureEnum)); 289 289 } 290 290 } … … 295 295 for(i=0;i<iomodel->numberofvertices;i++){ 296 296 if(iomodel->my_vertices[i]){ 297 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));297 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 298 298 } 299 299 } … … 302 302 for(i=0;i<iomodel->numberofvertices;i++){ 303 303 if(iomodel->my_vertices[i]){ 304 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++, i,iomodel,analysis,FSpressureEnum));304 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,iomodel,analysis,FSpressureEnum)); 305 305 } 306 306 } … … 311 311 for(i=0;i<iomodel->numberofvertices;i++){ 312 312 if(iomodel->my_vertices[i]){ 313 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));314 } 315 } 316 for(i=0;i<iomodel->numberofelements;i++){ 317 if(iomodel->my_elements[i]){ 318 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,FSvelocityEnum);313 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 314 } 315 } 316 for(i=0;i<iomodel->numberofelements;i++){ 317 if(iomodel->my_elements[i]){ 318 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum); 319 319 node->HardDeactivate(); 320 320 nodes->AddObject(node); … … 325 325 for(i=0;i<iomodel->numberofvertices;i++){ 326 326 if(iomodel->my_vertices[i]){ 327 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++, i,iomodel,analysis,FSpressureEnum));327 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,analysis,FSpressureEnum)); 328 328 } 329 329 } … … 334 334 for(i=0;i<iomodel->numberofvertices;i++){ 335 335 if(iomodel->my_vertices[i]){ 336 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));337 } 338 } 339 for(i=0;i<iomodel->numberofelements;i++){ 340 if(iomodel->my_elements[i]){ 341 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,FSvelocityEnum));336 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 337 } 338 } 339 for(i=0;i<iomodel->numberofelements;i++){ 340 if(iomodel->my_elements[i]){ 341 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 342 342 } 343 343 } … … 346 346 for(i=0;i<iomodel->numberofvertices;i++){ 347 347 if(iomodel->my_vertices[i]){ 348 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++, i,iomodel,analysis,FSpressureEnum));348 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,analysis,FSpressureEnum)); 349 349 } 350 350 } … … 357 357 for(i=0;i<iomodel->numberofvertices;i++){ 358 358 if(iomodel->my_vertices[i]){ 359 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));359 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 360 360 } 361 361 } 362 362 for(i=0;i<iomodel->numberofedges;i++){ 363 363 if(iomodel->my_edges[i]){ 364 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,FSvelocityEnum));364 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 365 365 } 366 366 } … … 371 371 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 372 372 if(iomodel->my_faces[i]){ 373 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0, iomodel,analysis,FSvelocityEnum);373 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum); 374 374 nodes->AddObject(node); 375 375 } … … 394 394 for(i=0;i<iomodel->numberofvertices;i++){ 395 395 if(iomodel->my_vertices[i]){ 396 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++, i,iomodel,analysis,FSpressureEnum));396 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,0,i,iomodel,analysis,FSpressureEnum)); 397 397 } 398 398 } … … 404 404 for(i=0;i<iomodel->numberofvertices;i++){ 405 405 if(iomodel->my_vertices[i]){ 406 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));406 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 407 407 } 408 408 } 409 409 for(i=0;i<iomodel->numberofedges;i++){ 410 410 if(iomodel->my_edges[i]){ 411 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,FSvelocityEnum));411 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 412 412 } 413 413 } … … 418 418 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 419 419 if(iomodel->my_faces[i]){ 420 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0, iomodel,analysis,FSvelocityEnum);420 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum); 421 421 nodes->AddObject(node); 422 422 } … … 440 440 for(i=0;i<iomodel->numberofvertices;i++){ 441 441 if(iomodel->my_vertices[i]){ 442 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));442 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 443 443 } 444 444 } … … 447 447 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 448 448 if(iomodel->my_edges[i]){ 449 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0, iomodel,analysis,FSvelocityEnum);450 nodes->AddObject(node); 451 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0, iomodel,analysis,FSvelocityEnum);452 nodes->AddObject(node); 453 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0, iomodel,analysis,FSvelocityEnum);449 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum); 450 nodes->AddObject(node); 451 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,FSvelocityEnum); 452 nodes->AddObject(node); 453 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,FSvelocityEnum); 454 454 nodes->AddObject(node); 455 455 } … … 458 458 else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/ 459 459 if(iomodel->my_edges[i]){ 460 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0, iomodel,analysis,FSvelocityEnum);460 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum); 461 461 nodes->AddObject(node); 462 462 } … … 471 471 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 472 472 if(iomodel->my_faces[i]){ 473 node = new Node(id0+3*i+1,counter+1,lid++,0, iomodel,analysis,FSvelocityEnum);474 nodes->AddObject(node); 475 node = new Node(id0+3*i+2,counter+2,lid++,0, iomodel,analysis,FSvelocityEnum);476 nodes->AddObject(node); 477 node = new Node(id0+3*i+3,counter+3,lid++,0, iomodel,analysis,FSvelocityEnum);473 node = new Node(id0+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum); 474 nodes->AddObject(node); 475 node = new Node(id0+3*i+2,counter+2,lid++,0,0,iomodel,analysis,FSvelocityEnum); 476 nodes->AddObject(node); 477 node = new Node(id0+3*i+3,counter+3,lid++,0,0,iomodel,analysis,FSvelocityEnum); 478 478 nodes->AddObject(node); 479 479 } … … 492 492 for(i=0;i<iomodel->numberofvertices;i++){ 493 493 if(iomodel->my_vertices[i]){ 494 nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++, i,iomodel,analysis,FSpressureEnum));494 nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,0,i,iomodel,analysis,FSpressureEnum)); 495 495 } 496 496 counter++; … … 503 503 for(i=0;i<iomodel->numberofvertices;i++){ 504 504 if(iomodel->my_vertices[i]){ 505 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));505 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 506 506 } 507 507 } 508 508 for(i=0;i<iomodel->numberofedges;i++){ 509 509 if(iomodel->my_edges[i]){ 510 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,FSvelocityEnum));510 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 511 511 } 512 512 } … … 517 517 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 518 518 if(iomodel->my_faces[i]){ 519 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0, iomodel,analysis,FSvelocityEnum);519 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum); 520 520 nodes->AddObject(node); 521 521 } … … 532 532 for(i=0;i<iomodel->numberofelements;i++){ 533 533 if(iomodel->my_elements[i]){ 534 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0, iomodel,analysis,FSvelocityEnum));534 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 535 535 } 536 536 } … … 547 547 if(iomodel->my_elements[i]){ 548 548 for(j=0;j<elementnbv;j++){ 549 nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++, iomodel->elements[+elementnbv*i+j]-1,iomodel,analysis,FSpressureEnum));549 nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,0,iomodel->elements[+elementnbv*i+j]-1,iomodel,analysis,FSpressureEnum)); 550 550 551 551 } … … 559 559 for(i=0;i<iomodel->numberofvertices;i++){ 560 560 if(iomodel->my_vertices[i]){ 561 nodes->AddObject(new Node(id0+i+1,i,lid++, i,iomodel,analysis,FSvelocityEnum));561 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum)); 562 562 } 563 563 } 564 564 for(i=0;i<iomodel->numberofedges;i++){ 565 565 if(iomodel->my_edges[i]){ 566 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0, iomodel,analysis,FSvelocityEnum));566 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 567 567 } 568 568 } … … 573 573 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 574 574 if(iomodel->my_faces[i]){ 575 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0, iomodel,analysis,FSvelocityEnum);575 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum); 576 576 nodes->AddObject(node); 577 577 } … … 588 588 for(i=0;i<iomodel->numberofelements;i++){ 589 589 if(iomodel->my_elements[i]){ 590 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0, iomodel,analysis,FSvelocityEnum));590 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,FSvelocityEnum)); 591 591 } 592 592 }
Note:
See TracChangeset
for help on using the changeset viewer.