Dear Sir / Madam:
I am currently trying to setup a 3-phase (oil gas water) compositional model. I first started by looking at the example “compositionalBoundaryConditionsExample” and “compositionalExample3DSixComponents”. I have a few questions regarding the specifications of the relative permeability, capillary pressure, and wetting phase. I can’t seem to find the solution or sample input that I can work on. I would appreciate if you could help clarifying or pointing me to the right direction.
1) How do I specify the three-phase relative permeability and capillary pressure that includes irreducible oil and water saturations (Sor, Swir)?
I checked tabulatedSatFunc(…) and initSimpleADIFluid(…) but neither of them works for me. tabulatedSatFunc(…) appears to be specifically for water-oil relative permeability and capillary pressure but it allows me to specify a range of saturations between Sor & Swir while initSimpleADIFluid(…) doesn’t let me specify the irreducible saturations, the minimum and maximum values for relative permeability and saturations are always within 0 and 1, and the shapes depend on the specified exponent.
2) Continued from question 1), is there a way to specify water-oil and gas-oil relative permeability and capillary pressure tables and let MRST calculate intermediate phase relative permeability using correlation like Stone II i.e., for water-wet system, use Stone II to calculate oil relative permeability? I’m not 100% clear. Ideally, I would like to specify relative permeability and capillary pressure in a tabulated format. From my understanding, the evaluateRelPerm(…) specifies individual phase relative permeability, including intermediate phase, as a function of saturation, but I’m not sure if it’s meant to be called directly as it’s part of a class object.
3) In the case that the rock is oil wet, how would I specify the wettability?
Thank you very much for your help.
Best regards,
Nithi
Dear Nithi,
Thank you for your interest in MRST.
1) There are a few ways. You can define an ECLIPSE style deck and read in the tabulated functions using the deckformat module. If you look at the examples in the ad-blackoil module, the SPE benchmarks use this approach. Or, you can use the fastInterpTable function as a function handle if you have your table in Matlab,
fluid.krW = @(S) interpTable(S_table, krW_table, S)
where S_table and krW_table are column vectors of sorted S and corresponding krW (standard Matlab interpolation syntax)
You also have the option of using coreyPhaseRelpermAD from ad-props to specify analytical Corey-type relative permeability curves with endpoints. An example of how to use this function exists in the setupSPE10_AD function in the spe10 module.
2) Generally the multiphase relative permeability is evaluated through the ReservoirModel.evaluateRelPerm function you mentioned. This function calls the corresponding relative permeability model (for instance,
ReservoirModel.relPermWO for water-oil or ReservoirModel.relPermWOG for water-oil-gas). You can use this directly. Typically, we instantiate a Model with the fluid and then use that to evaluate the functions.
3) At the moment, the general solvers do not support hysteretic effects, which is a part of modelling wettability. The same relative-permeability curve is used for both drainage and imbibition. We might add this in the future, but features are generally added as a result of ongoing research needs in our group, so it is hard to say when.
Regards,
Olav
Dear Olav,
I have one question regarding your answer, fastInterpTable function.
I tried to use it for the simple water flood system. SWOF was created as a matrix which has sw, krwo, krow and pc columns.
fluid.krW = @(S) interpTable(SWOF(:,1), SWOF(:,2), S);
fluid.krO=@(S) interpTable(SWOF(:,1), SWOF(:,3), S);
fluid.pc=@(S) interpTable(SWOF(:,1), SWOF(:,4), S);
The .m file was run by using
[wellSols, states, report] = ...
simulateScheduleAD(state0, model, schedule,'afterStepFn',fn);
But it gives me an error for the solver. Here is the error:
Error using NonLinearSolver/solveTimestep (line 271)
Did not find a solution: Model step resulted in failure
state. Reason: Linear solver produced non-finite values.
Error in simulateScheduleAD (line 255)
[state, report] =
solver.solveTimestep(state0, dt, model,...
I tried to use another solver like linearsolverAD, but it did not work, as well.
Could you please guide me on this issue? I would be really grateful for it.
Best Regards,
Serveh
Dear Nithi,
Thank you for your interest in MRST.
1) There are a few ways. You can define an ECLIPSE style deck and read in the tabulated functions using the deckformat module. If you look at the examples in the ad-blackoil module, the SPE benchmarks use this approach. Or, you can use the fastInterpTable function as a function handle if you have your table in Matlab,
fluid.krW = @(S) interpTable(S_table, krW_table, S)
where S_table and krW_table are column vectors of sorted S and corresponding krW (standard Matlab interpolation syntax)
You also have the option of using coreyPhaseRelpermAD from ad-props to specify analytical Corey-type relative permeability curves with endpoints. An example of how to use this function exists in the setupSPE10_AD function in the spe10 module.
2) Generally the multiphase relative permeability is evaluated through the ReservoirModel.evaluateRelPerm function you mentioned. This function calls the corresponding relative permeability model (for instance, ReservoirModel.relPermWO for water-oil or ReservoirModel.relPermWOG for water-oil-gas). You can use this directly. Typically, we instantiate a Model with the fluid and then use that to evaluate the functions.
3) At the moment, the general solvers do not support hysteretic effects, which is a part of modelling wettability. The same relative-permeability curve is used for both drainage and imbibition. We might add this in the future, but features are generally added as a result of ongoing research needs in our group, so it is hard to say when.
Regards,
Olav
From: sinte...@googlegroups.com <sinte...@googlegroups.com> on behalf of Nithiwat Siripatrachai <nith...@gmail.com>
Sent: Tuesday, January 30, 2018 6:51:54 AM
To: sinte...@googlegroups.com
Subject: [MRST Users] Specify Relative Permeability & Capillary Pressure Data
--Dear Sir / Madam:
I am currently trying to setup a 3-phase (oil gas water) compositional model. I first started by looking at the example “compositionalBoundaryConditionsExample” and “compositionalExample3DSixComponents”. I have a few questions regarding the specifications of the relative permeability, capillary pressure, and wetting phase. I can’t seem to find the solution or sample input that I can work on. I would appreciate if you could help clarifying or pointing me to the right direction.
1) How do I specify the three-phase relative permeability and capillary pressure that includes irreducible oil and water saturations (Sor, Swir)?
I checked tabulatedSatFunc(…) and initSimpleADIFluid(…) but neither of them works for me. tabulatedSatFunc(…) appears to be specifically for water-oil relative permeability and capillary pressure but it allows me to specify a range of saturations between Sor & Swir while initSimpleADIFluid(…) doesn’t let me specify the irreducible saturations, the minimum and maximum values for relative permeability and saturations are always within 0 and 1, and the shapes depend on the specified exponent.
2) Continued from question 1), is there a way to specify water-oil and gas-oil relative permeability and capillary pressure tables and let MRST calculate intermediate phase relative permeability using correlation like Stone II i.e., for water-wet system, use Stone II to calculate oil relative permeability? I’m not 100% clear. Ideally, I would like to specify relative permeability and capillary pressure in a tabulated format. From my understanding, the evaluateRelPerm(…) specifies individual phase relative permeability, including intermediate phase, as a function of saturation, but I’m not sure if it’s meant to be called directly as it’s part of a class object.
3) In the case that the rock is oil wet, how would I specify the wettability?
Thank you very much for your help.
Best regards,
Nithi
You received this message because you are subscribed to the Google Groups "MRST-users: The Matlab Reservoir Simulation Toolbox User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sinte...@googlegroups.com.