attach force to a certain point of the box

Asked by Ramin

Hello there.
I attach a force at the box (by using ForceEngine) and as I know this force affects at mass center of the box or something like this.
I would like attach force to a certain box point (e.g. to the center of upper facet).
I will appreciate if you tell me how to do it. Thanks!

##############################
box_size = Vector3(3, 3, 5)
box_center = Vector3(box_size[0]/2, box_size[1]/2, box_size[2]/2)
pile_size = Vector3(1, 3, 3)
pile_center = box_center

O.periodic = True
O.cell.hSize = (box_size[0],0,0,0,box_size[1],0,0,0,box_size[2])
sp = pack.SpherePack()
sp.makeCloud(box_center-box_size/2,
                box_center+box_size/2,
                rMean=0.07
             )
sp.toSimulation(color=(0,1,0))
pile_id = O.bodies.append(box(
    pile_center,
    pile_size/2
))
O.bodies[pile_id].state.blockedDOFs = 'yzXZ'

O.engines = [
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(),
                            Bo1_Box_Aabb()],
                            allowBiggerThanPeriod=True),
    InteractionLoop(
            [Ig2_Sphere_Sphere_ScGeom(),
                Ig2_Box_Sphere_ScGeom()],
            [Ip2_FrictMat_FrictMat_FrictPhys()],
            [Law2_ScGeom_FrictPhys_CundallStrack()]
    ),
    ForceEngine(ids=[pile_id], force=(1000,0,0)),
    NewtonIntegrator(damping=0.1, label='newton'),
    GlobalStiffnessTimeStepper()
]

Question information

Language:
English Edit question
Status:
Expired
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Karol Brzezinski (kbrzezinski) said :
#1

Hi Ramin,

Could you elaborate a little bit more on what you want to achieve in your simulation? Right now I have some remarks:
- I think you could replace ForceEngine with just prescribing a permanent force to the box [1]
- You can add torque to the body so it pretends that the force is shifted. Initially, its value should be Force * boxHeight/2. But the torque needs to be updated when the body rotates (the distance between force and body center changes).

Cheers,
Karol

https://yade-dem.org/doc/yade.wrapper.html?highlight=permf#yade.wrapper.ForceContainer.setPermF

Revision history for this message
Jan Stránský (honzik) said :
#2

> You can add torque to the body so it pretends that the force is shifted

I would not call this "pretends", but rather standard rigorous rigid body force/torque (de)composition.

Revision history for this message
Launchpad Janitor (janitor) said :
#3

This question was expired because it remained in the 'Needs information' state without activity for the last 15 days.