Skip to content
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

Wrap-up task list for the CZI Biomechanics project #25508

Open
63 of 70 tasks
moorepants opened this issue Aug 14, 2023 · 6 comments
Open
63 of 70 tasks

Wrap-up task list for the CZI Biomechanics project #25508

moorepants opened this issue Aug 14, 2023 · 6 comments
Labels
CZI: Codegen/Biomech Sam Brockie's CZI-funded postdoc work on codegen and biomechanics physics.biomechanics physics.mechanics

Comments

@moorepants
Copy link
Member

moorepants commented Aug 14, 2023

General

  • Review whether we should be using objects subclassed from Basic or not

Merge in remaining functionality

Other

To-do requests

These should all be opened as issues if they don't get completely by 31/08/2023.

  • Refactor, extend, and bug fix musculotendon classes in sympy.physics._biomechanics #25744
  • Add __str__ to biomechanical modeling components.
  • Provide way to use set generalized speeds on PathwayBase classes.
  • Add support for substitution, perhaps with subs kwargs on to_loads methods.
  • Refactor rhs method on MusculotendonDeGroote2016 to return simplified RHS equations.
  • Introduce a MusculotendonBase class between ForceActuator and MusculotendonDeGroote2016 as most musculotendon implementation will be generic to any musculotendon.
  • Add attributes to MusculotendonDeGroote2016 for linking to the ...DeGroote2016 musculotendon curves, e.g. MusculotendonDeGroote2016.curves.tendon_force_length = TendonForceLengthDeGroote2016 with MusculotendonDeGroote2016.tendon_force_length pointing to the musculotendon dynamics-specific instance.

Unit test coverage

  • mechanics.actuator
  • mechanics.geometry
  • mechanics.pathway
  • mechanics.system
  • biomechanics.activation
  • biomechanics.curve
  • biomechanics.musculotendon

Docstrings

  • mechanics.actuator
  • mechanics.geometry
  • mechanics.pathway
  • mechanics.system
  • biomechanics.activation
  • biomechanics.curve
  • biomechanics.musculotendon

Create examples in documentation

@moorepants moorepants added the CZI: Codegen/Biomech Sam Brockie's CZI-funded postdoc work on codegen and biomechanics label Aug 14, 2023
@moorepants moorepants changed the title [WIP] Wrap-up task list for the CZI Codegen/Biomechanics project [WIP] Wrap-up task list for the CZI Biomechanics project Aug 14, 2023
@moorepants moorepants changed the title [WIP] Wrap-up task list for the CZI Biomechanics project Wrap-up task list for the CZI Biomechanics project Aug 14, 2023
@moorepants
Copy link
Member Author

I just noticed that the state variables in the muscles are not functions of time, they seem to be simple symbols. We rely heavily on differentiating constants from time varying variables in mechanics by using Function('f')(me.dynamicsymbols._t) for all time varying variables.

@moorepants
Copy link
Member Author

I suggest that we get all the stuff into non-public _biomechanics as you have designed, then we use the example in #25525 and some simpler examples that we can add to a "muscle explanation" page based on various particle style models like brocksam/sympy-biomechanics#19 which can show the basic setup and behavior of the muscle actuators. We can then review the code in _biomechanics as we build out and improve those examples. Finally, we make _biomechanics public along with the tutorial pages.

@moorepants
Copy link
Member Author

moorepants commented Aug 31, 2023

@brocksam I've completed my parts of the two tutorial pages (I think). Once you add the remaining two parts it should be ready to merge.

I can open a PR for making _biomechanics public, but were all the docstrings and unit tests completed? I wasn't sure the status.

@brocksam
Copy link
Contributor

@brocksam I've completed my parts of the two tutorial pages (I think). Once you add the remaining two parts it should be ready to merge.

I can open a PR for making _biomechanics public, but where all the docstrings and unit tests completed? I wasn't sure the status.

I'll add my remaining two parts to the tutorial pages tomorrow to complete that PR. You're correct that we still need some docstrings and tests. I'll hopefully get the vital ones done tomorrow too and then I'll open the PR to make the module public. I'll also open issue for the remaining "nice to haves".

@brocksam
Copy link
Contributor

I've opened #25744 which will encapsulate the majority of the outstanding things in this list. Following the merging of #25744, we can open a PR to make the biomechanics module public. Then following that we will be able to fix the Sphinx errors related to the "missing" biomechanics module in #25525. That should then complete the biomechanics portion of our CZI work.

@moorepants
Copy link
Member Author

Ok, sounds good. Let me know when you are ready for review or if you need help on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CZI: Codegen/Biomech Sam Brockie's CZI-funded postdoc work on codegen and biomechanics physics.biomechanics physics.mechanics
Projects
None yet
Development

No branches or pull requests

2 participants