Матрицы формируемых в EULER уравнений движения механической системы являются сильно разреженными и это учитывается в программной реализации. Благодаря этому время расчета практически линейно зависит от числа тел исследуемой системы. На рисунках 1 и 2 представлены примеры двух типов тестовых задач: цепочка одинаковых тел, соединенных шаровыми шарнирами, и прямоугольная решетка одинаковых тел. Движение систем происходит под действием гравитации. Время расчета в обоих примерах хорошо аппроксимируется степенной функцией k*n?, где n - число тел в исследуемой системе; k, ? - коэффициенты, значения которых зависит от типа задачи, характеристик компьютера и настроек метода расчета в программном комплексе. Тестовые расчеты показывают, что от характеристик компьютера и настроек метода расчета зависит не только значение k, но и значение ?. Для цепочки тел ?=1.0?1.15, для сетки тел ?=1.2?1.4.
На рисунке 3 представлены графики времени решения этих задач в зависимости от количества тел. Решение проводилось на персональном компьютере с процессором Intel Core CPU i7 950 @ 3.06 GHz. Для численного интегрирования использовался метод Рунге-Кутта четвертого порядка с постоянным шагом 0.001 сек. Длительность процесса движения систем 1.0 сек. Коррекции положения и скоростей были отключены.
Рисунок 1. Цепочка тел
Рисунок 2. Сетка тел
Рисунок 3. Время расчета тестовых задач
|