Changeset 17057
- Timestamp:
- 12/24/13 01:40:32 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r17041 r17057 2801 2801 penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[9*index+8]+1; 2802 2802 break; 2803 case P2xP4Enum: 2804 numnodes = 30; 2805 penta_node_ids = xNew<int>(numnodes); 2806 penta_node_ids[ 0]=iomodel->nodecounter+iomodel->elements[6*index+0]; 2807 penta_node_ids[ 1]=iomodel->nodecounter+iomodel->elements[6*index+1]; 2808 penta_node_ids[ 2]=iomodel->nodecounter+iomodel->elements[6*index+2]; 2809 penta_node_ids[ 3]=iomodel->nodecounter+iomodel->elements[6*index+3]; 2810 penta_node_ids[ 4]=iomodel->nodecounter+iomodel->elements[6*index+4]; 2811 penta_node_ids[ 5]=iomodel->nodecounter+iomodel->elements[6*index+5]; 2812 penta_node_ids[ 6]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+1; 2813 penta_node_ids[ 7]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+1; 2814 penta_node_ids[ 8]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+1; 2815 penta_node_ids[ 9]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+1; 2816 penta_node_ids[10]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+1; 2817 penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+1; 2818 penta_node_ids[12]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+6]+1; 2819 penta_node_ids[13]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+7]+1; 2820 penta_node_ids[14]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+8]+1; 2821 penta_node_ids[15]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+2; 2822 penta_node_ids[16]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+2; 2823 penta_node_ids[17]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+2; 2824 penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+3; 2825 penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+3; 2826 penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+3; 2827 penta_node_ids[21]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+2; 2828 penta_node_ids[22]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+2; 2829 penta_node_ids[23]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+2; 2830 penta_node_ids[24]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+3; 2831 penta_node_ids[25]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+3; 2832 penta_node_ids[26]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+3; 2833 penta_node_ids[27]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+4; 2834 penta_node_ids[28]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+4; 2835 penta_node_ids[29]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+4; 2836 break; 2803 2837 case P2Enum: 2804 2838 numnodes = 15; -
issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp
r17041 r17057 657 657 } 658 658 break; 659 case P2xP4Enum: 660 switch(iv){ 661 case 0: coord1=1.; coord2=0.; coord3=0.; coord4=-1.; break; 662 case 1: coord1=0.; coord2=1.; coord3=0.; coord4=-1.; break; 663 case 2: coord1=0.; coord2=0.; coord3=1.; coord4=-1.; break; 664 case 3: coord1=1.; coord2=0.; coord3=0.; coord4=+1.; break; 665 case 4: coord1=0.; coord2=1.; coord3=0.; coord4=+1.; break; 666 case 5: coord1=0.; coord2=0.; coord3=1.; coord4=+1.; break; 667 668 case 6: coord1=1.; coord2=0.; coord3=0.; coord4=0.; break; 669 case 7: coord1=0.; coord2=1.; coord3=0.; coord4=0.; break; 670 case 8: coord1=0.; coord2=0.; coord3=1.; coord4=0.; break; 671 672 case 9: coord1=0.; coord2=.5; coord3=.5; coord4=-1.;break; 673 case 10: coord1=.5; coord2=0.; coord3=.5; coord4=-1.;break; 674 case 11: coord1=.5; coord2=.5; coord3=0.; coord4=-1.;break; 675 case 12: coord1=0.; coord2=.5; coord3=.5; coord4=+1.;break; 676 case 13: coord1=.5; coord2=0.; coord3=.5; coord4=+1.;break; 677 case 14: coord1=.5; coord2=.5; coord3=0.; coord4=+1.;break; 678 679 case 15: coord1=1.; coord2=0.; coord3=0.; coord4=-.5; break; 680 case 16: coord1=0.; coord2=1.; coord3=0.; coord4=-.5; break; 681 case 17: coord1=0.; coord2=0.; coord3=1.; coord4=-.5; break; 682 case 18: coord1=1.; coord2=0.; coord3=0.; coord4=+.5; break; 683 case 19: coord1=0.; coord2=1.; coord3=0.; coord4=+.5; break; 684 case 20: coord1=0.; coord2=0.; coord3=1.; coord4=+.5; break; 685 686 case 21: coord1=0.; coord2=.5; coord3=.5; coord4=-.5;break; 687 case 22: coord1=.5; coord2=0.; coord3=.5; coord4=-.5;break; 688 case 23: coord1=.5; coord2=.5; coord3=0.; coord4=-.5;break; 689 case 24: coord1=0.; coord2=.5; coord3=.5; coord4=0.;break; 690 case 25: coord1=.5; coord2=0.; coord3=.5; coord4=0.;break; 691 case 26: coord1=.5; coord2=.5; coord3=0.; coord4=0.;break; 692 case 27: coord1=0.; coord2=.5; coord3=.5; coord4=+.5;break; 693 case 28: coord1=.5; coord2=0.; coord3=.5; coord4=+.5;break; 694 case 29: coord1=.5; coord2=.5; coord3=0.; coord4=+.5;break; 695 default: _error_("node index should be in [0 14]"); 696 } 697 break; 659 698 default: _error_("Finite element "<<EnumToStringx(finiteelement)<<" not supported"); 660 699 } -
issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r17042 r17057 110 110 } 111 111 } 112 break; 113 case P2xP4Enum: 114 for(i=0;i<iomodel->numberofvertices;i++){ 115 if((iomodel->my_vertices[i])){ 116 if (!xIsNan<IssmDouble>(spcdata[i])){ 117 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,dof,spcdata[i],analysis_type)); 118 count++; 119 } 120 } 121 } 122 _printf0_("WARNING: Skipping constraints along edges\n"); 112 123 break; 113 124 case P1bubbleEnum: -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r17041 r17057 141 141 } 142 142 break; 143 case P2xP4Enum: 144 EdgesPartitioning(&my_edges,iomodel); 145 for(i=0;i<iomodel->numberofvertices;i++){ 146 if(iomodel->my_vertices[i]){ 147 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 148 } 149 } 150 counter = iomodel->numberofvertices; 151 for(i=0;i<iomodel->numberofedges;i++){ 152 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 153 if(my_edges[i]){ 154 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,approximation); 155 nodes->AddObject(node); 156 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis,approximation); 157 nodes->AddObject(node); 158 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis,approximation); 159 nodes->AddObject(node); 160 } 161 } 162 else if(iomodel->edges[i*3+2]==1){/*Basal edges*/ 163 if(my_edges[i]){ 164 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,approximation); 165 nodes->AddObject(node); 166 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+2,counter+1,lid++,0,iomodel,analysis,approximation); 167 nodes->AddObject(node); 168 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+3,counter+1,lid++,0,iomodel,analysis,approximation); 169 nodes->AddObject(node); 170 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+4,counter+1,lid++,0,iomodel,analysis,approximation); 171 nodes->AddObject(node); 172 } 173 } 174 else if(iomodel->edges[i*3+2]==3){/*Top edges*/ 175 if(my_edges[i]){ 176 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,approximation); 177 nodes->AddObject(node); 178 } 179 } 180 else{ 181 _error_("not supported"); 182 } 183 counter=counter+4; 184 } 185 break; 143 186 144 187 /*Stokes elements*/
Note:
See TracChangeset
for help on using the changeset viewer.