Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.