Changeset 5785 for issm/trunk/src/c/objects/Elements/Penta.cpp
- Timestamp:
- 09/13/10 15:59:12 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Elements/Penta.cpp
r5772 r5785 3577 3577 double du[3]; 3578 3578 double dv[3]; 3579 double dudx,dvdy; 3579 double dw[3]; 3580 double dudx,dvdy,dwdz; 3581 3582 /*Get some parameters*/ 3583 int approximation; 3580 3584 3581 3585 /*If on water, skip: */ 3582 3586 if(IsOnWater())return; 3587 inputs->GetParameterValue(&approximation,ApproximationEnum); 3583 3588 3584 3589 /*If we are on the bedrock, spawn a tria on the bedrock, and use it to build the … … 3598 3603 Input* vx_input=inputs->GetInput(VxEnum); ISSMASSERT(vx_input); 3599 3604 Input* vy_input=inputs->GetInput(VyEnum); ISSMASSERT(vy_input); 3605 Input* vz_input=NULL; 3606 if(approximation==PattynStokesApproximationEnum){ 3607 vz_input=inputs->GetInput(VzEnum); ISSMASSERT(vz_input); 3608 } 3600 3609 3601 3610 /* Start looping on the number of gaussian points: */ … … 3608 3617 vx_input->GetParameterDerivativeValue(&du[0],&xyz_list[0][0],gauss); 3609 3618 vy_input->GetParameterDerivativeValue(&dv[0],&xyz_list[0][0],gauss); 3619 if(approximation==PattynStokesApproximationEnum){ 3620 vz_input->GetParameterDerivativeValue(&dw[0],&xyz_list[0][0],gauss); 3621 dwdz=dw[2]; 3622 } 3623 else dwdz=0; 3610 3624 dudx=du[0]; 3611 3625 dvdy=dv[1]; … … 3619 3633 /*Build pe_g_gaussian vector: */ 3620 3634 for (i=0;i<NUMVERTICES;i++){ 3621 pe_g_gaussian[i]=(dudx+dvdy )*Jdet*gauss->weight*l1l6[i];3635 pe_g_gaussian[i]=(dudx+dvdy+dwdz)*Jdet*gauss->weight*l1l6[i]; 3622 3636 } 3623 3637
Note:
See TracChangeset
for help on using the changeset viewer.