New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Hill-Type Muscle Model in biomechanics #26443
base: master
Are you sure you want to change the base?
Implement Hill-Type Muscle Model in biomechanics #26443
Conversation
✅ Hi, I am the SymPy bot. I'm here to help you write a release notes entry. Please read the guide on how to write release notes. Your release notes are in good order. Here is what the release notes will look like: This will be added to https://github.com/sympy/sympy/wiki/Release-Notes-for-1.13. Click here to see the pull request description that was parsed.
|
Hi, great idea to add this! As I've mentioned in the other PRs, you'll need unit tests and to show that this muscle works. You can use the model here to demonstrate that it works: https://docs.sympy.org/dev/tutorials/biomechanics/biomechanics.html#a-simple-musculotendon-model We'd also like the documentation to be similar in quality as the existing muscles. So use those as a template. I suspect you'll need to introduce new curves for the Hill functions. I recommend making a copy of all the DeGroote2016 classes and then replacing them with the equivalent Hill models. |
References to other Issues or PRs
N/A
Brief description of what is fixed or changed
I implement a HillTypeMuscle class that inherits from a base musculotendon class.
The Hill muscle model consists of three elements: A contractile element (CE), A nonlinear passive element (PE), and A nonlinear passive element in series with the former two (SE).
The force equilibrium equation is
$$F = F_{SE} = (F_{CE}+F_{PE})*cos\alpha$$ $F$ is the musculotendon force, $F_{CE}$ , $F_{PE}$ , $F_{SE}$ are the forces produced by the contractile, passive parallel, and passive serial element, respectively, and $\alpha$ is the pennation angle.
where
These forces are detailed as
$$F_{CE}=aF_0f_l(l_m)f_v(v_m)$$
$$F_{PE}=F_0f_p(l_m)$$
$$F_{SE}=F_0f_t(l_t)$$ $a$ is the muscle activation, $F_0$ is the maximum isometric force, $f_l$ and $f_v$ are dimensionless force-length and force-velocity relationships, respectively, $f_p$ and $f_t$ are dimensionless force-length relationship of the passive parallel and passive serial element, respectively, $l_m$ and $l_t$ are the lengths of muscle and tendon, respectively, and $v_m$ is the velocity of muscle contraction.
where
Other comments
Reference
Release Notes