Совершенствование алгоритмов численного моделирования в методе динамики частиц — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
(→Модифицированный метод Рунге-Кутты) |
|||
Строка 5: | Строка 5: | ||
== Модифицированный метод Рунге-Кутты == | == Модифицированный метод Рунге-Кутты == | ||
− | Рассмотрим задачу Коши | + | * Рассмотрим задачу Коши |
− | dx/dt=f(x,t) & x(0)=x_0 (1) | + | <math> dx/dt=f(x,t) & x(0)=x_0 </math> (1) |
− | Для неизвестной вектор-функции x(t), в качестве которой для примера может быть взят вектор {r,v}={x,y,z,u,v,w} координат позиции и скорости тела. Данная задача может быть решена численно классическим методом Рунге-Кутты четвёртого порядка. | + | * Для неизвестной вектор-функции x(t), в качестве которой для примера может быть взят вектор <math>{r,v}={x,y,z,u,v,w}</math> координат позиции и скорости тела. Данная задача может быть решена численно классическим методом Рунге-Кутты четвёртого порядка. |
− | k_1=Δtf(x_n,t_n ) | + | <math> k_1=Δtf(x_n,t_n ) </math> |
− | k_2=Δtf(x_n+k_1/2,t_n+Δt/2) | + | <math> k_2=Δtf(x_n+k_1/2,t_n+Δt/2) </math> |
− | k_3=Δtf(x_n+k_2/2,t_n+Δt/2) | + | <math> k_3=Δtf(x_n+k_2/2,t_n+Δt/2) </math> |
− | k_4=Δtf(x_n+k_3,t_n+Δt) | + | <math> k_4=Δtf(x_n+k_3,t_n+Δt) </math> |
− | x_(n+1)=x_n+1/6 (k_1+2k_2+2k_3+k_4 ) (2) | + | <math> x_(n+1)=x_n+1/6 (k_1+2k_2+2k_3+k_4 ) </math> (2) |
− | По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию f(x,t) четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость. | + | * По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию <math> f(x,t) </math> четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость. |
− | Ниже приводится модификация метода Рунге-Кутты 4 порядка, где с помощью одного хитрого приёма удаётся избежать многократного вычисления функцию f(x,t) на одном временном шаге и в то же время сохранить высокий порядок по времени. | + | Ниже приводится модификация метода Рунге-Кутты 4 порядка, где с помощью одного хитрого приёма удаётся избежать многократного вычисления функцию <math> f(x,t) </math> на одном временном шаге и в то же время сохранить высокий порядок по времени. |
− | |||
== Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки == | == Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки == |
Версия 15:46, 16 октября 2011
Содержание
Задача
- ...
Модифицированный метод Рунге-Кутты
- Рассмотрим задачу Коши
(1)
- Для неизвестной вектор-функции x(t), в качестве которой для примера может быть взят вектор координат позиции и скорости тела. Данная задача может быть решена численно классическим методом Рунге-Кутты четвёртого порядка.
(2)
- По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость.
Ниже приводится модификация метода Рунге-Кутты 4 порядка, где с помощью одного хитрого приёма удаётся избежать многократного вычисления функцию
на одном временном шаге и в то же время сохранить высокий порядок по времени.Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки
- ...
Frozen Particles & Press Particles
- ...