On Mar 27, 2012, at 6:19 PM, Luke <hazelnu...@gmail.com> wrote: >> For example, I would like to write the functions necessary so that, using >> sympy.physics.mechanics, one could use Euler, Lagrange, and possibly other >> methods to find the dynamical equations of motion for a system. > > Elliot, since the kinematics part of sympy.physics.mechanics is in > pretty good shape, I would suggest outlining a Lagrange class, similar > in some regards to the Kane class, which would let the user specify > all information needed to construct the Lagrangian, and would then > generate the equations of motion. > > Before you think to much about implementation, I think a valuable > thing to do would be to write out sample use cases and code sessions > which would show how a typical session would flow and would let you > think about the interface the Lagrange class would have. Try coming > up with a bunch of different interfaces to see what would be the most > intuitive to somebody who has their dynamics book opened to chapter on > Lagrange's method -- ideally I think you want a pretty close mapping > between the math and the code you write to perform that math > symbolically. > > sympy.physics.mechanics needs improvement in the department of code > output. If implementing a Lagrange class proved straightforward, I > think it would make sense to build a code output class which could > take either a Kane object or a Lagrange object, and generate output > code in python/C/fortran/matlab/??? format which would then be usable > independently from the script you used to derive the equations in. > Another idea on this front is to have a member function to the Kane or > Lagrange class which could be passed directly to a python ODE > integrator like scipy.odeint, eliminating the need to output code to > file. This would allow you to derive and simulate all from the same > script. This might only be feasible for small problems though since > it will likely to be pretty slow.
Also look at the already existing code generation module, to see what it can do and how it can be utilized. Aaron Meurer > > Also, I think it makes sense to first tackle the case where you are > dealing with rigid bodies and you obtain ODE's, as opposed to flexible > bodies where you obtain PDE's. Once that is complete and works > reliably, it makes sense to pursue the flexible body case. I don't > think it make sense to pursue the flexible case until after that > though, and code output will vary significantly between the two > because you obtain PDE's in one case and ODE's in the other. > > Luke > >> >> >> On Tuesday, March 20, 2012 3:55:48 PM UTC-7, Elliot Marshall wrote: >>> >>> Hello world, >>> >>> I am a graduate student studying dynamics at UC Davis. We have been using >>> a dynamics package for one of my classes that was written by some current >>> graduate students in my research group. They have previous experience with >>> GSoC developing this dynamics package. The package is by no means completed >>> and I would like to work on developing it this summer. Any suggestions on >>> how to go about the application process would be greatly appreciated. >>> >>> Thank you, >>> >>> Elliot Marshall >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sympy" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/sympy/-/50UcUmCEgGYJ. >> >> 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. > > > > -- > "Those who would give up essential liberty to purchase a little > temporary safety deserve neither liberty nor safety." > > -- Benjamin Franklin, Historical Review of Pennsylvania, 1759 > > -- > 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. > -- 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.