Changeset 17882


Ignore:
Timestamp:
04/29/14 14:14:29 (11 years ago)
Author:
bdef
Message:

CHG:reverting hydroshreve from Johnson to LeBrocq

Location:
issm/trunk-jpl/src/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp

    r17700 r17882  
    331331        IssmDouble  rho_water = element->GetMaterialParameter(MaterialsRhoWaterEnum);
    332332        IssmDouble  g         = element->GetMaterialParameter(ConstantsGEnum);
    333         IssmDouble  CR        = element->GetMaterialParameter(HydrologyshreveCREnum);
    334         IssmDouble  n_man     = element->GetMaterialParameter(HydrologyshreveNEnum);
    335333        IssmDouble  mu_water  = element->GetMaterialParameter(MaterialsMuWaterEnum);
    336334        Input* surfaceslopex_input = element->GetInput(SurfaceSlopeXEnum); _assert_(surfaceslopex_input);
     
    339337        Input* bedslopey_input     = element->GetInput(BedSlopeYEnum);     _assert_(bedslopey_input);
    340338        Input* watercolumn_input   = element->GetInput(WatercolumnEnum);   _assert_(watercolumn_input);
    341 
    342         /* compute VelocityFactor */
    343         IssmDouble VelocityFactor = n_man*CR*CR*rho_water*g/mu_water;
    344339
    345340        /*Fetch number of vertices and allocate output*/
     
    358353
    359354                /* Water velocity x and y components */
    360         //      vx[iv]= - w*w/(12 * mu_water)*(rho_ice*g*dsdx+(rho_water-rho_ice)*g*dbdx);
    361         //      vy[iv]= - w*w/(12 * mu_water)*(rho_ice*g*dsdy+(rho_water-rho_ice)*g*dbdy);
    362                 vx[iv]= - w*w/(VelocityFactor* mu_water)*(rho_ice*g*dsdx+(rho_water-rho_ice)*g*dbdx);
    363                 vy[iv]= - w*w/(VelocityFactor* mu_water)*(rho_ice*g*dsdy+(rho_water-rho_ice)*g*dbdy);
     355                vx[iv]= - w*w/(12 * mu_water)*(rho_ice*g*dsdx+(rho_water-rho_ice)*g*dbdx);
     356                vy[iv]= - w*w/(12 * mu_water)*(rho_ice*g*dsdy+(rho_water-rho_ice)*g*dbdy);
    364357        }
    365358
     
    373366        xDelete<IssmDouble>(vy);
    374367}/*}}}*/
     368
     369
     370
     371/*Needed changes to switch to the Johnson formulation*//*{{{*/
     372/*All the changes are to be done in the velocity computation.
     373        The new velocity needs some new parameter that should be introduce in the hydrologyshreve class:
     374        'p' and 'q' which are the exponent of the Manning formula for laminar (p=2,q=1) or turbulent (p=2/3,q=1/2) flow
     375        'R' the hydraulic radius
     376        'n' the manning roughness coeficient
     377
     378        With these, the velocity reads ;
     379
     380        v= - (1/n)* pow(R,p)*pow((grad phi(rho_water*g)),q)
     381
     382        you should also redefine the water pressure potential 'phi' with respect to the effective pressure deffinition given in Johson:
     383        phi=(rho_ice*g*( surface + ((rho_water/rho_ice)-1)*base - k_n*((thickness* grad(base))/omega) )
     384
     385        where
     386        'omega' is the fractional area of the base occupied by the water film
     387        'k_n' is a parameter
     388        This last equation derives from the effective pressure definition developped in Alley 1989
     389*/
     390/*}}}*/
  • TabularUnified issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp

    r17738 r17882  
    6060                        _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
    6161        }
    62 
    63         if(hydrology_model==HydrologyshreveEnum){
    64                 iomodel->Constant(&this->hydro_CR,HydrologyshreveCREnum);
    65                 iomodel->Constant(&this->hydro_kn,HydrologyshreveKnEnum);
    66                 iomodel->Constant(&this->hydro_n,HydrologyshreveNEnum);
    67                 iomodel->Constant(&this->hydro_p,HydrologyshrevePEnum);
    68                 iomodel->Constant(&this->hydro_q,HydrologyshreveQEnum);
    69         }
    70         else if(hydrology_model==HydrologydcEnum){
     62        if(hydrology_model==HydrologydcEnum){
    7163                iomodel->Constant(&this->sediment_compressibility,HydrologydcSedimentCompressibilityEnum);
    7264                iomodel->Constant(&this->sediment_porosity,HydrologydcSedimentPorosityEnum);
Note: See TracChangeset for help on using the changeset viewer.