Page 1 of 1

Changing the activation dynamic in the Millard2012EquilibriumMuscle

Posted: Tue Dec 29, 2020 8:53 am
by st115990
Hello,

I'm trying to change the activation dynamic of the Millard2012EquilibriumMuscle within the C++ Code. Instead of using the implemented version, I want to use a Hatze like activation dynamic. In this activation dynamic, the activation itself is not a state variable, but depends on the normalized calcium concentration, which replaces the activation as a state variable.

My first try was to follow the example "MuscleExample", where a FatigableMuscle is used and derive a new muscle class from Millard2012EquilibriumMuscle. I already succeded with adding the normalized calcium concentration as a state variable, but I can't remove the activation from the state, since it is implemented on Millard2012EquilibriumMuscle level.

Do I need to derive a new muscle directly from Muscle.h or is it possible to just derive a modified activation dynamic muscle from Millard2012EquilibriumMuscle?
And if I have to derive the new muscle from Muscle.h, do I have to build OpenSim from source or is it possible to use the API similar to one of the examples?

Thank you for your answer.

Best,
Mike

Re: Changing the activation dynamic in the Millard2012EquilibriumMuscle

Posted: Wed Dec 30, 2020 9:50 am
by tkuchida
It might be easiest to create your own version of the Millard2012EquilibriumMuscle model (rather than extending it), by copying and modifying Millard2012EquilibriumMuscle.h and Millard2012EquilibriumMuscle.cpp. You could build your new muscle model as a plugin (https://simtk-confluence.stanford.edu/d ... ng+Plugins).