Changeset 27161 for issm/trunk-jpl/src/c/classes/Loads/Friction.cpp
- Timestamp:
- 07/18/22 12:42:48 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Loads/Friction.cpp
r26676 r27161 749 749 * C |u_b|^(m-1) 750 750 * alpha2= __________________________ 751 * (1+(C/(Cmax N ))^1/m |u_b| )^m751 * (1+(C/(Cmax Neff))^1/m |u_b| )^m 752 752 * 753 753 * */ … … 764 764 C = coeff*coeff; 765 765 766 /*Get effective pressure and velocity magnitude*/ 767 IssmDouble N = EffectivePressure(gauss); 766 /*Get effective pressure*/ 767 bool ispwStochastic; 768 IssmDouble Neff; 769 element->parameters->FindParam(&ispwStochastic,StochasticForcingIsWaterPressureEnum); 770 if(ispwStochastic){ 771 /*Retrieve stochastic water pressure and compute ice pressure*/ 772 IssmDouble p_ice,p_water,Neff_limit; 773 element->GetInputValue(&p_water,gauss,FrictionSchoofWaterPressureEnum); 774 element->parameters->FindParam(&Neff_limit,FrictionEffectivePressureLimitEnum); 775 p_ice = IcePressure(gauss); 776 Neff = max(Neff_limit*p_ice, p_ice - p_water); 777 } 778 else{ 779 /*Compute effective pressure directly*/ 780 Neff = EffectivePressure(gauss); 781 } 782 783 /*Get velocity magnitude*/ 768 784 IssmDouble ub = VelMag(gauss); 769 785 770 786 /*Compute alpha^2*/ 771 if((ub<1e-10) ||(N ==0.0)){787 if((ub<1e-10) ||(Neff==0.0)){ 772 788 alpha2 = 0.; 773 789 } 774 790 else{ 775 alpha2= (C*pow(ub,m-1.)) / pow(1.+ pow(C/(Cmax*N ),1./m)*ub,m);791 alpha2= (C*pow(ub,m-1.)) / pow(1.+ pow(C/(Cmax*Neff),1./m)*ub,m); 776 792 } 777 793
Note:
See TracChangeset
for help on using the changeset viewer.