Page 1 of 1

Force direction in the bushing force element

Posted: Mon Nov 11, 2024 1:29 pm
by rizab34
Hi,

I am implementing intervertebral disc joint stiffness using ExpressionBasedBushingForce class in the spine model. I like to better understand the direction of these passive joint torques. For example, I defined a bushing element at the L2/L3 joint using the expression below where I am only considering the rotation at the sagittal plane (about the z-axis).

Code: Select all

<ExpressionBasedBushingForce name="EBBE_L2-L3">
	<socket_frame1>/jointset/L2_L3_IVDjnt/lumbar3_offset</socket_frame1>
	<socket_frame2>/bodyset/lumbar2</socket_frame2>
	<Mz_expression>step(a_z)*2.60*a_z+(1-step(a_z))*(1.80*a_z); a_z=57.2957800*theta_z</Mz_expression>

When I run a static analysis with the coordinate of the L2/L3 joint set to +1 degree (theta_z = 0.01745 rad), below is the force output I am reading.

bushing_force.PNG
bushing_force.PNG (11.93 KiB) Viewed 930 times

Since positive 1 degree represents an extension motion at the joint, the passive force should oppose this motion and create a negative force in the opposite direction. The model calculates a negative passive torque value of -2.6 Nm at L2 segment. Is this implementation correct or do I need to flip the sign in the force expression?

Re: Force direction in the bushing force element

Posted: Mon Nov 18, 2024 5:58 pm
by ongcf
Your clear and simple test case is very helpful here! If you look at the code, there are negative signs when the stiffness and damping terms are calculated (https://github.com/opensim-org/opensim- ... e.cpp#L278).

This is probably why you are seeing what you're seeing, but you should still use your test bench to ensure that you are getting the values that you think you should be getting to validate before using further.