Text
                    Компьютеры в физике
Д.В.ХЕЕРМАН
МЕТОДЫ
КОМПЬЮТЕРНОГО
ЭКСПЕРИМЕНТА
В ТЕОРЕТИЧЕСКОЙ
ФИЗИКЕ
Перевод с английского В.Н. ЗАДКОВА
Под редакцией С.А. АХМАНОВА
МОСКВА "НАУКА"
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО- МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
1990


ББК 22^31 Dieter w. н е е r m a n УДК 530.1+519.85 COMPUTER SIMULATIONS METHODS IN THEORETICAL PHYSICS Springer-Verlag Berlin* Heidelberg* New York* London' Paris • Tokyo Редакционная коллегия серии «Компьютеры в физике»: С.А.АХМАНОВ (сопредседатель), ДВ.ШИРКОВ (сопредседатель), В.Н.ЗАДКОВ (ответственный секретарь), В.П.ГЕРДТ, Н.И.КОРОТЕЕВ, Д.П.КОСТОМАРОВ, А.П.КРЮКОВ, ККЛИХАРЕВ, А.В.ТИХОНРАВОВ ХЕЕРМАН Д. В. Методы компьютерного эксперимента в теоретической физи- физике: Пер. с англ. / Под ред. С.А.Ахманова. - М: Наука. Гл. ред. физ-мат. лит., 1990. - 176 с. - (Компьютеры в физике). - ISBN 5-02-014347-2 На примерах задач теоретической физики изложены фундаментальные методы компьютерного эксперимента - методы молекулярной динамики и броуновской динамики, Монте-Карло. Наряду с физическими принципами методов рассмотрены особенности их реализации при моделировании иа компьютере. Приведены конк- конкретные вычислительные алгоритмы, дополненные текстами программ на фортране. Для специалистов, занимающихся компьютерными экспериментами в физике, хнмнн, биологии и других областях; может служить учебным пособием для аспи- аспирантов н студентов соответствующих специальностей. Табл. 2. Ил. 28. Библногр.: 196 назв. v 1604030000-0601ПО оп ~_ . v . 1Qaft л—лро/7\п\ _пп—lUo-yU (у Springer-Verlag, 1986 053@2)-90 ISBN 5-02-014347-2 ©«Наука». Фнзматлит, 1990. Перевод иа русский язык, от редактора перевода
ОГЛАВЛЕНИЕ От редактора перевода •• 5 Предисловие 9 Глава 1. Вводные примеры 11 1.1. Перколяция 11 1.2. Гармонический осциллятор 15 Задачи 18 Глава 2. Общее введение в методы компьютерного эксперимента 20 Глава 3. Детерминистические методы 25 3.1. Молекулярная динамика 25 3.1.1. Молекулярная динамика микроканонического ансамбля 44 3.1.2. Молекулярная динамика канонического ансамбля 55 3.1.3. Молекулярная динамика ансамбля при постоянных температуре и (или) давлении 63 Задачи 72 Глава 4. Стохастические методы 74 4 • 1. Предваряющие замечания 74 4.2. Броуновская динамика 79 4.3. Методы Монте-Карло 87 4.3.1. Метод Монте-Карло для микроканонического ансамбля 101 4.3.2. Метод Монте-Карло для канонического ансамбля 108 4.3.3. Метод Монте-Карло для ансамбля с постоянными температурой и давлением 123
4 Оглавление 4.3.4. Метод Монте-Карло для большого канонического ансамбля 124 Задачи 129 Приложения 131 1. Генераторы случайных чисел 131 2. Тексты программ 144 Список литературы 162 Предметный указатель 169 Дополнение. Каталог программ компьютерного моделирования 172
ОТ РЕДАКТОРА ПЕРЕВОДА 1. Предлагаемой книгой Главная редакция физико-математи- физико-математической литературы издательства сНаука» открывает новую се- серию научной и учебной литературы - "Компьютеры в физике". Компьютерная тематика стала к настоящему времени неотъ- неотъемлемой частью физических исследований. С полным основанием можно говорить о рождении новой области физики - компьютер- компьютерной физики, новой генерации компьютерного приборостроения, направленного на решение проблем экспериментальной и теоретической физики. Сформировался и значительный контин- контингент исследователей, преподавателей, инженеров, для которых применение компьютеров в физике стало, по-существу, основ- основной областью научной работы, главной сферой приложения творческих сил. Естественно, что эта чрезвычайно быстро растущая часть физического сообщества остро нуждается в своей собственной компьютерной литературе. Откликом на эти потребности стало появление новых журна- журналов, таких, как "Computers in Physics", "Computers Physics Communications", "Molecular Graphics" и др., публикация ря- рядом зарубежных издательств руководств по вычислительной физике (в частности, руководств, ориентированных на широкое использование персональных компьютеров) и т. п. Надо ска- сказать, что Главная редакция физико-математической литературы в последние годы также уделяла значительное внимание изда- изданиям подобного рода1. В 1988-1990 гг. были выпущены книга В.Н.Задкова, Ю.В.Пономарева "Ком- "Компьютер в эксперименте"; научно-популярное издание "Знакомьтесь: Персональная ЭВМ Корвет" С.А.Ахманова (мл.), И.Г.Персианцева, А.Т.Рахнмова и др.; сборник "Новые физические принципы оптической обработки информации" под редакцией С.А.Ахманова и М.А.Воронцова.
6 От редактора перевода Новая серия "Компьютеры в физике", предназначенная широ- широкому кругу читателей - студентам, аспирантам, преподавате- преподавателям и научным работникам, изучающим физику и активно работающим в ней, специалистам смежных специальностей (химикам, биологам, технологам и др.), разработчикам новых генераций компьютеров и современного математического обес- обеспечения, - безусловно, позволит вести эту работу более систематично и целенаправленно. В многообразном свзаимодействии» физики и компьютеров можно выделить два концентра, которые, разумеется, с опре- определенной долей условности, можно обозначить девизами "Компьютеры для физики" и "Физика для компьютеров". В открываемой серии предполагается издание учебных посо- пособий, практических руководств и монографий, отражающих оба эти аспекта. Книги серии, относящиеся к концентру "Компью- "Компьютеры для физики", посвящены таким темам, как создание новой компьютерной техники для физики (новые арихитектуры ЭВМ, спецпроцессоры и др.), большие компьютерные проекты в физи- физике, методы автоматизации физического эксперимента, компью- компьютерный эксперимент и его технология, системное и прикладное математическое обеспечение для задач физики, применение методов искусственного интеллекта в физике (нейронные сети), аналитические вычисления, базы данных в компьютерном и физическом эксперименте, персональные ЭВМ в эксперимен- экспериментальной и теоретической физике. Значительное внимание предполагается уделить учебной литературе нового типа - практическим руководствам, ориен- ориентированным на использование персональных ЭВМ, к которым прилагаются гибкие магнитные диски с программным обеспече- обеспечением. В ближайшие годы планируется издание следующих книг в серии "Компьютеры в физике": Шмидт Е.В., Шпиц Г., Льет В. Теоретическая физика на персональном компьютере: Пер. с англ. / Под ред. Н.И.Коро- теева; ПЭВМ Корвет в физической лаборатории. Программирование на языке Ассемблер / С.А. Ахманов (мл.), А.Т. Рахимов, Н.Н. Рой, А. В. Скурихин;
От редактора перевода 7 Биндер /С. Хеерман Д.В. Моделирование методом Монте- Карло в статистической физике / Пер. с англ. В.Н.Задкова; Грозин А. Г. Решение физических задач на языке RFDUCE; Компьютеры в физике: Сборник статей / Под ред. В.Н. Зад- кова; Днестровский Ю.Н., Костомаров Д. П. Математическое моде- моделирование плазмы. - 2-е изд.; Кандидов В.П., Чесноков С.С, Шленов С. А. Компьютерный эксперимент в волновой оптике. Вмест.е с тем значительное место в серии "Компьютеры в физике" будут занимать книги, посвященные новым физическим принципам обработки информации и перспективам их использо- использования для создания новых поколений компьютеров, физическим основам элементной базы ЭВМ - различным аспектам "Физики для компьютеров". В плане ближайших изданий здесь моногра- монографии и ^борники статей по оптическим компьютерам (в том числе, оптическому моделированию нейронных сетей), молеку- молекулярной электронике, сверхпроводящим элементам ЭВМ. Главная редакция физико-математической литературы и ред- редколлегия серии будут благодарны за предложения и замечания по тематике и конкретным публикациям серии. 2. Книга профессора университета г.Майнц (ФРГ) Дитера Хеермана - весьма удачный пример руководства нового типа по вычислительной физике, расчитанного на самое активное ис- использование персонального компьютера. В книге почти нет традиционных общетеоретических введе- введений, читателю предлагается осваивать новые методы "с места в карьер", моделируя конкретные задачи на своем компьютере. Разумеется, для этого он должен иметь соответствующее физи- физическое образование. Вместе с тем изучение предлагаемой книги - эффективный метод изучения некоторых разделов тео- теоретической физики. В книге ограниченного объема речь не идет, конечно, о всем многообразии компьютерного моделиро- моделирования задач теоретической физики. Цель книги значительно уже: на примере сравнительно небольшого круга проблем клас- классической механики и статистической физики познакомить чита- читателя с двумя фундаментальными методами компьютерного моде-
8 От редактора перевода лирования - методом молекулярной динамики и методом статис- статистических испытаний, методом Монте-Карло. Надо сказать, что это сделано с несомненным педагогиче- педагогическим мастерством: решая на компьютере тщательно подобранные задачи, читатель сможет овладеть этими важными методами, проникнуться "философией" компьютерного моделирования. Материал книги разделен на четыре главы. В главе 1 автор буквально с первой страницы вводит читателя в технику ком- компьютерного моделирования на примере задач о возникновении кластеров в периодических структурах и колебаниях гармони- гармонического осциллятора. Материал главы 2 - чрезвычайно конспективное, и поэтому навряд ли особенно полезное при первом чтении, "Общее вве- введение в методы компьютерного эксперимента". Основной материал книги - главы 3 и 4. В главе 3, названной "Детерминистические методы", изло- изложены основы метода молекулярной динамики. По-видимому, это одно из наиболее удачных изложений метода, предназначенное для лиц, желающих активно его использовать. Глава 4 - "Стохастические методы" - содержит последова- последовательное, весьма конкретное изложение основных идей и кон- конкретных вычислительных процедур, составляющих основу совре- современных методов Монте-Карло. В приложениях приведены данные по генераторам случайных чисел, тексты программ. Надо сказать, что книга Д.Хеермана весьма популярна за рубежом; в то время, когда готовился русский перевод, изда- издательство Шпрингер подготовило ее второе издание, снабженное гибким магнитным диском с программным обеспечением. Нет сомнений, что перевод книги Д.Хеермана будет с инте- интересом встречен отечественными читателями. Март 1990 С. А. Ахманов
Посвящается А.Фридхофу и моим родителям ПРЕДИСЛОВИЕ Настоящая книга имеет достаточно общее название «Методы компьютерного эксперимента в теоретической физике», поэтому хотелось бы' предварить ее одним замечанием. Она ие является и не может служить исчерпывающим введением в вычислительную физику. Такую задачу автор перед собой и не ставит, по- поскольку эта увлекательная область слишком нова и развивает- развивается довольно быстро. Цель книги - представить набор фунда- фундаментальных методов, широко используемых в настоящее время во многих областях физики, математики, химии и биологии, продемонстрировать их широкие возможности и эффективность. Основными главами книги являются гл. 3 и 4. В гл. 3 рас- рассмотрены детерминистические методы, основанные на класси- классической динамике (классических уравнениях движения), извест- известные как методы молекулярной динамики. Гл. 4 посвящена мето- методам, частично или полностью имеющим стохастическую природу. Эти методы включают в себя броуновскую динамику и метод Монте-Карло. Для лучшего усвоения материала и развития ин- интуиции в конце каждой главы помещены задачи. При первом чтении мы советуем читателю пропустить гл. 2, являющуюся общим введением в методы компьютерного моделирования. Материал книги может служить основой односеместрового цикла лекций для студентов старших курсов или аспирантов. У читателя предполагается хорошее знание классической и статистической механики (особый акцент в курсе еделаи на статистическую механику). Кроме того, предполагается, что читатель хорошо знаком с программированием. Мне хотелось бы выразить благодарность К-Биндеру, Д.Штофферу и ККремеРУ за обсуждение и критическое прочте- прочтение рукописи, без которых книга не имела бы своего настоя-
10 Предисловие щего вида. Я признателен также членам группы изучения кон- конденсированной среды университета г. Майнц за дискуссии и созданную ими теплую рабочую атмосферу. Особенно хотелось бы отметить И.Шмидта и Б.Денвега. Наконец, я признателен И.Фольку и Д.Барковскому за вычитку рукописи. Особую благодарность хотелось бы выразить Институту фи- физики твердого тела Центра ядерных исследований в Юлихе за предоставленные условия для работы (и не только во время подготовки книги). k Я • признателен также за финансовую под- поддержку отделению исследования полимеров и специальному ис- исследовательскому отделению № 41 Института имени Макса Планка. Майнц, март 1986 Д. В Хеериан
ГЛАВА 1 ВВОДНЫЕ ПРИМЕРЫ 1.1. Перколяция Задачей, приводящей практически сразу к компьютерному моделированию, является задача о перколяции. Рассмотрим для простоты двумерную квадратную решетку. Каждый ее узел может быть либо занят с вероятностью р € [0,1], либо свободен с вероятностью \-р. Для р, меньшей определенной вероятности рс, на решетке существуют только конечные кластеры. Класте- Кластером называется множество занятых узлов, связанных с ближай- ближайшими соседними занятыми узлами кратчайшим расстоянием. Для р £ рс на неограниченной решетке, т. е. в термодинамическом пределе, существует бесконечный кластер, связывающий каждую сторону решетки с противоположной стороной. Говоря другими словами, часть узлов неограниченной решетки, принадлежащих наибольшему кластеру, имеет нулевое значение при р < рс и единичное значение при р ^ р . С Аналитические результаты для порога перколяции р , т. е. вероятности появления бесконечного кластера, имеются только для случая двумерной бесконечной решетки. Возникает вопрос, можно ли с помощью компьютерного моделирования получить оценку порога перколяции для решеток с размерностью, боль- большей двух, и сложной структурой? Для наглядности компьютер- компьютерного эксперимента рассмотрим двумерную квадратную решетку. Задача по своей природе предполагает стохастический под- подход к ее решению. Предположим, что мы умеем генерировать решетку, заполненную с заданной вероятностью р, и контроли- контролировать появление на ней перколяционнои структуры. Чтобы оп- определить, лежит р выше или ниже порога перколяции, необхо-
12 1. Вводные примеры димо выполнить усреднение по многим таким решеткам. Просчет по всему диапазону изменения р приводит к уменьшению по- погрешности в определении значения порога перколяции до дос- достижения достаточной точности. Алгоритм решения задачи может быть следующим. Организу- Организуется двумерный массив, например в программе на фортране. Все его элементы первоначально зануляются. Затем программа просматривает все узлы решетки, обходя последовательно ряды (столбцы) или выбирая элементы случайным образом, пока не переберет их полностью. Каждому элементу массива программа присваивает равномерно распределенное случайное число R € [0,1]. Если R меньше первоначально выбранной вероятнос- вероятности р, элементу массива присваивается единица. После про- просмотра всех элементов массива генерируется одна реализация или конфигурация. Описанная процедура может быть записана в виде компью- компьютерной программы, генерирующей конфигурацию, как показано в алгоритме А1. При этом предполагается, что существует ос- основная программа, зануляющая решетку и задающая вероятность р. Вызванная затем подпрограмма percolation генерирует кон- конфигурацию, последовательно просматривая решетку. Алгоритм А1 subroutine percolation(lattice,L,p) real p integer L,latticeA:L,1:L) do 10 j=l,L do 10 i=l,L R=uniform() if( R.lt.p ) lattice(i,j)»l 10 continue return end Предполагается, что функция uniform генерирует равномер- равномерно распределенные случайные числа в диапазоне [0,1]. Приме- Примеры конфигураций, сгенерированных при помощи алгоритма А1, приведены на рис. 1.1. Для р = 0,1 (рис. 1.1а) мы можем на- наблюдать лишь разрозненные ограниченные кластеры, которые не связывают противоположные стороны решетки. При р = 0,6 (рис. 1.16) существуют большие кластеры, соединяющие проти- противоположные стороны решетки (стягивающие кластеры)- Наряду с ними существуют ограниченные кластеры.
1.1. Перколяция 13 1 1 1 1 1 |1 1 1| 1 1 1 1 1 1 1 1 1 1 1 1 1 а 1 Рис 1.1. Конфигурации, полученные с помощью стохастического компьютерного моделирования перколяции, для разных значений вероятности занятия узла ре- решетки: а - р-0,1; б - р=0,6. Некоторые кластеры отмечены на рисунке конту- контуром. Узлы решетки с нулевой вероятностью не показаны
14 1. Вводные примеры После вызова подпрограммы основная программа осущест- осуществляет анализ конфигурации на предмет обнаружения бесконеч- бесконечного кластера. При этом возможны два варианта: существует стягивающий кластер, как в случае р = 0,6, и тогда р явля- является возможным порогом перколяции или превышает его, либо такового кластера нет. Вызывая подпрограмму многократно с одним и тем же значением р и усредняя полученные результа- результаты, можно определить, действительно ли р лежит выше или ни- ниже порогового значения. Чтобы выявить трудности при проведении подобных вычисле- вычислений, увеличим размерность рассматриваемой решетки на едини- единицу (рис. 1.2). Первая трудность, с которой мы сталкиваем- сталкиваемся, - зависимость результатов для перколяционной вероятнос- вероятности от размера решетки. Интуитивно можно ожидать, что на ре- решетке малого размера стягивающие кластеры генерируются с большей вероятностью и, следовательно, порог перколяции бу- будет смещен в сторону меньших значений р. Действительно, ре- 0,1 0,2 0,3 0,4 0,5 0,6 р ее размера L Рис. 1.2. Зависимость резуль- результатов компьютерного моделиро- моделирования перколяции для трехмер- трехмерной решетки в зависимости от
12 Гармонический осциллятор 15 зультаты для перколяционной вероятности в трехмерной решет- решетке, приведенные на рис. 1.2, показывают такое поведение. В качестве критерия перколяции используется существова- существование стягивающего кластера по крайней мере в одном из воз- возможных направлений. Отметим далее, что для небольших огра- ограниченных решеток не наблюдается резкого перехода, т. е. по- порог перколяции размыт и его сложно оценить. Вторая трудность связана с числом реализаций. Для точно- точного определения р , чтобы уменьшить статистическую погреш- ность, необходимо взять достаточно большое число реализа- реализаций. Это верно и для других подобных прямых компьютерных экспериментов. Третья трудность связана со случайными числами. Проблема возникает в том случае, когда сгенерированные случайные числа имеют между собой некоторую корреляцию. Такая корре- корреляция крайне опасна, поскольку приводит к искажению резуль- результатов моделирования, что обнаруживается лишь при сравнении с расчетами, выполненными другими методами, или при ано- аномальном поведении результатов. Описанный подход при определении порога перколяции явля- является примером метода стохастического моделирования, в част- частности Монте-Карло моделирования. Такое моделирование, как подсказывает название метода, сложным образом связано со случайными числами. В задаче о перколяции случайные числа используются непосредственно, поэтому такое моделирование называется прямым моделированием Монте-Карло. 1.2. Гармонический осциллятор Частица, движущаяся под действием упругой силы, или од- одномерный гармонический осциллятор, представляет другой ил- иллюстративный пример, когда решение задачи получается с помощью компьютерного моделирования. Хотя она тривиально решается аналитически, ее компьютерное моделирование дает понимание возможных путей решения задач, рассматривающих систему взаимодействующих частиц, тяжело поддающихся реше- решению аналитическими методами. Задача по своей природе является детерминистической, по- поэтому зададим гамильтониан, описывающий движение частицы
16 1. Вводные примеры под действием упругой силы: Н = р2/2т + kx?/2, A.1) где р - импульс частицы, т - ее масса, k - коэффициент уп- упругости, х - смещение, и зададим начальные условия (х@),р@)). Система является изолированной, поэтому энер- энергия Е в ней сохраняется и частица будет следовать по траек- траектории на поверхности постоянной энергии, задаваемой уравне- уравнением р2/2тЕ + kxt/IE = 1. A.2) После задания гамильтониана имеется возможность выбора формы записи уравнений движения. Можно переформулировать задачу в терминах формализма Лагранжа и получить соответст- соответствующие уравнения движения или переписать задачу в форме уравнений Ньютона. Алгоритм численного решения задачи на компьютере и его свойства зависят от сделанного выбора. Ос- Остановимся на гамильтоновой форме записи уравнений движения: Ax/At = дН/др = р/т, A.3) dp/dt = -дН/дх = -kx. Пользуясь ими, можно рассчитать ряд характеристик систе- системы при ее движении по траектории (x(t),p(t)) в фазовом про- пространстве. Из-за сложности уравнений A.3) их аналитическое решение затруднено и необходимо прибегнуть к численному ин- интегрированию. Начнем с аппроксимации непрерывной траектории f(t) ломаной линией, например для первой производной это будет выглядеть следующим образом: df/dt = h-\f(t+h) - f(t)l A.4) где h - временной шаг. В рамках такой аппроксимации решение уравнений движения может быть получено только в моменты времени, кратные h. Заметим, что конечность временного шага всегда влечет за собой определенную погрешность, т. е. ге- генерируемая траектория будет отклоняться от истинной. Прово- Проводя дискретизацию производных в уравнениях движения, получим
1.2. Гармонический осциллятор 17 следующие рекурсивные формулы для положения частицы и ее импульса: dx/dt « h~\x(t+h) - х@] = p{t)/m, dp/dt « IT\p(t+h) - pit)] = "MO. или x(t+h) = x(t) + hp(t)/m, A.6) p(t+h) = № - hkx(t). После задания начального положения х@) и импульса р@) частицы, соответствующих заданной энергии, с помощью приве- приведенных выше уравнений вычисляются ее положение и импульс в последующие моменты времени, равные Л, 2Л, ЗЛ и т. д. При этом любые интересующие нас характеристики частицы могут быть вычислены вдоль траектории, генерируемой с помощью ре- рекурсивных соотношений. На рис. 1.3 приведены два примера траекторий в фазовом пространстве, сгенерированных при помощи описанного метода. Полная энергия системы была задана первоначально равной единице. Из рис. 1.3а видно, что временной шаг h = 0,05 яв- является слишком большим, поскольку полученная траектория не является эллипсом. То, что траектория имеет форму спирали, свидетельствует о поглощении частицей энергии. Выбор вре- временного шага h = 0,005 дает более реальную траекторию (рис. 1.36). В случае ансамбля частиц мы сталкнемся с аналогичными проблемами. Вследствие конечности шага дискретизации рас- расчетная траектория отличается от истинной. Поэтому мы заин- заинтересованы в развитии алгоритмов высокого порядка по h для уменьшения погрешности насколько возможно. С другой сторо- стороны, размер временного шага определяет реальное время моде- моделирования системы. Очень маленький временной шаг может при- привести к тому, что за время компьютерного эксперимента сис- система не достигнет равновесия. Различные способы аппроксимации делают численное решение на компьютере задачи о движении частицы неоднозначным. В дальнейшем будут рассмотрены более точные схемы аппроксима-
18 1. Вводные примеры Координата Координата Рис 1.3. Траектории гармонического осциллятора в фазовом пространстве, сгене- сгенерированные с помощью простого алгоритма A.6) при Л=0,05 (а) и Л=0,005 (б). Фазовые портреты получены за время *=1000Л ции для методов детерминированного моделирования- Такие ме- методы известны как методы молекулярной динамики. Ъо многих случаях методы компьютерного эксперимента ока- оказываются для решения задачи часто неожиданно проще и эле- элегантнее других. В последующих главах мы изучим некоторые наиболее широко используемые методы. Задачи 1.1. Напишите программу для изучения перколяции в дву- двумерном случае. Вы можете контролировать перколяцию, т. е. момент образования стягивающего кластера, визуально (печа- (печатая реализации) либо с помощью специально написанной вами программы. Не отчаивайтесь, если не сможете быстро найти эффективный алгоритм идентификации кластеров (см., напри- например, [1, 2]). (Ответ: о = 1/2.) 1.2. Рост кластеров (кластер Эдена [3]). Займите в на- начальный момент времени один узел решетки в качестве зароды- зародыша кластера. На каждом следующем временном шаге занимайте случайным образом один узел решетки в ближайшей окрестности последнего занятого узла. Напишите программу, моделирующую рост кластера как функцию «времени». 1.3. Разработайте алгоритм и напишите программу для ре- решения задачи о гармоническом осцилляторе. Для численного решения уравнений приведите их к более удобному безразмер-
Задачи 19 ному виду. В процессе моделирования проверяйте полную энер- энергию. Сохраняется ли она? Поварьируйте временной шаг. 1.4. Разработайте алгоритм и напишите программу для ре- решения задачи о движении маятника: d ф/dt = -(g//)sin0, где ф - угол, / - длина маятника, g - ускорение свободного падения.
ГЛАВА 2 ОБЩЕЕ ВВЕДЕНИЕ В МЕТОДЫ КОМПЬЮТЕРНОГО ЭКСПЕРИМЕНТА В настоящее время методы компьютерного эксперимента яв- являются инструментом, используемым во многих областях науки. Мотивация их применения для изучения физических систем раз- разнообразна. При этом один из основных мотивов - устранение в компьютерном эксперименте ограничений, присущих аналитиче- аналитическим моделям. Обычно при аналитическом анализе задачи (если он вообще возможен) мы вынуждены прибегать к различным приближениям, например к приближению среднего поля. С при- применением методов компьютерного моделирования мы получаем возможность изучать сложные системы, не исследуемые анали- аналитически, их внутреннее поведение. Действительно, сложность систем может быть такой, что они находятся далеко за преде- пределами применимости существующих аналитических методов. Благодаря возможности изучения сложных систем компьютер- компьютерный эксперимент является «эталоном», с которым могут срав- сравниваться различные приближенные модели. С другой стороны, компьютерный эксперимент допускает также сравнение с реаль- реальным экспериментом и, следовательно, проверку валидности мо- модели. У компьютерного эксперимента есть и другие достоинства. Он может заполнить разрыв между теорией и реальным экспери- экспериментом. Некоторые величины или зависимости невозможно или трудно измерить в реальном эксперименте. В компьютерном же эксперименте они могут быть вычислены. В основании компьютерного эксперимента лежит хорошо оп- определенная модель физической системы, в расчете характерис-
2. Общее введение в методы компьютерного эксперимента 21 тик которой мы заинтересованы. Эти характеристики или на- наблюдаемые величины получаются как средние по пространству состояний системы. Например, в задаче о перколяции (раздел 1.1) порог р является средней вероятностью перколяции по пространству всех конфигураций. В задаче об осцилляторе (раздел 1.2) температура рассчитывается как средняя кинети- кинетическая энергия вдоль генерируемой траектории. В большинстве случаев мы будем предполагать, что рассма- рассматриваемая система имеет модельный гамильтониан Н. Обозначим состояние системы как х = (х„ ..., хп), где л - число сте- степеней свободы. Множество состояний системы составляют до- доступное ей фазовое пространство П. При этом рассчитываемая величина А будет функцией состояний системы. Говоря другими словами, задача рассматривается с позиций статистической механики. Для вычисления А необходимо четко определить фун- функцию распределения /(•). Тогда величина А будет определять- определяться как <А> = Z/ A(x)f(H(x))dx, B.1) й где Z= $ f(H(x))dx. Эта операция называется усреднением по ансамблю со статис- статистическим интегралом Z. Функция распределения / определяет для исследуемой задачи соответствующий ансамбль. Усреднение по ансамблю, однако, недостижимо в компьютер- компьютерных экспериментах. В них величина А вычисляется вдоль тра- траектории в фазовом пространстве. Например, в задаче о гармо- гармоническом осцилляторе не будем вычислять температуру путем усреднения по большому числу подобных систем, а запустим частицу по траектории в фазовом пространстве и вычислим вдоль нее кинетическую энергию. Эта процедура представляет собой временное усреднение'- t Jt = (''У1! Л(*(т))с1т. B.2) 'О
22 2 Общее введение в методы компьютерного эксперимента Возникает вопрос, эквивалентны ли средние по ансамблю и времени? Для эквивалентности мы должны ввести свойство эр- эргодичности, позволяющее заменить усреднение по ансамблю ус- усреднением по времени: <А> = 7L. B.3) 00 Отсюда следует одно из двух основных ограничений компьютер- компьютерного эксперимента. Ясно, что он не может продолжаться бесконечно долго. Время наблюдения системы ограничивается конечной длиной траектории и определяет доступное системе фазовое пространство. Это утверждение удовлетворяет следую- следующему: Jt * <A>. B.4) Для таких задач конечное время эксперимента может считаться бесконечным. Примером может служить молекулярная система, для которой время наблюдения во много раз превышает молеку- молекулярное время. Необходимо также учитывать статистическую погрешность в эксперименте [1-3]. Мы подошли к вопросу о том, каким образом перемещать на- нашу систему по траектории в фазовом пространстве. Делать это можно с помощью различных методов: 1) детерминистических, 2) стохастических. Рассмотрим сначала детерминистические методы. Их идея со- состоит в использовании собственной динамики модели при дви- движении системы, т. е. в задании уравнений движения и их ин- интегрировании во времени. Для набора частиц, описываемых классической механикой, это приводит при начальном задании координат ^@), ..., *^@) и моментов ^@), ..., 2^@) к траектории (х (/), g (t)) в фазовом пространстве. Стохастические методы используют несколько отличный под- подход. Ясно, что требуется вычислять только конфигурационную часть задачи. Уравнения для импульса системы всегда можно проинтегрировать. Проблема, которая затем встает, состоит в том, каким образом ввести переходы от одной конфигурации к другой, которые в детерминистическом подходе определялись импульсом.
2 Общее введение в методы компьютерного эксперимента 23 Такие переходы в стохастических методах осуществляются при вероятностной эволюции в марковском процессе. Марковс- Марковский процесс является вероятностным аналогом собственной ди- динамики модели. Этот подход имеет то преимущество, что по- позволяет моделировать системы, не имеющие какой бы то ни бы- было собственной динамики. Кроме конечного времени эксперимента, вычислительная фи- физика сталкивается со вторым важным ограничением - конечным размером системы. Интерес представляет, вообще говоря, вы- вычисление характеристик системы в термодинамическом пределе, когда число частиц стремится к бесконечности. Компьютерные эксперименты, однако, позволяют моделировать систему малого размера по сравнению с термодинамическим пределом, так что становятся возможными эффекты конечности размеров системы. Для их уменьшения выполняется аппроксимация граничного ус- условия. Последнее, видимо, изменяет ряд свойств системы. Конечность размеров системы, однако, имеет и свои поло- положительные моменты. Она позволяет вычислять термодинамиче- термодинамические величины второго порядка. В системе конечного размера основные величины описывают отклонение системы от своих средних значений, т. е. они флуктуируют относительно сред- среднего значения. Эти флуктуации зависят, конечно, от ан- ансамбля. Рассмотрим, например, флуктуации температуры. Предпо- Предположим, что мы работаем с микроканоническим ансамблем, как это делается в ряде детерминистических методов. Интересно связать флуктуации температуры с удельной темплоемкостью с , которая в термодинамике вычисляется как вторая произ- производная свободной энергии F: V Флуктуации температуры связаны с удельной теплоемкостью следующим образом [4, 5]: <Т2> - <Т>2 3 [ 2= h <Т>2 2N [ 2с J *■ v J
24 2. Общее введение в методы компьютерного эксперимента Аналогичные отношения могут быть получены, если связать флуктуации намагниченности канонического ансамбля с изотер- изотермической восприимчивостью. Интерес к флуктуациям, однако, сдерживается из-за того, что расчет свободной энергии в компьютерном эксперименте затруднен. Хотя мы и заглядываем несколько вперед, нам кажется уместным обсудить ансамбли именно здесь. Для метода молеку- молекулярной динамики естественным является микроканонический ансамбль, для которого энергия является интегралом движе- движения. Несмотря на это мы можем также исследовать системы, для которых интегралом движения является температура и/или давление. В такой ситуации система незамкнута и ее можно представить в контакте с тепловым резервуаром. Для ее моде- моделирования может использоваться подход, состоящий в ограни- ограничении некоторых степеней свободы системы. Рассмотрим случай постоянной температуры. Средняя кине- кинетическая энергия при этом сохраняется. Это означает, что алгоритм должен быть сконструирован таким образом, чтобы средняя кинетическая энергия «ограничивалась» заданным зна- значением. В процессе такого «ограничения» мы на самом деле работаем не с каноническим ансамблем. Вернее, мы воспроиз- воспроизводим только конфигурационную часть этого ансамбля (это в дальнейшем надо всегда иметь в виду). Такой подход является верным до тех пор, пока «ограничение» не разрушает марковс- марковского характера переходов из одного состояния в другое. В процессе «ограничения» могут быть, однако, изменены динами- динамические характеристики системы.
ГЛАВА 3 ДЕТЕРМИНИСТИЧЕСКИЕ МЕТОДЫ В этой главе рассматриваются лишь такие системы, все степени свободы которых берутся нами в расчет. Исключаются стохастические взаимодействия, описывающие, например, кон- контакт системы с тепловым резервуаром. Отправной точкой слу- служат уравнения Ньютона, Лагранжа или Гамильтона в рамках классической механики. Интерес представляет вычисление раз- различных характеристик рассматриваемых систем, например термодинамических переменных, являющихся средними по ан- ансамблю. Благодаря сохранению энергии системы ансамблем, описывающим ее, является микроканонический ансамбль. Иног- Иногда, однако, требуется моделировать и другие ансамбли. При этом в рамках ньютоновского, лагранжева или гамильтонова описания формулировка уравнений изменяется. В любом случае каждая формулировка приводит к дифференциальным уравнениям движения. Для генерации траектории системы в фазовом прост- пространстве, вдоль которой вычисляются ее характеристики, эти уравнения дискретизируются. 3.1. Молекулярная динамика Исходной посылкой метода молекулярной динамики (МД) [1- 7] является хорошо определенное микроскопическое описание физической системы. Она может состоять из нескольких или многих тел и описываться гамильтонианом, лагранжианом или непосредственно уравнениями движения Ньютона. В первых двух случаях уравнения движения могут быть получены с помощью хорошо известных формализмов. Метод МД вычисляет характе- характеристики системы, как можно предположить из его названия,
26 3 Детерминистические методы используя уравнения движения, причем позволяет получать как статические, так и динамические характеристики. Как мы уви- увидим в разделе 4.3, метод Монте-Карло позволяет получать конфигурационные характеристики системы, хотя имеется также и их динамическая интерпретация [8]. Суть метода МД, состоит в численном решении уравнений движения на компьютере. Для этого они аппроксимируются под- подходящей численной схемой, предназначенной для расчетов на компьютере. Ясно, что из-за перехода от описания системы в терминах непрерывных величин с операторами дифференцирова- дифференцирования к описанию в терминах дискретных величин с операторами конечных разностей возникнет погрешность. Порядок этой по- погрешности зависит от конкретной схемы аппроксимации, т. е. конечного алгоритма. В принципе, погрешность может быть сделана сколь угодно малой, и ее уменьшение ограничено лишь быстродействием и памятью компьютера. Определение 3.1 Метод МД рассчитывает в фазовом пространстве траектории совокупности молекул, каждая из которых подчиняется классическим законам движения. Отметим, что это определение включает не только системы то- точечных частиц, но и системы частиц с внутренней структурой [9]. Действительно, существует алгоритм [10-17], позволяю- позволяющий моделировать системы с внутренними связями, как, напри- например, полимеры. Возможны также связи типа движения в задан- заданной геометрии [18]. Ранние эксперименты по моделированию проводились для си- систем, у которых энергия являлась интегралом движения [1-7]. Соответственно, характеристики системы вычислялись в рамках микроканонического ансамбля, для которого число частиц N, объем V и энергия Е постоянны. Однако в большинстве экспе- экспериментов интерес представляет поведение системы при посто- постоянной температуре Т. Это отчасти обусловлено тем фактом, что соответствующий ансамбль для ряда величин является не микроканоническим, а каноническим. Возможность моделирова- моделирования канонических ансамблей является значительным достижени-
3.1. Молекулярная динамика 27 ем компьютерного эксперимента за последние годы. В разделах 3.1.2 и 3.1.3 мы покажем, каким образом для этого изменяют- изменяются (без введения стохастических сил) уравнения движения. Применение метода МД не ограничивается детерминистиче- детерминистическими уравнениями движения. С его помощью могут моделиро- моделироваться уравнения движения, включающие стохастические силы. Соответствующие алгоритмы будут обсуждены в гл. 4, однако часть материала настоящей главы также применима к недетер- недетерминистической динамике. Рассмотрим уравнение вида du(t)/dt = K(u(t),t), C.1) где и - неизвестная переменная, которая может быть, напри- например, скоростью, углом или координатой, и К - известный опе- оператор. Переменная t обычно интерпретируется как время. Мож- Можно не ограничиваться детерминистической интерпретацией C.1), понимая под u(t) случайную переменную. Например, в случае движения броуновской частицы C.1) принимает форму уравнения Ланжевена: dt/(O/d/ = -pv(t) + R(t). C.2) Поскольку флуктуирующая сила R(t) - случайная величина, ре- решение v(t) стохастического дифференциального уравнения бу- будет случайной функцией. Мы можем выделить четыре типа уравнения C.1): 1) К не содержит стохастических элементов, и начальные условия точно известны; 2) К не содержит стохастических элементов, однако на- начальные условия случайные; 3) К содержит случайную силу; 4) К содержит случайные коэффициенты. Здесь мы рассмотрим первые три типа. В случае первого и второго типов задача решения C.1) сводится к его интегри- интегрированию. Для третьего типа при нахождении решения C.1) не- необходимы особые предосторожности, так как характеристики решения зависят от вероятностных аргументов.
28 3 Детерминистические методы Для простоты будем рассматривать в этой главе одноатом- одноатомные системы, такие, что взаимодействие молекул не зависит от их ориентации. В дальнейшем будем предполагать между мо- молекулами парные аддитивные центральные силы взаимодействия. Подчеркнем еще раз сказанное выше: методы компьютерного эк- эксперимента, описываемые в этой главе, не ограничиваются та- такими системами. Введение ориентационной зависимости взаимо- взаимодействия и ограничений связности может излишне усложнить изложение. В общем, система будет описываться гамильтониа- гамильтонианом Я = I р2/2т. + I u(rj, C.3) i i<\ где г.. - расстояние между частицами / и /. Для упрощения записи обозначим конфигурационную внутреннюю энергию как U(r) =1 и(г(]) C.4) Пусть система состоит из N частиц. Поскольку мы ограни- ограничиваемся рассмотрением характеристик объема при заданной плотности р, необходимо ввести этот объем или МДячейку при сохранении постоянной плотности. Если система находится в тепловом равновесии, форма ячейки не имеет значения [19]. Это, безусловно, верно в пределе для газов и жидкостей, когда они занимают достаточно большой объем. Для систем в кристаллическом состоянии форма ячейки имеет значение. В газах и жидкостях для простоты вычислений выбирается кубическая ячейка. Пусть L - линейный размер МД-ячейки с объемом V = L . Введение кубической ячейки порождает шесть нежелательных поверхностей. Частицы, отраженные от них, бу- будут возвращаться внутрь ячейки. Грани ячейки будут вносить ощутимый вклад в любую характеристику системы, особенно для систем с малым числом частиц. Для уменьшения этого эффекта введем периодические граничные условия, когда основная ячейка повторяет саму себя бесконечное число раз. Математи- Математически это формулируется для любой наблюдаемой величины А
3 1 Молекулярная динамика 29 следующим образом: А(х) = A(x+nL), C.5) где п = (ПуП„,п-), а п., л„, п, - любые целые числа. Вы- Вычислительная реализация этого алгоритма следующая: если частица пересекла грань основной ячейки, она возвращается в ячейку с противоположной грани с той же скоростью. С введе- введением периодических граничных условий мы устраняем влияние граней и создаем квазибесконечный объем для более точного описания макроскопической системы. Сделанное при этом пред- предположение эквивалентно тому, что МД-ячейка встраивается в среду1. Каждая компонента радиус-вектора трансляции является числом между нулем и L. Если частица i находится в позиции 1С имеются отображения частицы в позициях г. + nL, где п - целочисленный вектор. Благодаря периодическим граничным ус- условиям потенциальная энергия принимает вид */(£, LN) = I u(r.j) + I lu{\r_Tr_tnL\). C.6) i < j n i < j Чтобы избежать вычисления бесконечной суммы в C.6), примем следующее правило вычисления расстояния между частицами [20, 21]. Правило 3.2 Минимум расстояния между отображениями частицы Расстояние г.. между частицами / и / в позициях г. и г соответственно, определяется как г = min(| L\ по всем п. циях г. и г, in(| r-r.+nL\) Частица в базисной ячейке взаимодействует только с каждой из ЛМ других частиц в базисной ячейке или со своими бли- ближайшими отображениями. В результате в диапазоне rc < L/2 C.7) Фактически, периодические граничные условия являются следствием непре- непрерывности идеальной несжимаемой среды Подобная ситуация существует и в зо- зонах Бриллюэна в ^-пространстве для электронов (Примеч ред)
30 3. Детерминистические методы имеет место «обрезание» потенциала. Расплатой за это явля- является потеря фонового вклада удаленных частиц. Более пра- правильным являлся бы учет взаимодействия каждой частицы со всеми отображениями. Элегантная процедура такого алгоритма была разработана Эвальдом [22, 23]. Влияние той или иной процедуры на вычисляемые характеристики системы еще не пол- полностью ясно и подлежит более детальному исследованию. Лучше изучены граничные условия, применяемые в методе Монте-Кар- Монте-Карло. Для устранения эффектов конечности размеров системы значение L должно быть выбрано достаточно большим, чтобы силы, действующие на расстояниях, больших L/2, были прене брежимо малы. Выбор кубической формы МД-ячейки не является, конечно, единственно возможным для системы с постоянной плотностью (см. задачу 3.1). В ряде приложений, например в задаче о кристаллизации, требуется другой выбор [24-27]. Однако в любом случае есть опасность того, что периодические гранич- граничные условия явятся причиной появления особой структуры ре- решетки [28, 29]. С позиций вычислительной математики метод МД представля- представляет собой задачу Коти- Для нее было разработано множество алгоритмов [30, 31], из которых далеко не все могут быть использованы для решения физических задач. Дело в том, что многие схемы требуют нескольких вычислений правой части уравнения C.1), сохранения предыдущих значений и/или ите- итераций. Действительно, предположим, что уравнение C.1) по- получено из гамильтониана C.3), т. е. уравнения движения имеют вид mdr/dt = p., dp/dt = £ F{r.}. C.8) t<i Каждое вычисление правой части C.8) для N частиц требует N(N-l)/2 операций. Для уменьшения времени вычислений приме- применяется простейшая схема, удовлетворяющая по точности боль- большинству приложений. Наряду с описанной проблемой имеется также, как мы увидим ниже, проблема сохранения интегралов движения.
3.1. Молекулярная динамика 31 Чтобы решить уравнения движения на компьютере, сконстру- сконструируем конечную разностную схему для дифференциальных урав- уравнений. Затем получим из них рекурсивные соотношения для координат и/или скоростей (импульсов). Выполним эти алго- алгоритмы шаг за шагом. На каждом шаге осуществляется аппрокси- аппроксимация положений и скоростей сначала в момент времени t.t затем в момент /„ > t. и т. д. Следовательно, выполняется интегрирование по времени (алгоритм временного интегрирова- интегрирования). Очевидно, что рекурсивные соотношения при этом должны обеспечивать эффективность вычислений. Кроме того, разност- разностная схема должна быть численно устойчива. Большинство прямых методов дискретизации дифференциаль- дифференциальных уравнений исходят из разложения Тейлора. Суть этих ме- методов состоит в замене дифференциального оператора на его дискретный аналог. С соответствующими предположениями о пе- переменной и ее можно разложить в ряд Тейлора: u(t+h) = u(t) +П£ u{l\t) + Rn, C.9) i где R - погрешность аппроксимации (остаточный член). Для нее принято использовать О-символику2. Вообще, O(f(z)) обо- обозначает любую величину g(z), такую, что g(z) < М < f(z) всякий раз, когда а < z < Ь (здесь М - константа). Имеют место следующие соотношения: f(z) = O(f(z)), cO(f(z)) = O(f(z)), O(f(z))+O(f(z)) = О(/(г)), C.10) O(O(f(z))) = O(f(z))y O(f(z))*O(g(z)) = O(f(z)g(z)). Используя их, находим, что погрешность аппроксимации в C.9) имеет порядок O(hn). Уравнение C.9) допускает непо- непосредственное конструирование разностной схемы (симметричная разностная аппроксимация) с погрешностью дискретизации по- 2 Остаточный член в форме Пеано Он равен разности между заданной н аппроксимирующей ее функциями. (Примеч. ред.)
32 3. Детерминистические методы рядка А. Пусть п = 2, тогда du(t)/dt = О(*+Л) - u(t)]/h + О(Л), C.11) du(O/df = [u(t) - u(t-h)]/h + О(Л). C.12) Это простейшие схемы, с первой из которых мы знакомы по примеру в гл. 1. Уравнения C.11) и C.12) носят названия нисходящей и восходящей разностей соответственно. Используя нисходящие разности, получим алгоритм Эйлера [31] для реше- решения задачи Коши C.1) с начальным значением и в момент времени /: u(t) = uf, u(t+h) = u(t) + hK(u(t),t). C.13) Алгоритм Эйлера является типичным примером одношагового метода- Такие методы для определения нового значения вели- величины используют только ее предыдущее значение. Оценим ло- локальную и глобальную погрешности алгоритма. Пусть z(t) - точное решение уравнения dz(t)/dt = K(z(t),t). Определим функцию (z(t+h) - и)/К h * О, C.14) K(u,t), h = 0, Г = \ I являющуюся разностным аналогом точного решения. Разность T(u,t,h) = n(u,t,h) - K(uJ) C.15) дает локальную погрешность дискретизации- Если T(u,t,h) = O(hp), C.16) алгоритм является алгоритмом порядка Р- Для алгоритма Эйле- Эйлера находим, что он порядка р - \. Можно пойти дальше и спросить, чему равна глобальная погрешность дискретизации* Как показано в [31], для одношаговых методов глобальная по- погрешность равна локальной. До сих пор мы рассматривали только одношаговые методы. Более точная схема, дающая двухшаговый метод, получается
3.1. Молекулярная динамика 33 непосредственно из C.9) при п = 3: h2/2)u(t) + R , = u(t) + hdu{t)/dt + (h2/2)u(t) + R , u(t-h) = u(t) - hdu{t)/dt + (h2/2)u(t) + tf*. Отметим, что А. * /?!. Вычитая второе уравнение из первого, получим u(t+h) = u(t-h) + 2hdu(t)/dt + tf3 " ^J. Анализ погрешности показывает, что она порядка О(п ). Сле- Следовательно, du(t)/dt = Bh)-\u(t+h) - u(t-h)] + О(Л2). C.18) Аналогичным способом для второй производной получаем u{2\t) = h~2[u(t+h) - 2u(t) + u(t-h)] + O(h2). Многошаговые методы допускают конструирование алгоритмов высокого порядка. Типичными многошаговыми методами, исполь- используемыми в вычислительной физике, являются методы, развитые Гиром [32-35], Бееманом [36] и Токсваердом [37]. Такие ме- методы (включая одношаговый) имеют следующую общую запись: г-1 u(t+rh) + I avu(t+vh) = h'G(t;u(t+rh) u(t);h), C.20) где G является также функцией К, например G = £ b-K(u(t+vh),t+vh). у-о Будем различать предсказывающие и исправляющие схемы • В предсказывающей схеме G не зависит от u(t+rh), как это имеет место в исправляющей схеме. Алгоритм Беемана, напри- например, является предсказывающе-исправляющей схемой третьего порядка. Большинство предсказывающе-исправляющих методов требуют значительно больше памяти, чем одно- или двухшаговые мето- Наряду с этими терминами в литературе можно встретить термины предик- торные и корректорные методы. (Примеч. ред.)
34 3. Детерминистические методы ды. Из-за существующего на сегодняшний день ограничения па- памяти компьютеров только лишь некоторые алгоритмы могут быть использованы для моделирования физических систем. Кроме то- того, часть методов требует многих итераций для получения ре- решения. В дальнейшем мы не будем использовать предсказы- вающе-исправляющие схемы. Интересующегося читателя отсылаем к [30-37]. Теперь, когда получен ряд алгоритмов для численного ре- решения уравнений движения, встает вопрос о выборе временного шага h (МДшага)- Он определяет точность рассчета траекто- траектории и, следовательно, влияет на точность вычисляемых харак- характеристик системы, за исключением статистической погрешнос- погрешности. Выбор Л, однако, важен также по отношению к реальному времени, на протяжении которого моделируется система. Для многих задач при их моделировании требуется достаточно большое реальное время. Вопрос состоит в том, насколько большим может быть временной шаг? Возьмем, например, арго- ноподобную систему из N частиц, которая будет служить нам базовым примером в этой главе. Взаимодействие между части- частицами предполагается леннард-джонсоновского типа. Для такой системы временной шаг h « 10 оказывается достаточным в большинстве областей фазовой диаграммы [6, 7]. Здесь Л яв- является размерной величиной и эквивалентное ему реальное время составляет ~ 10 с, т. е. моделирование на протяже- протяжении 1000 шагов дает эквивалентное реальное время 10~ с. В соответствии с числом просчитанных МД-шагов h опреде- определяет долю занятого системой фазового пространства. Обычно стремятся сделать h как можно больше, чтобы выбирать боль- большие порции пространства на каждом шаге. Однако h определяет временную шкалу и мы должны учитывать, на какой временной шкале (шкалах) происходят изменения в системе. Разные сис- системы имеют различные шкалы. Молекулярная система, например, может иметь разные временные шкалы для внутримолекулярных и межмолекулярных процессов. Критерия выбора h, к сожалению, не существует. Имеется лишь самое общее эмпирическое прави- правило [2.3]: флуктуации полной энергии системы не должны пре- превышать нескольких процентов от флуктуации потенциальной энергии.
3.1 Молекулярная динамика 35 Одной из причин флуктуации энергии является обрезание потенциала, описанное ниже. Другая причина - наличие по- погрешности, обусловленной аппроксимацией. Вне зависимости от порядка алгоритма система будет отклоняться от истиной тра- траектории тем больше, чем больше шаг h. Дрейф энергии 8Е, хо- хотя он может быть и малым, также обусловлен конечностью вре- временного шага. Из более общих соображений можно задать вопрос о консер- консервативных свойствах алгоритмов. Энергия, импульс и момент импульса при МД-моделировании должны сохраняться. Один из путей достижения этого состоит в искусственном введении в систему связей [37]. Имеется, однако, строгий способ вынуж- вынужденной консервации [38-40]. Следует заметить, что вместо сил при решении уравнений движения могут использоваться потенциалы. Можно показать [39, 40], что при этом энергия, импульс и момент импульса сохраняются, если алгоритм предс- представлен в специальном виде. Однако, даже при сохранении энергии, все еще имеется погрешность дискретизации, так что рассчитанная траектория не является истинной и система бу- будет следовать по альтернативному пути на поверхности посто- постоянной энергии. Необходимо также, чтобы потенциал был задан верно, что, однако, не относится к системе, находящейся в ограниченном объеме. Дополнительно можно задать вопрос об обращении времени. Интересно, что только одношаговый метод является инвариантным относительно обращения времени, если мы требуем, чтобы уравнения определяли каноническое преоб- преобразование [41, 42]. Вернемся к причинам энергетических флуктуации. Они могут обуславливаться как ограниченной точностью выполнения ариф- арифметических операций на компьютере, так и конечным размером МД-шага. Хотя погрешности округления играют менее важную роль, нежели другие эффекты, они все же заслуживают рас- рассмотрения. Погрешность округления связана с каждой арифме- арифметической операцией [43]. Результат сложения получается с ограниченной точностью, так что последняя его цифра не яв- является достоверной. Вернее, она является результатом округ- округления. Погрешность также получается при сложении двух ела-
36 3. Детерминистические методы гаемых с существенно различными порядками величины (заме- (заметим, что в компьютерной арифметике свойство ассоциативности операции сложения не выполняется!). Она может проявляться при вычислении силы, действующей на частицу. Пусть по край- крайней мере на одну частицу действует большая отталкивающая сила, ряд частиц находится на дне потенциальной ямы, давая пренебрежимо малый вклад, а остальные находятся далеко. Суммирование малого вклада с доминирующей отталкивающей си- силой будет приводить к потере нескольких значащих цифр. Од- Однако если суммирование производить с предварительной сорти- сортировкой вкладов по их величине и с последующим сложением, начиная с наименьших членов, значащие цифры сохранятся. Для демонстрации сказанного выше рассмотрим задачу о гармоническом осцилляторе из гл. 1. На рис. 1.3 показаны результирующие траектории, полученные с использованием простого алгоритма первого порядка. При h ~ 0,05 (рис. 1.3а) энергия не сохраняется. Первоначально равная единице, после 1000 шагов она приняла значение 12,14! Временной шаг h = 0,005 после 10000 шагов дает лучший результат Е = 1,28 (рис. 1.3б). При тех же начальных условиях алгоритм второго порядка дает (рис. 3.1) при h = 0,05 после 103 шагов Е = 0,9999457, при h = 0,005 после 104 шагов Е = Ч),9998397. Однако, улучшая результаты, меньший временной шаг дает обычно меньшую точность, что является следствием погрешнос- Координата Рис. 3.1. Траектория движения гар- гармонического осциллятора в фазовом пространстве, полученная с помощью алгоритма второго порядка для h = = 0,05 за 1000 шагов
3.1. Молекулярная динамика 37 тей округления. Эти вычисления, выполнялись на персональном компьютере с одинарной точностью, позволяющем получать семь значащих цифр. Алгоритм второго порядка включает умножение ряда величин на h , и при этом также появляются погрешности огругления. Выполнение вычислений с двойной точностью дает все значащие цифры: при h - 0,05 после 103 шагов Е = 0,99995860, при h = 0,005 после 104 шагов Е = 0,99999956. При компьютерном моделировании физических систем усред- усреднение по ансамблю заменяется временным усреднением. В соот- соответствующих МД-экспериментах число частиц N и объем V фик- фиксированы. Строго говоря, полный импульс системы является еще одной сохраняющейся величиной. Чтобы избежать движения системы как единого целого, он полагается равным нулю. Из уравнений движения с заданными начальными положениями час- частиц г @) и импульсами р @) МД-алгоритм генерирует траек- траекторию (г (t),2 (/)). Предполагая, что энергия сохраняется и что во всех равных объемах траектории с одинаковой энергией занимают равное время, усреднение по траектории определяет- определяется следующим образом. Определение 3.3 Усреднение по траектории f Л = lim (t'-tQ)-4 A(r_N(t),EN(t);V(t))dt 'о эквивалентно усреднению по микроканоническому ансамблю Л = <A>NVE. C.21) Будем всегда обозначать усреднение по ансамблю как <•> и усреднение по траектории как v Для последующих применений в определение включен не фиксированный объем. Здесь же бу- будем считать, что объем не изменяется со временем и имеет значение, определяемое числом частиц и плотностью. Для изолированной системы полная энергия является сохра- сохраняющейся величиной. Вдоль любой траектории, генерируемой 4 Аббревиатура NVE означает, что N, V, Е — const. (Примеч. ред )
38 3. Детерминистические методы при МД-моделировании, энергия должна оставаться постоянной, т. е. Е = Е. Рассмотрим с этой точки зрения величину диапа- диапазона взаимодействия. Вообще, когда он больше размера L стороны МД-ячейки, происходит его «обрезание» на расстоянии rc < L/2. Это естественное обрезание является, однако, не единственным. По вычислительным причинам потенциал обычно обрезается на меньшем расстоянии для уменьшения времени, затрачиваемого на вычисление потенциальной энергии. Дейст- Действительно, если не приняты специальные меры, 99 % общего времени, затрачиваемого на расчет одного МД-шага, расходу- расходуется на вычисление потенциалов, т. е. сил, необходимых для расчета движения частиц. Обрезание приводит к появлению сингулярности в виде дельта-функции при вычислении сил в точке обрезания потен- потенциала, если он не стремится плавно к нулю. Если потенциал задан в табулированном виде, процедуру обрезания осущест- осуществить легко. Однако должно быть рассмотрено влияние обреза- обрезания на характеристики системы. В неравновесных ситуациях, например в метастабильных состояниях, проявляющихся при фа- фазовых переходах первого рода, величина диапазона обрезания крайне важна. Она влияет на релаксацию неравновесного сос- состояния в равновесное [44, 45]. Обрезание потенциала и аппроксимация дифференциальных уравнений движения приводят вместе с погрешностями округле- округления чисел к дрейфу энергии. Траектории при этом необратимы во времени. Кинетическая Е. и потенциальная U энергии не являются сохраняющимися величинами для изолированной системы. Они изменяются от точки к точке вдоль генерируемой траектории: t' Ek = lira (/'-у J Ek(v(t))dt, C.22) t' U = lim (t'-ty] f U(r(t))dt. 'o
3 1 Молекулярная динамика 39 Рассмотрим сначала кинетическую энергию. Генерируемая траектория является дискретной, и кинетическая энергия ус- усредняется по времени в дискретных точках v: п Ek = (п-поу' I Evk, C.23) оу I Ek, где £* - i Из среднего значения кинетической энергии можно вычис- вычислить температуру системы. Как станет ясно ниже, температура является важным контрольным параметром, особенно на началь- начальной стадии моделирования. Напомним, что мы интересуемся вычислением наблюдаемых величин в термодинамическом пределе. В термодинамическом пределе все ансамбли эквивалентны и мы можем использовать теорему о равнораспределении. Теорема 3.4 Теорема о равнораспределении Если гамильтониан системы задан в виде C.3), имеет мес- место соотношение Поскольку система имеет три степени свободы на каждую частицу (для импульса мы игнорируем такие ограничения, как равенство нулю полного импульса системы), получим Г4» *^ А7 /. Т" /Q Лу1 \ Е. = n-ZvAfg/. W""J Предположим, что потенциал обрезается на расстоянии гс. Тогда средняя внутренняя конфигурационная энергия будет иметь вид п U = (п-п0Г* lUv , C.25) V>nQ
40 3. Детерминистические методы где Из-за обрезания потенциала полная и потенциальная энер- энергии вычисляются с погрешностью. Для оценки необходимых кор- коррекций алгоритма отметим, что потенциальная энергия имеет, в общем случае, вид 00 U/N = 2тгр J u(r)g(r)r2dr. C.26) 0 Функция g(r) является парной корреляционной функцией и из- измеряет независимые во времени корреляции между частицами. Точнее, g(r)dr есть вероятность того, что в элементе объема dr в окрестности г найдена частица при одновременном нали- наличии в начале координат г = 0 другой частицы. Пусть п(г) - среднее число частиц, расположенных на расстояниях г, ..., r+hr от данной частицы, тогда g(r) = (V/N)n(r)/Dnr2br). C.27) Парная корреляционная функция легко вычисляется при мо- моделировании. Все расстояния берутся из процедуры вычисления сил. Поскольку g(r) не зависит от времени, можно выполнить временное усреднение. На рис. 3.2 показана функция. g(r), полученная при МД-моделировании аргоноподобной системы, в двух точках фазовой диаграммы. Парная корреляционная функ- функция вычисляется на расстояниях, строго меньших половины ли- линейного размера МД-ячейки. В C.25) все внутренние конфигурационные энергетические вклады суммируются вплоть до радиуса обрезания. Для коррек- коррекции обрезания можно взять потенциал в виде 00 Uc = 2пр J u(r)g(r)r2dr. C.28) г При моделировании системы вместо реального вычисления функции g(r) можно также предположить, что она тождественно равна единице. Погрешность при этом будет небольшой, если радиус гс выбран не слишком малым. Для результатов, приве-
3.1. Молекулярная динамика 41 2,0 1,0 ■ i i - 1 T, - - to 2,0 з,о 4,о 1,0 2,0 5,0 4,0 Рис. 3.2. Парные корреляционные функции, полученные из компьютерного экс- эксперимента, при разных значениях Тир*, а - Т* = 2,53, р* = 0,636; б - Т = 0,722, р* = 0,8313 (ср с примером 3.1) денных на рис. 3.2, потенциал являлся леннард-джонсоновским с обрезанием справа от ^второго пика, как показано стрелками на рисунке. В этих точках парная корреляционная функция не сильно отличается от единицы и будет оставаться такой вплоть до бесконечности. Коррекция обрезания необходима также для других величин. Рассмотрим в качестве примера вычисление давления Р, для которого имеет место вириальное уравнение состояния [19]. Теорема 3.5 Вириальное уравнение состояния имеет вид 00 Р = pkBT - (р2/6) J g(r)(du/drLnrzdr. Как и при вычислении потенциальной энергии, разобьем ин- интеграл на член, обусловленный вкладами в пределах диапазона
42 3. Детерминистические методы взаимодействия, и член коррекции обрезания: Р = pkBT - (р/6Л0 I г.ди/дг.. + Рс, C.29) ч ч где оо Рс = (р2/6) J £(г)Cи/агLяг3Aг. C.30) г В примере из следующего раздела будут оценены значения коррекционных членов для различных величин. Они могут до- достигать нескольких процентов. Реальное компьютерное моделирование молекулярной системы может быть разбито на три части: 1) инициализацию, 2) достижение равновесия, 3) расчет интересующих нас характеристик. Первая часть моделирования заключается в задании началь- начальных условий. В зависимости от алгоритма процедура инициали- инициализации может быть различной. Алгоритм может требовать при- присваивания координат дважды: в начальный момент времени и для предыдущего шага. Предположим, что для расчета импуль- импульсов при старте алгоритма необходимо знание положений и ско- скоростей частиц. Проблема, с которой мы немедленно сталкива- сталкиваемся, состоит в том, что, вообще говоря, начальные условия неизвестны. Действительно, это служит основанием для рас- рассмотрения задачи с позиций статистической механики! Для компьютерного моделирования системы возможны различные на- начальные условия. Пусть, для определенности, начальные поло- положения частиц лежат в узлах решетки и скорости получены из больцмановского распределения. Точный выбор начальных усло- условий не имеет значения, поскольку система все равно «забу- «забудет» свое начальное состояние. Система, инициализированная, как описано выше, не будет иметь требуемой энергии. Кроме того, система, скорее всего, не будет находиться в равновесном состоянии. Для ее перево- перевода в равновесие необходима вторая фаза моделирования. В этой фазе энергия либо добавляется в систему, либо отнима- отнимается до тех пор, пока не будет достигнуто необходимое зна-
3.1. Молекулярная динамика 43 чение. Энергия может быть отнята или добавлена путем поша- пошагового уменьшения или увеличения кинетической энергии. Таким образом, при интегрировании уравнений движения во времени система релаксирует в равновесное состояние. Равно- Равновесие считается достигнутым, если система срелаксировала к определенным средним значениям кинетической и потенциальной энергии. На первых двух фазах моделирования можно выявить по крайней мере две потенциальные проблемы. Первая проблема связана с временем релаксации системы. Основной временной шаг h определяет реальное время компьютерного эксперимента. Если внутреннее релаксационное время является длинным, для достижения системой равновесия требуется много итераций. Для таких систем необходимое число временных шагов может оказаться недопустимо большим для быстродействия существую- существующих компьютеров. Однако в ряде случаев эту трудность можно обойти путем соответствующего масштабирования переменных. Примерами систем, в которых это возможно, являются системы вблизи фазовых переходов второго рода. В соответствии с временем релаксации существует вероят- вероятность того, что система попадет в метастабильное состояние. Долгоживущие метастабильные состояния могут не приводить к ощутимому дрейфу кинетической и потенциальной энергии. Эта опасность особенно актуальна для систем, исследуемых вблизи точки фазового перехода. Вторая потенциальная проблема состоит в том, что система может быть первоначально расположена за пределами рассмат- рассматриваемой нами части фазового пространства. Эту проблему можно устранить путем выполнения компьютерных экспериментов с разными начальными условиями и в течение различного вре- времени. Реальное вычисление характеристик системы осуществляется в третьей фазе моделирования. Все интересующие нас величины вычисляются вдоль траектории системы в фазовом простран- пространстве. В последующем мы будем изучать конкретные алгоритмы. Сначала рассмотрим методы моделирования систем с постоянны- постоянными энергией, числом частиц и объемом. Затем изучим возмож-
44 3. Детерминистические методы ности введения в уравнения движения связей, позволяющих мо- моделировать системы с постоянной температурой. После этого обсудим, как вычислять характеристики системы при постоян- постоянном давлении. 3.1.1. Молекулярная динамика микроканонического ансамбля. Займемся разработкой вычислительного метода для расчета эволюции системы вдоль траектории с постоянной энергией в фазовом пространстве. Начнем с записи гамильтониана, описы- описывающего взаимодействие N частиц, ограничившись для просто- простоты, как и ранее, двухчастичным потенциалом взаимодействия со сферической симметрией: Н = I р2У2т + I u(rj, i i < j где г.. - расстояние между частицами с индексами / и /. Время не входит в явном виде в эти уравнения. Будем рас- рассматривать систему, для которой гамильтониан Н - Е является интегралом движения. Кроме того, будем считать число частиц в системе постоянным, а их суммарный импульс равным нулю. В классической механике гамильтониан приводит к различ- различным формам уравнений движения. В зависимости от сделанного выбора алгоритм для решения уравнений будет иметь опреде- определенные особенности. Хотя уравнения движения в различной за- записи математически эквивалентны, это не так при их числен- численном решении. Начнем с уравнений Ньютона: d2rt(t)/dt2 = I Ffr..)/m. C.31) Решение системы дифференциальных уравнений второго по- порядка аналитически получается двойным интегрированием по времени от нуля до t, давая сначала скорости частиц, а за- затем и их координаты. При этом требуется знание не только начальных координат частиц, но и их начальных скоростей. Начальные положения частиц задают вклад потенциальной энер- энергии в полную энергию системы, а скорости определяют вклад кинетической энергии. С заданными начальными условиями сис- система движется по траектории с постоянной энергией в фазовом пространстве.
3.1.1. МД микроканонического ансамбля 45 При численном решении дифференциальных уравнений приме- применяется дискретизация C.19) дифференциального оператора второго порядка в левой части уравнения C.31.), приводящая к явному разностному уравнению в центральных разностях- d2r/dt2 = h~\rft+k)-2rft)+rft-h)] = Fft)/m. C.32) Это уравнение обеспечивает получение координат частиц на временном шаге t+h через координаты на предыдущих шагах / и t-h и действующие на частицы силы на шаге t. Координаты на временном шаге t+h имеют значения rft+h) = 2rft) - rft-h) + Fft)h2/m. C.33) Пусть tn = nh, r. = rn.(tn), Fnt = F/g, тогда C.33) принимает более алгоритмическую форму: rn^= 2rn. - rn~K Fn{h2/m. C.34) Задав г. и г., все последующие положения частиц можно опре- определить с помощью предыдущего рекурсивного соотношения. Дру- Другими словами, положения частиц на (я+1)-м временном шаге экстраполируются или предсказываются на основе положений частиц на двух непосредственно предшествующих этому шагу шагах (двухшаговый метод). Рекурсивное соотношение C.34) вычисляет только положе- положения частиц. Для вычисления кинетической энергии и, напри- например, автокорреляционной функции скоростей при изучении яв- явлений переноса требуется также знание скоростей частиц. Они вычисляются в приближении C.18) следующим образом: v* = Bh)-\rni+]- rn~x). C.35) Отметим, что на (л+1)-м шаге вычисленные скорости явля- являются скоростями на предыдущем шаге, т. е. на л-м шаге! Сле- Следовательно, кинетическая энергия вычисляется с задержкой на один временной шаг по отношению к потенциальной. Уравнения C.34), C.35) в совокупности с заданием на- начальных координат частиц составляют так называемый алгоритм
46 3 Детерминистические методы Верлета [6, 7]. Алгоритм А2 Молекулярная динамика NVE-ансамбля 1. Задать положения частиц г. и г. 2. Вычислить силы Fn на временном шаге п. 3. Вычислить согласно C.34) новые положения гп+ частиц на временном шаге л+1. 4. Вычислить согласно C.35) скорости vn. частиц на вре- временном шаге п. Достоинством этого алгоритма является его обратимость во времени: расчет системы в обратном времени приводит к тем же уравнениям. Это верно только в принципе. Из-за неизбеж- неизбежных погрешностей округления при выполнении арифметических операций с ограниченной точностью расчитанные при этом тра- траектории частиц не будут совпадать с истинными. На каждом временном шаге погрешность алгоритма из-за погрешности округления представляет сумму 0A) + 0(h ). Кроме того, траектория отклоняется от истинной из-за конечности времен- временного шага. Алгоритм А2 в форме Верлета не является самостартуемым. Для его запуска должен быть задан набор положений частиц не только в начальный момент времени, но и на следующем шаге. В ряде случаев оказывается удобным, когда первоначальные положения частиц заданы в узлах решетки. Если положения и скорости частиц заданы начальными условиями, для вычисления г. может быть использована следующая процедура: г) = г°. + hv°. + (h2/2m)F°.. C.36) После ее выполнения алгоритм продолжается со второго шага. Алгоритм Верлета может быть переформулирован таким обра- образом, чтобы давать более устойчивый численный метод [30, 46]. Определим zn = h~\rn+] - гп). C.37) i v i i' v '
3 11 МД микроканонического ансамбля 47 Уравнения гп. = rn~x + hzn~\ zn. = zn~x + (Л/m)/* C.38) математически эквивалентны уравнениям C.34) и носят назва- название уравнений в аддитивной форме- Дальнейшая переформули- переформулировка приводит к скоростной форме алгоритма Верлета. Алгоритм A3 Молекулярная динамика NVE-ансамбля (скоростная форма) 1. Задать положения г. на шаге 1. 2. Задать скорости v. на шаге 1. 3. Вычислить положения на временном шаге п+\: = r n. + hvn. + (h2/2m)Fn.. 4. Вычислить скорости на временном шаге п+1: = vn. + (A/2m)(/^+1 + Fn.). Во многих случаях последний алгоритм лучше оригинального алгоритма Верлета. В алгоритме A3 существенно то, что поло- положение частиц и их скорости вычисляются на одном и том же временном шаге. Кроме того, повышена устойчивость алгорит- алгоритма, крайне важная при моделировании системы в течение дли- длительного времени. Еще одна особенность этого алгоритма бу- будет продемонстрирована при обсуждении алгоритмов для моде- моделирования ансамбля с постоянной температурой. Вообще говоря, точные начальные условия, соответствующие заданной энергии системы, неизвестны. Для достижения систе- системой заданной энергии устанавливаются разумные начальные ус- условия, а затем энергия либо отнимается у системы, либо вно- вносится в нее дополнительно. Эта процедура выполняется до тех пор, пока система не достигнет требуемого состояния. Для равновесной фазы в алгоритме Верлета или в его скоростных модификациях это достигается путем соответствующей норми- нормировки скоростей частиц [47]. Такая нормировка может приво- приводить к большим изменениям скоростей. Для устранения воз- возможных при этом эффектов системе после нормировки опять должно быть дано время для достижения равновесия. Алгорит-
48 3. Детерминистические методы мически равновесная фаза достигается с помощью следующего алгоритма. 1. Интегрировать уравнения движения на данном временном шаге. 2. Вычислить кинетическую и потенциальную энергии. 3. Если полная энергия отличается от требуемой, нормиро- нормировать скорости частиц. 4. Повторить с шага 1, пока система не достигнет равно- равновесия. Успех этой процедуры определяется начальными положениями частиц и распределением скоростей. Общепринято задавать на- начальные положения частиц системы в узлах решетки, а их ско- скорости - соответствующими распределению Больцмана. Иногда вместо нормировки скоростей все они зануляются. В любом случае необходимо проверять распределение скоростей при достижении системой равновесной фазы, чтобы быть уверенным, что оно имеет вид равновесного распределения. Пример 3.1 1 Рассмотрим систему одноатомных частиц с фиксированной полной энергией. Предположим, что взаимодействие между час- частицами хорошо описывается двухчастичным потенциалом леннард-джонсоновского типа И(г.у) = 4€ [((Г/г..I2 - (я/г/], C.39) где (-€) - минимум потенциала (€ имеет размерность энер- энергии), достигаемый на расстоянии между частицами г = 2 с (О* имеет размерность длины). Для конкретности выберем зна- значения € и с для аргона (см. задачи 3.5, 3.6). Поместим N = 256 частиц в МД-ячейку с объемом V. Для сохранения плотности частиц в ячейке наложим на систему периодические граничные условия. Это значит, что используется правило 3.2 Минимума расстояния между отображениями частицы. Совокуп- Совокупность трех параметров - объема, числа частиц и. энергии сис- темвд - одназначно задает положение системы, которую мы со- собираемся исследовать, на фазовой диаграмме.
3.1.1. МД микроканонического ансамбля 49 Для моделирования поведения частиц внутри МД-ячейки необходимо знать силы, действующие на каждую частицу. Про- Проекция силы, действующей на /-ю частицу со стороны /-й, на ось х (аналогично на оси у и г), полученная из C.39), име- имеет вид Fx(rij) = 48<€/о*)(х, - ху) [(с/г^I4- (l/2)((r/rf/)8]. C.40) Однако выражения C.39) и C.40) в данной форме не годятся для компьютерного моделирования. Удобно все величины пред- представлять в нормированном виде. Время и положения частиц нормируются на (т(Г2/48€I/2 с, C.41) где т - масса атома аргона. Эта операция приводит к безраз- безразмерным уравнениям. Подстановка параметров аргона в C.41) дает размер временного шага 3 • 10~13 с. Для обеспечения дос- достаточной устойчивости численного алгоритма временной шаг берется равным h = 0,064 B*10~14 с). Эти цифры определяют и тот факт, что время, в течение которого можно следить за поведением системы в компьютерном эксперименте, не может быть большим . Будем изучать нашу систему в двух точках фазовой диаг- диаграммы (Г*,Р*): B,53, 0,636) и @,722, 0,83134). Для этих значений приведенных плотностей линейные размеры МД-ячейки составляют L = 7,38 и L = 6,75 соответственно. Перечислен- Перечисленные параметры могут использоваться при запуске программы молекулярной динамики. Для моделирования системы использо- использовалась аддитивная форма алгоритма Верлета. Реализующая его простая программа приведена в приложении 2. Первоначально поместим атомы в узлы гранецентрированнои кубической решетки. Скорости атомов для запуска алгоритма возьмем из распределения Максвелла для соответствующей тем- температуры. В приложении 2 приведена программа генерации та- па современных суперкомпьютерах удается проследить за поведением сис- 2 3 -10-11 темы с числом частиц 10 -Ю на временах до 10 -10 с (Примеч ред)
50 3. Детерминистические методы кого распределения. То, что система находится в равновесии, не мешает стартовать с распределения, отличного от макс- велловского, скажем задавая частицам случайные скорости (см. приложение 2). Поскольку МД-ячейка не перемещается, необходимо обеспечить равенство суммарного импульса системы нулю. Благодаря этому число степеней свюбоды системы умень- уменьшается на три, что должно быть учтено при вычислении темпе- температуры. Теперь займемся вычислением сил и потенциала. Чтобы из- избежать вычисления сумм Эвальда и ускорить расчет, введем обрезание потенциала. Для исследования эффекта обрезания возьмем два значения, г = 2,5 и г = 3,6. Влияние обреза- обрезания на расчетное время весьма значительно. Для приведенных плотностей, рассматриваемых в данном примере, при изменении г от 2,5 до 3,6 расчетное время удваивалось. Обрезание в дальнейшем может применяться с учетом того, что при г = = 2,5 почти 80 % расчетного времени уходит на вычисление сил (эта цифра верна только для алгоритма, приведенного в приложении 2). В начальном состоянии система находится в равновесии, так как имеет требуемую среднюю температуру. В дальнейшем равновесие системы достигается интегрированием уравнений движения за определенное число шагов (здесь 50). После это- этого интегрирование прекращается и энергия отводится из сис- системы или вводится в нее при помощи нормировки скоростей на фактор 1/2 C = [t*(N-\)/(\6 l о*)] . C.42) i Эта процедура повторяется до достижения требуемой энергии или, что равносильно, средней температуры. При этом требуе- требуемое равновесие достигается в компьютерном эксперименте за первые 1000 МД-шагов. Рис. 3.3 показывает эволюцию кинети- кинетической энергии во время эксперимента. Видно, что после не- нескольких сотен шагов кинетическая энергия уже выходит на свое среднее значение. Однако наблюдение за потенциальной энергией (рис. 3.4) показывает, что полная релаксация сис- системы происходит значительно медленнее в случае Т* = 0,722.
3.1.1. МД микроканонического ансамбля 51 600 1100 1600 t, МД -шаг 100 600 1100 1600 t, МД-шаг Рис. 3.3. Эволюция кинетической энергии системы (в единицах €) в процессе моделирования ее поведения МД-методом в различных точках фазовой траекто- траектории: а - Г = 2,53, р = 0,636, г = 2,5; б - f = 0,722, р* = 0,83134, г = = 2,5. В течение первых 1000 МД-шагов для получения требуемой температуры скорости нормировались каждые 50 шагов Рис. 3.4. Эволюция потенциальной энергии системы (в единицах €) в процес- процессе моделирования ее поведения МД-методом в различных точках фазовой траек- траектории: а - Г = 2,53, р = 0,636, г = 2,5; б - f = 0,722. р* = 0,83134, г = =2,5 с с На рис. 3.5 представлена эволюция полной энергии систе- системы. При каждой ренормировке скоростей происходит скачок энергии. Между моментами нормировки, когда система не под- подвергается внешним воздействиям, энергия практически посто- постоянна. То, что она не строго постоянна, обусловлено обреза- обрезанием потенциала. Флуктуации энергии вносятся на каждом шаге
52 3. Детерминистические методы МД-шаг 1220- -1620 -1420 50 25 0 - ' - - - - I I 1 4 + +> 1 Ц | i ч tlllrT 4 H + + It J + i i h + + 1 1 1 1 1 - - - 'Ум'йМЙии -100 о /00 F* Рис. 3.5. Эволюция полной энергии системы {в единицах €): а - f = 2,53, р = 0,636, гс = 2,5; б - Г = 0,772, р* = 0,83134, г = 2,5. Ступеньки соот- соответствуют моментам нормировки скоростей Рис. 3.6. Распределение значений кинетической энергии во время эксперимента при Г = 2,53, р = 0,636, г 2,5 частицами, пересекающими границу области обрезания . Кроме того, неизбежны погрешности округления из-за ограниченной точности вычислений на компьютере. Последние могут быть сведены к минимуму при использовании более устойчивого чис- численного алгоритма. Периодические граничные условия позволяют сохранять лишь полное число частиц в МД-ячейке: при выходе частицы за пределы ячейки с симметричной стороны ячейки вводится точно такая же частица При этом вновь введенная ча- частица попадает в другое, нежели раньше, окружение и суммарная энергия взаи- взаимодействия частиц в системе изменяется. Это приводит к флуктуациям полной энергии. (Примеч. ред.)
3.1.1. МД микрокаионического ансамбля 53 Для проверки того, что система действительно ведет себя, как ожидается, наблюдалось распределение значений кинети- кинетической энергии, полученных во время эксперимента (рис. 3.6). Также контролировалась средняя скорость частиц, рав- равная v = или в приведенных единицах vl = 1,13(Г*/24I/2. При Г* = 2,53 средняя скорость v' = 0,3668, а в результате эксперимента было получено значение v' = 0,3654 (табл. 3.1). Согласие, достаточно хорошее, учитывая, что система состоит всего из 256 частиц. Согласуется также с ожидаемым D6,7 %) процент частиц, имеющих скорость больше, чем сред- средняя. Эти результаты (в пределах статистической погрешности) нечувствительны к обрезанию потенциала. В то же время дру- другие характеристики системы чувствуют его. Влияние области обрезания лучше всего видно, конечно, собственно на потенциальной энергии. Для состояния с высо- высокой температурой U* = -864,78 при г = 2,5, U* = -920,10 при гс = 3,5. На меньшем радиусе обрезания потенциальная энергия U* со- Таблица 3.1. Результаты моделирования аргоноподобной системы Усреднение проводилось по 1000 МД-шагов. N' - доля (в процентах) молекул, имеющих скорость выше v'; погрешность измерений дана в виде стандартных отклонений Равновесие при 7"*=2,53 и р*=0,636 г 2,5 3,6 Е* 966, 972, и* 58±22,1 -864,780±22,4 15±22,6 -920,100±22,9 Е 101,79 52,050 Равновесие при 7*=0,722 и р*=0,83134 г 2,5 3,6 Е* 279, 975, и* 13±9,57 -1421,98120,15 1119,72 -1496,45122,61 Е 1142,92 1221,38 Г* 2,5310,06 2,5410,06 Т* 0,7297+0,025 0,7192+0,025 и 0, 0 и 0, 0, 365410,007 ,366710,007 ,1965+0,003 1949+0,003 Л/7 46,33 46,71 Л/' 47,08 46,42
54 3. Детерминистические методы ставляет 94 % от энергии при большем радиусе. Вспомним, что мы обсуждали необходимость коррекции потенциальной энергии при обрезании потенциала. Если применить C.28) к потенци- потенциалу Леннарда-Джонса, задавая парную корреляционную функцию равной единице, получим довольно значительные корректирую- корректирующие добавки: U* = -83,94 при г = 2,5, U* = -25,99 при г = 3,5. с ^ с Они составляют 9,7 % и 2,8 % соответственно. ■ Результаты эксперимента в примере 3.1 представляют одну реализацию из множества возможных. Если будет задан другой набор начальных координат и скоростей частиц, система будет следовать в фазовом пространстве по альтернативной траекто- траектории на поверхности с постоянной энергией. Ограничиваясь расчетом одной траектории, мы следуем утверждению C.21), что усреднение по траектории эквивалентно усреднению по ан- ансамблю. В принципе, нужно следовать по траектории бесконеч- бесконечно долго, чтобы обеспечить нахождение системы равное время во всех равных объемах фазового пространства. Ограниченные возможности компьютера не позволяют выполнить это требова- требование. Выбор некоторой ограниченной области фазового прост- пространства, в котором находится система во время эксперимента, приводит к возникновению погрешности в результатах модели- моделирования. Может случиться, что траектория системы пройдет вне рассматриваемой нами области пространства. Например, начальные условия могут быть такими, что система первона- первоначально расположена именно вне рассматриваемого пространст- пространства. Если время проведения эксперимента небольшое, система либо не достигнет рассматриваемой части пространства либо лишь слегка войдет в нее. Моделирование системы на различ- различных временах дает оценку погрешности, т. е. позволяет опре- определить по крайней мере асимптотическое поведение системы. Эти замечания применимы также и к другим методам, представ- представленным в книге. Важным аспектом МД-экспериментов, кроме точности и ус- устойчивости численных алгоритмов, является расчет сил,
3.1.2. МД канонического ансамбля 55 действующих на частицы. Интегрирование уравнений требует выполнения порядка N операций. Для двухчастичных аддитивных центральных сил на каждом шаге требуется выполнять N(N-\)/2 операций. Для уменьшения числа операций можно учесть, что большинство термов при расчете равны нулю из-за обрезания потенциала. Следовательно, нужно учесть лишь те термы, вклад в которые дают частицы внутри области обрезания. Выбирая подходящий радиус г , можно гарантировать, что число частиц внутри области обрезания изменится только пос- после п временных шагов [3, 7, 48] (см. задачу 3.7). Поэтому можно создать список ближайших частиц, действие которых бу- будет учтено при вычислении силы C.40), действующей на час- частицу. На каждом л-м шаге этот список должен обновляться. При этом, конечно, расходуется, память компьютера. Такой список, называемый таблицей Верлета, успешно используется на универсальных компьютерах. Для векторных машин, однако, этот прием не годится. Дальнейшее обсуждение оптимизацион- оптимизационных приемов отложим до приложения 2. 3.1.2. Молекулярная динамика канонического ансамбля. В предыдущем разделе было показано, каким образом метод МД численно решает уравнения движения. Рассматривалась изоли- изолированная (консервативная) система, так что ее траектория всегда располагалась на поверхности постоянной энергии в фазовом пространстве. Во многих случаях требуется исследо- исследовать систему, находящуюся не на линии постоянной энергии, а на изотерме. Поскольку уравнения движения позволяют рассчи- рассчитывать поведение системы только на поверхности постоянной энергии, их необходимо изменить. Изменения должны быть та- такими, чтобы система была концептуально связана с тепловым резервуаром. Он привносит в систему флуктуации энергии, необходимые для получения заданной температуры. Вообще говоря, наблюдаемые характеристики системы полу- получаются при усреднении по соответствующему ансамблю анало- аналогичных систем. Таким ансамблем, описывающим равновесие сис- системы в тепловом резервуаре, является канонический ансамбль, для которого число частиц N, объем V и температура Т фикси- фиксированы, а полный импульс системы Р равен нулю. Поскольку
56 3. Детерминистические методы при постоянной температуре полная энергия не является со- сохраняющейся величиной, схема моделирования должна предус- предусматривать введение флуктуации в полную энергию Е. Однако средняя кинетическая энергия является интегралом движения. Любая схема должна удовлетворять требованию, чтобы усред- усредненные характеристики системы, вычисленные вдоль траекто- траектории, были эквивалентны полученным при усреднении по ансамб- ансамблю: <А> = lim (*' - ф Г A(r_N(t),At);V(t))dt. C.43) Одним из способов получения флуктуации при постоянной температуре может служить дополнение уравнений движения уравнением связи [49]. Другой способ состоит в добавлении к силам в уравнениях движения силы реакции связи (метод дис- сипативной силы) [50-55]. Можно показать [49], что метод диссипативной силы является частным случаем метода связей. Еще одна возможность состоит в, погружении системы в тепло- тепловой резервуар путем введения случайной силы, моделирующей столкновения с виртуальными частицами. В разделе 4.2 рас- рассматривается идея введения стохастических элементов в урав- уравнения движения. Естественным выбором связи является фиксация кинетиче- кинетической энергии на заданном уровне в течение компьютерного эк- эксперимента. Такая связь может быть неголономной связью [49]: л = 2 I тА = const C44) i {изокинетическая МД)- Если система имеет постоянную темпе- температуру, можно взять полную кинетическую энергию пропорцио- пропорциональной времени с очень малой константой пропорциональности (гауссова изокинетическая МД) [56]: I I mv] = at. C.45) i Ниже мы будем рассматривать метод изокинетической МД. Отме- Отметим, что при этом фиксирована лишь средняя температура.
3.1.2. МД канонического ансамбля 57 Мы уже знакомы с методом ограничения кинетической энер- энергии заданным значением. Для приведения системы в равновесие ее энергия уменьшалась или увеличивалась с помощью норми- нормировки скоростей частиц [47, 57, 58]. После достижения тре- требуемой энергии или температуры система предоставляется са- самой себе. Алгоритмически это записывается в следующем виде, предполагающем скоростную форму процедуры интегрирования (см. алгоритм A3 и задачу 3.4): do я=1, шах начало цикла по времени 1. Вычислить силы. 2. Вычислить rn+1 = g{rn,vn,Fn). n+1 nnn+ 3. Вычислить on+1 = g2(vn,FntFn+}). 4. Вычислить кинетическую энергию. 5. Нормировать скорости ога+1 <- |3i/ra+1. end конец цикла по времени Функции g. и g2 обозначают рекурсивные соотношения. Отме- Отметим, что функция g_ должна включать дополнительную зависи- зависимость от силы на временном шаге п+\. В этом случае шаг 1 вводится между шагами 2 и 3. После достижения системой рав- равновесной фазы шаг 5 игнорируется. В методе нормировки ско- скоростей шаг 5 остается внутри временного цикла для нормиров- нормировки скоростей частиц на каждом временном шаге. Зададимся вопросом, чему равен нормировочный множитель /3? Система имеет 3N степеней свободы. Однако, поскольку мы налагаем требование равенства нулю полного импульса систе- системы, число степеней свободы становится на три меньшим. Связь в виде постоянной кинетической энергии уменьшает число сте- степеней свободы еще на одну. Таким образом, нормировочный множитель /3 = [CN-4)kJref / I m**]172, C.46) так что после нормировки получаем 2 I "» / " Обычно вместо весового множителя 3N-4 используется мно- множитель 3N. Обоснование этого состоит в том, что существует
58 3. Детерминистические методы несколько проблем, связанных с процедурой нормировки, дела- делающих ее не точной. Однако, как будет показано ниже, напи- написанное выше выражение является точным в своей дифференци- дифференциальной форме. Чтобы показать, почему процедура нормировки не точна, рассмотрим ее в рамках ступенчатой формулировки алгоритма Верлета (см. задачу 3.4): с» = (с"72 + vn+]/2)/2. t v i i ' Предположим, что нормировочный множитель вычислен из предыдущего значения скоростей на половинном шаге: Э- Не гарантируется, что кинетическая энергия, вычисленная со скоростями на некотором временном шаге, такая же, как на предыдущем половинном шаге. Это различие существует из-за временной задержки в цикле обратной связи, контролирующем температуру. Поэтому температура будет флуктуировать в оп- определенных пределах, что и имеет место [59]: По этой причине в формуле для нормировочного коэффициен- коэффициента мы берем Т , вместо реальной температуры, при которой те] находится система. Отсюда понятно, что нет большой разницы, если использовать 3N степеней свободы вместо 3N-4. Это рас- расхождение регулируется с помощью параметра Т ,. rej Алгоритм А4 Молекулярная динамика NVT-ансамбля 1. Задать начальные положения г!. 2. Задать начальные скорости v.. 3. Вычислить положения частиц на временном шаге л+1: гпЛ = rn + hvn + (h2/2m)Fn. i i i v ' i
3.1.2 МД канонического ансамбля 59 4. Вычислить скорости частиц на временном шаге п+\: = vnt 5. Вычислить Y m{vn) и нормировочный коэффициент /3. 6. Нормировать все скорости t>"+1 «- /3t>"+1. Покажем, каким образом получается метод [49]. Начнем с записи лагранжиана для изолированной системы без связей 1 = 2 1 тг\ ~ U^ C49) i и соответствующих уравнений Лагранжа dL d (8L 1 — = 0. C.50) dr. dt[dr.) . dt[. В этой записи энергия является интегралом движения. Для введения флуктуации энергии свяжем систему с энергетическим резервуаром путем введения обобщенной силы: 8L d [dL I — = -F(rrr). C.51) Имеют место две возможности. Можно рассматривать обоб- обобщенные силы, полученные из обобщенных потенциалов, или брать их именно такими, какими они даны. Вообще говоря, для неголономных связей нельзя сконструировать обобщенный по- потенциал. Однако относительная простота связи позволяет это сделать. Пусть V(r,'r) обозначает обобщенный потенциал, тогда dV d [dV 1 F{r'r) = — , C.52) Г l dr. dt[dr.\ откуда следуют уравнения движения без связей 0 C.53) с новым лагранжианом L' = L - V. Далее предположим, что V U d pi'] 7. di[dr~\ '
60 3 Детерминистические методы имеет простой вид произведения двух функций: V = Z(r,'rN(r,'r). C.54) Представим, что 6 задает механизм передачи энергии между системой и тепловым резервуаром. Функция £ задает связь. Детализацию механизма мы пока не рассматриваем. С помощью C.54) уравнения движения принимают вид дв 8% 8U дв д% mri = Pi + Z— + в—' К= € е—' <3-55) ' ' dr. dr. l dr. дг. дг. it tit где р = 8L'/дг. Допустим, что нами сейчас выработан некий произвольный механизм передачи энергии и 6 есть функция только скорос- скоростей, формально равная нулю: G = в(г) = 0. C.56) Тогда уравнения движения преобразуются следующим образом: дв . dU / i Очевидным выбором для 6 является, конечно, связь 6 = I тг2/2~ А = 0, C.58) i так что уравнения движения становятся следующими: 1/2 pi mr. = - i т 2тЛ ,2 / t dU dr . C-59) . Видно, что введение флуктуации энергии с помощью обобщенно- обобщенного потенциала со специальным выбором связей приводит к ме- механизму нормировки скоростей. Для ограничения кинетической энергии вводится цикл с об- обратной связью. При переходе к дискретным уравнениям возни- возникает проблема: дискретизация вводит временную задержку в цикл с обратной связью, приводящую к флуктуациям средней кинетической энергии.
3 12 МД канонического ансамбля 61 Интересна также вторая возможность, приводящая к меха- механизму нормировки. Если взять обобщенную силу типа F = Z(r/rN(r,'r) C.60) в виде F = гпг C.61) получим тг. = рс р. = -ди/дг( + &гпг C.62) 0 = О / Т г/Г1 i i При п=\ уравнения движения те же, что и уравнения, получен- полученные Хувером и др. [51-55]. В этом случае уравнения движения согласуются с принципом Гаусса [59, 64]. Заметим, что 0 не использует требуемую температуру, так что начальные условия должны выбираться в соответствии с наложенной связью. Пример 3.2 ■ В примере 3.1 мы изучали леннард-джонсоновскую систему 256 одноатомных частиц. Моделирование производилось таким образом, что энергия вносилась в систему или отводилась от нее до тех пор, пока не достигалось требуемое значение энергии, соответствующее средней температуре. Между момен- моментами изменения энергии системы она оставалась постоянной. Для того чтобы система имела фиксированную температуру и флуктуирующую полную энергию, она должна быть приведена в контакт с тепловым резервуаром. Один из путей для достиже- достижения этого состоит в ограничении кинетической энергии фикси- фиксированным значением во время компьютерного эксперимента. Ранее обсуждались два возможных способа ограничения. Первый состоит в нормировке «скоростей шага л-1/2» в сту- ступенчатом алгоритме на каждом временном шаге. На рис. 3.7 показана кинетическая энергия, расчитанная после нормировки и вычисления «скоростей на шаге л+1/2». Очевидно, что кине- кинетическая энергия не постоянна. Благодаря временной задержке в цикле с обратной связью имеется как превышение, так и
62 3. Детерминистические методы U * п -900 267 262 \ i i i i i i i i 50 ZOO -1500 - -1600 - Рис. 3.7. Эволюция приведенной кине- -lynn тической энергии , вычисляемой после нормировки скоростей на шаге п-1/2 и их расчета на шаге п+1/2 для системы с Т* = 0,722, р* = 0,83134, г£ - 2,5 Рис. 3.8. Эволюция приведенной потенциальной энергии, наблюдаемой в экспе- эксперименте по методу изокинетической МД с -использованием алгоритма ъ аддитив- аддитивной форме при г = 2,5 и различных Г* и р* а - Г - 2,53, р = 0,636, б - f - 0,722, р* = 0,83134 недостача кинетической энергии по отношению к заданному значению. Это имеет место также и при использовании алго- алгоритма Верлета в аддитивной форме. Флуктуации, однако, явля- являются, до некоторой степени, незначительными. Поучительно также наблюдать поведение потенциальной энергии в процессе релаксации системы (рис. 3.8). Для срав- сравнения результатов, полученых при постоянной энергии, с ре- результатами изокинетического моделирования была взята систе- система с точно такими же начальными условиями для положений и скоростей частиц. Результаты сведены в табл. 3.2. Изучение этой таблицы показывает, что не существует значительной разницы как для высокотемпературного, так и для низкотемпе- низкотемпературного состояний. Средние потенциальные энергии, вычис-
313 МД ансамбля при постоянных Т и (или) Р 63 Таблица 32 Результаты моделирования методом изокинетической МД для приведенной потенциальной энергии Г=2.53. г 2.5 3.6 Р и* -870 -922 =0.636 ,32+26,54 ,12+25,24 Г=0,722, с 2.5 3.6 р =0,83134 if -1423,01+21,40 -1493,57+23,43 ленные за вторую половину из сделанных 2000 МД-шагов, со- согласуются в пределах статистической погрешности. Следова- Следовательно, такие термодинамические переменные нечувствительны к механизму нормировки. ■ Было показано, что статистические характеристики систе- системы, вычисленные вдоль ее траектории, соответствуют в дейст- действительности усреднению по каноническому ансамблю [60-63]. Кроме того, результаты предыдущего примера подтверждают ин- инвариантность статистических характеристик. Вопрос, которым мы пренебрегали до сих пор, состоит в том, каким образом искажаются динамические характеристики системы в любой из схем? Можно ответить, что так или иначе при изменении ско- скоростей во время нормировки искажаются транспортные характе- характеристики системы. Четкое доказательство этого на основании компьютерных экспериментов пока отсутствует. С эксперимен- экспериментальной точки зрения возможные вследствие нормировки ско- скоростей эффекты трудно отличить от эффектов, связанных с на- накладываемыми на систему граничными условиями. Кроме того, не забывая об эффектах, обусловленных обрезанием потенциа- потенциала, будем иметь в виду, что возможны другие эффекты конеч- конечности размеров системы. Отсутствует также аналитическое до- доказательство, что алгоритм становится точным в пределе бес- бесконечного времени. 3.1.3. Молекулярная динамика ансамбля при постоянных температуре и (или) давлении. Метод МД для ансамбля частиц при постоянных температуре и (или) давлении представляет интерес не только с теоретической точки зрения. Для сравне- сравнения рассчитанных величин с экспериментально измеренными
64 3. Детерминистические методы иногда требуется моделирование именно такого ансамбля. При- Примером может служить, конечно, удельная теплоемкость с при постоянном давлении. Начнем изложение со случая постоянного давления. Для изолированной системы из N частиц ее энергия Е и объем яв- являются независимыми переменными. Если зафиксировать давле- давление, то объем системы, будучи переменной, сопряженной дав- давлению, должен флуктуировать. Система, однако, не является изолированной, поскольку находится в контакте с окружением. Предположим, что передача энергии между системой и окруже- окружением происходит адиабатически. В такой системе, имеющей постоянное число частиц N и постоянное давление Р, полная внутренняя энергия не сохраняется. Сохраняющейся величиной является энтальпия Н = Е + P£V. C.63) Символ Н не нужно путать с гамильтонианом! Здесь Р~ - внеш- внешнее давление, приложенное к системе. В механическом равно- равновесии внешнее и внутреннее давления равны. Рассмотрим NPH-ансамблъ при постоянных давлении и эн- энтальпии. Как и для случая канонического ансамбля, требуется изменить уравнения движения таким образом, чтобы давление в системе сохранялось. Любая модификация должна быть такой, чтобы средние величины, вычисленные вдоль генерируемой ком- компьютером траектории, были такими же, как для ансамбля с постоянным давлением и энтальпией: t' <A>NpH = lim (/' -О J A(r_N,vN,V(t))dt. C.64) Выберем, как и ранее, кубический объем и наложим перио- периодические граничные условия. В принципе, допускаются флукту- флуктуации формы ячейки [24-27], что важно для кристаллических структур, однако формула при этом становится чрезмерно сложной. Чтобы допустить флуктуации объема, введем в качестве но- новой динамической переменной объем V. Поставим ему в соот- соответствие массу М. При получении уравнений движения для час-
3.1.3. МД ансамбля при постоянных Т и (или) Р 65 тиц и объема возьмем далее PJ/ в качестве потенциальной с энергии, соответствующей новой динамической переменной [59, 65, 66]. Лагранжиан тогда примет вид Ur,'r,V,V) = \ I mr\ - Щг) + \MV2 + P£V. i Конечно, переменные г и V независимы. Если система сдавли- сдавливается, расстояния между частицами изменяются (см. теорему 3.5). И наоборот, если расстояния между частицами меняются, изменяется и давление. Заменим координаты г. частицы на нормированные координаты р • р. = r/VV3 = r/L C.65) Теперь все компоненты радиус-векторов частиц являются без- безразмерными числами из единичного интервала [0,1]. При этом интегралы от г. по флуктуирующему объему V заменяются на интегралы от р по объему единичного куба. Принимая C.65), мы делаем неявное предположение, что это соотношение выпол- выполняется в каждой точке пространства. Из-за этого последова- последовательная физическая интерпретация такого подхода отсутст- отсутствует. Уравнение C.65) связывает динамическую переменную г с объемом. Взяв первую производную по времени, получим г. = Lp. '+ pL C.66) В равновесии изменения объема могут рассматриваться как медленные. Поэтому можно взять р/пг = Lp. C.67) в качестве сопряженного импульса для р., и лагранжиан при- принимает вид Це.ё.У,Р) = \i2t ™i>\ - u(Lp) + \ж2 + pev. i Напомним (гл. 2), что во внутренней динамике системы можно ожидать проявления эффектов, связанных с модификацией уравнений. Статистические характеристики системы, однако, не должны изменяться. Отметим здесь, что потенциальная
66 3. Детерминистические методы энергия зависит лишь от истинных координат г, а не от новых Q. Несколько вольно гамильтониан системы записывается как [65, 66] L\ .2 MV2 Н = - Г тр2 + U(Lp) + + PPV. C.68) 2 . ' 2 L i Здесь М - пока еще свободный параметр, о котором речь будет идти ниже. После записи гамильтониана следующей задачей яв- является получение уравнений движения частиц в объеме. Эти уравнения будут связанными. В ньютоновской формулировке они имеют вид d2p. F . 2 V d2V P-P~ —Г = — Рг —2 = -> C69) dr ml 3 V l dt2 M где давление Р вычисляется из вириала Я = CL) [£ mp^ + IL.F;]. C.70) / I < I Эти уравнения дают фиксированное среднее давление. При моделировании используются две системы координат. Первая - система нормальных координат. Вычисление сил, энергии и других структурных величин должно выполняться в этой систе- системе. Вторая система координат - с нормированными координата- координатами - используется для расчета эволюции системы. Для C.69) и C.70) можно немедленно записать алгоритм расчета. Это потребует лишь небольших изменений алгоритма в аддитивной форме. Однако существует проблема, обусловленная появлением первой производной в правой части уравнения C.69). Напомним, что алгоритм был получен для уравнений вида d2r/dt2 = f(r). Предполагая, что алгоритм после включения в него первой производной, т. е. скорости в правой части уравнения, все еще численно стабилен, получим для положений частиц и объ-
3.1.3. МД ансамбля при постоянных Т и (или) Р 67 ема на временном шаге л+1 h2 Fn h2 Vn pn+1 = pn + hpn + pn, 2 mLn 2 Vn C.71) h2 Pn-PF 2 M Для вычисления скоростей перепишем C.71) в виде h2 Fn h2 Vn = hpn + pn p. 2 mL" 2 Кя C.72) Л2 Р"-Я + £. 2 M Следующий шаг состоит в вычислении (Л /2)Fn+ и f(f ,)■ На этой стадии встает другая проблема. При вы- вычислении давления на («+1)-м шаге требуются скорости на (п+1)-м шаге! Для того чтобы обойти эту проблему, возьмем скорости частиц при оценке кинетической энергии. С исполь- использованием этого приближения, уравнения для скоростей примут вид h2 2 mLn+^ 1 Л2 P h2 Vn 2 K" n + 1 p +1 A/ +1 " £ n+1 C.73) 2 M Заметим, что четкого доказательства правильности данной процедуры не существует. С учетом вышесказанного сформулируем алгоритм следующим образом. Алгоритм А5 Молекулярная динамика NPH-ансамбля 1. Задать начальные положения частиц и их коордианты. 2. Задать начальный объем V0, соответствующий требуемой плотности. 3. Задать начальную скорость для объема, например V = 0.
68 3 Детерминистические методы 4. Вычислить согласно C.71) р"+1 и V"+1. 5. Вычислить частные производные скоростей для частиц и объема согласно C.72). 6. Вычислить силы и потенциальную часть вириала. 7. Вычислить, используя частные производные, давление рп+\ 8. Вычислить объемную скорость. 9. Вычислить скорости частиц, используя их частные про- производные. Изучим работу приведенного алгоритма в следующем примере. П р и м е р 3.3 ■ Для проверки алгоритма А5 снова выберем систему #=256 аргоноподобных частиц и возьмем радиус обрезания потенциала г =2,5. Начальные условия для положений частиц и их скорое- тей идентичны использованным в предыдущих примерах. Положим опорную температуру 7* = 2,53 и начальную плотность р* = = 0,636. Для достижения системой равновесия, т. е. для дос- достижения опорной температуры, все скорости нормируются каж- каждые 50 шагов. Рассмотрим выбор массы М. Из рис. 3.9 видно, что началь- начальные условия таковы, что система предрасположена к сжатию. Отрицательное давление имеет физический смысл, поскольку начальные условия, вообще говоря, не соответствуют равнове- равновесию. В равновесии давление положительно. При выборе слишком маленькой массы сжатие приводит к катастрофическому измене- изменению объема. Аналогичное наблюдение было сделано Смитом [67]. В специальных случаях, результаты которых отображены на рис. 3.9 и 3.10, масса М* была равна 0,01 (отметим, что М* = Мр /т - приведенная масса). С другой стороны, если масса слишком велика, объем, занимаемый системой, испытыва- испытывает длинноволновые флуктуации [66]. В нашем случае система также демонстрирует флуктуации на протяжении многих МД-шагов для любой конечной М, что и ожидается на самом де- деле [65]. Величина М определяет временную шкалу флуктуации объема.
313 МД ансамбля при постоянных Т и (или) Р 69 Рис. 3.9. Эволюция внутреннего приве- приведенного (релаксация к значению, задан- заданному внешним давлением) (а) и усред- усредненного (б) давлений системы при моде- моделировании NPH-янсамбля 44-6,00 5 -2,87 t, МД-шаг 200 301,50 200 Рис. 3.10. Эволюция приведенного объ- объема системы при МД-моделировании Л^ЯЯ-аисамбля Интересным является релаксационное поведение давления (рис. 3.9). Большие начальные флуктуации уменьшаются очень быстро. Поведение среднего приведенного давления (усреднен- (усредненного по времени) показывает, что выход давления на постоян- постоянный уровень происходит достаточно рано. Тем не менее, флук- флуктуации все еще существуют. Их величина зависит от выбранной массы М* (см. также работу Хайле и Грабена [66]). ■ В алгоритме молекулярной динамики Л^РГ-ансамбля имеется один свободный параметр - масса М. В примере было показано, что его значение влияет на релаксацию в равновесное состоя- состояние. При этом изменяются не только давление и объем, но также и кинетическая энергия [66] (заметим, что в равнове-
70 3 Детерминистические методы сии давление релаксирует существенно быстрее, чем темпера- температура [19]). К сожалению, критерия для соответствующего выбора М не существует. Действительно, выработать его трудно. Как пока- показано в примере, масса М должна зависеть от точных начальных условий. Более того, пока не установлено, как сильно дина- динамические характеристики системы, такие, как коэффициенты переноса, зависят от массы М. Статистические же характерис- характеристики системы от М не зависят [65, 66]. Для того чтобы описанное влияние было как можно меньше, масса М должна быть мала. Это требование, таким образом, желательно включить в алгоритм, шаг за шагом изменяющий М. Первоначально масса М должна быть большой для компенсации отрицательного давления и затем постепенно должна умень- уменьшаться при переходе системы в равновесие. Отсюда следует, что масса М должна быть связана с разницей давлений. До настоящего времени мы рассматривали ансамбль, для ко- которого число частиц, давление и энтальпия являются незави- независимыми термодинамическими переменными. Такой ансамбль встречается достаточно редко, поэтому вместо постоянной эн- энтальпии введем постоянную температуру ансамбля. 253,83 13,95 -283,76 О 1000 1000 t, МД - шаг t, МД - шаг Рис. 3.11. Полная внутренняя энергия Е как функция времени Рис. 3.12. Эволюция приведенного давления во время МД моделирования NPT- ансамбля
3 13 МД ансамбля i постоянных Т и (или) Р 71 475,26 f 300,79 473,26 1000 Рис. 3.13. Эволюция приведенного объема (а) и его среднего значения (б) прн МД-моделировании Л/РГ-ансамбля В разделе 3.1.2 постоянство температуры ансамбля во вре- время МД-эксперимента достигалось путем нормировки скоростей всех частиц на каждом временном шаге. Это приводило к тому, что кинетическая энергия стремилась к фиксированному значе- значению и тем самым обеспечивалась требуемая температура (алго- (алгоритм А4). Та же идея может быть использована и в NPT-алгоритме. Объединим алгоритм для постоянного давления, описанный выше, с нормировкой скоростей. Алгоритм А6 Молекулярная динамика NPT-ансамбля 1-9. Как в алгоритме А5. 10 Нормировать все скорости, как на шаге 6 алгоритма А4. Алгоритм А5 требует, конечно, только тривиального изме- изменения, поскольку именно нормировка скоростей на каждом шаге приводит к возможности достижения системой равновесной фазы. Пример 34 ■ Начальные условия в данном примере взяты такими же, как и в предыдущем. Вместо нормировки скоростей каждые 50 МД-шагов осуществляется нормировка на каждом шаге.
72 3 Детерминистические методы На рис. 3.11 показана полная внутренняя энергия £* = £* + и*. Как и в примере 3.2, она релаксирует очень быстро. Быстрая релаксация проявляется также в поведении давле- давления (рис. 3.12) и объема (рис. 3.13). ■ Задачи 3.1. Граничное условие усеченного октаэдра [68, 69] по- получается при усечении углов куба размером 2А до половины своего объема. Как ввести для такой ячейки обрезание потен- потенциала? Предположим, что мы хотим его ввести таким же обра- образом, как и для кубической ячейки со стороной 2L. Каким дол- должен быть при этом выбран размер А? Что это за объем? Пред- Предложите вычислительный алгоритм для граничного условия усе- усеченного октаэдра. 3.2. Напишите программу для решения задачи о движении тела под действием упругой силы, используя обратный алго- алгоритм Эйлера u(t+h) = u(t) + hK(u(t+ti),t+h). 3.3. Покажите, что уравнения C.38) математически экви- эквивалентны алгоритму Верлета. 3.4. Существует еще один вариант алгоритма Верлета с погрешностью О(А ), называемый алгоритмом в ступенчатой формулировке: vft+h/2) = vft-h/2) + hFft)/my rft+h) = r ft) + hvft+h/2), vft-h/2) = (\/h)[rft) - rft-h)], vft) = {\/2)[v ft-h/2) + vft+h/2)]. Покажите формальное равенство между алгоритмом Верлета и данным алгоритмом. 3.5. Какие из значений параметров о* = 0,3405 нм, €/kB = 119.8K, m = 6,63382-106кг, р* = 0,83134 и гс = 2,5 являются ошибочными для системы из N = 64 частиц? 3.6. Покажите, что для леннард-джонсоновской системы нормировочные множители для времени и координат равны
Задачи 73 (таг/48€) и сг соответственно. Кроме того, покажите, что приведенная температура Г* = kS/€. В чем состоит аналогия между приведенным давлением и энтальпией? 3.7. Реализация процедуры Верлета по включению в процесс вычислений только частиц внутри шара радиуса г основывает- основывается на следующем соотношении: г - г < nvh, т с где v - средняя скорость. Можете ли вы доказать его? 3.8. Реализуйте таблицу ближайших соседей, изменив про- программу расчета леннард-джонсоновской системы, приведенную в приложении 2. 3.9. Используйте обобщенную силу, не являющуюся произ- производной обобщенного потенциала, и получите уравнения движе- движения, дающие постоянную кинетическую энергию.
ГЛАВА 4 СТОХАСТИЧЕСКИЕ МЕТОДЫ В этой главе речь пойдет о применении стохастических ме тодов для вычисления интересующих нас величин Эти методы могут иметь точки соприкосновения с детерминистическими ме тодами Броуновская динамика, например, объединяет их в ви де гибридной методики Существуют, однако, и полностью сто хастические методы, такие, как метод Монте Карло (гл 1) Стохастические методы построены на концепциях, развивае мых в теории вероятностей и статистической механике Они позволяют рассматривать не только задачи, вероятностные по своей природе, типа случайного блуждания, но и детерминиро ванные задачи Все это расширяет область применения стохас тических методов, делая их гибким и мощным инструментом ис следования в вычислительной физике Одним из ключевых элементов при стохастическом моделиро вании является концепция марковского процесса, или марков ской цепи, которая будет кратко обсуждена в следующем раз деле Для более фундаментального введения читатель должен обратиться к стандартным учебникам по теории вероятностей или вводным курсам по теории марковских процессов 4.1. Предваряющие замечания Стохастические методы используют важную концепцию мар ковского процесса, или марковской цепи, которая представле на здесь в виде очень краткого введения В известном смыс ле, марковский процесс является вероятностным аналогом про цесса в классической механике Марковский процесс (цепь) характеризуется отсутствием памяти, т е статистические
41 Предваряющие замечания 75 характеристики ближайшего будущего определяются исключи тельно настоящим, без учета прошлого До формального описания продемонстрируем на примере, что такое марковская цепь Предположим, что частицы первона чально размещены в произвольных позициях решетки На каждом временном шаге частица «прыгает» в одну из ближайших пози ций Возьмем для простоты двумерную решетку Тогда на каждом временном шаге существенно, что частица имеет воз можность выбора направления прыжка в любое из четырех бли жайших мест После прыжка частица не помнит, откуда она прыгнула' Или наоборот, частица может помнить, откуда она прыгнула, и избегать при прыжках пересечения своей траекто рии Первый случай соответствует случайному блужданию час тицы, а последний - блужданию без самопересечений Случайное блуждание является марковской цепью Результа том на каждом шаге является новое состояние системы, и дви жение частицы по поверхности представляется в виде последо вательности состояний системы Переход из одного состояния в другое зависит только от предыдущего состояния или, гово ря другими словами, вероятность нахождения системы в состо янии i зависит только От предыдущего состояния t-1 В последующих разделах мы будем рассматривать последова тельность состояний -О' ' -п* системы, аналогичные генерируемым с помощью уравнений дви жения, только здесь состояния системы изменяются во времени вероятностным образом Вместо непрерывной переменной время в этом случае рассматривается дискретно, обычно в виде це пи Каждое состояние х является результатом испытания, т е случайная переменная X принимает значение х с абсо лютной вероятностью а Пусть состояния xQ, , х ^ фик сированы при определенных значениях Вероятность появления состояния х задается фиксированным значением, называемым условной вероятностью
76 4. Стохастические методы Марковская цепь определяется формально следующим образом. Определение 4.1 Последовательность xQ, ..., х ,, ... называется марков- марковской цепью, если для любого п Результат любого испытания зависит от предшествующего испытания и только от него. По индукции легко показать, что вероятность появления последовательности xQt ..., х равна Благодаря этому свойству условные вероятности называются вероятностями одношаговых переходов или просто вероятностя- вероятностями переходов. Для удобства записи примем следующее обозна- обозначение вероятности перехода: или в несколько иной форме Р.. = Р(хг>х). Весьма важным свойством марковской цепи для применений в вычислительной физике является существование инвариантного распределения состояний системы. При применении стохасти- стохастических методов обычно стартуют с начального состояния х_, чья абсолютная вероятность а» также задана изначально. В конце концов состояния распределятся в соответствии с за- заданным распределением. Например, фиксируя температуру, мож- можно генерировать состояния, соответствующие тепловому равно- равновесию: Р(х.) « ехрС-ЯЦ.)/*/]. Для гарантии того, что независимо от начального распре- распределения распределение после достаточно длительного времени (время измеряется числом сгенерированных состояний) было бы практически инвариантным, на вероятности переходов должны
4.1. Предваряющие замечания 77 быть наложены определенные условия. До обсуждения этого мо- момента мы дадим формальное определение инвариантности рас- распределения. Определение 4.2 Распределение вероятности (и.) называется инвариантным или стационарным для заданной марковской цепи, если удовлетворяются следующие условия: 1) для всех k uk > 0, 2) I «* - I- 3>«, -1 «Лг ./ Рассматривая вероятности переходов в виде матрицы (стохастическая матрица), можно показать, что инвариантным распределением будет ее левый собственный вектор с единич- единичным собственным значением. Если сгенерированные состояния являются равновесными состояниями рассматриваемой системы, должно выполняться ус- условие эргодичности. Чтобы дать его точное определение в контексте марковских цепей, нужно сделать ряд замечаний. Пусть М/ обозначает вероятность перехода из состояния х. в состояние х. за п шагов, т. е. вероятность л-шагового пе- перехода. Состояние х может быть получено из xf если существует такое п > 0, что PY/ > 0. Цепь является неприводимой толь- только в том случае, если каждое ее состояние может быть полу- получено из каждого другого ее состояния. Это, очевидно, будет необходимо для применений метода. Если же цепочка является приводимой, последовательность состояний будет разбиваться на классы, между которыми переходы отсутствуют. Рассмотрим систему с четырьмя состояниями, имеющую сле- следующую стохастическую матрицу: 1/2 1/4 0 1/4 0 1/3 2/3 0 0 10 0 1/2 0 1/2 0
78 4. Стохастические методы Переход из состояния с номером 1 в состояние с номером 4 происходит с вероятностью 1/4, в то время как переход из состояния 4 в состояние 1-е вероятностью 1/2. Эта матрица не является неприводимой! Перехода из состояния 2 в состоя- состояние 1 или 4 не существует. Если начальное состояние системы 2 или 3, все последующие состояния будут либо 2, либо 3. Ситуация более ясно иллюстрируется в диаграммной форме, где вероятности пребывания системы в данном состоянии опущены: 1/4 1 > 2 1/4JJ1/2 1JJ2/3 4 > 3 1/2 Достигнув однажды состояния 2 или 3, система попадает в ло- ловушку. Состояние х. имеет период t > 1, если Р\) = 0 до тех пор, пока п = zt кратно t, a t - наибольшее целое число с этим свойством. Состояние является апериодическим, если та- такого t не существует. Пусть /'"' обозначает вероятность того, что в процессе, стартующем из х., первый переход в х. осуществляется на л-м шаге. Кроме того, пусть 00 00 /(°) = о, /.. = У /<?>, ц. = У nfW. Тогда /.. есть вероятность того, что, стартуя из состояния х„ система пройдет через состояние х.. В случае /.. = 1 состояние х. называется устойчивым, a j±. - средним возврат- возвратным временем- Теперь мы можем точно сформулировать понятие эргодич- эргодичности. Определение 4.3 Состояние х. называется эргодическим, если оно является апериодическим и устойчивым с конечным средним временем возврата. Марковская цепь, состоящая только из эргоди- ческих элементов, называется эргодической.
4.2. Броуновская динамика 79 Для приложений в вычислительной физике следующая теорема является основной [1]. Теорема 4.4 Неприводимая апериодическая цепь имеет инвариантное рас- распределение только тогда, когда она является эргоди- ческой. В этом случае и, > 0 для любых к и абсолютные вероятности стремятся к и, вне зависимости от начального распределения. При этих условиях можно быть уверенным, что состояния марковской цепи, в конечном счете, распределятся в соответ- соответствии с некоторым уникальным распределением. Более того, начальное распределение при этом не играет роли. 4.2. Броуновская динамика Перед обсуждением чисто стохастических методов рассмот- рассмотрим смешанные методы. Они включают в себя детерминистиче- детерминистическую часть, состоящую в интегрировании уравнений движения, содержащих стохастические силы, возмущающие траекторию сис- системы в фазовом пространстве. В методе МД все степени свободы берутся в расчет, приво- приводя к классическим уравнениям движения системы частиц. Тра- Траектория в фазовом пространстве получается путем численного интегрирования уравнений движения с заданными начальными условиями. Характеристики системы вычисляются затем вдоль ее траектории. При компьютерном моделировании методами сто- стохастической динамики, особым представителем которых являет- является броуновская динамика (БД), ряд степеней свободы учитыва- учитывается только через их стохастическое действие на другие сте- степени. Предположим, что система частиц взаимодействует с вязкой средой. Вместо задания детального характера взаимодействия частицы системы с частицами вязкой среды, представим среду в виде стохастической силы, действующей на частицу. Стохас- Стохастическая сила уменьшает размерность системы. Все алгоритмы БД, описанные ниже, приводят к задаче ге- генерации в фазовом пространстве траекторий с постоянной тем- температурой. Пренебрежем детальным взаимодействием частиц с
80 4 Стохастические методы тепловым резервуаром, заменив его стохастической силой. Тогда метод БД можно определить следующим образом [2]. Определение 4.5 Метод БД расчитывает в фазовом пространстве траекторию ансамбля молекул, движение каждой из которых в поле силы описывается уравнением Ланжевена. Как и для метода МД, можно рассматривать точечные части- частицы и частицы с субструктурой. Остановимся здесь на системе точечных частиц, оставив в стороне алгоритмы для моделиро- моделирования полимеров. Методы БД предназначены для систем, описываемых стохас- стохастическими дифференциальными уравнениями. В предыдущей главе уже были получены алгоритмы для решения задачи типа du(t)/dt = K(u(t),t), где К - детерминированная функция (типа 1 или 2). Пусть те- теперь К зависит от случайной функции (тип 3). Поскольку мы не интересуемся существованием и единственностью решения, предположим, что такое решение существует. Хотелось бы связать систему частиц с тепловым резервуа- резервуаром. Частицы системы взаимодействуют между собой посредст- посредством некоторой детерминистической силы. Рассмотрим свободную частицу, уравнение движения которой (уравнение Ланжевена) имеет вид [3, 4] mdv/dt = R(t) - &v. D.2) Правая часть уравнения описывает взаимодействие частицы с тепловым резервуаром. Действие случайной силы R(t), кото- которую мы обсудим ниже, вызывает нагрев частицы. Во избежание перегрева частицы включено трение. Решение уравнения Ланже- Ланжевена формально может быть записано как t Г Р 1 х Г Г 0 v(t) = v@)exp\—t\ + - ехр — (t-т) I ml mi \ m D.3) 0 Интеграл в правой части является стохастическим интегралом, и решение v(t) - стохастической переменной. Стохастические
4 2 Броуновская динамика 81 свойства решения в существенной степени зависят от стохас- стохастических характеристик случайной силы /?(/) и в меньшей сте- степени от начальных условий. В дальнейшем мы можем использо- использовать утверждение [5], что Г Э 1 1 V Г & 1 <v(t)> = <t/@)>exp —1\ + — ехр —(t-T) </?(x)>dx. D.4) 0 Пусть теперь </?(/)> = 0. D.5) Усреднение здесь означает усреднение по равновесному ан- ансамблю. Далее потребуем, чтобы в различные моменты времени t ■*■ V случайная сила была некоррелирована: <R(t)R(t')> = qd(t-t'). D.6) Здесь необходимо определить силу шума q. Это можно сде- сделать, рассматривая спектральную плотность- Спектральная плотность случайной функции z(t) является обычно фурье-пре- образованием, которое, в свою очередь, также является слу- случайным. Предположим, что z(t) - стационарный процесс на от- отрезке времени @,tQ), тогда его спектральная плотность оп- определяется как [4, 6] 2|Л(/)|2 G(f) = lim — , D.7) 'О*00 'о где t МП = J z(t)exp(-2nift)dt. о Спектральная плотность z(t) связана с корреляционной функ- функцией <z(f)z(/+T)> теоремой Винера-Хинчина. Для задачи D.2) предположим, что = 0, <z(t)z(t+T)> = qd(T). Тогда + 00 Gjif) = 2 J exp(-2irt/T)<73(T)dT = 2<7, -00 т. е получим белый спектр. Рассмотрим спектральную плот- плотность функции v(t), являющейся решением уравнения D.2).
82 4. Стохастические методы Проведя фурье-преобразование обеих сторон D.3) и взяв мо- модули, получим 2q ГСР12 о! т2 [[т] J При этом имеют место два следствия. Первое заключается в том, что среднее значение квадрата скорости равно оо <Л = J Gv(f)df = —. D.9) Для выполнения условия <v > = kj/m необходимо, чтобы <7 = 2Э*5Г D.10) Второе следствие определяет вид корреляционной функции р(т) = <и@^+т)>/<гА. D.11) Используя снова теорему Винера-Хинчина, получим р(т) = ехр — т , D.12) т т. е. корреляция между скоростями уменьшается экспоненци- экспоненциально с характерным релаксационным временем т//3. Перед тем как вернуться к основной задаче, определим вид распределения R(t). Для получения броуновского движения важно, чтобы R(t) имела гауссово распределение [4]. Теперь напомним нашу задачу: найти решение стохастического диффе- дифференциального уравнения dv Э 1 — + -v = —R(t) dt m m с дополнительными условиями </?(/)> = 0, <R(t)R(O)> = 2|3£ Td(t), 9 1/9 О <> ( P(R) = Bn<R>y/2exp(-R2/2<R2>). Так как R(t) имеет гауссово распределение, это означает, что v(t) также распределена по Гауссу. Является ли при этом
4 2. Броуновская динамика 83 v(t) марковским процессом [7]? Теорема 4.6 Одномерный гауссовский процесс будет марковским, только когда корреляция р(т) = ехр(-ат), т. е. его спектр должен иметь вид (а2 + б2)"' Аналогичная теорема имеет место для «мерных гауссовских процессов [8]. Стохастические столкновения индуцируют пере- переходы, при которых условные вероятности перемножаются. Для наших приложений важно, что, как можно показать [4], v(t) имеет инвариантное распределение P(v) = B&mkBTy]/2exp(-v2/2mkBT), т. е. распределение Максвелла! Ограниченное распределение приводит к корректному распределению, необходимому для ал- алгоритма моделирования ансамбля с постоянной температурой. До разработки численного алгоритма необходимо рассмот- рассмотреть времена корреляции скорости и случайной силы, которые определяются как 00 К = <t;2>1 J <u('M0)>d/, D.14) о 00 tR = <R2>-] J <R(t)R(O)>dt. D.15) 0 Времена корреляции подчиняются соотношению [2] UR = <Am2/<#2>. D.16) Для специального случая, рассматриваемого здесь, to = m/0, tR = fikJ/<R?>. D.17) Разумно потребовать, чтобы время корреляции случайной силы было много меньше времени корреляции скорости: '« « V <4Л8>
84 4 Стохастические методы Напомним, что численный алгоритм решения уравнения дви- движения включает конечный размер шага h по времени, т. е. x(t) -> x(t+h), v(t) -» v(t+h). Предположим, что в течение временного шага h частица посто- постоянно подвергается действию случайной силы с временем корре- корреляции h. Перед каждым шагом интегрирования п -> п+\ случай- случайная сила R выбирается из гауссова распределения с нулевым средним значением и отклонением <R > согласно D.13). Все дополнительные требования при этом удовлетворяются. Тогда <R > можно определить из D.17) с временем корреляции tR-h: </?2> = $kBT/h. D.19) Алгоритм А7 Броуновская динамика 1. Задать начальную координату и скорость. 2. Получить случайное число из распределения Гаусса с нулевым средним значением и дисперсией, определяемой D.13). 3. Интегрировать скорость для получения vn+ . 4. Добавить случайную компоненту к скорости. Этот алгоритм может быть обобщен на случай ансамбля час- частиц, включая и регулярные силы [9-18]. Здесь же мы будем изучать другой метод [3.65] получения постоянной температу- температуры в системе. Отличный от рассмотренного этот способ учета взаимо- взаимодействия системы с тепловым резервуаром состоит в том, что- чтобы подвергнуть частицы системы столкновениям с виртуальными частицами [3.65]. Такие столкновения вызывают изменение только импульса частиц, следовательно, они изменяют кинети- кинетическую энергию и привносят флуктуации в полную энергию. Эта идея реализуется путем введения в уравнения Гамильтона сто- стохастической силы: dr /dt = дН/др = р /т, D.20) dp/dt = -дН/дг. = F. + R(t).
4 2. Броуновская динамика 85 Предполагается, что каждое случайное столкновение явля- является мгновенным событием, затрагивающим только одну части- частицу, и что процесс является пуассоновским. Интервалы време- времени, в течение которых частица испытывает столкновения, рас- распределены как P(t) = vexp(-vt), D.21) где V - средняя скорость столкновений. Заметим, что при та- таком подходе не используется сила трения. Алгоритм А8 Броуновская динамика 1. Выбрать временные интервалы согласно D.21). 2. Интегрировать уравнения движения Гамильтона до момен- момента случайного столкновения. 3. Если номер частицы, испытывающей столкновение, равен /, выбрать ее импульс случайным образом из больцма- новского распределения при температуре Т. 4. Вернуться к шагу 2. Можно показать [3.65], что при определенных условиях данный алгоритм генерирует марковскую цепь и что временное усреднение любой величины А, вычисленной вдоль сгенериро- сгенерированной траектории, эквивалентно усреднению по каноническому ансамблю: Л = <A>tm. D.22) Пример 4.1 ■ Возьмем снова в качестве примера хорошо знакомую нам систему из N = 256 атомов аргона. В частном случае, рас- рассматриваемом здесь, параметры компьютерного эксперимента были следующие: Т* = 0,722, р* = 0,83134. Обрезание потен- потенциала осуществлялось на радиусе г =2,5 сразу до нуля. Моделирование системы осуществлялось в течение 1000 МД- шагов. Каждые 20 шагов из больцмановского распределения с 7* = 0,722 выбирались новые скорости. Метод генерации тако- такого распределения приведен в приложении 2.
86 4 Стохастические методы -1220 - -1320 -1700 500 550 800 t, МД-шаг Рис. 4.1. Полная (а), кинетическая (б), потенциальная (в) приведенные энергии системы как функции време- времени в БД-эксперименте при Т = 0,722, р*= 0,83134, г = 2,5 Через каждые 20 шагов производилась замена ско- скоростей частиц на новые из больцма- новского распределения случайным образом На рис. 4.1 показана релаксация приведенных кинетиче- кинетической, потенциальной и полной энергий системы. Как и в слу- случае обычной МД (см. пример 3.2), здесь быстро достигается равновесное значение кинетической энергии. За время прове- проведения эксперимента потенциальная энергия не достигает рав- равновесного значения. Соответственно, его не достигает и пол- полная энергия.
4 3 Методы Монте-Карло 87 В изложенном выше подходе при достижении системой посто- постоянной температуры ее траектория не является гладкой. Каждый раз при замене скоростей на новые траектория испытывает возмущение. Отсюда возникает вопрос, как такие возмущения влияют на динамические характеристики исследуемой системы. 4.3. Методы Монте-Карло С методом МонтеКарло (МК) мы познакомились в самом пер- первом примере компьютерного эксперимента (гл. 1). В нем ста- ставилась задача оценки порога перколяции р . Для этого гене- генерировались конфигурации с использованием случайного процес- процесса. Каждый раз решетка заполнялась по результатам работы генератора случайных чисел и анализировалась на предмет об- образования перколяционного кластера. В результате были полу- получены зависимости вероятности перколяции Pm(p,L) как функции концентрации занятых узлов и размера решетки. Существенным моментом такого подхода является получение порога перколя- перколяции как результата усреднения по многим конфигурациям. Дру- Другими словами, выбирается пространство всех возможных конфи- конфигураций системы и вероятность перколяции получается как ожидаемое значение. Вычисление ожидаемых значений и состав- составляет самую суть метода МК. Перед тем как продолжить рассмотрение, дадим общее опре- определение методу МК, применимое не только в контексте вычис- вычислительной физики, но и в контексте вычислительной математи- математики [19]. Определение 4.7 Метод МК - метод, дающий решение задачи в виде параметра гипотетической популяции. Статистические оценки парамет- параметра могут быть получены из анализа выборки, сгенерирован- сгенерированной с помощью последовательности случайных чисел. Это определение показывает, что область применения мето- метода МК весьма обширна. Многие задачи, кажущиеся с первого взгляда не подходящими для их решения с помощью метода МК, могут быть трансформированы в стохастические задачи. Здесь мы сконцентрируем наше внимание на применениях метода МК к
88 4 Стохастические методы задачам статистической механики. Приложения метода в других областях описаны в [20, 21] и в ссылках к этим работам. Для вычисления характеристик физической системы до нас- настоящего момента использовались фундаментальные уравнения движения, позволяющие генерировать траекторию системы в фа- фазовом пространстве. Интересующая нас величина вычислялась затем вдоль траектории системы. При этом она была, конечно, равна среднему значению по ансамблю в соответствии с фунда- фундаментальным соотношением B.3), утверждающим, что усреднение по траектории эквивалентно усреднению по ансамблю. Метод МК в вычислительной физике использует другой подход. В этом подходе система сначала описывается с помощью модельного гамильтониана, затем выбирается подходящий для задачи ан- ансамбль. После этого все характеристики системы вычисляются, ис- используя связанную с этим ансамблем функцию распределения и статистическую сумму. Идея подхода состоит в том, чтобы отобрать основные вклады в оценку наблюдаемой переменной. Метод МК в статистической физике базируется на вычисле- вычислении математических ожиданий. При этом конечная цель мето- метода - вычисление величин, являющихся результатом многок- многократного интегрирования. Достаточное понимание проблемы появляется, однако, уже при решении простейшей задачи однократного интегрирования. Она формулируется следующим образом: вычислить для данной функции f(x) (а ^ х ^ Ь) ин- интеграл 6 / = J f(x)dx. D.23) а Можно переформулировать эту задачу в терминах усреднения и, таким образом, изменить характер задачи с детерминисти- детерминистического на стохастический. По теореме о среднем значении </(*)> = 1/(Ь-а). D.24) Интеграл D.23) может быть вычислен путем выбора п слу- случайных точек х., распределенных равномерно в интервале
4 3. Методы Монте-Карло 89 [а,Ь], с последующим усреднением с весами f(x.): Ьг b~a I I = Г f(x)dx « I f(x). D.25) a i Такой подход является примером прямой выборки- При этом правомерно задать вопрос о сходимости данного метода. Во- Вопрос не противоречит выражению D.24). Последнее является следствием сходимости в контексте численных методов, отлич- отличной от сходимости в контексте статистических методов. Схо- Сходимость в численных методах означает, что для любого сколь угодно малого е всегда найдется элемент интегрирования внутри е-окрестности. Сходимость в статистических методах этого не гарантирует. Она гарантирует лишь, что всегда най- найдется такое случайное число, вероятность появления которого лежит в е-окрестности. Теорема 4.8 Закон больших чисел Пусть х, ..., х - случайные переменные, выбранные в соответствии с функцией плотности вероятности \i{x), удовлетворяющей соотношению +00 \i{x)dx = 1. I -00 Предположим также, что +00 / = J f(x)u(x)dx -со существует. Тогда для любого е > 0 п lim р\ 1-е * n~]J f(x.) s /+е ) = 1. Данная теорема гарантирует сходимость метода. Кроме того, не требуется генерировать большое число выборок конечной длины, а достаточно сгенерировать лишь одну. Теорема 4.9 Усиленный закон больших чисел п Р{ lim n\ f(x) = / } = 1.
90 4. Стохастические методы Теорема утверждает, что для достаточно большой выборки ис- искомое значение интеграла равно единице. Второй вопрос состоит в оценке погрешности, обусловлен- обусловленной конечностью выборки, если последняя имеет длину п. Не останавливаясь на этом подробно, отметим, что сказанное вы- выше верно, если случайные переменные коррелированны, как в случае марковской цепи [22]. Теорема 4.10 Центральная предельная теорема Пусть + 00 0-2= £ц[(/(х)-/J] = J f\x)v(x)dx - Г -со является отклонением f(x). Тогда п +Л = Bтг)~1/2 Jexp(-*2/2)dJc + O(n~v2). -Л Для заданного доверительного интервала верхняя граница погрешностипропорциональна о* и обратно пропорциональна квадратному корню из п. Сходимость в том понимании, как это описано выше, оказывается весьма медленной. Увеличение дли- длины выборки п в 100 раз уменьшает погрешность лишь в 10 раз! Для практических целей сходимость прямой выборки очень мед- медленная. Наряду с п имеется другой параметр, позволяющий уменьшить погрешность. В прямой выборке все точки, в которых вычисляется функ- функция, выбираются равномерно. При этом не делается никаких замечаний относительно вида функции. Если функция имеет большую вариацию, погрешность оценки по методу МК также бу- будет большой. И наоборот, если функция равномерная, оценка будет более эффективной. Пусть функция f(x) имеет максимум вблизи среднего значения. Хвосты функции при усреднении дают малый вклад, так что более эффективно выбирать функцию в тех точках, которые дают наибольший вклад. Предположим далее, что можно построить функцию р(х) > 0 такую, что она будет имитировать поведение функции f(x), однако может быть
3. Методы Монте-Карло 91 вычислена аналитически после соответствующей нормировки: Ь J p(x)dx = 1, р(х) > 0. . D.26) а Это означает, что Ь b f(x) I = Г f(x)dx = Г p(x)dx. D.27) а а ^к ' Точки х. можно выбрать в соответствии с вычисленными значениями p(x)dx вместо равномерного распределения и, соответственно, вычислить веса функции в точках х.. Среднее значение функции f(x) будет тогда равно Г^ !* D.28) f() ^ , Pi*;) Вычисляя вариацию, получим \f(x)l2 г г \f(x)l Без потери общности рассуждений, предположим, что f(x) > 0. Выбор реального вида функции р(х), определяющей распределение вычисляемых точек, зависит от нас. Для макси- максимального уменьшения вариации выберем функцию ь Р(х) « Н*)/\ К*)*** D3°) а для которой вариация практически равна нулю. Здесь мы вплотную подошли к идее предпочтительной выборки- Предпоч- Предпочтительно выбираются, в основном, те точки, которые дают до- доминирующий вклад в значение интеграла. Точки, лежащие на хвостах функции, появляются менее часто. Использование предпочтительной выборки приводит к уменьшению статисти- статистической погрешности без увеличения размера выборки. Однако здесь есть проблема, состоящая в том, что функция р(х) тре- требует предварительного знания интеграла. На время оставим эту проблему для выяснения спектра задач, которые могут быть решены с помощью метода МК-
92 4 Стохастические методы Основная задача статистической механики, которую мы хо- хотим решать, формулируется следующим образом. Пусть N - число частиц в системе. Свяжем с каждой части- частицей i набор динамических переменных (s(), представляющих собой степени свободы. Наборы ((sX ..., (*#)) описывают фазовое пространство П. Пусть х обозначает точку в Q. Пред- Предположим, что система описывается гамильтонианом Н(х), в ко- котором член с кинетической энергией опущен. Это возможно, так как вклад члена с кинетической энергией допускает ана- аналитическое рассмотрение. Требуется вычислить наблюдаемую величину А данной систе- системы. Пусть /(•) - функция распределения соответствующего ан- ансамбля, например канонического. Тогда А вычисляется как J A(x)f(H(x))dx, D.31) где Z = \ f(H(x))dx й - статистический интеграл. Напомним, что при описании сис- системы опущен член с кинетической энергией. Метод МК дает информацию о конфигурационных характеристиках системы, в отличие от метода МД, дающего также и динамические характе- характеристики. Метод МД дает информацию о временной зависимости и величине импульса и координат частиц. Путем выбора соответ- соответствующего ансамбля, такого, как канонический, метод МК позволяет вычислять наблюдаемые переменные при фиксирован- фиксированных числе частиц, объеме и температуре. Большое преимущест- преимущество метода МК состоит в том, что необходимое множество ансамблей легко реализуется, а сами ансамбли можно также изменять во время моделирования! При вычислении А мы столкнулись с проблемой вычисления многомерного интеграла D.31). Аналитически его можно взять только для ограниченного круга задач. В других случаях ин- интегрирование может быть выполнено с использованием числен- численных методов типа быстрейшего спуска. При применении метода МК для оценки интеграла не требуется никаких приближений
4 3 Методы Монте-Карло 93 кроме дискретности фазового пространства. Поэтому часто пе- переходят от интегралов к суммам. Для решения задачи используем методы одномерного интег- интегрирования, разработанные нами ранее. Предположим, что соот- соответствующий ансамбль является каноническим: f(H(x)) <* ехр[-Щх)/квГ\. Все состояния х, соответствующие большой энергии, дают ма- малые вклады в интеграл. Большие вклады дают только опреде- определенные состояния. Поэтому ожидается, что распределение име- имеет максимум в окрестности среднего значения Н(х). Теперь допустим, что мы вычислили интеграл D.31), случайным обра- образом выбирая состояния х и суммируя их вклады, аналогично D.25). Чем больше состояний будет сгенерировано, тем точ- точнее будет оценка. Однако, поскольку фазовое пространство является многомерным, необходимо огромное число состояний, вклады большинства из которых в сумму пренебрежимо малы. Для решения проблемы можно использовать идею предпочтитель- предпочтительной выборки. Как и в случае одномерного интегрирования, точки в фазовом пространстве выбираются при этом не чисто случайным образом. Они выбираются с вероятностью Р(х). Сформулируем эту мысль более формально. Первый шаг со- состоит в выборе состояний из фазового пространства случайным образом. Это дает приближение к интегралу (в предположении, что сгенерировано п состояний) п п <А> « I A{x)f{H{x)) / I /(//(*.)). D.32) i i Если состояния выбрать с вероятностью Р(х), то D 32) при- примет вид п lA(x.)p-\x.)f(H(x.)) <А> « -Ц- . D.33) Выбор Р(х) = Z~xf(H(x)), D.34)
94 4. Стохастические методы т. е. равновесного распределения, приводит к вариации, практически равной нулю. Здесь мы встретились с той же трудностью, что и для одномерного случая. Примем выбор D.34). Вычисление величины А сводится тогда к простому арифметическому усреднению А{х). D.35) i Используя идею предпочтительной выборки, можно значи- значительно уменьшить объем вычислений при решении задачи D.31). Отметим, что при выводе D.35) не было сделано ни- никаких дополнительных приближений. Сходимость же метода обеспечивает центральная предельная теорема. В дальнейшем необходимо предложить алгоритм, генерирую- генерирующий состояния, распределенные в соответствии с Р(х) = rlf(H(x)). Специальный выбор функции, уменьшающей вариацию, означает, что выбираются термодинамически равновесные состояния сис- системы. В то же время распределение состояний системы априори не известно. Чтобы избежать проблемы, с которой столкнулись Метрополис и др. [23], будем использовать такую марковскую цепь, что начиная с состояния xQ все последующие состояния генерируются распределенными согласно Р(х). Последователь- Последовательные состояния такой марковской цепи таковы, что последующее состояние лежит около предыдущего. Это означает, что между последовательными состояниями имеется хорошо определенная корреляция. Марковская цепь является вероятностным аналогом траектории, сгенерированной при помощи уравнений движения в методе МД. Зададим вероятности перехода системы из состояния х в состояние х' в единицу времени. В приложениях метода МК ве- вероятность перехода обозначается обычно как W(x,x'). Для га- гарантии того, что состояния распределятся, в конечном счете, в соответствии с Р{х), т. е. что они являются термодинами- термодинамически равновесными состояниями, на W(x,x') должны быть на-
4.3. Методы Монте-Карло 95 ложены ограничения (теорема 4.4). Ограничения 4.11 1. Для всех дополнительных пар (S,S) наборов точек фазо- фазового пространства существуют х € S и х' € S такие, что W(x,x') * 0. 2. Для всех х, х': W(x,x') > 0. 3. Для всех х. £ W(x,x') = 1. 4. Для всех х. £ Щх,х')Р(х') = Р(х). Рассмотрим эти ограничения. Первое из них есть утвер- утверждение связности или эргодичности, а второе - ограничение положительности вероятности. Термин «эргодичность» не про- противоречит своему значению в физике, поскольку они ясно свя заны. Мы поговорим об этом несколько позже. Третье ограни- ограничение - ограничение сохранения вероятности, т. е. полная вероятность того, что система перейдет в некоторое состоя- состояние х, равна единице. Четвертое ограничение говорит, что ограниченное распределение является равновесным распределе- распределением, в соответствии с которым должны распределяться состо- состояния. Предположим, что вероятности переходов заданы и состоя- состояния xQ, х., ... сгенерированы. Эволюция вероятности Р(х), с которой распределены состояния, может быть записана в ви- виде основного уравнения [24-26] dP(x,t)/dt = -^Щх,х')Р{хЛ) + ^Wix' ,x)P{x' J). D.36) Здесь время считается непрерывным и использовано сокращение Р{*) - P(x>t)- Кроме того, осуществлен переход от конечной разности ЬР(х)/Ы к производной dP(x,t)/dt. В термодинами- термодинамическом пределе такой переход становится точным. Уравнение D.36) является скоростным уравнением. Первый член описыва- описывает скорость всех переходов из рассматриваемого состояния в другие, а второй член описывает скорость переходов из всех других состояний в рассматриваемое. Вычислим стационарное
96 4. Стохастические методы решение основного уравнения: Щх,х')Р(х) = I Щх',х)Р(х'). D.37) х' х' Используя сформулированные выше ограничения, получим Щх,х')Р(х') = Р{х). D.38) х' Из D.37) ясно, что может быть наложено более сильное огра- ограничение, чем только что использованное, если потребовать выполнения условия детального равновесия или микроскопи- микроскопической обратимости- W{x,x')P(x) = Щх' ,х)Р(х'). D.39) Для сходимости марковской цепи к заданному распределению условие детального равновесия необходимо, но не достаточно [26-28]! Поскольку вероятности переходов обычно не заданы, это дает значительную свободу выбора. Рассмотрим теперь один возможный выбор вероятностей пе- перехода [20, 23]. Пусть w , - вещественное положительное XX число, такое, что Yw , = 1 и w . = и . . D.40) хх х* * * х' Условие детального равновесия включает только те отношения, которые удовлетворяются при определении вероятностей пере- перехода следующим образом: W(x,x')= ихх-Р{х')/Р(х), если х±х\ Р(х')/Р{х)<\, «Г., если х*х', Р(х')/Р(х)*\, D.41) ~ ь>хх.(\-Р(х')/Р(х)), если *=*'. х Легко показать (см. задачу 4.3), что D.41) удовлетворя- удовлетворяет ограничениям 2-4, налагаемым на вероятности перехода. Окончательный выбор вещественных положительных чисел явля- является нашей прерогативой и оставляет нам свободу выбора для сходимости к равновесному распределению. То, что вероятности перехода зависят только от отношений вероятностей, имеет важное следствие, которое иногда не за-
4.3. Методы Монте-Карло 97 мечают. Распределение состояний, в конце концов, должно со- соответствовать равновесному распределению Поскольку Р(х) = Z /(//(*)), это означает, что константа пропорциональности Z, являющаяся статистической суммой, не входит в вероятности перехода, что и делает возможным при- применение такого подхода. Однако платой за это является недоступность статистической суммы непосредственно при мо- моделировании. Это, в конечном счете, приводит к тому, что, например, свободная энергия F = -kBT\nZ или энтропия S = (U-F)/T не могут быть вычислены непосредственно. Мы вернемся к этой проблеме, когда будем обсуждать метод МК. применительно к каноническому ансамблю. Алгоритм А9 Метод Монте-Карло 1. Задать начальную точку xQ в фазовом пространстве. 2. Генерировать новое состояние х'. 3. Вычислить вероятность перехода W(x,x'). 4. Генерировать равномерно распределенное случайное чис- число R € [0,1]. 5. Если W<R, то взять старое состояние в качестве нового и вернуться к шагу 2. 6. Иначе принять новое состояние и вернуться к шагу 2. В этом алгоритме первый шаг аналогичен процедуре иници- инициализации в методах МД и БД. Марковская цепь теряет память о начальном состоянии, так что точность его задания не имеет большого смысла. Тем не менее об этом необходимо позабо- позаботиться, поскольку начальное состояние может оказаться вне рассматриваемой нами части фазового пространства. На втором шаге случайным образом выбирается новое состояние или кон- конфигурация системы. Например, при моделировании методом МК леннард-джонсоновской системы случайным образом выбирается
98 4. Стохастические методы атом и перемещается также случайным образом в другую пози- позицию внутри области с определенным радиусом. Во время выпол- выполнения третьего и пятого шагов алгоритма принимается решение о принятии или игнорировании результатов МК-шага. Почему нам необходимо случайное число R € [0,1]? Потому, что веро- вероятность P{R < W(x,x')} равна Щх,х') в соответствии с D.41). Алгоритм А9 является основным алгоритмом любого МК-эксперимента, независимо от ансамбля. Какой тип усреднения осуществляется при моделировании методом МК? Сразу можно сказать, что метод МК выполняет ус- усреднение по ансамблю. Однако, как было выяснено в [29, 30], при моделировании методом МК обычно производится также вре- временное усреднение по аналогии с методом МД; только здесь траектория проходит в конфигурационном пространстве, в то время как в методе МД она проходит в пространстве, образо- образованном координатами и импульсами частиц. До сих пор с легкостью предполагалось, что сделанный на- нами выбор вероятностей перехода удовлетворяет эргодическому ограничению. Термин эргодичность в контексте марковских цепей относится к утверждению, что в любое состояние можно перейти из любого другого за конечное число шагов. Это утверждение не выполнимо в случае, когда состояния разбиты на эргодические классы и переходы между ними запрещены. Та- Такая ситуация имеет место в системе, состоящей из твердых сфер, при большой плотности [28, 31]. В ней могут отсутст- отсутствовать переходы из состояния с гексагональной плотной упа- упаковкой в состояние с плотно упакованной кубической решет- решеткой. При этом даже для ограниченного гамильтониана может эффективно нарушаться симметрия, например в системе, нахо- находящейся вблизи фазовых переходов [32, 33]. Зачастую эргодичность марковской цепи связана с размером [34], формой [3.28] и временем наблюдения изучаемой систе- системы. Эта практическая неэргодичность не обязательно связана с истинной неэргодичностью. Ясно, что форма системы и гра- граничные условия влияют на возможные конфигурации. Определен- Определенные решеточные структуры не могут быть приемлемыми при ис- использовании кубического объема с периодическими граничными условиями.
4.3. Методы Монте-Карло 99 В гл. 3 мы упоминали динамическую интерпретацию процес- процессов МК- Первый шаг в направлении связи динамики системы с процессом МК был сделан нами при записи эволюции распреде- распределения вероятностей состояний в форме основного уравнения. Мы имеем A(x)P(x,t) D.42) в качестве определения среднего наблюдаемой величины А, не зависящего от времени. Динамическая эволюция А следует из этого определения. Можно показать [30], что <A(t)> = I A(x(t))P(x,tQ), D.43) X т. е. можно усреднять по начальному состоянию P(x,tQ), в то время как состояние x(t) и, следовательно, А изменяются во времени. Хотя это приводит к динамической эволюции наблюда- наблюдаемой величины, ее динамика не соответствует динамике в ду- духе той, которая генерируется ньютоновскими уравнениями дви- движения. Из рассмотрения гамильтониана системы видно, что в ней отсутствует какая бы то ни было внутренняя динамика. Поскольку метод МК является в описанном выше смысле точ- точным, имеется ряд практических ограничений, связанных с ограниченными ресурсами компьютера. Рассмотрим кратко эти ограничения. Одним из них является конечность размеров сис- системы. Обычно могут моделироваться достаточно большие систе- мы (например, 600 [36]). Число частиц в таких системах значительно больше, чем при моделировании методами МД или БД, но все еще далеко от термодинамического предела. Чтобы лучше понять зависимость результатов моделирования от раз- размера системы выполняется анализ системы конечного размера, который позволяет экстраполировать результаты при N -> со. Для изучения систем, в которых происходят фазовые переходы, такая процедура выполняется удобным образом с помощью ана- анализа нормировки конечного размера [37]. В других задачах необходимо использовать иные проверки. Например, при моде- моделировании систем с сильно различающимися размерами можно сравнивать МКрезультаты с результатами обычного моделиро- моделирования.
100 4. Стохастические методы Допустим, что марковская цепь начинается с состояния xQ. Тогда возникают два вопроса. 1. Как много начальных состояний «„ должно быть отбро- отброшено? 2. Сколь длинной должна быть цепь для достижения некото- некоторой заданной точности |<Л> - А\ < е? Эти вопросы аналогичны уже рассмотренным в контексте ме- метода МД (гл. 3) и обсуждались в определенной связи в гл. 2. Начальное состояние обычно не совпадает с равновесным. Перед вычислением средних значений система должна срелакси- ровать в равновесие. Пренебрежем возможностью того, что система может ока- оказаться в замкнутом метастабильном состоянии. Теорема 4.4 гарантирует, что в конечном счете сгенерированные состояния будут распределены равновесно. Однако общее утверждение о сходимости к равновесию не может быть сделано [1]. Рассмот- Рассмотрим систему, в которой происходит фазовый переход. Вдали от точки перехода система релаксирует в равновесное состояние достаточно быстро. Вблизи точки перехода релаксация замед- замедляется [38]. Модель такой системы должна отражать это пове- поведение (см., например, исследования явления критического за- замедления для изинговских систем, моделирующих переходы жид- жидкость-газ [39, 41]). Отсюда следует, что необходимо опреде- определить соответствующие временные шкалы модели при оценке чис- числа отбрасываемых начальных состояний. Это можно выполнить в ряде случаев, рассматривая времена релаксации в основном уравнении [26, 29, 42, 43]. Релаксация зависит, конечно, в значительной мере от законов сохранения, т. е. от ансамбля, в котором вычисляются величины. Поскольку каждая проблема может быть рассмотрена отдельно, мы не будем обсуждать эту тему далее и отправим читателя к литературе [44, 45], где изучен ряд конкретных моделей. Если обсуждение времен релаксации основного уравнения не возможно, то можно эвристически определить необходимую для отбрасывания часть цепочки. Надо просто установить, ка- каким образом определенные величины релаксируют к равновесию. Единожды сделав это, разумно считать, что равновесие дос- достигнуто, и можно начинать усреднение.
4.3.1. МК-метод для мнкроканоннческого ансамбля 101 Вторым ограничением является конечность марковской цепи. Время наблюдения, в принципе, должно быть бесконечным, что, естественно, не реализуется. Поэтому необходимо проверить влияние конечности времени наблюдения. Это требует расчета цепей различной длины, чтобы увидеть, когда устанавливается асимптотический режим работы центральной предельной теоре- теоремы. Для оценки погрешности можно использовать простой ста- статистический анализ. Однако последовательные состояния, по- полученные в процессе МК, коррелированны. Простейшее опреде- определение погрешности, использующее стандартное отклонение, не- невозможно, что приводит к статистической неэффективности вычислений. 4.3.1. Метод Монте-Карло для микроканонического ан- ансамбля. Класс систем, которые мы собираемся исследовать с помощью метода МК для микроканонического ансамбля, - это системы, описываемые гамильтонианом Н. В методе МД для мик- микроканонического ансамбля система характеризовалась перемен- переменными состояния (х,£), являющимися обобщенными координатами х и соответствующими сопряженными импульсами д. Для анализа поведения системы в фазовом пространстве записывались, а затем численно решались уравнения движения. При МК-модели- ровании микроканонического ансамбля в гамильтониане опуска- опускается член с кинетической энергией. Поэтому мы не можем ис- использовать уравнения движения для вычисления характеристик системы. Предлагаемый подход состоит в оценке характеристик с помощью статистической суммы (интеграла) Z. Динамика сис- системы, сгенерированная с помощью марковской цепи, не будет отражать истинную присущую системе динамику. Конфигурацион- Конфигурационные характеристики, однако, будут такими же, как и получен- полученные с помощью метода МД. Для рассматриваемой консервативной системы с фиксирован- фиксированным числом частиц N и постоянным объемом V микроканониче- микроканоническое распределение задается дельта-функцией, так что стати- статистический интеграл Z = J 8(Н(х) - E)dx, D.44) Я
102 4. Стохастические методы где Е - постоянная энергия системы. В расчет принимаются только те конфигурации, для которых гамильтониан равен пол- полной энергии Е. Используя статистический интеграл, можно вы- вычислять характеристики системы следующим образом. С любой наблюдаемой величиной А связывается функция А(х), которая зависит от состояния системы. Обычное предположение состоит в том, что величина А определяется как среднее по ансамблю: А(х)8(Щх) - E)dx. D.45) Я В микроканоническом ансамбле все состояния имеют априор- априорно равные веса, определяемые дельта-функцией в интеграле D.45). Общая идея вычисления интеграла в правой части D.45) методом МК состоит в выборе доступной системе части фазового пространства и выполнении суммирования. Аналогично методу МД для микроканонического ансамбля алгоритм должен быть сконструирован так, чтобы система перемещалась по по- поверхности постоянной энергии эргодическим образом. В методе МК для микроканонического ансамбля система перемещается по поверхности, блуждая случайным образом (рис. 4.2), посколь- поскольку все состояния имеют априорно равные веса. Если случайное блуждание имеет простой вид и не является, к примеру, само- самопересекающимся блужданием, когда каждое состояние зависит от своей предыстории, оно определяет марковскую цепь. Предположим, что каким-либо образом сгенерировано состо- состояние х, такое, что Щх) = Е. После задания этого начального состояния выбранный алгоритм генерирует последующие состоя- состояния на поверхности. Допустим, что энергия системы может Рис. 4.2. Схематическое изображение случайного блуждания на поверхности Е=Н(х) в фазовом пространстве
4 3.1. МК,-метод для микроканонического ансамбля 103 изменяться в пределах е-окрестности: Е-с < Н(х) < Е+е. Это- Этого можно достигнуть при введении дополнительной степени свободы с энергий £_ [46], называемой демоном, в статисти- статистическую сумму Z =Ц д(Н(х) + ED - Е). D.46) * ED Роль демона аналогична роли члена кинетической энергии в методе МД. Обходя элементы системы и передавая энергию, он обеспечивает изменение конфигурации системы. Посредством этого демон порождает случайное блуждание системы по повер- поверхности. Мы должны, однако, ограничить энергию демона, иначе он поглотит всю энергию! Таким ограничением может служить, например, ограничение энергии демона положительными значе- значениями. Алгоритмически описанная процедура выглядит следую- следующим образом. Алгоритм А10 Метод Монте-Карло для NVE-ансамбля 1. Построить такое состояние х, что Н(х) = Е. 2. Задать энергию Е~ демона (например, ED = 0). 3. Выбрать часть системы. 4. Изменить локальное состояние системы так, чтобы х -» х'. 5. Вычислить энергию такого перехода Д# = Н(х') - Н(х). 6. Если эта энергия отрицательна, установить ED <- ED + Д# и принять х' в качестве нового состояния. Вернуться к шагу 3. 7. В противном случае принять изменения только, если ED + А// > 0. Тогда установить ED <- ED + АЯ и принять х' в качестве нового состояния. 8. Вернуться к шагу 3. Шаги 6 и 7 алгоритма обеспечивают релаксацию системы в теп- тепловое равновесие. Кроме того, шаг 7 обеспечивает также по- положительность энергии демона. Умозрительно демон можно представить термометром. Дейст- Действительно, демон может приобретать или отдавать энергию как термометр, последовательно приводимый в контакт с различны-
104 4. Стохастические методы ми частями системы. Первоначально демон имеет произвольное распределение. Система выступает в качестве резервуара и термализует демон. В конечном счете энергии частиц системы распределяются в соответствии с больцмановским распределе- распределением [47], позволяя вычислять температуру P(ED) « exp(-ED/kBT). D.47) Моделирование модели Изинга служит примером использова- использования метода МК. Пример 4.2 ■ Модель Изинга [48] определяется следующим образом. Пусть G = L - d-мерная решетка. Свяжем с каждым узлом / решетки спин s., который может принимать значения +1 или -1. Спины взаимодействуют посредством обменной связи У. В дополнение к этому на систему может быть наложено внешнее поле К. Га- Гамильтониан такой системы имеет вид Я = -У I ss. + liK I s. D.48) < i • j > i Первая сумма в правой части уравнения рассчитывается только по ближайшему окружению. Символ [х обозначает магнит- магнитный момент спина. Если обменная константа / положительна, гамильтониан является модельным для ферромагнетиков, т. е. систем, у которых спины стремятся быть параллельными. Отри- Отрицательная константа У соответствует случаю антиферромагне- антиферромагнетиков, для которых спины стремятся быть антипараллельными. В дальнейшем мы будем считать взаимодействие спинов ферро- ферромагнитным, т. е. У > 0. Модель Изинга демонстрирует фазовый переход (для перво- первоначального знакомства с фазовыми переходами см., например, Стэнли [32]). Имеется критическая точка Тс, в которой про- происходит переход второго рода. Для температуры Т > Тс пара- параметр порядка, т. е. намагниченность М = (N+ - N_)/N (N+ и N_ - числа положительных и отрицательных спинов, N - общее число спинов), равен нулю в отсутствие магнитного поля. Для температуры Т < Т имеется двукратно вырожденная спонтанная намагниченность. Соответствующая фазовая диаграмма изобра- изображена схематически на рис. 4.3.
4.3.1. МКметод для микроканонического ансамбля 105 Рис. 4.3. Схематичная фазовая диаграм- диаграмма трехмерной модели Изинга: М - на- намагниченность, Т- температура, Т ~ критическая температура +7 М Для вычисления, например, намагниченности трехмерной мо- модели можно использовать метод МК для микроканонического ан- ансамбля. Намагниченность будет функцией энергии. Однако, благодаря распределению энергии демона, намагниченность бу- будет и функцией температуры. Для простоты занулим приложен- приложенное поле. Пусть Е - фиксированная энергия. Предположим, что конфи- конфигурация спинов s = (s., ..., s^,) построена с требуемой энергией. Установим энергию демона равной нулю, и пусть он перемещается по решетке. В каждом узле демон пытается пере- перевернуть находящийся в нем спин. Если переворот спина умень- уменьшает энергию, демон поглощает ее и переворачивает спин. С другой стороны, если переворот спина не уменьшает энергию системы, переворот происходит только в том случае, когда демон имеет достаточную энергию. Спин переворачивается, если ED + АН > О, и новая энергия демона становится равной Е = Е + АН D.49) D.50) После того как демон посетит все узлы решетки, считается, что прошла одна «единица времени», и генерируется новая конфигурация. На языке метода МК единица времени называется шагом. Монте-Карло на один спин. Усреднение начинается после того, как система срелаксирует в состояние теплового равно- равновесия, т. е. после nQ МК-шагов. Нас может интересовать, например, намагниченность системы. Пусть п - полное число МК-шагов на спин, тогда приближение для намагниченности
106 4 Стохастические методы имеет вид \-1 D.51) I > П где s. - i-я сгенерированная конфигурация спинов. Поскольку распределение энергии демона, в конечном сче- счете, становится больцмановским, легко видеть, что J/kJ = D.52) Для проведения эксперимента используется простая куби- кубическая решетка размером 32 . Первоначально все спины уста- устанавливаются в -1. Затем спины выбираются случайным образом и переворачиваются до достижения требуемой энергии. После этого моделирование осуществляется, как описано выше. Рис. 4.4 показывает результирующее распределение ED при фиксированной энергии Е после 3000 и 6000 МКшагов на спин. Точное значение температуры, соответствующее Е, равно Т/Т = = 0,5911. Результаты моделирования следующие: Т/Т = 0,587 после 3000 МКшагов на спин, Т/Тс = 0,592 после 6000 МКшагов на спин. 1000 $ 100 I 15 10 15 20 Ев Рис. 4.4. Распределение энергии демо- демона при микроканоническом МК-модели- ровании трехмерной модели Изинга в отсутствие енешнего поля / - после 6000 МКшагов (Т/Т = 0,592), 2 - после 3000 МКшаговС(Г/Гс = 0,587)
4 31 МК-метод для микроканонического ансамбля 107 Для того чтобы демон соответствовал реальной температу- температуре, требуется большое число МК-шагов. Этого следовало ожи- ожидать, поскольку релаксация системы в состояние теплового равновесия подчиняется законам сохранения. Благодаря сохра- сохранению энергии медленное приближение системы к равновесию отображается соответствующей температурой демона. ■ В предшествующем примере не было сделано замечаний отно- относительно граничных условий, наложенных на систему. Каким образом взаимодействует частица, пересекая границу? Сущест- Существует несколько возможных вариантов: 1) периодические граничные условия, 2) свободная граница, 3) нестандартные граничные условия. В третью группу входят граничные условия, влияние кото- которых не достаточно полно изучено. Примером условия, попадаю- попадающего в эту группу, является граничное условие самосогласо- самосогласованного поля [25, 26, 49]. Лучше изучены периодические гра- граничные условия и свободная граница [29]. Периодические граничные условия применимы к системам типа гиперкуба и ис- используются при МД-моделировании. Эти граничные условия вы- выбираются для устранения эффектов поверхности при моделиро- моделировании поведения объемной системы. Те же условия применялись и в нашем примере, поскольку мы интересуемся, в первую очередь, поведением системы в термодинамическом пределе. Пусть Ly ..., L. - линейные размеры гиперкуба. Для любой наблюдаемой величины А имеем А(х) = А(х + L.), i = 1, .... d, D.53) где L. = @, ..., 0, L., 0, ..., 0). Периодические граничные условия устанавливают трансляци- трансляционную инвариантность и устраняют эффекты поверхности. Умо зрительно система при этом становится неограниченной, хотя на самом деле она имеет конечные размеры. Ряд задач требует применения смешанных граничных усло- условий. Изучение эффекта смачивания [50] дает пример, в кото- котором периодические граничные условия и свободная граница комбинируются [51].
108 4 Стохастические методы 4.3.2. Метод Монте-Карло для канонического ансамбля. В то время как в микроканоническом ансамбле все состояния имеют априорно равные веса, в каноническом ансамбле некото- некоторым состояниям присвоены разные веса. Для оценки наблюдае- наблюдаемых величин в jVVT-ансамбле простое случайное блуждание в фазовом пространстве неприменимо. В термодинамическом равновесии ряд состояний наблюдается более часто. Для генерации такой траектории, чтобы состоя- состояния появлялись с корректной вероятностью, должен быть построен марковский процесс, дающий предельное распределе- распределение, соответствующее равновесному распределению канониче- канонического ансамбля. В каноническом ансамбле фиксированы число частиц Л\ объем V и температура Т. В такой ситуации наблюдаемая вели- величина А вычисляется как <А> = Z J A(x)exp[-H(x)/k^]dx, D.54) Z = J exp[-H(x)/kJ]dx. Я При разработке метода МК для системы в тепловом резерву- резервуаре заметим, что в равновесии распределение состояний имеет вид Р(х) = Z~\xp[-H{x)/kBT]. D.55) С учетом условия детального равновесия найдем W{x,x')P(x) = Щх',х)Р(х') или Щх,х')/Щх\х) = Р(х')/Р{х). D.56) Благодаря экспоненциальной зависимости отношение вероят- вероятностей перехода зависит только от изменения энергии АЯ при переходе из одного состояния в другое: *'**) = ехр[-(Я(х') - H(x))/kBT] = = exp(-bH/kBT). D.57)
43 2 МКметод для канонического ансамбля 109 Для задания вероятностей перехода в методе МК с тепловым резервуаром можно использовать D.41): (j)xx,exp(-LH/kBT), если АЯ > 0, Щх,х') = D.58) и> , во вс е х остальных случаях. Числа со , пока не определены. При их выборе нужно учиты- учитывать требования D.40). W(x,x') является вероятностью пере- перехода в единицу времени, и и) определяет временную шкалу. Алгоритм АН Метод МонтеКарло для канонического ансамбля 1. Задать начальную конфигурацию. 2. Генерировать новую конфигурацию х'. 3. Вычислить изменение энергии ЛЯ. 4. При АН < 0 принять новую конфигурацию и вернуться к шагу 2. 5. Вычислить exp(-A///&fi7). 6. Генерировать случайное число R € [0,1]. 7. Если R < ехр(-Д///&йГ), принять новую конфигурацию и перейти к шагу 2. 8. Иначе оставить старую конфигурацию и перейти к шагу 2. Сейчас более ясно видно значение выбора вероятностей пе- перехода. Система движется к состоянию с минимальной энерги- энергией, соответствующей параметрам (N,V,T). Шаг 4 означает, что мы всегда принимаем новую конфигурацию, имеющую меньшую энергию, чем предыдущая. Конфигурации, уменьшающие энергию системы, принимаются только с больцмановской вероятностью. Пример 4.3 ■ Для демонстрации применения метода МК при моделировании канонического ансамбля снова рассмотрим модель Изинга, уже знакомую нам по предыдущему разделу. Начнем с задания веро- вероятностей перехода из одного состояния системы в другое. Простейший и наиболее подходящий выбор для реального моде- моделирования состоит в выборе вероятностей перехода, затраги- затрагивающего только один спин; все другие спины остаются фикси- фиксированными. Его состояние будет в дальнейшем зависеть только
110 4 Стохастические методы от состояния ближайших соседей. Новое состояние системы создается после того, как всем спинам будет предоставлена возможность переворота. В символьной форме вероятность пе- перехода с переворотом одного спина записывается как wfsl)'- (sr...,sr...,sN) -» (sv...,-sp...,sN), где W. - вероятность перехода в единицу времени спина i из состояния 5. в -5. При таком выборе вероятностей перехода модель называется моделью Изинга с переворотом спина [52]. Отметим, что в ней число спинов, направленных вверх или вниз, не сохраняется, хотя их полное число N = N^ + Л^ фик- фиксировано. Однако это возможно при сохранении параметра по- порядка [30]. Вместо переворота спина два ближайших спина, если они противоположного знака, могут обмениваться своими значениями. Это так называемая модель Изинга с динамикой Кавасаки [30]. В данном примере величина объема не имеет значения, поскольку он и число частиц входят в формулы в виде отношения, при этом параметрами являются (V/N, Т). Получим реальный вид вероятностей перехода. Пусть P(s) - вероятность для состояния s. В тепловом равновесии при фик- фиксированных температуре Т и поле К вероятность того, что /й спин принимает значение s., пропорциональна больцмановскому множителю Peq(st) « exp[-H(s.)/kBT]. D.59) Переменные, определяемые постоянным спином, подавляются. Потребуем выполнения условий детального равновесия W(s.)P (s.) = W(-s.)P (-5.) Л v еф г Л v еф г ИЛИ W(-s.)/W(s) * Р (s)/P (-s.). D.60) г i' v v еф i' eqx i' v ' С помощью D.48) получим D.61) ..)p(£ где Е.= J J s. < i . j >
4 3 2 МК-метод для канонического ансамбля 111 Полученные условия D.59)-D.61) определяют вероятность перехода W не однозначно! Для повышения вычислительной эф- эффективности алгоритма имеется определенная свобода в выборе W. Условию D.61) удовлетворяют по крайней мере две функ- функции: функция Метрополиса [23] Wfs.) = minjV1, T]exp(-AH/kBT)\ D.62) и функция Глаубера [52] Wfs.) = (l^T-^l - s.th(£/*/)], D.63) где т - произвольный фактор, определяющий шкалу времени. Обычно т полагается равным 1. При моделировании физической системы с модельным гамильтонианом D.48), необходимо более внимательно рассмотреть фактор т в зависимости от таких па- параметров, как температура. В разделе 4.3 была рассмотрена динамическая интерпрета- интерпретация метода МК. При этом возникает вопрос, насколько сильно динамические характеристики, такие как динамические корре- корреляционные функции, зависят от выбора вероятностей перехода. Вблизи теплового равновесия выбор вероятностей перехода приводит только к перенормировке временной шкалы [24]. Однако для состояний вдали от равновесия выбор существенно определяет релаксацию в равновесие. В дальнейшем мы будем использовать функцию Метрополиса. Задав вероятности перехода, обеспечивающие релаксацию сис- системы в тепловое равновесие, мы таким образом делаем сущест венный шаг в определении алгоритма. Пусть начальная конфи- конфигурация задана. Сначала выбирается узел решетки. Это может быть сделано либо путем последовательного просмотра узлов решетки как при движении головки пишущей машинки, либо пу- путем случайного выбора. Затем вычисляются №. После этого сгенерированное случайное число сравнивается с вероятностью перехода. Если она больше случайного числа, переход из s. в -s. принимается. В противном случае спин остается в состоя- состоянии «„ Работа алгоритма продолжается выбором нового узла. После посещения всех узлов по одному разу при последова- последовательном просмотре решетки или после N выборок узлов случай-
112 4 Стохастические методы ным образом, генерируется новое состояние системы. Вся эта процедура занимает одну единицу времени или один МК-шаг. Насколько МК-время, зависящее от т, соответствует времени в физической системе, все еще остается нерешенным вопросом [42, 43]. Алгоритмически метод МК для системы в тепловом резервуа- резервуаре выглядит следующим образом. 1. Задать исходную конфигурацию. 2. Выбрать узел / решетки. 3. Вычислить W, 4. Генерировать случайное число R € [0,1]. 5. Если W(s.) > R, тогда s. -» -s_ 6. Иначе продолжать с шага 2, пока не будет сделано N попыток. На рис. 4.5 представлены результаты МКмоделирования на- намагниченности трехмерной модели при различных температурах. Моделирование проводилось на протяжении 1000 МК-шагов. Ус- Усреднение намагниченности осуществлялось по последним 500 МКшагам. Для того чтобы почувствовать характерные времена, на вставке к рис. 4.5 приведена зависимость времени расчета одного МК-шага в секундах. Время увеличивается пропорцио- пропорционально размеру системы N = Z,3. Эти зависимости были получе- получены с помощью программы П5, приведенной в приложении 2. Ли- Линейная зависимость рассчетного времени от размера системы, в общем, неверна. Ряд алгоритмов, особенно ориентированных на векторные компьютеры, работает другим образом (см. ссыл- ссылки, приведенные в связи с обсуждением программы П5). Результаты моделирования показывают, что намагниченность зависит от размера решетки. Этот эффект существеннее вблизи критической температуры. При низких температурах, т. е. при Т ^ Т , результаты менее чувствительны к размеру решетки. Действительно, намагниченность очень быстро сходится к сво- своему термодинамическому предельному значению. При высоких температурах намагниченность не равна нулю, хотя в термоди- термодинамическом пределе и не существует спонтанной намагничен- намагниченности.
4.3.2. МК-метод для канонического ансамбля 113 \М\ 0,75 0,5 0,25 0,6 т/тг Рис. 4.5. Вычисленная с помощью МК-моделирования намагниченность М трех- трехмерной модели Изинга в зависимости от отношения температур (Т/Т) для раз- различных размеров L решетки. На вставке к рисунку приведена зависимость вре- времени расчета одного МК-шага от размера решетки. МК-моделирование осущест- осуществлялось в течение 1000 МК-шагов, -и усреднение проводилось по 500 последним шагам Поведение намагниченности является типичным примером проявления эффектов конечности размеров системы вблизи фа- фазовых переходов второго рода [33, 53-55]. Это можно понять, рассматривая длину корреляции. При приближении к критиче- критической температуре длина корреляции увеличивается, а конечная система может давать только конечные длины. Следовательно, будут иметь место эффекты округления. В случае фазовых пе- переходов первого и второго рода эффекты конечности размеров системы могут быть рассмотрены схематически [33]. Заметим, что на рис. 4.5 намагниченность построена в аб- абсолютных единицах. Это сделано из-за двукратного вырождения намагниченности в термодинамическом пределе. Для каждой
114 4 Стохастические методы температуры Т ниже критической точки имеется спонтанная намагниченность +М(Г) или -М(Т). Для конечной системы дельта-функция является результатом перекрытия двух гаус- совских функций, и система имеет конечную вероятность перехода из состояния с положительной намагниченностью в состояние с отрицательной намагниченностью. Поэтому для усреднения нужно накапливать абсолютные значения. Вернемся снова к вопросу об эргодичности. В модели Изин- га наблюдается эффективное нарушение эргодичности. При тем- температуре ниже критической система может иметь либо положи- положительную, либо отрицательную намагниченность. За время МК-моделирования конечной системы, если время моделирования достаточно большое, наблюдаются два типа упорядочения сис- системы. Свободная энергия барьера между этими двумя конфигу- конфигурациями имеет величину № > [35], а время пропорцио- пропорционально ехр[аЛЛ ' ]. В зависимости от времени моделирова- моделирования и размера системы состояния, сгенерированные во время МКэксперимента, могут принадлежать только к одному типу конфигураций. ■ Существует сложность, связанная с вероятностью перехода. Положим Н » kgT или kS « 0. Благодаря экспоненциальной за- зависимости МК-шаги осуществляются в такой ситуации очень часто. Соответствующая вероятность пропорциональна exp(-LH/kBT)\ Движение системы в фазовом пространстве явля- является медленным, и для перехода системы в равновесие требу- требуется генерация огромного числа состояний. Если система имеет непрерывное состояние переменных, как, например, при моделировании леннард-джонсоновской системы, с помощью методов МК можно ускорить сходимость. Пусть х. означает по- положение атома. Новое положение х'. генерируется как х'. = = х. + 5, где 8 - случайное число из интервала [-6,+5]. Для увеличения скорости выполнения МКшагов необходимо просто выбирать д соответствующим образом. Однако надо быть осто- осторожным, поскольку при этом порождается дополнительная по- погрешность. В случае kJT ~ 0 для ускорения сходимости необходимо применять другие методы [29, 56, 57]. В частности, нужно
4 3 2 МКметод для канонического ансамбля 115 разработать алгоритм, совершающий только удачные МК-шаги (см. обсуждение основного уравнения метода МК в разделе 4.3). При этом временные интервалы в таком методе не экви- эквидистантны. При обсуждении метода МК отмечалось, что сама по себе функция распределения прямо недоступна при моделировании. Однако существуют методы [58-70], которые позволяют обойти эту проблему. Один из них состоит в интегрировании резуль- результатов по термодинамическим переменным, связанным производ- производными со свободной энергией [59-62]. Возьмем, например, модель Изинга, в которой термодинамические переменные, т. е. внутренняя энергия U и намагниченность, связаны со свободной энергией и энтропией как и = -г d(F/T) дТ М = - dF Н' дН Г Интегрирование этих соотношений дает 'kB' S(T,H) = S(T',H) + U/T - kj J \/kBr H F(T,H) = F{T,H') - J MdH. H1 При таком подходе появляются две проблемы. Основная сложность состоит в том, что должна быть задана исходная энтропия, а она точно известна только в ряде случаев. Вто- Вторая проблема, являющаяся достаточно сложной, состоит в том, что энергия вычисляется вдоль пути интегрирования. Конечно, нельзя пренебрегать и возможным вкладом в энергию эффектов конечности размера системы, поскольку энергия обычно весьма чувствительна к подобным эффектам. Достаточно интересный метод был предложен Ма [63]. В нем интегрирование не выполняется, а делается попытка оценить энтропию напрямую. Напомним, что энтропия определяется как 5 = ~kB I Р}пРГ D 64> i где Р. - вероятность наблюдения состояния х.. В принципе, нужно просто сосчитать число наблюденных состояний и разде-
116 4 Стохастические методы лить его на полное число наблюдений. Однако, если число состояний велико, как это обычно имеет место (например, 2 для модели Изинга с N = 100 ), частота появления состояния достаточно мала. Для ее увеличения проведем разбиение со- состояний системы на классы. Пусть состояния сгруппированы в классы С. В каждый момент времени состояние, наблюдаемое в классе /, считается событием из класса С{ Пусть ni - час- частота появления события, тогда Р. = п /п (п - полное число наблюдений) является вероятностью появления состояния, при- принадлежащего классу /. Далее, пусть Rl - вероятность нахож- нахождения состояния вдоль траектории, т. е. вдоль марковской цепи, такого, что оно попадает в класс С Тогда 5 = -kB I P}nRr D.65) Ключевым моментом при таком подходе является разделение на классы и распределение состояний внутри класса. Предпо- Предположим, что состояния в каждом классе распределены равномер- равномерно. Если в классе С имеется g состояний, то Для большинства задач вообще не ясно, как классифицировать состояния. Пример 4.4 ■ До настоящего момента обсуждались примеры с дискретным локальным состоянием. В модели Изинга локальное состояние, т. е. ориентация спинов s, может быть либо +1, либо -1. Модель, которую мы хотим исследовать в данном примере, опи- описывается гамильтонианом Н(с) = I [ f ,2 + \ис\ ) + £ Цсг С/J, D.66) где г, и, с - константы, а локальные переменные с- могут принимать значения от -со до +ю. Этот гамильтониан связан с укрупненным функционалом свободной энергии Ландау- Гинзбурга-Вильсона модели Изинга [71, 72]. Не будем рас- рассматривать точное соотношение [73]. Напомним лишь, что па- параметры и локальные переменные с. являются результатом
4 3 2 МК-метод для канонического ансамбля 117 процедуры укрупнения, включающей блоки спинов. Здесь мы хо- хотим разработать МКалгоритм для моделирования модели, заданной написанным выше гамильтонианом. Начнем с нормировки гамильтониана для уменьшения числа параметров. Для этого рассмотрим приближение среднего поля, в котором возможные пространственные флуктуации параметра порядка пренебрежимо малы. Следовательно, вторая сумма в правой части D.66) может быть опущена и функция распреде- распределения принимает вид [h № ]\ <4-67> i Если г < 0, можно вычислить свободную энергию и найти пара- параметр порядка = ±(-r/u)V2. D.68) При г £ 0, параметр порядка равен нулю. Далее необходимо вычислить восприимчивость % и длину корреляции £: Х(Ч) - Х X = (~2г)-\ D.69) где q - волновой вектор, а выражения D.69) получены в ли- линейном приближении. Вычисляя параметр порядка, мы нормируем с1 на параметр порядка среднего поля т( = c/cMF и находим " - 4- [I [У+ У] * «if Кт »/)*]• <4-7о> Существенно, что для варьирования осталось только два пара- параметра. Однако можно записать гамильтониан в несколько ином виде. Вычислив квадрат в правой части D.70) и перегруппи- перегруппировав члены, получим н • 1чг где d - размерность решетки. Напомним, что с каждым узлом решетки связана переменная с. локального состояния и что у
118 4. Стохастические методы него имеются Id ближайших соседей. Проведя снова норми- нормировку: D.72) н - aI h 2я1? + 1ШЯ - найдем Отметим сходство этого гамильтониана с изинговским гамиль- гамильтонианом в предыдущих примерах. Такое формальное сходство является важным при разработке алгоритма. Почему же не за- записать сразу алгоритм? Потому, что при непосредственном моделировании системы, такой, как D.66), возникает та трудность, что значение локальной переменной т. не ограни- ограничено. Можно заменить интервал (-оо,+оо) на [-а,+а]. Однако вследствие такой замены возникает значительная погрешность из-за обрезания. Вместо обрезания интервала выберем т. с вероятностью D.74) и допустим, что все значения т. определены в пределах точ- точности вычислений. Рис. 4.6 показывает распределение значе- значений двух параметров, полученное при моделировании. Pi(m) 0,4- 20 40 60 80 Рис. 4.6. Распределение вероятнос- вероятности D 74) локальной переменной т„ полученное в МК-экспернменте
4.3.2. МК-метод для канонического ансамбля 119 Разделим гамильтониан на две части [74, 75]: Н = Я, + Я2, D.75) где Я, = -а ][ т^ Н2= Что мы при этом выиграем? Запишем среднее значение для на- наблюдаемой величины: <А> = Z^J A(m)exp[-H(m)]dm = Q = Гх\ A(m)exti-H{m) - H2(m)]dm. D.76) Q Поскольку гамильтониан разделен на две части, можно ввести новую переменную (напомним процедуру для уменьшения числа переменных, обсужденную нами во введении в методы МК) d\(m) = Z~*exp[-H2(m)]dm D.77) и получить <А> = Z'~1 J А(т)ехр[-Н{т)]Щт). D.78) Q Благодаря этому D.66) успешно сводится к задаче вычисления среднего значения А в рамках модели Изинга с непрерывными спиновыми переменными. Вместо переворачивания спина нужно выбрать т„ распределенную в соответствии с измеренным dA. Очевидно, что dA изменяется между нулем и единицей. Таким образом, однородно распределенный набор точек фазового пространства отображается на интервал [0,1] с плотностью, определяемой множителем ехр[-//2(т)], посредством кумулятив- кумулятивного распределения: у +0° С(у) = J dA(m)/ J dA(m). D.79) -00 -00 При этом т. получается генерацией случайного числа г € [0,1] с последующим вычислением величины, обратной С(г). Соответствующий МК-алгоритм приведен ниже.
120 4 Стохастические методы 300 600 t, MK-шаг / спин 900 Рис 4.7. Релаксация параметра порядка / - |3 » 0,45, 2 - /3 - 0,38 I2 о? I Г Размер системы 5*5 10*10 60x60 0,25 0,30 JB Рис. 4.8. Зависимость параметра порядка от эффекта коиечиости размеров системы (|3 - критическая точка) С 1. Выбрать узел / решетки. 2. Генерировать случайное число г € [0,1]- 3. Обратить С(г) для получения mf. 4. Вычислить изменение LH. в изинговской части тониана. 5. Генерировать случайное число R € [0,1]- гам
4 3 2 МК-метод для канонического ансамбля 121 6. Если R < exp(-A#j), принять значение т{. 7 Иначе отбросить значение т и сделать старое состоя- состояние новым. 8. Перейти к шагу 1. Обращать функционал для каждой попытки не нужно. Можно запомнить соответствующее число С (г) в таблице и интерпо- интерполировать числа для значений г, отсутствующих в таблице. ML fi/v / г 0,1- 1 г oj- 0,01 - X о + а X 6 1 * х ° %» L 5 10 20 60 i i f i i ^ 1 1 1 1 1 1 1 11 + ,,i i i , i + 1 1 1 1 1 1111 1 1 1 1 1 1 111 i I 0,1 Рис. 4.9. Влияние нормировки, обуслоьленной конечностью размеров системы, на параметр порядка при <Х=2,5, /3 =0,428, 3=0.125 и различных значениях V а - Р=0,8, б - У=1
122 4 Стохастические методы Напомним, что релаксация системы из начального состояния происходит в течение некоторого времени. На рис. 4.7 пока- показана релаксация в равновесие параметра порядка для двух значений параметра /5 с фиксированным а. Отметим, что релак- релаксация при Э = 0.45 происходит быстрее, чем при Э = 0.28. Соответственно, при моделировании могут быть отброшены раз- различные начальные участки марковской цепи (раздел 4.3). Результаты моделирования параметра порядка как функции /3 показаны на рис. 4.8. Как и для изинговской модели с дис- сретным локальным состоянием, наблюдается явно выраженный эффект* конечности размеров системы. Ниже критической точки /Зс, где длина корреляции мала, эффекты конечности размеров системы начинают исчезать. Данные при этом могут сливаться в одну кривую, как показано на рис. 4.9. Значения намагни- намагниченности, лежащие выше и ниже, нормируются. Это пример нор- нормировки, обусловленной конечностью размеров системы. Размер системы 0,35 Рис. 4.10. Влияние конечнос- конечности размеров системы на восп- восприимчивость Все кривые вы- вычислены при ОС = 2,5
4 3 3 МК-метод для ансамбля с постоянными Т и Р 123 Эффекты конечности размеров системы проявляются так же сильно и для восприимчивости (рис. 4.10): XL « <гп2> - <ш>2. D.80) В критической точке восприимчивость расходится в термодина- термодинамическом пределе. Из-за конечности размеров системы этот эффект сглаживается. Наконец, конечность размеров системы приводит к смещению максимума кривых в критической точке. ■ 4.3.3. Метод Монте-Карло для ансамбля с постоянными температурой и давлением. В ансамбле с постоянными темпера- температурой и давлением наблюдаемые величины вычисляются как 00 <Л> = Z~1 J AZ^V,T)exp(-PV/kf)dV, D.81) Z = о где Zw - статистический интеграл канонического ансамбля из N частиц, так что 00 <Л> = Гх J J A(x)exp[-(PV+H(x))/k f]dxdV. D.82) 0 Й Параметрами моделирования являются число частиц N, дав- давление Р и температура Т. Ограничимся рассмотрением кубиче- кубического объема с периодическими граничными условиями, хотя в принципе построенный алгоритм допускает флуктуации объема. Удобно ввести нормировку переменных, как в разделе 3.1.3 (см. C.75)), р. = r/L. D.83) Перепишем D.82) в терминах нормированных переменных: 00 <А> = Z'~x\ J VNexp(-PV/kJ) x х exp[-H(LQ,L)/kBT]A(LQ)dQdV, D.84) 00 Z' = J J VNexp(-PV/k^)exp[-H(L^,L)/kf]dgdV, 0 0)
124 4 Стохастические методы где w - объем единичного куба. Пусть VQ - исходный объем. Определим приведенные объем и давление как т = V/VQt ф = PVQ/NkBT. D.85) Тогда D.84) принимает вид оо t ти-lirA/+1 Г Г А/ <А> = Z V' т ехр(-0Лгт) х 0 0) х exp[-H(LQ,L)/kBT]A(LQ)dQdT, D.86) 00 XT i Л f f 17 ^^^ 0 0) Прямой подход к конструированию алгоритма [31] состоит в определении функции Н' = N$t - №пт + H(Lg,L)/kBT. D 87) В дополнение к координатным переменным здесь появляется но- новая переменная, соответствующая объему Алгоритм А12 Метод Монте-Карло для NPT-ансамбля 1. Задать начальный объем и координаты. 2. Генерировать случайно новый объем т'. 3. Генерировать новый набор координат Q', соответствую- соответствующий исследуемому объему т'. 4. Вычислить изменение ЬН'. 5. Если ЬН' < 0, принять новую конфигурацию и вернуться к шагу 2. 6 Вычислить ехр(-АЯ/). 7. Генерировать случайное число R € [0,1]- 8. Если R < ехр(-АЯу), принять новую конфигурацию и вер- вернуться к шагу 2. 9. Иначе принять старую конфигурацию в качестве новой и вернуться к шагу 2 4.3.4. Метод Монте-Карло для большого канонического ансамбля. В заключение обсудим применение метода МК для большого канонического ансамбля. Параметрами в этом случае являются химический потенциал ц, объем V и температура Г.
43 4 МК-метод для большого канонического ансамбля 125 Метод МК для большого канонического ансамбля представляет значительный интерес, поскольку он позволяет учитывать кон- концентрационные флуктуации. Главная проблема при конструиро- конструировании алгоритма для моделирования такого ансамбля состоит в том, что число частиц ансамбля не фиксировано! Рассмотрим объем V, занимаемый первоначально N частицами. С течением времени число частиц внутри объема постоянно изменяется. Частицы могут уходить из объема или прибывать в него. Какие частицы уходят из объема? Куда помещается вновь прибывшая частица? Перед тем как ответить на эти вопросы, рассмотрим, как вычисляется наблюдаемая величина А в большом канониче- каноническом ансамбле: <А> = Z I (aN/N\) J A(xN)exp [щ&")/к flp*" <4-88) N Й Z = I (aN/N\) J exp £-(/(* V* / J1** n й где а определяется как а = (h2/2nmkBT)~3/\ D-89) h - постоянная Планка, А - абсолютная активность, А = ехр(д/*вГ). D90) Снова заметим, что структура D.88) такая же, как и для случая канонического ансамбля. Суммируемая компонента дает число частиц в флуктуации вычислительного объема. Метод МК для большого канонического ансамбля включает три основных шага: 1) конфигурационные изменения в координатах частиц, 2) рождение частиц, 3) уничтожение частиц. Примем ограничение, что в равновесии осуществляется рав- равное число попыток рождения и уничтожения частиц. Из D.88) очевидно, что конфигурационные изменения снова не нужно рассматривать. Процедура для этой части точно такая же, как и в случае канонического ансамбля. Необходимо, однако, рас- рассмотреть акты рождения и уничтожения частицы [76-79]. Пред-
126 4. Стохастические методы положим, что частица добавляется в случайном месте объема V, содержащего N частиц. Вероятность наличия в объеме N+\ частиц N) A[Ni]^N)] D.91) Аналогично, если объем содержит N частиц и уничтожается выбранная случайным образом частица, вероятность пребывания системы в состоянии с ЛМ частицами £/] D.92)  В духе раздела 4.3 можно записать W(xN,xN+x) = minJl, P{^+X)/P{^)\ D.93) W(xN,xN-X) = minjl, P{^~X)/P{^)\ D.94) для вероятностей перехода системы из одного состояния в другое при рождении и уничтожении частицы соответственно. С помощью этих вероятностей перехода можно записать алгоритм метода МК для моделирования большого канонического ан- ансамбля. Алгоритм А13 Метод МК для большого канонического ансамбля 1. Задать начальную конфигурацию из N частиц в объеме V. 2. Выбрать случайно с равной вероятностью одну из проце- процедур MOVE, CREATE или DESTRUCTION. 3. Процедура MOVE (переход к новой конфигурации). 3.1. Выбрать частицу внутри объема и переместить ее на новое место случайным образом. 3.2. Вычислить изменение энергии Ш = U(x') - U(x). 3.3. При Ш < 0 принять конфигурацию и вернуться к шагу 2. 3.4. Вычислить exp(-LU/kBT). 3.5. Генерировать случайное число R € [0,1]. 3.6. Если R < ехр(-Д(//£„Т), принять конфигурацию и вернуться к шагу 2. 3.7. Иначе принять старую конфигурацию в качестве но- новой и перейти к шагу 2.
4.3.4. МК-метод для большого канонического ансамбля 127 4. Процедура CREATE (рождение новой частицы). 4.1. Выбрать случайным образом координаты внутри объ- объема для новой частицы. 4.2. Вычислить изменение энергии Ш - U(x ) - U(x ). 4.3. Вычислить [a/(N+\)]e\p(-LU/kBT). 4.4. Если вычисленное значение больше единицы, при- принять новую конфигурацию и вернуться к шагу 2. 4.5. Генерировать случайное число R € [0,1]. 4.6. Если R < [a/(N+\)]exp(-LU/kBT), принять новую конфигурацию с рожденной частицей и вернуться к шагу 2. 4.7. Иначе игнорировать рожденную частицу и вернуться к шагу 2. 5. Процедура DESTRUCTION (уничтожение частицы). 5.1. Выбрать случайным образом частицу для удаления нз N частиц внутри объема. 5.2. Вычислить изменение энергии Ш = U(x ~ ) - U(x ). 5.3. Вычислить (a/N)exp(-LU/kBT). 5.4. Если вычисленное значение больше единицы, при- принять новую конфигурацию и вернуться к шагу 2. 5.5. Генерировать случайное число R € [0,1]. 5.6. Если R < (a/N)exp(-LU/kBT), принять новую конфи- конфигурацию с уничтоженной частицей и вернуться к шагу 2. , 5.7. Иначе игнорировать уничтожение частицы и вер- вернуться к шагу 2. Сходимость данного алгоритма зависит от допустимого диа- диапазона изменения координат. Если диапазон достаточно мал, для перехода системы в равновесие она должна пройти через много конфигураций, т. е. сходимость медленная. С другой стороны, большие изменения координат могут приводить к бо- большим скоростям частиц и уменьшать сходимость. Для заданного объема V имеется естественное отсечение частиц, находящихся внутри V. Пусть М - число частиц, кото- которое можно разместить в объеме V. Еще одним способом введе- введения флуктуации в число частиц, обеспечивающим постоянство химического потенциала, является способ, при котором в вычислительном объеме всегда должно присутствовать М частиц
128 4. Стохастические методы [80-83]. Пусть из М частиц N являются реальными, a (M-N) - виртуальными частицами. Если при МК-моделировании рождается частица, одна из виртуальных частиц становится реальной. Если частица уничтожается, она становится из реальной вир- виртуальной. При качественной записи идеи алгоритма перепишем D.88) так, чтобы система содержала М частиц, из которых N явля- являются реальными, a (M-N) - виртуальными [83]. С этой же целью перепишем интеграл в виде J A(xN)exp ^U(xN,N VN ) уМ Тогда наблюдаемая величина А вычисляется как М D.95) 1£ (N\y\aV)Nf N VM M Z = I (N\y\aV)N J exp \-U(x_M,N)/k N VM Алгоритм для численного решения D.96) получается по аналогии с алгоритмом, описанным в разделе 4.3, с учетом рождения и уничтожения частиц. Алгоритм А14 Метод МК для большого канонического ансамбля 1. Присвоить координаты М частицам внутри объема V. 2. Выбрать W частиц в качестве реальных. 3. Выбрать частицу. 4. Генерировать новые координаты для выбранной частицы. 5. Вычислить изменение энергии Ш = V(x') - U(x). 6. Если b.V < 0, принять конфигурацию и продолжить с шага И. 7. Вычислить exp(-AU/kBT). 8. Генерировать случайное число R € [0,1]. 9. Если R < ехр(-Д£//£„Г), принять конфигурацию и продол- продолжить с шага 11.
Задачи 129 10. Иначе принять старую конфигурацию в качестве новой. 11. Выбрать частицу для уничтожения из набора реальных частиц. 12. Вычислить изменение энергии и (aV/N)exp(-bU/kBT). 13. Генерировать случайное число R € [0,1]. 14. Если R < (aV/N)exp(-AU/kBT), причислить частицу к набору виртуальных частиц и продолжить с шага 16. 15. Иначе оставить частицу реальной. 16. Выбрать рождающуюся частицу из набора виртуальных частиц. 12. Вычислить [aVr/(W+l)]exp(-A£//fefi7') и изменение энер- энергии. 13. Генерировать случайное число R е [0,1]. 14. Если R < [aV/(N+\)]exp(-W/kBT), добавить частицу к набору реальных частиц и продолжить с шага 4. 15. Иначе игнорировать рождение частицы и продолжать с шага 4. Достоинством представленного алгоритма является уменьше- уменьшение числа неудачных попыток при рождении частицы. Конечно, особенно при больших плотностях, должно иметься небольшое пространство в пределах искомого объема, если мы пытаемся поместить туда рождающуюся частицу. Вероятность успешного рождения частицы экспоненциально уменьшается с увеличением плотности. Недостаток алгоритма состоит в значительных за- затратах компьютерного времени, поскольку в алгоритме всегда учитывается взаимодействие между всеми М частицами, а не только между N частицами. Задачи 4.1. Придумайте алгоритм вычисления среднеквадратичного отклонения <x(tJ> = A/ЗЛГ) £ <[xft) - x{0)]2> для N частиц в объеме с периодическими граничными усло- условиями. 4.5. Напишите алгоритм для моделирования системы из N независимых броуновских частиц.
130 4. Стохастические методы 4.3. Покажите, что симметричный выбор вероятностей пере- перехода если х * х', (ж)), если х = х' удовлетворяет ограничениям D.11) (ограничения 2-4). 4.4. Покажите, что для модели Изинга температура может быть вычислена из энергии демона ED как Г О, ?'"#) = I 0) Покажите также, что если магнитное поле не нулевое, то \/kBT = A/2ЛIпA + 2h/<ED>). 4.5. Покажите, что функции Метрополиса и Глаубера мате- математически эквиваленты. 4.6. Покажите, что функции Метрополиса и Глаубера явля- являются предельными случаями вероятности перехода с еще одним параметром z (полагая т' = 2т): 4.7. Модель Изинга может также моделироваться с сохране- сохранением параметра порядка. Это так называемая динамика Каваса- Кавасаки [30]. В этом случае вместо переворачивания спина выбираются два ближайших соседа и их состояния обменива- обмениваются, если разрешено сравнение случайного числа и вероят- вероятности перехода. Измените программу П5 в приложении 2 для случая сохраняющегося параметра порядка. 4.8. Адаптируйте программу для трехмерной модели Изинга с переворотом спина, приведенную в приложении 2, на случай двух измерений. (Замена связи в двумерной модели имеет вид J/kBTc = A/2IпA + 2'1/2).) 4.9. Эффекты конечности размеров играют большое значение при моделировании. Для многих типов задач необходимо иссле- исследовать большие системы. Придумайте алгоритм моделирования модели Изинга с переворотом спина, который минимизирует необходимый объем памяти для простой двумерной решетки. 4.10. Сформулируйте метод Монте-Карло для большого кано- канонического ансамбля с симметричными вероятностями переходов.
ПРИЛОЖЕНИЯ 1. Генераторы случайных чисел В основе ряда методов компьютерного моделирования, таких, как броуновская динамика или методы Монте-Карло, благодаря их стохастической природе лежат случайные числа. Качество результатов такого моделирования зависит от качества генератора случайных чисел. Простой демонстрацией этого служит следующий «эксперимент:*. Допустим мы должны случайным образом просматривать узлы простой кубической решетки L . Координаты узла получаются из последовательно сгенерированных случайных чисел г„ г~, г3 € @,1) как ix = r^L + 1, iy = r2L + 1, iz = r3L + 1, где ix, iy, iz - переменные целого типа, полученные при преобразовании вещественной правой части к целому типу, т. е. при усечении дробной части числа. В отсутствие корреля- корреляции между последовательно сгенерированными случайными чис- числами все узлы будут, в конечном счете, просмотрены. В противном случае будут просмотрены лишь некоторые гипер- гиперплоскости решетки. Этот факт наиболее убедительным образом был впервые продемонстрирован Лачем [1] в 1962 г. Другим доказательством влияния качества генератора слу- случайных чисел на результаты моделирования служат данные, полученные группой в Санта Барбаре [2]. В МКэкспериментах, выполненных ими с помощью специализированного компьютера [3], было обнаружено особое поведение системы определенного
132 Приложения размера. Результаты независимой группы [4] не подтвердили этой особенности, и это позволило сделать вывод о том, что ее причиной, следовательно, являлся генератор случайных чи- чисел. Для применения в вычислительной физике генератор должен обладать следующими характеристиками: - хорошими статистическими свойствами, - эффективностью, - большим периодом, - воспроизводимостью. Первыми и наиболее важными из требуемых свойств являют- являются, конечно, статистические свойства. К сожалению, идеаль- идеальных генераторов не существует, а список их известных свойств пополняется перечнем недостатков. Это приводит к риску использования в компьютерном эксперименте плохого ге- генератора. Вычислительная эффективность генератора очень важна. Программы для компьютерных экспериментов требуют огромного 10 количества случайных чисел. Для получения 10 чисел за ог- ограниченное время одно случайное число должно вычисляться очень быстро. Кроме того, важно требование на размер необ- необходимой для работы генератора памяти компьютера. Генератор должен быть достаточно быстрым и экономичным по памяти. В действительности генерируются не случайные числа, а последовательности псевдослучайных чисел- Почти все генера- генераторы создают псевдослучайные числа с помощью рекуррентных соотношений, используя функцию остатка . Поэтому последова- последовательность генерируемых чисел после определенного количества шагов повторяет саму себя. Ее период должен включать по крайней мере необходимое для эксперимента множество случай- случайных чисел. Кроме того, опасность представляет исчерпание последовательности случайных чисел или даже приближение конца ее цикла. Это приводит, как показано, например, в [5], к неверным результатам. Функцию mod получения остатка от деления одного числа на другое, так называемую функцию деления по модулю. Например, 19 mod 4-3. (Примеч. ред.)
1. Генераторы случайных чисел 133 Существует много способов генерации на компьютере слу- случайных чисел. Множество методов можно найти в книге Аренса и Дитера [6] (см. также книгу Кнута [7]). Ниже мы остано- остановимся в первую очередь на генерации равномерно распределен- распределенных случайных чисел. Из наиболее популярных и широко распространенных в на- настоящее время генераторов большинство являются линейными 2 конгруэнтными генераторами ■ Они производят определенным способом при задании начального целого числа последователь- последовательность случайных целых чисел. Достоинством генераторов этого типа является, конечно, воспроизводимость. Может показаться парадоксальным, что необходимо проводить тестирование алго- алгоритма. Если генератор выдает различные последовательности при каждом тестовом прогоне, трудно оценить влияние на результаты моделирования изменений в алгоритме. Хотя линейный конгруэнтный генератор выдает последова- последовательность произвольных целых чисел, их можно всегда привес- привести к единичному интервалу [0,1]. Это делается просто путем деления сгенерированного числа на максимально возможное целое число. Ненормированная последовательность целых чи- чисел, однако, предпочтительнее по причине большей вычисли- вычислительной эффективности алгоритма. Во многих случаях простая трансформация алгоритма, генерирующего числа из интервала [0,1], приводит к алгоритму генерации ненормированной последовательности случайных целых чисел. Алгоритм П1.1 Линейный конгруэнтный генератор (Лемер, 1948) Пусть т, а, с, xQ - целые числа, причем пг > xQ, m > a, m > с и х0 £ 0, а £ 0, с £ 0. Тогда псевдослучайное чис- число из последовательности (х) получается из предшествую- предшествующего ему числа х{_^ как х. = (ах., + с) mod m. (П1.1) При соответствующем выборе /л, а, с и х-, алгоритм П1.1 выда- выдает последовательность случайных целых чисел [8]. Ясно, что генерируемая последовательность имеет повторяющийся цикл, 2 В оригинале используется также термин «modulo generator». (Примеч.ред.)
134 Приложения или период, не превышающий т чисел. Как было объяснено выше, период должен быть столь большим, сколь это возможно. Максимальный период достигается при с * 0. Такой генератор называется смешанным- Однако смешанные генераторы, как из- известно, дают плохие результаты [9], и мы сосредоточимся на так называемых мультипликативных генераторах, для которых с = 0. Их дополнительное достоинство состоит в уменьшении накладных расходов при вычислении случайных чисел. Варьируя начальное значение xQ при независимых запусках генератора, можно получать из базисной последовательности различные субпоследовательности. Чтобы гарантировать максимальный период мультипликатив- мультипликативного конгруэнтного генератора, модуль m и множитель а необ- необходимо выбирать аккуратно. При выполнении условий теоремы П1 генерируется периодическая последовательность длины m - 1, лишь на единицу меньшая, чем максимально возможная длина последовательности смешанного генератора [10]. Теорема П1 (Кармайкл, 1910) Мультипликативный конгруэнтный генератор имеет период /п-1 при выполнении следующих условий: а) m - простое число; б) а - первообразный корень из т, т. е. am = I mod m и для любого п < т ап * 1 mod т. Условие а) необходимо, поскольку, если d является произ- произвольным делителем тих. кратно d, все последующие числа кратны d. Условие б) выполняется не всегда (см. ниже). Определенный таким образом генератор легко реализуется на компьютере. С использованием стандартной функции остатка алгоритм принимает вид ix = mod(a'ix, т). Достоинством функции mod является ее переносимость с одной ни 3, машины на другую , а недостатком - вычислительная неэффек- Эта функция является стандартной в таких языках как фортран, паскаль и др., и, следовательно, переносима вместе с ними. (Примеч. ред.)
1. Генераторы случайных чисел 135 тивность, поскольку операция деления среди многих выполняе- выполняемых операций самая длительная. Более эффективен алгоритм, описанный ниже. Пусть слово компьютера состоит из п бит, один из которых используется для указания знака числа. Тогда наибольшее целое число, размещаемое в слове, есть 2" - 1. Предполо- Предположим далее, что 2" - 1 является простым числом. Пусть, например, п = 32, тогда 231 - 1 = 2147483647 - простое чис- число (число Мерсенна )! Выберем т = 2" - 1 и соответствую- соответствующий множитель а. Случайное число последовательности получа- получается из своего предшественника следующим образом (в записи на фортране): ix = ix*a if( ix.lt.О ) ix = ix + m + 1. Первое предложение эквивалентно выполнению функции остатка, а второе предотвращает возможное переполнение. Данная про- процедура осуществима только в том случае, если исполняющая система компьютера не определяет или игнорирует переполне- переполнение при арифметических операциях. Если а - первообразный корень из т = 2 - 1, период 31 последовательности составляет 2 - 2. Это число кажется большим, однако надо принять во внимание следующее. Пусть каждый узел решетки размером 300 (решетка размером 600 моделировалась в [11]) просматривается случайным образом. Эта процедура требует 3*300 случайных чисел. Если мы по- повторим ее лишь 25 раз, будут использованы почти все числа последовательности! О-1 Таким образом, число Мерсенна 2-1 является до неко- некоторой степени удачным для 32-битных машин. Разложение на простые сомножители [7] показывает, что для любых п C2 < п < 65) 2п - 1 не является простым числом. Теорема Кармайкла, следовательно, не применима для машин, использу- использующих более чем 32 бита для представления целых чисел. В этом случае достижимый период меньше максимального. В ряде 4 Числа Мерсенна могут быть простыми только при простых значениях (п-\). (Примеч. ред.)
136 Приложения машин целые числа представляются 49 битами. В этой ситуации приемлемо выбрать т = 248, а = И13 [12]. Мы не будем здесь рассматривать компьютеры с размером слова 64 бита, так как ниже приводится генератор, специально предназначенный для 64-битовых векторных машин. На практике линейный конгруэнтный генератор должен быть инициализирован. Перед генерацией последовательности должна быть отработана предшествующая ей в базовой последователь- последовательности случайных чисел начальная порция данных. Таким обра- образом, задача состоит в получении начального значения требуе- требуемой последовательности. Известно, что существуют плохие начальные значения последовательности. Надежный способ избежать их - использовать в качестве начального значения новой последовательности последнего псевдослучайного числа, полученного во время предыдущего запуска генератора. Это уменьшает также вероятность того, что при последовательных запусках генератора будут генерироваться перекрывающиеся субпоследовательности базовой последовательности. При этом нужно внимательно следить лишь за тем, чтобы не был превы- превышен период генератора. Вернемся к вопросу выбора множителя. Можно показать [13], что корреляция между соседними числами последователь- последовательности будет примерно обратно пропорциональна множителю. В дополнение множитель должен быть значительно меньше, чем квадратный корень из модуля т [14]. Для т = 2 - 1 наибо- наиболее подходящими множителями являются а = 65539 или а = 16807. Выбор а = 65539 является, однако, плохим [15]. Он приводит к последовательности, для которой коэффициент последовательной корреляции не равен нулю и действительно вызывает корреляцию между тремя подряд идущими числами. Вы- Выбор а = 16807 значительно лучше. Он приводит к удовлетво- удовлетворению почти всех критериев, хотя линейным конгруэнтным генераторам, в целом, присуще d-мерное неоднородное прост- пространство. Если последовательные наборы d чисел из мультипли- мультипликативного конгруэнтного генератора берутся в качестве коор- координат в d-мерном пространстве, как это часто имеет место, все точки лежат на определенном конечном числе гиперплоско- гиперплоскостей [16, 17]. Нисло гиперплоскостей никогда не превышает
1. Генераторы случайных чисел 137 значения некоторой функции, зависящей от d и количества бит, участвующих в целочисленной арифметике, в предположе- предположении, что некоторые биты сильно коррелированы. Другой метод был предложен Таусвортом [18]. Его достоин- достоинствами являются большой период, вычислительная эффектив- эффективность и присущий параллелизм алгоритма, делающий метод особенно привлекательным для применения на векторных ком- компьютерах. К тому же алгоритм выдает не только последова- последовательность псевдослучайных чисел, но также и последователь- последовательность псевдослучайных бит. Аналогично линейному конгруэнт- конгруэнтному генератору случайных чисел данный алгоритм вычисляет новое число из предшествующих ему чисел последовательности. Алгоритм П1.2 Генератор на базе сдвигового регистра с обратной связью (Таусворт, 1965) Пусть с. (i = 1, ..., п) - множество целых чисел, имею- имеющих значения 0 или 1, с = 1. Тогда последовательность п псевдослучайных чисел х = (х.) генерируется с помощью линейного рекуррентного соотношения Хк = (CiVi + Vfc-2 + • • + CnXk-n> mOd 2- Этот алгоритм является обобщением алгоритма П1.1. Для фиксированных с. новое значение х. определяется предшеству- предшествующими значениями *._., *fe_2» •••» xk_ » и только ими. Каж- Каждая такая последовательность л чисел (л-последовательность) имеет уникального предшественника. Как и в случае линейного конгруэнтного генератора, для алгоритма П1.2 характерен период, после которого л-последовательность повторяется. Он не может превышать 2П - 1 чисел. Для периода, равного 2П - 1, необходимо и достаточно, чтобы полином являлся примитивным полиномом по модулю 2 над полем По определению это полино, имеющий корень, являющийся первообразным элементом поля из 2п элементов. (Примеч. ред.)
138 Приложения GFB) . Практически весь список примитивных полиномов над GFB) ограничивается трехчленами типа f(x) = хр + xq + 1, (П1.3) где р - показатель Мерсенна BР - 1 является простым чис- числом) и р > q > 0 [19]. , Известны также и другие примитивные полиномы, где р не является числом Мерсенна. В приложениях такой полином при р = 250 и q = 108 находит широкое приме- применение [20]. Однако на векторных машинах более эффективны большие значения р [21], например р = 532 и q = 37. Заме- Заметим, что период последовательности в данном алгоритме не зависит от размера машинного слова. Рассмотрим, следуя Левису и Пайну [22], в общих чертах алгоритм работы генератора на базе сдвигового регистра с обратной связью с изменениями Киркпатрика и Столла [20]. Операция сложения в поле Галуа GFB) эквивалентна операции исключающего ИЛИ (будем обозначать ее оператором «+>). Для трехчленов (П1.3) линейная рекурсия (П1.2) принимает тогда вид х. = х. + х. . (П1.4) k k-q k-p v ' Пусть (х.) - последовательность л-битных целых чисел, которые представлены в виде п колонок бит со случайными значениями. Чтобы сгенерировать новое число, зная предшест- предшествующее, для трехчленов необходима только одна операция исключающего ИЛИ и ряд адресных операций. Для запуска гене- генератора необходима последовательность (ху ..., х ) из р чисел. Она может быть получена путем генерации р псевдослу- псевдослучайных чисел с помощью линейного конгруэнтного генератора. Эти числа должны быть линейно независимы на периоде длины 2Р - 1. Для выполнения этого условия необходимо следующее. Пусть s - число битов мантиссы. Выберем отличные друг от друга числа из р начальных случайных чисел. Представим их затем в виде матрицы размером s на s. Установим значения GF(p ) или F п - поле, число элементов которого конечно, или поле Га- п луа (р, п - натуральные числа, причем р простое). В любом поле GF(p ) содер- содержится поле GF(p), называемое простым полем характеристики р. (Примеч. ред.)
1. Генераторы случайных чисел 139 диагональных элементов в единицу и значения элементов ниж- нижнего треугольника матрицы в нуль [20]. Программа П1 реализует алгоритм, адаптированный для ис- использования на векторных компьютерах типа CRAY. Подпрограм- Подпрограмма INR250 служит для создания начальных значений. Подпрог- Подпрограмма R250 является собственно генератором. Она возвращает случайные числа х. е @,1)- Программа П1 Адаптация алгоритма П1-2, предложенного Таусвортом для генерации псевдослучайных чисел Программа взята из [21] и переделана для использования на векторных компьютерах типа CRAY с С - Use OPT-BTREG in the CFT command (CFT 13 and higher) - С Fill the 250 starting values into M С (Kirkpatrick-Stoll-Greenwood Random Number Generator). С CRAY standard random number generator is used to create С 250 numbers. Numbers are modified to assure 47 of them to С be linear independent. The last bit is set to 0 (because С R250 can be faster with this). SUBROUTINE INR250(M,ISEED) INTEGER MB50),ISEED,ONES,DIAG,I,LASTO С LASTO is not initiated with data. С It can be a T-register in CFT 13 LASTO-1777777777777777777776B CALL RANSET(ISEED) DO 1 1=1,250 CALL RANGET(M(I)) M(I)-AND(M(I) , LASTO) U=RANF() 1 CONTINUE ONES=00000077777777 7 7 77 7777B DIAG=0000004000000000000000B DO 2 1=5,235,5 M(I)=OR (M(I),DIAG) M(I)=AND(M(I) ,ONES) ONES=SHIFTR(ONES,1) DIAG=SHIFTR(DIAG,1) 2 CONTINUE END С С For CFT 1.13 and higher only (use OPT=BTREG) С Random number generator (Kirkpatrick-Stoll) С Version 1 (short version) С CDIR$ ALIGN
140 Приложения SUBROUTINE R250(М,X,N) С С In the calling program, M ist dimensioned B50) С <147,2) only to suppress dependency in the "DO 20" loop С INTEGER MA47, 2),N,K,L, I,KK REAL X(N) DATA KK/1/ SAVE KK С С Next statements only to load into registers С K=KK IFL=040000000000000000000lB EP-0377204000000000000000B 1=0 L=N+250 С С Begir rotational loop С 5 L=L-B51-K) С С In the following loop K+103 may be greather than 147 С The correct indexing with dimension MB50) is: M(K+103) С DO 10 K=K,MIN(L, 147) С С The M's are even integer random numbers 0OM<2**48 С IFL is added to create a not normalized floating point С number 0<X<l. SHIFTR is applied only to have IFL+M(K,1) С type boolean.lt will chain EP is dummy added to normalize С the constructed real number С M(K, 1)=XOR(M(K,1) /M(K+103,1) ) 1=1+1 X(I)=SHIFTR(IFL+M(K, 1) ,0) +EP 10 CONTINUE DO 20 K=K,MIN(L, 250) M(K-147,2)=XOR(M(K-147,2),M(K-147,1)) 1=1+1 X(I)=SHIFTR(IFL+M(K-147,2),0) + EP 20 CONTINUE С IF( K.EQ.251 ) THEN K=l GOTO 5 END IF" С С End rotational loop KK=K END Для генераторов на базе сдвигового регистра с обратной связью неоднородность d-мерного пространства уменьшается [6, 22]. Они даже претендуют на однородность d-мерного
1 Генераторы случайных чисел 141 пространства [18]. Однако все же существует плохой выбор чисел (p,q) [23]. В качестве критерия нужно выбирать q < (р-1)/2, причем вдали от значения (р-1)/2. При компьютерном моделировании иногда требуются другие, нежели рассмотренное равномерное, распределения. В разделе 4.2 была рассмотрена задача получения случайных величин с нормальным или гауссовым распределением. Испытание такого распределения показывает его существенно меньшую по сравне- сравнению с описанными выше алгоритмами вычислительную эффектив- эффективность. Однако для приложений, рассматриваемых в данной книге, генерация распределения Гаусса не является критичной по времени. Так, в методах МД этот генератор используется единожды для генерации 3N чисел, а в методах БД - для гене- генерации ri'3N чисел, где п - число актов изменения скоростей частиц. В сравнении с процедурой вычисления сил работа по- последней занимает основную часть счетного времени. В большинстве случаев алгоритмы, генерирующие неравно- неравномерно распределенные случайные числа, работают путем преоб- преобразования равномерно распределенных случайных чисел. Нор- Нормальное отклонение х со средним значением <х> и стандартным отклонением or генерируется наиболее прямым способом с помощью следующего алгоритма [24, 25]. Алгоритм П1.3 Пусть п - целое число, определенное с необходимой точ- точностью. Тогда выполнить следующие действия. 1. Суммировать п равномерно распределенных случайных чи- чисел из (-1,1); результат поместить в переменную sum. 2. Вычислить х = <х> + О" sum'sqrtC.О/п). Для ряда приложений такой простой метод достаточен, однако если требуется высокая точность, он не работает. Более эф- эффективным и точным является алгоритм, идея которого принад- принадлежит фон Нейману [26], с модификациями Форсайта [27]. Алгоритм П1.4 (фон Нейман, 1963; Форсайт, 1972) Пусть G(x) - функция, определенная на интервале [а, Ь), О < G(x) < 1 и f(x) = ccexp[-G(jt)] - функция распределе- распределения вероятности, где а - константа.
142 Приложения 1. Генерировать из равномерного распределения г € @,1). 2. Положить х = а + (b-a)r. 3. Вычислить t - G(x). 4. Генерировать г„ г», ..., г. из равномерного распре- распределения в интервале @,1), где к определяется из условия t > г, > г2 > ... > г^ с rfe. Для f < rt k = 1. 5. Если Л четное, игнорировать * и перейти к шагу 1; иначе х - требуемое число. Этот алгоритм также преобразует равномерно распределенные случайные числа в неравномерно распределенные. Распределе- Распределение, полученное для функции G(x) = лг и -1 < х < 1, предс- представлено на рис. П1.1. На нем изображены результаты 10 и 10 испытаний. Мы не будем далее подробнее останавливаться на этом алгоритме, отсылая читателей к книге Аренса и Дите- Дитера [6]. Быстрый вариант алгоритма можно найти в [28]. Интересным методом генерирования нормально распределен- распределенных случайных величин, обычно используемым в приложениях, является метод полярных координат [29]. Он имеет то преиму- преимущество, что генерирует две независимые нормально распреде- распределенные величины практически без дополнительных затрат машинного времени. Алгоритм П1.5 Метод полярных координат 1. Генерировать две независимые случайные величины £Л, U' из интервала @,1). 2. Установить ^ = 2UX - 1, V2 = 2L>2 - 1. * 4. Если S 2: 1, вернуться к шагу 1, иначе вычислить: 3. Вычислить S = V* + Х2 = V2(-2\nS/S)V2. Результаты работы этого алгоритма показаны на рис. П1.2. Даже для малого числа реализаций (W=256) среднее значение близко к нулю @,01) и стандартное отклонение к единице @,91).
1. Генераторы случайных чисел 143 Г(х) 150F I III I I I - - юоо - - 500 - a Рис. П1.1. Вид распределения, генерируемого по методу фон Неймана: а - 10 реализаций; б - 10 реализаций 250- О -1,о 1,0 Рис. П1.2. Внд распределения, генерируемого с помощью метода полярных коор- 3 4 5 динат, после 256 (а), 10 (б), 10 (в) и 10 (г) реализаций
144 Приложения Алгоритмы П1.4 и П1.5 генерируют нормально распределен- распределенные числа с нулевым средним значением и единичным стандарт- стандартным отклонением. Иногда требуются другие среднее значение и стандартное отклонение. Достичь этого можно следующим образом. Если величина X распределена с нулевым средним значением и единичным стандартным отклонением, то преобра- преобразование Y = ц + <гХ создает нормально распределенную величину со средним значе- значением ji и стандартным отклонением or. 2. Тексты программ Это приложение содержит исходные тексты программ, используемых в примерах различных глав. Можно надеяться, что они послужат первым шагом к созданию ваших собственных программ и будут стимулом для собственных идей в быстро развивающейся и расширяющейся новой области компьютерного эксперимента. Отметим, что здесь не всегда используется самый эффективный алгоритм и его запись на языке программи- программирования. Более того, ряд программ специально упрощен, чтобы облегчить понимание основных идей, описанных в книге. Эти программы, следовательно, не являются точными копиями рабо- рабочих программ. Для ознакомления с работой алгоритмов и полу- получения навыков, необходимых при проведении компьютерного эксперимента, читатель должен запустить большинство приве- приведенных в книге программ. Каждая программа предваряется коротким описанием исполь- используемого алгоритма. В текст дополнительно включены коммента- комментарии и описания параметров. Ряд программ может нуждаться в адаптации при использовании на различных машинах. Программа П2 Молекулярная динамика микроканонического ансамбля Программа моделирует леннард-джонсоновскую систему из ./V частиц в МД-ячейке объемом V = orL при постоянной энергии. Все параметры представлены в нормированном виде. Для расче- расчета местоположений частиц и вычисления скоростей программа
2 Тексты программ 145 использует алгоритм Верлета A3 в форме суммарной скорости. Первоначально частицы размещены в узлах гранецентрированной решетки. Отсюда вытекает требование кратности числа частиц четырем. Скорости частиц находятся из распределения Гаусса. Для уменьшения энергии или, что то же самое, средней темпе- температуры до требуемого значения скорости частиц периодически нормируются до тех пор, пока энергия системы лежит в допус- допустимом диапазоне. После достижения равновесной фазы система не изменяется. Программа также может быть использована для моделирования ансамбля методом изокинетической МД при уста- установке параметра IREP равным единице и параметра ISTOP большим числа МД-шагов. с с С MOLECULAR DYNAMICS С С MICROCANONICAL ENSEMBLE С С Application to argon. The Lennard-Jones potential is С truncated at RCOFF and not smoothly continued to zero. С Initially the NPART particles are placed on an FCC С lattice. The velocities are drawn from a Boltzmann С distribution with temperature TREF. С С Input parameters are follows: С С NPART number of particles (must be a multiple of 4) С SIDE side length of the cubical box in sigma units С TREF reduced temperature С RCOFF cutoff of the potential in sigma units С Н basic time step С IREP velocities scaling every IREP'th time step С ISTOP stop of scaling of the velocities at ISTOP С TIMEMX number of integration steps С ISEED seed for the random number generator С С Version 1.0 as of august 1985 С С Dieter W. Heermann С С REAL XA:786),VHA:786),FA:786) С REAL FYA:256),FZA:256),Y(l:256),ZA:256) С REAL H,HSQ,HSQ2,TREF REAL KX,KY,KZ INTEGER CLOCK,TIMEMX
146 Приложения С С С С С С С С С С С С EQUIVALENCE (FY,FB57)), (FZ,FE13)), (Y,XB57)), + (Z,XE13)) Definition of the simulation parameters NPART DEN SIDE TREF RCOFF H IREP I STOP TIMEMX I SEED 256 0.83134 6.75284 0.722 2.5 0.064 50 500 3 4711 Set the other parameters WRITEF,*) 'MOLECULAR DYNAMICS SIMULATION PROGRAM' WRITEF,*) ' ' WRITEF,*) ' ' WRITEF,*) 'NUMBER OF PARTICLES IS ',NPART 'SIDE LENGTH OF THE BOX IS ',SIDE 'CUT OFF IS ',RCOFF 'REDUCED TEMPERATURE IS ',TREF WRITEF,*) 'BASIC TIME STEP IS ',H WRITEF,*) ' ' WRITEF,*) WRITEF,*) WRITE F,*) A = SIDE /4.0 SIDEH = SIDE * 0.5 HSQ = H * H HSQ2 - HSQ * 0.5 NPARTM = NPART - 1 RCOFFS = RCOFF * RCOFF TSCALE = 16.0 / A.0 * NPART - 1.0 ) VAVER = 1.13 * SQRT(TREF/24.0) N3 = 3 * NPART IOF1 = NPART IOF2 = 2 * NPART CALL RANSET(ISEED) This part prepares the initial configuration Set up lattice for the atoms inside the box IJK = 0 DO 10 LG=0,l DO 10 1=0,3 DO 10 J=0,3 DO 10 K-0,3 IJK - IJK + 1 X(IJK) - I*A + LG*A*0.5 Y(IJK) - J*A + LG*A*0.5
2. Тексты программ 147 Z(IJK) = К*А 10 CONTINUE DO 15 LG=0,2 DO 15 1-0,3 DO 15 J=0,3 DO 15 K=0,3 IJK - IJK + 1 X(IJK) - I*A + B-LG)*A*0.5 Y(IJK) = J*A + (LG-l)*A*0.5 Z(IJK) - K*A + A*0.5 15 CONTINUE С С Assign velocities distributed normally С CALL MXWELL(VH,N3,H,TREF) DO 50 1=1,N3 F(I) - 0.0 50 CONTINUE С С Start of the actual molecular dynamics program с С The equations of motion are integrated using the С 'summed form' (G.Dahlquist and A.Bjoerk, Numerical С methods, Prentice Hall A974)). Every IREP'th step С the velocities are rescaled so as to give the specified С temperature TREF. С DO 200 CLOCK=1,TIMEMX С С ==■= Advance positions one basic time step ==■= DO 210 1=1,N3 X(I) - X(I) + VH(I) + F(I) 210 CONTINUE С С === Apply periodic boundary conditions ===== DO 215 1=1,N3 IF( X(I).LT.O ) X(I) = X(I) + SIDE IF( X(I).GT.SIDE) X(I) = X(I) - SIDE 215 CONTINUE С С ===== Compute the partial velocities ==»= DO 220 1=1,N3 VH(I) - VH(I) + F(I) 220 CONTINUE С С This part computes the forces on the particles С 225 С VIR = 0. EPOT « 0 DO 255 I F(I) CONTINUE 0 .0 =1 ,N3 0.0
148 С С С Приложения DO 270 XI YI ZI DO 1=1,NPART = X = Y = Z 270 XX YY ■■ ZZ < IF( IF( IF( IF( (I) (I) (I) J-I+l, = XI - = YI - - ZI - XX.LT. XX.GT. YY.LT. YY.GT. NPART X(J) Y(J) Z(J) -SIDEH SIDEH -SIDEH SIDEH ) ) ) ) XX XX YY YY = XX = XX = YY = YY + SIDE - SIDE + SIDE - SIDE IF( ZZ.LT.-SIDEH ) ZZ = ZZ + SIDE IF( ZZ.GT. SIDEH ) ZZ = ZZ - SIDE RD - XX*XX + YY*YY + ZZ*ZZ IF( RD.GT.RCOFFS ) GOTO 270 270 275 С С С С С 300 С С 305 С С EPOT = R148 = VIR KX F (I) = F(J) = KY FY(I) = FY(J) = KZ FZ(I) = FZ(J) = CONTINUE DO 275 1=1,N3 F(I) = F(I] CONTINUE EPOT + RD**(-7 RD**(-6.0) - RD**(-3.0 .0) - 0.5*RD**(-4.0) VIR - RD*R148 XX*R148 F (I) + F(J) - YY*R148 FY(I) + FY(J) - ZZ*R148 FZ(I) + FZ(J) - 1*HSQ2 KX KX KY KY KZ KZ End of the force calculation Compute the velocities DO 300 1=1,N3 VH(I) = VH(I) + CONTINUE Compute the kinetic energy EKIN =0.0 DO 305 1=1,N3 EKIN = EKIN + VH(I)*VH(I) CONTINUE EKIN = EKIN/HSQ Compute the average velocity VEL =0.0 COUNT =0.0 DO 306 1=1,NPART VX = VH(I)*VH(I)
2. Тексты программ 149 VY = VH(I+IOF1)*VH(I+IOF1) VZ - VH(I+I0F2)*VH(I+IOF2) SQ - SQRT(VX+VY+VZ) SQT - SQ/H IF( SQT.GT.VAVER ) COUNT - COUNT+1 VEL = VEL + SQ 306 CONTINUE VEL = VEL/H IF( CLOCK.LT.ISTOP ) THEN С С ===== Normalize the velocities to obtain the ==■= С =-== specified reference temperature =*"= IF( (CLOCK/IREP)*IREP.EQ.CLOCK ) THEN С WRITEF,*) 'VELOCITY ADJUSTMENT' TS = TSCALE*EKIN С WRITEF,*) 'TEMPERATURE BEFORE SCALING IS ',TS SC - TREF/TS SC - SQRT(SC) С WRITE F,-*) 'SCALE FACTOR IS ' , SC DO 310 1=1,N3 VH(I) = VH(I)*SC 310 CONTINUE EKIN = TREF/TSCALE END IF END IF С С Compute various quantities С С IF( (CLOCK/2) *2.EQ.CLOCK -) THEN EK - 24.0*EKIN EPOT = 4.0*EPOT ETOT - EK + EPOT TEMP = TSCALE*EKIN PRES = DEN*16.0*(EKIN-VIR)/NPART VEL - VEL/NPART RP - (COUNT/256.0)*100.0 WRITEF,6000) CLOCK,EK,EPOT,ETOT,TEMP,PRES,VEL,RP С ENDIF 200 CONTINUE STOP С 6000 FORMAT(' 'I6,7F15.6) END С С М X W E L L С С Returns upon calling a Maxwell distributed deviates for С the specified temperature TREF. All deviates are scaled С by a factor С С Calling parameters are follows: С
150 Приложения С VH vector of length NPART (must be a multiple of 2) С N3 vector length С Н scaling factor with which all elements of VH are С multiplied С TREF temperature С С Version 1.0 as of august 1985 С Dieter W. Heermann С С SUBROUTINE MXWELL(VH,N3,H,TREF) С REAL VHA:N3) REAL U1,U2,V1,V2,S,R С NPART = N3/3 IOF1 - NPART IOF2 = 2*NPART TSCALE = 16.0/A.0*NPART-1.0) С DO 10 1=1,N3,2 1 Ul = RANF() U2 = RANFO VI = 2.0*Ul -1.0 V2 - 2.0*U2 -1.0 S - V1*V1 + V2*V2 IF( S.LT.1.0 ) GOTO 1 R 2.0*ALOG(S)/S VH(I) = V1*SQRT(R) VH(I+1) - V2*SQRT(R) 10 CONTINUE EKIN =0.0 SP = 0.0 DO 20 1=1,NPART SP = SP + VH(I) 20 CONTINUE SP = SP/NPART DO 21 1=1,NPART VH(I) - VH(I) - SP EKIN - EKIN + VH(I)*VH(I) 21 CONTINUE WRITEF,*) 'TOTAL LINEAR MOMENTUM IN X DIRECTION IS ' + ,SP SP = 0.0 DO 22 I=IOF1+1,IOF2 SP - SP + VH(I) 22 CONTINUE SP = SP/NPART DO 23 I=IOF2+1,IOF2 VH(I)=VH(I)-SP EKIN = EKIN + VH(I)*VH(I) 23 CONTINUE WRITEF,*) 'TOTAL LINEAR MOMENTUM IN Y DIRECTION IS ' + ,SP SP = 0.0 DO 24 I«IOF2+1,N3
2 Тексты программ 151 SP = SP + VH(I) 24 CONTINUE SP - SP/NPART DO 25 I=IOF2+1,N3 VH(I)=VH(I)-SP EKIN = EKIN + VH(I)*VH(I) 25 CONTINUE WRITEF,*) 'TOTAL LINEAR MOMENTUM IN Z DIRECTION IS ' + , SP WRITEF,*) 'VELOCITY ADJUSTMENT' TS = TSCALE*EKIN WRITEF,*) 'TEMPERATURE BEFORE SCALING IS ',TS SC = TREF/TS SC - SQRT(SC) WRITEF,*) 'SCALE FACTOR IS ',SC SC = SC*H DO 30 1=1,N3 VH(I) = VH(I) *SC 30 CONTINUE END Программа ПЗ Броуновская динамика при постоянной температуре Программа моделирует леннард-джонсоновскую систему из N частиц в МД-ячейке объемом V=<rL при постоянной температу- температуре. Первоначально частицы размещены в узлах гранецентриро- ванной кубической решетки. Скорости частиц находятся из распределения Гаусса. Для достижения системой постоянной температуры использован алгоритм Андерсена. Внутри заданно- заданного интервала заменяются все скорости. с с ========================================================= с С BROWNIAN DYNAMICS С С MICROCANONICAL ENSEMBLE С С Application to argon. The Lennard-Jones potential is С truncated at RCOFF and not smoothly continued to zero. С Initially the NPART particles are placed on an FCC С lattice. The velocities are drawn from a Boltzmann С distribution with temperature TREF. С С Input parameters are follows: С С NPART number of particles (must be a multiple of 4) С SIDE side length of the cubical box in sigma units С TREF reduced temperature С DEN reduce density С RCOFF cutoff of thr potential in sigma units С Н basic time step
152 Приложения С IREP replacement of the velocities every IREP step С TIMEMX number of integration steps С ISEED seed for the random number generator С С Version 1.0 as of august 1985 С С Dieter W. Heermann С С REAL X(l:786) ,VHA:786) ,FA:786) С REAL FY A:256),FZA:256),YA:256), ZA:256) С REAL H,HSQ,HSQ2,TREF REAL KX,KY,KZ С INTEGER CLOCK,TIMEMX С EQUIVALENCE (FY,FB57)), (FZ,FE13)), (Y,XB57)) , + (Z,XE13)) С С Definition of the simulation parameters С NPART = 256 DEN = 0.83134 SIDE - 6.75284 TREF * 0.722 RCOFF =2.5 H - 0.064 IREP = 10 TIMEMX = 3 ISEED = 4711 С С Set the other parameters С WRITEF,*) 'BROWNIAN DYNAMICS SIMULATION PROGRAM' WRITEF,*) ' ' WRITEF,*) ' ' WRITEF,*) 'NUMBER OF PARTICLES IS ',NPART WRITEF,*) 'SIDE LENGTH OF THE BOX IS ',SIDE WRITEF,*) 'CUT OFF IS ',RCOFF WRITEF,*) 'REDUCED TEMPERATURE IS ',TREF WRITEF,*) 'BASIC TIME STEP IS ',H WRITEF,*) ' ' С A = SIDE /4.0 SIDEH = SIDE * 0.5 HSQ = H * H HSQ2 = HSQ * 0.5 NPARTM - NPART - 1 RCOFFS = RCOFF * RCOFF TSCALE = 16.0 / NPARTM VAVER = 1.13 * SQRT(TREF/24.0) С N3 = 3 * NPART IOF1 = NPART
2. Тексты программ 153 С С с с с с с 10 15 С с с с с 50 С С с с с с с с с с с с с с с IOF2 - 2 * NPART CALL RANSET(ISEED) This part of the program prepares the initial configuration Set up lattice for the atoms inside the box IJK - 0 DO 10 LG=0,l DO 10 1=0,3 DO 10 J=0,3 DO 10 K=0,3 IJK = IJK + 1 X(IJK) - I*A + LG*A*0.5 Y(IJK) - J*A + LG*A*0.5 Z(IJK) - K*A CONTINUE DO 15 LG-0,2 DO 15 1=0,3 DO 15 J=0,3 DO 15 K=0,3 IJK - IJK + 1 X(IJK) - I*A + B-LG)*A*0.5 Y(IJK) - J*A + (LG-l)*A*0.5 Z(IJK) - K*A + A*0.5 CONTINUE Assign Boltzmann distributed velocities. Clear the forces CALL MXWELL(VH,N3,H,TREF) DO 50 1=1,N3 F(I) - 0.0 CONTINUE Start of the actual Brownian dynamics program The equations of motion are integrated using the 'summed form' (G.Dahlquist and A.Bjoerk, Numerical methods, Prentice Hall A974)). The stochastic part is as fol- follows: at regular time intervals the velocities are rep- replaced by velocities drawn from a Boltzmann distribution at the specified temperature. (H.C.Andersen, J. Chem. Phys. 72, 2384 A980) & W.C.Swope, H.C.Andersen, P.H.Be- rens and K.R.Wilson, J. Chem. Phys. 76, 637 A982)) DO 200 CLOCK=1,TIMEMX === Advance positions one basic time step === DO 210 1=1,N3 + VH(I) +
154 Приложения 210 CONTINUE С С ===== Apply periodic boundary conditions === DO 215 1*1,N3 IF( X(I).LT.O ) X(I) - X(I) + SIDE IF( X(I).GT.SIDE) X(I) - X(I) - SIDE 215 CONTINUE С С ===== Compute the partial velocities ===== DO 220 1=1,N3 VH(I) = VH(I) + F(I) 220 CONTINUE С С This part computes the forces on the particles VIR =0.0 EPOT =0.0 DO 255 1=1,N3 F(I) = 0.0 225 CONTINUE С DO 270 1=1,NPART XI = X(I) YI = Y(I) ZI = Z(I) DO 270 J=I + l,llPART XX =- XI - X(J) YY = YI - Y(J) ZZ = ZI - Z(J) С IF( XX.LT.-SIDEH ) XX = XX + SIDE IF( XX.GT. SIDEH ) XX = XX - SIDE С IF( YY.LT.-SIDEH ) YY = YY + SIDE IF( YY.GT. SIDEH ) YY - YY - SIDE С IF( ZZ.LT.-SIDEH ) ZZ = ZZ + SIDE IF( ZZ.GT. SIDEH ) ZZ - ZZ - SIDE RD = XX*XX + YY*YY + ZZ*ZZ IF( RD.GT.RCOFFS ) GOTO 270 С EPOT - EPOT + RD**(-6.0) - RD**(-3.0) R148 = RD**(-7.0) - 0.5*RD**(-4.0) VIR = VIR - RD*R148 KX = XX*R148 F(I) = F(I) + KX F(J) = F(J) - KX KY = YY*R14 8 FY(I) = FY(I) + KY FY(J) = FY(J) - KY KZ = ZZ*R148 FZ(I) = FZ(I) + KZ FZ(J) = FZ(J) - KZ 270 CONTINUE
2. Тексты программ 155 DO 275 1=1,N3 F(I) = F(I)*HSQ2 275 CONTINUE С С End of the force calculation с С ===== Compute the velocities === DO 300 I~1,N3 VH(I) = VH(I) + F(I) 300 CONTINUE С С ===== Compute the kinetic energy === EKIN - 0.0 DO 305 1=1,N3 EKIN = EKIN + VH(I)*VH(I) 305 CONTINUE EKIN - EKIN/HSQ С С === Compute the average velocity === VEL =0.0 COUNT =0.0 DO 306 1=1, NP ART VX - VH(I)*VH(I) VY = VH(I+IOF1)*VH(I+IOF1) VZ = VH(I+IOF2)*VH(I+IOF2) SQ = SQRT(VX+VY+VZ) SQT = SQ/H IF( SQT.GT.VAVER ) COUNT = COUNT+1 VEL = VEL + SQ 306 CONTINUE VEL = VEL/H IF( (CLOCK/IREP)*IREP.EQ.CLOCK ) THEN С С === Replace the velocities === WRITEF,*) 'VELOCITY REPLACEMENT' CALL MXWELL(VH,N3,H,TREF) EKIN = TREF/TSCALE END IF С С ============5===================»=:=»==:=—=======:::= С Compute various quantities С EK = 24.0*EKIN EPOT = 4.0*EPOT ETOT = EK + EPOT TEMP = TSCALE*EKIN PRES = DEN*16.0*(EKIN-VIR)/NPART VEL = VEL/NPART RP = (COUNT/256.0)*100.0 WRITEF,6000) CLOCK,EK,EPOT,ETOT,TEMP.PRES,VEL,RP 200 CONTINUE STOP 6000 FORMAT(' 'I6,7F15.6) END
156 Приложения Программа П4 Метод Монте-Карло для микроканонического ансамбля Для моделирования поведения трехмерной модели Изинга в микроканон-ическом приближении программа использует метод Грутца (алгоритм А10). В этой специальной программе код частично оптимизирован, как описано ниже. Вычисление изменения энергии системы в МК-алгоритме яв- является самым длительным по времени шагом. Вероятности пере- переходов системы не нуждаются в вычислении; они могут быть запомнены в справочной таблице для облегчения доступа к ним. Для уменьшения числа операций сделаем следующее наблю- наблюдение. Спин частицы может принимать только значения +1- и -1. Сумма спинов по всем ближайшим к данной частице части- частицам должна быть равна I ss} € {-6,-4,-2,0,2,4,6}. < i, /> Если добавить к сумме число 7, получатся только целые числа в диапазоне от 1 до 13. Они могут быть использованы для ссылок внутри массива. Эта операция не требуется для компи- компиляторов фортрана, допускающих отрицательные индексы у мас- массивов. Вместо вычисления изменения энергии при перевороте данного спина, запоминается энергия ориентации спина. Бла- Благодаря этому решение о перевороте спина принимается без вычислений, значительно уменьшая, следовательно, число операций самого внутреннего цикла. Если решение о переворо- перевороте спина положительное, изменения коснутся лишь центрально- центрального спина и его шести ближайших соседей. с с С Simulation of the micro-canonical ensemble on the С coexsistence curve and in the metastable region for С the nearest-neighbour Ising-model С С FIELD VERSION С С Dieter W. Heermann С С August 1983 С С ============ С
2. Тексты программ DIMENSION ISSC2,32,32),IMC2),IPC2) DIMENSION IDISTB000) с с с с с с 1 с 2 С REAL REAL*8 REAL*8 REAL REAL DEMON, H ENERGY,ET RLCUBE MODM2,PB,RAN DEMAV, MAGAV Simulation parameters H L MCSMAX M I SEED PB IFLAG PLCUBE 0.2 32 1500 -L*L*L/2 4711 0.0J.55 2 L*L*L Set up random number generator to fix the energy MODM1 = 2147483647 MODM2 - 2147483647.0 MULT = 16807 IBM = 2*ISEED + 1 DO 1 1=1,L IM(I) = 1-1 IP(I) = 1+1 CONTINUE TVf / 1 \ ^ T IP(L) = 1 DO 2 1=1,1000 IDIST(I) = 0 CONTINUE DO 5 1=1, L DO 5 J=1,L DO 5 K=1,L ISS(I,J,K) = -13 CONTINUE DO 10 3>1,L DO 10 J-1,L DO 10 K=1,L IBM = IBM*MULT IF( IBM.LT.O ) IBM RAN = IBM/MODM2 IF( RAN.GT.PB ) GOTO 10 M = M + 1 ISS(I,J,K) ISS(IM(I) , J,K) ISS(IP(I),J,K) ISS(I,IM(J) ,K) ISS(I,IP(J) ,K) IBM + MODM1 + 1 ISS(I,J,K) + 14 ISS(IM(I) , J,K) + 2 ISS(IP(I), J,K) + 2 ISS(I,IM(J),K) + 2 ISS(I,IP(J),K) + 2
158 Приложения ISS(I,J, IM(K)) - ISS(I, J,IM(K)) + 2 ISS(I, J,IP(K)) = ISS(I,J, IP(K)) + 2 10 CONTINUE С ENERGY =0.0 DO 20 1=1, L DO 20 J=1,L DO 20 K=1,L ICI - ISS(I,J,K) IVORZ - ISIGNA,ICI) ICIA - ICI*IVORZ ENERGY = ENERGY + ICIA - 7 20 CONTINUE ENERGY = -ENERGY*2.0*3.0/8.0 - H*2.0*M ENERGY = ENERGY/32768.0 H - H*4.0/3.0 WRITEF,6000) PB,ENERGY,M IF( IFLAG.EQ.l ) STOP 1 С С MONTE CARLO DEMAV =0.0 MAGAV =0.0 DEMON - 0.0 FLDEM =0.0 С DO 200 MCS«1,MCSMAX DO 100 IZ=1,L IMZ = IM(IZ) IPZ = IP(IZ) DO 100 IY=1,L IMY - IM(IY) IPY = IP(IY) DO 100 IX=1,L С ICI = ISS(IX,IY,IZ) IVORZ = ISIGNA,ICI) IEN = ICI*IVORZ - 7 С IF( (DEMON-IEN-H*IVORZ).LT.O ) GOTO 100 DEMON = DEMON - IEN - H*IVORZ С С === Flip spin === M = M - IVORZ ISS(IX,IY,IZ) = ICI - IVORZ*14 ICH = -2*IVORZ ISS(IM(IX),IY,IZ) = ISS(IM(IX),IY,IZ) + ICH ISS(IP(IX),IY,IZ) = ISS(IP(IX),IY,IZ) + ICH ISS(IX,IMY,IZ) = ISS(IX,IMY,IZ) + ICH ISS(IX, IPY, IZ) - ISS(IX, IPY,IZ) + ICH ISS(IX,IY,IMZ) = ISS(IX,IY,IMZ) + ICH ISS(IX, IY,IPZ) = ISS(IX,IY,IPZ) + ICH 100 CONTINUE С С IPTR =10*DEMON + 1
2. Тексты программ 159 С IDIST(IPTR) - IDIST(IPTR) + 1 DEMAV = DEMAV + DEMON MAGAV = MAGAV + M FLDEM = FLDEM + DEMON*DEMON С 200 CONTINUE DEMAV - DEMAV/MCSMAX MAGAV - MAGAV/MCSMAX WRITEF,6100) DEMAV,MAGAV С FLUCT - (FLDEM - DEMAV*DEMAV/MCSMAX)/MCSMAX WRITEF,6200) FLUCT С DO 900 J-1,991,10 С WRITEF,6300) (IDIST(J-l + I),I=l/10) C900 CONTINUE С С FORMATS 6000 FORMATAH , E20.6,2X,E20.6,2X,110) 6100 FORMATAH ,I10,3X,E20.6,3X,I10) 6200 FORMATAH0, 'DEMON AV - ',E20.6,3X,' MAG AV = ',E20.6) 6300 FORMATAH0,110,IX,E20.6,IX,E20.6,IX,E20.6,IX,110) 6400 FORMATAH0,'DEMON FLUCTUATION - ',E20.6) 6500 FORMATAH0,10BX,110)) С STOP END Программа П5 Метод Монте-Карло для канонического ансамбля Программа представляет собой адаптацию алгоритма, опи- описанного в разделе 4.3.3. Ее цель - моделирование двумерной модели Изинга с переворотом спина. Основной текст программы идентичен программе П4. Для ознакомления с другими методами оптимизации программы моделирования модели Изинга отсылаем читателя к [1, 2], где описан метод мультиспинового кодиро- кодирования. Интересующиеся методами для векторных компьютеров могут обратиться к статьям Калле и Винкельмана [3], Вильям- са и Калоша [4] и др. [5-7]. с С Program to simulate the three dimensional Ising model С with the Glauber dynamic С С Required parameters for a simulation are: С С TEMP temperature in units of the critical С temperature С Н applied magnetic field С L linear system size
160 Приложения С ISEED seed for the modulo generator С MCSMAX maximum number of Monte Carlo steps С ISTART discard the first ISTART configurations С С Remark: for precision results the random number С generator R250 should be used С DIMENSION ISSA0,10,10),IMA0),IPA0) DIMENSION IEXA3) REAL MAG, FLMAG С С Set the simulation parameters С TEMP =0.96 H = 0.0 L =10 MCSMAX - 10 ISEED = 1515 ISTART = 0 T = TEMP/0.221673 WRITEF,*) 'ISING 3D LINEAR SIZE = ',L WRITEF,*) 'TEMPERATURE IS ',TEMP WRITEF,*) 'FIELD IS ',H С С Set up random number generator С MODM1 = 2147483647 MULT = 16807 IBM = 2*ISEED + 1 С С Initialize the other variables С DO 1 1=1,L IM(I) = 1-1 IP (I) = 1+1 1 CONTINUE IMA) = L IP(L) = 1 RLCUBE = L*L*L M = -RLCUBE/2 COUNT =0.0 MAG =0.0 FLMAG =0.0 С С Initialize the transition probabilities С DO 4 1=1,13,2 IEX(I) = MODM1 IEX(I+1) = MODM1 EX = EXP(A-7.0)*2.0/T-H) IF( EX.GT.l ) IEX(I) = MODM1/EX EX = EXP(A-7.0)*2.0/T+H) IF( EX.GT.l ) IEX(I+1) = MODM1/EX IBM = IBM*MULT IF( IBM.LT.O ) IBM = IBM + MODM1 + 1 4 CONTINUE -
2. Тексты программ 161 С С С 5 С С С С С Initialize the first configuration as all spins down DO 5 1=1,L DO 5 J»1,L DO 5 K=1,L ISSd/J/K) - -13 CONTINUE 8 С С MONTE CARLO PART DO 200 MSC=1,MCSMAX DO 100 IZ-1,L IMZ - IM(IZ) IPZ - IP(IZ) DO 100 IY=1,L IMY - IM(IY) IPY = IP(IY) DO 100 IX=1,L ICI - ISSdX,IY, IZ) IVORZ - ISIGNA,ICI) IEN - ICI*IVORZ IF( IEN.LT.7 ) GOTO 8 IBM - IBM*MULT IF( IBM.LT.O ) IBM - IBM + MODM1 + 1 IF( IBM.GT.IEX(IEN)) GOTO 100 CONTINUE 100 ICI - IVORZ*15 -2*IVORZ ISS(IM(IX) ,IY ISS(IP(IX) , IY, IZ) + ISS(IX,IMY,IZ) + ISS(IX,IPY,IZ) + ISS(IX,IY,IMZ) + ISS(IX, IY, IPZ) + ICH ICH ICH ICH ICH ICH 200 7000 =»= Flip spin M - M - IVORZ ISS(IX,IY,IZ) ICH ISS(IM(IX) , IY ISS(IP(IX) , IY, IZ) ISS(IX,IMY, IZ) ISS(IX, IPY, IZ) ISS(IX,IY, IMZ) ISS(IX, IY,IPZ) CONTINUE RM - M/1000.0 WRITEF,*) 'MAG ' ,RM IF( MCS.LE.ISTART ) GOTO 200 COUNT - COUNT +1.0 MAG - MAG + ABSB.0*M) CONTINUE RMAG = MAG/RLCUBE RMAG = RMAG/COUNT WRITEF, 6100) TEMP,COUNT,RMAG FORMATAH0,'TEMP - ',E20.10,2X,'AV OVER ',E20.10,2X, + 'MAG - ',E20.10) STOP END
СПИСОК ЛИТЕРАТУРЫ 1. 2. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6. 7. 8. / Ed. F.Neyman. Berkeley: California К главе 1 Hoshen /., Kopelman R. // Phys. Rev. B. 1976. V.14. P. 3428. Muller-Krumbhaar H. // Monte Carlo Methods in Statisti- Statistical Physics. 2nd ed. Topics Cur. Phys. V.7 / Ed. K.Bin- K.Binder. Berlin; Heidelberg: Springer, 1986. Имеется пере- перевод: Мюллер-Крумбхаар X. // Методы Монте-Карло в стати- статистической физике / Под. ред. К-Биндера: Пер. с англ. М.: Мир, 1982. f Eden М. // Ргос. 4th Berkeley Symp. Math. Stat. and Probability. V.4 ' "' ~" ^ . .- -. Press, 1960. К главе 2 Friedberg E., Cameron J E. // J. Chem. Phys. 1970. V.52. P.6049. Smith E.B., Wells B.H. // Mol. Phys. 1984. V.52. P.709. Fincham D. // Daresbury Lab. Information Quarterly for Computer Simulation of Condensed Phases. 1985. V.17. P. 43. Lebowitz J.L, Percus J.K. // Phys. Rev. 1961. V.124. P. 1673. Lebowitz J.L, Percus J.K., Verlet L // Phys. Rev. 1967. V.124. P. 1673. К главе З Wainwright Т.Е. // J. Chem. Phys. Wainwright Wainwright Т.Е. // Nuovo cimento. Т.Е. // J. Chem. Phys. Alder B.J., V.27. P. 1208. Alder B.J., V.9. P. 116. Alder B.J., V.31. P.456. Alder B.J., V.33. P.1439. Beeler J.R., Jr. Physics of Many-Particle Systems CMeeron. N.Y.: Gordon & Beach, 1964. Rahman A. // Phys. Rev. 1964. V.136. P.A405. Verlet L. // Phys. Rev. 1967. V.159. P.98. Binder K., Kalos M.N. // Monte Carlo Methods in tical Physics. - 2nd ed. - Topics Cur. Phys. V.7 Wainwright Т.Е. // J. Chem. Phys. 1957. 1958. 1959. 1960. / Ed. Statis- / Ed.
Список литературы 163 K.Binder. Berlin; Heidelberg: Springer, 1986. [Имеется перевод: Биндер К., Кейлос М. // Методы Монте-Карло в статистической физике. / Под. ред. КБиндера: Пер. с англ. М.: Мир, 1982.1 9. Turq P., Lantelme F., Friedman H.L. // J. Chem. Phys. 1977. V.46. P. 3039. 10. Ryckaert J.P., Ciccotti G., Berendsen H.J.C. // J. Comput. Phys. 1977. V.23. P.327. 11. Ciccotti G.f Ferrario M., Ryckaert J.P. // Mol. Phys. 1982. V.47. P. 1253. 12. Ciccotti G., Ryckaert J.P. // J. Chem. Phys. 1983. V.78. P. 7368. 13. Van Gunsteren W.F., Berendsen H.J.C. // Mol. Phys. 1977. V.34. P. 1311. 14. Tidlesley D.J., Madden P.A. // Mol. Phys. 1981. V.42. P. 1137. 15. Strait R.M., Holmgreen S.L, Chandler D. // Mol. Phys. 1981. P. 1233. 16. Menon М/С., Hockney R.W., Mitra S.K. // J. Comput. Phys. 1982. V.43. P. 345. 17. Nose 5., Klein M.L // Mol. Phys. 1983. V.50. P. 1055. 18. Andersen H.C. // J. Comput. Phys. 1983. V.52. P.24. 19. Ландау Л.Д., Лифшиц Е.М. Статистическая физика. 4.1. М.: Наука, Т976. * 20. Wood W.W., Parker F.R. // J. Chem. Phys. 1957. V.27. P. 720. 21. Shaw J.N. Monte-Carlo Calculations for a System of Hard-sphere Ions: Ph.D. Dissertation. Duke University, 1963. 22. Ewald P.P. // Ann. Physik. 1921. V.64. P.253. 23. Brush S.G., Sahlin H.L, Teller E. // J. Chem. Phys. 1966. V.45. P. 2102. 24. Parinello AT, Rahman A. // Phys. Rev. Lett. 1980. V.45. P. 1196. 25. Parinello M., Rahman A. // J. Appl. Phys. 1981. V.52. P. 7182. 26. Parinello M., Rahman A. // J. Chem. Phys. 1982. V.76. P. 2662. 27. Parinello M.t Rahman A., Vashishtra P. // Phys. Rev. Lett. 1983. V.50. P. 1073. 28. Pawley G.S., Thomas G.W. // Phys. Rev. Lett. 1982. V.48. P.410. 29. Nose S., Klein M.L // J. Chem. Phys. 1983. V.78. P.6928. 30. Dahlquist G., Bjorck A. Numerical Methods. Englewood Cliffs, N.J.: Prentice Hall, 1964. 31. Stoer J., Bulirsch. R. Einfuehrung in die Numerische Mathematik II. Berlin; Heidelberg: Springer, 1973. 32. Nordsieck A. // Math. Comput. 1962. V!l6. P.22. 33. Gear C.W. // Numerical Initial Value Problems in Ordi- Ordinary Differential Equations. Englewood Cliffs, N.J.: Prentice Hall, 1971. 34. Gear C.W. // Report ANL 7126, Argonne National Lab., 1966. 35. Gear C.W. // Math. Comput. 1967, V.21. P.146. 36. Beeman D. // J. Comput. Phys. 1976. V.20. P.130. 37. Toxvaerd S. // J. Comput. Phys. 1982. V.47. P.444.
164 Список литературы 38. LaBudde A., Greenspan D. // J. Comput. Phys. 1974. V.15. P. 134. 39. Greenspan D. // J. Comput. Phys. 1984. V.56. P.28. 40. Kanatani K. // J. Comput. Phys. 1984. V.53. P.181. 41. Aizu K. // J. Comput. Phys. 1984. V.55. P. 154. 42/ Aizu K. // J. Comput. Phys. 1985. V.58. P.270. 43. Wilkinson J.H. Rounding Errors in Algebraic Processes. L: Her Majesty's Stationary Office, 1963. 44. Penrose O., Lebowitz J.L Studies in Statistical Mecha- Mechanics / Eds J.L.Lebowitz, E.W.Montroll. Amsterdam: North Holland, 1979. 45. Heerman D.W., Klein W., Stauffer D. // Phys. Rev. Lett. 1982. V.49. P. 1262. 46. Swope W.C., Andersen H.C., Berens P.H., Wilson KR. // J. Chem. Phys. 1982. V.76. P.637. 47. Woodcock L.V. // Chem. Phys. Lett. 1970. V.10. P.257. 48. Quentrec В., Brot С // J. Comput. Phys. 1973. V.I. P. 430. 49. Haile J.M., Gupta S. // J. Chem. Phys. 1983. V.79. P. 3067. 50. Hoover W.G., Evans D.J., Hickman R.B., Ladd A.J.C., Ashurst W.T., Moran B. // Phys. Rev. A. 1980. V.22. P. 1690. 51. Hoover W.G. // Physica A. 1983. V.18. P.111. 52. Hoover W.G. Nonlinear Fluid Behaviour / Ed. H.J.Hanley. Amsterdam: North Holland, 1983. 53. Hoover W.G., Ladd A.J.C., Moran B. // Phys. Rev. Lett. 1983. V.48. P.3297. 54. Evans D.J., Morriss G.P. // Chem. Phys. 1983. V.77. P. 63. 55. Evans D.J. // J. Chem. Phys. 1983. V.78. P.3297. 56. Heyes D.M., Evans D.J., Morriss G.P. // Daresbury Lab. Information Quartely for Computer Simulation of Conden- Condensed Phases. 1985. V.17. P.25. 57. Van Swol F., Woodcock L.V., Cape J.N. // J. Chem. Phys. 1980. V.75. P.913. 58. Broughton J.Q., Gilmer G.H., Weeks J.D. // J. Chem. Phys. 1981. V.75. P.5128. 59. Brown D., Clarke J.H.R. // Mol. Phys. 1984. V.51. P. 1243. 60. Nose S. // Mol. Phys. 1984. V.52. P.255. 61. Nose S., Klein M.L. // Mol. Phys. 1983. V.50. P. 1055. 62. Nose S. // J. Chem. Phys. 1984. V.81. P.511. 63. DiNola A., Haak J.R. // J. Chem. Phys. 1984. V.81. P.3684. 64. Ray J.R. // AJP. 1972. V.40. P. 179. 65. Andersen H.C. // J. Chem. Phys. 1980. V.72. P.2384. 66. Haile J.M., Graben H.W. // J. Chem. Phys. 1980. V.73. P.2412. 67. Smith W. Unpublished. 68. Adams D. // Daresbury Lab.Information Quartely for Com- Computer Simulation of Condensed Phases. 1983. V.10. P.30. 69. tincham D. // Daresbury Lab. Information Quartely for Computer Simulation of Condensed Phases. 1984. V.12. P.43.
Список литературы 165 К главе 4 1. Feller W. An Introduction to Probability Theory and Its Application. N.Y.: Wiley, 1968. 2. Turq P., Lantelme F., Friedman H.L // J. Chern, Phys. 1977. V.66. P. 3039. 3. Chandrasekhar S. // Rev. Mod. Phys. 1943. V.15. P.I. 4. Wang M.C., Uhlenbeck G.E. // Rev. Mod. Phys. 1945. V. 17 P.323. 5. Ludwig A. Stochastic Differential Equations: Theory and Applications. N.Y.: Wiley, 1974. 6. Rice S.O. // Bell Syst. Tech. J. 1946. V.23. 7. Doob J.L // Ann. Math. 1942. V.43. P.351. 8. Doob J.L // Ann. Amer. Stat. 1944. V.15. P.229. 9. Ermak D.L // J. Chem. Phys. 1974. V.62. P.4189. 10. Ermak D.L // J. Chem. Phys. 1974. V.62. P.4197. 11. Doll J.D., Dion D.R. // J. Chem. Phys. 1976. V.65. P. 3762. 12. Schneider Т., Stoll E. // Phys. Rev. B. 1976. V.13. P. 1216. 13. Schneider Т., Stoll E. // Phys. Rev. B. 1978. V.17. P. 1302. 14. Van Gunsteren W.F., Berendsen H.I.С // Mol. Phys. 1982. V.45. P.637. 15. Allen M.P. Stochastic Dynamics. CECAM Workshop Report, 1978. 16. Allen M.P. // Mol. Phys. 1980. V.40. P. 1073. 17. Allen M.P. // Mol. Phys. 1982. V.47. P.599. 18. Berendsen H.J.C., Postma J.P.M., van Gunsteren W.F., DiNola A., Haak J.R. // J. Chem. Phys. 1984. V.81. P.3684. 19. Halton J.H. // Siam. Rev. 1970. V.12. P.4. 20. Hammersley J.M., Handscomb D.C. Monte Carlo Methods. N.Y.: Chapman & Hall, 1964. 21. James F. // Rep. Prog. Phys. 1980. V.43. P.73. 22. Papoulis A. Probability, Random Variables and Stochas- Stochastic Processes. Tokyo: McGraw-Hill, 1965. 23. Metropolis N., Rosenbluth A.W., Rosenbluth M.N., Teller A.H., Teller E. // J. Chem. Phys. 1953. V.21. P. 1087. 24. Mueller-Krumbhaar H., Binder K. // J. Stat. Phys. 1973. V.8. P.I. 25. Binder K. // Adv. Phys. 1974. V.23. P.917. 26. Binder K. Phase Transitions and Critical Phenomena / Ed. CDomb, M.S.Green. N.Y.: Academic, 1976. 27. Fosdick LD. // Methods Comput. Phys. 1963. V.I. P.245. 28. Fisher I.Z. // Sov. Phys. Usp. 1959. V.2. P.783. 29. Binder K. // Monte Carlo Methods in Statistical Phy- Physics. 2nd ed. / Ed. K- Binder. Topic Cur. Phys. V.7. Berlin; Heidelberg: Springer, 1986. [Имеется перевод: Биндер К. // Методы Монте-Карло в статистической физике / Под. ред. КБиндера: Пер. с англ. М.: Мир, 1982.] 30. Kawasaki К. Phase Transitions and Critical Phenomena. V.2 / Eds CDomb, M.S.Green. N.Y.: Academic, 1972. 31. Wood W.W. Physics of Simple Liquids / Eds H.N.V.Temper- ley, J.S.Rushbrook. Amsterdam: North Holland, 1968. 32. Stanley H.E. Introduction to Phase Transitions and Cri- Critical Phenomena. London: Oxford Univ. Press, 1971.
166 Список литературы 33. Mouritsen O.G. Computer Studies of Phase Transitions and Critical Phenomena. Berlin; Heidelberg: Springer, 34. Hill T.L. Thermodynamics of Small Systems. N.Y.: Benja- Benjamin, 1963. 35. Palmer R.G. // Adv. Phvs. 1982. V.31. P.669. 36. Stauffer D. Частное сообщение. 37. Ferdinand A.E., Fisher M.E. // Phys. Rev. 1969. V.185. P. 832. 38. Hohenberg Я.С., Halperin B.I. // Rev. Mod. Phys. 1977. V.49. P. 435. 39. Binder K., Stauffer D. // Adv. Phys. 1976. V.25. P.343. 40. Binder K. // J. Stat. Phys. 1981. V.24. P.69. 41. Stoll E., Binder K-, Schneider T. // Phys. Rev. B. 1973. V.8. P. 3266. 42. Choi N.Y., Huberman B.A. // Phys. Rev. B. 1984. V.29. P. 2796. 43. Binder K. // J. Comput. Phys. 1985. V.59. P.2796. 44. Chabrabarty B.K., Baumgaertel H.G., Stauffer D. // Z. Phys. B. 1981. V.44. Р.ЗЗЗ! 45. Kalle С // J. Phys. 1984. V.A17. 46. Creutz M. // Phys. Rev. Lett. 1983. V.50. P.1411. 47. Tolman R.C. The Principles of Statistical Mechanics. N.Y.: Dover, 1979. 48. I sing E. // Z. Phys. 1925. V.31. P. 253. 49. Binder K., Muller-Krumbhaar H. // Phys. Rev. B. 1973. V.7. P.3297. 50. Cahn J.W. // J. Chem. Phys. 1977. V.66. P.3667. 51. Binder K., Landau DP. // J. Appl. Phys. 1985. V.57. P. 3306. 52. Glauber R.J. // J. Math. Phys. 1963. V.4. P.294. 53. Barber M.N. Phase Transitions, Critical Phenomena / Eds C.Domb, J.LXebowitz. N.Y.: Academic, 1983. 54. Landau D.P. // Phys. Rev. B. 1967. V. 13. P.2997. 55. Swendsen R.H., Krinsky S. // Phys. Rev. Lett. 1979. V.43. P.177. 56. Bortz А.В., Kalos M.H., Lebowitz J.L. // J. Comput. Phys. 1975. V.17. P. 10. 57. Sabiq A. // J. Comput. Phys. 1984. V.55. P.387. 58. Salsburg Z.W., Jacobsen I.D., Fickett W., Wood W.W. // J. Chem. Phys. 1959. V.30. P.65. 59. Hansen I. P., Verlet L // Phys. Rev. 1969. V.184. P. 151. 60. Binder K. // J. Stat. Phys. 1981. V.24. P.69. 61. Binder K. // Z. Phys. B. 1981. V.45. P.61. 62. Polgreen T.L // Phys. Rev. B. 1984. V.29. P. 1468. 63. Ma S.K. // J. Stat. Phys. 1981. V.26. P.221. 64. Alexandrowicz Z. // J. them. Phys. 1971. V.55. P.2765. 65. Meirovitch H., Alexandrowicz Z. // J. Stat. Phys. 1977. V.16. P.121. 66. Meirovitch H. // Chem. Phys. Lett. 1977. V.45. P.389. 67. Meirovitch H. // J. Stat. Phys. 1983. V.30. P.681. 68. Valleau J.P., Cord D.N. // J. Chem. Phys. 1972. V.57. P.5457. 69. Torrie G., Valleau J.P. // Chem. Phys. Lett. 1974. V.28. P. 578:.
Список литературы 167 70. Torrie G., Valleau J.P. // J. Comput. Phys. 1977. V.23. P. 187. 71. Kawasaki K., Imaeda Т., Gunton J.D. Perspectives in Statistical Physics / Ed. H.J.Raveche. Amsterdam: North Holland, 1981. 72. Gunton J.D., San Miguel M., Sahni P. Phase Transitions and Critical Phenomena. V.8 / Eds СDomb, J.LLebowitz. N.Y.: Academic, 1985. 73. Kadanoff L.P. // Physics. 1966. V.2. P.263. 74. Freedman В., Smolensku P., Weingarten D. // Phys. Lett. 1982. V.113B. P.481. 75. Milchev A, Heerman D.W., Binder K. // J. Stat. Phys. 1986. 76. Norman G.E., Filinov V.S. // High. Temp. USSR. 1969. V.7. P.216. 77. Valleau J.P., Cohen LK. // J. Chem. Phys. 1980. V.72. P. 5935. 78. Adams D.J. // Mol. Phys. 1974. V.28. P. 1241. 79. Adams D.J. // Mol. Phys. 1975. V.29. P.307. 80. Rowley LA., Nicholson D., Parsonage N.G. // J. Comput. Phys. 1975. V.17. P.401. 81. Rowley LA., Nicholson D., Parsonage N.G. // Mol. Phys. 1976. V.31. P. 365. 82. Yao J. // Ph.D. Dissertation. Purdue Univ., 1981. 83. Yao J., Greenkorn R.A., Chao КС. // Mol. Phys. 1982. V.46. P.587. К приложению 1 1. Lach J. Unpublished, 1962. 2. Barber M.N., Pearson R.B., Toussaint D., Richardson J.L // Phys. Rev. B. 1985. V.32. P. 1720; Kalle C, Wansleben S. // J. Stat. Phys. 4. Pearson R.B., Richardson J.L, Toussaint D. // J. Comput. Phys. 1983. V.51. P. 241; Pearson R.B. // J. Comput. Phys. 1983. V.49. P.478; Hoogland A., Spaa J., Selman В., Compagner A. // J. Comput. Phys. 1983. V.51. P. 250. 4. Hoogland A. Unpublished. 5. Margolina A. Unpublished. 6. Ahrens J.H., Dieter U. Pseudo Random Numbers. N. Y.: Wiley, 1979; Ahrens J.H., Dieter U. // Math. Comput. 1973. V.27. P.927. 7. Knuth D. The Art of Computer Programming. V.2. Reading: Addison-Wesley, 1969. [Имеется перевод: Кнут Д. Искус- Искусство программирования для ЭВМ. Т.2. Получисленные алго- алгоритмы: Пер. с англ. М.: Мир, 1977.] 8. Lehmer D.H. // 2nd Symp. on Large-Scale Digital Compu- Computing Machinery. Cambridge: Harvard Univ. Press, 1951. P. 142.; Hun Т.Е., Dobell A.R. // J. ACM. 1964. V.ll. P. 31. 9. MacLaren M.D., Marsaglia G. // J. ACM. 1965. V.12. P. 83. 10. Carmichael R.D. // Bull. Am. Math. Soc. 1910. V.16. P. 232. 11. Stauffer D. // J. Appl. Phys. 1982. V.53. P. 7980.
168 Список литературы 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 1. 2. 3. 4. 5. 6. 7. // J. ACM. // Math. 1960. V.7. P. 72. Comput. 1961. V.15. P.383; 1962. 1983. V.23. P.65. // J. ACM. 1967. V.14. Williams G.O., Kalos M.H. // J. Stat. Phys. 1984. V.17. P.534. Coveyou R.R. Greenberg M. V.16, P. 126. Borosh /., Niederreiter H. // BIT. Coveyou R.R., MacPherson R.D. P. 100. Marsaglia G. // Proc. Nat. Acad. Sci. 1968. V.61. P.25. Tausworth R.C. // Math. Comput. 1965. V.19. P.201. Zierler N. // Inform. Contr. 1969. V.15. P. 67; Zierler N., Brillhart J. // Inform. Contr. 1968. V.13. P.541; 1969. V.14, P. 556; Niederreiter H. Probability and Sta- Statistical Interference / Ed. W.Grossman, G. Pflug. Ams- Amsterdam: North Holland, 1982; Fushimi M., Tezuka S. // Commun. ACM. 1983. V.26. P.516. Kirkpatrick S., Stoll E.P. // J. Comput. Phys. 1981. V.40. P.517; Greenwood LA. Unpublished, 1981. Groote. Частное сообщение. Lewis T.G., Payne W.H. // J. ACM. 1973. V.20. P.456. Tootill J.P.R., Robinson W.D., Adams A.G. // J. ACM. 1971. V.28, P.381. Hamming R.W. Numerical Methods for Scientists and Engi- Engineers. N.Y.: McGraw-Hill, 1962. Collected algorithms of ACM. Von Neumann J. Various techniques used in connection with random digits: Collected Works. V.5. N.Y.: Perga- mon, 1963. Forsythe G.E. // Math. Comput. 1972. V.26. Brent R.P. Algorithm 488 // Collected CACM. Box G.E. P., Muller M.£., Marsaglia G. Stat. 1958. V.28. P.610. P.817. Algorithms from // Ann. Math. // J. Chem. Phys. 1970. Comput. Phys. 1975. V.17. J. Stat., Phys. 1982. V.28. К приложению 2 Friedberg R., Cameron I.E. V.52. P.6049. Jacobs L, Rebbi С // J. P. 10. Kalle C, Winkelmann. V. // P. 639. Williams CO., Kalos M.H. // J. Stat. Phys. 1984. Bortz А. В., Kalos M.H., Lebowitz J.L // J. Comput. Phys. 1975. V.17. P. 10. Kalos M.H. // Proc. Brookhayen Conf. on Monte Carlo Methods & Future Computer Architecture, 1983. Schmidt K.E. // Phys. Rev. Lett. 1983. V.51. P.2175.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Алгоритм А1 12 А2 46 A3 47 А4 58 А5 67 А6 71 А7 84 А8 85 А9 97 А10 103 All 109 А12 124 А13 126 А14 128 Беемана 33 Верлета 46 , скоростная форма 47 , ступенчатая формулировка 58 П1.1 133 П1.2 137 П1.3 141 П1.4 141 П1.5 142 Эвальда 30 Эйлера 32 обратный 72 Ансамбль 21 большой канонический 124 канонический 24, 55 мнкроканонический 23 Антиферромагнетизм 104 Базисная ячейка 29 Блуждание без самопересечений 75 случайное 75 Величина наблюдаемая 21 Вероятность перехода 76 условная 75 Виртуальная частица 128 Временная шкала 34, 100 Временной шаг 16 Время корреляции 40, 83 наблюдения системы 22 реальное 17 релаксации 43 среднее возвратное 78 Выборка предпочтительная 91 прямая 89 Гамильтониан 21 системы одноатомных частиц 28 Генератор случайных чисел 131 линейный коэнгруэнтный 133 мультипликативный 134 смешанный 134 Граничные условия 23 нестандартные 107 периодические 28, 107 свободной границы 107 усеченного октаэдра 72 Демон 103 Динамика броуновская 79, 80 внутренняя 65 Кавасаки 110 собственная 22 Дискретизация 16
170 Предметный указатель Задача Коши 30 Закон больших чисел усиленный 89 89 Инициализация 42 Интеграл стохастический 21, 80 Кластер 11 стягивающий 12 Эдеиа 18 Конечность размеров системы 23, 99 , нормировка 99 , эффекты 23 Конфигурация 11 Координаты нормированные 65 Коррекция' обрезания 40 Марковская цепь 74 Марковский процесс 23, 74 Матрица стохастическая 77 МД-шаг 34 МД-ячейка 28 Метод двухшаговый 32 многошаговый 33 моделирования детерминистический 18, 22 молекулярной динамики 18 Монте-Карло 15, 87 стохастический 15, 22 одношаговый 32 полярных координат 142 связей 56 Механика статистическая 21 Минимум расстояния между отобра- отображениями 29 МК-шаг на один спин 105 Модель Изинга 104, 109 с переворотом спина 110 Молекулярная динамика 26 изокинетическая 56 Намагниченность 105 Начальное значение последователь- последовательности 134 Начальные условия 42, 54 Нормировка скоростей частиц 47 Параметр порядка 104, 117 Переход между состояниями 75 фазовый 104 Период последовательности 78 Перколяция 11 , порог 11 Плотность 28 спектральная 81 Погрешность дискретизации 31 глобальная 32 локальная 32 округления 35, 46 Порядок алгоритма 32 Потенциал Леннарда-Джонса 48 Предел термодинамический 23 Пример 3.1 48 3.2 61 3.3 68 3.4 71 4.1 85 4.2 104 4.3 109 4.4 116 Принцип Гаусса 61 Программа П1 139 П2 144 ПЗ 151 П4 156 П5 159 Пространство фазовое 16, 21 Равновесие системы 42, 48 тепловое 76 Разложение Тейлора 31 Разность восходящая 32 нисходящая 32 центральная 45 Распределение инвариантное 77 кумулятивное 119 равномерное 133 стационарное 77 Реализация 11 Резервуар тепловой 55, 108 Решетка кубическая 11 гранецентрироваиная 49 Обрезание потенциала 30 Отображения частицы 29 О-символика 31 Связь иеголономная 56 обменная 104
Предметный указатель 171 Сила стохастическая 27 центральная 28 Система аргоиоподобная 40, 48, 68, 85 Скорости на половинном шаге 58 Состояние апериодическое 78 системы 21 устойчивое 78 эргодическое 78 Сохранение момента 35 энергии 35, 44 Спин 104 Схемы предсказывающие и исправля- исправляющие 33 Таблица Верлета 55 Теорема Винера-Хинчина 81 о равнораспределении 39 центральная предельная 90 Теплоемкость удельная 23 Траектория 16, 22 Уравнение в аддитивной форме 47 дифференциальное стохастическое 27 Ланжевена 27, 80 Уравнение основное 95 состояния вириальное 41 Условие детального равновесия 96, 108 Усреднение по ансамблю 21 по времени 21 по траектории 37 Флуктуации объема 64 Функционал Лаидау-Гинзбурга- Вильсона 116 Функция Глаубера 111, 130 корреляционная 82 парная 40 Метрополиса 111, 130 остатка 132 Цепь неприводимая 77 приводимая 77 Цикл последовательности 133 Число псевдослучайное 132 Энергия свободная 23, 97, 115 Энтальпия 64 Эргодичность 22, 78
ДОПОЛНЕНИЕ Каталог программ компьютерного моделирования Ниже приведен выборочный каталог программ для компьютер- компьютерного моделирования методами Монте-Карло (МК) и молекулярной динамики (МД) различных физических задач. Все эти программы написаны на фортране и входят в библиотеку журнала Compu- Computers Physics Communications (CPC). Они могут быть получены при соответствующем запросе (см. инструкцию в журнале). Каталог устроен следующим образом. В первой строке каж- каждой ссылки указан буквенный номер программы по каталогу СРС, затем следуют год, том и страница начала статьи в жур- журнале СРС, в которой приведены описание программы и инструк- инструкция пользователю. В следующих строках ссылки указаны назва- название программы и ее авторы. AAUP 1975 9 360 Программа общего назначения для моделирования методом Монте-Карло. П.Дуфоур, Ж.Шлезингер ACIC 1974 7 289 МК-моделирование эффектов многократного рассеяния в эк- экспериментах по рассеянию тепловых нейтронов (см. также вер- версию AAFR этой программы). Ж. Р. Д. Коплей ACIC 1975 9 59 МК-моделирование эффектов многократного рассеяния в эк- экспериментах по рассеянию тепловых нейтронов; модификация
Дополнение 173 для SLAB-геометрии. Ж. Р. Д. Коплей ACIC 1975 9 64 МК-моделирование эффектов многократного рассеяния в эк- экспериментах по рассеянию тепловых нейтронов; модификация для геометрии горизонтального цилиндра. Ж. Р. Д. Коплей ACIC 1981 21 431 МК-моделирование эффектов многократного рассеяния в эк- экспериментах по рассеянию тепловых нейтронов; улучшенная версия для вычисления интенсивиостей упругого когерентного рассеяния. Ж. Р. Д. Коплей AAFR 1986 40 337 Улучшенная версия программы МК-моделирования эффектов многократного рассеяния в экспериментах по рассеянию тепло- тепловых нейтронов (см. также программу ACIC). Ж-РД-Коплей, П.Веркерт, А.А.ВанУэлл, Г.Фредрикс AADW 1986 39 173 Моделирование трехмерной модели Изинга (см. также про- программу AALU). М. Крутц, К. Ж- М. Мориэрти AALU 1986 42 191 Векторизованная программа для ЭВМ CDC CYBER 205 для мо- моделирования трехмерной модели Изинга (см. также программу AADW). М. Крутц, К. Ж. М. Мориэрти, М. О. Брейн AAUA 1970 1 425 Метод МК с использованием предпочтительной выборки для моделирования столкновений адронов высоких энергий. В.Киттель, Л.ВанХоув, В.Войчик AAUO 1975 9 297 Генератор скорости для МК-моделирования цилиндрического
174 Дополнение фазового пространства. С. Ядаш AAWB 1977 13 399 Программа МК-интегрироваиия для п частиц в релятивист- релятивистском фазовом пространстве по инвариантным переменным. Р. А. Морроу ACFS 1984 31 411 МК-программа для моделирования распадов барионных резо- нансов. К.Хансен, С.Риттер AADN 1986 39 37 МК-программа для моделирования неупругих адрон-нуклон- иых взаимодействий при энергиях, меньше 5 ГэВ. К. Хансен, С. Риттер AADO 1986 39 37 МК-программа для моделирования иеупругих адрон-ядерных взаимодействий при энергиях, меньше 5 ГэВ. К. Хансен, С. Риттер AAFU 1986 40 359 Новый метод МК для расчета миогочастичного фазового про- пространства в физике высоких энергий. К.Клейс, В.Ж.Стирлинг, С.Д.Эллис AAFW 1986 41 127 Новый МК-генератор событий для физики высоких энергий. С. Кавабата ААОА 1982 27 201 Программа для МК-моделирования модели РРКМ мономолеку- мономолекулярного распада в экспериментах с молекулярными пучками. К. Рунефорс ABJS 1989 55 177 Программы для расчета элементов матрицы Больцмаиа. П. А. Картер
Дополнение 175 ABDA 1988 49 465 Быстрая векторизованная программа для ЭВМ CDC CYBER 205 для моделирования спиновых стекол в трехмерной модели Изиига. Г.Бхэнот, Р.Сальвадор, Д.Дукс, К.Ж.М.Мориэрти ABFY 1989 52 249 Моделирование трехмерной модели Изинга для симметричных и цеитросимметричных кубических решеток. Ж.М.Дроуфф, К.Ж.М.Мориэрти ABVO 1980 21 247 Программа для МД-моделирования жидкостей (I). Сфериче- Сферические молекулы с близкодействующим потенциалом. Д. Финчем AARM 1982 25 159 Программа для МД-моделирования жидкостей и твердых тел (II). Жесткие ионы (используются суммы Эвальда). (См. также программу AARN). Н.Анастасиу, Д.Финчем AARN 1982 25 177 Векторизованная версия программы AARM для ЭВМ CRAY-1. Д. Финчем AADS 1986 39 133 Программа для вычисления структуры и термодинамических свойств классической жидкости из твердых гомоядерных двух- двухатомных молекул. Ф.Ладо AALR 1986 42 271 Пакет для компьютерного моделирования жидкостей и твер- твердых тел с полярными взаимодействиями (I). Системы типа воды. А.Лаксонен
Научное издание ХЕЕРМАН Дитер В. МЕТОДЫ КОМПЬЮТЕРНОГО ЭКСПЕРИМЕНТА В ТЕОРЕТИЧЕСКОЙ ФИЗИКЕ Серия сКомпьютеры в фнзнке», выпуск 1 Заведующий редакцией Л. И. Гладнева Редактор Н.В.Самойлова Художественный редактор Т.Н.Кольченко Технический редактор А. П. Колесникова Корректор Е Ю Рычагова ИБ № 41050 Компьютерный набор Подписано в печать с орнгинал-макета 11.05.90. Формат 60X90/16. Бумага книжно-журнальная. Гарнитура литературная. Печать офсетная. Усл. печ. л. 11. Уел кр.-отт 11,25. Уч.-нзд. л. 10,66. Тираж 10000 экз. Заказ № 203 . Цена 2 р. Издательско-производствениое и книготорговое объединение сНаука». Главная редакция физико-математической литературы 117071 Москва В-71, Ленинский проспект, 15 Четвертая типография издательства "Наука" 630077 Новосибирск,77, ул. Станиславского, 25