← Back to team overview

yade-users team mailing list archive

Periodic interaction creation

 

Hello,

another problem with periodic cell :-) if the cell is rotated, the interactions are not found properly (see attached script). Is there any possibility to make the collider work on rotated cell?
thanks
Jan
from yade import pack, log, qt

# create material
O.materials.append(CpmMat(young=1e7,epsCrackOnset=20,relDuctility=3,sigmaT=3e30,frictionAngle=.5,G_over_E=.2))

O.periodic=True
# create 3x3x3 particles
a=1.; r=a/6.
for i in range(3):
	for j in range(3):
		for k in range(3):
			O.bodies.append(utils.sphere([(2*i-1)*r,(2*j-1)*r,(2*k-1)*r],r))
O.cell.refSize=(a,a,a)

# rotation of periodic cell and particles along z-axis
angle = pi/4
O.cell.trsf=Matrix3(cos(angle),sin(angle),0, -sin(angle),cos(angle),0, 0,0,1)
for i in range(len(O.bodies)):
	O.bodies[i].state.pos = O.cell.trsf*O.bodies[i].state.pos

O.engines=[
	BoundDispatcher([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.5,label='bo1s')]),
	InsertionSortCollider(),
	InteractionDispatchers(
		[Ig2_Sphere_Sphere_Dem3DofGeom(distFactor=1.5,label='ig2ss')],
		[Ip2_CpmMat_CpmMat_CpmPhys()],[Law2_Dem3DofGeom_CpmPhys_Cpm()]),
	NewtonIntegrator()
]
O.step()

r=qt.Renderer()
r.intrPhys,r.shape=True,False
v=qt.View()
v.viewDir=Vector3(0,0,30)
v.center()



Follow ups