Re: [DuMuX] 1d simulations

2018-12-21 Thread Bernd Flemisch

Hi Lorenzo,

the example that you are referring to uses a 2d grid for an effectively 
1d problem.


Dumux can also perform real 1d simulations.

The dimension usually is induced from the number that is passed to the 
grid class instantiation:

SET_TYPE_PROP(LensCCProblem, Grid, Dune::UGGrid<2>);
The "2" in there.

For a real 1d simulation, have a look at `test_generalizeddirichlet` in 
`test/porousmediumflow/2p/implicit`.


Kind regards
Bernd

On 12/21/2018 11:23 AM, lc wrote:


Hello,

yes, I saw the example in the dumux-lecture.

Is it the dimension induced by the Grid definition in the input file: 
Cells 100 1 ?


And consequently the system of equations solved is 1d?

Thank you,

Lorenzo

On 21.12.2018 11:52, Timo Koch wrote:



Am 21.12.2018 um 08:39 schrieb lc >:



Good morning,

I have one general question:

is it possible to run 1 dimensional test case, for example, buckely 
leverett?




yes.

Timo


Kind regards,

Lorenzo


On 19.12.2018 13:26, Timo Koch wrote:


Hi Lorenzo,

does it get better if you lower the CFL factor?

Timo

On 19.12.18 11:10, lc wrote:

Hello,

I observed an unexpected behaviour for which I'd like to ask your 
help. In the attached figure you can see a snapshot of the 
solution. In both the contour and in the line chart you may notice 
some spurious "background noize". I noticed that such effects 
starts at a certain time from the right (outlet) boundary and then 
increase entity and becomes as you see.


I think it could be due to the fact that my initial condition is 
not consistent with boundary condition but it is just an 
hypothesis. I enclose the file where you can read the IC.


I would like to ask if you ever noticed some similar effect and 
possible ways to fix it.


About fixing, I had 2 ideas:

1) to add an "epsilon" premultiplying the wetting phase saturation 
term which I expect should dump it out; (how to do it?)


2) to add a cut-off function to the initial.

Is there anything like this availble in DuMux?

Or should I use the regularization of the saturation, which now I 
don't use?


I use DuMux 2.12.


Thank you,

Lorenzo


On 17.12.2018 16:43, Dennis Gläser wrote:

Hi Lorenzo,

sorry, I didn't realize that you were using Dumux2.12. In this 
case, forget my last mail. In the future, please try to reply to 
previous mails of the conversation so that they can be read (I am 
sure you mentioned somewhere that you were using 2.12).


In DuMuX2.12 there was no support for a spatially varying 
definition of the wetting/non-wetting phase. Using 2.12 you can 
obtain the wetting/non-wetting phase mass conservation equation 
indices from the Indices class via Indices::contiWEqIdx and 
Indices::contiNEqIdx.


Best wishes,

Dennis


On 17.12.18 14:33, Dennis Gläser wrote:

Hi Lorenzo,

you have to distinguish between primary variable indices and 
equation indices. Your equations (2p model) are always the mass 
balances of the two phases, independent of you choice of primary 
variables. In 2p/implicit/incompressible/problem.hh you have an 
example on how to adress the equation indices:


using Indices = typename GetPropTypeProperties::ModelTraits>::Indices;

enum {
    pressureH2OIdx = Indices::pressureIdx,
    saturationDNAPLIdx = Indices::saturationIdx,
    contiDNAPLEqIdx = Indices::conti0EqIdx + 
FluidSystem::comp1Idx,

    waterPhaseIdx = FluidSystem::phase0Idx,
    dnaplPhaseIdx = FluidSystem::phase1Idx
};

In this case DNAPL is the non-wetting phase. The equation index 
is adressed via Indices::conti0EqIdx (which gives the index of 
the first mass balance equation within your vector of equations) 
plus the component index of the first component in the fluid 
system.


