Re: [DuMux] three domain modeling

2020-07-26 Thread Dennis Gläser

Hi Mr Karami,

please send your responses to the mailing list such that other people 
can follow the discussion.



I mean, Can I have different fluidsystem for top and bottom free flow 
domain?(ie, liquidphase fluidsystem for bottom and 
gasphase fluidsystem for top)


On Sat, 25 Jul 2020 at 21:23, Mr K > wrote:
I want 2 different phase in each domain with the same navierstokesnc 
model.

Can I use one stokesNc domain for these two computational domains?



For what you want to achieve, it seems to me that you need the 
three-domain coupling, as the fluid system is a single property that is 
set for a TypeTag. At first thought, I can't think of a clean way how to 
achieve this with a custom fluid system that is used for both subsets of 
your domain, represented by a single Dumux subdomain.


Alternatively, you could maybe try an iterative approach where in each 
iteration you solve a two-domain Stokes-Darcy problem, incorporating the 
left-out Stokes subdomain via boundary conditions. But, I'm not sure if 
this converges (well), and depending on the number of iterations it 
might be substantially slower than the monolithic solve.


Good luck!
Dennis



On 25.07.20 23:36, Mr K wrote:
I mean, Can I have different fluidsystem for top and bottom free flow 
domain?(ie, liquidphase fluidsystem for bottom and 
gasphase fluidsystem for top)


On Sat, 25 Jul 2020 at 21:23, Mr K > wrote:


I want 2 different phase in each domain with the same
navierstokesnc model.
Can I use one stokesNc domain for these two computational domains?

On Sat, 25 Jul 2020 at 13:57, Dennis Gläser
mailto:dennis.glae...@iws.uni-stuttgart.de>> wrote:

Hey,

of course, if you have the same physics in both stokes
domains, then you can simply use a grid consisting of
different patches. I assumed you have different models of some
sort - i.e. Stokes / stokesnc or similar.

Cheers,
Dennis


On 25.07.20 10:02, Timo Koch wrote:

Hi,

I don‘t think you need 3 models for the dumux multidomain in
your case. You can just use the default setup with a
different grid. As you just have Stokes and Darcy just make a
grid that has some hole/channel spared out (or whatever setup
you want). For that you can use e.g. the subgridmanager with
dune-subgrid.

A grid doesn‘t need to be connected everywhere, it can also
consist of several disconnected patches. You would just need
three domains if you have for example Stokes-Darcy1p-Darcy2p
or something.

Good luck
Timo

Am 25.07.2020 um 09:27 schrieb Dennis Gläser
mailto:dennis.glae...@iws.uni-stuttgart.de>>:


Hi Mr K,

from your email I understand that you created a second
coupling manager? So you have something like

CouplingManager couplingManager1;

CouplingManager couplingManager2;

?

MultiDomain currently requires a single coupling manager
that knows about all domains, with each domain having a
unique domain id. In general, this can be implemented by
inheriting from two specializations of a two-domain coupling
manager. By specializations I mean specialized for different
pairs of domain ids. An example for this is the
FacetCouplingThreeDomainManager in


https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/dumux/multidomain/facet/couplingmanager.hh

Besides only inheriting, you need to do some overload
resolution efforts in the dderived three domain coupling
manager. In the above file, you can find examples for all of
this.

For the StokesDarcy two-domain coupling manager, I guess the
missing piece is that the subdomain ids cannot be defined
via template parameters but are hardcoded to 0,1,2. You
could try this locally by simply moving them into the
template arguments and use those wherever the 0,1 or 2 are
hardcoded.

Cheers,

Dennis


On 24.07.20 18:30, Mr K wrote:

Hello,
I want to model  porous medium with upper and lower free
flow domain.
I use 2 domain darcy & stokes exercise for doing this.
I copy stokes problem and rename to stokes2 & change
main.cc  file
In main.cc , I struct new coupling manager
with stokes2 TTag.
after making file only first of the stokes type tag
recognized. and raise error for another type tag.
how can I correct this problem?
Is there any example for 3 domain stokes - darcy - stokes ?

___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de  

https

Re: [DuMux] three domain modeling

2020-07-25 Thread Dennis Gläser

Hey,

