The deck variables are converted to SI units. MRST uses exclusively SI units in the computation. Conversion tools are available.
deck = convertDeckUnits(deck);
Generate grid from deck
G = initEclipseGrid(deck);
G = computeGeometry(G);
Setup rock structure containing the rock properties.
rock = initEclipseRock(deck);
rock = compressRock(rock, G.cells.indexMap);
Setup fluid structure containing the fluid properties.
fluid = initDeckADIFluid(deck);
% Oil rel-perm from 2p OW system.% Needed by equation implementation function 'eqsfiOWExplictWells'.%
fluid.krO = fluid.krOW;
We include gravity
Set up simulation parameters
We want a layer of oil on top of the reservoir and water on the bottom. To do this, we alter the initial state based on the logical height of each cell. The resulting oil concentration is then plotted.
When polymer is added to the water phase, the viscosity of the water phase containing
polymer is increased. Because mobility is defined as the ratio between permeability and
viscosity, this makes the water much less mobile. As a problem with water injection with
regards to oil production is that the water is much more mobile than the hydrocarbons we
are trying to displace, injecting a polymer may be beneficial towards oil recovery.
We plot the viscosity multiplier function fluid.muWMult.
To quantify the effect of adding the polymer to the injected water, we will solve the same system both with and without polymer. This is done by creating both a Oil/Water/Polymer system and a Oil/Water system. Note that since the data file already contains polymer as an active phase we do not need to pass initADISystem anything other than the deck.
modelPolymer = OilWaterPolymerModel(G, rock, fluid, 'inputdata', deck);
modelOW = TwoPhaseOilWaterModel(G, rock, fluid, 'inputdata', deck);
Convert the deck schedule into a MRST schedule by parsing the wells
schedule = convertDeckScheduleToMRST(G, modelPolymer, rock, deck);
We run the simulation. Any options such as maximum non-linear iterations and tolerance can be set in the system struct.
We visualize the schedule and plot both the water, oil and polymer concentration using a simple supplied volume renderer. At the same time we visualize the sum of the oil/water ratio in the producer for both with and without polymer injection in a single pie chart.