How to reduce average particle velocity of a packing
Hi,
I'd like to ask that how to reduce the average velocity of all the particles at a confined situation without any change in particle connections.
The following MWE shows the way I came up with to reduce the average velocity: Firstly, carry out the compaction process to reach target confining pressure (100 kPa) with periodic boundary. Then switch to a calmdown process to reduce the average velocity of all the particles by increasing damping coefficient.
However, one problem arises with this calmdown process: there are some particle interactions lost during this process. As you may check by running the MWE (it will take less than 1 minute in general): before the calmdown process, there are 30845 interactions, but after the calmdowm process there are 30766 interactions, Which is not I want.
Do you have any idea about how to reduce the average velocity while keeping the packing fabric the same?
Thanks
Leonard
MWE:
###############
from __future__ import print_function
sigmaIso = -100e3
from yade import pack, qt, plot
mn,mx=Vector3(
O.periodic = True
O.cell.
sp = pack.SpherePack()
sp.makeCloud(
sp.toSimulation()
particleId=[]
for i in O.bodies:
particleId.
newton=
O.engines = [
),
newton,
]
O.dt = .5 * PWaveTimeStep()
O.trackEnergy = True
def compactionFinis
print(
print('Number of interactions before calmDown'
triax.doneHook = 'calmDown()'
print('average velocity before calmDown'
newton.
print('Now please click run button to start calmdown process')
def avgVel_
vel=0
avg=0
for i in idList:
vel+=
avg=vel/
return avg
def calmDown():
print(
O.run(
# print("after run")
if avgVel_
O.pause()
print('Number of interactions after calmDown'
O.run()
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Jan Stránský
- Solved:
- Last query:
- Last reply: