- Timestamp:
- 08/23/18 11:09:21 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r22362 r23167 62 62 /*Higher-order finite elements*/ 63 63 int v1,v2; 64 bool *my_edges = NULL;65 bool *my_faces = NULL;66 64 bool *boundaryedge = NULL; 67 65 … … 84 82 case P1xP3Enum: 85 83 case P1xP4Enum: 86 EdgesPartitioning( &my_edges,iomodel);84 EdgesPartitioning(iomodel); 87 85 break; 88 86 case P2xP1Enum: 89 EdgesPartitioning( &my_edges,iomodel);87 EdgesPartitioning(iomodel); 90 88 break; 91 89 case P2Enum: 92 EdgesPartitioning(&my_edges,iomodel); 93 if(iomodel->meshelementtype==PentaEnum){ 94 FacesPartitioning(&my_faces,iomodel); 95 } 90 EdgesPartitioning(iomodel); 91 if(iomodel->meshelementtype==PentaEnum) FacesPartitioning(iomodel); 96 92 EdgeOnBoundaryFlags(&boundaryedge,iomodel); 97 93 break; 98 94 case P2bubbleEnum: 99 EdgesPartitioning( &my_edges,iomodel);95 EdgesPartitioning(iomodel); 100 96 if(iomodel->meshelementtype==PentaEnum){ 101 FacesPartitioning( &my_faces,iomodel);97 FacesPartitioning(iomodel); 102 98 } 103 99 EdgeOnBoundaryFlags(&boundaryedge,iomodel); … … 110 106 break; 111 107 case P2xP4Enum: 112 EdgesPartitioning( &my_edges,iomodel);113 FacesPartitioning( &my_faces,iomodel);108 EdgesPartitioning(iomodel); 109 FacesPartitioning(iomodel); 114 110 break; 115 111 default: … … 140 136 } 141 137 for(i=0;i<iomodel->numberofedges;i++){ 142 if( my_edges[i] && boundaryedge[i]){138 if(iomodel->my_edges[i] && boundaryedge[i]){ 143 139 v1 = iomodel->edges[3*i+0]-1; 144 140 v2 = iomodel->edges[3*i+1]-1; … … 153 149 for(i=0;i<iomodel->numberoffaces;i++){ 154 150 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 155 if( my_faces[i]){151 if(iomodel->my_faces[i]){ 156 152 numfacevertices = iomodel->faces[i*iomodel->facescols+3]; 157 153 value=0.; … … 181 177 } 182 178 for(i=0;i<iomodel->numberofedges;i++){ 183 if( my_edges[i] && boundaryedge[i]){179 if(iomodel->my_edges[i] && boundaryedge[i]){ 184 180 v1 = iomodel->edges[3*i+0]-1; 185 181 v2 = iomodel->edges[3*i+1]-1; … … 194 190 for(i=0;i<iomodel->numberoffaces;i++){ 195 191 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 196 if( my_faces[i]){192 if(iomodel->my_faces[i]){ 197 193 numfacevertices = iomodel->faces[i*iomodel->facescols+3]; 198 194 value=0.; … … 238 234 for(i=0;i<iomodel->numberofedges;i++){ 239 235 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 240 if( my_edges[i]){236 if(iomodel->my_edges[i]){ 241 237 v1 = iomodel->edges[3*i+0]-1; 242 238 v2 = iomodel->edges[3*i+1]-1; … … 253 249 } 254 250 if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/ 255 if( my_edges[i]){251 if(iomodel->my_edges[i]){ 256 252 v1 = iomodel->edges[3*i+0]-1; 257 253 v2 = iomodel->edges[3*i+1]-1; … … 266 262 for(i=0;i<iomodel->numberoffaces;i++){ 267 263 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 268 if( my_faces[i]){264 if(iomodel->my_faces[i]){ 269 265 numfacevertices = iomodel->faces[i*iomodel->facescols+3]; 270 266 value=0.; … … 332 328 for(i=0;i<iomodel->numberofedges;i++){ 333 329 if(iomodel->edges[i*3+2]==2){ 334 if( my_edges[i]){330 if(iomodel->my_edges[i]){ 335 331 v1 = iomodel->edges[3*i+0]-1; 336 332 v2 = iomodel->edges[3*i+1]-1; … … 355 351 for(i=0;i<iomodel->numberofedges;i++){ 356 352 if(iomodel->edges[i*3+2]==2){ 357 if( my_edges[i]){353 if(iomodel->my_edges[i]){ 358 354 v1 = iomodel->edges[3*i+0]-1; 359 355 v2 = iomodel->edges[3*i+1]-1; … … 380 376 for(i=0;i<iomodel->numberofedges;i++){ 381 377 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 382 if( my_edges[i]){378 if(iomodel->my_edges[i]){ 383 379 v1 = iomodel->edges[3*i+0]-1; 384 380 v2 = iomodel->edges[3*i+1]-1; … … 407 403 for(i=0;i<iomodel->numberofedges;i++){ 408 404 if(iomodel->edges[i*3+2]!=2){ 409 if( my_edges[i]){405 if(iomodel->my_edges[i]){ 410 406 v1 = iomodel->edges[3*i+0]-1; 411 407 v2 = iomodel->edges[3*i+1]-1; … … 472 468 } 473 469 for(i=0;i<iomodel->numberofedges;i++){ 474 if( my_edges[i]){470 if(iomodel->my_edges[i]){ 475 471 v1 = iomodel->edges[3*i+0]-1; 476 472 v2 = iomodel->edges[3*i+1]-1; … … 511 507 for(i=0;i<iomodel->numberofedges;i++){ 512 508 if(iomodel->edges[i*3+2]==2){ 513 if( my_edges[i]){509 if(iomodel->my_edges[i]){ 514 510 v1 = iomodel->edges[3*i+0]-1; 515 511 v2 = iomodel->edges[3*i+1]-1; … … 551 547 for(i=0;i<iomodel->numberofedges;i++){ 552 548 if(iomodel->edges[i*3+2]==2){ 553 if( my_edges[i]){549 if(iomodel->my_edges[i]){ 554 550 v1 = iomodel->edges[3*i+0]-1; 555 551 v2 = iomodel->edges[3*i+1]-1; … … 601 597 for(i=0;i<iomodel->numberofedges;i++){ 602 598 if(iomodel->edges[i*3+2]!=2){ 603 if( my_edges[i]){599 if(iomodel->my_edges[i]){ 604 600 v1 = iomodel->edges[3*i+0]-1; 605 601 v2 = iomodel->edges[3*i+1]-1; … … 634 630 xDelete<IssmDouble>(times); 635 631 xDelete<IssmDouble>(values); 636 xDelete<bool>(my_edges);637 xDelete<bool>(my_faces);638 632 xDelete<bool>(boundaryedge); 639 633 }/*}}}*/ … … 649 643 /*Higher-order finite elements*/ 650 644 int v1,v2; 651 bool *my_edges = NULL;652 bool *my_faces = NULL;653 645 bool *boundaryedge = NULL; 654 646 … … 669 661 break; 670 662 case P1xP2Enum: 671 EdgesPartitioning( &my_edges,iomodel);663 EdgesPartitioning(iomodel); 672 664 break; 673 665 case P1xP3Enum: 674 EdgesPartitioning( &my_edges,iomodel);666 EdgesPartitioning(iomodel); 675 667 break; 676 668 case P2xP1Enum: 677 EdgesPartitioning( &my_edges,iomodel);669 EdgesPartitioning(iomodel); 678 670 break; 679 671 case P2Enum: 680 EdgesPartitioning( &my_edges,iomodel);672 EdgesPartitioning(iomodel); 681 673 if(iomodel->meshelementtype==PentaEnum){ 682 FacesPartitioning( &my_faces,iomodel);674 FacesPartitioning(iomodel); 683 675 } 684 676 EdgeOnBoundaryFlags(&boundaryedge,iomodel); 685 677 break; 686 678 case P2bubbleEnum: 687 EdgesPartitioning( &my_edges,iomodel);679 EdgesPartitioning(iomodel); 688 680 if(iomodel->meshelementtype==PentaEnum){ 689 FacesPartitioning( &my_faces,iomodel);681 FacesPartitioning(iomodel); 690 682 } 691 683 EdgeOnBoundaryFlags(&boundaryedge,iomodel); … … 698 690 break; 699 691 case P2xP4Enum: 700 EdgesPartitioning( &my_edges,iomodel);701 FacesPartitioning( &my_faces,iomodel);692 EdgesPartitioning(iomodel); 693 FacesPartitioning(iomodel); 702 694 break; 703 695 default: … … 729 721 for(i=0;i<iomodel->numberofedges;i++){ 730 722 if(iomodel->edges[i*3+2]==2){ 731 if( my_edges[i]){723 if(iomodel->my_edges[i]){ 732 724 v1 = iomodel->edges[3*i+0]-1; 733 725 v2 = iomodel->edges[3*i+1]-1; … … 752 744 for(i=0;i<iomodel->numberofedges;i++){ 753 745 if(iomodel->edges[i*3+2]==2){ 754 if( my_edges[i]){746 if(iomodel->my_edges[i]){ 755 747 v1 = iomodel->edges[3*i+0]-1; 756 748 v2 = iomodel->edges[3*i+1]-1; … … 780 772 xDelete<IssmDouble>(times); 781 773 xDelete<IssmDouble>(values); 782 xDelete<bool>(my_edges);783 xDelete<bool>(my_faces);784 774 xDelete<bool>(boundaryedge); 785 775 }/*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.