Changeset 23962 for issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp
- Timestamp:
- 05/30/19 13:56:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp
r22983 r23962 328 328 /*Clean up*/ 329 329 xDelete<IssmDouble>(triabasis); 330 } 331 /*}}}*/ 332 void TriaRef::GetSegmentNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list_tria,Gauss* gauss,int index1,int index2,int finiteelement){/*{{{*/ 333 /*This routine returns the values of the nodal functions at the gaussian point.*/ 334 335 _assert_(index1>=0 && index1<3); 336 _assert_(index2>=0 && index2<3); 337 338 /*Fetch number of nodes for this finite element*/ 339 int numnodes = this->NumberofNodes(finiteelement); 340 341 /*Get nodal functions*/ 342 IssmDouble* dtriabasis=xNew<IssmDouble>(2*numnodes); 343 GetNodalFunctionsDerivatives(dtriabasis,xyz_list_tria,gauss,finiteelement); 344 345 switch(finiteelement){ 346 case P1Enum: case P1DGEnum: 347 dbasis[2*0+0] = dtriabasis[numnodes*0+index1]; 348 dbasis[2*0+1] = dtriabasis[numnodes*1+index1]; 349 dbasis[2*1+0] = dtriabasis[numnodes*0+index2]; 350 dbasis[2*1+1] = dtriabasis[numnodes*1+index2]; 351 break; 352 default: 353 _error_("Element type "<<EnumToStringx(finiteelement)<<" not supported yet"); 354 } 355 356 /*Clean up*/ 357 xDelete<IssmDouble>(dtriabasis); 330 358 } 331 359 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.