Page 1 of 1

clarifying "Stiffness" term in HuntCrossleyForce settings

Posted: Wed Jan 10, 2024 7:24 am
by sylopuro
Hi everyone,

I'm delving into the world of musculoskeletal modeling in OpenSim and have encountered a bit of a roadblock regarding the stiffness term in the HuntCrossleyForce::ContactParametersSet object. As you can see in the image attached.

My focus is on analysing the gait and static balance of a musculoskeletal model on different floor stiffness, and I'm eager to explore how modifying the floor stiffness might impact these aspects. To effectively navigate this exploration, I need a clear understanding of this elusive stiffness term.

Here are my burning questions:

1)Floor Deformation: When the contact sphere touches the floor, does the floor deform, or is it solely the sphere penetrating the floor?

2) Does the stiffness term solely represent the floor's rigidity, or does it encapsulate the wider interaction between the foot and the ground?

3) I've scoured the "SimTK::HuntCrossleyForce Class Reference" documentation, but the specifics of the stiffness term remain elusive. Could you point me towards any resources that explain to me what exactly is this stiffness?


I'm incredibly grateful for any insights you can share on this topic. Unraveling the mystery of the stiffness term will be instrumental in advancing my research.

Thanks in advance for your help.

Many thanks,
Silas

Re: clarifying "Stiffness" term in HuntCrossleyForce settings

Posted: Wed Jan 10, 2024 12:49 pm
by tkuchida
Some information can be found in the Simbody Theory Manual (https://github.com/simbody/simbody/blob ... Manual.pdf). See, in particular, Sections 11.1 ("General Force Subsystem") and 11.2 ("Hertz/Hunt and Crossley contact model subsystem"). The following paper contains similar information... some of the implementation details might be missing but it may be an easier reference to start with: Sherman et al., "Simbody: multibody dynamics for biomedical research", Procedia IUTAM 2, 2011 (https://doi.org/10.1016/j.piutam.2011.04.023).

Re: clarifying "Stiffness" term in HuntCrossleyForce settings

Posted: Thu Jan 11, 2024 5:27 am
by sylopuro
Hi Thomas,

Thank you so much for your prompt and helpful response. I've reviewed the Simbody Theory Manual and the referenced paper, and it does not shed much light on the stiffness term.

In my quest for a deeper understanding, I was wondering if there is a way to access the coding or algorithm behind the stiffness parameter. This would greatly assist me in unraveling the nuances and incorporating floor stiffness effectively into my musculoskeletal modeling in OpenSim.

Any guidance on how to access the coding or algorithm used for this stiffness parameter would be immensely appreciated.

Thanks again for your assistance.

Best regards,
Silas

Re: clarifying "Stiffness" term in HuntCrossleyForce settings

Posted: Thu Jan 11, 2024 1:57 pm
by tkuchida
Simbody is open source; the code can be found on GitHub here: https://github.com/simbody/simbody. I presume the calculation you would be interested in is HuntCrossleyForceImpl::calcForce(), which is here: https://github.com/simbody/simbody/blob ... e.cpp#L101. If that method doesn't answer your questions, you can find related files by typing "HuntCrossley" in the "Go to file" box.

Re: clarifying "Stiffness" term in HuntCrossleyForce settings

Posted: Sat Jan 13, 2024 2:34 am
by sylopuro
Thank you very much! :)