-
Notifications
You must be signed in to change notification settings - Fork 11
/
grf_dmo.m
194 lines (156 loc) · 4.44 KB
/
grf_dmo.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
%% General Radial Flow model interpretation
% This is a demonstration of the interpretation of a pumping test with the
% Barker (1988) solution.
%
% MIT License
% Copyright (c) 2017 Philippe Renard - University of Neuchâtel (CHYN)
%%
% The data set for this example comes from the following reference:
% G. Lods and P. Gouze (2004) WTFM, software for well test analysis in
% fractured media combining fractional flow with double porosity
% approaches. Computers and Geosciences. Vol 30. pp. 937-947
% Example CS2 and CS3, page 943-944
%%
% This demo is composed by two example:
% grf_ds1.dat : time in s, drawdown in m in the well Sha1B
% grf_ds2.dat : time in s, drawdown in m in the well Sha1BT
%% FIRST EXAMPLE
%
% Let us first load the data and plot them.
clear; clf; clc
[t,s]=ldf('grf_ds1.dat');
diagnostic(t,s)
%%
% We then define the values of the parameters that are required for the
% interpretation:
%
% r = 26.2 m
% rw = rc = 0.1 m
% Q = 0.02322 m3/s
%%
% We prepare the model and fit it to the data. A manual trial is required.
grf_pre(26.2,0.1);
p=grf_gss(t,s);
%p=[0.002,0.00006,1];
trial('grf',p,t,s)
%%
% We can then display the result of the interpretation.
% Hytool find that the folowing values fort the transmissivity and
% storativity:
%
% Equivalent transmissivity: 2.3 e-3m2/s
% Equivalent storativity: 4.4 e-2m2/s
p=fit('grf',p,t,s);
grf_rpt(p,t,s,[0.021],'well Sha1B - automatic fit')
figure (3)
%%
% The results are in reasonable agreement with the values found by
% Hamm and Bideaux Model(1994):
%
% skin factor = 6230
% flow dimension n = 0.7
% Equivalent Cylindrical Transmissivity = 108 m2/s
% Equivalent Cylindrical Storativity = 9.17 e-2
% K e^(3-n) = 29.0 m^(4-n) s^(-1)
% Ss e^(3-n) =2.46 e-2 m^(2-n)
% lambda = 4.8e-5
% omega = 2.59 e-4
% sigma fracture = 5
%% SECOND EXAMPLE
%
% Let us first load the data and plot them.
[t,s]=ldf('grf_ds2.dat');
diagnostic(t,s)
%%
% We then define the values of the parameters that are required for the
% interpretation:
%
% Estimated reservoir thickness e = 40m
% r = 26.2 m
% rw = rc = 0.1 m
% Q = 83.6 m3/h = 0.02322 m3/s
%%
% We prepare the model and fit it to the data. A manual trial is required.
grf_pre(26.2,0.1);
p=grf_gss(t,s);
trial('grf',p,t,s)
%%
% We can then display the result of the interpretation.
% Hytool find that the folowing values fort the transmissivity and
% storativity:
%
% Equivalent transmissivity: 1.2e-1 m2/s
% Equivalent storativity: 5.7e-5
p=fit('grf',p,t,s);
figure (4)
grf_rpt(p,t,s,[0.021],'well Sha1BT - automatic fit')
%%
% The results are in reasonable agreement with the values found by
% Hamm and Bideaux Model(1994):
%
% skin factor = 6230
% flow dimension n = 0.7
% K e^(3-n) = 29.0 m^(4-n) s^(-1)
% Equivalent Cylindrical Transmissivity = 108 m2s-1
% Ss e^(3-n) =2.46 e-2 m^(2-n)
% Equivalent Cylindrical Storativity = 9.17 e-2
% lambda = 4.8e-5
% omega = 2.59 e-4
% sigma fracture = 5
%% THIRD example for the GRF model (Barker, 1988)
% Reference data to validate the GRF model when n=2
%
% Table 5.1, page 172 in:
% C.W. Fetter, 2001, Applied Hydrogeology, Fourth Edition.
% Prentice Hall, Upper Saddle River, 598 pp.
%
% q=0.013888 m3/s
% r=250 m
%
% With these data, the reference values obtained with the Theis model
% are the following:
%
% T = 1.425 e-3 m2/s
% S = 2.115 e-5
%
%% Load the data and plot the diagnostic
[t,s]=ldf('ths_ds1.dat');
diagnostic(t,s)
%% Prepare the model and fit it to the data
grf_pre(250,2);
p=grf_gss(t,s); % The initial guess is incorrect
trial('grf',p,t,s)
%% Automatic fit and final figure
p=fit('grf',p,t,s);
grf_rpt(p,t,s,[0.013888,250])
%% Demo example for the grf model (Barker, 1988)
% Source : Le Borgne, et al. 2004 WATER RESOURCES RESEARCH, VOL. 40,
% W03512, doi:10.1029/2003WR002436, 2004 - Figure 8
%
% Data files:
% ===========
%
% grf_ds3.dat : time in seconds, drawdown in m
%
% r = 40 m
% q = 34 m3/h = 9.444e-3 m3/s
%
% flow dimension n = 1.6
%
% Les valeurs de transmissivité ou emmagasinement ne sont pas données.
% Une interprétation avec WTFM donne.
% Ssf = 1.8 e-2 1/m
% Kf = 2.8 e-2 m/s
% bf = 1 m
% Reste à calculer les transmissivités équivalents ECT....
%% Load the data and plot the diagnostic
[t,s]=ldf('grf_ds3.dat');
t=t; % Conversion du temps en heure en temps en seconde
diagnostic(t,s)
%% Prepare the model and check the preliminary fit to the data
grf_pre(40,0.1);
p=grf_gss(t,s);
trial('grf',p,t,s)
%% Automatic fit and final figure
p=fit('grf',p,t,s);
grf_rpt(p,t,s,[9.444e-3])