Changeset 27493


Ignore:
Timestamp:
01/02/23 16:56:41 (2 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added linearization for Weertman as well

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

Legend:

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

    r26191 r27493  
    88                C = NaN;
    99                m = NaN;
     10                linearize  = 0;
    1011        end
    1112   methods (Static)
     
    2930                function self = setdefaultparameters(self) % {{{
    3031
     32                        self.linearize = 0;
     33
    3134                end % }}}
    3235                function md = checkconsistency(self,md,solution,analyses) % {{{
     
    3639                        md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1,'Inf',1);
    3740                        md = checkfield(md,'fieldname','friction.m','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
     41                        md = checkfield(md,'fieldname','friction.linearize','numel',[1],'values',[0:2]);
    3842                end % }}}
    3943                function disp(self) % {{{
     
    4751                        fielddisplay(self,'C','friction coefficient [SI]');
    4852                        fielddisplay(self,'m','m exponent');
     53                        fielddisplay(self,'linearize','0: not linearized, 1: interpolated linearly, 2: constant per element (default is 0)');
    4954                end % }}}
    5055                function marshall(self,prefix,md,fid) % {{{
     
    5459                        WriteData(fid,prefix,'class','friction','object',self,'fieldname','C','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    5560                        WriteData(fid,prefix,'class','friction','object',self,'fieldname','m','format','DoubleMat','mattype',2);
    56                        
    57 
     61                        WriteData(fid,prefix,'class','friction','object',self,'fieldname','linearize','format','Integer');
    5862                end % }}}
    5963        end
  • TabularUnified issm/trunk-jpl/src/m/classes/frictionweertman.py

    r27458 r27493  
    1515        self.C = float('NaN')
    1616        self.m = float('NaN')
     17        self.linearize = 0
    1718
    1819    #set defaults
     
    2627        string = "%s\n%s" % (string, fielddisplay(self, "C", "friction coefficient [SI]"))
    2728        string = "%s\n%s" % (string, fielddisplay(self, "m", "m exponent"))
     29        string = "%s\n%s" % (string, fielddisplay(self, "linearize", "0: not linearized, 1: interpolated linearly, 2: constant per element (default is 0)"))
    2830        return string
    2931    # }}}
    3032
    3133    def setdefaultparameters(self):  # {{{
     34        self.linearize = 0
    3235        return self
    3336    # }}}
     
    4144        md = checkfield(md, 'fieldname', 'friction.C', 'timeseries', 1, 'NaN', 1, 'Inf', 1)
    4245        md = checkfield(md, 'fieldname', 'friction.m', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofelements])
     46        md = checkfield(md, 'fieldname', 'friction.linearize', 'numel', [1], 'values', [0, 1, 2])
    4347
    4448        return md
     
    4953        WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'C', 'format', 'DoubleMat', 'mattype', 1)
    5054        WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'm', 'format', 'DoubleMat', 'mattype', 2)
     55        WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'linearize', 'format', 'Integer')
    5156    # }}}
Note: See TracChangeset for help on using the changeset viewer.