On 02.11.18 12:07, lc wrote:
Hello,
I enclose all the files that I use.
Up to now in tutorialproblem_implicit.hh I introduce a double
small_number = 1e-6; which works ok when I initialize the oil
saturation profile (snIdx) but it is not effective on swIdx.
Hi Lorenzo,
I'm sorry, I don't understand what you did.
Also as I general question I'm wondering which is the correct model to
approach this problem. I see that in this case it is used a different
model.
NEW_TYPE_TAG(McWhorterProblem, INHERITS_FROM(FVPressureTwoP,
FVTransportTwoP, IMPESTwoP, BuckleyLeverettSpatialParams));
And in general, in terms of accuracy and speed should I prefer
sequential or implicit setup?
There is no general answer to this question. It all depends on your
setup and on the questions you are trying to solve with your simulation.
Usually, sequential models perform well if the coupling is weak.
There is a lot of literature on this topic. Please restrict questions on
the mailing list to Dumux-specific questions.
Best wishes,
Timo
Thanks a lot,
Lorenzo
On 02/11/2018 13:56, Timo Koch wrote:
Hi Lorenzo,
it all depends on your setup. Probably something wrong with your
custom material law.
What have you tried so far to fix your issue?
Timo
On 2. Nov 2018, at 11:53, lc <[email protected]
<mailto:[email protected]>> wrote:
Hello Dennis,
thank you. I did as you suggested but as I do this, the Newton
solver does not converge anymore on any grid level.
Do you have any hints?
Thank you,
Lorenzo
On 02/11/2018 10:45, Dennis Gläser wrote:
Good morning Lorenzo,
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.
Since you are considering a two-phase system, just set the oil
saturation by doing
*values[Indices::snIdx] = 1.0 - std::min(smax, smin + exp_value +
small_number);*
This is what you want I guess.
Best wishes,
Dennis
On 02.11.2018 08:37, lc wrote:
Good morning,
I'd like to ask how to impose an initial condition on the water
saturation and not on the oil saturation.
Actually, what I implemented is the following:
const auto pos = fvGeometry.subContVol[scvIdx].global;
double x_0 = 0.;
double smin = 0.2121;
double smax = 0.7856;
double exp_arg = (0.5 -
pow((pos[0]-x_0)/(2.+cos(3.*sqrt(std::abs(pos[1]-75.0)))), 2.) );
double exp_value = exp_arg >= -100 ? exp(exp_arg) : 0;
double small_number = 1e-6;
* values[Indices::snIdx] = std::min(smax, smin + exp_value
+ small_number);*
but this last line, should be imposed on values[Indices::swIdx]
but if I write it I get an error, not declared variable.
Thank you,
Lorenzo
_______________________________________________
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] <mailto:[email protected]>
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
--
_______________________________________________________________
Timo Koch phone: +49 711 685 64676
IWS, Universität Stuttgart fax: +49 711 685 60430
Pfaffenwaldring 61 email: [email protected]
D-70569 Stuttgart url: www.hydrosys.uni-stuttgart.de
_______________________________________________________________
_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux