Выполняю обещание.
По науке пока не получается подобрать параметры уравнения, всё разлетается.
И вот почему. Вклад инерции в скорость частицы, оказывается значительно больше вклада сил поля.
Поэтому, как только частица разгоняется, то её уже не удержишь.
Мне пришлось станцевать с бубном. Программисты нередко так делают.
Конкретно -
Скорость текущего шага вычисляется как сумма скорости предыдущего шага и скорости от действия поля сил.
Естественно, как векторная величина.
Для вычисления смещения, я делю эту скорость пополам.
Получается типа среднее арифметическое от инерции и действия силы.
Выглядит это довольно интересно, однако я пока не могу объяснить смысл сего действа.
Для применения научного подхода, конечно надо вычислять энергию и импульс для каждой частицы.
На каждом шаге известна и кинетическая и потенциальная энергии.
Но чтобы сделать следующий шаг - этого недостаточно,
потому что новая скорость и новое положение частицы - это пара неизвестных.
Надо ещё одно уравнение - типа закона сохранения импульса.
Но его я тоже не могу вычислить, потому что в модели нет понятия соударения.