|
[Sponsors] |
October 29, 2017, 11:37 |
rhoPimpleFoam - solving pEqn
|
#1 |
Member
Join Date: Nov 2014
Posts: 36
Rep Power: 11 |
Hello,
While looking at rhoPimpleFoam solver, I could not find where the pressure equation is solved. The solve() command is only executed in the non-orthogonal corrector loop, yet the pressure equation is off course solved even when there are no non-orthogonal correctors. Can you please help me understand how and where the pressure equation is solved? Thank you! |
|
October 30, 2017, 01:20 |
|
#3 |
Member
Join Date: Nov 2014
Posts: 36
Rep Power: 11 |
Thank you for your response.
I found out later yesterday and I meant to update my question .. but you were quicker. What I do not understand now is the pimple.finalInnerIter() in pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))) in the correctNonOrthogonal loop. The pimpleControl.H says that pimple.finalInnerIter() returns true for final inner iteration. Does this mean that the pEqn gets solved only on final inner iteration? |
|
October 30, 2017, 03:47 |
|
#4 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51 |
That is simple. Maybe you realized that you have the dictionaries:
Code:
p { solver PCG; . . } pFinal { solver PCG; . . } Code:
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); Code:
mesh.solver(p.select(pimple.finalInnerIter())) Code:
SolverPerformance< Type > solve (const dictionary &) Solve segregated or coupled returning the solution statistics. More...
__________________
Keep foaming, Tobias Holzmann |
|
October 30, 2017, 06:40 |
|
#5 |
Member
Join Date: Nov 2014
Posts: 36
Rep Power: 11 |
Thank you!
By the way, I am a huge fan of your work. You are doing a great job. |
|
November 1, 2017, 07:53 |
|
#6 |
Member
Join Date: Nov 2014
Posts: 36
Rep Power: 11 |
Can I have one more question?
In chtMultiRegionFoam, the pimple loop is introduced in the form: for (int oCorr=0; oCorr<nOuterCorr; oCorr++) Why is it not the following statement instead? while (pimple.loop()) I believe it has something to do with the multiple "PIMPLE" dictionaries existing in ./system and ./system/regionNames. How can I make the code understand stuff like pimple.loop() while making it search in the right "PIMPLE" dictionary? |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Segmentation fault when using reactingFOAM for Fluids | Tommy Floessner | OpenFOAM Running, Solving & CFD | 4 | April 22, 2018 12:30 |
chtMultiRegionSimpleFoam turbulent case | Aditya Patil | OpenFOAM Running, Solving & CFD | 6 | April 24, 2017 22:13 |
Moving mesh | Niklas Wikstrom (Wikstrom) | OpenFOAM Running, Solving & CFD | 122 | June 15, 2014 06:20 |
Unstabil Simulation with chtMultiRegionFoam | mbay101 | OpenFOAM Running, Solving & CFD | 13 | December 28, 2013 13:12 |
calculation stops after few time steps | sivakumar | OpenFOAM Running, Solving & CFD | 7 | March 17, 2013 06:37 |