# yade-users team mailing list archive

## Re: [Question #697877]: unexpected Plot of normal force

```Question #697877 on Yade changed:

Karol Brzezinski proposed the following answer:
Hi Pawan,

what you call "unwanted oscillation" really is a proper result. You have
no damping in your model, thus, pushed particle starts to oscillate.

I propose the following:
- turn on the force resetter,
- add some damping (e.g. 0.2),
- after adding the force, run the simulation until the oscillation calms,
- then move the wall.

Best wishes,
Karol

PS Theoretically you have two solutions that do not require damping:
- increase the force linearly in the infinite time period ;)
- less obvious: increase the force linearly in the time that is exactly integer multiplicity of the oscillation period.

But of course, my advice is damping.

####################
sp=sphere((0,0,0),1,material=MaterialS) #creating sphere
plate=utils.wall(-1,axis=2,material=MaterialP) #creating plate
plateID=O.bodies.append(plate) #plateID=0
spID=O.bodies.append(sp) #spID=1
O.forces.setPermF(1,(0,0,-4)) # 4 mag. force on sphere in -ve z direction

O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
InteractionLoop(
[Ig2_Wall_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
NewtonIntegrator(gravity=(0,0,0),damping=0.2),
]

#if O.iter<10000:
#plot.plots={'Displacement':('FrictionForce')}
plot.plots={'Displacement':('NormalForce')}
plot.plot()
O.dt=.5e-4*PWaveTimeStep()
O.saveTmp()

O.run(int(3e6),wait = True)
plate.state.vel =(0,1,0) #plate given const. velocity in y direction
O.run(int(1e6),wait = True)

--