Реализация полунявного Обратный Эйлер в системе масса-пружина с 1 степенью свободы

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

Следующие силы действуют на точку:

  • Гравитационная сила, заданная ] -g * m
  • Сила пружины, определяемая как k * (l - L) , где k - жесткость, l - текущая длина, а L - начальная длина
  • Демпфирующая сила, заданная by -d * v

Подводя итог, это приводит к

  • F = -g * m + k * (l - L)
  • Fd = -d * v

Применение, например, явного Эйлера, можно вывести следующее:

  • newPos = oldPos + dt * oldVelocity
  • newVelocity = oldVelocity + dt * (F + Fd) / m , используя F = m * a .

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

6
задан starblue 31 October 2010 в 08:02
поделиться