Force direction in the bushing force element

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Riza Bayoglu
Posts: 26
Joined: Wed Aug 02, 2023 8:54 am

Force direction in the bushing force element

Post by Riza Bayoglu » Mon Nov 11, 2024 1:29 pm

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 240 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?

Tags:

User avatar
Carmichael Ong
Posts: 401
Joined: Fri Feb 24, 2012 11:50 am

Re: Force direction in the bushing force element

Post by Carmichael Ong » Mon Nov 18, 2024 5:58 pm

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.

POST REPLY