function f = fluidPVT_new(Ppr, BG, MUG, Bwi, prw, cw, vwi, cvw, ifpc, rpt, cs_data, csa_data, cb_data, cba_data, cs_Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, PC, cs_Nc_fracture, kr_nosurf_fracture, kr_surf_fracture, PC_fracture) % Ppr, BG, MUG, Bwi, prw, cw, vwi, cvw, ifpcgl, r.rpt, cs_data, csa_data, cb_data, cba_data, cs_Nc, Nc_nosurf, Nc_surf, kr_nosurf, kr_surf, cs_Nc_fracture, kr_nosurf_fracture, kr_surf_fracture, PC_fracture % f = fluidPVT(Bopb, pb, co, Bwi, prw, cw, vwi, cvw, visopb, cvo, SW, KRO, KRW, PCOW, ifpcow, SWF, KROF, KRWF, PCOWF, rpt,Dosi,Dwsi) f.Bw = @(p) Bw(p, Bwi, prw, cw); f.Bg = @(p) Bg(p, BG, Ppr); f.muw = @(p) muw(p, vwi, prw, cvw); f.mug = @(p) mug(p, MUG, Ppr); % f.krrg = @(sw) krrg(sw, SW, KRG, SWF, KRGF, rpt); % f.krw = @(sw) krw(sw, SW, KRW, SWF, KRWF, rpt); % f.pcgl = @(sw) pcgl(sw, SW, PCGL, SWF, PCGLF, rpt); 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.Nc = @(cs) cs_to_Nc(cs, cs_Nc, cs_Nc_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.pcgl = @(sw) pc(sw, PC, PC_fracture, rpt); f.ifpcgl = ifpc; % f.Dosi=Dosi; % f.Dwsi=Dwsi; 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