Составить уравнение лагранжа для системы

iSopromat.ru

Уравнения Лагранжа второго рода, которые представляют собой дифференциальные уравнения второго порядка относительно обобщенных координат.

Для такой системы можно записать s уравнений, которые называются уравнениями Лагранжа второго рода или дифференциальными уравнениями движения в обобщенных координатах:

Уравнения Лагранжа второго рода могут быть обобщены на случай связей, осуществляемых с трением, хотя они и не являются идеальными. Для этого следует силу трения перенести из группы сил реакции в группу активных сил, тогда связь с трением можно формально считать идеальной.

Уравнения Лагранжа второго рода представляют собой дифференциальные уравнения второго порядка относительно обобщенных координат q1, q2,…qs.

Дважды интегрируя эти уравнения и определяя по начальным условиям постоянные интегрирования, получим систему уравнений движения в обобщенных координатах:

Уважаемые студенты!
На нашем сайте можно получить помощь по техническим и другим предметам:
✔ Решение задач и контрольных
✔ Выполнение учебных работ
✔ Помощь на экзаменах

Теоретическая механика. Уравнения Лагранжа

В этой статье мы попробуем разобраться с такой темой, как «Уравнения Лагранжа». Вообще, уравнения Лагранжа довольно полезная штука, например, на их основе решаются задачи на малые колебания. В МГТУ им. Баумана в третьем семестре предлагается самостоятельное домашнее задание, в котором нужно записать уравнения Лагранжа для системы с двумя степенями свободы.

Итак, типовое задание выглядит так.

Прежде чем броситься решать эту задачу, посмотрим на задание и проанализируем его. Есть призма 3, которая движется поступательно по горизонтальной плоскости без трения. В призме сделан паз 2, по которому движется шарик 1. Если вы помните темы прошлого семестра, то легко увидите, что шарик совершает сложное движение — переносное поступательное вместе с призмой 3 и относительное поступательное по пазу 2. Далее есть стержень 4, который соединяет призму и каток 5. Очевидно, что скорость центра катка С равна скорость призмы. Каток движется без скольжения, это важный момент. Движение системы описывается двумя обобщенными координатами, которые любезно выбрал для нас составитель задания.

Итак, приступим к решению.

Поскольку обобщенных координат две (две степени свободы), система уравнений Лагранжа будет выглядеть так:

Расчет начинаем с записи уравнений связи — выражаем скорости всех ключевых точек и тел, имеющих массу, через обобщенные координаты. Из сказанного ранее понятно, что нам понадобится линейная скорость призмы 3, линейная скорость катка 5, угловая скорость катка 5 и скорость шарика 1. С поступательным движением все просто

С угловой скоростью катка тоже все понятно. Так как проскальзывание отсутствует

Самое трудное — выразить скорость шарика 1. Как мы уже говорили, он совершает сложное движение, значит, его скорость складывается из относительной и переносной. Переносная — это скорость поступательного движения призмы 3. Относительное — скольжение вдоль паза 2, которое описано координатой S. Значит

Векторно складываем эти две скорости

Второе выражение здесь — это теорема косинусов. Если нанести все векторы на рисунок, станет понятно, почему так.

Определившись со скоростями, записываем выражение для кинетической энергии системы Т. Полная кинетическая энергия складывается из кинетических энергий всех тел, обладающих массой. То есть в нашем случае, тел 1, 3, 5.

Шарик 1 обладает энергией

Призма 3 движется поступательно

Каток 5 совершает плоское движение, так что его кинетическая энергия складывается из энергии поступательного и вращательного движений

Полная кинетическая энергия системы

Для записи уравнений Лагранжа это выражение нужно несколько раз продифференцировать.

Сначала по координате x. Частные производные

Производную по x с точкой дифференцируем по времени

Теперь то же самое по координате S. Частные производные

Производная по времени

Левая часть уравнений Лагранжа готова. Займемся правой частью. Для нее нужно посчитать обобщенные силы по каждой координате. Есть несколько способов это сделать, мы предпочитаем делать это через элементарную работу на малом приращении координаты. В общем случае формула выглядит так

На практике это применяется следующим образом. Сначала нанесем на рисунок все действующие силы. В нашем случае это сила упругости пружины и силы тяжести.

Сначала считаем обобщенную силу по координате x. Для этого мысленно «замораживаем» координату S, и позволяем системе свободно двигаться по координате x. То есть шарик «приклеивается» к пазу 2, и внутри него никуда не движется. Все перемещение происходит по координате x. Очевидно, что сила упругости работу не совершает, так как ее длина не меняется. Очевидно, что силы тяжести работу не совершают, так как движение происходит горизонтально. Официальным языком это записывается так

Теперь обобщенная сила по координате S. Мысленно «замораживаем» координату x. Получается, что призма 3 вместе с пазом 2 и катком 5 стоит на месте, а внутри неподвижного паза движется шарик. Сила упругости совершает работу, также как и сила тяжести шарика 1. Пружина была растянута на величину статической деформации δ и дополнительно растянута на S в произвольный момент времени, то есть сила упругости равна с·(δ+S). Работа силы упругости отрицательна, так как пружина растягивается. Работа силы тяжести шарика 1 положительна, так как шарик движется вниз. Силы тяжести призмы 3 и катка 5 работу не совершают, так как эти тела покоятся. Получаем

