Different implementation pEqn.H in pimpleFoam vs interPhaseChangeFoam
Hello,
I am confusing about the implementation of pEqn.H in pimpleFoam vs interPhaseChangeFoam: From Non-orthogonal pressure corrector loop, pimpleFoam is written: Code:
Code:
while (pimple.correctNonOrthogonal()) 1) In pimpleFoam U is solved outside the while condition, since in interPhaseChangeFoam is inside it. My firts thought was that the U is not solved in interPhaseChangeFoam if we set nonOrthogonalCorrector = 0, what is very strange. But seing the solutionControl Class (in particular solutionControlI.H) I find that is added 1 to nNonOrthCorr, therefore I guess that non-Othogonal correction is solved at least one. My questions are: a) am I correct on this? b) is any difference in the final solution between putting U reconstruction inside or outside the [CODE] "while" ? 2) In interPhaseChangeFoam the p.relax() does not exist, therefore if we use pimple Loops outerCorr > 1, it is not applied relaxion factors. c) Does anybody knows why is not p.relax() in the code, or if I miss somewhere where is applied it? Thank you to anyone who can help me. Regards, |
Hello DanielRCalvete,
Logically thinking I would guess the following: 1. The Pimple solver was designed before the interPhaseChangeFoam solver 2. You cannot call pEqn.flux() without pEqn being solved So, this explains why there is that if-clause to calculate phi at the end of each pEq solving loop. If you set the number of nonOrthogonal corrections to -1, the call pEqn.flux() will lead to an error. I do not know why you would do this, but some people apparantly did. Later, interPhaseChangeFoam was made and the same issue has been found about U. Look at the different code for U. Regards, Daniel |
All times are GMT -4. The time now is 16:40. |