MuscleActivityBound and ActivityConstraints


I just watched ur webcast regarding these new features and two questions popped into my mind.

If I wanted to paralyze the infraspinatus muscle, would I use the AnyMuscleActivityConstraint to combine all six parts of the infraspinatus muscle?

In your webcast your example is the cerebral palsy. When talking about palsy is think of immobilization of muscles.
But you set a lower bound, wouldn’t I rather set a upper bound to reduce muscle activity as sign of the paralyzation?
OR do us set the lower bound as ( u mentioned it) that paralyzed muscles activate much faster when being stretched?

And a general question:
Do you distinguish between solvers made for a static analysis and a dynamic analysis? Asking as I try to validate the shoulder with some modifications, but results (joiunt reaction force,…) differ tremendously from linear to min/max.

Hi Haukee,

Yes if you wanted to paralyze the infraspinatus muscle you would need to create an upperbound of zero for each of its elements.

In the example we selected to use the lower bound to introduce the effect of spasticity, this will introduce a muscle activation of a certain specified size no matter loading situation and these forces has to be balanced by the other muscles.

It would also be possible to use an upper bound if this reflect the subject specific situation better.

The muscle recruitment solvers do not distinguish between dynamic and static cases.

If you choose different recruitment criteria you will can get quite different results depending on the problem, please see this tutorial for more details on this:

if you have any further questions please do not hesitate to ask again.

Best regards

Thank you Soren, I really do appreciate your response.
In my opinion it is very hard to find the correct recruitment solver as there so many options and things to take into consideration.
I am still trying to figure out how to simulate my paralysis best, or which solver is supposed to generate “proper results” respectively for my static case analysis.

Anyways, thanks again!


Usually we use the default recruitment solver, so we do not specify it in the study. We have selected the default solver to be a polynomial type with a power of three, since it is a good compromise in most situations.

Best regards