Capillary-driven unsaturated flow through layered porous media — Richards' and Two-Phase Darcy both struggle, looking for advice

Please login with a confirmed email address before reporting spam

I'm trying to simulate water wicking through a layered porous medium and need advice on the right physics interface or convergence strategies in COMSOL.

What I want to simulate

A finite water droplet sits on top of a stack of porous layers. Capillary suction pulls water through the layers into a paper channel and absorbent paper region. I need to:

  • Drive flow with capillary pressure / suction (not forced flux)
  • Enforce finite water volume (the droplet eventually exhausts)
  • See saturation evolve over time in each domain (rise, plateau, drop)

Materials have anisotropic permeability in the top layers (columnar pores, vertical permeability higher than lateral) and isotropic permeability in the paper regions.

What I've tried

Richards' Equation with finite reservoir

  • Added a cylinder domain on top of the porous stack representing the finite droplet
  • Tried Brooks-Corey and Van Genuchten retention models for the cylinder
  • With realistic capillary parameters (strong suction), the solver becomes too stiff to converge — timesteps collapse to nanoseconds
  • With "lighter" parameters that converge, the cylinder doesn't sustain water supply: pressure equilibrates quickly with the porous layers, flow drops by ~100× within seconds, and the top layer never reaches saturation
  • Tried various outlet drainage BCs — either too aggressive (water passes through without accumulating) or too weak (no convergence)

Two-Phase Darcy's Law

  • Same convergence stiffness issues, plus 2× more unknowns
  • Same retention curves (VG, BC), so same endpoint singularity problems near Se=1
  • Did not solve the source-supply issue

Common failure modes

  • "Negative power of zero" errors from VG retention near Se=1 (using l=1 helps but doesn't always avoid)

My current diagnosis

The fundamental issue seems to be: with realistic capillary parameters for fine-pore media, the gradients are sharp enough to make the solver stiff, but with milder parameters the cylinder reservoir can't sustain supply long enough to fill the porous layers to saturation.

Questions

  1. Is there a recommended physics interface in COMSOL for capillary-driven wicking through layered porous media with a finite water source? I've considered Moisture Transport in Porous Media but it uses moisture diffusivity rather than direct permeability + retention curves.

  2. Are there standard convergence strategies for stiff Richards' / Two-Phase problems? I've tried lower BDF order, manual time stepping, and regularizing Se with min/max clamps in user-defined retention. Other suggestions?

  3. Is the cylinder reservoir approach the right way to enforce finite water volume, or should I be using something else? Coefficient Form PDE with explicit moving boundary? Moisture Transport with sorption isotherms? Auxiliary domain with custom storage?

  4. Has anyone implemented dynamic capillary pressure (Hassanizadeh-Gray) in COMSOL for fast wetting problems? Is the τ ∂Se/∂t term significant enough to matter here?

Any pointers, papers, or example models would be hugely appreciated. Happy to share more details if useful.

Thanks!


Reply

Please read the discussion forum rules before posting.

Please log in to post a reply.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.