I had a bug elsewhere which is now fixed. Everything seems good now.

Best regards,

Dmitry


On 30.03.2021 18:10, Dmitry Pavlov wrote:
Dear Timo,

Agreed, thank you. Now I have implemented similar behavior in my PrimaryVariableSwitch. It did not remedy the problem I was having, I keep looking.

Best regards,

Dmitry


On 30.03.2021 17:44, Timo Koch wrote:
Hi Dmitry,

I think you are misinterpreting the threshold adjustment.

If the threshold is higher if the phase state already switched in the last iteration. That means in the last iteration both phases where present and one disappeared. In order to prevent the Newton from switching back and forth between states every iteration the threshold is slightly increased in the iteration after the switch. This doesn’t alter the result since the Newton will always perform at least one more iteration after a switch, it just tries to keep the Newton more stable.
It could be interpreted as some kind of chop / semi-smooth Newton.

Best regards
Timo

On 30. Mar 2021, at 16:36, Dmitry Pavlov <[email protected]> wrote:


I have to switch primary variables, similarly to what Etienne said, from secondPhaseOnly to bothPhases. So I implemented my own PrimaryVariableSwitch.

I see in TwoPTwoCCO2PrimaryVariableSwitch that the switch is not necessarily done when the condition xnw > xnwMax is met (xnw is mole fraction, xnwMax is the maximum mole fraction that is allowed in one phase).

For the switch to happen, xnw should exceed xnwMax, and then (on next call, I am not sure whether it happens on the same time step or not), xnw should exceed xnwMax * 1.02. Only then the switch is made.

I do not understand at the moment why such a two-step switch procedure was needed for.


Best 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

Reply via email to