Changeset 17493 for issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
- Timestamp:
- 03/20/14 05:57:57 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
r17491 r17493 238 238 int Tetra::GetNumberOfVertices(void){ 239 239 return NUMVERTICES; 240 } 241 /*}}}*/ 242 /*FUNCTION Tetra::GetNumberOfNodesPressure THIS ONE (and corresponding TetraRef function){{{*/ 243 int Tetra::GetNumberOfNodesPressure(void){ 244 return this->NumberofNodesPressure(); 245 } 246 /*}}}*/ 247 /*FUNCTION Tetra::GetNumberOfNodesVelocity;{{{*/ 248 int Tetra::GetNumberOfNodesVelocity(void){ 249 return this->NumberofNodesVelocity(); 240 250 } 241 251 /*}}}*/ … … 548 558 } 549 559 /*}}}*/ 560 /*FUNCTION Tetra::NodalFunctionsVelocity{{{*/ 561 void Tetra::NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss){ 562 563 _assert_(gauss->Enum()==GaussTetraEnum); 564 this->GetNodalFunctionsVelocity(basis,(GaussTetra*)gauss); 565 566 } 567 /*}}}*/ 568 /*FUNCTION Tetra::NodalFunctionsPressure{{{*/ 569 void Tetra::NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss){ 570 571 _assert_(gauss->Enum()==GaussTetraEnum); 572 this->GetNodalFunctionsPressure(basis,(GaussTetra*)gauss); 573 574 } 575 /*}}}*/ 550 576 /*FUNCTION Tetra::NodalFunctionsDerivatives{{{*/ 551 577 void Tetra::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){ … … 553 579 _assert_(gauss->Enum()==GaussTetraEnum); 554 580 this->GetNodalFunctionsDerivatives(dbasis,xyz_list,(GaussTetra*)gauss); 581 582 } 583 /*}}}*/ 584 /*FUNCTION Tetra::NodalFunctionsDerivativesVelocity{{{*/ 585 void Tetra::NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){ 586 587 _assert_(gauss->Enum()==GaussTetraEnum); 588 this->GetNodalFunctionsDerivativesVelocity(dbasis,xyz_list,(GaussTetra*)gauss); 555 589 556 590 } … … 575 609 576 610 for(int i=0;i<3;i++) normal[i]=normal[i]/norm; 611 } 612 /*}}}*/ 613 /*FUNCTION Tetra::NumberofNodesPressure{{{*/ 614 int Tetra::NumberofNodesPressure(void){ 615 return TetraRef::NumberofNodesPressure(); 616 } 617 /*}}}*/ 618 /*FUNCTION Tetra::NumberofNodesVelocity{{{*/ 619 int Tetra::NumberofNodesVelocity(void){ 620 return TetraRef::NumberofNodesVelocity(); 577 621 } 578 622 /*}}}*/ … … 752 796 tetra_node_ids[9]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+5]+1; 753 797 break; 798 case MINIEnum: case MINIcondensedEnum: 799 numnodes = 9; 800 tetra_node_ids = xNew<int>(numnodes); 801 tetra_node_ids[0]=iomodel->nodecounter+iomodel->elements[4*index+0]; 802 tetra_node_ids[1]=iomodel->nodecounter+iomodel->elements[4*index+1]; 803 tetra_node_ids[2]=iomodel->nodecounter+iomodel->elements[4*index+2]; 804 tetra_node_ids[3]=iomodel->nodecounter+iomodel->elements[4*index+3]; 805 tetra_node_ids[4]=iomodel->nodecounter+iomodel->numberofvertices+index+1; 806 807 tetra_node_ids[5]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+iomodel->elements[4*index+0]; 808 tetra_node_ids[6]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+iomodel->elements[4*index+1]; 809 tetra_node_ids[7]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+iomodel->elements[4*index+2]; 810 tetra_node_ids[8]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+iomodel->elements[4*index+3]; 811 break; 812 numnodes = 14; 813 tetra_node_ids = xNew<int>(numnodes); 814 tetra_node_ids[0]=iomodel->nodecounter+iomodel->elements[4*index+0]; 815 tetra_node_ids[1]=iomodel->nodecounter+iomodel->elements[4*index+1]; 816 tetra_node_ids[2]=iomodel->nodecounter+iomodel->elements[4*index+2]; 817 tetra_node_ids[3]=iomodel->nodecounter+iomodel->elements[4*index+3]; 818 tetra_node_ids[4]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+0]+1; 819 tetra_node_ids[5]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+1]+1; 820 tetra_node_ids[6]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+2]+1; 821 tetra_node_ids[7]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+3]+1; 822 tetra_node_ids[8]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+4]+1; 823 tetra_node_ids[9]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->elementtoedgeconnectivity[6*index+5]+1; 824 825 tetra_node_ids[10]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[4*index+0]; 826 tetra_node_ids[11]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[4*index+1]; 827 tetra_node_ids[12]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[4*index+2]; 828 tetra_node_ids[13]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[4*index+3]; 829 break; 754 830 default: 755 831 _error_("Finite element "<<EnumToStringx(finiteelement_type)<<" not supported yet");
Note:
See TracChangeset
for help on using the changeset viewer.