Changeset 24292


Ignore:
Timestamp:
10/30/19 09:01:20 (5 years ago)
Author:
jdquinn
Message:

CHG: Added check of stressbalance.vertex_pairing field to MATLAB

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

Legend:

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

    r24192 r24292  
    55
    66classdef masstransport
    7         properties (SetAccess=public) 
     7        properties (SetAccess=public)
    88                 spcthickness           = NaN;
    99                 isfreesurface          = 0;
     
    9595                        md = checkfield(md,'fieldname','masstransport.min_thickness','>',0);
    9696                        md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1);
    97 
     97                        if ~any(isnan(md.stressbalance.vertex_pairing)),
     98                                md = checkfield(md,'fieldname','stressbalance.vertex_pairing','>',0);
     99                        end
    98100                end % }}}
    99101                function disp(self) % {{{
     
    122124                        WriteData(fid,prefix,'object',self,'fieldname','vertex_pairing','format','DoubleMat','mattype',3);
    123125                        WriteData(fid,prefix,'object',self,'fieldname','penalty_factor','format','Double');
    124                        
     126
    125127                        %process requested outputs
    126128                        outputs = self.requested_outputs;
     
    133135                end % }}}
    134136                function savemodeljs(self,fid,modelname) % {{{
    135                
     137
    136138                        writejs1Darray(fid,[modelname '.masstransport.spcthickness'],self.spcthickness);
    137139                        writejsdouble(fid,[modelname '.masstransport.isfreesurface'],self.isfreesurface);
  • issm/trunk-jpl/src/m/classes/masstransport.py

    r24289 r24292  
    7575        md = checkfield(md, 'fieldname', 'masstransport.min_thickness', '>', 0)
    7676        md = checkfield(md, 'fieldname', 'masstransport.requested_outputs', 'stringrow', 1)
    77         if not np.any(np.isnan(self.vertex_pairing)):
    78             md = checkfield(md, 'fieldname', 'masstransport.vertex_pairing', '>', 0)
     77        if not np.any(np.isnan(self.vertex_pairing)) and len(self.vertex_pairing) > 0:
     78            md = checkfield(md, 'fieldname', 'stressbalance.vertex_pairing', '>', 0)
    7979
    8080        return md
  • issm/trunk-jpl/src/m/classes/stressbalance.m

    r22576 r24292  
    55
    66classdef stressbalance
    7         properties (SetAccess=public) 
     7        properties (SetAccess=public)
    88                spcvx                  = NaN;
    99                spcvy                  = NaN;
     
    5757
    5858                         %Convergence criterion: absolute, relative and residual
    59                          self.restol=10^-4; 
     59                         self.restol=10^-4;
    6060                         self.reltol=0.01;
    6161                         self.abstol=10;
     
    9797                        md = checkfield(md,'fieldname','stressbalance.loadingforce','size',[md.mesh.numberofvertices 3]);
    9898                        md = checkfield(md,'fieldname','stressbalance.requested_outputs','stringrow',1);
    99 
     99                        if ~any(isnan(md.stressbalance.vertex_pairing)),
     100                                md = checkfield(md,'fieldname','stressbalance.vertex_pairing','>',0);
     101                        end
    100102                        %singular solution
    101103                        if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.groundedice_levelset>0)),
     
    202204                end % }}}
    203205                function savemodeljs(self,fid,modelname) % {{{
    204                
     206
    205207                        writejs1Darray(fid,[modelname '.stressbalance.spcvx'],self.spcvx);
    206208                        writejs1Darray(fid,[modelname '.stressbalance.spcvy'],self.spcvy);
  • issm/trunk-jpl/src/m/classes/stressbalance.py

    r24291 r24292  
    134134        md = checkfield(md, 'fieldname', 'stressbalance.loadingforce', 'size', [md.mesh.numberofvertices, 3])
    135135        md = checkfield(md, 'fieldname', 'stressbalance.requested_outputs', 'stringrow', 1)
    136         if not np.any(np.isnan(self.vertex_pairing)) and len(self.vertex_pairing)>0:
     136        if not np.any(np.isnan(self.vertex_pairing)) and len(self.vertex_pairing) > 0:
    137137            md = checkfield(md, 'fieldname', 'stressbalance.vertex_pairing', '>', 0)
    138138        #singular solution
Note: See TracChangeset for help on using the changeset viewer.