Skip to content

The geometry in STL is not well recongnized in OpenLB

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics The geometry in STL is not well recongnized in OpenLB

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #9568
    mwkim
    Participant

    Hi all.

    Recently, I have some problems with stlreader.

    I am trying to simulate flow in a mixing pipe by modifying “aorta3D” case.

    Before this case, I computed NACA0012 wing case. At that time, I used “cylinder3D” case as a reference.
    OpenLB successfully read the geometry from the stl file, and materials are all well assigned as I want.

    However, in this mixing pipe, the geometry in the stl file is not well recognized.

    img1

    It is more clearly seen in a slice view.

    test

    It seems stlreader cannot resolve the junction part where the curved large pipe meets the straight small pipe.

    I tried both options “0” and “1”, and “1” which is described as slow and stable option works better. Unfortunately, “1” gives above results…

    Also, the additional problem is that material 3 region is not identified when I checked geometry in Paraview (as shown in above figures) while material 4 and 5 regions are well identified.

    Could I get some helps or any comments to solve the current problems?
    I don’t have ideas where should I start to improve it.

    Sincerely,
    MK

    • This topic was modified 1 week, 2 days ago by mwkim.
    • This topic was modified 1 week, 2 days ago by mwkim.
    • This topic was modified 1 week, 2 days ago by mwkim.
    #9572
    mwkim
    Participant

    Sorry for the same figures in original post.

    Cloud view of geometry can be seen below.

    cloud

    You can see a figure: Right click and Open Image in New Tap

    #9573
    Adrian
    Keymaster

    You can try the other modes of the STL reader (sorry for the hidden documentstion here, in the next release this will be an enum instead of integers).

    
    enum class RayMode : int {
      FastRayZ  = 1,  /// Indicate function with ray in Z-direction(faster, less stable). Default option
      Robust    = 2,  /// Old indicate function (slower, more stable)
      FastRayX  = 3,  /// Indicate function with ray in X-direction(faster, less stable).
      FastRayY  = 4,  /// Indicate function with ray in Y-direction(faster, less stable).
      DoubleRay = 5   /// Indicate function with double ray
    };
    

    I recommend option 2.

    The STL file is watertight?

    #9574
    mwkim
    Participant

    Thank you for kind answer.

    Yes, it is watertight.

    When I use option 2, openLB shows worse performance than 1. It cannot identify the small pipe, and material 3, 4, 5 are all not recognized.

    Happily, I get the good geometry with option 5, except matarial 3 is not resolved. I follow totally same procedure to assign material 3 with 4 and 5. But, the indicator of material 3 does not work properly. I already several checked my code, but I cannot find any mistakes. I hope you also have comments for this material assignment problem..

    Anyway, your answer makes really big improvement. So appreciate your comment.

    #9577
    mathias
    Keymaster

    According to https://www.openlb.net/forum/topic/material-assignment-indicator-is-changed-along-voxel-resolution/ I assume it is solve now — so it was not watertight!

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