Контактная динамика изучает движение систем многих тел, подверженных односторонним контактам и трению. Такие системы повсеместно присутствуют во многих приложениях динамики многих тел. Рассмотрим, например
Далее обсуждается, как можно смоделировать такие механические системы с односторонними контактами и трением и как можно получить временную эволюцию таких систем путем численного интегрирования. Кроме того, приведены некоторые примеры.
Двумя основными подходами к моделированию механических систем с односторонними контактами и трением являются регуляризованный и негладкий подход. Далее два подхода представлены на простом примере. Рассмотрим блок, который может скользить или прилипать к столу (см. рисунок 1а). Движение блока описывается уравнением движения, тогда как сила трения неизвестна (см. рисунок 1б). Чтобы получить силу трения, необходимо указать отдельный закон силы, который связывает силу трения с соответствующей скоростью блока.
Более сложный подход — это негладкий подход, который использует законы сил с множеством значений для моделирования механических систем с односторонними контактами и трением. Рассмотрим снова блок, который скользит или прилипает к столу. Соответствующий закон трения с заданным значением типа Sgn изображен на рисунке 3. Что касается случая скольжения, сила трения задана. Что касается случая прилипания, сила трения задана и определяется в соответствии с дополнительным алгебраическим ограничением.
В заключение отметим, что негладкий подход при необходимости меняет основную математическую структуру и приводит к правильному описанию механических систем с односторонними контактами и трением. В результате изменения математической структуры могут возникнуть удары, и временная эволюция положений и скоростей больше не может считаться гладкой. Как следствие, необходимо определить дополнительные уравнения воздействия и законы воздействия. Чтобы справиться с меняющейся математической структурой, законы сил с множеством значений обычно записываются в виде задач неравенства или включения. Оценка этих неравенств/включений обычно выполняется путем решения линейных (или нелинейных) задач дополнительности, квадратичного программирования или преобразования проблем неравенства/включения в проективные уравнения, которые можно решать итеративно с помощью методов Якоби или Гаусса – Зейделя.
Негладкий подход обеспечивает новый подход к моделированию механических систем с односторонними контактами и трением, который включает в себя также всю классическую механику с двусторонними ограничениями. Этот подход связан с классической теорией ДАУ и приводит к надежным схемам интеграции.
Интегрирование регуляризованных моделей может быть выполнено с помощью стандартных жестких решателей обыкновенных дифференциальных уравнений. Однако могут возникать колебания, вызванные регуляризацией. Рассматривая негладкие модели механических систем с односторонними контактами и трением, существуют два основных класса интеграторов: событийно-управляемые и так называемые интеграторы с шагом во времени.
Интеграторы, управляемые событиями, различают плавные части движения, в которых основная структура дифференциальных уравнений не меняется, и события или так называемые точки переключения, в которых эта структура изменяется, т.е. моменты времени, в которые замыкается односторонний контакт или происходит переход рывкового скольжения. В этих точках переключения законы заданной силы (и дополнительного воздействия) оцениваются, чтобы получить новую базовую математическую структуру, на которой можно продолжить интегрирование. Интеграторы, управляемые событиями, очень точны, но не подходят для систем со многими контактами.
Интеграторы с шагом во времени представляют собой специальные числовые схемы для механических систем со многими контактами. Первый интегратор с временным шагом был представлен Дж.Дж. Моро. Интеграторы не стремятся решать точки переключения и поэтому очень надежны в применении. Поскольку интеграторы работают с интегралом контактных сил, а не с самими силами, эти методы могут обрабатывать как движение, так и импульсивные события, такие как удары. Недостатком является низкая точность временных интеграторов. Это можно исправить, уточнив размер шага в точках переключения. Плавные части движения обрабатываются с шагом большего размера, а для увеличения порядка интегрирования можно использовать методы интегрирования более высокого порядка.
В этом разделе приведены некоторые примеры механических систем с односторонними контактами и трением. Результаты были получены с помощью негладкого подхода с использованием интеграторов с временным шагом.
Методы временного шага особенно хорошо подходят для моделирования сыпучих материалов. На рисунке 4 показано моделирование смешивания 1000 дисков.
Рассмотрим две сталкивающиеся сферы при игре в бильярд. На рисунке 5а показаны снимки двух сталкивающихся сфер, на рисунке 5б показаны соответствующие траектории.
Если мотоцикл разгоняется слишком быстро, он делает вилли. На рис. 6 показаны некоторые снимки моделирования.
Игрушка дятла — известная эталонная задача в контактной динамике. Игрушка состоит из шеста, втулки с отверстием, которое немного больше диаметра шеста, пружины и тела дятла. В процессе работы дятел движется вниз по шесту, выполняя своего рода качательное движение, которое контролируется втулкой. На рисунке 7 показаны некоторые снимки симуляции.
Моделирование и визуализацию можно найти по адресу https://github.com/gabyx/Woodpecker.