Re: [Yade-users] [Question #656614]: Sphere size Distribution

2017-08-22 Thread Seti
Question #656614 on Yade changed:
https://answers.launchpad.net/yade/+question/656614

Seti posted a new comment:
Hi Jan,

Much appreciated :)

-- 
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 #656614]: Sphere size Distribution

2017-08-22 Thread Seti
Question #656614 on Yade changed:
https://answers.launchpad.net/yade/+question/656614

Status: Answered => Solved

Seti confirmed that the question is solved:
Thanks Jan Stránský, that solved my question.

-- 
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 #656614]: Sphere size Distribution

2017-08-21 Thread Jan Stránský
Question #656614 on Yade changed:
https://answers.launchpad.net/yade/+question/656614

Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Seti,

> sp.makeCloud(...)
> ...
> spheres.toSimulation()

try sp.toSimulation :-)
cheers
Jan

-- 
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 #656614]: Sphere size Distribution

2017-08-21 Thread Seti
New question #656614 on Yade:
https://answers.launchpad.net/yade/+question/656614

Hi all,

can you please help me to find out what is wrong with below script. Thanks so 
much
That is very simple script try to model pack of spheres with specific size 
distribution,

#!/usr/bin/python
from yade import pack,utils, qt, plot
#pred = pack.inAlignedBox((0,0,0),(.045,0.045,.045))
#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]

spheres=SpherePack()
#spheres=pack.randomDensePack(pred,radius=.5,rRelFuzz=0,material='soil',spheresInCell=1000,color=(1,0,0),returnSpherePack=True)
#spheres.toSimulation()
#O.bodies.append(spheres)


sp=pack.SpherePack()
psdSizes=[0.00011,0.00012,0.00013,0.00014,0.00015,0.00016,0.00017,0.00018,0.00019,0.0002]
 # (sizes or radii of the grains vary from 2mm to 9.5mm)
psdCumm=[0,0.2,0.3,.4,0.5,0.6,0.7,0.8,0.9,1.0] # for the code not using 
percentage, e.g. yade-daily

 
sp.makeCloud((0,0,0),(.0045,0.0045,.0045),-1,0,1000,False, 
0.95,psdSizes,psdCumm,False,seed=1) #"seed" make the "random" generation always 
the same
#sp.makeCloud(mn,mx,-1,0,num_spheres1,num_spheres1,False, 
0.95,psdSizes,psdCumm,False,seed=1)#"seed" make the "random" generation always 
the same 
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=100,label='checker'),
  PyRunner(command='addPlotData()',iterPeriod=100)
]

print 'Number of elements: ', len(O.bodies)
print 'Box Volume: '
print 'Reposemix,e-2repose30degree,r=.5,.0'
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('Reposemix,,e-2repose,30degree,r=.5,.0.txt.bz2')
  plot.saveDataTxt('Reposemix,,e-2repose,30degree,r=.5,.0.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
   plot.addData(i=O.iter,unbalanced=unbalancedForce(),**O.energy)
#O.save('Modifiedd.txt.bz2')
#while 1:
#O.run(100,True)
#if unbalancedForce()<1e-5:
#break
plot.plots={'i':('unbalanced',None,O.energy.keys)}
plot.plot()

O.saveTmp()

#plot.saveDataTxt('2')
from yade import qt
qt.View()
#O.run()
#from yade import qt
#qt.View()
#O.run()
# this function is called when the simulation is finished
#def finish():
   # snapshot is label of qt.SnapshotEngine
   # the 'snapshots' attribute contains list of all saved files
   #makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1)
   #O.pause()


yade.qt.Controller();
# set parameters of the renderer, to show network chains rather than particles
# these settings are accessible from the Controller window, on the second tab 
("Display") as well
#rr=yade.qt.Renderer()
#rr.shape=False
#rr.intrPhys=True




-- 
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 :