WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Rodrigo Mateus
Posts: 56
Joined: Thu Feb 22, 2018 3:07 am

WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Rodrigo Mateus » Tue Jul 31, 2018 3:02 am

This is an example of the warnings I get whenever I check to solve for equilibrium for actuator states:
"
WARNING: No suitable initial conditions found for
per_long_l:
by

WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium(SimTK::State& s)
Continuing with an initial fiber force and length of 0 and 0.052351
Here is a report from the routine:

Solution Error : 0.331033 > tol (0.000009)
Newton Iterations : 200 of max. iterations (200)
Check that the initial activation is valid, and that the whole
length doesn't produce a pennation angle of 90 degrees, nor a fiber
length less than 0:
Activation : 0.050000
Whole muscle length : 1.#QNAN0


WARNING: No suitable initial conditions found for
peri_l:
by

WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium(SimTK::State& s)
Continuing with an initial fiber force and length of 0 and 0.031406
Here is a report from the routine:

Solution Error : 0.524420 > tol (0.000004)
Newton Iterations : 200 of max. iterations (200)
Check that the initial activation is valid, and that the whole
length doesn't produce a pennation angle of 90 degrees, nor a fiber
length less than 0:
Activation : 0.050000
Whole muscle length : 1.#QNAN0 "

What causes these warnings exactly? What should I do to prevent these warnings from appearing?

Thank you in advance!

Best regards,

Rodrigo Mateus

Tags:

User avatar
Thomas Uchida
Posts: 1793
Joined: Wed May 16, 2012 11:40 am

Re: WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Thomas Uchida » Tue Jul 31, 2018 11:49 am

The Thelen2003Muscle::computeInitialFiberEquilibrium() method is unable to find a muscle fiber length at which the fiber and tendon are in equilibrium, given the initial activation and pose you have specified. You may need to do some troubleshooting to pinpoint the issue, which will depend on the model, pose, initial activation, muscle properties, OpenSim Tool, etc.

User avatar
Rodrigo Mateus
Posts: 56
Joined: Thu Feb 22, 2018 3:07 am

Re: WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Rodrigo Mateus » Tue Jul 31, 2018 1:51 pm

Thank you for the explanation!

But I am still a bit confused, as I am still taking the first steps with OpenSim.

For example, with Static Optimization, this warning occurs, here it is an example of a warning regarding the left semimembranous muscle:

Here it is the muscle activation during the motion:
semimem_l.png
semimem_l.png (26.5 KiB) Viewed 774 times


And the warnings seem to occur when the muscle begins to be activated and then when the activation ends:

time = 0.292033 Performance =0.832615 Constraint violation = 9.29204e-014
WARNING: No suitable initial conditions found for
semimem_l:
by

WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium(SimTK::State& s)
Continuing with an initial fiber force and length of 0 and 0.092795
Here is a report from the routine:

Solution Error : 0.479829 > tol (0.000013)
Newton Iterations : 200 of max. iterations (200)
Check that the initial activation is valid, and that the whole
length doesn't produce a pennation angle of 90 degrees, nor a fiber
length less than 0:
Activation : 0.050000
Whole muscle length : 1.#QNAN0

time = 0.361533 Performance =2.8233 Constraint violation = 5.352e-013
WARNING: No suitable initial conditions found for
semimem_l:
by

WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium(SimTK::State& s)
Continuing with an initial fiber force and length of 0 and 0.092795
Here is a report from the routine:

Solution Error : 0.194819 > tol (0.000013)
Newton Iterations : 200 of max. iterations (200)
Check that the initial activation is valid, and that the whole
length doesn't produce a pennation angle of 90 degrees, nor a fiber
length less than 0:
Activation : 0.050000
Whole muscle length : 1.#QNAN0

I did not change the muscle parameters of the muscle, so what would be your line of thought to resolve this? Changing the muscles parameters of the muscle-tendon unit?

How would I change the initial activation?

User avatar
Thomas Uchida
Posts: 1793
Joined: Wed May 16, 2012 11:40 am

Re: WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Thomas Uchida » Tue Jul 31, 2018 3:18 pm

What model are you using? Did you properly scale the model for your subject? What motion are you simulating? Are you using the model beyond the range of motion for which it has been validated? For the problematic muscles: what are the optimal fiber length, tendon slack length, and pennation angle at optimal fiber length properties? What are the musculotendon path lengths at the problematic instants of time?

The "Working with Static Optimization" example in the Confluence documentation may also be helpful, if you haven't seen it already: https://simtk-confluence.stanford.edu/d ... timization.

User avatar
Rodrigo Mateus
Posts: 56
Joined: Thu Feb 22, 2018 3:07 am

Re: WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Rodrigo Mateus » Tue Jul 31, 2018 3:48 pm

What model are you using? - Gait model 2392
Did you properly scale the model for your subject? - I performed a manual scaling and I have high confidence in the results.
What motion are you simulating? - It is a sudden deceleration motion, a very explosive motion, so much so that I had to change the maximum isometric force in certain muscles, although the warning appears for "untouched muscles" as well (could that be an issue?)
For the problematic muscles: what are the optimal fiber length, tendon slack length, and pennation angle at optimal fiber length properties? - I did not alter any of those parameters for static optmimization.
What are the musculotendon path lengths at the problematic instants of time? - I have not checked this parameter yet, once the simulation is done running again I will check. If the problem resides here, which muscle parameters should I change? Should I only focus on the three parameters above?

Since the performance value translates the result of the objective function we are trying to minimize, we should expect to have low values throughout the SO simulation right?

User avatar
Thomas Uchida
Posts: 1793
Joined: Wed May 16, 2012 11:40 am

Re: WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Thomas Uchida » Wed Aug 01, 2018 12:18 pm

I'm a bit unclear about your approach. Static Optimization assumes tendons are rigid (see the "How Static Optimization Works" page in the Confluence documentation, https://simtk-confluence.stanford.edu/d ... tion+Works) and may not be appropriate for "a sudden deceleration motion, a very explosive motion". You may need to adjust the tendon slack lengths---but, even then, the muscle fiber dynamics may not be meaningful.

User avatar
Rodrigo Mateus
Posts: 56
Joined: Thu Feb 22, 2018 3:07 am

Re: WARNING: Thelen2003Muscle::computeInitialFiberEquilibrium

Post by Rodrigo Mateus » Wed Aug 01, 2018 2:25 pm

I don't know the exact name of the motion but is a motion very similar to a side-step cutting, and I wanted to use the Static Optimization results to perform a JointReaction analysis. I was told that using the results from SO are preferred when using the JointReaction Analysis.

On that note, should I use the results from CMC to perform the JointReaction Analysis instead? Would this approach make more sense and give more meaning to the muscle fiber dynamics?

POST REPLY