source: issm/branches/trunk-jpl-damage/src/m/classes/hydrology.m@ 12878

Last change on this file since 12878 was 12878, checked in by cborstad, 13 years ago

merged trunk-jpl into trunk-jpl-damage through revision 12877

File size: 2.2 KB
RevLine 
[9617]1%HYDROLOGY class definition
2%
3% Usage:
4% hydrology=hydrology();
5
6classdef hydrology
7 properties (SetAccess=public)
[10969]8 spcwatercolumn = NaN;
9 n = 0;
10 CR = 0;
11 p = 0;
12 q = 0;
13 kn = 0;
14 stabilization = 0;
[9617]15 end
16 methods
17 function obj = hydrology(varargin) % {{{
18 switch nargin
19 case 0
20 obj=setdefaultparameters(obj);
21 otherwise
22 error('constructor not supported');
23 end
24 end % }}}
25 function obj = setdefaultparameters(obj) % {{{
26
27 %Parameters from Johnson's 2002 thesis, section 3.5.4
28 obj.n=.02;
[10565]29 obj.CR=.01;
[9617]30 obj.p=2;
31 obj.q=1;
32 obj.kn=0;
[9646]33
34 %Type of stabilization to use 0:nothing 1:artificial_diffusivity
35 obj.stabilization=1;
[9617]36 end % }}}
[12878]37 function md = checkconsistency(obj,md,solution,analyses) % {{{
[9739]38
[9854]39 %Early return
40 if ~ismember(HydrologyAnalysisEnum,analyses), return; end
41
[12878]42 md = checkfield(md,'hydrology.spcwatercolumn','forcing',1);
43 md = checkfield(md,'hydrology.stabilization','>=',0);
[9739]44 end % }}}
[9820]45 function disp(obj) % {{{
46 disp(sprintf(' hydrology solution parameters:'));
47
48 fielddisplay(obj,'spcwatercolumn','water thickness constraints (NaN means no constraint)');
49 fielddisplay(obj,'n','Manning roughness coefficient');
[11141]50 fielddisplay(obj,'CR','tortuosity parameter');
[9820]51 fielddisplay(obj,'p','dimensionless exponent in Manning velocity formula');
52 fielddisplay(obj,'q','dimensionless exponent in Manning velocity formula');
53 fielddisplay(obj,'kn','parameter in effective pressure formula');
[10538]54 fielddisplay(obj,'stabilization','artificial diffusivity (default is 1). can be more than 1 to increase diffusivity.');
[9820]55
56 end % }}}
[10969]57 function marshall(obj,fid) % {{{
58 WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1);
59 WriteData(fid,'object',obj,'fieldname','n','format','Double');
60 WriteData(fid,'object',obj,'fieldname','CR','format','Double');
61 WriteData(fid,'object',obj,'fieldname','p','format','Double');
62 WriteData(fid,'object',obj,'fieldname','q','format','Double');
63 WriteData(fid,'object',obj,'fieldname','kn','format','Double');
64 WriteData(fid,'object',obj,'fieldname','stabilization','format','Double');
65 end % }}}
[9617]66 end
67end
Note: See TracBrowser for help on using the repository browser.