Peter, If orient_body_fixed produces longer equations of motion than chaining orient_axis (or the older orient() and orientnew()), then we should figure out what the problem is with orient_body_fixed. orient_body_fixed should produce shorter equations of motion because the angular velocities are supposed to be in the simplest form.
Jason moorepants.info +01 530-601-9791 On Mon, Feb 14, 2022 at 6:41 PM Peter Stahlecker <peter.stahlec...@gmail.com> wrote: > Dear Jason, > > As to the speed of the new terms, I simply tried it, using the equations > of motion of a one body pendulum. > There is no difference to the older terms: > > with the *body* version the the rhs has 863, 824 operations. > with the axis version, 2 intermediate frames, the rhs has 43,722 > operations. > > The operations count was *exactly* the same with older and newer terms. > > Take care, Peter > > On Mon 14. Feb 2022 at 18:04 Peter Stahlecker <peter.stahlec...@gmail.com> > wrote: > >> Dear Jason, >> >> Just read you latest addition about vectors and reference frames. >> Small question: >> In order to rotate a frame relative to another one, you use these terms >> *A.orient_axis(N, ..)* >> *A.orient_body_fixed(N, …)* >> >> I assume, these are the new versions for >> A.orientnew(N, ‚Axis‘, …) >> A.orientnew(N, ‚Body, …) >> >> You might recall, that I ‚empirically‘ found that the *Body* version >> created much larger equations of motion compared to using ‚intermediate ‚ >> *Axis*‘ versions. >> >> Is it better to use *orient_body_fixed,* to avoid this issue of larger >> equations of motion? >> >> Thanks & take care! >> Peter >> >> >> >> On Sun 6. Feb 2022 at 08:19 Peter Stahlecker <peter.stahlec...@gmail.com> >> wrote: >> >>> Dear Jason, >>> >>> Thanks a lot for your explanation! Clear! >>> I checked on metaclasses, but I must admit I mostly understood, that a >>> simple user like me should not mess with them! :-)) >>> >>> Peter >>> >>> On Sun 6. Feb 2022 at 07:49 Jason Moore <moorepa...@gmail.com> wrote: >>> >>>> Peter, >>>> >>>> All `dynamicsymbols` is, is: >>>> >>>> f = Function('f') >>>> t = symbols('t') >>>> f_of_t = f(t) >>>> >>>> The last line `f(t)` is generating a new class of type f, instead of >>>> using a predefined class (look up metaclasses). So the user, typically not >>>> aware of this element in Python, is confused about what they are working >>>> with in the last line. It is just the way SymPy Function works. There are >>>> open issues about trying to change it to something more sensible for the >>>> user to understand. >>>> >>>> Jason >>>> moorepants.info >>>> +01 530-601-9791 >>>> >>>> >>>> On Sun, Feb 6, 2022 at 7:39 AM Peter Stahlecker < >>>> peter.stahlec...@gmail.com> wrote: >>>> >>>>> My question is more for my ‚general education‘ in sympy. >>>>> >>>>> I write this little program >>>>> >>>>> *from sympy.physics.mechanics import ** >>>>> *import sympy as sm* >>>>> *a = dynamicsymbols(‚a‘)* >>>>> *b = sm.symbols(‚b‘)* >>>>> >>>>> *print(‚type of a:‘, type(a))* >>>>> *print(‚type of b:‘, type(b))* >>>>> >>>>> I get this result: >>>>> >>>>> *type of a: a* >>>>> *type of b: class sympy.core.symbols.Symbols* >>>>> >>>>> Is seems that *a* does not have a type. How can that be? I thought in >>>>> python ‚everything‘ has a type. >>>>> >>>>> Thanks! >>>>> Any explanation is highly appreciated! >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 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 sympy+unsubscr...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/sympy/5db2836e-44a8-428f-8b82-c56b2b2b5b20n%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/sympy/5db2836e-44a8-428f-8b82-c56b2b2b5b20n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> 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 sympy+unsubscr...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sympy/CAP7f1Ajkjs%3DNhJOhrFXmEpLJ6nv0TM9FgHXg%3DS1kSCF-6Cw5zw%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/sympy/CAP7f1Ajkjs%3DNhJOhrFXmEpLJ6nv0TM9FgHXg%3DS1kSCF-6Cw5zw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> Best regards, >>> >>> Peter Stahlecker >>> >> -- >> Best regards, >> >> Peter Stahlecker >> > -- > Best regards, > > Peter Stahlecker > > -- > 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 sympy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CABKqA0YLxUq3drDz4Zz5rM_bsE9nhLtf8onVhG_86eXxrAhL0w%40mail.gmail.com > <https://groups.google.com/d/msgid/sympy/CABKqA0YLxUq3drDz4Zz5rM_bsE9nhLtf8onVhG_86eXxrAhL0w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1Ahh%3Df7j_gj5oFjnTy1%3DNXuCoQdrCxGu_izkffst4Lepxg%40mail.gmail.com.