优化点3,4
This commit is contained in:
@@ -169,9 +169,9 @@ end
|
||||
|
||||
function tf = has_complete_gas_water_config(gw)
|
||||
required_fields = { ...
|
||||
'density_g_sc', 'density_w_sc', 'gas_model', 'prw', 'Bwi', 'cw', ...
|
||||
'density_g_sc', 'density_w_sc', 'prw', 'Bwi', 'cw', ...
|
||||
'vwi', 'cvw', 'ifpcgl', 'matrix_relperm_table', 'fracture_relperm_table', ...
|
||||
'p_grad_threshold'};
|
||||
'p_grad_threshold', 'prg', 'Bgi', 'cg', 'vgi', 'cvg'};
|
||||
|
||||
tf = true;
|
||||
for i = 1:numel(required_fields)
|
||||
@@ -187,14 +187,7 @@ if ~isfield(gw, 'gas_prop') || isempty(gw.gas_prop)
|
||||
return;
|
||||
end
|
||||
|
||||
if gw.gas_model == 1
|
||||
tf = all(isfield(gw, {'prg', 'Bgi', 'cg', 'vgi', 'cvg'})) && ...
|
||||
~isempty(gw.prg) && ~isempty(gw.Bgi) && ~isempty(gw.cg) && ...
|
||||
~isempty(gw.vgi) && ~isempty(gw.cvg);
|
||||
else
|
||||
tf = all(isfield(gw, {'Ppr', 'BG', 'MUG'})) && ...
|
||||
~isempty(gw.Ppr) && ~isempty(gw.BG) && ~isempty(gw.MUG);
|
||||
end
|
||||
tf = true;
|
||||
end
|
||||
|
||||
function tf = has_complete_oil_water_config(ow)
|
||||
@@ -223,13 +216,7 @@ end
|
||||
end
|
||||
|
||||
function [f, state0] = build_gas_water_flow_from_config(gw, initial_config, r)
|
||||
if gw.gas_model == 1
|
||||
[Ppr, BG, MUG] = cal_gas_prop(gw.prg, gw.Bgi, gw.cg, gw.vgi, gw.cvg);
|
||||
else
|
||||
Ppr = gw.Ppr;
|
||||
BG = gw.BG;
|
||||
MUG = gw.MUG;
|
||||
end
|
||||
[Ppr, BG, MUG] = cal_gas_prop(gw.prg, gw.Bgi, gw.cg, gw.vgi, gw.cvg);
|
||||
|
||||
matrix_table = gw.matrix_relperm_table;
|
||||
fracture_table = gw.fracture_relperm_table;
|
||||
@@ -290,7 +277,8 @@ required_fields = { ...
|
||||
'Ds', 'Db', 'c_ca_table', 'R', 'Vm', 'Temperature', ...
|
||||
'cs_Nc', 'kr_nosurf', 'kr_surf', 'PC', ...
|
||||
'cs_Nc_fracture', 'kr_nosurf_fracture', 'kr_surf_fracture', 'PC_fracture', ...
|
||||
'density_g_sc', 'density_w_sc', 'gas_model', 'prw', 'Bwi', 'cw', 'vwi', 'cvw'};
|
||||
'density_g_sc', 'density_w_sc', 'prw', 'Bwi', 'cw', 'vwi', 'cvw', ...
|
||||
'prg', 'Bgi', 'cg', 'vgi', 'cvg'};
|
||||
|
||||
tf = true;
|
||||
for i = 1:numel(required_fields)
|
||||
@@ -306,14 +294,7 @@ if ~isfield(mc, 'gas_prop') || isempty(mc.gas_prop)
|
||||
return;
|
||||
end
|
||||
|
||||
if mc.gas_model == 1
|
||||
tf = all(isfield(mc, {'prg', 'Bgi', 'cg', 'vgi', 'cvg'})) && ...
|
||||
~isempty(mc.prg) && ~isempty(mc.Bgi) && ~isempty(mc.cg) && ...
|
||||
~isempty(mc.vgi) && ~isempty(mc.cvg);
|
||||
else
|
||||
tf = all(isfield(mc, {'Ppr', 'BG', 'MUG'})) && ...
|
||||
~isempty(mc.Ppr) && ~isempty(mc.BG) && ~isempty(mc.MUG);
|
||||
end
|
||||
tf = true;
|
||||
end
|
||||
|
||||
function [f, state0] = build_multi_component_flow_from_config(mc, initial_config, r)
|
||||
@@ -324,13 +305,7 @@ cba_data = mc.c_ca_table(:, 3) * 1e-3;
|
||||
Nc_nosurf = min(mc.cs_Nc(:, 2));
|
||||
Nc_surf = max(mc.cs_Nc(:, 2));
|
||||
|
||||
if mc.gas_model == 1
|
||||
[Ppr, BG, MUG] = cal_gas_prop(mc.prg, mc.Bgi, mc.cg, mc.vgi, mc.cvg);
|
||||
else
|
||||
Ppr = mc.Ppr;
|
||||
BG = mc.BG;
|
||||
MUG = mc.MUG;
|
||||
end
|
||||
[Ppr, BG, MUG] = cal_gas_prop(mc.prg, mc.Bgi, mc.cg, mc.vgi, mc.cvg);
|
||||
|
||||
f = fluidPVT_new( ...
|
||||
Ppr, BG, MUG, mc.Bwi, mc.prw, mc.cw, mc.vwi, mc.cvw, ...
|
||||
|
||||
Reference in New Issue
Block a user