2010/10/26 Václav Šmilauer <[email protected]> > Moving the discussion back to the bug tracker... > > Chiara: misunderstanding, sorry, I meant that the prevous > Ig2_Facet_Sphere_ScGeom did not work for facets because the shift2 > parameter was disregarded. Otherwise it should work with facets just > fine, as well as any other shapes. > Ok, sorry :-)
> > For getting periodicity &c in the contact law: please use > Cell::intrShiftPos (computes the shift2, which moves id2 to the period > of id1) and Cell::intrShiftVel (computes the velocity delta that must be > added to id2's velocity so that they are as if in the same period). It > takes care of possible ways of accounting for velGrad > (Cell::homoDeform). > Ok then I will update my law, I missed these introductions. Thanks! Chiara > > -- > periodic boundary don't work with ViscEl classes > https://bugs.launchpad.net/bugs/666246 > You received this bug notification because you are a member of Yade > developers, which is subscribed to Yade. > > Status in Yet Another Dynamic Engine: Fix Committed > > Bug description: > Periodic boundary don't work with Ig2_Facet_Sphere_ScGeom and > Ig2_Sphere_Sphere_ScGeom functors. > > > #=============BEGIN SCRIPT TEST PERIODIC WITH > Ig2_Sphere_Sphere_ScGeom========== > # -*- coding: utf-8 > > from yade import utils > > sphereRadius=0.1 > tc=0.001# collision time > en=0.3 # normal restitution coefficient > es=0.3 # tangential restitution coefficient > density=2700 > frictionAngle=radians(35)# > params=utils.getViscoelasticFromSpheresInteraction(tc,en,es) > > sphereMat=O.materials.append(ViscElMat(density=density,frictionAngle=frictionAngle,**params)) > > > # Spheres > sphId=O.bodies.append([ > utils.sphere( (i*0.2+0.1,0.5,0.2), 0.1, material=sphereMat) for i in > range(5) > ]) > O.bodies[sphId[-1]].state.vel=(0.5,0.5,0) > > ## Engines > O.engines=[ > ForceResetter(), > InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), > InteractionLoop( > [Ig2_Sphere_Sphere_ScGeom()], > [Ip2_ViscElMat_ViscElMat_ViscElPhys()], > [Law2_ScGeom_ViscElPhys_Basic()], > ), > NewtonIntegrator(damping=0), > ] > > O.periodic=True > O.cell.refSize=Vector3(1,1,1) > > O.dt=.01*tc > > O.saveTmp() > #==========================END====================== > > > #=============BEGIN SCRIPT TEST PERIODIC WITH > Ig2_Facet_Sphere_ScGeom========== > # -*- coding: utf-8 > > from yade import utils > > sphereRadius=0.1 > tc=0.001# collision time > en=0.3 # normal restitution coefficient > es=0.3 # tangential restitution coefficient > density=2700 > frictionAngle=radians(35)# > params=utils.getViscoelasticFromSpheresInteraction(tc,en,es) > > facetMat=O.materials.append(ViscElMat(frictionAngle=frictionAngle,**params)) > > sphereMat=O.materials.append(ViscElMat(density=density,frictionAngle=frictionAngle,**params)) > > floor > n=5. > s=1./n > for i in range(0,n): > for j in range(0,n): > O.bodies.append([ > utils.facet( > [(i*s,j*s,0.1),(i*s,(j+1)*s,0.1),((i+1)*s,(j+1)*s,0.1)],material=facetMat), > utils.facet( > [(i*s,j*s,0.1),((i+1)*s,j*s,0.1),((i+1)*s,(j+1)*s,0.1)],material=facetMat), > ]) > > # Spheres > sphId=O.bodies.append([ > utils.sphere( (0.5,0.5,0.2), 0.1, material=sphereMat), > ]) > O.bodies[sphId[-1]].state.vel=(0.5,0,0) > > ## Engines > O.engines=[ > ForceResetter(), > InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), > InteractionLoop( > [Ig2_Facet_Sphere_ScGeom()], > [Ip2_ViscElMat_ViscElMat_ViscElPhys()], > [Law2_ScGeom_ViscElPhys_Basic()], > ), > GravityEngine(gravity=[0,0,-9.81]), > NewtonIntegrator(damping=0), > ] > > O.periodic=True > O.cell.refSize=Vector3(1,1,1) > > O.dt=.01*tc > > O.saveTmp() > #==========================END====================== > > > > _______________________________________________ > Mailing list: > https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev> > Post to : [email protected] > Unsubscribe : > https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev> > More help : https://help.launchpad.net/ListHelp > -- periodic boundary don't work with ViscEl classes https://bugs.launchpad.net/bugs/666246 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: Fix Committed Bug description: Periodic boundary don't work with Ig2_Facet_Sphere_ScGeom and Ig2_Sphere_Sphere_ScGeom functors. #=============BEGIN SCRIPT TEST PERIODIC WITH Ig2_Sphere_Sphere_ScGeom========== # -*- coding: utf-8 from yade import utils sphereRadius=0.1 tc=0.001# collision time en=0.3 # normal restitution coefficient es=0.3 # tangential restitution coefficient density=2700 frictionAngle=radians(35)# params=utils.getViscoelasticFromSpheresInteraction(tc,en,es) sphereMat=O.materials.append(ViscElMat(density=density,frictionAngle=frictionAngle,**params)) # Spheres sphId=O.bodies.append([ utils.sphere( (i*0.2+0.1,0.5,0.2), 0.1, material=sphereMat) for i in range(5) ]) O.bodies[sphId[-1]].state.vel=(0.5,0.5,0) ## Engines O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom()], [Ip2_ViscElMat_ViscElMat_ViscElPhys()], [Law2_ScGeom_ViscElPhys_Basic()], ), NewtonIntegrator(damping=0), ] O.periodic=True O.cell.refSize=Vector3(1,1,1) O.dt=.01*tc O.saveTmp() #==========================END====================== #=============BEGIN SCRIPT TEST PERIODIC WITH Ig2_Facet_Sphere_ScGeom========== # -*- coding: utf-8 from yade import utils sphereRadius=0.1 tc=0.001# collision time en=0.3 # normal restitution coefficient es=0.3 # tangential restitution coefficient density=2700 frictionAngle=radians(35)# params=utils.getViscoelasticFromSpheresInteraction(tc,en,es) facetMat=O.materials.append(ViscElMat(frictionAngle=frictionAngle,**params)) sphereMat=O.materials.append(ViscElMat(density=density,frictionAngle=frictionAngle,**params)) floor n=5. s=1./n for i in range(0,n): for j in range(0,n): O.bodies.append([ utils.facet( [(i*s,j*s,0.1),(i*s,(j+1)*s,0.1),((i+1)*s,(j+1)*s,0.1)],material=facetMat), utils.facet( [(i*s,j*s,0.1),((i+1)*s,j*s,0.1),((i+1)*s,(j+1)*s,0.1)],material=facetMat), ]) # Spheres sphId=O.bodies.append([ utils.sphere( (0.5,0.5,0.2), 0.1, material=sphereMat), ]) O.bodies[sphId[-1]].state.vel=(0.5,0,0) ## Engines O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Facet_Sphere_ScGeom()], [Ip2_ViscElMat_ViscElMat_ViscElPhys()], [Law2_ScGeom_ViscElPhys_Basic()], ), GravityEngine(gravity=[0,0,-9.81]), NewtonIntegrator(damping=0), ] O.periodic=True O.cell.refSize=Vector3(1,1,1) O.dt=.01*tc O.saveTmp() #==========================END====================== _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