So, in order to determine the right equation indices for the 
phases of your fluid system within the equation vector, you need 
to use conti0EqIdx and then add the index of the respective 
components of your fluid system.


I am sorry if my last answer wasn't adressing the right issue. 
Also, it seems that I wrote the default formulation is pw-sn. 
That is wrong, the default formulation is p0s1, meaning that the 
pressure primary variable is associated with the phase with 
index 0 of your fluid system, and the saturation variable is 
associated with the phase with index 1 of your fluid system. You 
can change this to p1s0, if desired.


However, from the indices you can only obtain pressureIdx or 
saturationIdx (there is no such thing as Indice::snIdx anymore), 
as DuMuX can not decide for you which phase is the wetting phase 
or which the non-wetting phase. You tell DuMux which phase is 
the wetting phase by implementing the function wettingPhase() or 
wettingPhaseAtPos() in your spatial parameters.


I hope this helps you!

Best wishes,

Dennis




On 17.12.18 13:51, lc wrote:

Hello,


On 02.11.2018 10:45, Dennis Gläser wrote:
per default, the formulation for the 2p model is pw-sn. That 
means your primary variables are the water pressure 

Re: [DuMuX] 1d simulations

2018-12-21 Thread lc

Hello,

yes, I saw the example in the dumux-lecture.

Is it the dimension induced by the Grid definition in the input file: 
Cells 100 1 ?


And consequently the system of equations solved is 1d?

Thank you,

Lorenzo

On 21.12.2018 11:52, Timo Koch wrote:



Am 21.12.2018 um 08:39 schrieb lc >:



Good morning,

I have one general question:

is it possible to run 1 dimensional test case, for example, buckely 
leverett?




yes.

Timo


Kind regards,

Lorenzo


On 19.12.2018 13:26, Timo Koch wrote:


Hi Lorenzo,

does it get better if you lower the CFL factor?

Timo

On 19.12.18 11:10, lc wrote:

Hello,

I observed an unexpected behaviour for which I'd like to ask your 
help. In the attached figure you can see a snapshot of the 
solution. In both the contour and in the line chart you may notice 
some spurious "background noize". I noticed that such effects 
starts at a certain time from the right (outlet) boundary and then 
increase entity and becomes as you see.


I think it could be due to the fact that my initial condition is 
not consistent with boundary condition but it is just an 
hypothesis. I enclose the file where you can read the IC.


I would like to ask if you ever noticed some similar effect and 
possible ways to fix it.


About fixing, I had 2 ideas:

1) to add an "epsilon" premultiplying the wetting phase saturation 
term which I expect should dump it out; (how to do it?)


2) to add a cut-off function to the initial.

Is there anything like this availble in DuMux?

Or should I use the regularization of the saturation, which now I 
don't use?


I use DuMux 2.12.


Thank you,

Lorenzo


On 17.12.2018 16:43, Dennis Gläser wrote:

Hi Lorenzo,

sorry, I didn't realize that you were using Dumux2.12. In this 
case, forget my last mail. In the future, please try to reply to 
previous mails of the conversation so that they can be read (I am 
sure you mentioned somewhere that you were using 2.12).


In DuMuX2.12 there was no support for a spatially varying 
definition of the wetting/non-wetting phase. Using 2.12 you can 
obtain the wetting/non-wetting phase mass conservation equation 
indices from the Indices class via Indices::contiWEqIdx and 
Indices::contiNEqIdx.


Best wishes,

Dennis


On 17.12.18 14:33, Dennis Gläser wrote:

Hi Lorenzo,

you have to distinguish between primary variable indices and 
equation indices. Your equations (2p model) are always the mass 
balances of the two phases, independent of you choice of primary 
variables. In 2p/implicit/incompressible/problem.hh you have an 
example on how to adress the equation indices:


using Indices = typename GetPropTypeProperties::ModelTraits>::Indices;

