← Back to team overview

yade-users team mailing list archive

[Question #269576]: how detect force applied on beam

 

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

Hello everybody
I'm trying to realize a 3 bending test. I impose a velocity on the piston but i don't detect any force applied and the beam don't undergo any strain. The piston cross the beam and i think that it is not normal.
This is a part of my code:

#### simulation is defined here (DEM loop, interaction law, servo control, recording, etc...)
##### simulation piston's movement

for i in range(0,len(piston)):
	O.bodies[piston[i]].state.vel[1]=-1

##### simulation of movement of beam's grains
O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Box_Aabb(),Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom'),Ig2_Box_Sphere_ScGeom()],
		[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')],
		[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key=OUT,label='interactionLaw')]
	),
        
        GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=10,timestepSafetyCoefficient=0.4, defaultDt=0.1*utils.PWaveTimeStep()),
        NewtonIntegrator(damping=DAMP,label="newton"),
        PyRunner(iterPeriod=int(saveData),initRun=True,command='recorder()',label='data'),
        VTKRecorder(iterPeriod=int(saveVTK),initRun=True,fileName=OUT+'-',recorders=['spheres','jcfpm','cracks'],Key=OUT,label='vtk')
]

tensCks=shearCks=cks=cks0=0
e10=e20=e30=0
def recorder():
    global tensCks, shearCks, e10,e20,e30
    tensCks=0
    shearCks=0
    for o in O.bodies:
	if isinstance(o.shape,Sphere):
		tensCks+=o.state.tensBreak
		shearCks+=o.state.shearBreak
    yade.plot.addData( t=O.time
		      ,i=O.iter
		      #,e1=triax.strain[0]-e10
		      #,e2=triax.strain[1]-e20
		      #,e3=triax.strain[2]-e30
		      ,f=utils.sumFacetNormalForces(ids=piston,axis=1)
		      ,tc=0.5*tensCks,sc=0.5*shearCks,unbF=utils.unbalancedForce() 
    )
    yade.plot.saveDataTxt(OUT)

Best regards

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.