applying force boundary condition

Asked by mrhappy on 2020-02-04

Hi,

To apply a velocity, I did the following:

O.bodies[63].state.blockedDOFs = "xyzXYZ"
O.bodies[63].state.vel = (0,-0.000100,0)
O.bodies[63].state.angVel = (0,0,0)

I want to apply a force to element 63 as a function of time. For example, 1 N/s in the x-direction.

Thank you for your help

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
mrhappy
Solved:
2020-02-08
Last query:
2020-02-08
Last reply:
2020-02-04
Jan Stránský (honzik) said : #1

Hi,

O.forces.setPermForce(63,(1,0,0)) # [1]

cheers
Jan

[1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.ForceContainer.setPermF

mrhappy (mrhappy) said : #3

Hey,

U fixed it. It was suppose to be
O.forces.setPermF(0,(0,1,0))

However, I noticed that 1N is applied constantly on the body. I want to apply 1N/s, some sort of a force as function of time. How can do this?

Thanks!

mrhappy (mrhappy) said : #4

Hey,

I finally did it.

def addPlotData3():
  O.forces.setPermF(0,(0,5*O.time,0))

 PyRunner(command='addPlotData3()',iterPeriod=1),

Thanks for your help!