Manage Collisions for Tools

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Manage Collisions for Tools

tstucky
In the Examples/Tool directory, I cannot seem to get the Brazilian test to work. The example uses _ManageCollisions with attribute Between="DiscreteElement/Tool". The call to this plugin in Brazillian.inp is as follows:
    <PlugIn Id="_ManageCollision" Between="DiscreteElement/Tool"
        BroadPhase="Tool"  Set="Global"
        CallBack="Standard" Stiffness="1e10" RestitutionCoeff="0.8" />

Running the unmodified test, it is hard to tell if the tools, namely up_plate and down_plate, are actually colliding with the DE's, so I increased their displacement speed by a factor of 100, and found that they are not in fact colliding at all, or at least they do not appear to, and they are in fact freely moving through the DEs. They do not appear to even affect the stress experienced by the DE's beams.

Looking at the documentation, I saw that ToolID is a required parameter for the Tool BroadPhase, and that perhaps the Brazilian inp was stuck on an old implementation since it is missing the ToolID attribute. I went ahead and added an ID to both _NewTool plugins
    <PlugIn Id="_NewFrame" Center="(0,0.1,0)"  Quat="(0,0,1)(90)" ID="F1" />
    <PlugIn Id="_NewTool" Type="Cylinder" Radius="1" Length="0.1"
        ID="top" FrameID="F1" Set="up_plate"/>

    <PlugIn Id="_NewFrame" Center="(0,-1.1,0)" Quat="(0,0,1)(90)" ID="F2" />
    <PlugIn Id="_NewTool" Type="Cylinder" Radius="1" Length="0.1"
        ID="bottom" FrameID="F2" Set="down_plate"/>
And passed both these IDs to two calls of the _ManageCollision plugin.
    <PlugIn Id="_ManageCollision" Between="DiscreteElement/Tool"
        BroadPhase="Tool" ToolID="top" Set="Global"
    	CallBack="Standard" Stiffness="1e10" RestitutionCoeff="0.8" />
     <PlugIn Id="_ManageCollision" Between="DiscreteElement/Tool"
        BroadPhase="Tool" ToolID="bottom" Set="Global"
        CallBack="Standard" Stiffness="1e10" RestitutionCoeff="0.8" />

However, I am still seeing the tools pass right through the DE's, without even nudging them. Why are these two elements not colliding?

Thanks.


Reply | Threaded
Open this post in threaded view
|

Re: Manage Collisions for Tools

jeremie.girardot
Administrator
Dear tstucky,

yes indeed I confirm the error ! If you can be patient, we already have the solution in our personnal desks, we will make the update very soon, stay tune !

best,
Reply | Threaded
Open this post in threaded view
|

Re: Manage Collisions for Tools

Damien André
Administrator
In reply to this post by tstucky
Hello, contact management with tools will be obsolete. You can use this .inp file.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<GranOO Version="2.0" TotIteration="10000" OutDir="Brazilian-TEST"> 

  <PreProcessing>
    <PlugIn Id="_ReadDomain"  FileName="Disk.agdd"/>

    <PlugIn Id="_NewFrame" Center="(0,0.1,0)"  Quat="(0,0,1)(90)" ID="F1" />
    <PlugIn Id="_NewTool" Type="Cylinder" Radius="1" Length="0.1" FrameID="F1" Set="up_plate"/>

    <PlugIn Id="_NewFrame" Center="(0,-1.1,0)" Quat="(0,0,1)(90)" ID="F2" />
    <PlugIn Id="_NewTool" Type="Cylinder" Radius="1" Length="0.1" FrameID="F2" Set="down_plate"/>
   
    <PlugIn Id="_ConvertElementPairToBeam" YoungModulus="10e9"
            RadiusRatio="0.5" PoissonRatio="0.3" DampingFactor="0."
            MaxElongation="1.2"/>   
    <PlugIn Id="_ComputeOptimalTimeStep" Ratio="0.14" />

    <PlugIn Id="InitSensor"/>
    <PlugIn Id="PutToolInContact"/>
   
  </PreProcessing>
  
  <Processing>
    <PlugIn Id="_Check" />
    <PlugIn Id="_ClearLoad" />
    <PlugIn Id="_ApplyBondLoad"/>
    
    <PlugIn Id="_ManageCollision" Between="Body/Body" 
    	     BroadPhase="Raw"  Set1="up_plate" Set2="Global"
	     NarrowPhase="WithShape"
    	    CallBack="Standard" Stiffness="1e10" RestitutionCoeff="0.8" />
     <PlugIn Id="_ManageCollision" Between="Body/Body" 
    	     BroadPhase="Raw"  Set1="down_plate" Set2="Global"
	     NarrowPhase="WithShape"
    	     CallBack="Standard" Stiffness="1e10" RestitutionCoeff="0.8" />
    
    <PlugIn Id="_WriteSensorData" IterLoop="20" />
    <PlugIn Id="_IntegrateAcceleration" Linear="Yes" Angular="Yes"
             BetaLinear="1.3" BetaAngular="1.3"/>
   
    <PlugIn Id="_ImposeDisplacement" X="0." Y="-.000001*it" Z="0." Set="up_plate"/>
    <PlugIn Id="_ImposeDisplacement" X="0." Y=" .000001*it" Z="0." Set="down_plate"/>
    <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="up_plate"/>
    <PlugIn Id="_ImposeOrientation" Clamp="Yes" Set="down_plate"/>
    <PlugIn Id="_UpdateSupportShape" IterLoop="20"/>    
    <PlugIn Id="_SaveDomain" IterLoop="100" />
    <PlugIn Id="_ExportToPVD" Field="All" IterLoop="100"/>
  </Processing>
 
  <PostProcessing>
  </PostProcessing>

</GranOO>

Reply | Threaded
Open this post in threaded view
|

Re: Manage Collisions for Tools

tstucky
Using the Body/Body between solved it. Thanks!