Specify Relative Permeability & Capillary Pressure Data

444 views
Skip to first unread message

Nithiwat Siripatrachai

unread,
Jan 30, 2018, 12:52:02 AM1/30/18
to sinte...@googlegroups.com

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

Olav Møyner

unread,
Jan 30, 2018, 3:15:27 AM1/30/18
to Nithiwat Siripatrachai, sinte...@googlegroups.com

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


---

Olav Møyner, PhD

SINTEF Digital

Department of Mathematics & Cybernetics

+47 99 02 49 49


From: sinte...@googlegroups.com <sinte...@googlegroups.com> on behalf of Nithiwat Siripatrachai <nithi...@gmail.com>
Sent: Tuesday, January 30, 2018 6:51:54 AM
To: sinte...@googlegroups.com
Subject: [MRST Users] Specify Relative Permeability & Capillary Pressure Data
 
--
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 sintef-mrst...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sintef-mrst/5a7007ff.14319d0a.28699.be21%40mx.google.com.
For more options, visit https://groups.google.com/d/optout.

nithi...@gmail.com

unread,
Jan 31, 2018, 12:29:51 AM1/31/18
to MRST-users: The Matlab Reservoir Simulation Toolbox User Group
Dear Olav:

Thank you for your super fast response. I understand better now. I'll try these functions and see how it goes.

Best regards,
Nithi

Serveh Naderi

unread,
Mar 3, 2020, 5:06:10 AM3/3/20
to MRST-users: The Matlab Reservoir Simulation Toolbox User Group

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


On Tuesday, January 30, 2018 at 8:15:27 AM UTC, Olav Møyner wrote:

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


---

Olav Møyner, PhD

SINTEF Digital

Department of Mathematics & Cybernetics

+47 99 02 49 49


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.

Olav Møyner

unread,
Mar 3, 2020, 5:22:23 AM3/3/20
to Serveh Naderi, MRST-users: The Matlab Reservoir Simulation Toolbox User Group
Hi,

I think the reason is that MRST expects the rel. perms. to be given with respect to that phase, i.e. krW as a function of sW and krOW as a function of sO. You can see this in assignSWOF, which is used when making the fluid object from eclipse files:
        krW{i} = @(sw) reg.interp1d(SW, swof(:, 2), sw);
        krOW{i} = @(so) reg.interp1d(SW, swof(:, 3), 1-so);

So switching around your krO definition may fix it.

Best regards,
Olav

From: sinte...@googlegroups.com <sinte...@googlegroups.com> on behalf of Serveh Naderi <serveh....@gmail.com>
Sent: Tuesday, March 3, 2020 11:06
To: MRST-users: The Matlab Reservoir Simulation Toolbox User Group <sinte...@googlegroups.com>
Subject: Re: [MRST Users] Specify Relative Permeability & Capillary Pressure Data
 
To unsubscribe from this group and stop receiving emails from it, send an email to sintef-mrst...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sintef-mrst/f1996894-14ca-4497-891b-d604eb1aef15%40googlegroups.com.
Message has been deleted

Нуртас Смагулов

unread,
Apr 27, 2022, 10:02:12 AM4/27/22
to MRST-users: The Matlab Reservoir Simulation Toolbox User Group
Dear Olav,

The title of my research work is "Investigation of the Effects of Wettability Alteration on the OIl Field Development based on Reservoir simulation". Currently , I'm in an internship at the research center KMG Engineering LLP of national oil and gas company "KazMunaiGas" (Nur-Sultan, Kazakhstan). The employees of Department of integrated modeling of this center was developed a new reservoir simulator based on improved mathematical formulation based on compositional model of UTCHEM simulator. Now we are working on development of chemical flooding module based on Black Oil three phase flow model to implement in this new simulator. For that reason we regarding of simulators with open source code and we are interested with MRST project. In the EOR module of current latest version of MRST 2022a was realized surfactant and surfactant/polymer models. I read description of these models and the  Kristian Jørgensen's article about implementation surfactant model in MRST with Eclipse basis. So, if I understand right, in formulation of this model does not take into account the processes of wettability alteration and you confirmed it in your responce to Nithi. Now , do you have plans to add the wettability alteration processes in Surfactant/polymer models ? And if you have group of developers who working on it, we can collaborate !

I'll be waiting for your answer.

Best regards,

Nurtas Smagulov, PhD student
Satbayev University , Almaty, Kazakhstan
Intern, KMG Engeeniring

вторник, 30 января 2018 г. в 14:15:27 UTC+6, Olav Møyner:
Reply all
Reply to author
Forward
0 new messages