source: issm/trunk-jpl/src/m/classes/frictionhydro.m@ 19001

Last change on this file since 19001 was 19001, checked in by bdef, 10 years ago

Adding the inversion capability for hydro related friction law

File size: 1.9 KB
Line 
1%FRICTIONWEERTMAN class definition
2%
3% Usage:
4% friction=frictionhydro();
5
6classdef frictionhydro
7 properties (SetAccess=public)
8 q = NaN;
9 C = NaN;
10 As = NaN;
11 effective_pressure = NaN;
12 end
13 methods
14 function obj = frictionhydro(varargin) % {{{
15 switch nargin
16 case 0
17 obj=setdefaultparameters(obj);
18 otherwise
19 error('constructor not supported');
20 end
21 end % }}}
22 function obj = setdefaultparameters(obj) % {{{
23
24 end % }}}
25 function md = checkconsistency(obj,md,solution,analyses) % {{{
26
27 %Early return
28 if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
29 md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
30 md = checkfield(md,'fieldname','friction.C','NaN',1,'size',[md.mesh.numberofelements 1]);
31 md = checkfield(md,'fieldname','friction.As','NaN',1,'size',[md.mesh.numberofelements 1]);
32 end % }}}
33 function disp(obj) % {{{
34 disp(sprintf('Effective Pressure based friction law described in Gagliardini 2007'));
35 fielddisplay(obj,'q','friction law exponent q>=1');
36 fielddisplay(obj,'C','friction law max value [SI]');
37 fielddisplay(obj,'As','Sliding Parameter without cavitation [m Pa^-n s^-1]');
38 fielddisplay(obj,'effective_pressure','Effective Pressure [Pa]');
39 end % }}}
40 function marshall(obj,md,fid) % {{{
41 WriteData(fid,'enum',FrictionLawEnum,'data',3,'format','Integer');
42 WriteData(fid,'class','friction','object',obj,'fieldname','q','format','DoubleMat','mattype',2);
43 WriteData(fid,'class','friction','object',obj,'fieldname','C','format','DoubleMat','mattype',2);
44 WriteData(fid,'class','friction','object',obj,'fieldname','As','format','DoubleMat','mattype',2);
45 WriteData(fid,'class','friction','object',obj,'fieldname','effective_pressure','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
46 end % }}}
47 end
48end
Note: See TracBrowser for help on using the repository browser.