Задача 48.40 из сборника задач Мещерского: составить уравнения движения двух цилиндров и смоделировать систему на языке программирования JavaScript.
Формулировка задачи
Шероховатый цилиндр массы m и радиуса r катится без скольжения по внутренней поверхности полого цилиндра массы M и радиуса R, могущего вращаться около своей горизонтально расположенной оси O. Моменты инерции цилиндров относительно своих осей равны [math]\frac{1}{2}\ mr ^{2}[/math] и [math]MR^{2}[/math]. Составить уравнения движения системы.
Решение задачи
Используем уравнение Лагранжа 2-го рода:
[math]\frac{d}{dt}\left(\frac{\partial L}{\partial\dot q_i}\right) - \frac{\partial L}{\partial q_i} = 0 , (i = 1,2)[/math] , где
L = T - П - функция Лагранжа
T - кинетическая энергия системы
П - потенциальная энергия системы
q - независимые обобщенные координаты
В данной задаче в качестве обобщенных координат примем углы [math]\varphi [/math] и [math]\psi [/math].
Представим:
[math]T = T_1+T_2[/math], где [math]T_1[/math] - кинетическая энергия цилиндра массы M, а [math]Т_2[/math] - цилиндра массы m.
Полый цилиндр массы M вращается вокруг неподвижной оси, следовательно:
[math]T_1 = \frac{1}{2}MR^{2}\dot ψ[/math]
Движение цилиндра массы m плоское.
[math]T_2 = \frac{1}{2}mV^{2}+\frac{1}{4}mr^{2} ω^{2}[/math]
Где [math]V[/math] - скорость центра масс цилиндра массой m(точки O1):
[math]V = \dot φ (R-r)[/math]
Обозначим θ - угол поворота цилиндра массы m относительно точки O1, а ω - угловая скорость вращения относительно этой точки:
[math]θr = φ(R-r)-ψR[/math]
[math]ω = \dot θ = \frac{R-r}{r}\dot φ - \frac{R}{r}\dot ψ[/math]
Окончательно получаем T и П(определяется только силой тяжести цилиндра массой m):
[math]T = \frac{1}{2}MR^{2}\dot ψ + \frac{1}{4}m(3(R-r)^{2}\dot φ^{2}-2R(R-r)\dot φ\dot ψ + (R\dot ψ)^{2})[/math]
[math]П = mg(R-r)(1-cosφ)[/math]
Таким образом,
[math]L = \frac{1}{2}MR^{2}\dot ψ + \frac{1}{4}m(3(R-r)^{2}\dot φ^{2}-2R(R-r)\dot φ\dot ψ + (R\dot ψ)^{2}) - mg(R-r)(1-cosφ) [/math]
Найдем:
[math]\frac{\partial L}{\partial\dot ψ} = MR^{2}\dot ψ + \frac{1}{2}mR(R\dot ψ - (R-r)\dot φ)[/math]
[math]\frac{\partial L}{\partial ψ} = 0 [/math]
[math]\frac{d}{dt}\left(\frac{\partial L}{\partial\dot ψ}\right) = MR^{2}\ddot ψ + \frac{1}{2}mR(R\ddot ψ - (R-r)\ddot φ)[/math]
[math]\frac{\partial L}{\partial\dot φ} = \frac{3}{2}m(R-r)^{2}\dot φ - \frac{1}{2}mR(R-r)\dot ψ[/math]
[math]\frac{\partial L}{\partial φ} = -mg(R-r)sinφ [/math]
[math]\frac{d}{dt}\left(\frac{\partial L}{\partial\dot φ}\right) = \frac{3}{2}m(R-r)^{2}\ddot φ - \frac{1}{2}mR(R-r)\ddot ψ[/math]
В результате получаем уравнения, описывающие движение рассматриваемой системы:
[math]MR^{2}\ddot ψ + \frac{1}{2}mR(R\ddot ψ - (R-r)\ddot φ) = 0[/math]
[math]\frac{3}{2}(R-r)\ddot φ - \frac{1}{2}R\ddot ψ + gsinφ = 0[/math]
или:
[math]\ddot ψ - \frac{m^{2}(R-r)}{2M(M+m)R}\ddot φ[/math]
[math]\ddot φ - \frac{R}{3(R-r)}\ddot ψ + \frac{2g}{3(R-r)}sinφ[/math]
Реализация на языке JavaScript