sympy / sympy

A computer algebra system written in pure Python
https://sympy.org/
Other
12.58k stars 4.33k forks source link

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

Open moorepants opened 10 months ago

moorepants commented 10 months ago

General

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.

Unit test coverage

Docstrings

Create examples in documentation

moorepants commented 10 months ago

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 commented 10 months ago

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 https://github.com/brocksam/sympy-biomechanics/pull/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 commented 10 months ago

@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 commented 10 months ago

@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 commented 9 months ago

I've opened https://github.com/sympy/sympy/pull/25744 which will encapsulate the majority of the outstanding things in this list. Following the merging of https://github.com/sympy/sympy/pull/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 https://github.com/sympy/sympy/pull/25525. That should then complete the biomechanics portion of our CZI work.

moorepants commented 9 months ago

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