enum {
    pressureH2OIdx = Indices::pressureIdx,
    saturationDNAPLIdx = Indices::saturationIdx,
    contiDNAPLEqIdx = Indices::conti0EqIdx + 
FluidSystem::comp1Idx,

    waterPhaseIdx = FluidSystem::phase0Idx,
    dnaplPhaseIdx = FluidSystem::phase1Idx
};

In this case DNAPL is the non-wetting phase. The equation index 
is adressed via Indices::conti0EqIdx (which gives the index of 
the first mass balance equation within your vector of equations) 
plus the component index of the first component in the fluid system.


So, in order to determine the right equation indices for the 
phases of your fluid system within the equation vector, you need 
to use conti0EqIdx and then add the index of the respective 
components of your fluid system.


I am sorry if my last answer wasn't adressing the right issue. 
Also, it seems that I wrote the default formulation is pw-sn. 
That is wrong, the default formulation is p0s1, meaning that the 
pressure primary variable is associated with the phase with index 
0 of your fluid system, and the saturation variable is associated 
with the phase with index 1 of your fluid system. You can change 
this to p1s0, if desired.


However, from the indices you can only obtain pressureIdx or 
saturationIdx (there is no such thing as Indice::snIdx anymore), 
as DuMuX can not decide for you which phase is the wetting phase 
or which the non-wetting phase. You tell DuMux which phase is the 
wetting phase by implementing the function wettingPhase() or 
wettingPhaseAtPos() in your spatial parameters.


I hope this helps you!

Best wishes,

Dennis




On 17.12.18 13:51, lc wrote:

Hello,


On 02.11.2018 10:45, Dennis Gläser wrote:
per default, the formulation for the 2p model is pw-sn. That 
means your primary variables are the water pressure and the 
non-wetting phase saturation (in your case oil I assume). 
Therefore, Indices::swIdx does not exists as it is not part of 
your primary variables.



then, if physically I have a water (wetting) phase injection at 
inlet (which traduces into a mass flow rate) how can I impose it 
in 2p implicit model?



Best regards,

Lorenzo

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

Re: [DuMuX] 1d simulations

2018-12-21 Thread Timo Koch


> Am 21.12.2018 um 08:39 schrieb lc :
> 
> Good morning,
> 
> I have one general question:
> 
> is it possible to run 1 dimensional test case, for example, buckely leverett?
> 

yes. 

Timo
> Kind regards,
> 
> Lorenzo
> 
> 
> 
>> On 19.12.2018 13:26, Timo Koch wrote:
>> Hi Lorenzo,
>> 
>> does it get better if you lower the CFL factor?
>> 
>> Timo
>> 
>>> On 19.12.18 11:10, lc wrote:
>>> Hello, 
>>> 
>>> I observed an unexpected behaviour for which I'd like to ask your help. In 
>>> the attached figure you can see a snapshot of the solution. In both the 
>>> contour and in the line chart you may notice some spurious "background 
>>> noize". I noticed that such effects starts at a certain time from the right 
>>> (outlet) boundary and then increase entity and becomes as you see. 
>>> 
>>> I think it could be due to the fact that my initial condition is not 
>>> consistent with boundary condition but it is just an hypothesis. I enclose 
>>> the file where you can read the IC. 
>>> 
>>> I would like to ask if you ever noticed some similar effect and possible 
>>> ways to fix it. 
>>> 
>>> About fixing, I had 2 ideas: 
>>> 
>>> 1) to add an "epsilon" premultiplying the wetting phase saturation term 
>>> which I expect should dump it out; (how to do it?) 
>>> 
>>> 2) to add a cut-off function to the initial. 
>>> 
>>> Is there anything like this availble in DuMux? 
>>> 
>>> Or should I use the regularization of the saturation, which now I don't 
>>> use? 
>>> 
>>> I use DuMux 2.12. 
>>> 
>>> 
>>> Thank you, 
>>> 
>>> Lorenzo 
>>> 
>>> 
 On 17.12.2018 16:43, Dennis Gläser wrote: 
 Hi Lorenzo, 
 
 sorry, I didn't realize that you were using Dumux2.12. In this case, 
 forget my last mail. In the future, please try to reply to previous mails 
 of the conversation so that they can be read (I am sure you mentioned 
 somewhere that you were using 2.12). 
 
 In DuMuX2.12 there was no support for a spatially varying definition of 
 the wetting/non-wetting phase. Using 2.12 you can obtain the 
 wetting/non-wetting phase mass conservation equation indices from the 
 Indices class via Indices::contiWEqIdx and Indices::contiNEqIdx. 
 
 Best wishes, 
 
 Dennis 
 
 
