Periodic boundaries in one direction and load-controlled walls in the others

Asked by Katia Boschi

I would like to employ periodic boundaries, equipped with a servo-control to impose a cell pressure, in the horizontal directions. In the vertical one, instead, I need to adopt a load-controlled rigid wall.

More precisely, I was wondering if it is possible to apply periodic boundaries only in two directions and if I can apply a force directly to the rigid wall.

Question information

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

Hi, it is possible, yes. See e.g. [1].
You need to make sure the walls are sufficiently large so no particles will reach edges during the simulation.
And you need allowBiggerThanPeriod=True for the collider to accept large non-periodic objects.
Bruno

[1] https://link.springer.com/article/10.1007/s10035-015-0560-6

Revision history for this message
Katia Boschi (katia.boschi) said :
#2

Thanks Bruno!

Revision history for this message
Yuxuan Wen (wenyuxuan) said :
#3

Hello Bruno,

I am reading your paper that mentioned above and trying to formulate the same shear flow which is shown in your paper. I read your periodicSandPile.py code and take it as a benchmark to formulate the shear flow. But I still met some questions , may I ask you these questions?

1) In your periodicSandPile.py code, after using makeCloud to generate the sphere particles, in the following sentence you use O.bodies.append([spheres(s[0],s[1]) for s in sp] ) command to add the spheres in the body. I am so confused that in many other examples, makeCloud command is enough to generate the spheres, so why we need to add this following sentence? I tried to delete this sentence and the simulation just not works, the particles are out of the region that makeCloud command has defined.

2) In your paper, to avoid preferential slip zones near the plates, the first layer of spheres in contact with a plate is fixed to the plates by highly cohesive contacts. I am searching the method to identify the spheres that in contact with the plate and the way to add cohesive forces. Would you please tell me which wrapper or the module should I use? Thank you so much! I am a fan of you and really admire your work!

Best Regards,
Yuxuan

Revision history for this message
Jan Stránský (honzik) said :
#4

Hello,

next time please open a new question (possibly with a reference to the old one) instead of jumping into 1,5 years closed question.

> 1)
> in many other examples, makeCloud command is enough to generate the spheres

any example? makeCloud generate data about spheres (center,radius), definitely not spheres and definitely not in simulation. You always need something like O.bodies.append(something with sphere pack) or sp.toSimulation().

Of course, if you delete adding particles to simulation, they are not in the simulation...

cheers
Jan

Revision history for this message
Yuxuan Wen (wenyuxuan) said :
#5

Hello Jan,

I am sorry... Next time I will open a new question.

And thank you for your replying. Yes, in other examples there are always sp.toSimulation, it is my fault that I didn't notice this sentence. I just search the documentation and it shows that the sp.toSimulation will implicitly set O.Periodic=True and O.cell.refSize to the packing period size.

Kind Regards,
Yuxuan