of course, if you have the same physics in both stokes domains, then you 
can simply use a grid consisting of different patches. I assumed you 
have different models of some sort - i.e. Stokes / stokesnc or similar.


Cheers,
Dennis


On 25.07.20 10:02, Timo Koch wrote:

Hi,

I don‘t think you need 3 models for the dumux multidomain in your 
case. You can just use the default setup with a different grid. As you 
just have Stokes and Darcy just make a grid that has some hole/channel 
spared out (or whatever setup you want). For that you can use e.g. the 
subgridmanager with dune-subgrid.


A grid doesn‘t need to be connected everywhere, it can also consist of 
several disconnected patches. You would just need three domains if you 
have for example Stokes-Darcy1p-Darcy2p or something.


Good luck
Timo

Am 25.07.2020 um 09:27 schrieb Dennis Gläser 
>:



Hi Mr K,

from your email I understand that you created a second coupling 
manager? So you have something like


CouplingManager couplingManager1;

CouplingManager couplingManager2;

?

MultiDomain currently requires a single coupling manager that knows 
about all domains, with each domain having a unique domain id. In 
general, this can be implemented by inheriting from two 
specializations of a two-domain coupling manager. By specializations 
I mean specialized for different pairs of domain ids. An example for 
this is the FacetCouplingThreeDomainManager in


https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/dumux/multidomain/facet/couplingmanager.hh

Besides only inheriting, you need to do some overload resolution 
efforts in the dderived three domain coupling manager. In the above 
file, you can find examples for all of this.


For the StokesDarcy two-domain coupling manager, I guess the missing 
piece is that the subdomain ids cannot be defined via template 
parameters but are hardcoded to 0,1,2. You could try this locally by 
simply moving them into the template arguments and use those wherever 
the 0,1 or 2 are hardcoded.


Cheers,

Dennis


On 24.07.20 18:30, Mr K wrote:

Hello,
I want to model  porous medium with upper and lower free flow domain.
I use 2 domain darcy & stokes exercise for doing this.
I copy stokes problem and rename to stokes2 & change main.cc 
 file
In main.cc , I struct new coupling manager with 
stokes2 TTag.
after making file only first of the stokes type tag recognized. and 
raise error for another type tag.

how can I correct this problem?
Is there any example for 3 domain stokes - darcy - stokes ?

___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de 
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


Re: [DuMux] three domain modeling

2020-07-25 Thread Timo Koch
Hi,

I don‘t think you need 3 models for the dumux multidomain in your case. You can 
just use the default setup with a different grid. As you just have Stokes and 
Darcy just make a grid that has some hole/channel spared out (or whatever setup 
you want). For that you can use e.g. the subgridmanager with dune-subgrid.

A grid doesn‘t need to be connected everywhere, it can also consist of several 
disconnected patches. You would just need three domains if you have for example 
Stokes-Darcy1p-Darcy2p or something. 

Good luck
Timo

> Am 25.07.2020 um 09:27 schrieb Dennis Gläser 
> :
> 
> Hi Mr K,
> 
> from your email I understand that you created a second coupling manager? So 
> you have something like
> 
> CouplingManager couplingManager1;
> 
> CouplingManager couplingManager2;
> 
> ?
> 
> MultiDomain currently requires a single coupling manager that knows about all 
> domains, with each domain having a unique domain id. In general, this can be 
> implemented by inheriting from two specializations of a two-domain coupling 
> manager. By specializations I mean specialized for different pairs of domain 
> ids. An example for this is the FacetCouplingThreeDomainManager in
> 
> https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/dumux/multidomain/facet/couplingmanager.hh
> 
> Besides only inheriting, you need to do some overload resolution efforts in 
> the dderived three domain coupling manager. In the above file, you can find 
> examples for all of this.
> 
> For the StokesDarcy two-domain coupling manager, I guess the missing piece is 
> that the subdomain ids cannot be defined via template parameters but are 
> hardcoded to 0,1,2. You could try this locally by simply moving them into the 
> template arguments and use those wherever the 0,1 or 2 are hardcoded.
> 
> Cheers,
> 
> Dennis
> 
> 
> 
>> On 24.07.20 18:30, Mr K wrote:
>> Hello,
>> I want to model  porous medium with upper and lower free flow domain.
>> I use 2 domain darcy & stokes exercise for doing this.
>> I copy stokes problem and rename to stokes2 & change main.cc file
>> In main.cc, I struct new coupling manager with stokes2 TTag.
>> after making file only first of the stokes type tag recognized. and raise 
>> error for another type tag.
>> how can I correct this problem?
>> Is there any example for 3 domain stokes - darcy - stokes ?
>> 
>> 
>> ___
>> DuMux mailing list
>> DuMux@listserv.uni-stuttgart.de
>> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
> ___
> DuMux mailing list
> DuMux@listserv.uni-stuttgart.de
> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


