Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-05-09 Thread Christian Jakob
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Status: Open => Answered

Christian Jakob proposed the following answer:
Hi,

I did not investigate your script very deeply, but I guess the explosion
arises from replaceByClumps() function.

A workaround for avoiding explosions is given in the original example
line 81 and following ...

https://github.com/yade/trunk/blob/master/examples/clumps
/replaceByClumps-example.py#L81

Cheers,

Christian

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-05-05 Thread Seti
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Status: Answered => Open

Seti is still having a problem:
Yes, I have even tried O.dt=.1*utils.PWaveTimeStep() , no different !

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-05-05 Thread Seti
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Seti gave more information on the question:
Yes, I have even tried O.dt=.1*utils.PWaveTimeStep() , no difference!

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-05-05 Thread Jérôme Duriez
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Status: Open => Answered

Jérôme Duriez proposed the following answer:
Have you tried to play with (decrease) the timestep ? Excessively high
timesteps are a classical reason for "explosion"

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-05-05 Thread Seti
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Seti gave more information on the question:
I think this explosion is depended on percentage of clumping . I mean by 
increasing the ratio of clumping the sample explode sooner. I am not sure what 
is the conflict.
Does anybody experience in this regard.

Thanks 
Seti

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-05-05 Thread Seti
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Status: Answered => Open

Seti is still having a problem:
Hi Kalus, 
Thanks for your response . I have tried to use mackeCloud , easily as per 
below, However I have the same problem. Would you please?

from yade import pack,utils, qt, plot

#create material
soil1 = 
CohFrictMat(young=30e9,poisson=0.3,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6,
 shearCohesion=80e6,label='soil')
#color=(1,0,0) red color

O.materials.append(soil1)
O.bodies.append(utils.wall(0,axis=1,sense=1))
O.materials.append(CohFrictMat(young=30e9,poisson=0.3, frictionAngle = 
radians(30) , label='wallmat'))
wallmat = O.materials[-1]

sp=SpherePack()
sp.makeCloud((0,0,0),(14.5,14.5,14.5),rMean=0.5,rRelFuzz=0.0)
#sp.makeCloud((0,0,0),(14.5,14.5,14.5),rMean=0.2,rRelFuzz=0.0,False,0.95,[0.2,0.3,0.4,0.5,0.6,0.7,0.8],[0.14,0.28,0.34,0.50,0.65,0.85,1.00])
#spheres.toSimulation()
sp.toSimulation()
#O.bodies.append(spheres)

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #291202]: Clumping - angl of repose

2016-04-17 Thread Klaus Thoeni
Question #291202 on Yade changed:
https://answers.launchpad.net/yade/+question/291202

Status: Open => Answered

Klaus Thoeni proposed the following answer:
Hi,

you are using randomDensePack to generate your assembly. The function
uses TriaxialTest [1] so the packing you get is most certain not stress-
free, i.e., particles will have overlap, hence you get an explosion.
This should be the case for spheres and clumps. Try using makeCloud [2]
instead or make your dense sample stress-free by shrinking the spheres
which overlap.

HTH
K

[1] 
https://yade-dem.org/doc/yade.pack.html?highlight=randomdensepack#yade.pack.randomDensePack
[2] 
https://yade-dem.org/doc/yade.pack.html?highlight=makecloud#yade._packSpheres.SpherePack.makeCloud

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #291202]: Clumping - angl of repose

2016-04-16 Thread Seti
New question #291202 on Yade:
https://answers.launchpad.net/yade/+question/291202

Hi all,


In below code I have tried to study the effect of percentage/ratio of clumping 
on repose angle. before adding the clumping section the scrip worked properly 
however by adding clump grain do not fall down because of their gravity and the 
sample explodes .

Would you please advise?

Thanks
#!/usr/bin/python
from yade import pack,utils, qt, plot
pred = pack.inAlignedBox((0,0,0),(14.5,14.5,14.5))
#create material
soil1 = 
CohFrictMat(young=30e9,poisson=0.3,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6,
 shearCohesion=80e6,label='soil')
