source: issm/trunk-jpl/src/m/classes/hydrologyshreve.m@ 14555

Last change on this file since 14555 was 14555, checked in by Mathieu Morlighem, 12 years ago

CHG: moved hydrology to hydrologyshreve, we are going to have more hydrological models coming

File size: 2.2 KB
RevLine 
[14555]1%HYDROLOGYSHREVE class definition
[9617]2%
3% Usage:
[14555]4% hydrologyshreve=hydrologyshreve();
[9617]5
[14555]6classdef hydrologyshreve
[9617]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
[14555]17 function obj = hydrologyshreve(varargin) % {{{
[9617]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
[14555]28 obj.n = .02;
29 obj.CR = .01;
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 % }}}
[12663]37 function md = checkconsistency(obj,md,solution,analyses) % {{{
[9739]38
[9854]39 %Early return
[13020]40 if ~ismember(HydrologyAnalysisEnum(),analyses), return; end
[9854]41
[12663]42 md = checkfield(md,'hydrology.spcwatercolumn','forcing',1);
43 md = checkfield(md,'hydrology.stabilization','>=',0);
[9739]44 end % }}}
[9820]45 function disp(obj) % {{{
[14555]46 disp(sprintf(' hydrologyshreve solution parameters:'));
[9820]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);
[13020]59 WriteData(fid,'object',obj,'fieldname','n','format','Double');
[10969]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.