Thank you for a quick reply. I am currently dealing with a two-phase
two-component Darcy flow of water and oil. Both liquids are
incompressible and have constant viscosity. Gravity, thermal transfer
and diffusion are not considered. Custom functions are provided for
capillary pressure, relative permeability for water, and relative
permeability for oil. Is more information needed?
Initially, I wrote my program basing on the example
test/porousmediumflow/2p/sequential/test_mpfa2p, and it worked; now I am
exploring the implicit method option.
On 25.03.2020 19:50, Martin Schneider wrote:
the compositional models in Dumux take into account diffusion effects
between the different fluid phases,
which is why you can't use an immiscible fluidsystem.
Could you maybe send some more details about your equations you want
and about the phases and components that are involved.
On 25.03.20 17:36, Dmitry Pavlov wrote:
Following your advice, I decided to try an implicit model of my
problem, namely a PorousMediumFlowProblem, following the example in
I managed to compile it, but am getting a runtime error upon the
start and, honestly, have no idea what to do about it. I will
appreciate any pointers.
For convenience, I will describe my task again. I am trying to
simulate a two-phase two-component flow on a 2D rectangular area with
one border being the influx and the opposite one being the outflow
(setOutflow()). Two other two borders are walls, of course, with
The fluid system is realized as a TwoPImmiscible of two OnePLiquid-s.
The first of the liquids is the wetting phase, the second is the
Now, the error that I am getting is
Dune reported error: Dune::InvalidStateException
Binary diffusion coefficients of components are meaningless if
immiscibility is assumed
I never any "binary diffusion coefficients" directly in my files, so
it comes from the method.
I have doubts about the following line of my program
which is present in dirichletAtPos(), neumannAtPos(), and
initialAtPos() implementation. I do not really understand what does
this setState() setting mean, so I kind of guessed.
Am I on the right path at all here? I can provide more details, of
course, if that helps to understand what is going on.
On 23.03.2020 20:59, Martin Schneider wrote:
most of the Dumux users are using the fully-coupled (implicit) models.
The sequential methods have not really been further developed (at
least the discretization schemes)
over the last few years.
However, if you want to use the MPFA-L method you have to use the
The implicit models only support the MPFA-O scheme.
On 23.03.20 18:53, Dmitry Pavlov wrote:
I guess not, I took the first one that worked, after numerous
failed attempts with other methods taken from random examples,
though the said attempts might have failed because of me being a
non-experienced user, and not because of the nature of the methods.
Would you suggest to use an implicit method instead?
On 23.03.2020 20:48, Martin Schneider wrote:
if I remember correctly, the sequential MPFA-L scheme requires
that each vertex is surrounded by 4 quadrilaterals (in 2D).
If this is not the case, the construction of interaction volumes
Is there any reason why you are using the sequential method?
On 23.03.20 18:42, Dmitry Pavlov wrote:
1.) You should be able to use more recent versions of gmsh if you go to File ->
Export. If you name your grid *.msh
there will be an option to chose the older Version II ASCII format, readable by
2.) Have you tried an unstructured grid with quadrilaterals? According to the
header where the error comes from,
only quadrilaterals are supported (at least, this is what some comments in the
code suggest). You can force gmsh to
use only quads (also unstructured ones).
I just tried an unstructured quad grid and got the same error.
However, a gmsh-generated structured quad grid went fine, which
means that there is no trouble with gmsh itself.
Good news: using FVPressureTwoPAdaptive instead of
FvMpfaL2dPressureTwoP allowed me to use an gmsh-generated
unstructured grid (both triangular and quadrilateral). I am
wondering whether MPFA-L in DuMux "officially" requires a
structured quad grid.
Dumux mailing list