Собственно, все. Собираем все посчитанные величины в уравнения Лагранжа и получаем систему дифференциальных уравнений, описывающих движение системы.

Для проверки можно посмотреть размерности, в обеих частях выражения размерности должны совпадать (обычно это ньютоны).

Конечно, разные задачи немного отличаются в ходе решения, но алгоритм всех задач примерно такой.

1) Определить число степеней свободы и выбрать обобщенные координаты

2) Записать уравнения связей

3) Записать выражение для кинетической энергии

4) Взять необходимые производные

5) Записать обобщенные силы по каждой координате

6) Записать уравнения Лагранжа

Если что-то не получается, не отчаивайтесь, мы всегда рады помочь.

Maple: составление уравнений Лагранжа 2 рода и метод избыточных координат

По роду профессиональной и научной деятельности я механик. Преподаю теоретическую механику в университете, пишу докторскую диссертацию в области динамики подвижного состава железных дорог. В общем, эта наука поглощает большую часть моего рабочего и даже свободного времени.

С Maple (на кафедре была 6-я версия, а у лоточников домой была куплена 8-я) познакомился ещё студентом, когда начинал работать над будущей кандидатской под крылом моего первого (ныше покойного) научного руководителя. Были и добрые люди, что помогли на самом первом этапе разобраться с пакетом и начать работать.

И вот так постепенно на его плечи была переложена большая часть вычислительной работы по подготовке диссертации. Диссертация была защищена, а Maple навсегда остался надёжным помошником в научном труде. Часто бывает необходимо быстро оценить какую-нибудь задачу, составить уравнения, исследовать их аналитически, быстро получить численное решение, построить графики. В этом отношении Maple просто незаменим для меня (ни в коем разе не хочу обидеть приверженцев других пакетов).

Сделать всё то, что будет предложено читателю под катом, меня подвигла задача принесенная ученицей (приходится ещё заниматься и репетиторством) со школьной олимпиады. Условие задачи таково:

Груз, висящий на нити длины L = 1,1 м, привязанной к гвоздю, толкнули так, что он поднялся, а затем ударился в гвоздь. Какова его скорость в момент удара о гвоздь? Ускорение свободного падения g = 10 м/с 2 .

Если не придираться к некоторонной туманности условия, то задача достаточно проста, а её решение, полученное путем довольно громоздких для школьника выкладок, в общем виде дает результат

И вот тут захотелось проверить решение, полученное с оглядкой на школьную программу по физике независимым способом, например составив дифференциальные уравнения движения этого маятника, да не просто, а с учетом освобождения от связи (в процессе движения нить, считаемая невесомой, провисает и маятник движется как свободная точка).

Это послужило катализатором для того, чтобы взять да и откопать свои старые задумки, накопленные ещё со времен работы в оргкомитете Всероссийской Олимпиады студентов по теоретической механике — три года подряд занимался там подготовкой задач компьютерного конкурса. Задумки касались автоматизации построения уравнений движений для механических систем с неудерживающими связями и трением, используя известные всем уравнения Лагранжа 2 рода

поборов стереотип многих преподавателей о том, что уравнения эти неприменимы к системам с неудерживающими связями и трением.

Что касается Maple, то его библиотека для решения задач вариационного исчисления дает возможность быстро получить уравнения Эйлера-Лагранжа, решение которых минимизирует действие по Гамильтону, что применимо для консервативных систем

где — функция Лагранжа, равная разности кинетической и потенциальной энергий системы.

Так как расматриваемые задачи не относятся к классу консервативных, то автором была предпринята попытка самостоятельно реализовать автоматизацию построения и анализа уравнений движений. Что из этого вышло, изложено под катом

1. Метод избыточных координат

Рассматриваем механическую систему, имеющую s степеней свободы, положение которой описывается вектором обобщенных координат . Пусть также имеется r неудерживающих связей, к числу реакций которых можно причислить и трение покоя, при превышении предельного значения переходящее в активную силу трения скольжения, направление которой противоположно направлению относительной скорости скольжения.

Учет неудерживающих связей требует от нас определения и анализа величины их реакций, поэтому необходимо так же определить их величину. Уберем указанные связи и введем дополнительно r обобщенных координат, выразив через них кинетическую энергию системы

Составим s + r уравнений движения в форме уравнений Лагранжа 2 рода

содержащие s+r неизвестных координат и r неизвестных реакций связей. Считая связи удерживающими, дополняем данную систему уравнениями связей (для простоты рассматривая геометрические связи) в виде

получаем замкнутую систему уравнений, из которой находятся значения реакций

являющиеся функциями первых s (независимых) обобщенных координат и скоростей и они могут быть расчитаны на любом шаге интегрирования уравнений движения (1). Для удерживающих связей типа «нить/поверхность» уравнения (1) и (2) надо дополнить условием освобождения от связи

