Changeset 24667
- Timestamp:
- 03/16/20 03:48:59 (5 years ago)
- Location:
- issm/trunk-jpl/src/m/classes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/m/classes/friction.py ¶
r24213 r24667 19 19 self.coupling = 0 20 20 self.effective_pressure = float('NaN') 21 self.effective_pressure_limit = 0 21 22 #set defaults 22 23 self.setdefaultparameters() … … 32 33 string = "%s\n%s" % (string, fielddisplay(self, 'coupling', 'Coupling flag 0: uniform sheet (negative pressure ok, default), 1: ice pressure only, 2: water pressure assuming uniform sheet (no negative pressure), 3: use provided effective_pressure, 4: used coupled model (not implemented yet)')) 33 34 string = "%s\n%s" % (string, fielddisplay(self, 'effective_pressure', 'Effective Pressure for the forcing if not coupled [Pa]')) 35 string = "%s\n%s" % (string, fielddisplay(self, 'effective_pressure_limit','Neff do not allow to fall below a certain limit: effective_pressure_limit*rho_ice*g*thickness (default 0)')) 34 36 string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) 35 37 return string … … 50 52 def setdefaultparameters(self): # {{{ 51 53 self.requested_outputs = ['default'] 54 self.effective_pressure_limit = 0 52 55 return self 53 56 #}}} … … 68 71 md = checkfield(md, 'fieldname', 'friction.p', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofelements]) 69 72 md = checkfield(md, 'fieldname', 'friction.coupling', 'numel', [1], 'values', [0, 1, 2, 3, 4]) 73 md = checkfield(md, 'fieldname', 'friction.effective_pressure_limit','numel',[1],'>=',0) 70 74 if self.coupling == 3: 71 75 md = checkfield(md, 'fieldname', 'friction.effective_pressure', 'NaN', 1, 'Inf', 1, 'timeseries', 1) … … 82 86 WriteData(fid, prefix, 'object', self, 'fieldname', 'q', 'format', 'DoubleMat', 'mattype', 2) 83 87 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'coupling', 'format', 'Integer') 88 WriteData(fid, prefix, 'object', self,'class','friction','fieldname','effective_pressure_limit','format','Double') 84 89 if self.coupling == 3: 85 90 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'effective_pressure', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts) -
TabularUnified issm/trunk-jpl/src/m/classes/frictioncoulomb.py ¶
r24213 r24667 20 20 self.coupling = 0 21 21 self.effective_pressure = float('NaN') 22 self.effective_pressure_limit = 0 22 23 #set defaults 23 24 self.setdefaultparameters() … … 32 33 string = "%s\n%s" % (string, fielddisplay(self, 'coupling', 'Coupling flag: 0 for default, 1 for forcing(provide md.friction.effective_pressure) and 2 for coupled(not implemented yet)')) 33 34 string = "%s\n%s" % (string, fielddisplay(self, 'effective_pressure', 'Effective Pressure for the forcing if not coupled [Pa]')) 35 string = "%s\n%s" % (string, fielddisplay(self, 'effective_pressure_limit','Neff do not allow to fall below a certain limit: effective_pressure_limit*rho_ice*g*thickness (default 0)')) 34 36 return string 35 37 #}}} … … 50 52 51 53 def setdefaultparameters(self): # {{{ 52 return self 54 self.effective_pressure_limit = 0 55 return self 53 56 #}}} 54 57 … … 62 65 md = checkfield(md, 'fieldname', 'friction.q', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofelements]) 63 66 md = checkfield(md, 'fieldname', 'friction.p', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofelements]) 67 md = checkfield(md, 'fieldname', 'friction.effective_pressure_limit','numel',[1],'>=',0) 64 68 if self.coupling == 1: 65 69 md = checkfield(md, 'fieldname', 'friction.effective_pressure', 'NaN', 1, 'Inf', 1, 'timeseries', 1) … … 78 82 WriteData(fid, prefix, 'object', self, 'fieldname', 'q', 'format', 'DoubleMat', 'mattype', 2) 79 83 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'coupling', 'format', 'Integer') 84 WriteData(fid, prefix, 'object', self,'class','friction','fieldname','effective_pressure_limit','format','Double') 80 85 if self.coupling == 1: 81 86 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'effective_pressure', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts) -
TabularUnified issm/trunk-jpl/src/m/classes/frictionhydro.py ¶
r24213 r24667 19 19 self.As = np.nan 20 20 self.effective_pressure = np.nan 21 self.effective_pressure_limit = 0 21 22 #set defaults 22 23 … … 31 32 string = "%s\n%s" % (string, fielddisplay(self, 'As', 'Sliding Parameter without cavitation [m Pa^ - n s^ - 1]')) 32 33 string = "%s\n%s" % (string, fielddisplay(self, 'effective_pressure', 'Effective Pressure for the forcing if not coupled [Pa]')) 34 string = "%s\n%s" % (string, fielddisplay(self, 'effective_pressure_limit','Neff do not allow to fall below a certain limit: effective_pressure_limit*rho_ice*g*thickness (default 0)')) 33 35 34 36 return string … … 49 51 self.coupling = 0 50 52 self.effective_pressure = np.nan 51 53 self.effective_pressure_limit = 0 52 54 return self 53 55 # }}} … … 62 64 md = checkfield(md, 'fieldname', 'friction.C', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofelements]) 63 65 md = checkfield(md, 'fieldname', 'friction.As', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofelements]) 66 md = checkfield(md, 'fieldname', 'friction.effective_pressure_limit','numel',[1],'>=',0) 64 67 if self.coupling == 3: 65 68 md = checkfield(md, 'fieldname', 'friction.effective_pressure', 'NaN', 1, 'Inf', 1, 'timeseries', 1) … … 74 77 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'C', 'format', 'DoubleMat', 'mattype', 2) 75 78 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'As', 'format', 'DoubleMat', 'mattype', 2) 79 WriteData(fid, prefix, 'object', self,'class','friction','fieldname','effective_pressure_limit','format','Double') 76 80 if self.coupling in[3, 4]: 77 81 WriteData(fid, prefix, 'class', 'friction', 'object', self, 'fieldname', 'effective_pressure', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts)
Note:
See TracChangeset
for help on using the changeset viewer.