Skip to content

Rotating Geometries

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #2008
    dustinweaver
    Member

    Hi all,

    I’m PhD student at University of British Columbia. My current research is using LB for mixing tanks. I don’t want to use commercial software for this because I want to develop something and contribute to the opensource community. I have been over the documentation on OpenLB and have only been able to find a very interesting journal article, “An extension of the Lattice-Boltzmann Method for simulating turbulent flows around rotating geometries of arbitrary shape”. Is there a tutorial on rotating geometries or even an example code?

    Thank you 😀 ,
    Dustin

    #2972
    mathias
    Keymaster

    Dear Dustin,

    there a several approaches to realize a rotating geometries. In the paper it was realized by boundary conditions only. Here, https://www.youtube.com/watch?v=Msh2iyG6-ho we used a moving frame (basically you get a force term (there are funcztors in OpenLB to do that easily)). We have no example ready to give you. Maybe, it is a good idea to come to our next spring school which is soon to get started and in the last part we help you with your problem.

    Best
    Mathias

    #7330
    openlb_user
    Participant

    Hi Dustin and Mathias,
    Could you realise a working case with rotating geometry meanwhile?
    Best regards
    NovaLabs

    #7331
    mathias
    Keymaster

    We had no capacities for it. In the framework of a common project we are happy to push it..

    #8112
    abhimathews
    Participant

    Just following up on this old thread. Has there been any progress on simulations of mixing tanks by chance? References to relevant tutorials and/or publications would be very helpful!

    For context, I came across a similar problem with a corresponding tutorial for OpenFOAM (https://www.cemf.ir/simulating-two-phase-stirred-tank-reactor-using-openfoam/). A similar or improved solution using LB for the community would be very useful!

    #8116
    Adrian
    Keymaster

    I agree that this would be very interesting and there are ongoing projects on FSI improvements in OpenLB. However, the public state is unchanged.

    Did you investigate whether the resolved particle code is an option for your application? Despite being referred to as “particle code” the underlying model is capable of more general FSI. The new particle dynamics system is also amenable to modeling e.g. restricted rotation or movement of geometries (for example a rotating mixer).

    #8118
    abhimathews
    Participant

    I have not investigated this myself yet using OpenLB as I am still quite new to the code, but it seems very suitable for the problem of a rotating mixer. Is there a specific example of the resolved particle code (either in the “Show Cases” or elsewhere) that you are referring to by chance?

    #8122
    Thomas Sprich ZA
    Participant

    Hi Adrian,

    I am also interested in this topic. I have looked settling cube example and thought that this approach might work for rotating geometries. Is this what you were referring to?

    I also have very limited LB knowledge, but from my initial reading, it seems that the immersed boundary method would be appropriate to this kind of application. It is just not obvious to me how to prescribe the motion and handle the forces correctly.

    OpenLB is obviously an complex code, but if you could provide a few pointers where to look it would help a lot. I would be happy to try an put together a simple example, which if good enough could be added to OpenLB. My thoughts would be to start with a spinning cube or square in 2D.

    Please let me know if you have any advice.

    Regards,
    Tom

    #8128
    Adrian
    Keymaster

    Yes, I am referring to possibility of using the resolved particle code with adapted particle dynamics to model “non-particulate” flows (this won’t get you general purpose FSI due to e.g. the lack of deformability but it should work for many kinds of rotating geometries)

    Immersed boundary is the common approach for coupling a structural solver to LBM, however it is not the only one – e.g. the homogenized LBM approach utilized in OpenLB is just as capable for this (i.e. this is the underlying model of the resolved particle code).

    I would suggest you start by modifying the settling cube case to only contain a single cube and then adapt the particle dynamics (there is documentation on this in the user guide) to restrict / drive its rotation. You are right that this would be a nice example to have in OpenLB.

    In any case: Our annual Spring School will for the first time offer a separate track for advanced users to work together with members of the core developer team on such more complex topics beyond the scope of the normal LBM and OpenLB introduction. This could be a nice setting for collaborating on this.

    #8137
    Thomas Sprich ZA
    Participant

    Hi Adrian,

    Thanks for the tip to check HLBM, I will definitely take a look.

    Yes, my plan was to adapt that example as you suggest. Its not obvious to me how to define the dynamics. I only skimmed through the user guide though, so perhaps I should read more carefully.

    I will let you know here if I make some progress.

    Thanks again for the tips.

    Regards,
    Thomas

    #8353
    Thomas Sprich ZA
    Participant

    Hi Adrian,

    I have managed to do as you suggested and have created an example where the particle dynamics have been modified. I have centered the domain, used only one cube and located it centrally. It rotates about the z-axis. Its very crude at this stage. I have essentially added particle dynamic classes in the simulation file as I did not want to modify/add to the core code base.

    I am happy to share it with you if you would like to add it to the examples. What would be the best way of doing this?

    The next step I’d like to implement is to define the particle using an stl file. Could you give me some pointers how to achieve this? From the settlingCube example, the particles is created with the addResolvedCuboid3D function defined in particleCreatorFunctions3D.h. In particleCreatorFunctions3D.h, there are other functions such as setResolvedArbitraryShape3D which I thought might be applicable. Am I on the right track?

    For my next question, I foresee a potential issue where the geometry I intend to use will have thin sections relative to the overall domain. This arises due to the plate thickness being thin and capturing such thin section would require a dense lattice. This is obviously challenging in big domains. I see there is also subgridObjects in the particleCreatorFunctions3D.h file. Is this a valid approach to dealing with the thin sections. Otherwise, is it possible to do local lattice refinement enclosing the region within which my object rotates? Do you have any other suggestions for this kind of problem. It must come up frequently.

    Lastly, I see in the version 1.6 release notes that the particle examples do not work with CUDA. Are there plans to expand the CUDA functionality to include these examples? This could also help address the dense lattice issue discussed above.

    I would love to join your spring school. I however live in South Africa, so it becomes costly to attend in Germany.

    I look forward to your answers.

    Thanks,
    Thomas

    #8398
    mathias
    Keymaster

    Dear Thomas,

    very recently we have established a new way to share code: https://gitlab.com/openlb/release . Detailed support we cannot offer you within the formum. Options are: the advenaced track of the next spring school, a common project and joining the OpenLB consortium.

    Please use the contact form to get in touch with the OLB administartion.

    Best
    Mathias

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