Code Monkey home page Code Monkey logo

Comments (3)

AndreWeiner avatar AndreWeiner commented on June 12, 2024

Dear Jihoo,
thanks for the update and analysis. The correct way of defining the interpolation schemes should be

interpolate(U)  linearUpwindV grad(U);

Gauss is only needed for divergence terms, and bounded adds an additional term to the transport equation, which is also related to the divergence.

Before I can comment on the face blending, there is another issue. What I totally forgot is that the phi depends on the face velocity, too (this is different from the scalar transport case). In the incompressible case, phi is simply the cell-centered velocity vector interpolated to the face and multiplied (dot-product) with the face normal vector. Therefore, phi should be overwritten as follows:

scalar blendPhi = Foam::sign(phi[oppFaceIDs[faceI]]) * Foam::pow(Uface_b[faceI], 2) / (mag(U_face[oppFaceIDs[faceI]]) + ROOTVSMALL);

However, this correction will not work, because, for the phi prediction, we would need the velocity vector and not just the speed. Therefore, I think it is not possible at the moment to implement the convective flux correction properly since this would require restarting from scratch.

Regarding the face correction of the diffusive fluxes, a modification of the yplus-based blending might do the trick. Currently, you are switching it off as yplus becomes relatively small. You can do the same for large values, e.g., like this.

Best, Andre

from data_driven_wall_modeling.

JihooKang-KOR avatar JihooKang-KOR commented on June 12, 2024

Dear @AndreWeiner,

Thank you for your comment.

I would like to ask two things about your comment as follows:

  1. You mentioned that Phi correction using speed would not work, and thus we should restart from scratch. I would like to ask if this means I currently have to implement a new version of phi correction from the beginning.

  2. Regarding the diffusive face correction, you proposed a different y+ blending method for airfoil cases. However, I'm afraid if the consistency of the concept could be damaged because the shape of the y+ blending function for airfoil cases will be totally different from the function for flat plate cases. So far I used the function that has only the different coefficient, but if I use the new function, the blending concept will change and it would be hard to find the proper reason why this blending is also needed for higher y+.

I will apply interpolate(U) linearUpwindV grad(U); from now on, but the simulation will be executed after the above things are clear.

Best regards,
Jihoo Kang

from data_driven_wall_modeling.

AndreWeiner avatar AndreWeiner commented on June 12, 2024

Hi Jihoo,

  1. please do not start from scratch; keep the implementation as it is right now; correcting phi will be a future task (for somebody else)
  2. if we change the blending, the blending should be consistent for both setups; my suggestion was to add an upper bound for the y-plus blending factor such that only coarse meshes and the beginning of the plate/airfoil are affected, but maybe underestimate the impact

Best, Andre

from data_driven_wall_modeling.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.