> On 17.12.18 14:33, Dennis Gläser wrote: 
> Hi Lorenzo, 
> 
> you have to distinguish between primary variable indices and equation 
> indices. Your equations (2p model) are always the mass balances of the 
> two phases, independent of you choice of primary variables. In 
> 2p/implicit/incompressible/problem.hh you have an example on how to 
> adress the equation indices: 
> 
> using Indices = typename GetPropType Properties::ModelTraits>::Indices;
> enum { 
> pressureH2OIdx = Indices::pressureIdx, 
> saturationDNAPLIdx = Indices::saturationIdx, 
> contiDNAPLEqIdx = Indices::conti0EqIdx + FluidSystem::comp1Idx, 
> waterPhaseIdx = FluidSystem::phase0Idx, 
> dnaplPhaseIdx = FluidSystem::phase1Idx 
> }; 
> 
> In this case DNAPL is the non-wetting phase. The equation index is 
> adressed via Indices::conti0EqIdx (which gives the index of the first 
> mass balance equation within your vector of equations) plus the component 
> index of the first component in the fluid system. 
> 
> So, in order to determine the right equation indices for the phases of 
> your fluid system within the equation vector, you need to use conti0EqIdx 
> and then add the index of the respective components of your fluid system. 
> 
> I am sorry if my last answer wasn't adressing the right issue. Also, it 
> seems that I wrote the default formulation is pw-sn. That is wrong, the 
> default formulation is p0s1, meaning that the pressure primary variable 
> is associated with the phase with index 0 of your fluid system, and the 
> saturation variable is associated with the phase with index 1 of your 
> fluid system. You can change this to p1s0, if desired. 
> 
> However, from the indices you can only obtain pressureIdx or 
> saturationIdx (there is no such thing as Indice::snIdx anymore), as DuMuX 
> can not decide for you which phase is the wetting phase or which the 
> non-wetting phase. You tell DuMux which phase is the wetting phase by 
> implementing the function wettingPhase() or wettingPhaseAtPos() in your 
> spatial parameters. 
> 
> I hope this helps you! 
> 
> Best wishes, 
> 
> Dennis 
> 
> 
> 
> 
>> On 17.12.18 13:51, lc wrote: 
>> Hello, 
>> 
>> 
>>> On 02.11.2018 10:45, Dennis Gläser wrote: 
>>> per default, the formulation for the 2p model is pw-sn. That means your 
>>> primary variables are the water pressure and the non-wetting phase 
>>> saturation (in your case oil I assume). Therefore, Indices::swIdx does 
>>> not exists as it 

[DuMuX] 1d simulations

2018-12-20 Thread lc

Good morning,

I have one general question:

is it possible to run 1 dimensional test case, for example, buckely 
leverett?


Kind regards,

Lorenzo


On 19.12.2018 13:26, Timo Koch wrote:


Hi Lorenzo,

does it get better if you lower the CFL factor?

Timo

On 19.12.18 11:10, lc wrote:

Hello,

I observed an unexpected behaviour for which I'd like to ask your 
help. In the attached figure you can see a snapshot of the solution. 
In both the contour and in the line chart you may notice some 
spurious "background noize". I noticed that such effects starts at a 
certain time from the right (outlet) boundary and then increase 
entity and becomes as you see.


