fix krg error

This commit is contained in:
xinxiao
2026-03-13 11:27:10 +08:00
parent 04e2bb29c7
commit 2d7135163e
@@ -11,7 +11,7 @@ f.mug = @(p) mug(p, MUG, Ppr);
f.cs_absorb = @(cs) cs_absorb_f(cs, cs_data, csa_data); f.cs_absorb = @(cs) cs_absorb_f(cs, cs_data, csa_data);
f.cb_absorb = @(cb) cb_absorb_f(cb, cb_data, cba_data); f.cb_absorb = @(cb) cb_absorb_f(cb, cb_data, cba_data);
f.Nc = @(cs) cs_to_Nc(cs, cs_Nc, cs_Nc_fracture, rpt); f.Nc = @(cs) cs_to_Nc(cs, cs_Nc, cs_Nc_fracture, rpt);
f.krrg = @(sw, Nc) krg(sw, Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, kr_nosurf_fracture, kr_surf_fracture, rpt); f.krrg = @(sw, Nc) krg_edfm(sw, Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, kr_nosurf_fracture, kr_surf_fracture, rpt);
f.krw = @(sw, Nc) krw(sw, Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, kr_nosurf_fracture, kr_surf_fracture, rpt); f.krw = @(sw, Nc) krw(sw, Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, kr_nosurf_fracture, kr_surf_fracture, rpt);
f.pcgl = @(sw) pc(sw, PC, PC_fracture, rpt); f.pcgl = @(sw) pc(sw, PC, PC_fracture, rpt);
f.ifpcgl = ifpc; f.ifpcgl = ifpc;
@@ -19,4 +19,32 @@ f.ifpcgl = ifpc;
% f.Dwsi=Dwsi; % f.Dwsi=Dwsi;
end end
function h = krg_edfm(sw, Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, varargin)
n = numel(varargin);
SW = kr_nosurf(:,1);
KRO = kr_nosurf(:,3);
SW_surf = kr_surf(:,1);
KRO_surf = kr_surf(:,3);
m = (log(Nc)-log(Nc_nosurf))./(log(Nc_surf)-log(Nc_nosurf));
if n == 0
h1 = interptable(SW, KRO, sw);
h2 = interptable(SW_surf, KRO_surf, sw);
h = (1-m).*h1 +m.*h2;
else
kr_nosurf_fracture = varargin{1};
kr_surf_fracture = varargin{2};
rpt = varargin{3};
SWF = kr_nosurf_fracture(:,1);
KROF = kr_nosurf_fracture(:,3);
SWF_surf = kr_surf_fracture(:,1);
KROF_surf = kr_surf_fracture(:,3);
h1m = interptable(SW, KRO, sw);
h1f = interptable(SWF, KROF, sw);
h2m = interptable(SW_surf, KRO_surf, sw);
h2f = interptable(SWF_surf, KROF_surf, sw);
h1 = rpt .* h1m + ~rpt .* h1f;
h2 = rpt .* h2m + ~rpt .* h2f;
h = (1-m).*h1 +m.*h2;
end
% h=sw+(1-sw);
end