Skip to content

scale>0 assertion error in stl

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics scale>0 assertion error in stl

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #9132
    nipinl
    Participant

    Hi, I am studying pressure drop in a very rough pipe. My case is very similar to cylinder3d in laminar section. However, I get scale>0 assertion error from normalise function while loading the stl file. I guess this error is due to fluid material(1) is surrounded by boundary material(2) due to the complex surface morphology of the rough pipe. I was wondering if any option exist in OpenLB to identify such isolated fluid pockets and remove those? Any suggestion on how can I locate such problematic area in the stl file?
    The geometry looks like this: https://www.dropbox.com/scl/fi/f8ayfy3d1yje35rkl0ypa/roughCylinder.png?rlkey=8bfxy17yf4rgux6yjpow54tv8&st=78tj3ewu&dl=0

    Thank you and best regards,
    Nipin

    #9134
    Adrian
    Keymaster

    If this assertion fails while loading the STL file it can not be a problem in the material geometry as it is usually not constructed at that point.

    Can you provide a backtrace to see where exactly the std::vector normalization function as being called from? It could be as simple as a STL scaling issue.

    #9143
    nipinl
    Participant

    Hi Adrian,
    Thank you for your reply. I’m copying the backtrace here. I think I was vague in communicating the point at which simulation crashes. It is after stl file loading. Simulation works perfectly for coarser resolution;I tried N = 40 and 100 and it works. But it crashes for N>200.

    Thank you for your time,
    Best,
    Nipin

    Thread 1 “cylinder3d” received signal SIGABRT, Aborted.
    0x0000155554d7e7ac in ?? () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #0 0x0000155554d7e7ac in ?? () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #1 0x0000155554d306f2 in raise () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #2 0x0000155554d1a4b2 in abort () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #3 0x0000155554d1a3d5 in ?? () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #4 0x0000155554d29662 in __assert_fail () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #5 0x000000000048ebc9 in olb::util::normalize<double> (a=std::vector of length 3, capacity 3 = {…}) at ../../../src/utilities/vectorHelpers.h:204
    #6 0x00000000004a6d8b in olb::SuperLatticeYplus3D<double, olb::descriptors::D3Q19<olb::descriptors::FORCE> >::operator() (this=0x7fffffff4120, output=0x7fffffff3a30, input=0x7fffffff3a20) at ../../../src/functors/lattice/turbulentF3D.hh:77
    #7 0x0000000000532b88 in olb::FunctorPtr<olb::SuperF3D<double, double> >::operator()<double*, int*> (this=0x7fffffff4360) at ../../../src/utilities/functorPtr.h:100
    #8 olb::SuperMax3D<double, double>::operator() (this=this@entry=0x7fffffff4300, output=output@entry=0x7fffffff3e30, input=input@entry=0x7fffffff3d60) at ../../../src/functors/lattice/superMax3D.hh:88
    #9 0x0000000000414fcb in getResults (stlReader=…, timer=…, superGeometry=warning: RTTI symbol not found for class ‘olb::SuperGeometry<double, 3u>’
    …, iT=0, converter=…, sLattice=…) at cylinder3d.cpp:325
    #10 main (argc=<optimized out>, argv=<optimized out>) at cylinder3d.cpp:466
    #0 0x0000155554d7e7ac in ?? () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #1 0x0000155554d306f2 in raise () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #2 0x0000155554d1a4b2 in abort () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #3 0x0000155554d1a3d5 in ?? () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #4 0x0000155554d29662 in __assert_fail () from /cvmfs/soft.computecanada.ca/gentoo/2023/x86-64-v3/usr/lib64/libc.so.6
    #5 0x000000000048ebc9 in olb::util::normalize<double> (a=std::vector of length 3, capacity 3 = {…}) at ../../../src/utilities/vectorHelpers.h:204
    #6 0x00000000004a6d8b in olb::SuperLatticeYplus3D<double, olb::descriptors::D3Q19<olb::descriptors::FORCE> >::operator() (this=0x7fffffff4120, output=0x7fffffff3a30, input=0x7fffffff3a20) at ../../../src/functors/lattice/turbulentF3D.hh:77
    #7 0x0000000000532b88 in olb::FunctorPtr<olb::SuperF3D<double, double> >::operator()<double*, int*> (this=0x7fffffff4360) at ../../../src/utilities/functorPtr.h:100
    #8 olb::SuperMax3D<double, double>::operator() (this=this@entry=0x7fffffff4300, output=output@entry=0x7fffffff3e30, input=input@entry=0x7fffffff3d60) at ../../../src/functors/lattice/superMax3D.hh:88
    #9 0x0000000000414fcb in getResults (stlReader=…, timer=…, superGeometry=warning: RTTI symbol not found for class ‘olb::SuperGeometry<double, 3u>’
    …, iT=0, converter=…, sLattice=…) at cylinder3d.cpp:325
    #10 main (argc=<optimized out>, argv=<optimized out>) at cylinder3d.cpp:466

    #9158
    nipinl
    Participant

    Hi,
    I’ve commented out all calculations related to yPlus and then simulation is working fine.

    Best,
    Nipin

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