Changeset 20307


Ignore:
Timestamp:
03/11/16 13:13:46 (9 years ago)
Author:
Mathieu Morlighem
Message:

CHG: finished calving dev for STore paper

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

Legend:

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

    r19477 r20307  
    197197                switch(calvinglaw){
    198198                        case DefaultCalvingEnum:
     199                        case CalvingDevEnum:
    199200                                lsf_slopex_input  = basalelement->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input);
    200201                                if(dim==2) lsf_slopey_input  = basalelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
     
    236237                                meltingrate_input = basalelement->GetInput(CalvingpiMeltingrateEnum);     _assert_(meltingrate_input);
    237238                                break;
    238                         case CalvingDevEnum:
    239                                 switch(domaintype){
    240                                         case Domain2DverticalEnum:
    241                                                 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    242                                                 break;
    243                                         case Domain2DhorizontalEnum:
    244                                                 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    245                                                 calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    246                                                 break;
    247                                         case Domain3DEnum:
    248                                                 calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    249                                                 calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    250                                                 break;
    251                                         default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
    252                                 }
    253                                 meltingrate_input = basalelement->GetInput(CalvingMeltingrateEnum);     _assert_(meltingrate_input);
    254                                 break;
    255239                        default:
    256240                                _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet");
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r20249 r20307  
    508508        Input* fmb_input           = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
    509509        Input* groundedice_input   = element->GetInput(MaskGroundediceLevelsetEnum);              _assert_(groundedice_input);
    510         Input* ms_input            = element->GetInput(SmbMassBalanceEnum);           _assert_(ms_input);
     510        Input* ms_input            = element->GetInput(SmbMassBalanceEnum);                       _assert_(ms_input);
    511511        Input* thickness_input     = element->GetInput(ThicknessEnum);                            _assert_(thickness_input);
    512512
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r20199 r20307  
    19971997                                        this->CalvingRatePi();
    19981998                                        break;
     1999                                case CalvingDevEnum:
     2000                                        this->CalvingRateDev();
     2001                                        break;
    19992002                                default:
    20002003                                        _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet");
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r20215 r20307  
    350350        IssmDouble  calvingrate[NUMVERTICES];
    351351        IssmDouble  lambda1,lambda2,ex,ey,vx,vy,vel;
    352         IssmDouble  sigma_vm,sigma_max,epse_2;
     352        IssmDouble  sigma_vm,sigma_max,epse_2,groundedice;
    353353
    354354        /* Get node coordinates and dof list: */
     
    358358        Input* vx_input = inputs->GetInput(VxEnum); _assert_(vx_input);
    359359        Input* vy_input = inputs->GetInput(VyEnum); _assert_(vy_input);
     360        Input* gr_input = inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
    360361        IssmDouble  B   = this->GetMaterialParameter(MaterialsRheologyBbarEnum);
    361362        IssmDouble  n   = this->GetMaterialParameter(MaterialsRheologyNEnum);
     
    369370                vx_input->GetInputValue(&vx,gauss);
    370371                vy_input->GetInputValue(&vy,gauss);
     372                gr_input->GetInputValue(&groundedice,gauss);
    371373                vel=sqrt(vx*vx+vy*vy)+1.e-14;
    372374
     
    390392                sigma_max = 450.e+3;
    391393                sigma_max = 800.e+3; //too much
    392                 sigma_max = 700.e+3;
    393                 sigma_max = 670.e+3;
     394                //sigma_max = 700.e+3;
     395                //sigma_max = 670.e+3;
    394396                //sigma_max = 550.e+3;
     397                sigma_max = 750.e+3; //too high
     398                sigma_max = 850.e+3; //too low
     399                sigma_max = 800.e+3; //IUGG previous test
     400                sigma_max = 1000.e+3; //850 seems small
     401
     402                if(groundedice<0) sigma_max=200.e+3;
    395403
    396404                /*Assign values*/
Note: See TracChangeset for help on using the changeset viewer.