← Back to team overview

yade-users team mailing list archive

[Question #688321]: Not able to apply DOF constraints

 

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

Hi all,

I tried to move a sphere(Cpmmat) using a utilsbox acting as a wall(Frictmat). I want to restrain the degrees of freedom in the other two directions but when I do that, the wall tends to fly away after bouncing on the sphere. Here is a MWE of that phenomenon. Kindly help me to understand where I have gone wrong. 

########
from yade import pack, qt, export, ymport, plot

O.reset()

concrete_material=CpmMat(
 young = 1e10,
 density=1400,
 poisson = 0.25,
 frictionAngle = radians(40),
 epsCrackOnset = 1e-4,
 relDuctility = 10,
 sigmaT = 1e18,
 label='concrete_mat'
)
mat1=O.materials.append(concrete_material)

#O.materials.append(FrictMat(frictionAngle=0,density=0,label='walls'))

O.bodies.append([
 sphere(center=(0,0,0),radius=.5,fixed=False,material=concrete_material),
])

O.materials.append(FrictMat(frictionAngle=0,density=0,label='walls'))

O.engines=[
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1,label='bo1s'),Bo1_Facet_Aabb(),Bo1_Wall_Aabb(),Bo1_Box_Aabb()]),
    InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=1,label='ig2s'),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_FrictPhys(), Ip2_CpmMat_CpmMat_CpmPhys(cohesiveThresholdIter=1)],
		[Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGeom_CpmPhys_Cpm()] 
	),
    NewtonIntegrator(gravity=(0,0,0),damping=0.5),    
    #CpmStateUpdater(iterPeriod=1),
    GlobalStiffnessTimeStepper(active=True,timeStepUpdateInterval=1,timestepSafetyCoefficient=0.8), 

]

O.step()

U_box= utils.box((.5,1,-.5),(1,0,.5),fixed=True,wire=False,color=(1,0,0))
O.bodies.append(U_box)

U_box.state.mass=1
U_box.state.inertia = (1,1,1)
U_box.state.blockedDOFs = "xzXYZ"

U_box.state.vel=(0,-0.01,0)

yade.qt.View()

O.saveTmp()

######

Many thanks in advance - Arun

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