OGS5 - Questions on domain orientation, richards flow, medium properties, mass flux

Hi everyone, I had a few pressing questions about OGS5. I hope these can be addressed here.

  1. Domain orientation - Does the orientation of the domain matter when the flow rate is enforced? I understood that (for 2D geometry) XZ plane will take gravity into account, while XY plane won’t do so. But if a particular flow rate is enforced, it shouldn’t matter if it is XY or XZ plane. It will be great to hear your opinions on this.

  2. While setting up some richards flow scenarios, I noticed that the system adjusts quickly and settles at the degree of saturation. How should I be sure that it is taking into account changing flow regimes (transient conditions), as I would like to see varying degrees of saturation in different zones of the domain?

  3. To consider anisotropy in the permeability field, I am using the gstools package developed by sebastian.mueller. Should I be writing the same anisotropy in the *.mmp file? If so, Is that not double counting it?

  4. How does OGS handle boundaries where no boundary condition is specified for mass flux?

  • Tutorial says it is treated as a no flow boundary (Page27, 3.3.2 Boundary Condition)

  • Forum says it is open to advective mass flux

Looking forward to hearing your thoughts about the above,


1 Like

Hey Swamini,

At least on point 3, I could give some hints:
In GSTools the term anisotropy refers to the ratio of correlation lengths in different directions.

from gstools import SRF, Gaussian
x = y = range(100)
model = Gaussian(dim=2, var=1, len_scale=20, anis=0.1)
srf = SRF(model)
field = srf((x, y), mesh_type='structured')


The resulting point-values for conductivity/transmissivity are then assigned with each cell in OGS as an isotropic permeability value (horizontal and vertical flow equally possible).

Another interpretation of anisotropy (what you may mean by settable in MMP) is the ratio between horizontal and vertical hydraulic conductivity values. This implies that permeability is represented as a tensor (not a single value per cell -> horizontal and vertical flow NOT equally possible).
See here: https://en.wikipedia.org/wiki/Hydraulic_conductivity#Anisotropy

So I would recommend setting it like (using ogs5py):




Thank you, Sebastian, for the input.

about 1.: Do you refer to Liquid Flow, Groundwater Flow or Richards Flow?

about 2.: I would have to see you project setting to comment on this properly. However, it seems like you model runs quickly into a steady state.

about 4: Nothing will go in/out of the model at closed flow boundaries. All undefined flow boundaries are closed. If user define an open flow boundary (Dirichlet or Neumann) then it is automatically open for advective mass fluxes as well, mass leaves the model with the water. (Mass in this context means not the water, mass is e.g. your soluted contaminant)

1 Like

Hi Thomas,

Further on Q1: I am referring to Richards Flow here. I should have specified this in the post.

Q2: I will set up a share folder, but Timo Houben already gave me some clues about this. I will circle back with feedback once I test them.

Q4. Thank you for this clarification!

1 Like

Hi @swamini.khurana,

Q1: from my experience, z-axis accounts for gravity acceleration at least in the RICHARDS_FLOW and LIQUID_FLOW processes.
By enforcing a flow rate you mean defining a source term, right?


Yes, Johannes, my understanding is the same about gravity acceleration. Currently, I am defining a source term for Richards flow to enforce the required flow rate in the domain.