- Timestamp:
- 12/22/17 10:10:23 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp ¶
r22284 r22308 522 522 int iseplthickcomp; 523 523 int domaintype; 524 IssmDouble dt,A ,B;524 IssmDouble dt,A; 525 525 IssmDouble EPLgrad2; 526 526 IssmDouble EPL_N; … … 534 534 Element* element=(Element*)femmodel->elements->GetObjectByOffset(j); 535 535 536 switch(domaintype){ 537 case Domain2DhorizontalEnum: 538 if(!element->IsOnBase()) return; 539 B = element->GetMaterialParameter(MaterialsRheologyBbarEnum); 540 break; 541 case Domain3DEnum: 542 B = element->GetMaterialParameter(MaterialsRheologyBEnum); 543 break; 544 default: 545 _error_("not Implemented Yet"); 546 } 536 /*skip element if 3d and not on base*/ 537 if(domaintype==Domain3DEnum && !element->IsOnBase()) continue; 547 538 548 539 int numnodes = element->GetNumberOfNodes(); 549 540 IssmDouble* thickness = xNew<IssmDouble>(numnodes); 541 IssmDouble* B = xNew<IssmDouble>(numnodes); 550 542 IssmDouble* eplhead = xNew<IssmDouble>(numnodes); 551 543 IssmDouble* epl_slopeX = xNew<IssmDouble>(numnodes); … … 569 561 IssmDouble init_thick = element->GetMaterialParameter(HydrologydcEplInitialThicknessEnum); 570 562 IssmDouble max_thick = element->GetMaterialParameter(HydrologydcEplMaxThicknessEnum); 571 572 A=pow(B,-n); 563 564 switch(domaintype){ 565 case Domain2DhorizontalEnum: element->GetInputListOnVertices(&B[0],MaterialsRheologyBbarEnum); break; 566 case Domain3DEnum: element->GetInputListOnVertices(&B[0],MaterialsRheologyBEnum); break; 567 default: _error_("not Implemented Yet"); 568 } 573 569 574 570 element->GetInputListOnVertices(&eplhead[0],EplHeadEnum); … … 587 583 else{ 588 584 for(int i=0;i<numnodes;i++){ 585 A=pow(B[i],-n); 589 586 /*Compute first the effective pressure in the EPL*/ 590 587 EPL_N=gravity*((rho_ice*ice_thickness[i])-(rho_water*(eplhead[i]-bed[i])));
Note:
See TracChangeset
for help on using the changeset viewer.