#color=(1,0,0) red color
#soil1 = 
FrictMat(young=1e6,poisson=0.4,frictionAngle=radians(30),density=2500.0,label='soil')
O.materials.append(soil1)
O.bodies.append(utils.wall(0,axis=1,sense=1))
O.materials.append(CohFrictMat(young=30e9,poisson=0.3, frictionAngle = 
radians(30) , label='wallmat'))
wallmat = O.materials[-1]
45
spheres=SpherePack()
spheres=pack.randomDensePack(pred,radius=.5,material='soil',spheresInCell=1000,color=(1,0,0),returnSpherePack=True)
spheres.toSimulation()
#O.bodies.append(spheres)
#

#
O.engines=[
 ForceResetter(),#reset forces
 InsertionSortCollider([Bo1_Wall_Aabb(),Bo1_Sphere_Aabb()]),
 InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Wall_Sphere_ScGeom()], # collision geometry
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()], # 
collision "physics"

[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()]
 # contact law -- apply forces
),
  # apply gravity force to particles
# damping: numerical dissipation of energy
  NewtonIntegrator(damping=0.5,gravity=(0,-9.81,0)),

#qt.SnapshotEngine(fileBase='3d-',iterPeriod=200,label='snapshot'),
   # this engine will be called after 2 steps, only once

  
PyRunner(command='checkUnbalanced()',realPeriod=200,label='checker'),
  PyRunner(command='addPlotData()',iterPeriod=200)
]
 
#CLUMPING###


#create a box:
#id_box = 
O.bodies.append(box((0,0,0),(.0045,0.0045,.0045),fixed=True,material=Mat))

#create assembly of spheres:
#sp=pack.SpherePack()
#sp.makeCloud((0,0,0),(.004,0.004,.004),rMean=.00018,rRelFuzz=.0001,num=1000,periodic=False)
#O.bodies.append([sphere(c,r,material=Mat) for c,r in sp])

#print len(sp),' particles generated.'
print 'Roundness coefficient without clumps is: ',O.bodies.getRoundness()

 show how to use makeClumpTemplate():


#dyad:
#relRadList1 = [.0002,.0002]
#relPosList1 = [[.0003,0,0],[0.0006,0,0]]

#peanut:
relRadList2 = [.0002,0.0004,0.0002]
relPosList2 = [[0.0003,0,0],[0,0,0],[0.0006,0,0]]

#stick:
#relRadList3 = [1,1,1,1,1]
#relPosList3 = [[0,1,0],[0,2,0],[0,3,0],[0,4,0],[0,5,0]]

templates= []
#templates.append(clumpTemplate(relRadii=relRadList1,relPositions=relPosList1))
templates.append(clumpTemplate(relRadii=relRadList2,relPositions=relPosList2))
#templates.append(clumpTemplate(relRadii=relRadList3,relPositions=relPosList3))


 show how to use replaceByClumps():


#replace by 50% dyads, 30% peanuts and 10% sticks:
#O.bodies.replaceByClumps(templates,[.5,.3,.1])
O.bodies.replaceByClumps(templates,[0.5])

 show how to use getRoundness():


#create a list of all standalone spheres:
standaloneList = []
for b in O.bodies:
if b.isStandalone:
standaloneList.append(b.id)

print 'Roundness coefficient for spheres and clumps is: 
',O.bodies.getRoundness()
print 'Roundness coefficient just for clumps is: 
',O.bodies.getRoundness(standaloneList)

#sp.toSimulation()

print 'Number of elements: ', len(O.bodies)
print 'Box Volume: '
print 'Clumprepose,0.5,.25,30,3grain,0.5%'
O.trackEnergy=True
# set timestep to a fraction of the critical timestep
# the fraction is very small, so that the simulation is not too fast
# and the motion can be observed
O.dt=1*utils.PWaveTimeStep()
#makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1)
# save the simulation, so that it can be reloaded later, for experimentation
#O.saveTmp()0
#checker.command='stopUnloading()'
def checkUnbalanced():
   if unbalancedForce()<5e-2:
  print('Reached target , stopping')
  O.pause()
  plot.saveDataTxt('Clumprepose,0.5,.5,30,3grain,0.5%.bz2')
  plot.saveDataTxt('Clumprepose,0.5,.5,30,3grain,0.5%.txt')
#plot.saveDataTxt('modi.data.bz2')
  # plot.saveGnuplot('bbb') is also possible

# collect history of data which will be plotted

def addPlotData():
   # each item is given a names, by which it can be the unsed in plot.plots
   # the **O.energy converts dictionary-like O.energy to plot.addData arguments