Re: [DuMux] three domain modeling

2020-07-25 Thread Dennis Gläser

Hi Mr K,

from your email I understand that you created a second coupling manager? 
So you have something like


CouplingManager couplingManager1;

CouplingManager couplingManager2;

?

MultiDomain currently requires a single coupling manager that knows 
about all domains, with each domain having a unique domain id. In 
general, this can be implemented by inheriting from two specializations 
of a two-domain coupling manager. By specializations I mean specialized 
for different pairs of domain ids. An example for this is the 
FacetCouplingThreeDomainManager in


https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/dumux/multidomain/facet/couplingmanager.hh

Besides only inheriting, you need to do some overload resolution efforts 
in the dderived three domain coupling manager. In the above file, you 
can find examples for all of this.


For the StokesDarcy two-domain coupling manager, I guess the missing 
piece is that the subdomain ids cannot be defined via template 
parameters but are hardcoded to 0,1,2. You could try this locally by 
simply moving them into the template arguments and use those wherever 
the 0,1 or 2 are hardcoded.


Cheers,

Dennis


On 24.07.20 18:30, Mr K wrote:

Hello,
I want to model  porous medium with upper and lower free flow domain.
I use 2 domain darcy & stokes exercise for doing this.
I copy stokes problem and rename to stokes2 & change main.cc file
In main.cc, I struct new coupling manager with stokes2 TTag.
after making file only first of the stokes type tag recognized. and 
raise error for another type tag.

how can I correct this problem?
Is there any example for 3 domain stokes - darcy - stokes ?

___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


Re: [DuMux] three domain modeling

2020-07-24 Thread Flemisch, Bernd
Hi Mr K,

please be as specific as possible. Send the console output of your failing 
compilation, along with the source files that you added or changed compared to 
the two-domain case. Then it is far easier to narrow down the reason for the 
error.

Kind regards
Bernd

Von: DuMux  im Auftrag von Mr K 

Gesendet: Freitag, 24. Juli 2020 18:30:34
An: dumux@listserv.uni-stuttgart.de
Betreff: [DuMux] three domain modeling

Hello,
I want to model  porous medium with upper and lower free flow domain.
I use 2 domain darcy & stokes exercise for doing this.
I copy stokes problem and rename to stokes2 & change main.cc file
In main.cc, I struct new coupling manager with stokes2 TTag.
after making file only first of the stokes type tag recognized. and raise error 
for another type tag.
how can I correct this problem?
Is there any example for 3 domain stokes - darcy - stokes ?
___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


[DuMux] three domain modeling

2020-07-24 Thread Mr K
Hello,
I want to model  porous medium with upper and lower free flow domain.
I use 2 domain darcy & stokes exercise for doing this.
I copy stokes problem and rename to stokes2 & change main.cc file
In main.cc, I struct new coupling manager with stokes2 TTag.
after making file only first of the stokes type tag recognized. and raise
error for another type tag.
how can I correct this problem?
Is there any example for 3 domain stokes - darcy - stokes ?
___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


[DuMux] three domain modeling

2020-07-24 Thread Mr K
Hello,
I want to model  porous medium with upper and lower free flow domain.
I use 2 domain darcy & stokes exercise for doing this.
I copy stokes problem and rename to stokes2 & change main.cc file
In main.cc, I struct new coupling manager with stokes2 TTag.
after making file only first of the stokes type tag recognized. and raise
error for another type tag.
how can I correct this problem?
Is there any example for 3 domain stokes - darcy - stokes ?
___
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux