Changeset 22290


Ignore:
Timestamp:
12/01/17 11:00:09 (7 years ago)
Author:
jbondzio
Message:

ADD: adding frontal melting rate for calvingdev

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

Legend:

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

    r22199 r22290  
    7878                        iomodel->FetchDataToInput(elements,"md.calving.stress_threshold_groundedice",CalvingStressThresholdGroundediceEnum);
    7979                        iomodel->FetchDataToInput(elements,"md.calving.stress_threshold_floatingice",CalvingStressThresholdFloatingiceEnum);
     80                        iomodel->FetchDataToInput(elements,"md.calving.meltingrate",CalvingMeltingrateEnum);
    8081                        break;
    8182                default:
     
    271272                        if(dim==2) lsf_slopey_input  = basalelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
    272273                        calvingrate_input = basalelement->GetInput(CalvingCalvingrateEnum);     _assert_(calvingrate_input);
    273                         gr_input=basalelement->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
     274                        meltingrate_input = basalelement->GetInput(CalvingMeltingrateEnum);     _assert_(meltingrate_input);
    274275                        break;
    275276                default:
     
    414415                                if(dim==2) lsf_slopey_input->GetInputValue(&dlsf[1],gauss);
    415416                                calvingrate_input->GetInputValue(&calvingrate,gauss);
     417                                meltingrate_input->GetInputValue(&meltingrate,gauss);
    416418                                gr_input->GetInputValue(&groundedice,gauss);
    417419
     
    438440                                 for(i=0;i<dim;i++){
    439441                                         c[i]=calvingrate*dlsf[i]/norm_dlsf;
    440                                          m[i]=0.;
     442                                         m[i]=meltingrate*dlsf[i]/norm_dlsf;
    441443                                 }
    442444                                else
  • issm/trunk-jpl/src/m/classes/calvingdev2.m

    r22207 r22290  
    99                stress_threshold_floatingice = 0.;
    1010                height_above_floatation = 0.;
     11                meltingrate   = NaN;
    1112        end
    1213        methods
     
    3031                end % }}}
    3132                function self = extrude(self,md) % {{{
    32                         %extrude here
     33                        self.meltingrate=project3d(md,'vector',self.meltingrate,'type','node');
    3334                end % }}}
    3435                function self = setdefaultparameters(self) % {{{
    3536
    3637                        %Default sigma max
    37                         self.stress_threshold_groundedice = 1e6;
    38                         self.stress_threshold_floatingice = 150e3;
    39                         self.height_above_floatation= 0;
     38                        self.stress_threshold_groundedice = 1.e6;
     39                        self.stress_threshold_floatingice = 150.e3;
     40                        self.height_above_floatation= 0.;
     41                        self.meltingrate= 0.;
    4042                end % }}}
    4143                function md = checkconsistency(self,md,solution,analyses) % {{{
     
    4648                        md = checkfield(md,'fieldname','calving.stress_threshold_floatingice','>',0,'nan',1,'Inf',1);
    4749                        md = checkfield(md,'fieldname','calving.height_above_floatation','<=',0);
    48 
     50                        md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'timeseries',1,'>=',0);
    4951                end % }}}
    5052                function disp(self) % {{{
     
    5355                        fielddisplay(self,'stress_threshold_floatingice','sigma_max applied to floating ice only [Pa]');
    5456                        fielddisplay(self,'height_above_floatation','height above floatation that the ice tongue must reach before it can calve [m]');
    55 
     57                        fielddisplay(self,'meltingrate','frontal undercutting melting rate at given location [m/a]');
    5658                end % }}}
    5759                function marshall(self,prefix,md,fid) % {{{
     
    6163                        WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1, 'yts', md.constants.yts);
    6264                        WriteData(fid,prefix,'object',self,'fieldname','height_above_floatation', 'format','Double');
     65                        WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
    6366                end % }}}
    6467        end
Note: See TracChangeset for help on using the changeset viewer.