Changeset 23824


Ignore:
Timestamp:
04/06/19 21:14:11 (6 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added min_thickness field to calving VM (not implemented in C++ yet)

Location:
issm/trunk-jpl/src/m/classes
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/m/classes/calvingminthickness.m

    r23652 r23824  
    3939                        if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
    4040
    41                         md = checkfield(md,'fieldname','calving.min_thickness','>',0,'NaN',1,'Inf',1);
     41                        md = checkfield(md,'fieldname','calving.min_thickness','>',0,'NaN',1,'Inf',1,'numel',1);
    4242                end % }}}
    4343                function disp(self) % {{{
    4444                        disp(sprintf('   Calving Minimum thickness:'));
    45                         fielddisplay(self,'min_thickness','minimum thickness below which no ice is allowed');
     45                        fielddisplay(self,'min_thickness','minimum thickness below which no ice is allowed [m]');
    4646
    4747                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/calvingvonmises.m

    r23652 r23824  
    99                stress_threshold_floatingice = 0.;
    1010                meltingrate=NaN;
     11                min_thickness = 0.;
    1112        end
    1213        methods
     
    3637                        self.stress_threshold_groundedice = 1e6;
    3738                        self.stress_threshold_floatingice = 150e3;
     39
     40                        %For now we turn this off by setting the threshold to 0
     41                        self.min_thickness = 0.;
    3842                end % }}}
    3943                function md = checkconsistency(self,md,solution,analyses) % {{{
     
    4347                        md = checkfield(md,'fieldname','calving.stress_threshold_groundedice','>',0,'nan',1,'Inf',1);
    4448                        md = checkfield(md,'fieldname','calving.stress_threshold_floatingice','>',0,'nan',1,'Inf',1);
     49                        md = checkfield(md,'fieldname','calving.min_thickness','>=',0,'NaN',1,'Inf',1,'numel',1);
    4550                end % }}}
    4651                function disp(self) % {{{
     
    4853                        fielddisplay(self,'stress_threshold_groundedice','sigma_max applied to grounded ice only [Pa]');
    4954                        fielddisplay(self,'stress_threshold_floatingice','sigma_max applied to floating ice only [Pa]');
     55                        fielddisplay(self,'min_thickness','minimum thickness below which no ice is allowed [m]');
    5056
    5157                end % }}}
     
    5561                        WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_groundedice','format','DoubleMat','mattype',1);
    5662                        WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','DoubleMat','mattype',1);
     63                        WriteData(fid,prefix,'object',self,'fieldname','min_thickness','format','Double');
    5764                end % }}}
    5865        end
  • TabularUnified issm/trunk-jpl/src/m/classes/calvingvonmises.py

    r23658 r23824  
    1717                self.stress_threshold_floatingice = 0.
    1818                self.meltingrate   = float('NaN')
     19                self.min_thickness = 0.
    1920
    2021                #set defaults
     
    2627                string="%s\n%s"%(string,fielddisplay(self,'stress_threshold_groundedice','sigma_max applied to grounded ice only [Pa]'))
    2728                string="%s\n%s"%(string,fielddisplay(self,'stress_threshold_floatingice','sigma_max applied to floating ice only [Pa]'))
     29                string="%s\n%s"%(string,fielddisplay(self,'min_thickness','minimum thickness below which no ice is allowed [m]'))
    2830
    2931                return string
     
    3638                self.stress_threshold_groundedice = 1e6
    3739                self.stress_threshold_floatingice = 150e3
     40
     41                #turn off min_thickness by default.
     42                self.min_thickness=0.
    3843                return self
    3944        #}}}
     
    4550                md = checkfield(md,'fieldname','calving.stress_threshold_groundedice','>',0,'nan',1,'Inf',1)
    4651                md = checkfield(md,'fieldname','calving.stress_threshold_floatingice','>',0,'nan',1,'Inf',1)
     52                md = checkfield(md,'fieldname','calving.min_thickness','>=',0,'NaN',1,'Inf',1,'numel',[1]);
    4753
    4854                return md
     
    5460                WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_groundedice','format','DoubleMat','mattype',1)
    5561                WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','DoubleMat','mattype',1)
     62                WriteData(fid,prefix,'object',self,'fieldname','min_thickness','format','Double');
    5663        # }}}
Note: See TracChangeset for help on using the changeset viewer.