а для связей с сухим трением вида

где Fj и Nj соответственно касательная и нормальная составляющая реакции; vj — проекция скорости относительного проскальзывани точки приложения реакции.

Таким образом, уравнения (1) — (4) представляют собой полную математическую модель движения рассматриваемой механической системы.

Засим с теорией можно покончить и перейти к практике

2. Maple-функции построения и анализа уравнений Лагранжа

Для решения этой задачи была написана Maple-библиотека lagrange, содержащая четыре функции

LagrangeEQs — построение уравнений движения в форме Лагранжа 2 рода

В качестве входных параметров функция принимает выражение кинетической энергии T как функцию обобщенных координат и обобщенных скоростей; массив обобщенных координат q; массив радиус-векторов точек приложения сил r и массив векторов сил F.

LinksEQs — получение уравнений дифференциальных связей из уравнений геометрических связей

Здесь надо отметить, что система уравнений геометрических связей eqs должна содержать избыточные координаты в явном виде, то есть иметь вид

в противном случае функции библиотеки не смогут обработать уравнения правильно. Для тестирования возможностей библиотеки сойдет и так, но в дальнейшем этот момент будет переработан: просто пока неясно, будет ли гарантированно разрешена система уравнений связи относительно угловых избыточных координат.

ReduceSystem — преобразование уравнений движения с учетом уравнений связей

Данный код в подробных пояснениях не нуждается — тут выполняется подстановка избыточных обобщенных координат, скоростей и ускорений, выражаемых уравнениями геометрических и дифференциальных связей в уравнения движения, с целью приведения их к виду, пригодному для вычисления реакций неудерживающих связей

SolveAccelsReacts — решение уравнений движения относительно реакций и обобщенных ускорений

Данная функция принимает на вход систему уравнений движения eqs, преобразованную с учетом уравнений связей. Она линейна относительно вторых производных независимых координат и реакций связей. Другие входные параметры: q — вектор независимых координат; R — массив реакций, относительно которых необходимо разрешить уравнения движения.

Теперь проиллюстрируем, как применять описанное «хозяйство» в деле

3. Задача о маятнике на тонкой нерастяжимой нити

Расчетная схема будет такой. В качестве обобщенной координаты выбираем угол наклона нити к вертикали.

Поскольку нить — неудерживающая связь, нас будет интересовать её реакция, а значит введем дополнительную, избыточную координату r(t).

Приступаем. Чистим память и подключаем библиотеку линейной алгебры

Подключаем библиотеку lagrange

Определяем вектор обобщенных координат, вычисляем координаты и скорость груза, а так же кинетическую энергию системы

На выходе получаем выражение для кинетической энергии (для вставки сюда использована функция latex(), генерирующая результат в LaTeX-нотации)

Формируем массив сил и массив координат точек их приложения

Скармливаем всё функции LagrangeEQs()

получая на выходе уравнения движения

Нетрудно убедится, что функция отработала нормально — для иллюстрации специально выбрана не слишком громоздкая задача.

Далее задаем уравнение связи — пока нить натянута, справедливо условие

преобразуем систему с учетом этого условия и находим реакцию связи

Сила натяжения нити равна

Система (5) — (7) является полной системой уравнений движения груза, с учетом возможности провисания нити. Теперь подготовим её к численному интегрированию. Для начала разрешим её относительно ускорений, передав в SolveAccelsReacts() уравнения (5) и (6), вектор обобщенных координат и пустой массив реакций

получая на выходе

Для численного моделирования, хоть это и не спортивно, напишем отдельный код, дабы не забивать голову читателя длительной обработкой полученной системы напильником. Тем более что моделирование будет иметь свои особенности.

Готовим исходные данные и систему уравнений движения

Строим функцию вычисления состояния системы, при заданной горизонтальной начальной скорости груза

Теперь проверяем «школьное» решение задачи

В итоге, получаем результат, приведенный на скриншоте. Скорость груза в момент удара соответствует приведенному в предисловии значению, и видно, что до провисания нити груз движется по окружности, а после провисания нити движется как свободная точка под действием силы тяжести, по параболе.

Замечу, что погрешности попадания в гвоздь — вынужденная мера: в полярных координатах, которые были использованы, задача имеет особенность, понятную из уравнения (8). Поэтому r(t) сравнивалось не с нулем, а с величиной eps достаточно малой, чтобы получить решение, и достаточно большой, чтобы численный решатель fsolve() не сходил с ума. Однако это нисколько не умаляет практической ценности изложенных результатов.

Вместо заключения

Возможно, читатель упрекнет меня, что я стреляю из пушки по воробьям. Однако, хочется заметить, что всё сложное начинается с простого, а большая наука — с малых задач.

Тестовую версию библиотеки можно качнуть тут


источники:

http://botva-project.ru/botva/obrazovanie/teoreticheskaya-mehanika-uravneniya-lagranzha/

http://habr.com/ru/post/244957/