Hello there!
I was trying to somehow replicate this video But, after defining my domain via granoo-cooker, with the following SupportShape with 3000 elements: <PlugIn Id="_NewSupportShape" Type="Box" DimX="0.1" DimY="2" DimZ="2" ID="Boundary"/>I tried to setup a simulation (as for first case, without any bond-breaking effect), but as soon as I define it, I get an error on ManageCollision with the following text: ################################################################################################ [PROCESSING] Starting the processing time loop [PROCESSING it=0][PlugIn _ManageCollision...] [ERROR] #################################################### # An error was encountered ! The program must stop # #################################################### You have to fix this problem, you may browse the source files to get more informations... line : 512 in file : /home/tulio/programs/granoo/tags/2.0/Lib/GranOO/libGeom/Vector.hpp condition : 'k != 0.' ====================== -- Attached message -- ====================== can't divide a vector by a null value bullet.exe: /home/tulio/programs/granoo/tags/2.0/Lib/GranOO/libUtil/Macro.cpp:65: static void GranOO::Util::AssertMsg::RaiseUserAssertion(int, const string&, const string&, const string&): Assertion `0' failed. Aborted (core dumped) ################################################################################################ I've tried to search the source codes and couldn't find the reason for it. Is there anything I'm doing wrong in this case? I never had any problem with ManageCollision before, but this time it's simply not working. My complete .inp code can be found below: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <GranOO Version="2.0" TotIteration="100000" TimeStep="1e-4" OutDir="glass"> <PreProcessing> <PlugIn Id="_ReadDomain" FileName="./TEST/CompactDomain.agdd" /> <PlugIn Id="_NewFrame" Center="(-0.2,0.,0.)" ID="frame1" /> <PlugIn Id="_NewTool" Type="Sphere" Radius="0.1" FrameID="frame1" Set="bola"/> <PlugIn Id="_ConvertElementPairToBeam" YoungModulus="1e7" RadiusRatio="0.5" /> </PreProcessing> <Processing> <PlugIn Id="_Check" /> <PlugIn Id="_ClearLoad" /> <PlugIn Id="_ApplyBondLoad" /> <PlugIn Id="_IntegrateAcceleration" Linear="Yes" Angular="Yes"/> <PlugIn Id="_ManageCollision" Between="Body/Body" BroadPhase="Raw" Set1="Global" Set2="bola" NarrowPhase="WithShape" CallBack="Standard" RestitutionCoeff="0.8" Stiffness="1e11"/> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-yMin" /> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-yMax" /> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-zMin" /> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-zMax" /> <PlugIn Id="_ImposeDisplacement" X="0.00001*it" Y="0." Z="0." Set="bola" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-yMin" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-yMax" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-zMin" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-zMax" /> <PlugIn Id="_ExportToPVD" Field="All" IterLoop="100" /> </Processing> <PostProcessing> </PostProcessing> </GranOO> Anyway, thank you! |
Messing on the forum I found André's code for the shown video. Yet, even though my simulation code doesn't work for the proposed, the error is still to be found. I created a new test code but instead of a sphere, I'm using a cylinder and it did work and the collision was effective, yet the problem on the first code persists.
|
Administrator
|
Hello, could you share with us your *.gdd file ? Thx, Damien.
|
Administrator
|
In reply to this post by mumić
Hello, Here is the fix :
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <GranOO Version="2.0" TotIteration="100000" TimeStep="1e-4" OutDir="glass"> <PreProcessing> <PlugIn Id="_ReadDomain" FileName="./TEST/CompactDomain.agdd" Set="plate"/> <PlugIn Id="_NewFrame" Center="(-0.2,0.,0.)" ID="frame1" /> <PlugIn Id="_NewTool" Type="Sphere" Radius="0.1" FrameID="frame1" Set="bola"/> <PlugIn Id="_ConvertElementPairToBeam" YoungModulus="1e7" RadiusRatio="0.5" /> </PreProcessing> <Processing> <PlugIn Id="_Check" /> <PlugIn Id="_ClearLoad" /> <PlugIn Id="_ApplyBondLoad" /> <PlugIn Id="_IntegrateAcceleration" Linear="Yes" Angular="Yes"/> <PlugIn Id="_ManageCollision" Between="Body/Body" BroadPhase="Raw" Set1="plate" Set2="bola" NarrowPhase="WithShape" CallBack="Standard" RestitutionCoeff="0.8" Stiffness="1e11"/> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-yMin" /> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-yMax" /> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-zMin" /> <PlugIn Id="_ImposeDisplacement" X="0." Y="0." Z="0." Set="Boundary-zMax" /> <PlugIn Id="_ImposeDisplacement" X="0.00001*it" Y="0." Z="0." Set="bola" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-yMin" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-yMax" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-zMin" /> <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="Boundary-zMax" /> <PlugIn Id="_ExportToPVD" Field="All" IterLoop="100" /> </Processing> <PostProcessing> </PostProcessing> </GranOO> The error is raised because your ball is included in the "Global" set. So, you research a contact with two bodies that are the same ! kind regards, Damien. |
That makes a lot of sense, thank you!
Just to make it clear, does Global set include all of the SetOfs listed? Because in the Brazilian test example file, the contact is Body/Body between the plate and Global sets. |
Administrator
|
Nope, the setof named "Global" contains ALL the items. For collision detection, I am agree with you, it remains not clear. I suppose that it works only if the shape are different (tools are non-spherical).
|
Free forum by Nabble | Edit this page |