Hi everybody,
From icoFoam:
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 |
hi,
you should search the f
hi,
you should search the forum - this question was already answered. greeting stephan |
finally found it, sorry...
To
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. |
hi,
no problem - nice if i
hi,
no problem - nice if i could help you ... greetings stephan |
All times are GMT -4. The time now is 12:50. |