Tablet compaction

Asked by Mithushan Soundaranathan

Hi,

I am a new user to YADE-DEM, and are currently working on simulation the compaction pharmaceutical tablet. I came over this example in your tutorials (https://gitlab.com/yade-dev/trunk/blob/master/doc/sphinx/tutorial/06-periodic-triaxial-test.py ) and could be very use full for my application.

I have few question about this model:
• Which contact model was used?
• Which model did you use to model the deformation of the particles?
• Is it possible to change the materials ( example changes density, size, poisson ratio, young modulus etc)?
• Can I modify the example to add a desired porosity in the model, so the compaction stops when it reach desired porosity?
• Is it possible to initially pack the particles into a tablet shape (cylinder)?

Best,
Mithushan

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jérôme Duriez
Solved:
Last query:
Last reply:
Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#1

Hi,

• Which contact model was used?

Each script selects one (or many) contact model(s). You can read that script to know which one was used (look for O.engines=...)

• Which model did you use to model the deformation of the particles?

The contact model.

• Is it possible to change the materials ( example changes density, size, poisson ratio, young modulus etc)?

Yes.

• Can I modify the example to add a desired porosity in the model, so the compaction stops when it reach desired porosity?

Yes. Most examples already do that.

• Is it possible to initially pack the particles into a tablet shape (cylinder)?

You can import a meshed geometry, so yes, cylindrical container is straightforward if it is rigid. If you want different boundary conditions ( e.g. imposed pressure on the walls) it is more involved.

I hope it helps.

Bruno

Revision history for this message
Mithushan Soundaranathan (mithushan93) said :
#2

Hi,

Thank you very much for your reply.

The engine for this example is:

 O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()]
 ),
 PeriTriaxController(label='triax',
  # specify target values and whether they are strains or stresses
  goal=(sigmaIso,sigmaIso,sigmaIso),stressMask=7,
  # type of servo-control
  dynCell=True,maxStrainRate=(10,10,10),
  # wait until the unbalanced force goes below this value
  maxUnbalanced=.1,relStressTol=1e-3,
  # call this function when goal is reached and the packing is stable
  doneHook='compactionFinished()'
 ),
 NewtonIntegrator(damping=.2),
 PyRunner(command='addPlotData()',iterPeriod=100),
]

Where can I read about the model used in the particular example?

Could you please send me the examples which set an desired porosity for compaction.

Best,
Mithushan

Revision history for this message
Best Jérôme Duriez (jduriez) said :
#3

Hi

> Where can I read about the model used in the particular example?

In the documentation ;-)
Every YADE Python thing "thing" has a doc at thing? in YADE terminal, and at https://yade-dem.org/doc/yade.wrapper.html on the internet

> Could you please send me the examples which set an desired porosity for compaction.

https://gitlab.com/yade-dev/trunk/-/blob/master/examples/triax-tutorial/script-session1.py for instance

Revision history for this message
Mithushan Soundaranathan (mithushan93) said :
#4

Hi Jerome,

Thank you very much!

Best regards,
Mithushan

Revision history for this message
Mithushan Soundaranathan (mithushan93) said :
#5

Thanks Jérôme Duriez, that solved my question.