← Back to team overview

yade-users team mailing list archive

[Question #293342]: Problem with simulation

 

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

Hello friends,

I created the simulation below and I had a problem. 

My objective is to make the cylinder collide with spheres. But, I can't do this. When I run the simulation the cylinder goes inside the spheres.

I ask if someone could help in this problem.


import sys
from yade import ymport, utils , plot
import math


#### Material microproperties -> SHALE!
intR=1.22955
DENS=2659.6453 
YOUNG=40e9 
FRICT=25
ALPHA=0.25  
TENS=10e5 
COH=10e6
aRes=1e-3 
damp=0.2 
jointFRICT=25 
jointDIL=15 

#### material definition
def sphereMat(): return JCFpmMat(type=1,density=DENS,young=YOUNG,poisson = ALPHA,frictionAngle=radians(FRICT), 
				  tensileStrength=TENS,cohesion=COH,jointNormalStiffness=YOUNG/10.,jointShearStiffness=0.2*YOUNG/10.,
				  jointTensileStrength=0.,jointCohesion=0.,jointFrictionAngle=radians(jointFRICT),jointDilationAngle=radians(jointDIL))


O.engines=[
	ForceResetter(),
	InsertionSortCollider([
		Bo1_ChainedCylinder_Aabb(),
		Bo1_Sphere_Aabb()
	]),
	InteractionLoop(
		# Geomeetric interactions
		[Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D(),
		Ig2_Sphere_ChainedCylinder_CylScGeom6D(),
		Ig2_Sphere_Sphere_ScGeom6D(),		
		Ig2_Sphere_Sphere_L3Geom(),Ig2_Facet_Sphere_L3Geom()
		],
		[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=True),
		Ip2_FrictMat_FrictMat_FrictPhys()
		],
		[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(label='law'),
		 Law2_ScGeom_FrictPhys_CundallStrack(),		
		 Law2_L3Geom_FrictPhys_ElPerfPl(),
		]
	),
	## Motion equation
	NewtonIntegrator(damping=0.4,gravity=[0,0,0]),
	PyRunner(command='main()',iterPeriod=10)
]

O.dt=1e-7

# create a cylinder
cil = chainedCylinder(begin=Vector3(0.3,0.4,2.02), end=Vector3(0.3,0.6,2.02),radius=0.025,color=Vector3(0.6,0.5,0.5))

# read a sphere's package 
PACKING = '10K_P1'
O.bodies.append(ymport.text(PACKING+'.spheres',scale=1.,shift=Vector3(0,0,0),material=sphereMat))

yade.qt.View();

def main():
	global Fn,Ft
	O.bodies[0].dynamic=False
	O.bodies[0].state.vel[2]=-500.0


     

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.