Menu

#65 Possible bugs in interOversetFoam

1.0
open
nobody
None
2021-11-02
2021-05-19
John
No

Dear foam-extend developers,

Runing the interOversetFoam tutorial leads to a large velocity entrance on top of the domain. This behavior rather nonphysical isn't present with interFoam on the same case.

It might be possible that the problem comes from the rho update in interOversetFoam :

    // Calculate density using limited alpha1
    rho = twoPhaseProperties.rho();
    // Parallel update in snGrad.  HJ, 8/Dec/2012
    rho.correctBoundaryConditions();

Replacing the above lines by (as in interFoam):
rho == alpha1*rho1 + (scalar(1) - alpha1)*rho2;

solve the problem in the tutorial by suppressing the large velocity.

Also in the pEqn.H is it ok that the relax is on p and not pd ? p also appears in oversetFvPatchScalarField::oversetInterpolate and globalOversetAdjustPhi. Wouldn't be rather pd ?

Best regards

Discussion

  • John

    John - 2021-10-30

    Dear foam-extend developers,

    I come back to know if my last message has been read by the FE developpers ? Are my remarks relevant?

    Best

     
  • Hrvoje Jasak

    Hrvoje Jasak - 2021-11-01

    Hi,

    The relaxation statement of p (or indeed pd) has been removed in nextRelease as it does nothing.

    Regarding the other change:

    rho == alpha1rho1 + (scalar(1) - alpha1)rho2;

    This is actually wrong: you need to call a boundary condition update.
    If this gives you problems with rho, it may be something else. I can have a look if you can share a case.

     
  • John

    John - 2021-11-02

    Dear Prof Jasak,

    Thanks for your answer. According to your comments :

    The relaxation statement of p (or indeed pd) has been removed in nextRelease as it does nothing.

    Shouldn't be interesting to relax dynamic pressure field after each outerCorrector ? For example :

    if (!pimple.finalIter())
    {
        pd.relax();
    }
    

    Regarding the other change:
    rho == alpha1rho1 + (scalar(1) - alpha1)rho2;
    This is actually wrong: you need to call a boundary condition update.
    If this gives you problems with rho, it may be something else. I can have a look if you can share a case.

    The case is the tutorial cylBumpinterOversetFoam itself. I get a strange behavior when running the tutorial from a fresh installation of fe41 (master-branch). Please find attached a picture showing the result of the tutorial with two configurations. The first one (left) is the tutorial results (large velocity entrance rather nonphysical ; the velocity limiter at 30 m/s is reached). The second one (right) is obtained by commentating the line rho.correctBoundaryConditions(); in the alphaEqn.H. It seems more correct as this strange behavior is not present. Note that using rho == alpha1*rho1 + (scalar(1) - alpha1)*rho2;leads to the same results as the picture of right. Could I ask you the reason why rho == alpha1*rho1 + (scalar(1) - alpha1)*rho2; used in interFoam or interDyMFoam solver is wrong with oversetInterFoam ?

    Best regards,

     

Log in to post a comment.