Changeset 3161
- Timestamp:
- 03/02/10 14:40:19 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Penta.cpp
r3160 r3161 3119 3119 printf("%s%s%i\n",__FUNCT__," error message: negative jacobian determinant on element ",id); 3120 3120 } 3121 } 3122 /*}}}*/ 3123 /*FUNCTION GetJacobianInvert {{{1*/ 3124 #undef __FUNCT__ 3125 #define __FUNCT__ "Penta::GetJacobianInvert" 3126 void Penta::GetJacobianInvert(double* Jinv, double* xyz_list,double* gauss_coord){ 3127 3128 double Jdet; 3129 const int NDOF3=3; 3130 3131 /*Call Jacobian routine to get the jacobian:*/ 3132 GetJacobian(Jinv, xyz_list, gauss_coord); 3133 3134 /*Invert Jacobian matrix: */ 3135 MatrixInverse(Jinv,NDOF3,NDOF3,NULL,0,&Jdet); 3121 3136 } 3122 3137 /*}}}*/ … … 3337 3352 } 3338 3353 /*}}}*/ 3354 /*FUNCTION GetMatPar {{{1*/ 3355 void* Penta::GetMatPar(){ 3356 return matpar; 3357 } 3358 /*}}}*/ 3339 3359 /*FUNCTION GetMatrixInvert {{{1*/ 3340 3360 #undef __FUNCT__ … … 3377 3397 } 3378 3398 /*}}}*/ 3399 /*FUNCTION GetNodalFunctions {{{1*/ 3400 #undef __FUNCT__ 3401 #define __FUNCT__ "Penta::GetNodalFunctions" 3402 void Penta::GetNodalFunctions(double* l1l6, double* gauss_coord){ 3403 3404 /*This routine returns the values of the nodal functions at the gaussian point.*/ 3405 3406 l1l6[0]=gauss_coord[0]*(1-gauss_coord[3])/2.0; 3407 3408 l1l6[1]=gauss_coord[1]*(1-gauss_coord[3])/2.0; 3409 3410 l1l6[2]=gauss_coord[2]*(1-gauss_coord[3])/2.0; 3411 3412 l1l6[3]=gauss_coord[0]*(1+gauss_coord[3])/2.0; 3413 3414 l1l6[4]=gauss_coord[1]*(1+gauss_coord[3])/2.0; 3415 3416 l1l6[5]=gauss_coord[2]*(1+gauss_coord[3])/2.0; 3417 3418 } 3419 /*}}}*/ 3379 3420 /*FUNCTION GetNodalFunctionsDerivatives {{{1*/ 3380 3421 #undef __FUNCT__ … … 3576 3617 l1l7[6]=27*gauss_coord[0]*gauss_coord[1]*gauss_coord[2]*(1.0+gauss_coord[3])*(1.0-gauss_coord[3]); 3577 3618 3619 } 3620 /*}}}*/ 3621 /*FUNCTION GetNodes {{{1*/ 3622 void Penta::GetNodes(void** vpnodes){ 3623 int i; 3624 Node** pnodes=(Node**)vpnodes; 3625 3626 for(i=0;i<6;i++){ 3627 pnodes[i]=nodes[i]; 3628 } 3629 } 3630 /*}}}*/ 3631 /*FUNCTION GetOnBed {{{1*/ 3632 int Penta::GetOnBed(){ 3633 return onbed; 3578 3634 } 3579 3635 /*}}}*/ … … 3617 3673 3618 3674 *pvalue=l1l6[0]*v_list[0]+l1l6[1]*v_list[1]+l1l6[2]*v_list[2]+l1l6[3]*v_list[3]+l1l6[4]*v_list[4]+l1l6[5]*v_list[5]; 3619 }3620 /*}}}*/3621 /*FUNCTION GetJacobianInvert {{{1*/3622 #undef __FUNCT__3623 #define __FUNCT__ "Penta::GetJacobianInvert"3624 void Penta::GetJacobianInvert(double* Jinv, double* xyz_list,double* gauss_coord){3625 3626 double Jdet;3627 const int NDOF3=3;3628 3629 /*Call Jacobian routine to get the jacobian:*/3630 GetJacobian(Jinv, xyz_list, gauss_coord);3631 3632 /*Invert Jacobian matrix: */3633 MatrixInverse(Jinv,NDOF3,NDOF3,NULL,0,&Jdet);3634 }3635 /*}}}*/3636 /*FUNCTION GetMatPar {{{1*/3637 void* Penta::GetMatPar(){3638 return matpar;3639 }3640 /*}}}*/3641 /*FUNCTION GetNodalFunctions {{{1*/3642 #undef __FUNCT__3643 #define __FUNCT__ "Penta::GetNodalFunctions"3644 void Penta::GetNodalFunctions(double* l1l6, double* gauss_coord){3645 3646 /*This routine returns the values of the nodal functions at the gaussian point.*/3647 3648 l1l6[0]=gauss_coord[0]*(1-gauss_coord[3])/2.0;3649 3650 l1l6[1]=gauss_coord[1]*(1-gauss_coord[3])/2.0;3651 3652 l1l6[2]=gauss_coord[2]*(1-gauss_coord[3])/2.0;3653 3654 l1l6[3]=gauss_coord[0]*(1+gauss_coord[3])/2.0;3655 3656 l1l6[4]=gauss_coord[1]*(1+gauss_coord[3])/2.0;3657 3658 l1l6[5]=gauss_coord[2]*(1+gauss_coord[3])/2.0;3659 3660 }3661 /*}}}*/3662 /*FUNCTION GetNodes {{{1*/3663 void Penta::GetNodes(void** vpnodes){3664 int i;3665 Node** pnodes=(Node**)vpnodes;3666 3667 for(i=0;i<6;i++){3668 pnodes[i]=nodes[i];3669 }3670 }3671 /*}}}*/3672 /*FUNCTION GetOnBed {{{1*/3673 int Penta::GetOnBed(){3674 return onbed;3675 3675 } 3676 3676 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.