Dear Dmitry,

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 to solve
and about the phases and components that are involved.

Best regards,

On 25.03.20 17:36, Dmitry Pavlov wrote:

Dear Martin,

Following your advice, I decided to try an implicit model of my problem, namely a PorousMediumFlowProblem, following the example in tests/porousmediumflow/2pnc/implicit/diffusion.

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 setAllNeumann().

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 nonwetting phase.

Now, the error that I am getting is

Dune reported error: Dune::InvalidStateException [binaryDiffusionCoefficient:.../dumux/dumux/material/fluidsystems/2pimmiscible.hh:462]: 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.

Best regards,


On 23.03.2020 20:59, Martin Schneider wrote:
Dear Dmitry,

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 sequential method.
The implicit models only support the MPFA-O scheme.

Best regards,

On 23.03.20 18:53, Dmitry Pavlov wrote:

Dear Martin,

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?

Best regards,


On 23.03.2020 20:48, Martin Schneider wrote:
Dear Dmitry,

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 fails.

Is there any reason why you are using the sequential method?

Best regards,

On 23.03.20 18:42, Dmitry Pavlov wrote:

Dear Kilian,

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 
Thank you!
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.

Best regards,


Dumux mailing list

Reply via email to