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]<javascript:> > > 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]<javascript:> >> > 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] <javascript:>. >>> To post to this group, send email to [email protected]<javascript:> >>> . >>> 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. For more options, visit https://groups.google.com/d/optout.
