Skip to content

Moving wall

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #6039
    sahilbhapkar30
    Participant

    Hello,
    I have a doubt about the moving wall implementation in OpenLB. While setting the dynamics for the wall region I am using the getBounceBack and then in the setting the boundary value I am defining the constant velocity using the defineU function. Is this the right implementation for the moving wall?

    sLattice.defineDynamics( superGeometry, 5, &instances::getBounceBack<T, DESCRIPTOR>() );
    sLattice.defineU( superGeometry,5,uTop );

    Here Material 5 is my moving wall region and utop is the velocity it is moving.

    In addition to getBounceBack what are the other implemenation of moving wall in OpenLB?

    Thankyou.

    #6040
    Adrian
    Keymaster

    Plain Bounce Back dynamics do not support non-zero velocity walls.

    Depending on your geometry I would suggest to use either Interpolated Bounce Back (Bouzidi) boundaries (you can see their setup in e.g. the turbulence/aorta3d example) or local / interpolated velocity boundaries (see e.g. the poiseuille examples for basic examples of the various options). Alternatively OpenLB also offers Bounce Back with the velocity correction by Nguyen and Ladd.

    #6045
    sahilbhapkar30
    Participant

    Hello,

    Thank-you for your response.

    I tried setting the Bouzidi Boundary condition for my moving wall earlier. However, I kept on getting the error of ([setBouzidiBoundary] ERROR: no boundary found at (16,26,13)). Also, as per the forum discussion in the below link, it says the implementation of Bouzidi boundary condition for the moving wall is not implemented yet. So, has it got implemented for 1.4 version? Could you please help me in implementing the boundary condition for the moving wall?

    https://www.openlb.net/forum/topic/moving-boundaries/

    In addition, can you give me more information about the “Bounce Back with the velocity correction by Nguyen and Ladd.”?. How to implement it ? It would be a great help.

    Thank-you,
    Sahil

    #6046
    Adrian
    Keymaster

    The Nguyen Ladd velocity correction is what is implemented by BounceBackVelocity.

    The error you get for the Bouzidi boundary configuration is verly likely a geometry / indicator issue. Without knowing what exactly your code does I can only suggest to perturb the resolution one way or the other – this frequently fixes at least some discretization issues.

    In the current release your best bet for moving walls in the general case is to use the resolved particle system.

    #6047
    sahilbhapkar30
    Participant

    Hello,
    I tried implementing the setBounceBackVelocityBoundary3D given in the src/Boundaries folder. Even I included the implementation of it in the setboundaryconditions3D file. But when I run the code, it keeps giving me the error that the setBounceBackVelocityBoundary3D is not included in the scope of the prepare lattice. Is there anything I am missing to include this boundary in openLB?

    Regarding, the bouzidi , you are suggesting me to change the resolution right?

    Could you tell more about the resolved particle system for the moving wall implementation?

    Thank-you,

    Sahil

    #6049
    sahilbhapkar30
    Participant

    Hello,

    I have another question to add to the above question. In my geometry, my moving wall is of the shape of cuboid. As per the literature, the Bouzidi boundary condition can be used only for curved surfaces. So is that the reason that I am getting an error of “No-Boundary found while applying the bouzidi boundary condition for the moving wall. In all the three examples of Bouzidi, aorta3d, cylinder2d/3d , the implementation of the bouzidi is for the curved boundary only.

    Thank-you,
    Sahil

    #6050
    Adrian
    Keymaster

    w.r.t. setBounceBackVelocityBoundary: You should not need to include any files beyond the olb(2,3).h(h) headers. I can’t tell you more without seeing the code.

    w.r.t. Bouzidi: Exactly, try increasing or decreasing the resolution by single cells. If this doesn’t help we’ll have to look more closely at your indicator / geometry setup. As per your second comment this is a cuboid and explains the problem, especially if the cuboid boundaries align exactly with cell locations.

    w.r.t. particles: You can check out e.g. the particles/dkt2d example. There circles are used but HLBM supports arbitrary shaped particles (and depending on what you want to model using a moving wall you could consider the moving wall as a particle).

    #6051
    sahilbhapkar30
    Participant

    Hello,
    Sir could you give me your email so that I can share the code with you and you could help me with the moving wall boundary?

    Thank-you,
    Sahil

    #6052
    mathias
    Keymaster

    In the framework of a common project, we can help you on that level. Please contact me directly if you are interest in that. Please, use the contact form to get in touch with me. Best Mathias

    #6053
    sahilbhapkar30
    Participant

    Hello Sir,
    I did not understand which contact form you were referring to.

    Thank-you,
    Sahil

    #6054
    mathias
    Keymaster
    #6071
    sahilbhapkar30
    Participant

    Hello,

    As per your comments for the Bouzidi Boundary condition, (especially if the cuboid boundaries align exactly with cell locations) in the above chat,I implemented the offlattice by using the implementation as per the User guide 1.4 version in which I wrote the following code for my boundary. Still I keep getting the error of no boundary found.
    off-lattice: sLattice.defineRho(..), sLattice.defineUBouzidi(..).

    Could you specify this line (w.r.t. setBounceBackVelocityBoundary: You should not need to include any files beyond the olb(2,3).h(h) headers) more clearly?

    Thankyou,

    Sahil

    #6099
    Adrian
    Keymaster

    I mean that in to use the Bouzidi boundary setters you do not need to add any header includes beyond the olb(2,3).h(h) ones. There must be some other problem in your application code.

    As for the other questions we can discuss them in the joint session where we can also look at your actual code.

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.