Changeset 22290
- Timestamp:
- 12/01/17 11:00:09 (7 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r22199 r22290 78 78 iomodel->FetchDataToInput(elements,"md.calving.stress_threshold_groundedice",CalvingStressThresholdGroundediceEnum); 79 79 iomodel->FetchDataToInput(elements,"md.calving.stress_threshold_floatingice",CalvingStressThresholdFloatingiceEnum); 80 iomodel->FetchDataToInput(elements,"md.calving.meltingrate",CalvingMeltingrateEnum); 80 81 break; 81 82 default: … … 271 272 if(dim==2) lsf_slopey_input = basalelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input); 272 273 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); 274 275 break; 275 276 default: … … 414 415 if(dim==2) lsf_slopey_input->GetInputValue(&dlsf[1],gauss); 415 416 calvingrate_input->GetInputValue(&calvingrate,gauss); 417 meltingrate_input->GetInputValue(&meltingrate,gauss); 416 418 gr_input->GetInputValue(&groundedice,gauss); 417 419 … … 438 440 for(i=0;i<dim;i++){ 439 441 c[i]=calvingrate*dlsf[i]/norm_dlsf; 440 m[i]= 0.;442 m[i]=meltingrate*dlsf[i]/norm_dlsf; 441 443 } 442 444 else -
issm/trunk-jpl/src/m/classes/calvingdev2.m
r22207 r22290 9 9 stress_threshold_floatingice = 0.; 10 10 height_above_floatation = 0.; 11 meltingrate = NaN; 11 12 end 12 13 methods … … 30 31 end % }}} 31 32 function self = extrude(self,md) % {{{ 32 %extrude here33 self.meltingrate=project3d(md,'vector',self.meltingrate,'type','node'); 33 34 end % }}} 34 35 function self = setdefaultparameters(self) % {{{ 35 36 36 37 %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.; 40 42 end % }}} 41 43 function md = checkconsistency(self,md,solution,analyses) % {{{ … … 46 48 md = checkfield(md,'fieldname','calving.stress_threshold_floatingice','>',0,'nan',1,'Inf',1); 47 49 md = checkfield(md,'fieldname','calving.height_above_floatation','<=',0); 48 50 md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'timeseries',1,'>=',0); 49 51 end % }}} 50 52 function disp(self) % {{{ … … 53 55 fielddisplay(self,'stress_threshold_floatingice','sigma_max applied to floating ice only [Pa]'); 54 56 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]'); 56 58 end % }}} 57 59 function marshall(self,prefix,md,fid) % {{{ … … 61 63 WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1, 'yts', md.constants.yts); 62 64 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); 63 66 end % }}} 64 67 end
Note:
See TracChangeset
for help on using the changeset viewer.