Сообщество Engee

Модель отскока от поверхности

Автор
avatar-nkapyrinnkapyrin
Notebook

Моделирование отскока мяча в 1D решателе

Построим модель 1D динамики простой механической системы: модель взаимодействия материальной точки с поверхностью земли при падении под действием гравитации.

Описание и запуск модели

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

Предмет — материальная точка, на которую действует гравитация, а при столкновении с поверхностью — импульс ускорения.

За взаимодействие с поверхностью отвечает блок Translational Hard Stop (Поступательные упоры). Один из полезных эффектов от использования 1D моделирования состоит в том, что мы без дополнительных усилий получаем немного более сложную модель реакции опоры, чем идеально упругий отскок.

image.png

Запустим модель и изучим результаты:

model = engee.open("physical_bouncing_ball.engee")
data = engee.run(model)
plot(
    plot( data["x"].time, data["x"].value, c=1, label="Положение" ),
    plot( data["dx"].time, data["dx"].value, c=2, label="Скорость" ),
    plot( data["ddx"].time, data["ddx"].value, c=3, label="Ускорение" ),
    layout=(3,1), lw=3
)

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

Заключение

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