请教rhopimpleFoam的一个问题



  • 15 if (pimple.transonic())
       16 {
       17     surfaceScalarField phid
       18     (
       19         "phid",
       20         fvc::interpolate(psi)
       21        *(
       22             fvc::flux(HbyA)
       23           + rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho)
       24         )
       25     );
       26 
       27     MRF.makeRelative(fvc::interpolate(psi), phid);
       28 
       29     while (pimple.correctNonOrthogonal())
       30     {
       31         fvScalarMatrix pEqn
       32         (
       33             fvm::ddt(psi, p)
       34           + fvm::div(phid, p)
       35           - fvm::laplacian(rhorAUf, p)
       36          ==
       37             fvOptions(psi, p, rho.name())
       38         );
       39 
       40         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
       41 
       42         if (pimple.finalNonOrthogonalIter())
       43         {
       44             **phi == pEqn.flux();//??**
       45         }
       46     }
       47 }
    

    代码中,为什么对phi的更新是
    phi == pEqn.flux();//?????????
    我查阅了rhosimpleFoam,发现也是一样,实在是弄不明白




Log in to reply