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.

Reply via email to