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.2residual_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!