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

    values.setState(Indices::bothPhases);

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,

Dmitry


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,
Martin

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,

Dmitry

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,
Martin

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 
Dumux.
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,

Dmitry





_______________________________________________
Dumux mailing list
Dumux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to