"Lagrange's method produces a kinematical equation (linear in q'), a 
dynamical equation (linear in q''), and a constraint equation that includes 
Langrange multipliers (if there are constraints). The m_c, m_dc, and m_d 
are simply the matrices that contain the coefficients to the linear terms 
in the equations. m_dc is often called the mass matrix (simple example: m 
x'' = -c x' - k x - f ). In Lagrange's method m_c is always identity 
because you simply sub in u = q' to put the equations in first order form."

Isn't the third equation (the one with the lagrange multipliers) the 
dynamical equation? If so would that mean m_d is the mass matrix and not 
m_dc? 

In the code the mass matrix represents M in M*udot=F and forcing is F. For 
mass_matrix_full and forcing_full is it M*[u, udot]^T = F? 

Last question, in Lagrange's method it appears a third "block" is added to 
mass matrix full which consists of the derivative of the constraint 
information. Is this just supplying equations for dependent udots? 
KanesMEthod does not have this third "block" in it's mass_matrix_full. Is 
this constraint information covered by the derivative of the non-holonomic 
constraints that it puts in its mass matrix (return Matrix([self._k_d, 
self._k_dnh]))? If so why are the constraints included in mass_matrix in 
KanesMethod but held off for mass_matrix_full in LagrangesMethod? Couldn't 
this cause code that uses mass matrix from Kane's method to not also work 
using LagrangesMethod mass matrix?

On Tuesday, May 31, 2016 at 6:34:59 PM UTC-4, Jason Moore wrote:
>
> Correction on what Kane's method class produces, in order as presented in 
> the docs:
>
> 1. holonomic constraint equation (non-linear in the coordinates, e.g. 
> kinematic loop constraints) [ this can also be in Langrange's method as a 
> 4th equation but we currently don't have it explicitly defined]
> 2. non-holonomic constraints (linear in the generalized speeds, but the 
> number of equations is less than the number of generalized speeds so you 
> solve these equations for the dependent speeds)
> 3. kinematical differential equations (linear in the generalized speeds 
> and derivatives of the generalized coordinates). This is typically u = q' 
> like in Lagrange's method but Kane's method allows you to define these any 
> way you want so that you can get simpler equations of motion than other 
> methods.
> 4. dynamical equations of motion (linear in derivatives of the independent 
> speeds, k_d is the so called mass matrix)
> 5. differentiated non-holonomic constraints (linear in the derivatives of 
> the dependent speeds, this is non-essential but allows you to integrate the 
> dependent speeds)
>
>
> Jason
> moorepants.info
> +01 530-601-9791
>
> On Tue, May 31, 2016 at 3:09 PM, Jason Moore <[email protected] 
> <javascript:>> wrote:
>
>> These descriptions reflect the differences in what Langrange's and Kane's 
>> method produces.
>>
>> Lagrange's method produces a kinematical equation (linear in q'), a 
>> dynamical equation (linear in q''), and a constraint equation that includes 
>> Langrange multipliers (if there are constraints). The m_c, m_dc, and m_d 
>> are simply the matrices that contain the coefficients to the linear terms 
>> in the equations. m_dc is often called the mass matrix (simple example: m 
>> x'' = -c x' - k x - f ). In Lagrange's method m_c is always identity 
>> because you simply sub in u = q' to put the equations in first order form.
>>
>> Kane's method produces a different, but equivalent, set of equations.
>>
>> 1. holonomic constraint equation (non-linear kinematic loop constraints) 
>> [ this can also be in Langrange's method as a 4th equation but we currently 
>> don't have it explicitly defined]
>> 2. kinematical differential equations (linear in the generalized speeds). 
>> This is typically u = q' like in Lagrange's method but Kane's method allows 
>> you to define these any way you want so that you can get simpler equations 
>> in the end.
>> 3. non-holonomic constraints (linear in the generalized speeds and 
>> defines the relationships between the independent speeds and the dependent 
>> speeds)
>> 4. dynamical equations of motion (linear in independent speeds)
>> 5. dynamical equations of motion (linear in dependent generalized speeds)
>>
>> 3, 4, and 5 serve to describe the same thing that the last two Lagrange 
>> equations describe.
>>
>> The k terms are simply the linear coefficient matrices in those equations.
>>
>> Theoretically you should be able to transform the results of Lagrange's 
>> method to those of Kane's. I'm not sure if that procedure is laid out 
>> anywhere in the literature. But it may have some complications.
>>
>> The f's are simply vector equations of those variables that are 
>> non-linear. They will hold all external forces, but also terms that are 
>> non-linear like the Coriolis forces, etc.
>>
>>
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>
>> On Tue, May 31, 2016 at 1:26 PM, James Milam <[email protected] 
>> <javascript:>> wrote:
>>
>>> These statements are found in the Kane's method and Lagrange's method 
>>> docs and are seemingly contradictory
>>>
>>> "In mechanics we are assuming there are 5 basic sets of equations 
>>> needed to describe a system."
>>> "In mechanics we are assuming there are 3 basic sets of equations 
>>> needed to describe a system."
>>>
>>> I'm guessing some from the 5 sets can be rearranged to match the 3 sets?
>>>
>>> Also what does m represent in the 3 sets (on Lagrane's method page 
>>> <http://docs.sympy.org/latest/modules/physics/mechanics/lagrange.html>). 
>>> I'd guess mass but it is a function of the generalized coordinates and time 
>>> and has a time derivative.
>>>
>>> Same basic question, what does k represent in the 5 sets (on Kane's 
>>> method page 
>>> <http://docs.sympy.org/latest/modules/physics/mechanics/kane.html>).
>>>
>>> I'm assuming that the f's are different types of forces on both pages.
>>>
>>> Thanks for the help,
>>> Brandon
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "sympy" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> Visit this group at https://groups.google.com/group/sympy.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sympy/2a75f232-74e8-48e2-8963-f2464aeacc93%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/sympy/2a75f232-74e8-48e2-8963-f2464aeacc93%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/8020f42d-61b2-4c80-b3c6-5c45a53654c6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to