34 lines
1011 B
Matlab
34 lines
1011 B
Matlab
function [Times, OutputRs, Wellpara, trun] = solver_NR(r, flow_model, f, os, state0, yitap,yitas,omega,Nmax,epsave,epsmax,dtmin,dtmax,Wellc,time,well_schedules, progress_callback)
|
|
if nargin < 17
|
|
progress_callback = [];
|
|
end
|
|
|
|
w.yitap = yitap;
|
|
w.yitas = yitas;
|
|
w.omega = omega;
|
|
w.Nmax = Nmax;
|
|
w.epsave = epsave;
|
|
w.epsmax = epsmax;
|
|
w.dtmin = dtmin;
|
|
w.dtmax = dtmax;
|
|
% w.tend = tend;
|
|
% w.WelChg = WelChg;
|
|
w.Wellc = Wellc;
|
|
w.time = time;
|
|
w.well_schedules = well_schedules;
|
|
w.progress_callback = progress_callback;
|
|
%% 计算
|
|
if r.modelflag==1 || r.modelflag==4 || r.modelflag==5
|
|
if flow_model == 1
|
|
[Times, OutputRs, Wellpara, trun] = mainRS_MB_gas_water_flow(r, f, os, w, state0);
|
|
end
|
|
if flow_model == 2
|
|
[Times, OutputRs, Wellpara, trun] = mainRS_MB_oil_water_flow(r, f, os, w, state0);
|
|
end
|
|
if flow_model == 3
|
|
[Times, OutputRs, Wellpara, trun] = mainRS_MB_2026(r, f, os, w, state0);
|
|
end
|
|
% [Times, OutputRs, Wellpara, trun] = mainRS_MB_2014(r, f, os, w, state0);
|
|
end
|
|
end
|