Changeset 17065
- Timestamp:
- 01/07/14 13:05:28 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17010 r17065 372 372 case MINIEnum : finiteelement = P1bubbleEnum; break; 373 373 case TaylorHoodEnum : finiteelement = P2Enum; break; 374 case OneLayerP4zEnum : finiteelement = P2xP4Enum; break; 374 375 default: _error_("finite element "<<finiteelement<<" not supported"); 375 376 } … … 462 463 } 463 464 break; 465 case P2xP4Enum: 466 //Nothing yet 467 break; 464 468 default: 465 469 _error_("not implemented yet"); -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r17057 r17065 2915 2915 penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[6*index+5]; 2916 2916 break; 2917 case OneLayerP4zEnum: 2918 numnodes = 30+12; 2919 penta_node_ids = xNew<int>(numnodes); 2920 penta_node_ids[ 0]=iomodel->nodecounter+iomodel->elements[6*index+0]; 2921 penta_node_ids[ 1]=iomodel->nodecounter+iomodel->elements[6*index+1]; 2922 penta_node_ids[ 2]=iomodel->nodecounter+iomodel->elements[6*index+2]; 2923 penta_node_ids[ 3]=iomodel->nodecounter+iomodel->elements[6*index+3]; 2924 penta_node_ids[ 4]=iomodel->nodecounter+iomodel->elements[6*index+4]; 2925 penta_node_ids[ 5]=iomodel->nodecounter+iomodel->elements[6*index+5]; 2926 penta_node_ids[ 6]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+1; 2927 penta_node_ids[ 7]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+1; 2928 penta_node_ids[ 8]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+1; 2929 penta_node_ids[ 9]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+1; 2930 penta_node_ids[10]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+1; 2931 penta_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+1; 2932 penta_node_ids[12]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+6]+1; 2933 penta_node_ids[13]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+7]+1; 2934 penta_node_ids[14]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+8]+1; 2935 penta_node_ids[15]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+2; 2936 penta_node_ids[16]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+2; 2937 penta_node_ids[17]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+2; 2938 penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+0]+3; 2939 penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+1]+3; 2940 penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+2]+3; 2941 penta_node_ids[21]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+2; 2942 penta_node_ids[22]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+2; 2943 penta_node_ids[23]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+2; 2944 penta_node_ids[24]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+3; 2945 penta_node_ids[25]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+3; 2946 penta_node_ids[26]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+3; 2947 penta_node_ids[27]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+3]+4; 2948 penta_node_ids[28]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+4]+4; 2949 penta_node_ids[29]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->elementtoedgeconnectivity[9*index+5]+4; 2950 2951 penta_node_ids[30]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->elements[6*index+0]; 2952 penta_node_ids[31]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->elements[6*index+1]; 2953 penta_node_ids[32]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->elements[6*index+2]; 2954 penta_node_ids[33]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->elements[6*index+3]; 2955 penta_node_ids[34]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->elements[6*index+4]; 2956 penta_node_ids[35]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->elements[6*index+5]; 2957 penta_node_ids[36]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->numberofvertices+2*iomodel->elementtoedgeconnectivity[9*index+0]+1; 2958 penta_node_ids[37]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->numberofvertices+2*iomodel->elementtoedgeconnectivity[9*index+1]+1; 2959 penta_node_ids[38]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->numberofvertices+2*iomodel->elementtoedgeconnectivity[9*index+2]+1; 2960 penta_node_ids[39]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->numberofvertices+2*iomodel->elementtoedgeconnectivity[9*index+0]+2; 2961 penta_node_ids[40]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->numberofvertices+2*iomodel->elementtoedgeconnectivity[9*index+1]+2; 2962 penta_node_ids[41]=iomodel->nodecounter+iomodel->numberofvertices+4*iomodel->numberofedges+iomodel->numberofvertices+2*iomodel->elementtoedgeconnectivity[9*index+2]+2; 2963 break; 2917 2964 default: 2918 2965 _error_("Finite element "<<EnumToStringx(finiteelement_type)<<" not supported yet"); -
issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp
r17058 r17065 1452 1452 this->element_type = TaylorHoodEnum; 1453 1453 return; 1454 case OneLayerP4zEnum: 1455 this->element_type = P2xP4Enum; 1456 this->GetNodalFunctions(basis,gauss); 1457 this->element_type = OneLayerP4zEnum; 1458 return; 1454 1459 default: 1455 1460 _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet"); … … 1486 1491 this->GetNodalFunctions(basis,gauss); 1487 1492 this->element_type = TaylorHoodEnum; 1493 return; 1494 case OneLayerP4zEnum: 1495 this->element_type = P1xP3Enum; 1496 this->GetNodalFunctions(basis,gauss); 1497 this->element_type = OneLayerP4zEnum; 1488 1498 return; 1489 1499 default: … … 1554 1564 this->GetNodalFunctionsDerivatives(dbasis,xyz_list,gauss); 1555 1565 this->element_type = TaylorHoodEnum; 1566 return; 1567 case OneLayerP4zEnum: 1568 this->element_type = P2xP4Enum; 1569 this->GetNodalFunctionsDerivatives(dbasis,xyz_list,gauss); 1570 this->element_type = OneLayerP4zEnum; 1556 1571 return; 1557 1572 default: … … 2252 2267 case MINIEnum: return NUMNODESP1b+NUMNODESP1; 2253 2268 case TaylorHoodEnum: return NUMNODESP2+NUMNODESP1; 2269 case OneLayerP4zEnum: return NUMNODESP2xP4+NUMNODESP1xP3; 2254 2270 case P2xP4Enum: return NUMNODESP2xP4; 2255 2271 case P1xP3Enum: return NUMNODESP1xP3; … … 2269 2285 case MINIEnum: return NUMNODESP1; 2270 2286 case TaylorHoodEnum: return NUMNODESP1; 2287 case OneLayerP4zEnum: return NUMNODESP1xP3; 2271 2288 default: _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet"); 2272 2289 } … … 2284 2301 case MINIEnum: return NUMNODESP1b; 2285 2302 case TaylorHoodEnum: return NUMNODESP2; 2303 case OneLayerP4zEnum: return NUMNODESP2xP4; 2286 2304 default: _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet"); 2287 2305 } … … 2299 2317 case MINIEnum: return P1bubbleEnum; 2300 2318 case TaylorHoodEnum: return P2Enum; 2319 case OneLayerP4zEnum: return P2xP4Enum; 2301 2320 default: _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet"); 2302 2321 } … … 2314 2333 case MINIEnum: return P1Enum; 2315 2334 case TaylorHoodEnum: return P1Enum; 2335 case OneLayerP4zEnum: return P1xP3Enum; 2316 2336 default: _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet"); 2317 2337 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r17063 r17065 291 291 for(i=0;i<iomodel->numberofvertices;i++){ 292 292 if(iomodel->my_vertices[i]){ 293 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis, approximation));293 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum)); 294 294 } 295 295 } … … 298 298 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 299 299 if(my_edges[i]){ 300 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis, approximation);301 nodes->AddObject(node); 302 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis, approximation);303 nodes->AddObject(node); 304 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis, approximation);300 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,FSvelocityEnum); 301 nodes->AddObject(node); 302 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis,FSvelocityEnum); 303 nodes->AddObject(node); 304 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis,FSvelocityEnum); 305 305 nodes->AddObject(node); 306 306 } … … 308 308 else if(iomodel->edges[i*3+2]==1){/*Basal edges*/ 309 309 if(my_edges[i]){ 310 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis, approximation);311 nodes->AddObject(node); 312 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis, approximation);313 nodes->AddObject(node); 314 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis, approximation);315 nodes->AddObject(node); 316 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+4,counter+4,lid++,0,iomodel,analysis, approximation);310 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,FSvelocityEnum); 311 nodes->AddObject(node); 312 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+2,counter+2,lid++,0,iomodel,analysis,FSvelocityEnum); 313 nodes->AddObject(node); 314 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+3,counter+3,lid++,0,iomodel,analysis,FSvelocityEnum); 315 nodes->AddObject(node); 316 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+4,counter+4,lid++,0,iomodel,analysis,FSvelocityEnum); 317 317 nodes->AddObject(node); 318 318 } … … 320 320 else if(iomodel->edges[i*3+2]==3){/*Top edges*/ 321 321 if(my_edges[i]){ 322 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis, approximation);322 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+4*i+1,counter+1,lid++,0,iomodel,analysis,FSvelocityEnum); 323 323 nodes->AddObject(node); 324 324 } … … 333 333 for(i=0;i<iomodel->numberofvertices;i++){ 334 334 if(iomodel->my_vertices[i]){ 335 nodes->AddObject(new Node(vnodes+i+1,i,lid++,i,iomodel,analysis, approximation));335 nodes->AddObject(new Node(vnodes+i+1,i,lid++,i,iomodel,analysis,FSpressureEnum)); 336 336 } 337 337 } … … 341 341 if(iomodel->edges[i*3+2]==2){ 342 342 if(my_edges[i]){ 343 node = new Node(vnodes+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,iomodel,analysis, approximation);344 nodes->AddObject(node); 345 node = new Node(vnodes+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,iomodel,analysis, approximation);343 node = new Node(vnodes+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,iomodel,analysis,FSpressureEnum); 344 nodes->AddObject(node); 345 node = new Node(vnodes+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,iomodel,analysis,FSpressureEnum); 346 346 nodes->AddObject(node); 347 347 }
Note:
See TracChangeset
for help on using the changeset viewer.