Совершенствование алгоритмов численного моделирования в методе динамики частиц — различия между версиями
(→Модифицированный метод Рунге-Кутты) |
(→Модифицированный метод Рунге-Кутты) |
||
Строка 29: | Строка 29: | ||
Идея заключается в разложении функций <math> f(x_n+k_i/2,t_n+Δt/2) </math> в ряд Тейлора в окрестности точки <math> (x_n,t_n) </math>. | Идея заключается в разложении функций <math> f(x_n+k_i/2,t_n+Δt/2) </math> в ряд Тейлора в окрестности точки <math> (x_n,t_n) </math>. | ||
− | <math> f(x_n+k_i/2,t_n+Δt/2)= \frac {\partial f} {\partial x} (x_n,t_n )∙k_i/2+ \partial f | + | <math> f(x_n+k_i/2,t_n+Δt/2)= \frac {\partial f} {\partial x} (x_n,t_n )∙k_i/2+ \frac {\partial f} {\partial t} (x_n,t_n ) Δt/2 + ... / / (3) </math> |
Здесь присутствуют малоприятные производные, однако, как потом окажется, с ними можно будет легко разобраться. Сколько членов в разложении нужно оставить, чтобы в схеме сохранился четвёртый порядок? – До <math> (Δt)^4 </math> и <math> (k_i )^4 </math> или меньше? | Здесь присутствуют малоприятные производные, однако, как потом окажется, с ними можно будет легко разобраться. Сколько членов в разложении нужно оставить, чтобы в схеме сохранился четвёртый порядок? – До <math> (Δt)^4 </math> и <math> (k_i )^4 </math> или меньше? | ||
Строка 37: | Строка 37: | ||
В случае, когда правая часть (1) не зависит явно от времени, (3) предельно упрощается. | В случае, когда правая часть (1) не зависит явно от времени, (3) предельно упрощается. | ||
− | <math> f(x_n+k_i/2,t_n+Δt/2)=∂f/∂x (x_n,t_n )∙k_i/2 | + | <math> f(x_n+k_i/2,t_n+Δt/2)=∂f/∂x (x_n,t_n )∙k_i/2 / / (4) </math> |
Данная ситуация имеет место при молекулярно-динамическом моделировании, поскольку потенциал взаимодействия, как правило, является функцией только координат и скоростей частиц. | Данная ситуация имеет место при молекулярно-динамическом моделировании, поскольку потенциал взаимодействия, как правило, является функцией только координат и скоростей частиц. | ||
+ | |||
+ | Запишем (4) в случае молекулярно-динамического моделирования. В нашем случае неизвестная вектор-функция <math> x = {r,v} </math>. | ||
+ | |||
+ | <math> (x,t)={v,(F(r))/m} </math> | ||
+ | |||
+ | <math> f(x_n+k_i/2,t_n+Δt/2)={v,F(r)/m}={v+(k_1^((v) ))/2,F(r+(k_1^((r) ))/2)/m}= </math> | ||
+ | <math> ={v+(k_1^((v) ))/2,(F_n+dF/dr (r) (k_1^((r) ))/2)/m} / / (5) </math> | ||
+ | |||
+ | где | ||
+ | |||
+ | <math> \frac {dF}{dr} ≈ \frac {ΔF}{Δr} = \frac {ΔF}{Δr} \frac {Δt}{Δt} = \frac {ΔF}{Δt} \frac {Δt}{Δr} =\frac {F_n - F_(n-1)}{Δt } \frac {1}{v} / / (6) </math> | ||
== Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки == | == Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки == |
Версия 16:22, 16 октября 2011
Содержание
Задача
- ...
Модифицированный метод Рунге-Кутты
Рассмотрим задачу Коши
Для неизвестной вектор-функции x(t), в качестве которой для примера может быть взят вектор
координат позиции и скорости тела. Данная задача может быть решена численно классическим методом Рунге-Кутты четвёртого порядка.
По сравнению с методами Эйлера, Лагранжа и Верле, данный метод имеет более высокий порядок точности. Однако классический метод Рунге-Кутты четвёртого порядка имеет одну особенность, связанную с необходимостью вычислять функцию
четыре раза за одну временную итерацию. Потому этот метод становится неэффективным в вычислительных задачах, где основное расчётное время тратится на вычисление правой части системы дифференциальных уравнений, как, например, это имеет место в случае расчёта молекулярно-динамической задачи множества частиц. Вследствие данной особенности применение метода Рунге-Кутты становится неэффективным и даже его исключительная точность теряет свою значимость.Ниже приводится модификация метода Рунге-Кутты 4 порядка, где с помощью одного хитрого приёма удаётся избежать многократного вычисления функцию
на одном временном шаге и в то же время сохранить высокий порядок по времени.Идея заключается в разложении функций
в ряд Тейлора в окрестности точки .
Здесь присутствуют малоприятные производные, однако, как потом окажется, с ними можно будет легко разобраться. Сколько членов в разложении нужно оставить, чтобы в схеме сохранился четвёртый порядок? – До
и или меньше?Для слагаемых с локальными производными по времени ответ очевиден – необходимо удерживать всё вплоть до
, ибо в противном случае мы потеряем наш 4-й порядок по времени для схемы в целом. Однако для на самом деле достаточно только первой производной.В случае, когда правая часть (1) не зависит явно от времени, (3) предельно упрощается.
Данная ситуация имеет место при молекулярно-динамическом моделировании, поскольку потенциал взаимодействия, как правило, является функцией только координат и скоростей частиц.
Запишем (4) в случае молекулярно-динамического моделирования. В нашем случае неизвестная вектор-функция
.
где
Обезразмеривание системы как способ уменьшения накопления вычислительной ошибки
- ...
Frozen Particles & Press Particles
- ...