applying force boundary condition

Asked by Najm

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:
Najm
Solved:
Last query:
Last reply:
Revision history for this message
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

Revision history for this message
Najm (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!

Revision history for this message
Najm (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!