New question #678915 on Yade: https://answers.launchpad.net/yade/+question/678915
Dear All, I would like to create a cylindrical clump from spherical elements. This clump is falling down to a particle bed, beacuse of the effect of gravity. After in equilibrium state I summarized all of z components of interaction forces actin on the clump (with function tomegCheck()), but the result differs from the weight of the clump (which is calculated from the mass of the clump), and I do not understand why... It should to be equal in equilibrium state because there are no more forces acting on the clump. Has anybody any suggestions? Thanks in advance! Here is my code: from yade import plot from yade import pack from yade import qt from yade import ymport import math qt.View() densT = 2600 ET = 2.5e12 nuT = .3 frictAngT = .2 nCoh = 1e10 sCoh = 1e10 eRoll = .1 EA = 2.1e8 nuA = .3 densA = 7800 frictAngA = .35 talaj = O.materials.append(CohFrictMat(young=ET,poisson=nuT,density=densT,frictionAngle=frictAngT,normalCohesion=nCoh, shearCohesion=sCoh,etaRoll=eRoll,isCohesive=True,momentRotationLaw=True,label='talaj')) acel = O.materials.append(CohFrictMat(young=EA,poisson=nuA,density=densA,frictionAngle=frictAngA,normalCohesion=0, shearCohesion=0,etaRoll=.1,isCohesive=False,momentRotationLaw=False,label='acel')) seged = O.materials.append(CohFrictMat(young=2.1e13,poisson=nuT,density=2000,frictionAngle=frictAngT,normalCohesion=0, shearCohesion=0,etaRoll=.1,isCohesive=False,momentRotationLaw=False,label='kerek')) talaj = O.bodies.append(geom.utils.facetBox((0,0,.2),(1.8,.2,.2),wallMask=16, color=(.2,.2,.2),material = 'acel',wire=False)) doboz = O.bodies.append(geom.utils.facetBox((0,0,.06),(.25,.06,.06),wallMask=63, color=(.2,.2,.0),material = 'acel')) Sugar1 = .01 felho = pack.SpherePack() felho.makeCloud((-.2,-.05,.01),(.2,.05,.06),rMean=Sugar1) particles = O.bodies.append([sphere(c,r,material='talaj',color=(.3,.8,.1)) for c,r in felho]) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label='coh')], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, always_use_moment_law = True)] ), NewtonIntegrator(damping=.8,gravity=(0,0,-9.81),label='newton'), ] O.dt=.1*utils.PWaveTimeStep() O.engines=O.engines + [PyRunner(command='ment()',iterPeriod = 1,label='vez')] def ment(): plot.addData(i=O.iter,uF=utils.unbalancedForce()) if O.iter > 12000 and utils.unbalancedForce() < .2: coh.setCohesionNow=True for b in doboz: O.bodies.erase(b) global kerek_body kerek_body = [] ker_r = .02 ker_R = .25 db_e = 120 db_R = 12 emel = ker_R+ker_r+.05 osztas = math.radians(360)/db_e kerek_body.append(O.bodies.append(sphere([0,0,emel],ker_r,color=(1,0,0),material='kerek'))) for j in range(1,db_R+1): hanyados = float(j)/float(db_R) for i in range(0,db_e): if j == 8 and i>0 and i<db_e*.5: szin = (1,0,0) else: szin = (1,1,0) kerek_body.append(O.bodies.append(sphere([hanyados*ker_R*math.sin(i*osztas),0,hanyados*ker_R \ *math.cos(i*osztas)+emel],ker_r,color=szin,material='kerek'))) global kerekID kerekID = O.bodies.clump(kerek_body) O.bodies[kerekID].state.blockedDOFs = 'xyXYZ' vez.dead = True def tomegCheck(): m=0 b=0 for i in O.interactions: if i.id1 in kerek_body: print(i.id1) print(O.forces.f(i.id1)[2]) b+=1 m+=O.forces.f(i.id1)[2] print('number of interactions: ',b) print('sum value of z directional forces: ',m) print('whole mass of the clump: ',O.bodies[kerekID].state.mass) -- 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