Changeset 27164


Ignore:
Timestamp:
07/28/22 06:53:10 (3 years ago)
Author:
vverjans
Message:

CHG frictioncoulomb uses effective presure instead of thickness above floatation

Location:
issm/trunk-jpl/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Loads/Friction.cpp

    r27161 r27164  
    321321
    322322        /*This routine calculates the basal friction coefficient
    323           alpha2= drag^2 * Neff ^r * | vel | ^(s-1), with Neff=rho_ice*g*thickness+rho_ice*g*base, r=q/p and s=1/p**/
     323          alpha2= drag^2 * Neff ^r * | vel | ^(s-1), with Neff=rho_ice*g*thickness+rho_ice*g*base, r=q/p and s=1/p
     324          alpha2= min(drag^2 * Neff ^r * | vel | ^(s-1), drag_coulomb^2 * Neff*/
    324325
    325326        /*diverse: */
    326327        IssmDouble  r,s;
    327328        IssmDouble  drag_p, drag_q;
    328         IssmDouble  thickness,base,floatation_thickness,sealevel;
    329329        IssmDouble  drag_coefficient,drag_coefficient_coulomb;
    330330        IssmDouble  alpha2,alpha2_coulomb;
     
    333333        element->GetInputValue(&drag_p,gauss,FrictionPEnum);
    334334        element->GetInputValue(&drag_q,gauss,FrictionQEnum);
    335         element->GetInputValue(&thickness, gauss,ThicknessEnum);
    336         element->GetInputValue(&base, gauss,BaseEnum);
    337         element->GetInputValue(&sealevel, gauss,SealevelEnum);
    338335        element->GetInputValue(&drag_coefficient, gauss,FrictionCoefficientEnum);
    339336        element->GetInputValue(&drag_coefficient_coulomb, gauss,FrictionCoefficientcoulombEnum);
     
    360357        }
    361358
    362         floatation_thickness=0;
    363         if(base<0) floatation_thickness=-(rho_water/rho_ice)*base;
    364359        if(vmag==0.){
    365360                alpha2_coulomb=0.;
    366361        }
    367362        else{
    368                 alpha2_coulomb=drag_coefficient_coulomb*drag_coefficient_coulomb*rho_ice*gravity*max(0.,thickness-floatation_thickness)/vmag;
     363                //alpha2_coulomb=drag_coefficient_coulomb*drag_coefficient_coulomb*rho_ice*gravity*max(0.,thickness-floatation_thickness)/vmag;
     364                alpha2_coulomb=drag_coefficient_coulomb*drag_coefficient_coulomb*Neff/vmag;
    369365        }
    370366
  • issm/trunk-jpl/src/m/classes/frictioncoulomb.m

    r24666 r27164  
    6464                end % }}}
    6565                function disp(self) % {{{
    66                         disp(sprintf('Basal shear stress parameters: Sigma_b = min( coefficient^2 * Neff ^r * |u_b|^(s-1) * u_b\n, coefficientcoulomb^2 * rho_i * g * (h-h_f)) (effective stress Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p, floatation thickness h_f=max(0,-rho_sw / rho_i * bed))'));
     66                        disp(sprintf('Basal shear stress parameters: Sigma_b = min( coefficient^2 * Neff ^r * |u_b|^(s-1) * u_b\n, coefficientcoulomb^2 * Neff) (effective stress Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p, floatation thickness h_f=max(0,-rho_sw / rho_i * bed))'));
    6767                        fielddisplay(self,'coefficient','power law (Weertman) friction coefficient [SI]');
    6868                        fielddisplay(self,'coefficientcoulomb','Coulomb friction coefficient [SI]');
  • issm/trunk-jpl/src/m/classes/frictioncoulomb.py

    r25688 r27164  
    2828    def __repr__(self):  # {{{
    2929        s = 'Basal shear stress parameters: Sigma_b = min(coefficient^2 * Neff ^r * |u_b|^(s - 1) * u_b,\n'
    30         s += 'coefficientcoulomb^2 * rho_i * g * (h - h_f)), (effective stress Neff = rho_ice * g * thickness + rho_water * g * bed, r = q / p and s = 1 / p).\n'
     30        s += 'coefficientcoulomb^2 * Neff), (effective stress Neff = rho_ice * g * thickness + rho_water * g * bed, r = q / p and s = 1 / p).\n'
    3131        s += '{}\n'.format(fielddisplay(self, "coefficient", "power law (Weertman) friction coefficient [SI]"))
    3232        s += '{}\n'.format(fielddisplay(self, "coefficientcoulomb", "Coulomb friction coefficient [SI]"))
Note: See TracChangeset for help on using the changeset viewer.