Hello Robert,

Thanks for the advices. There were trivial errors in the constitutive functions. I corrected them and preferred, before going further in complexity, to use a simple dummy function instead. Now the PDF is somewhat a combination of diffusion/poisson_neumann.py and diffusion/poisson_field_dependent_material.py.

https://github.com/sergeetiparent/EnvGeotech/blob/master/Richards-Buckingham_SfePy.py

The solver now converges without scaling. However, it seems from the outputs (lines 132 and 133) that the h_values are all zeros, and consequently the conductivity is constant. I replicated this issue by mixing diffusion/poisson_neumann.py and diffusion/poisson_field_dependent_material.py. Maybe wrongly defined boundary conditions?

Thanks again,

Essi


Le mercredi 12 août 2015 05:40:05 UTC-4, Robert Cimrman a écrit :
Hi Essi,

On 08/11/2015 11:04 PM, Serge-Étienne Parent wrote:
> Hi,
>
> I'm trying to solve the Richards-Buckingham equation for single-phase water
> flow in unsaturated porous media. Constitutive relationships and the
> variational formulation are developed here:
>
> https://www.authorea.com/users/23640/articles/61529
>
> I created a problem description file inspired from the examples in the
> diffusion section of the web site. However, the solution doesn't converge.
> Maybe the variational form wrong, maybe the equations part of the PDF is
> wrong, maybe its the options. I don't know. The PDF is hosted on GitHub.
>
> https://github.com/sergeetiparent/EnvGeotech/blob/master/Richards-Buckingham_SfePy.py
>
> Anyone interested in giving a hand on this case? My ultimate goal is to
> model solute transport in unsaturated soils.

I have tried to run the file, and noticed three things:

1. sfepy: nls: iter: 0, residual: 3.107828e-09 (rel: 1.000000e+00)

- the initial residual is almost zero - this might mean that you need some
scaling of parameters, so that the entries in the rhs (and the matrix) are not
too small.

2. UmfpackWarning: Singular matrix

- this might be related to one.

3. The Gamma_Bottom region seems wrong - it does not contain only the bottom
face, but the whole bottom half of the cube.

Using

     'Gamma_Bottom' : ('vertices in (z < -0.49999)', 'facet'),

fixes that.

Use:

./simple.py Richards-Buckingham_SfePy.py --save-regions-as-groups
./postproc.py cube_big_tetra_regions.vtk

to verify your region definitions.

r.