CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Problems understanding some piso details

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 27, 2007, 03:33
Default Hi everybody, From icoFoam:
  #1
Senior Member
 
Thomas Jung
Join Date: Mar 2009
Posts: 102
Rep Power: 17
tehache is on a distinguished road
Hi everybody,

From icoFoam:

fvVectorMatrix UEqn
(
fvm::ddt(U)
+ fvm::div(phi, U)
- fvm::laplacian(nu, U)
);

solve(UEqn == -fvc::grad(p));

// --- PISO loop

for (int corr=0; corr<nCorr; corr++)
{
volScalarField rUA = 1.0/UEqn.A();

U = rUA*UEqn.H();
phi = (fvc::interpolate(U) & mesh.Sf())
+ fvc::ddtPhiCorr(rUA, U, phi);

adjustPhi(phi, U, p);

for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{
fvScalarMatrix pEqn
(
fvm::laplacian(rUA, p) == fvc::div(phi)
);

pEqn.setReference(pRefCell, pRefValue);
pEqn.solve();

if (nonOrth == nNonOrthCorr)
{
phi -= pEqn.flux();
}
}

# include "continuityErrs.H"

U -= rUA*fvc::grad(p);
U.correctBoundaryConditions();
}



Question:

Inside the loop UEqn is not beeig re-build.
Should rUA, or UEqn.A() and UEqn.H() not remain the same?
Why then is this beein repeated all the time?

volScalarField rUA = 1.0/UEqn.A();

U = rUA*UEqn.H();

Thank you very much for any hint!

Thomas
tehache is offline   Reply With Quote

Old   July 27, 2007, 03:52
Default hi, you should search the f
  #2
Senior Member
 
Stephan Gerber
Join Date: Mar 2009
Location: Germany
Posts: 118
Rep Power: 17
stephan is on a distinguished road
hi,

you should search the forum - this question was already answered.
greeting
stephan
stephan is offline   Reply With Quote

Old   July 27, 2007, 04:25
Default finally found it, sorry... To
  #3
Senior Member
 
Thomas Jung
Join Date: Mar 2009
Posts: 102
Rep Power: 17
tehache is on a distinguished road
finally found it, sorry...
To whom it may interest,too:

By Hrvoje Jasak on Thursday, August 04, 2005 - 12:40 pm: Edit Post

Not so stupid: UEqn.H() uses the current value of U to evaluate itself and that's where the predicted value gets into the game.
tehache is offline   Reply With Quote

Old   July 27, 2007, 06:02
Default hi, no problem - nice if i
  #4
Senior Member
 
Stephan Gerber
Join Date: Mar 2009
Location: Germany
Posts: 118
Rep Power: 17
stephan is on a distinguished road
hi,

no problem - nice if i could help you ...
greetings
stephan
stephan is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
PISO Details Dr B.M. Smith (Smith) OpenFOAM Running, Solving & CFD 17 November 17, 2009 11:31
Understanding k from kepsilon markh83 OpenFOAM Post-Processing 3 December 5, 2008 03:42
Incompressible boussiesq flow pressure BC piso and continuity problems tehache OpenFOAM Running, Solving & CFD 4 November 6, 2008 03:08
LUSGS understanding Gustavo Main CFD Forum 0 February 14, 2007 10:12
Understanding implemented PISO stephan OpenFOAM Running, Solving & CFD 0 January 28, 2006 11:11


All times are GMT -4. The time now is 14:37.