Changeset 17490
- Timestamp:
- 03/20/14 05:24:19 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp ¶
r17484 r17490 738 738 tetra_node_ids[3]=iomodel->nodecounter+iomodel->elements[4*index+3]; 739 739 break; 740 case P1bubbleEnum: case P1bubblecondensedEnum: 741 numnodes = 5; 742 tetra_node_ids = xNew<int>(numnodes); 743 tetra_node_ids[0]=iomodel->nodecounter+iomodel->elements[4*index+0]; 744 tetra_node_ids[1]=iomodel->nodecounter+iomodel->elements[4*index+1]; 745 tetra_node_ids[2]=iomodel->nodecounter+iomodel->elements[4*index+2]; 746 tetra_node_ids[3]=iomodel->nodecounter+iomodel->elements[4*index+3]; 747 tetra_node_ids[4]=iomodel->nodecounter+iomodel->numberofvertices+index+1; 748 break; 749 case P2Enum: 750 numnodes = 10; 751 tetra_node_ids = xNew<int>(numnodes); 752 tetra_node_ids[0]=iomodel->nodecounter+iomodel->elements[4*index+0]; 753 tetra_node_ids[1]=iomodel->nodecounter+iomodel->elements[4*index+1]; 754 tetra_node_ids[2]=iomodel->nodecounter+iomodel->elements[4*index+2]; 755 tetra_node_ids[3]=iomodel->nodecounter+iomodel->elements[4*index+3]; 756 tetra_node_ids[4]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+0]+1; 757 tetra_node_ids[5]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+1]+1; 758 tetra_node_ids[6]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+2]+1; 759 tetra_node_ids[7]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+3]+1; 760 tetra_node_ids[8]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+4]+1; 761 tetra_node_ids[9]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+5]+1; 762 break; 740 763 default: 741 764 _error_("Finite element "<<EnumToStringx(finiteelement_type)<<" not supported yet"); -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/TetraRef.cpp ¶
r17486 r17490 18 18 #define NUMNODESP0 1 19 19 #define NUMNODESP1 4 20 #define NUMNODESP1b 5 20 21 #define NUMNODESP2 10 21 22 … … 72 73 basis[2]=gauss->coord3; 73 74 basis[3]=gauss->coord4; 75 return; 76 case P1bubbleEnum: case P1bubblecondensedEnum: 77 /*Corner nodes*/ 78 basis[0]=gauss->coord1; 79 basis[1]=gauss->coord2; 80 basis[2]=gauss->coord3; 81 basis[3]=gauss->coord4; 82 /*bubble*/ 83 basis[4]=256.*gauss->coord1*gauss->coord2*gauss->coord3*gauss->coord4; 74 84 return; 75 85 case P2Enum: … … 171 181 dbasis[NUMNODESP1*2+3] = 1.; 172 182 return; 183 case P1bubbleEnum: case P1bubblecondensedEnum: 184 dbasis[NUMNODESP1b*0+0] = -1.; 185 dbasis[NUMNODESP1b*1+0] = -1.; 186 dbasis[NUMNODESP1b*2+0] = -1.; 187 188 dbasis[NUMNODESP1b*0+1] = 1.; 189 dbasis[NUMNODESP1b*1+1] = 0.; 190 dbasis[NUMNODESP1b*2+1] = 0.; 191 192 dbasis[NUMNODESP1b*0+2] = 0.; 193 dbasis[NUMNODESP1b*1+2] = 1.; 194 dbasis[NUMNODESP1b*2+2] = 0.; 195 196 dbasis[NUMNODESP1b*0+3] = 0.; 197 dbasis[NUMNODESP1b*1+3] = 0.; 198 dbasis[NUMNODESP1b*2+3] = 1.; 199 200 dbasis[NUMNODESP1b*0+4] = 256.*(-gauss->coord2*gauss->coord3*gauss->coord4+gauss->coord1*gauss->coord3*gauss->coord4); 201 dbasis[NUMNODESP1b*1+4] = 256.*(-gauss->coord2*gauss->coord3*gauss->coord4+gauss->coord1*gauss->coord2*gauss->coord4); 202 dbasis[NUMNODESP1b*2+4] = 256.*(-gauss->coord2*gauss->coord3*gauss->coord4+gauss->coord1*gauss->coord2*gauss->coord3); 203 return; 173 204 case P2Enum: 174 205 dbasis[NUMNODESP2*0+0] = -4.*gauss->coord1+1.; … … 372 403 373 404 switch(finiteelement){ 374 case P0Enum: return NUMNODESP0; 375 case P1Enum: return NUMNODESP1; 376 case P1DGEnum: return NUMNODESP1; 377 case P2Enum: return NUMNODESP2; 405 case P0Enum: return NUMNODESP0; 406 case P1Enum: return NUMNODESP1; 407 case P1DGEnum: return NUMNODESP1; 408 case P1bubbleEnum: return NUMNODESP1b; 409 case P1bubblecondensedEnum: return NUMNODESP1b; 410 case P2Enum: return NUMNODESP2; 378 411 default: _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet"); 379 412 } -
TabularUnified issm/trunk-jpl/src/c/classes/gauss/GaussTetra.cpp ¶
r17485 r17490 184 184 } 185 185 break; 186 case P1bubbleEnum: case P1bubblecondensedEnum: 187 switch(iv){ 188 case 0: coord1=1.; coord2=0.; coord3=0.; coord4=0.; break; 189 case 1: coord1=0.; coord2=1.; coord3=0.; coord4=0.; break; 190 case 2: coord1=0.; coord2=0.; coord3=1.; coord4=0.; break; 191 case 3: coord1=0.; coord2=0.; coord3=0.; coord4=1.; break; 192 case 4: coord1=1./4.; coord2=1./4.; coord3=1./4.; coord4=1./4.; break; 193 default: _error_("node index should be in [0 4]"); 194 } 195 break; 196 case P2Enum: 197 switch(iv){ 198 case 0: coord1=1.; coord2=0.; coord3=0.; coord4=0.; break; 199 case 1: coord1=0.; coord2=1.; coord3=0.; coord4=0.; break; 200 case 2: coord1=0.; coord2=0.; coord3=1.; coord4=0.; break; 201 case 3: coord1=0.; coord2=0.; coord3=0.; coord4=1.; break; 202 203 case 4: coord1=0.; coord2=.5; coord3=.5; coord4=0.; break; 204 case 5: coord1=.5; coord2=0.; coord3=.5; coord4=0.; break; 205 case 6: coord1=.5; coord2=.5; coord3=0.; coord4=0.; break; 206 case 7: coord1=.5; coord2=0.; coord3=0.; coord4=.5; break; 207 case 8: coord1=0.; coord2=.5; coord3=0.; coord4=.5; break; 208 case 9: coord1=0.; coord2=0.; coord3=.5; coord4=.5; break; 209 default: _error_("node index should be in [0 9]"); 210 } 211 break; 186 212 default: _error_("Finite element "<<EnumToStringx(finiteelement)<<" not supported"); 187 213 } -
TabularUnified issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp ¶
r17384 r17490 54 54 case Mesh2DhorizontalEnum: elementnbv = 3; break; 55 55 case Mesh2DverticalEnum: elementnbv = 3; break; 56 case Mesh3DtetrasEnum: elementnbv = 4; break; 56 57 case Mesh3DEnum: elementnbv = 6; break; 57 58 default: _error_("mesh type not supported yet"); -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateEdges.cpp ¶
r17135 r17490 40 40 elementedges[2*1+0] = 2; elementedges[2*1+1] = 0; elementedges_markers[1] = 1; 41 41 elementedges[2*2+0] = 0; elementedges[2*2+1] = 1; elementedges_markers[2] = 1; 42 } 43 else if(iomodel->meshtype==Mesh3DtetrasEnum){ 44 elementnbv = 4; 45 elementnbe = 6; 46 elementedges = xNew<int>(elementnbe*2); 47 elementedges_markers = xNew<int>(elementnbe); 48 elementedges[2*0+0] = 1; elementedges[2*0+1] = 2; elementedges_markers[0] = 1; 49 elementedges[2*1+0] = 2; elementedges[2*1+1] = 0; elementedges_markers[1] = 1; 50 elementedges[2*2+0] = 0; elementedges[2*2+1] = 1; elementedges_markers[2] = 1; 51 elementedges[2*3+0] = 0; elementedges[2*3+1] = 3; elementedges_markers[3] = 1; 52 elementedges[2*4+0] = 1; elementedges[2*4+1] = 3; elementedges_markers[4] = 1; 53 elementedges[2*5+0] = 2; elementedges[2*5+1] = 3; elementedges_markers[5] = 1; 42 54 } 43 55 else if(iomodel->meshtype==Mesh3DEnum){ -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/EdgesPartitioning.cpp ¶
r16354 r17490 24 24 elementnbe = 3; 25 25 } 26 else if(iomodel->meshtype==Mesh3DtetrasEnum){ 27 elementnbe = 6; 28 } 26 29 else if(iomodel->meshtype==Mesh3DEnum){ 27 30 elementnbe = 9; -
TabularUnified issm/trunk-jpl/src/c/modules/SystemMatricesx/SystemMatricesx.cpp ¶
r17489 r17490 64 64 65 65 /*Display size*/ 66 Kff->GetSize(&M,&N); 66 67 if(VerboseModule()){ 67 Kff->GetSize(&M,&N);68 68 _printf0_(" (Kff stiffness matrix size: "<<M<<" x "<<N<<")\n"); 69 69 } … … 120 120 //Kff->AllocationInfo(); 121 121 //Kfs->AllocationInfo(); 122 //IssmDouble* k = Kff->ToSerial(); 123 //printarray(k,N,N); 122 124 123 125 /*cleanu up and assign output pointers: */
Note:
See TracChangeset
for help on using the changeset viewer.