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