
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...
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...
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:
- 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.
- UmfpackWarning: Singular matrix
- this might be related to one.
- 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.