scale>0 assertion error in stl
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › scale>0 assertion error in stl
- This topic has 3 replies, 2 voices, and was last updated 3 months, 1 week ago by nipinl.
-
AuthorPosts
-
August 22, 2024 at 12:43 am #9132nipinlParticipant
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=0Thank you and best regards,
NipinAugust 22, 2024 at 7:51 am #9134AdrianKeymasterIf 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.August 22, 2024 at 1:07 pm #9143nipinlParticipantHi 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,
NipinThread 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:466August 27, 2024 at 2:44 pm #9158nipinlParticipantHi,
I’ve commented out all calculations related to yPlus and then simulation is working fine.Best,
Nipin -
AuthorPosts
- You must be logged in to reply to this topic.