New question #703351 on Yade:
https://answers.launchpad.net/yade/+question/703351

Hi i try to simulate the dynamic compaction by dropping the weight to the 
footing. and the current code are:

from yade import pack,plot
'''pred=pack.inCylinder((0,0,0),(0,0,0.25),0.10)
sp=pack.randomDensePack(pred,radius=0.01,spheresInCell=300)'''

## 1.create boundaries and the packs.
O.bodies.append(geom.facetBox((4, 4, 4), (4, 4, 4), wallMask=31))
sp = pack.SpherePack()
pred=pack.inAlignedBox((0,0,0),(8,8,8))
sp=pack.randomDensePack(pred,spheresInCell=1000,radius=.3,rRelFuzz=.4,returnSpherePack=True)

sp.toSimulation()

idSteel=O.materials.append(FrictMat(young=210e9,poisson=.25,frictionAngle=.8,label="steel"))
Steel=O.materials[idSteel]

calm()

O.engines=[ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()]),
    InteractionLoop(
                # handle sphere+sphere and facet+sphere collisions
                [Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()])

    ,NewtonIntegrator(gravity=(0, 0, -9.81), damping=0.4),
    PyRunner(iterPeriod=10000,command="addPlotData()"),
    
VTKRecorder(iterPeriod=10000,recorders=['spheres','facets','colors'],fileName='p2-'),
    PyRunner(command='checkUnbalanced()', realPeriod=2, label='checker'),
    PyRunner(command='compaction()', realPeriod=3, label='compact'),
]
def addPlotData():
  '''Dz=hammer.state.displ[2]
  Fz=O.forces.f(hammerID)[2]
  plot.addData(i=O.iter,Fz=Fz,Dz=Dz)'''

## 2.lets the pack settle and drop the footing
def checkUnbalanced():
        # at the very start, unbalanced force can be low as there is only few 
contacts, but it does not mean the packing is stable
        if O.iter < 5000:
                return
        # the rest will be run only if unbalanced is < .1 (stabilized packing)
        if unbalancedForce() > .1:
                return
                
        footing=O.bodies.appendClumped([ sphere([4,4,9], material=Steel, 
radius=0.25),          sphere([3.5,4,9], material=Steel, 
radius=0.25),sphere([4.5,4,9], material=Steel,                radius=0.25) , 
sphere([3.66,4.38,9], material=Steel, radius=0.25),sphere([4,4.5,9],     
material=Steel, radius=0.25),sphere([4.35,4.35,9], material=Steel, 
radius=0.25),                sphere([4.35,3.64,9], material=Steel, 
radius=0.25),sphere([4,3.5,9], material=Steel,    radius=0.25) , 
sphere([3.64,3.64,9], material=Steel, radius=0.25) ])
        checker.command = 'compaction()'

## 3.dropping the wegiht from a height. 
def compaction():
        weight=O.bodies.appendClumped([ sphere([4,4,11], material=Steel, 
radius=0.25), sphere([3.5,4,11], material=Steel, 
radius=0.25),sphere([4.5,4,11], material=Steel, radius=0.25) , 
sphere([3.66,4.38,11], material=Steel, radius=0.25),sphere([4,4.5,11], 
material=Steel, radius=0.25),sphere([4.35,4.35,11], material=Steel, 
radius=0.25), sphere([4.35,3.64,11], material=Steel, 
radius=0.25),sphere([4,3.5,11], material=Steel, radius=0.25) , 
sphere([3.64,3.64,11], material=Steel, radius=0.25) ])
        ##checker.command = 'compaction()'      
        
        
O.dt=0.5*PWaveTimeStep()
O.run()
O.saveTmp()



I have some questions.
1. At step#1 for create packing is it possible to assign the material 
properties to the particle in side the pack and how can i apply the particle 
size distribution. 

2. At step #2 after the gravity deposit is finished i try to add 
'footing(clump)' to the system and after that i try to drop the 'weight(clump) 
at the specific height. The 3D animation shows after the weight is drops the 
footing and weight is bounce off and dissapeard. Could you suggest better 
method to do this simulation or did i miss something in the engine. I try to 
drop the weight at every 2 second while the footing still remain at the top of 
the pack.
Im am very new with YADE dem and try to follow the explamples in the website 
and try to read the manual.
Thank you very much

-- 
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     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to