← Back to team overview

yade-users team mailing list archive

Re: [Question #293955]: How to generate dense packing of aggregates

 

Question #293955 on Yade changed:
https://answers.launchpad.net/yade/+question/293955

    Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Varun,

first, I vote for Jerome's suggestion to make each step independently,
saving/loading intermediate steps.

to compress the sample, one option is to use slightly modified code from
randomDensePack [1], which uses PeriIsoCompressor internally. Something
like:
#####################################
O.periodic=True
O.materials.append(FrictMat(young=30e9,frictionAngle=.5,poisson=.3,density=1e3))
loadParticlesFromPreviousStep() # some function to create / load already
created particles using makeCloud and pack.inSphere approach
x1,y1,z1 = somehowComputedDimensions() # dimensions of all sample,
sufficiently enlarged
O.cell.setBox((x1,y1,z1))
O.engines=[
  ForceResetter(),
  InsertionSortCollider([Bo1_Sphere_Aabb()],verletDist=.05*radius),
  InteractionLoop(
    [Ig2_Sphere_Sphere_ScGeom()],
    [Ip2_FrictMat_FrictMat_FrictPhys()],
    [Law2_ScGeom_FrictPhys_CundallStrack()]
  ),

PeriIsoCompressor(charLen=2*radius,stresses=[-100e9,-1e8],maxUnbalanced=1e-2,doneHook='O.pause();',globalUpdateInt=5,keepProportions=True),
  NewtonIntegrator(damping=.6)
]
O.dt=utils.PWaveTimeStep()
O.run(); O.wait()
saveTheResults()
#####################################

In the compression phase, as it is just sample preparation, I think making
each aggregate a clump is good approach (in actual simulation, you use
elastic bonds instead). But actually it does not matter, it should work in
both ways, clumps or not.

So with this approach, you can compress your loose packing created by
makeCloud. For actual simulation, there are two options:
- use the resulting dimensions (which are not known apriori, but with the
same input data should not differ too much so you can set the inputs to gat
approximatelly what you want)
- make slightly larger initial packing and then crop it for your simulation

HTH
Jan

[1] https://github.com/yade/trunk/blob/master/py/pack/pack.py#L382


2016-05-21 2:16 GMT+02:00 VG <question293955@xxxxxxxxxxxxxxxxxxxxx>:

> Question #293955 on Yade changed:
> https://answers.launchpad.net/yade/+question/293955
>
>     Status: Answered => Open
>
> VG is still having a problem:
> Hello Jerome,
>
> Thanks for your response.
>
> By using the above MWE script, I am able to create the cohesive bonds
> the way I want which also required some tweaks.
>
> Now, the problem is that the final packing I get is not as dense or
> mechanically stable as I would prefer.
>
> So, its only the third step in my above post: "3) apply some compression
> to make the packing of aggregates denser", that I am not sure how to
> pursue.
>
> Also, once the granular sample is compressed, I would probably have to
> change the location and dimension of the plates I am using to apply
> loading to the sample. Is there a way to do that  ?
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.