This commit is contained in:
xinxiao
2026-03-13 11:24:41 +08:00
commit 04e2bb29c7
238 changed files with 29102 additions and 0 deletions
@@ -0,0 +1,54 @@
function [Weladd, pwf] = initalSchedule_2026(p, sw, cs, Wellc, f, well_schedules_k)
nWel = size(Wellc, 1);%
Weladd = 0;
pwf = zeros(1);
BW = f.Bw(p);
muW = f.muw(p);
Nc = f.Nc(cs);
krW = f.krw(sw,Nc);
BG = f.Bg(p);
muG = f.mug(p);
krG = f.krrg(sw,Nc);
Ygt = krG ./ (muG .* BG);%mu代表黏度
Ygj = krG ./ muG;
Ywt = krW ./ (muW .* BW);%mu代表黏度
Ywj = krW ./ muW;
for i = 1 : nWel
if strcmp(well_schedules_k{i,2},'open')
if strcmp(well_schedules_k{i,3},'pro') && strcmp(well_schedules_k{i,4},'const_q') %
Weladd = Weladd + 1;
nper = Wellc{i,2}; %
jperf = zeros(nper,1);
Trans = zeros(nper,1);
Tnp = 0;
Tn = 0;
for j = 1 : nper
jperf(j) = Wellc{i,3}(j);%
Tr = Wellc{i,4}(j);%
Trans(j) = Tr * (Ygt(jperf(j)) + Ywt(jperf(j)));%
Tnp = Tnp + Trans(j)*p(jperf(j));
Tn = Tn + Trans(j);
end
pwf(Weladd) = (Tnp - well_schedules_k{i,5}/86.4) / Tn;%
elseif strcmp(well_schedules_k{i,3},'inj') && strcmp(well_schedules_k{i,4},'const_q') %
Weladd = Weladd + 1;
nper = Wellc{i,2};
jperf = zeros(nper,1);
Trans = zeros(nper,1);
Tnp = 0;
Tn = 0;
for j = 1 : nper
jperf(j) = Wellc{i,3}(j);
Tr = Wellc{i,4}(j);
Trans(j) = Tr / BW(jperf(j)) * (Ygj(jperf(j)) + Ywj(jperf(j)));%
Tnp = Tnp + Trans(j)*p(jperf(j));
Tn = Tn + Trans(j);
end
pwf(Weladd) = (Tnp + well_schedules_k{i,5}/86.4) / Tn;%
else
continue
end
end
end
pwf = pwf';