OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Moving wall
- This topic has 12 replies, 3 voices, and was last updated 1 year, 7 months ago by Adrian.
October 1, 2021 at 2:35 pm #6039
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.October 4, 2021 at 3:24 pm #6040
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/aorta3dexample) 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.October 5, 2021 at 11:53 am #6045
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?
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.
SahilOctober 6, 2021 at 9:24 am #6046
The Nguyen Ladd velocity correction is what is implemented by
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.October 6, 2021 at 9:47 am #6047
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?
SahilOctober 6, 2021 at 10:55 am #6049
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.
SahilOctober 6, 2021 at 11:49 am #6050
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/dkt2dexample. 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).October 6, 2021 at 12:45 pm #6051
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?
SahilOctober 6, 2021 at 1:59 pm #6052mathiasKeymaster
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 MathiasOctober 6, 2021 at 3:00 pm #6053
I did not understand which contact form you were referring to.
SahilOctober 6, 2021 at 3:50 pm #6054mathiasKeymasterOctober 11, 2021 at 4:00 pm #6071
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?
SahilOctober 26, 2021 at 8:46 pm #6099
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.
- You must be logged in to reply to this topic.