For the people developing and maintaining the mechanics modules, you may want to look at the following book which treats mechanics problems with some new methods.  Describing rotations is greatly simplified -

https://link.springer.com/book/10.1007/0-306-47122-1

On 2/14/22 12:40 PM, Peter Stahlecker 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 <[email protected]> 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
    <[email protected]> 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 <[email protected]>
        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 <http://moorepants.info>
            +01 530-601-9791


            On Sun, Feb 6, 2022 at 7:39 AM Peter Stahlecker
            <[email protected]> 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
                [email protected].
                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 [email protected].
            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 [email protected]. 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/e3b6256c-5013-de21-8b44-9d9ddd8b027f%40gmail.com.

Reply via email to