Unbalanced simulation
Hello again,
I am having some trouble achieving a stable packing using small particle sizes (isotropic compression, strain controlled). Using the script below I can get stable packings when the particle sizes are big enough (e.g. set SC=1). But when I decrease the size of the particles (e.g. set SC=1e-6) the simulation starts off fine but then the particles begin flying around and the simulation never reaches a stable packing. Now I have tried playing around with several parameters to get it to work: time step, material density, particle elasticitiy, verletDist, damping, maxUnbalanced, globUpdate, maxStrainRate. Decreasing the timestep seems to have a small effect on stability, but it yeilds unbearable simulation times. Note that the number of particles in my simulation is relatively small (I will control it later) and I don't want to decrease it anymore. What do I need to do to make stable packings for small particle sizes?
As a side note, when I decrease the particle sizes I will get an error telling me that some particles are bigger than half the cell period, even though its perfectly clear from the OpenGL viewer that this is not the case (is this a bug?). For now I have set the allowBiggerThan
I have also looked at this post:
https:/
but I don't really understand how the kinetic energy problem was solved.
Thanks,
Nolan
CODE:
from yade import pack,plot,export
r=2.12e-1
p=0.70
R=2.63155
t=0.065
print 'r = ',r
print 'R = ',R
SC=1e-6
print 'SC = ',SC
O.dt=5e-7
print 'O.dt = ', O.dt
O.materials.
sp=pack.
sp.makeCloud(
sphVol=
tStrain=-1
StrainR=0.1
sp.toSimulation()
O.engines=[
ForceResetter(),
InsertionSor
InteractionL
NewtonIntegr
PeriTriaxCon
PyRunner(
]
O.run()
def reachedTargetSt
print 'Reached Target Strain'
O.pause()
def checkPorosity(
REVl = O.cell.size[0]
REVvol = REVl**3
por = sphVol/REVvol
#print 'porosity = ',por
if(por > p):
print 'Target porosity reached'
print 'Finished Simulation'
print 'porosity = ',por
print 'REVl = ', REVl
O.pause()
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: