Ignore:
Timestamp:
05/26/21 17:29:06 (4 years ago)
Author:
tsantos
Message:

CHG: added viscosity computation for Mono Layer Higher Order model, and added penalty methods for L1L2 and Mono Layer model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Materials/Matice.cpp

    r25911 r26292  
    736736        *pviscosity=viscosity;
    737737}/*}}}*/
     738void  Matice::ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input){/*{{{*/
     739
     740        /*Intermediaries*/
     741        IssmDouble viscosity;
     742        IssmDouble thickness;
     743        IssmDouble epsilon[5];  /* epsilon=[exx,eyy,exy,exz,eyz]; */
     744        IssmDouble eps_eff;
     745
     746        /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy */
     747        element->StrainRateMLHO(&epsilon[0],xyz_list,gauss,vx_input,vy_input,vxshear_input,vyshear_input,thickness_input);
     748        eps_eff = sqrt(epsilon[0]*epsilon[0] + epsilon[1]*epsilon[1] + epsilon[2]*epsilon[2] +  epsilon[3]*epsilon[3] + epsilon[4]*epsilon[4] + epsilon[0]*epsilon[1]);
     749
     750        /*Get viscosity*/
     751        this->GetViscosityBar(&viscosity,eps_eff,gauss);
     752
     753        /*Assign output pointer*/
     754   *pviscosity=viscosity;
     755}/*}}}*/
    738756void  Matice::ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surface_input){/*{{{*/
    739757        /*Compute the L1L2 viscosity
Note: See TracChangeset for help on using the changeset viewer.