Timo,
Ah, I see, the krw and krn in PcKrSw are not static, so I can, as you
say, effectively have any kind of state in the material law.
Will not it damage the performance though? In my problem formulation,
krw and krn continuously depend on surfactant mole fraction. So I will
have to create as many FluidMatrixInteractions as there are cells. Is it OK?
Best regards,
Dmitry
On 05.09.2021 03:32, Timo Koch wrote:
Hi Dmitry,
sure this is still possible. If you want you can think of the
FluidMatrixInteraction as a collection of MaterialLawParams only that
these “params” now additionally have functions like sw(pc). So they
are the (parametrized) “law”. Instead of separating parameters and
(stateless) functions there are now in one class with state. So, if
you want a law parametrized with different parameters, you construct a
new law with new parameters (within the
SpatialParams::fluidMatrixInteraction function).
Hope this helps
Timo
5. sep. 2021 kl. 00:41 skrev Dmitry Pavlov <[email protected]>:
Hello,
I have a confession to make. For quite some time, I have been using
DuMux 3.3, refusing to upgrade because my code uses MaterialLawParams
extensively, and in DuMux 3.4 it is no longer available. I saw the
deprecation notice in 3.3, but was too busy/lazy to look into the
alternative.
Now I started to think about upgrade and... I do not know how to do
with FluidMatrixInteraction the things I have been doing with
MaterialLawParams. The changelog says: "A caller does not have to
pass a `parameters` object to the laws anymore". See, the necessity
(capability) to pass this object around allowed me to make by krw and
krn effectively depending not only on sw, but also on the
concentration of a component (surfactant), and on the pressure gradient.
I obtained the surfactant concentration and pressure gradient in
SpatialParams::materialLawParams, then used them to calculate the
capillary desaturation coefficients, and then wrapped them into the
returned instance of MaterialLawParams, which was later happily
passed to krw() and krn().
With DuMux 3.4 I see examples with different implementations of
FluidMatrixInteraction being used depending on position etc., but no
example where fluid variables other than sw affect the relative
permeability. Is this possible?
Regards,
Dmitry
_______________________________________________
DuMux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
_______________________________________________
DuMux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
_______________________________________________
DuMux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux