TriaxialCompressionEngine : particles packing with desired porosity

Asked by Ali Naseri

Hi

I 'm writing a code to create packing with overlaps and a desired porosity but not sure which compression engine is suitable for my purpose, Below is the code :

sp=pack.SpherePack()
tr=TriaxialCompressionEngine()

   ## uniform distribution

   sp.makeCloud((0,0,0),(2,2,2),rMean=.2,rRelFuzz=.3,periodic=True,num=20)

sp.toSimulation()

O.engines=[

   ForceResetter(),

   InsertionSortCollider([Bo1_Sphere_Aabb()]),

   InteractionLoop(

      [Ig2_Sphere_Sphere_L3Geom()],

      [Ip2_FrictMat_FrictMat_FrictPhys()],

      [Law2_L3Geom_FrictPhys_ElPerfPl()]

   ),

   NewtonIntegrator(damping=.6),

   TriaxialCompressionEngine(label='triax',

      currentState=4,fixedPorosity=0.3,fixedPoroCompaction=True,

      StabilityCriterion=0.001,UnbalancedForce=0.1

   )

]

Apparently the triaxial compression engine is the only triaxial engine that gives a fixed porosity at the end but I don't know if this works and what is the syntax for getting the particles coordinates after the packing compressed by the engine? export .text will export the makecloud coordinates not the compressed one.

Thanks

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Anton Gladky (gladky-anton) said :
#1

Hi,

I can only try to answer your second question:
> .... but I don't know if this works and what is the syntax for getting the particles
> coordinates after the packing compressed by the engine? export .text will export the > makecloud coordinates not the compressed one.

You can export particles several time during the work of the script.
All the time the __current__ particle positions will be exported. Be
sure you give different names to your export files each time, just to
escape overwriting.

Anton

Revision history for this message
Ali Naseri (artnaseri) said :
#2

Hi Thanks

Thanks, But my question still exist for the usage of TriaxialCompressionEngine. I hope any of the developers who worked on this part give me some hints.

I use export at the end of the code but it seems that the compression engine does not work because I get a loose packing of particle coordinates.

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#3

Ali,
I'm the main developer of the triaxial engine you are using, but unfortunately this "fixedPorosity" feature has been added by somebody else and I never really understood what it was supposed to do. I'm considering removing it. Don't use it.

Try using TriaxialStressController or ThreeDTriaxEngine, it will be simpler to understand their behaviour (see triaxial tutorial in scripts/) than that of CompressionEngine.
The purpose of these engines is to control precisely stress and strain rate. Actually, if what you want is just to impose an arbitrary volume to a sphere packing, why not just moving boundaries to a fixed position? You don't need any engine for this.

Revision history for this message
Ali Naseri (artnaseri) said :
#4

Thanks for the answer I will try other engines. what I would like to do is to create packings with a wide range of porosities and different particles size distibution so I need to start first with makecloud and then somehow compressed them to the desired level. If I fixed the moving boundaries there will be some space between the overlaping particles so I don't see how I can get my porosity in this way.This packing will be transfered to Ansys Fluent and will be cut at some points by a boc make it ready for flow analysis.

Thanks

Revision history for this message
Ali Naseri (artnaseri) said :
#5

 Thanks,

I 'm considering TriaxialstressController it has the feature of box volume and spheres volume which may allow me to get a certain porosity of the packing at the end. But I would like to create periodic particles packing with overlaps , apparently there is no option in the stresscontroller engine that let me manipulate the stiffness to get overlaps. What do you suggest.

first I make a loose packing of spheres or clumps and then I want them to overlap to make an agglomeration.

Cheers,

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#6

Impose strain up to desired overlaps?
I don't really see the problem, be it periodic or not.

Can you help with this problem?

Provide an answer of your own, or ask Ali Naseri for more information if necessary.

To post a message you must log in.