[17802] | 1 | Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp (revision 17134)
|
---|
| 4 | +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp (revision 17135)
|
---|
| 5 | @@ -159,9 +159,9 @@
|
---|
| 6 | elementfaces_markers[2] = 2;
|
---|
| 7 | elementfaces_markers[3] = 2;
|
---|
| 8 | elementfaces_markers[4] = 2;
|
---|
| 9 | - elementfaces[cols*2+0] = 4; elementfaces[cols*2+1] = 0; elementfaces[cols*2+2] = 1; elementfaces[cols*2+3] = 4; elementfaces[cols*2+4] = 3;
|
---|
| 10 | - elementfaces[cols*3+0] = 4; elementfaces[cols*3+1] = 1; elementfaces[cols*3+2] = 2; elementfaces[cols*3+3] = 5; elementfaces[cols*3+4] = 4;
|
---|
| 11 | - elementfaces[cols*4+0] = 4; elementfaces[cols*4+1] = 2; elementfaces[cols*4+2] = 0; elementfaces[cols*4+3] = 3; elementfaces[cols*4+4] = 5;
|
---|
| 12 | + elementfaces[cols*2+0] = 4; elementfaces[cols*2+1] = 1; elementfaces[cols*2+2] = 2; elementfaces[cols*2+3] = 5; elementfaces[cols*2+4] = 4;
|
---|
| 13 | + elementfaces[cols*3+0] = 4; elementfaces[cols*3+1] = 2; elementfaces[cols*3+2] = 0; elementfaces[cols*3+3] = 3; elementfaces[cols*3+4] = 5;
|
---|
| 14 | + elementfaces[cols*4+0] = 4; elementfaces[cols*4+1] = 0; elementfaces[cols*4+2] = 1; elementfaces[cols*4+3] = 4; elementfaces[cols*4+4] = 3;
|
---|
| 15 | }
|
---|
| 16 | else{
|
---|
| 17 | _error_("mesh dimension not supported yet");
|
---|
| 18 | Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateEdges.cpp
|
---|
| 19 | ===================================================================
|
---|
| 20 | --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateEdges.cpp (revision 17134)
|
---|
| 21 | +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateEdges.cpp (revision 17135)
|
---|
| 22 | @@ -51,9 +51,9 @@
|
---|
| 23 | elementedges[2*3+0] = 1; elementedges[2*3+1] = 2; elementedges_markers[3] = 1;
|
---|
| 24 | elementedges[2*4+0] = 2; elementedges[2*4+1] = 0; elementedges_markers[4] = 1;
|
---|
| 25 | elementedges[2*5+0] = 0; elementedges[2*5+1] = 1; elementedges_markers[5] = 1;
|
---|
| 26 | - elementedges[2*6+0] = 4; elementedges[2*6+1] = 5; elementedges_markers[6] = 3;
|
---|
| 27 | - elementedges[2*7+0] = 5; elementedges[2*7+1] = 3; elementedges_markers[7] = 3;
|
---|
| 28 | - elementedges[2*8+0] = 3; elementedges[2*8+1] = 4; elementedges_markers[8] = 3;
|
---|
| 29 | + elementedges[2*6+0] = 4; elementedges[2*6+1] = 5; elementedges_markers[6] = 1;
|
---|
| 30 | + elementedges[2*7+0] = 5; elementedges[2*7+1] = 3; elementedges_markers[7] = 1;
|
---|
| 31 | + elementedges[2*8+0] = 3; elementedges[2*8+1] = 4; elementedges_markers[8] = 1;
|
---|
| 32 | }
|
---|
| 33 | else{
|
---|
| 34 | _error_("mesh dimension not supported yet");
|
---|
| 35 | Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
|
---|
| 36 | ===================================================================
|
---|
| 37 | --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp (revision 17134)
|
---|
| 38 | +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp (revision 17135)
|
---|
| 39 | @@ -13,6 +13,7 @@
|
---|
| 40 | /*Intermediaries*/
|
---|
| 41 | int i,j,counter,vnodes,lid=0;
|
---|
| 42 | int id0 = iomodel->nodecounter;
|
---|
| 43 | + bool *my_faces = NULL;
|
---|
| 44 | bool *my_edges = NULL;
|
---|
| 45 | bool *my_nodes = NULL;
|
---|
| 46 | Node *node = NULL;
|
---|
| 47 | @@ -143,6 +144,7 @@
|
---|
| 48 | break;
|
---|
| 49 | case P2xP4Enum:
|
---|
| 50 | EdgesPartitioning(&my_edges,iomodel);
|
---|
| 51 | + FacesPartitioning(&my_faces,iomodel);
|
---|
| 52 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 53 | if(iomodel->my_vertices[i]){
|
---|
| 54 | nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 55 | @@ -152,34 +154,41 @@
|
---|
| 56 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 57 | if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
|
---|
| 58 | if(my_edges[i]){
|
---|
| 59 | - node = new Node(id0+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 60 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 61 | nodes->AddObject(node);
|
---|
| 62 | - node = new Node(id0+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 63 | + node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 64 | nodes->AddObject(node);
|
---|
| 65 | - node = new Node(id0+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 66 | + node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 67 | nodes->AddObject(node);
|
---|
| 68 | }
|
---|
| 69 | counter=counter+3;
|
---|
| 70 | }
|
---|
| 71 | - else if(iomodel->edges[i*3+2]==1){/*Basal edges*/
|
---|
| 72 | + else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/
|
---|
| 73 | if(my_edges[i]){
|
---|
| 74 | - node = new Node(id0+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 75 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 76 | nodes->AddObject(node);
|
---|
| 77 | - node = new Node(id0+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 78 | + }
|
---|
| 79 | + counter=counter+1;
|
---|
| 80 | + }
|
---|
| 81 | + else{
|
---|
| 82 | + _error_("not supported");
|
---|
| 83 | + }
|
---|
| 84 | + }
|
---|
| 85 | + id0 = id0+iomodel->numberofvertices+3*iomodel->numberofedges;
|
---|
| 86 | + for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 87 | + if(iomodel->faces[i*6+5]==2){/*Vertical quads*/
|
---|
| 88 | + if(my_faces[i]){
|
---|
| 89 | + node = new Node(id0+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 90 | nodes->AddObject(node);
|
---|
| 91 | - node = new Node(id0+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 92 | + node = new Node(id0+3*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 93 | nodes->AddObject(node);
|
---|
| 94 | - node = new Node(id0+iomodel->numberofvertices+4*i+4,counter+4,lid++,0,iomodel,analysis,approximation);
|
---|
| 95 | + node = new Node(id0+3*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 96 | nodes->AddObject(node);
|
---|
| 97 | }
|
---|
| 98 | - counter=counter+4;
|
---|
| 99 | + counter=counter+3;
|
---|
| 100 | }
|
---|
| 101 | - else if(iomodel->edges[i*3+2]==3){/*Top edges*/
|
---|
| 102 | - if(my_edges[i]){
|
---|
| 103 | - node = new Node(id0+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 104 | - nodes->AddObject(node);
|
---|
| 105 | - }
|
---|
| 106 | - counter=counter+1;
|
---|
| 107 | + else if(iomodel->faces[i*6+5]==1){/*Triangular base/top*/
|
---|
| 108 | + /*Nothing*/
|
---|
| 109 | }
|
---|
| 110 | else{
|
---|
| 111 | _error_("not supported");
|
---|
| 112 | @@ -290,6 +299,7 @@
|
---|
| 113 | case OneLayerP4zEnum:
|
---|
| 114 | _assert_(approximation==FSApproximationEnum);
|
---|
| 115 | EdgesPartitioning(&my_edges,iomodel);
|
---|
| 116 | + FacesPartitioning(&my_faces,iomodel);
|
---|
| 117 | /*P2xP4 velocity*/
|
---|
| 118 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 119 | if(iomodel->my_vertices[i]){
|
---|
| 120 | @@ -359,6 +369,7 @@
|
---|
| 121 | }
|
---|
| 122 |
|
---|
| 123 | /*Clean up*/
|
---|
| 124 | + xDelete<bool>(my_faces);
|
---|
| 125 | xDelete<bool>(my_edges);
|
---|
| 126 | xDelete<bool>(my_nodes);
|
---|
| 127 | }
|
---|
| 128 | Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
|
---|
| 129 | ===================================================================
|
---|
| 130 | --- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp (revision 17134)
|
---|
| 131 | +++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp (revision 17135)
|
---|
| 132 | @@ -38,9 +38,10 @@
|
---|
| 133 | IssmDouble *values = NULL;
|
---|
| 134 | bool spcpresent = false;
|
---|
| 135 |
|
---|
| 136 | - /*P2 finite elements*/
|
---|
| 137 | - int v1,v2;
|
---|
| 138 | + /*Higher-order finite elements*/
|
---|
| 139 | + int v1,v2,v3,v4;
|
---|
| 140 | bool *my_edges = NULL;
|
---|
| 141 | + bool *my_faces = NULL;
|
---|
| 142 |
|
---|
| 143 | switch(finite_element){
|
---|
| 144 | case P1Enum:
|
---|
| 145 | @@ -71,6 +72,7 @@
|
---|
| 146 | break;
|
---|
| 147 | case P2xP4Enum:
|
---|
| 148 | EdgesPartitioning(&my_edges,iomodel);
|
---|
| 149 | + FacesPartitioning(&my_faces,iomodel);
|
---|
| 150 | break;
|
---|
| 151 | default:
|
---|
| 152 | _error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
|
---|
| 153 | @@ -125,41 +127,41 @@
|
---|
| 154 | v1 = iomodel->edges[3*i+0]-1;
|
---|
| 155 | v2 = iomodel->edges[3*i+1]-1;
|
---|
| 156 | if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){
|
---|
| 157 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+4*i+1,
|
---|
| 158 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+3*i+1,
|
---|
| 159 | dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 160 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+2,iomodel->nodecounter+iomodel->numberofvertices+4*i+2,
|
---|
| 161 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+2,iomodel->nodecounter+iomodel->numberofvertices+3*i+2,
|
---|
| 162 | dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 163 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+3,iomodel->nodecounter+iomodel->numberofvertices+4*i+3,
|
---|
| 164 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+3,iomodel->nodecounter+iomodel->numberofvertices+3*i+3,
|
---|
| 165 | dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 166 | count=count+3;
|
---|
| 167 | }
|
---|
| 168 | }
|
---|
| 169 | }
|
---|
| 170 | - if(iomodel->edges[i*3+2]==1){/*Basal edges*/
|
---|
| 171 | + if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/
|
---|
| 172 | if(my_edges[i]){
|
---|
| 173 | v1 = iomodel->edges[3*i+0]-1;
|
---|
| 174 | v2 = iomodel->edges[3*i+1]-1;
|
---|
| 175 | if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){
|
---|
| 176 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+4*i+1,
|
---|
| 177 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+3*i+1,
|
---|
| 178 | dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 179 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+2,iomodel->nodecounter+iomodel->numberofvertices+4*i+2,
|
---|
| 180 | - dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 181 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+3,iomodel->nodecounter+iomodel->numberofvertices+4*i+3,
|
---|
| 182 | - dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 183 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+4,iomodel->nodecounter+iomodel->numberofvertices+4*i+4,
|
---|
| 184 | - dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 185 | - count=count+4;
|
---|
| 186 | + count=count+1;
|
---|
| 187 | }
|
---|
| 188 | }
|
---|
| 189 | }
|
---|
| 190 | - if(iomodel->edges[i*3+2]==3){/*Top edges*/
|
---|
| 191 | - if(my_edges[i]){
|
---|
| 192 | - v1 = iomodel->edges[3*i+0]-1;
|
---|
| 193 | - v2 = iomodel->edges[3*i+1]-1;
|
---|
| 194 | + }
|
---|
| 195 | + for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 196 | + if(iomodel->faces[i*6+5]==2){/*Vertical quads*/
|
---|
| 197 | + if(my_faces[i]){
|
---|
| 198 | + v1 = iomodel->faces[6*i+0]-1;
|
---|
| 199 | + v2 = iomodel->faces[6*i+1]-1;
|
---|
| 200 | if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){
|
---|
| 201 | - constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+4*i+1,
|
---|
| 202 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*i+1,
|
---|
| 203 | dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 204 | - count=count+1;
|
---|
| 205 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+2,iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*i+2,
|
---|
| 206 | + dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 207 | + constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+3,iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*i+3,
|
---|
| 208 | + dof,1./2.*spcdata[v1]+1./2.*spcdata[v2],analysis_type));
|
---|
| 209 | + count=count+3;
|
---|
| 210 | }
|
---|
| 211 | }
|
---|
| 212 | }
|
---|
| 213 | Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
|
---|
| 214 | ===================================================================
|
---|
| 215 | --- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 17134)
|
---|
| 216 | +++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 17135)
|
---|
| 217 | @@ -2833,36 +2833,36 @@
|
---|
| 218 | case P2xP4Enum:
|
---|
| 219 | numnodes = 30;
|
---|
| 220 | penta_node_ids = xNew<int>(numnodes);
|
---|
| 221 | - penta_node_ids[ 0]=iomodel->nodecounter+iomodel->elements[6*index+0];
|
---|
| 222 | - penta_node_ids[ 1]=iomodel->nodecounter+iomodel->elements[6*index+1];
|
---|
| 223 | - penta_node_ids[ 2]=iomodel->nodecounter+iomodel->elements[6*index+2];
|
---|
| 224 | - penta_node_ids[ 3]=iomodel->nodecounter+iomodel->elements[6*index+3];
|
---|
| 225 | - penta_node_ids[ 4]=iomodel->nodecounter+iomodel->elements[6*index+4];
|
---|
| 226 | - penta_node_ids[ 5]=iomodel->nodecounter+iomodel->elements[6*index+5];
|
---|
| 227 | - penta_node_ids[ 6]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+1;
|
---|
| 228 | - penta_node_ids[ 7]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+1;
|
---|
| 229 | - penta_node_ids[ 8]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+1;
|
---|
| 230 | - penta_node_ids[ 9]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+1;
|
---|
| 231 | - penta_node_ids[10]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+1;
|
---|
| 232 | - penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+1;
|
---|
| 233 | - penta_node_ids[12]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+6]+1;
|
---|
| 234 | - penta_node_ids[13]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+7]+1;
|
---|
| 235 | - penta_node_ids[14]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+8]+1;
|
---|
| 236 | - penta_node_ids[15]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+2;
|
---|
| 237 | - penta_node_ids[16]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+2;
|
---|
| 238 | - penta_node_ids[17]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+2;
|
---|
| 239 | - penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+3;
|
---|
| 240 | - penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+3;
|
---|
| 241 | - penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+3;
|
---|
| 242 | - penta_node_ids[21]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+2;
|
---|
| 243 | - penta_node_ids[22]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+2;
|
---|
| 244 | - penta_node_ids[23]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+2;
|
---|
| 245 | - penta_node_ids[24]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+3;
|
---|
| 246 | - penta_node_ids[25]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+3;
|
---|
| 247 | - penta_node_ids[26]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+3;
|
---|
| 248 | - penta_node_ids[27]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+4;
|
---|
| 249 | - penta_node_ids[28]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+4;
|
---|
| 250 | - penta_node_ids[29]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+4;
|
---|
| 251 | + penta_node_ids[ 0]=iomodel->nodecounter+iomodel->elements[6*index+0]; /*Vertex 1*/
|
---|
| 252 | + penta_node_ids[ 1]=iomodel->nodecounter+iomodel->elements[6*index+1]; /*Vertex 2*/
|
---|
| 253 | + penta_node_ids[ 2]=iomodel->nodecounter+iomodel->elements[6*index+2]; /*Vertex 3*/
|
---|
| 254 | + penta_node_ids[ 3]=iomodel->nodecounter+iomodel->elements[6*index+3]; /*Vertex 4*/
|
---|
| 255 | + penta_node_ids[ 4]=iomodel->nodecounter+iomodel->elements[6*index+4]; /*Vertex 5*/
|
---|
| 256 | + penta_node_ids[ 5]=iomodel->nodecounter+iomodel->elements[6*index+5]; /*Vertex 6*/
|
---|
| 257 | + penta_node_ids[ 6]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+1; /*mid vertical edge 1*/
|
---|
| 258 | + penta_node_ids[ 7]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+1; /*mid vertical edge 2*/
|
---|
| 259 | + penta_node_ids[ 8]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+1; /*mid vertical edge 3*/
|
---|
| 260 | + penta_node_ids[ 9]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+3]+1; /*mid basal edge 1*/
|
---|
| 261 | + penta_node_ids[10]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+4]+1; /*mid basal edge 2*/
|
---|
| 262 | + penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+5]+1; /*mid basal edge 3*/
|
---|
| 263 | + penta_node_ids[12]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+6]+1; /*mid top edge 1*/
|
---|
| 264 | + penta_node_ids[13]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+7]+1; /*mid top edge 2*/
|
---|
| 265 | + penta_node_ids[14]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+8]+1; /*mid top edge 3*/
|
---|
| 266 | + penta_node_ids[15]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+2; /* 1/4 vertical edge 1*/
|
---|
| 267 | + penta_node_ids[16]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+2; /* 1/4 vertical edge 2*/
|
---|
| 268 | + penta_node_ids[17]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+2; /* 1/4 vertical edge 3*/
|
---|
| 269 | + penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+0]+3; /* 2/4 vertical edge 1*/
|
---|
| 270 | + penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+1]+3; /* 2/4 vertical edge 2*/
|
---|
| 271 | + penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->elementtoedgeconnectivity[9*index+2]+3; /* 2/4 vertical edge 3*/
|
---|
| 272 | + penta_node_ids[21]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+2]+1; /* 1/4 vertical face 1*/
|
---|
| 273 | + penta_node_ids[22]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+3]+1; /* 1/4 vertical face 2*/
|
---|
| 274 | + penta_node_ids[23]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+4]+1; /* 1/4 vertical face 3*/
|
---|
| 275 | + penta_node_ids[24]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+2]+2; /* 2/4 vertical face 1*/
|
---|
| 276 | + penta_node_ids[25]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+3]+2; /* 2/4 vertical face 2*/
|
---|
| 277 | + penta_node_ids[26]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+4]+2; /* 2/4 vertical face 3*/
|
---|
| 278 | + penta_node_ids[27]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+2]+3; /* 3/4 vertical face 1*/
|
---|
| 279 | + penta_node_ids[28]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+3]+3; /* 3/4 vertical face 2*/
|
---|
| 280 | + penta_node_ids[29]=iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*iomodel->elementtofaceconnectivity[5*index+4]+3; /* 3/4 vertical face 3*/
|
---|
| 281 | break;
|
---|
| 282 | case P2Enum:
|
---|
| 283 | numnodes = 15;
|
---|