Did you see my email about the Euler-Lagrange equations of motion that I sent earlier today? One important point is that there is absolutely no reason to have a custom Lagrangian class. You can just build the Lagrangian as a standard sympy expression. Please have a look at the issue I opened on this topic:
http://code.google.com/p/sympy/issues/detail?id=3198 On Wed, Mar 28, 2012 at 2:35 PM, Elliot Marshall <[email protected]> wrote: > Thank you all for the input. This is very helpful. I would like to get to > the point where a Lagrangian class can be used to produce equations of > motion outputted in whatever format is desired. Allowing the user to select > the output format would allow him to proceed with simulation in whatever > manner he is most comfortable/knowledgeable with. It would also be cool to > integrate simulation using sympy.odeint for simple problems to quickly get > from problem statement to simulation. > > Elliot > > On Tuesday, March 27, 2012 9:09:44 PM UTC-7, Aaron Meurer wrote: >> >> On Mar 27, 2012, at 6:19 PM, Luke <[email protected]> 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 [email protected]. >> >> To unsubscribe from this group, send email to >> >> [email protected]. >> >> 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 [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > 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 view this discussion on the web visit > https://groups.google.com/d/msg/sympy/-/_R42XJLiq-0J. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > 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 [email protected] and [email protected] -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
