Great! If you get a nice example problem working, we'd love to have it added to the examples directory in the pydy repository. It will help others with issues like this.
Jason moorepants.info +01 530-601-9791 On Wed, Apr 23, 2014 at 7:49 AM, Kevin Bockstael <[email protected]>wrote: > Jason, > > The problem was indeed that 't' was not available as a variable for > odeint. > > Thanks a lot! > > > > Op dinsdag 22 april 2014 21:38:06 UTC+2 schreef Jason Moore: >> >> Kevin, >> >> Here is another example of doing that: >> >> https://github.com/pydy/pydy#usage-1 >> >> >> Jason >> moorepants.info >> +01 530-601-9791 >> >> >> On Tue, Apr 22, 2014 at 8:00 AM, Jason Moore <[email protected]> wrote: >> >>> Kevin, >>> >>> You are correct, you should include the force, sin(b*t), in the force >>> list. Then KanesMethod, for example will give you: >>> >>> Mx' = f(x, t) >>> >>> The force, sin(b*t), will be explicitly in the f(x, t) portion. You can >>> then think of it as: >>> >>> Mx' = f_(x) + u(t) >>> >>> where u(t) = sin(b * t) >>> >>> Then when you want to integrate the equations you must make sure that t >>> is available for the ode right hand side. >>> >>> def rhs(x, t, ...) >>> >>> return solve(M, f_(x) + u(t)) >>> >>> Something like that. If you show a more complete piece of code that I >>> can run, then I can give you more specific advice. >>> >>> >>> Jason >>> moorepants.info >>> +01 530-601-9791 >>> >>> >>> On Tue, Apr 22, 2014 at 4:11 AM, Kevin Bockstael >>> <[email protected]>wrote: >>> >>>> >>>> Hi >>>> >>>> I would like to include a periodic external force into a multiple mass >>>> damper-system. My first thought was to include it in the forcelist (using >>>> KanesMethod) >>>> which would then become something like in the code below. (where b is >>>> the frequency of the periodic force) >>>> This however, returns an error whenever i want to integrate the >>>> dynamical equations. >>>> Does anyone know how to include the external force f(t) = sin(b*t), so >>>> i can integrate the dynamical equations? >>>> >>>> Thanks >>>> >>>> q1,u1,q2,u2 = dynamicsymbols('q1 u1 q2 u2') >>>> q1d, q2d = dynamicsymbols('q1 q2',1) >>>> m1,c1,k1, m2,c2,k2, g,t,b = symbols('m1 c1 k1 m2 c2 k2 g t b') >>>> N = ReferenceFrame('N') >>>> O=Point('O') >>>> O.set_vel(N,0) >>>> P = Point('P') >>>> P.set_vel(N,-u1*N.y) >>>> Q=Point('Q') >>>> Q.set_vel(N,-(u2+u1)*N.y) >>>> kd=[q1d-u1,q2d-u2] >>>> FL = [(P,(2*k1*q1-k1*q2+c1*u1)*N.y),(Q,((k1+k2)*q2-k1*q1+c2*u2+ >>>> sin(b*t))*N.y)] >>>> >>>> -- >>>> 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 http://groups.google.com/group/sympy. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/sympy/b1b1fd3f-196f-4151-a3c1-c94e82ef18c4%40googlegroups.com<https://groups.google.com/d/msgid/sympy/b1b1fd3f-196f-4151-a3c1-c94e82ef18c4%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 http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/8a04fd07-a909-4a00-8995-a1c07ff06eec%40googlegroups.com<https://groups.google.com/d/msgid/sympy/8a04fd07-a909-4a00-8995-a1c07ff06eec%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 http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1AhKeP1VS5cGMaE6BWOa%2BSWFxopOH96miLS3VKsRjJ%2BpqA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
