Looking for multi-phase multi-component simulator... is OGS it?

I am looking to investigate a problem around the mixing of gases and water/brine in subsurface porous reservoirs.

I was wondering if OpenGeoSys could simulate the a multi-phase multi-component problem involving injection and production of a CO2-air mixture in/from the porous subsurface?

Because the gases will mix, is there a way to:
a) track the composition of the mixture (e.g. say 50% co2, 25% air and 25% water at a given location)
b) track the change in properties of the gas mixture. e.g have a function taking in the composition of the gas mixture and returning the density, van Genuchten parameters etc…

At this stage no change from gas to liquid phase and vice versa can be assumed.

Thank you for you time.

Thanks for your interest in OGS multiphase flow. Unfortunately, only two-component systems are allowed at the present stage. The benchmark problems include:
https://www.opengeosys.org/docs/benchmarks/thermal-two-phase-flow/heat-pipe/
https://www.opengeosys.org/docs/benchmarks/two-phase-flow/momas/

However there is a plan to implement multiphase systems with >2 components (with phase change) and will be carried out this year.

boyanmeng thank you for your reply and the information. I will be keeping an eye out for these changes. Best wishes.

Hey, are there any news on multiphase-multicomponent systems? I am interested in seawater freezing and would like to simulate a brine (H2O water + some salty solutes) in porous ice (solid H2O). Ideally this would compromise the aqueous phase (multicomponent because of the salt), solid H2O (with possible phase change) + potentially some other solid minerals. Thus far I thought OGS looked promising because of its ability to couple with PhreeQC, so I just wanted to briefly ask about the current state of OGS multiphase :slightly_smiling_face:

Hi, thanks for your interest in OGS multiphase flow.

Actually Im not sure if the process you mentioned is strictly “multiphase flow” since it seems to me that only the liquid phase is mobile. I think the main challenge would be phase change between solid ice and water, since freeze/thaw process is currently not implemented in OGS6. Another issue is whether the flow in porous ice can be described using Darcy’s law, as this is related to the current way how OGS handles porosity changes. Otherwise the current ComponentTransport process can already handle multicomponent transport with dissolution/precip.

In case you wonder, a three-component two-phase flow process should be available in spring this year – but this is more related to liquid and gas phase.

Cheers,
Boyan

First of all, thanks for your advice, Boyan!

Actually, Im not sure if the process you mentioned is strictly “multiphase flow” since it seems to me that only the liquid phase is mobile.

It is only “multiphase” in that there are different “phases” in the “liquid-solid” sense, e.g. solids (ice, possibly precipitating minerals) and liquid (aqueous solution of H2O and salt). But you are right, only the liquid can move, and the porous medium is fully saturated in the sense that only water is present in the pores. So I get from your answer that having different individual solid components (such as ice + some mineral) is not an issue and having different components in the water is handled through ComponentTransport.

Another issue is whether the flow in porous ice can be described using Darcy’s law

That seems to be the case so that should be alright. At least most publications handle it that way, very few explicitly solve the momentum equation.

The main challenge would be phase change between solid ice and water, since freeze/thaw process is currently not implemented in OGS6

I see, so I could have a water solution in a porous medium, but there is currently no way of modelling the phase-change interaction between water and ice. This makes me wonder how OGS treats mineral precipitation, because the formation of minerals would also affect the porosity right?

Just trying to understand where to start in case I decide to dive into the OGS code to see how difficult it might get to incorporate phase-change based on what’s already implemented. I wouldn’t generally mind implementing my own phase-change treatment and it probably makes more sense for me to base it on an existing open-source framework such as OGS rather than re-inventing the wheel all over. Right now I am trying to assess which parts are already implemented :grinning_face_with_smiling_eyes:.

I will for sure clone the repo and browse through the code a bit!