|
[Sponsors] |
![]() |
![]() |
#1 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 ![]() |
I'm wondering why fluxes are made relative to the mesh-motion at the end of the PISO loop in icoDyMFoam:
for (int corr=0; corr<nCorr; corr++) { rUA = 1.0/UEqn.A(); } I'm guessing that this is required for the correctBoundaryConditions call for velocity. Can anyone confirm/explain why this is so? |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17 ![]() |
Hy Sandeep,
If I remember right is this because of the space conservation law and the additional flux which is associated with a moving boundary (mesh). Jens |
|
![]() |
![]() |
![]() |
![]() |
#3 |
Member
|
Hi Sandeep,
Read any paper on Arbitrary Lagrangian Eulerian (ALE) methods and it will all be clear. For example Charbel Farhat, "The Discrete Geometric Conservation Law and the Nonlinear Stability of ALE Schemes for the Solution of Flow Problems on Moving Grids", Journal of Computational Physics 174, 669–694 (2001) or more recent papers on mesh motion by ˇZeljko Tukovi'c. /Eric |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 ![]() |
Hello Jens and Eric,
Thanks for the help, but it still isn't clear. The makeRelative function merely subtracts meshPhi from phi. However, for the next iteration of the nCorr loop, phi is over-written by: phi = (fvc::interpolate(U) & mesh.Sf()); The line: U -= rUA*fvc::grad(p); doesn't require phi in any way, and the only reason phi should be relative to mesh-motion (in my opinion) is to satisfy a particular boundary-condition (at U.correctBoundaryConditions()) which requires it to be so. If none of the boundary conditions require it, is the line really necessary? Comments? |
|
![]() |
![]() |
![]() |
![]() |
#5 |
New Member
Zeljko Tukovic
Join Date: Mar 2009
Posts: 22
Rep Power: 17 ![]() |
Hi Sandeep,
Yes you are right. You will need relative flux at that stage only if velocity boundary condition requires it. But you will also need relative flux in the turbDyMFoam solver because the transport equations of a turbulence model will require relative flux. Regards, Zeljko |
|
![]() |
![]() |
![]() |
![]() |
#6 |
New Member
Mark
Join Date: Oct 2009
Posts: 1
Rep Power: 0 ![]() |
Hello!
This thread has been quiet for a while. But what I don't understand about makeRelative and makeAbsolute is, how makeRelative can be called twice without makeAbsolute in between? The interDyMFoam solver calls: Code:
Abs Rel if ...{ Rel Abs } Rel Here are the relevant calls with all for{} loops and if{} conditions: Code:
while (runTime.run()) { ... // Make the fluxes absolute fvc::makeAbsolute(phi, U); ... mesh.update(); ... // Make the fluxes relative to the mesh motion fvc::makeRelative(phi, U); ... // --- PIMPLE loop for (int ocorr=0; ocorr<nOuterCorr; ocorr++) { ... // --- PISO loop for (int corr=0; corr<nCorr; corr++) { ... if (p.needReference()) { fvc::makeRelative(phi, U); adjustPhi(phi, U, p); fvc::makeAbsolute(phi, U); } ... // Make the fluxes relative to the mesh motion fvc::makeRelative(phi, U); ... } } } Mark |
|
![]() |
![]() |
![]() |
![]() |
#7 |
Member
fisch
Join Date: Feb 2010
Posts: 97
Rep Power: 17 ![]() |
Hello Mark,
did you find an answer to your question? I'm interested. thanks |
|
![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Yogesh Bapat
Join Date: Oct 2010
Posts: 102
Rep Power: 16 ![]() |
Hello Mark,
Did you find answer to your question? Please let me know . |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Update Fluxes | luca | OpenFOAM Running, Solving & CFD | 2 | March 29, 2006 11:47 |
Fluxes | selen | Siemens | 1 | August 24, 2003 17:23 |
Fluxes validation | Mavinakere | FLUENT | 0 | May 23, 2002 00:24 |
Help need on fluxes | Zhu | Main CFD Forum | 7 | August 12, 2001 11:14 |
help needed on fluxes | zhu | Phoenics | 0 | August 7, 2001 22:35 |