Changeset 17949
- Timestamp:
- 05/06/14 13:45:41 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17946 r17949 212 212 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum); 213 213 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum); 214 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 214 215 iomodel->FetchDataToInput(elements,VxEnum,0.); 215 216 if(dakota_analysis)elements->InputDuplicate(VxEnum,QmuVxEnum); … … 3597 3598 element->TransformLoadVectorCoord(pe,cs_list); 3598 3599 3600 /* shelf dampening*/ 3601 int shelf_dampening; 3602 element->FindParam(&shelf_dampening,StressbalanceShelfDampeningEnum); 3603 if(shelf_dampening) { 3604 Input* mb_input=element->GetInput(BasalforcingsMeltingRateEnum); _assert_(mb_input); 3605 IssmDouble dt,mb,normal_b; 3606 element->FindParam(&dt,TimesteppingTimeStepEnum); 3607 for(int ig=gauss->begin();ig<gauss->end();ig++){ 3608 gauss->GaussPoint(ig); 3609 element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss); 3610 element->NodalFunctionsVelocity(vbasis,gauss); 3611 element->NormalBase(&normal[0],xyz_list_base); 3612 if (dim==2) normal_b=normal[1]; 3613 else if (dim==3) normal_b=sqrt(normal[0]*normal[0]+normal[1]*normal[1]); 3614 mb_input->GetInputValue(&mb, gauss); 3615 for(i=0;i<vnumnodes;i++){ 3616 pe->values[i*dim+1] += dt*rho_water*gravity*mb*gauss->weight*Jdet*vbasis[i]*normal_b; 3617 } 3618 } 3619 } 3620 3599 3621 /*Clean up and return*/ 3600 3622 delete gauss;
Note:
See TracChangeset
for help on using the changeset viewer.