yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #12741
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.