Changeset 27853


Ignore:
Timestamp:
07/26/23 01:20:28 (20 months ago)
Author:
rueckamp
Message:

CHG: Adding some options for Debris Analysis

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

Legend:

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

    r27852 r27853  
    1212                removalmodel             = 0;
    1313                displacementmodel        = 0;
     14                max_displacementvelocity = 0;
    1415                removal_slope_threshold  = 0;
    1516                removal_stress_threshold = 0;
     
    6667                function list = defaultoutputs(self,md) % {{{
    6768
    68                         list = {'DebrisThickness'};
     69                        list = {'DebrisThickness','DebrisMaskNodeActivation','VxDebris','VyDebris'};
    6970
    7071                end % }}}
     
    9293                        self.removal_stress_threshold=0;
    9394
     95                        %Max velocity for displacementmodel (1)
     96                        self.max_displacementvelocity=0;
     97
    9498                        %default output
    9599                        self.requested_outputs={'default'};
     
    101105
    102106                        md = checkfield(md,'fieldname','debris.spcthickness');
    103                         md = checkfield(md,'fieldname','debris.stabilization','values',[0 1 2 3]);
     107                        md = checkfield(md,'fieldname','debris.stabilization','values',[0 1 2 3 4 5]);
    104108                        md = checkfield(md,'fieldname','debris.min_thickness','>=',0);
    105109                        md = checkfield(md,'fieldname','debris.packingfraction','>=',0);
     
    108112                        md = checkfield(md,'fieldname','debris.removal_slope_threshold','>=',0);
    109113                        md = checkfield(md,'fieldname','debris.removal_stress_threshold','>=',0);
     114                        md = checkfield(md,'fieldname','debris.max_displacementvelocity','>=',0);
    110115                        md = checkfield(md,'fieldname','debris.requested_outputs','stringrow',1);
    111116                        if ~any(isnan(md.stressbalance.vertex_pairing)),
     
    120125                        fielddisplay(self,'stabilization','0: no stabilization, 1: artificial diffusion, 2: streamline upwinding, 3: streamline upwind Petrov-Galerkin (SUPG)');
    121126                        fielddisplay(self,'removalmodel','frontal removal of debris. 0: no removal, 1: Slope-triggered debris removal, 2: driving-stress triggered debris removal');
    122                         fielddisplay(self,'displacementmodel','debris displacement. 0: no displacement, 1: ...');
     127                        fielddisplay(self,'max_displacementvelocity','maximum velocity of debris transport (v_ice + v_displacement) (m/a)');
     128                        fielddisplay(self,'displacementmodel','debris displacement. 0: no displacement, 1: additional debris velocity above the critical slope/stress threshold');
    123129                        fielddisplay(self,'removal_slope_threshold','critical slope (degrees) for removalmodel (1)');
    124130                        fielddisplay(self,'removal_stress_threshold','critical stress (Pa) for removalmodel (2)');
     
    135141                        WriteData(fid,prefix,'object',self,'fieldname','removalmodel','format','Integer');
    136142                        WriteData(fid,prefix,'object',self,'fieldname','displacementmodel','format','Integer');
     143                        WriteData(fid,prefix,'object',self,'fieldname','max_displacementvelocity','format','Double');
    137144                        WriteData(fid,prefix,'object',self,'fieldname','removal_slope_threshold','format','Double');
    138145                        WriteData(fid,prefix,'object',self,'fieldname','removal_stress_threshold','format','Double');
     
    156163                        writejsdouble(fid,[modelname '.debris.removalmodel'],self.removalmodel);
    157164                        writejsdouble(fid,[modelname '.debris.displacementmodel'],self.displacementmodel);
     165                        writejsdouble(fid,[modelname '.debris.max_displacementvelocity'],self.displacementmodel);
    158166                        writejsdouble(fid,[modelname '.debris.removal_slope_threshold'],self.removal_slope_threshold);
    159167                        writejsdouble(fid,[modelname '.debris.removal_stress_threshold'],self.removal_stress_threshold);
  • issm/trunk-jpl/src/m/classes/model.m

    r27852 r27853  
    12891289                        if isfield(structmd,'cfl_coefficient'), md.timestepping.cfl_coefficient=structmd.cfl_coefficient; end
    12901290                        if isfield(structmd,'spcthickness'), md.masstransport.spcthickness=structmd.spcthickness; end
     1291                        if isfield(structmd,'spcthickness'), md.debris.spcthickness=structmd.spcthickness; end
    12911292                        if isfield(structmd,'artificial_diffusivity'), md.masstransport.stabilization=structmd.artificial_diffusivity; end
    12921293                        if isfield(structmd,'hydrostatic_adjustment'), md.masstransport.hydrostatic_adjustment=structmd.hydrostatic_adjustment; end
  • issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m

    r27852 r27853  
    240240                field = field*yts;
    241241        elseif strcmp(fieldname,'VyAverage'),
     242                field = field*yts;
     243        elseif strcmp(fieldname,'VxDebris'),
     244                field = field*yts;
     245        elseif strcmp(fieldname,'VyDebris'),
    242246                field = field*yts;
    243247        elseif strcmp(fieldname,'BasalforcingsGroundediceMeltingRate'),
Note: See TracChangeset for help on using the changeset viewer.