Совершенствование алгоритмов численного моделирования в методе динамики частиц — различия между версиями
(→Построение модифицированного метода Рунге-Кутты 4 порядка) |
(→Построение модифицированного метода Рунге-Кутты 4 порядка) |
||
Строка 21: | Строка 21: | ||
<math> k_4=\Delta t f(x_n+k_3,t_n+Δt) </math> | <math> k_4=\Delta t f(x_n+k_3,t_n+Δt) </math> | ||
− | <math> x_ | + | <math> x_{n+1}=x_n+1/6 (k_1+2k_2+2k_3+k_4 ) \ \ (2) </math> |
По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию <math> f(x,t) </math> четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость. | По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию <math> f(x,t) </math> четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость. | ||
Строка 71: | Строка 71: | ||
<math>k_4^r=\Delta tv_n+v_n-v_(n-1)= \Delta t(v_n+k_3^v )</math> | <math>k_4^r=\Delta tv_n+v_n-v_(n-1)= \Delta t(v_n+k_3^v )</math> | ||
− | <math>r_ | + | <math>r_{n+1}=r_n+1/6 (k_1^r+2k_2^r+2k_3^r+k_4^r )</math> |
− | <math>v_ | + | <math>v_{n+1}=v_n+1/6 (k_1^((v) )+2k_2^((v) )+2k_3^((v) )+k_4^((v) ) ) \ \ (8) </math> |
Выражения для <math> k_i^r</math> представлены в двух видах: один – с учётом рассмотренного упрощения, а второй - классический Рунге-Куттовский, который применим для уравнения по <math> r </math> ввиду простой правой части. | Выражения для <math> k_i^r</math> представлены в двух видах: один – с учётом рассмотренного упрощения, а второй - классический Рунге-Куттовский, который применим для уравнения по <math> r </math> ввиду простой правой части. |
Версия 16:41, 16 октября 2011
Содержание
Задача
- ...
Построение модифицированного метода Рунге-Кутты 4 порядка
Рассмотрим задачу Коши
Для неизвестной вектор-функции x(t), в качестве которой для примера может быть взят вектор
координат позиции и скорости тела. Данная задача может быть решена численно классическим методом Рунге-Кутты четвёртого порядка.
По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию
четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость.Ниже приводится модификация метода Рунге-Кутты 4 порядка, где с помощью одного хитрого приёма удаётся избежать многократного вычисления функцию
на одном временном шаге и в то же время сохранить высокий порядок по времени.Идея заключается в разложении функций
в ряд Тейлора в окрестности точки .
Здесь присутствуют малоприятные производные, однако, как потом окажется, с ними можно будет легко разобраться. Сколько членов в разложении нужно оставить, чтобы в схеме сохранился четвёртый порядок? – До
и или меньше?Для слагаемых с локальными производными по времени ответ очевиден – необходимо удерживать всё вплоть до
, ибо в противном случае мы потеряем наш 4-й порядок по времени для схемы в целом. Однако для на самом деле достаточно только первой производной.В случае, когда правая часть (1) не зависит явно от времени, (3) предельно упрощается.
Данная ситуация имеет место при молекулярно-динамическом моделировании, поскольку потенциал взаимодействия, как правило, является функцией только координат и скоростей частиц.
Запишем (4) в случае молекулярно-динамического моделирования. В нашем случае неизвестная вектор-функция
.
где
С учётом вышесказанного, мы можем записать конечно-разностную схему Рунге-Кутта для молекулярно-динамического моделирования
Выражения для
представлены в двух видах: один – с учётом рассмотренного упрощения, а второй - классический Рунге-Куттовский, который применим для уравнения по ввиду простой правой части.Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки
- ...
Frozen Particles & Press Particles
- ...