Numerical Instability with Low Air-Entry Pressure pb in SaturationVanGenuchten Property

Dear OGS team and community,

I’m currently implementing a two-phase CO₂ injection benchmark in OGS using the THERMAL_TWOPHASE_WITH_PP process. My setup works well when I use high values of air-entry pressure p_b , such as 2e6 Pa. However, when I set a more physically realistic value of p_b = 3580 Pa (based on literature and TOUGH3 benchmarks), the simulation either crashes immediately or fails to initialize due to errors related to the capillary pressure or saturation.

Here are the key details of my configuration:

Saturation: SaturationVanGenuchten

Parameters:

  • residual_liquid_saturation: 0.2
  • residual_gas_saturation: 0.05 (stable) vs 0 (problematic)
  • p_b: 3580 (problematic) vs 2e6 (stable)
  • exponent: 0.4
  • Initial Condition of capillary_pressure = 0

Observation: When p_b = 2e6 , the simulation runs fine even with an initial capillary pressure of 0. When p_b = 3580 , even small initial p_c ​ values cause instability.

Another observation was that even adding capillary_pressure property and its type is CapillaryPressureVanGenuchten where I can set a maximum capillary pressure for p_b = 3580 it still doesn’t work.

With all that is said, here are my questions.

  • Does OGS internally limit maximum capillary pressure or saturation values to prevent divergence? If not, is there a recommended way to do this?
  • Could a custom saturation function with a capped capillary pressure value (e.g., as in TOUGH) be implemented, or is there a parameter I’m missing?
  • Any advice on stable initialization for simulations involving realistic low p_b ​ values?

Attached are also the Hydrogeologic Parameters for the case I am doing according to TOUGH Manual

Thank you so much for the time!

Hi Marcelo,

OGS does not limit pressures in the processes but the CapillaryPressureVanGenuchten has limiter [tag] maximum_capillary_pressure

Try different time step sizes, mass lumping, direct linear solver. And start from your stable config slowly towards the one you want to simulate.

Hope this helps,
– d

1 Like

Hallo @HMarceloLab ,

I have received you Email. Would you please pack your working OGS project in a zip file and upload it here? In this way I can give a detailed look and try to locate your problem more accurately?

Best,
Haibing

1 Like

Thank you again for taking the time to do this!

Here is the zip file for the OGS Project. I was able to follow Mr. Dmitri’s advice and reach the desired simulation parameters but with really low error tolerances and timestep. Thus, making the simulation output undesirable.

CO2.zip (17.2 KB)

Please let me know if any additional information is needed. I greatly appreciate your time and support.

Regards,
Hans