I think it could be due to the fact that my initial condition is not 
consistent with boundary condition but it is just an hypothesis. I 
enclose the file where you can read the IC.


I would like to ask if you ever noticed some similar effect and 
possible ways to fix it.


About fixing, I had 2 ideas:

1) to add an "epsilon" premultiplying the wetting phase saturation 
term which I expect should dump it out; (how to do it?)


2) to add a cut-off function to the initial.

Is there anything like this availble in DuMux?

Or should I use the regularization of the saturation, which now I 
don't use?


I use DuMux 2.12.


Thank you,

Lorenzo


On 17.12.2018 16:43, Dennis Gläser wrote:

Hi Lorenzo,

sorry, I didn't realize that you were using Dumux2.12. In this case, 
forget my last mail. In the future, please try to reply to previous 
mails of the conversation so that they can be read (I am sure you 
mentioned somewhere that you were using 2.12).


In DuMuX2.12 there was no support for a spatially varying definition 
of the wetting/non-wetting phase. Using 2.12 you can obtain the 
wetting/non-wetting phase mass conservation equation indices from 
the Indices class via Indices::contiWEqIdx and Indices::contiNEqIdx.


Best wishes,

Dennis


On 17.12.18 14:33, Dennis Gläser wrote:

Hi Lorenzo,

you have to distinguish between primary variable indices and 
equation indices. Your equations (2p model) are always the mass 
balances of the two phases, independent of you choice of primary 
variables. In 2p/implicit/incompressible/problem.hh you have an 
example on how to adress the equation indices:


using Indices = typename GetPropTypeProperties::ModelTraits>::Indices;

enum {
    pressureH2OIdx = Indices::pressureIdx,
    saturationDNAPLIdx = Indices::saturationIdx,
    contiDNAPLEqIdx = Indices::conti0EqIdx + 
FluidSystem::comp1Idx,

    waterPhaseIdx = FluidSystem::phase0Idx,
    dnaplPhaseIdx = FluidSystem::phase1Idx
};

In this case DNAPL is the non-wetting phase. The equation index is 
adressed via Indices::conti0EqIdx (which gives the index of the 
first mass balance equation within your vector of equations) plus 
the component index of the first component in the fluid system.


So, in order to determine the right equation indices for the phases 
of your fluid system within the equation vector, you need to use 
conti0EqIdx and then add the index of the respective components of 
your fluid system.


I am sorry if my last answer wasn't adressing the right issue. 
Also, it seems that I wrote the default formulation is pw-sn. That 
is wrong, the default formulation is p0s1, meaning that the 
pressure primary variable is associated with the phase with index 0 
of your fluid system, and the saturation variable is associated 
with the phase with index 1 of your fluid system. You can change 
this to p1s0, if desired.


However, from the indices you can only obtain pressureIdx or 
saturationIdx (there is no such thing as Indice::snIdx anymore), as 
DuMuX can not decide for you which phase is the wetting phase or 
which the non-wetting phase. You tell DuMux which phase is the 
wetting phase by implementing the function wettingPhase() or 
wettingPhaseAtPos() in your spatial parameters.


I hope this helps you!

Best wishes,

Dennis




On 17.12.18 13:51, lc wrote:

Hello,


On 02.11.2018 10:45, Dennis Gläser wrote:
per default, the formulation for the 2p model is pw-sn. That 
means your primary variables are the water pressure and the 
non-wetting phase saturation (in your case oil I assume). 
Therefore, Indices::swIdx does not exists as it is not part of 
your primary variables.



then, if physically I have a water (wetting) phase injection at 
inlet (which traduces into a mass flow rate) how can I impose it 
in 2p implicit model?



Best regards,

Lorenzo

___
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

--
___

Timo Koch  phone: +49 711 685 64676
IWS, Universität Stuttgart fax:   +49