Implementing Mass Flux Pulse in unsaturated Richards_Flow OGS-5

Hi all,

I have some questions regarding the generation of a Mass Flux into a domain to obtain a predefined amount of component within that domain.

The rough set-up is rather simplistic: I need the Mass Flux as a Pulse from the inflow boundary which allows me to have a later concentration free water pulse, or more descriptive: a single Pulse application of a compound to the domain surface and a later precipitation event that transports the compound into the domain. Domain is a 2D XZ plane and inflow is from the top boundary.

So far I understood that the time dependent Mass Flux can be implemented by assigning a time variable source term for the water flux and a time variable Dirichilet BC for the compound concentration which satisfies m = SUM (C * q * A) * delta t (in the discrete form, where m is the final amount of compound wanted in the domain, C the Dirichilet BC for the concentration, q the Darcy flux resp. Darcy velocity and A the perpendicular boundary area) during the initial pulse and is zero thereafter to allow a concentration free subsequent water pulse. I hope this is correct to this end.

Now for my question:

  1. My domain is unsaturated, thus Richards_Flow is used. In the unsaturated case the velocity OGS computes at the inflow boundary (VELOCITY_Z1 in my case) is much lower than the Darcy velocity I assigned for the water flux in the *.ST file (as $CONSTANT_NEUMANN). Does OGS use this velocity V_Z1 to compute the Mass Flux over the boundary or will it still compute Mass Flux with the assigned Darcy velocity? For the latter I’d be good, but if it uses V_Z1 also the Mass Flux will be smaller and I won’t get the full amount of compound I want in the domain. Does anyone know how this is handled and if OGS indeed calculates Mass Flux from V_Z1 how I can correctly assign the Dirichilet BC?

  2. The subsequent water pulse. As this pulse has to be free of concentration I changed the Dirichilet BC for the compound concentration to zero one this pulse is active. This works, but will affect my mass balance as from one time step to the other all concentration values at the entire inflow boundary are changed from a rather high value to zero. Does anyone know of a work around for this issue?

I would very much appreciate any help!

Cheers, Erik

Hi Erik,

at first, please always specify in the title if your problem is related to OGS-5 or OGS-6.

1.Q: Can you provide input files?
2.Q: I suggest to refine the time step around the mass impulse and the mesh around the corresponding boundary. Additionally you could smooth your mass impulse function (#CURVE in RFD or #FUNCTION in FCT) at the beginning and end of the impulse.


Hi Johannes,

OGS-5 it is, sorry for forgetting that.

1.Q: just attached the files here
2.Q: I already implemented this in my set-up to some extend, defining the pulses as Gauss functions with timesteps of 2e-3 d (approx. 3 min). The mesh is refined to 0.5 cm in X and Z. Unfortunately, I’m bound to use quad elements due to dependent implementations what restricts my flexibility in spatial refinement…

I advanced a bit on those questions and could refine the current issues a bit more…

Regarding Q.1: from mass balancing using V_Z1 it seems like OGS does correctly compute the Mass Flux into the domain. At least I get the correct advective mass flux. So V_Z1 should indeed be the Darcy velocity. So this question is resolved to this end…

However: in my unsaturated set-up advective fluxes are small and diffusion-dispersion havily impacts total convective mass fluxes. I tired to depict their effect in the two attached graphs, once running the simulations with diffusion-dispersion (Fig. 1) and once without (Fig. 2).

[Q1.1] For my set-up I would clearly need a no-flux BC setting D grad ( C ) = 0 to get a somewhat consistent mass in the domain. From my understanding this would be the default case for not assigning a BC for the mobile species in OGS? But how I got it, this is not implementable in OGS for time dependent BC or did I miss something here?

[Q1.2] My current work around is splitting the set-up, so using the first pulse to generate a RESTART file for the initial conditions where I then set a no-flux BC at the inflow. The problem here is that now some concentration diffuses back to the boundary nodes and when the concentration free water pulse sets in, OGS again computes a mass flux with the concentration values at the boundary nodes. Is there any way to stop OGS from doing this?

For Q.2 I figured it might be okay to empirically account for the mass loss due to the changing BC…

Thanks already for bothering with this!
Best, Erik (96.8 KB)