Luke,

This is a fantastic idea!  More comments inline.

>  I did a Sympy GSoC project in 2009 on a package called PyDy [0].
> PyDy depends intimately on SymPy, but currently the two projects are
> maintained separately.  The basic functionality of PyDy is to provide
> a set of classes which ease kinematic and dynamic analysis of
> mechanical systems that obey the laws of Newtonian Mechanics.  PyDy
> relies on the core symbolic functionality of SymPy in a way similar to
> the Geometric Algebra module (sympy/GA.py).  By the end of my GSoC
> summer, PyDy was very functional and I had created 12 examples of use
> for deriving equations of motion for both trivial (pendulum) and non-
> trivial (rolling coin, rolling torus, bicycle--almost) mechanical
> systems.  Sadly, the project has seen very little activity since my
> GSoC project.

The sympy.physics module is very active right now and I think having
pydy in there as well would be a great match.

> There are two students in my lab who are interested in helping develop
> and improve PyDy.  One of the ideas we have been discussing is how the
> core functionality of PyDy really depends on Sympy and we think it
> would make more sense to have PyDy as a module of Sympy, probably in
> sympy/physics or maybe in sympy/pydy (or some other place?).  This
> way, it would be more like a library that can be imported along with
> Sympy if you want to formulate study symbolic equations of motion.  A
> few advantages of this approach are:

I would put it in sympy.physics.classical.  This is to match
sympy.physics.quantum.

> -- Code updates to sympy wouldn't break pydy functionality since the
> core testing would be done together
> -- PyDy would be available to anybody who installs sympy.  This could
> be really helpful for both projects because there are many physics,
> math, and engineering students (both grad and undergrad) who need to
> do some basic 3D vector symbolic vector analysis, and keeping pydy
> within sympy would make this much easier than it currently is.
> -- We could maintain a separate source tree for detailed examples of
> use, which depend on many other tools besides Sympy, and don't make
> sense to have distributed with sympy.
> -- Developers of PyDy would be more connected to Sympy and vice-versa,
> which would be a win for both groups.

Definitely.

> What do people think of this idea?  A fair bit of work needs to be
> done to make the pydy code compliant with they sympy project --
> doctests and docstrings need to be improved, but most of the testing
> of PyDy's functionality is already implemented.

It should definitely happen and I am more than willing to help do code
review and discuss things with you or the students.

Great idea though.

Cheers,

Brian

> Back to the topic of GSoC, there are many other aspects of PyDy that
> need work besides the possibility of integrating it into sympy.  Here
> are a few items:
> -- Class hierarchy needs to be re-evaluated/re-designed to include
> some notion of the "system" (all bodies, particles, applied forces/
> torques, generalized coordinates, degrees of freedom, etc.).
> Currently all of this is embedded in the Point and ReferenceFrame
> classes and is a bit hackish.
> -- Handling of closed kinematic loops (four-bar linkage) needs to be
> improved
> -- Templates for outputting boilerplate animation code to enable
> immediate visualization after symbolic derivation.
> -- Improvement of LaTeX printing for vector expressions.
>
> We are working on a document outlining these things in more detail, we
> have made it public here:
> https://docs.google.com/document/d/1Egkw9VkXcIYOiXonKFGRU00gycoA7w4Oq4M085d0fAg/edit?hl=en
>
> I would like to ensure that work on Pydy is beneficial for the Sympy
> project.  Pydy is fairly heavy on the trigonometry and in the past I
> ran into snags in various aspects of trigsimp.  Part of this was
> probably avoidable for reasons I won't go into here, but part of it
> was due to aspects of sympy that needed improvement.  I see this as
> place of technical overlap where work on PyDy will help improve
> Sympy.  Another place where PyDy can help SymPy is by bringing more
> uses to Sympy -- every physics and engineering student has to take a
> dynamics class in which aspects of PyDy could be very beneficial to
> their studies and this in turn would expose more people to Sympy.  By
> tying something this ubiquitous to Sympy, I think the user base would
> both grow and be diversified.
>
> The two students in my lab that are interested should be posting
> introduction emails shortly, and they are working on familiarizing
> themselves with the Sympy source tree and identifying an issue that
> they can fix and submit a patch for.  They will be adding their
> proposals to the wiki and notifying the mailing list as well.
>
> Seeing as both of these students are in my lab, I would be willing to
> mentor them for the GSoC projects, should they be accepted.  We use
> git and python extensively in our lab so some of the hurdles in the
> development process should be lowered by the resources and experience
> of the people in my lab.  This will help both students to hit the
> ground running a lot more quickly.
>
> Cheers,
> ~Luke
>
> [0] -- pydy.org
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To post to this group, send email to sympy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sympy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sympy?hl=en.
>
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgran...@calpoly.edu and elliso...@gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to