Negative solute concentrations when pulses pass through soil layer interfaces
If a solute concentration pulse moves through a soil layer interface, the concentrations at the lagging flank of the pulse regularly become negative.
I encountered the issue in a gravity flow regime with layered sand and silt, and it occurs for any layering (see attached files). Moreover, the negative values subsequently lead to oscillations within the solution that make it completely obsolete.
Steps to reproduce
See files attached.
What is the current bug behaviour?
Solute concentrations become negative.
What is the expected correct behaviour?
Solute concentrations are always positive.
Relevant logs, screenshots, files...?
Pulse passing from silt into sand with layer interface at
|Simulation Case||Solute pulse in layered medium in gravity flow|
|PFG config file||if any|
|Grid mapping file||mapping.h5|
|GMSH grid file||if any|
|Boundary Condition file||infiltration.yml, solute.yml|
|Parameterization file||richards_param.yml, transport_param.yml|
|Run config file||sand_up.ini, silt_up.ini|
Ideas how to fix this?
Not sure here, just guessing:
- Check for negative values in solution. If they occur (or exceed a certain tolerance), recalculate with lower time step.
- Cut off any negative values (might lead to discontinuities in gradients)
- Check mass balance after each time step