КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Численный алгоритм решения системы уравнений движения
От выбранного алгоритма зависит точность решения. Контроль за устойчивостью численного решения можно осуществить, следя за полной энергией системы, величина которой, в идеале, должна оставаться постоянной. Оказывается, что алгоритмы Эйлера и Эйлера – Кромера не могут обеспечить сохранение энергии на временах, рассматриваемых при моделировании методом молекулярной динамики. В этих условиях приходится применять алгоритм с большей точностью, например, алгоритм Верле. Рассмотрим данный алгоритм на примере одномерного движения частицы. В двумерном и трехмерном случае появляются еще уравнения для y, vy,ay и z, vz, az. пусть xn=x(tn), xn+1=x(tn+1) и т.д. По формуле Тейлора имеем для xn+1 и vn+1 xn+1=x(tn+Δt)= xn + x́(tn)Δt+1/2 x́́́ ́(tn)(Δt)2+O((Δt)3) (1);
vn+1= vn+v́(tn) Δt+ O((Δt)2) (2).
Учтем, что x́(tn)= vn и x́́́ ́(tn)= v́(tn)=an, тогда xn+1=x(tn+Δt)= xn + vnΔt+1/2 an(Δt)2+O((Δt)3) (3);
vn+1= vn+ anΔt+ O((Δt)2) (4).
Если использовать формулы (3) и (4) будет большая ошибка. Рассмотрим xn-1=x(tn-Δt)≈ xn - vnΔt+1/2 an(Δt)2 (5). Сложим левые и правые части (3) и (5) и выразим xn+1 из получившегося равенства, получим xn+1+ xn-1≈2 xn+ an(Δt)2, xn+1≈2 xn- xn-1+ an(Δt)2 (6). Вычтем из (3) равенство (5) и выразим из получившегося равенства vn: vn= (7). Алгоритм Верле реализуется формулами (6) и (7). Погрешность его имеет третий порядок для координат и второй для скорости. Этот алгоритм не самостартующий, поэтому изначально должно быть несколько начальных точек. Рассмотрим равенство (6). В правой части добавим и вычтем 0,5xn+1:
xn+1≈2 xn- xn-1+ an(Δt)2+0,5xn+1-0,5xn+1= xn+0,5(xn+1- xn-1)-0,5 xn-1-0,5 xn+1+ xn+ an(Δt)2= =xn+ vnΔt-0,5(xn+1-2 xn + xn-1) + an(Δt)2 (8).
Из (6) выразим an an= (9).
Поэтому (8) с учетом (9) имеет вид
xn+1= xn+ vnΔt+0,5an(Δt)2 (10).
Аналогично из (7) (11) из (10) =xn+1+ vn+1Δt+0,5an+1(Δt)2 подставим в (11). Получим
Выразив из последнего равенства vn+1, получим vn+1= vn+0,5(an+1 +an)Δt (12) (10) и (12) – скоростная форма алгоритма Верле. Она является самостартующей. Таким образом, алгоритм выглядит следующим образом: · Находят xn+1= xn+ vnΔt+0,5an(Δt)2; · Вычисляют ускорение an+1 из СДУ, используя в правой части уравнений данные с xn+1; · По найденному an+1 подправляют скорость vn+1= vn+0,5(an+1 +an)Δt
Дата добавления: 2014-01-06; Просмотров: 585; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |