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

hello
     i have defined a function named energysb() to culculate the linear kinetic 
energy of polyhedra and sphere seperately when the number of iterations is 
k*3000 , where k=1,2,3,...,  but it turn out to be that the calculation occured 
when the iter number more than 10000,i do not know where is wrong, can you give 
me some advice? 
below is part of my code:
   O.load('10-1.xml.bz2')
   O.engines = [
    ForceResetter(),
    
InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
    InteractionLoop(
        
[Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),Ig2_Sphere_Polyhedra_ScGeom(),Ig2_Wall_Polyhedra_PolyhedraGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Sphere_Sphere_ScGeom()],
        
[Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys(),Ip2_FrictMat_PolyhedraMat_FrictPhys(),Ip2_FrictMat_FrictMat_FrictPhys()],
  
        
[Law2_ScGeom_FrictPhys_CundallStrack(),Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
  
    ),
    # GravityEngine(gravity=(0,0,-9.81)),
    NewtonIntegrator(damping=0.5, gravity=(0, 0, -9.81)),
    
    PyRunner(command='changecolor()', realPeriod=15),
    PyRunner(command='checkUnbalanced()', realPeriod=15),
    qt.SnapshotEngine(fileBase='3d-',iterPeriod=10000,label='snapshot'),
    PyRunner(command='energysb()', realPeriod=3000),
]

def energysb():
    plke=0
    slke=0
    for b in O.bodies:
        if b.id>18:
            if isinstance(b.shape,Polyhedra):
                plke=plke+0.5*b.state.mass*b.state.vel.norm()*b.state.vel.norm()
            else:
                slke=slke+0.5*b.state.mass*b.state.vel.norm()*b.state.vel.norm()
    with open('spEnergyChange.txt','a') as text:
        text.write('%s\t'%serailsnumble)
        text.write('%s\t'%plke)
        text.write('%s\n'%slke)
by the way,there exist about 70000 sphere particles and 300 polyhedra particles 
in my simulation.

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