Changeset 22077
- Timestamp:
- 09/13/17 14:36:40 (8 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r22044 r22077 2819 2819 penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[9*index+8]+1; 2820 2820 break; 2821 case P1xP4Enum: 2822 numnodes = 15; 2823 penta_node_ids = xNew<int>(numnodes); 2824 penta_node_ids[ 0]=iomodel->nodecounter+iomodel->elements[6*index+0]; /*Vertex 1*/ 2825 penta_node_ids[ 1]=iomodel->nodecounter+iomodel->elements[6*index+1]; /*Vertex 2*/ 2826 penta_node_ids[ 2]=iomodel->nodecounter+iomodel->elements[6*index+2]; /*Vertex 3*/ 2827 penta_node_ids[ 3]=iomodel->nodecounter+iomodel->elements[6*index+3]; /*Vertex 4*/ 2828 penta_node_ids[ 4]=iomodel->nodecounter+iomodel->elements[6*index+4]; /*Vertex 5*/ 2829 penta_node_ids[ 5]=iomodel->nodecounter+iomodel->elements[6*index+5]; /*Vertex 6*/ 2830 penta_node_ids[ 6]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+1; /*mid vertical edge 1*/ 2831 penta_node_ids[ 7]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+1; /*mid vertical edge 2*/ 2832 penta_node_ids[ 8]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+1; /*mid vertical edge 3*/ 2833 penta_node_ids[ 9]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+2; /* 1/4 vertical edge 1*/ 2834 penta_node_ids[10]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+2; /* 1/4 vertical edge 2*/ 2835 penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+2; /* 1/4 vertical edge 3*/ 2836 penta_node_ids[12]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+3; /* 3/4 vertical edge 1*/ 2837 penta_node_ids[13]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+3; /* 3/4 vertical edge 2*/ 2838 penta_node_ids[14]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+3; /* 3/4 vertical edge 3*/ 2839 break; 2821 2840 case P2xP4Enum: 2822 2841 numnodes = 30; … … 2840 2859 penta_node_ids[16]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+2; /* 1/4 vertical edge 2*/ 2841 2860 penta_node_ids[17]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+2; /* 1/4 vertical edge 3*/ 2842 penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+3; /* 2/4 vertical edge 1*/2843 penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+3; /* 2/4 vertical edge 2*/2844 penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+3; /* 2/4 vertical edge 3*/2861 penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+3; /* 3/4 vertical edge 1*/ 2862 penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+3; /* 3/4 vertical edge 2*/ 2863 penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+3; /* 3/4 vertical edge 3*/ 2845 2864 penta_node_ids[21]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+2]+1; /* 1/4 vertical face 1*/ 2846 2865 penta_node_ids[22]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+3]+1; /* 1/4 vertical face 2*/ -
issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r21717 r22077 82 82 break; 83 83 case P1xP2Enum: 84 EdgesPartitioning(&my_edges,iomodel);85 break;86 84 case P1xP3Enum: 85 case P1xP4Enum: 87 86 EdgesPartitioning(&my_edges,iomodel); 88 87 break; … … 370 369 } 371 370 break; 371 case P1xP4Enum: 372 for(i=0;i<iomodel->numberofvertices;i++){ 373 if((iomodel->my_vertices[i])){ 374 if (!xIsNan<IssmDouble>(spcdata[i])){ 375 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,dof,spcdata[i],analysis_type)); 376 count++; 377 } 378 } 379 } 380 for(i=0;i<iomodel->numberofedges;i++){ 381 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 382 if(my_edges[i]){ 383 v1 = iomodel->edges[3*i+0]-1; 384 v2 = iomodel->edges[3*i+1]-1; 385 if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){ 386 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+3*i+1, 387 dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type)); 388 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+2,iomodel->nodecounter+iomodel->numberofvertices+3*i+2, 389 dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type)); 390 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+3,iomodel->nodecounter+iomodel->numberofvertices+3*i+3, 391 dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type)); 392 count=count+3; 393 } 394 } 395 } 396 } 397 break; 372 398 case P2xP1Enum: 373 399 for(i=0;i<iomodel->numberofvertices;i++){ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r20474 r22077 107 107 } 108 108 counter=counter+2; 109 } 110 } 111 break; 112 case P1xP4Enum: 113 EdgesPartitioning(&my_edges,iomodel); 114 for(i=0;i<iomodel->numberofvertices;i++){ 115 if(iomodel->my_vertices[i]){ 116 nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation)); 117 } 118 } 119 counter = iomodel->numberofvertices; 120 for(i=0;i<iomodel->numberofedges;i++){ 121 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 122 if(my_edges[i]){ 123 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation); 124 nodes->AddObject(node); 125 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,iomodel,analysis,approximation); 126 nodes->AddObject(node); 127 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,iomodel,analysis,approximation); 128 nodes->AddObject(node); 129 } 130 counter=counter+3; 109 131 } 110 132 }
Note:
See TracChangeset
for help on using the changeset viewer.