rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
MichelSimple.m
1 classdef MichelSimple < TwoPhaseData.Interface
2 
3  methods
4  function kw = water_permeability(this, glob, S, model)
5 
6  kw = model.tp_kw_factor * ones(size(S));
7  end
8 
9  function dkw = water_permeability_derivative(this, glob, S, model)
10 
11  dkw = 0;
12  end
13 
14  function ko = oil_permeability(this, glob, S, model)
15 
16  ko = model.tp_ko_factor * ones(size(S));
17  end
18 
19  function dko = oil_permeability_derivative(this, glob, S, model)
20 
21  dko = 0;
22  end
23 
24  function pc = capillary_pressure(this, glob, S, model)
25 
26  pc = model.tp_pb * S;
27  end
28 
29  function dpc = capillary_pressure_derivative(this, glob, S, model)
30 
31  dpc = model.tp_pb * ones(size(S));
32  end
33 
34  function ddpc = capillary_pressure_second_derivative(this, glob, S, model)
35 
36  ddpc = zeros(size(S));
37  end
38 
39  function c = injection_concentration(this, model)
40 
41  c = model.tp_injection_c;
42  end
43 
44  function s_under = lower_source(this, glob, model)
45 
46  X = glob(:,1);
47  Y = glob(:,2);
48 
49  D3 = ((X-0.8).^2 + (Y-0.5).^2) <= 0.01;
50  s_under = 30 * D3;
51  end
52 
53  function s_above = upper_source(this, glob, model)
54 
55  X = glob(:,1);
56  Y = glob(:,2);
57 
58  D1 = ((X-0.5).^2 + (Y-0.8).^2) <= 0.01;
59  D2 = ((X-0.2).^2 + (Y-0.2).^2) <= 0.01;
60  s_above = 10 * D1 + 20 * D2;
61  end
62 
63  function descr = default_descr(this, descr)
64  descr.tp_pb = -0.5;
65  descr.tp_kw_factor = 1;
66  descr.tp_ko_factor = 1;
67  descr.tp_injection_c = 0.8;
68  end
69  end
70 end