Changeset 26491


Ignore:
Timestamp:
10/19/21 14:15:16 (3 years ago)
Author:
aleahsommers
Message:

CHG: includes diffusivity-like term for gap height - this is an experiment

File:
1 edited

Legend:

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

    r26490 r26491  
    272272   IssmDouble  PMPheat,dpressure_water[2],dbed[2];     
    273273        IssmDouble* xyz_list = NULL;
    274         IssmDouble dgap[2]; /***/
     274        IssmDouble dgapxx; /***/
     275        IssmDouble dgapyy; /***/
    275276
    276277        /*Fetch number of nodes and dof for this finite element*/
     
    298299        Input* br_input             = element->GetInput(HydrologyBumpHeightEnum);        _assert_(br_input);
    299300   Input* headold_input        = element->GetInput(HydrologyHeadOldEnum);           _assert_(headold_input);
    300 //      Input* dgapxx_input         = element->GetInput(HydrologyGapXXEnum); /***/
    301 //      Input* dgapyy_input         = element->GetInput(HydrologyGapYYEnum); /***/
     301        Input* dgapxx_input         = element->GetInput(HydrologyGapHeightXXEnum); /***/
     302        Input* dgapyy_input         = element->GetInput(HydrologyGapHeightYYEnum); /***/
    302303
    303304        /*Get conductivity from inputs*/
     
    329330                br_input->GetInputValue(&br,gauss);
    330331                headold_input->GetInputValue(&head_old,gauss);
     332                dgapxx_input->GetInputValue(&dgapxx,gauss); /***/
     333                dgapyy_input->GetInputValue(&dgapyy,gauss); /***/
    331334
    332335                /*Get ice A parameter*/
     
    382385
    383386                 /* With weighted creep term*/
    384                  for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*
    385                   (
    386                    meltrate*(1/rho_water-1/rho_ice)
    387                    +A*pow(fabs(pressure_ice - pressure_water),n-1)*(pressure_ice + rho_water*g*bed)*gap
    388                    +(n-1)*A*pow(fabs(pressure_ice - pressure_water),n-1)*(rho_water*g*head)*gap
    389                    -beta*sqrt(vx*vx+vy*vy)
    390                    +ieb
    391                    +storage*head_old/dt
    392                    )*basis[i];
     387//                 for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*
     388 //                 (
     389  //                 meltrate*(1/rho_water-1/rho_ice)
     390   //                +A*pow(fabs(pressure_ice - pressure_water),n-1)*(pressure_ice + rho_water*g*bed)*gap
     391    //               +(n-1)*A*pow(fabs(pressure_ice - pressure_water),n-1)*(rho_water*g*head)*gap
     392     //              -beta*sqrt(vx*vx+vy*vy)
     393      //             +ieb
     394       //            +storage*head_old/dt
     395        //           )*basis[i];
     396
     397                 /* With weighted creep term*/
     398                  for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*
     399                   (
     400                    meltrate*(1/rho_water-1/rho_ice)
     401                    +A*pow(fabs(pressure_ice - pressure_water),n-1)*(pressure_ice + rho_water*g*bed)*gap
     402                    +(n-1)*A*pow(fabs(pressure_ice - pressure_water),n-1)*(rho_water*g*head)*gap
     403                    -beta*sqrt(vx*vx+vy*vy)
     404                    +ieb
     405                    +storage*head_old/dt
     406                    +meltrate*gap/rho_ice*(dgapxx+dgapyy)
     407                    )*basis[i];
    393408
    394409       
     
    548563        IssmDouble q = 0.;
    549564   IssmDouble channelization = 0.;
     565        IssmDouble dgapxx; /***/
     566        IssmDouble dgapyy; /***/
    550567
    551568        /*Retrieve all inputs and parameters*/
     
    565582        Input* lr_input             = element->GetInput(HydrologyBumpSpacingEnum);       _assert_(lr_input);
    566583        Input* br_input             = element->GetInput(HydrologyBumpHeightEnum);        _assert_(br_input);
     584        Input* dgapxx_input         = element->GetInput(HydrologyGapHeightXXEnum); /***/
     585        Input* dgapyy_input         = element->GetInput(HydrologyGapHeightYYEnum); /***/
    567586
    568587        /*Get conductivity from inputs*/
     
    590609                lr_input->GetInputValue(&lr,gauss);
    591610                br_input->GetInputValue(&br,gauss);
     611                dgapxx_input->GetInputValue(&dgapxx,gauss); /***/
     612                dgapyy_input->GetInputValue(&dgapyy,gauss); /***/
    592613
    593614                /*Get ice A parameter*/
     
    628649                _assert_(meltrate>0.);
    629650
    630                 newgap += gauss->weight*Jdet*(gap+dt*(
    631                                         meltrate/rho_ice
    632                                         -A*pow(fabs(pressure_ice-pressure_water),n-1)*(pressure_ice-pressure_water)*gap
    633                                         +beta*sqrt(vx*vx+vy*vy)
    634                                         ));
     651//              newgap += gauss->weight*Jdet*(gap+dt*(
     652//                                      meltrate/rho_ice
     653//                                      -A*pow(fabs(pressure_ice-pressure_water),n-1)*(pressure_ice-pressure_water)*gap
     654//                                      +beta*sqrt(vx*vx+vy*vy)
     655//                                      ));
    635656
    636657                /* TEST with gap height "diffusivity" for melting walls - not yet completed*/
    637 //                newgap += gauss->weight*Jdet*(gap+dt*(
    638 //                                         meltrate/rho_ice
    639 //                                         -A*pow(fabs(pressure_ice-pressure_water),n-1)*(pressure_ice-pressure_water)*lc
    640 //                                         +beta*sqrt(vx*vx+vy*vy)
    641 //                                       +(meltrate*gap/rho_ice*(dgapxx+dgapyy))
    642 //                                         ));
     658                newgap += gauss->weight*Jdet*(gap+dt*(
     659                                         meltrate/rho_ice
     660                                         -A*pow(fabs(pressure_ice-pressure_water),n-1)*(pressure_ice-pressure_water)*lc
     661                                         +beta*sqrt(vx*vx+vy*vy)
     662                                         +(meltrate*gap/rho_ice*(dgapxx+dgapyy))
     663                                         ));
    643664
    644665
Note: See TracChangeset for help on using the changeset viewer.