Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Компьютерное моделирование физических явлений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
где Es и Аs обозначают полную энергию и значение физической величи-
A
s
E
s
A
ны А в конфигурации s. Здесь можно применить простейшую процедуру Монте-Карло, состоящую в том, что генерируется случайная конфигу-
рация, вычисляются E
, Аs и произведение Asexp(-Es) и подсчитывается
s
соответствующий вклад этой конфигурации в суммы (8.10). Однако ка­ждая такая конфигурация была бы, по-видимому, очень маловероятна и поэтому давала бы малый вклад в сумму. Вместо этого нужно пользо­ваться методом существенной выборки и генерировать конфигурации в
соответствии с функцией распределения вероятностей
. Поскольку ус-
s
реднение будет проводиться по m конфигурациям смещенной выборки, для исключения этого смещения необходимо взвешивать каждую кон-
фигурацию с множителем 1/


Анализ формулы (8.11) убеждает в том, что в качестве
:
s
mm
11
AE E
exp( ) / exp( )
s

ss
ss
. (8.11)
целесооб-
s
разно выбрать распределение Больцмана:
В результате такого выбора
exp( )
s
exp( )
s
величину <А> можно записать в виде
s
E
s
1
m
s
. (8.12)
A
. (8.13)
Выбор
в виде (8.12) предложен Метрополисом. В задачах стати-
s
стической механики выражения «метод Монте-Карло» и «метод выбор­ки Метрополиса» – почти синонимы. Приведем наиболее общую форму алгоритма Метрополиса на примере системы спинов или частиц.
1. Формирование начальной конфигурации.
2. Случайное пробное изменение в начальной конфигурации. На-
пример, выбираем случайным образом какой-нибудь спин и пробуем его перевернуть. Или выбираем случайную частицу и пробуем перемес­тить ее на случайное расстояние.
3. Вычисляем
E, т. е. изменение энергии системы, обусловленное
произведенным пробным изменением конфигурации.
4. Если
E меньше или равно нулю, то принимаем новую конфигу-
рацию и переходим к шагу 7.
5. Если
W = exp(–
E положительно, вычисляем вероятность перехода
E/kT).
6. Генерируем случайное число r в интервале (0, 1).
141
7. Если r ≤ W, то новую конфигурацию принимаем, в противном
случае сохраняем предыдущую конфигурацию.
8. Определяем значения требуемых физических величин.
9. Повторяем шаги 1–7 для получения достаточного числа конфи-
гураций или испытаний.
10. Вычисляем средние по конфигурациям, которые статистически
независимы друг от друга.
Описанные выше шаги можно интерпретировать как случайное блуждание. Будем считать различные конфигурации точками, снабжен­ными порядковыми номерами i = 1, 2, 3, ... , и рассмотрим случайное блуждание по этим точкам. Шаги 2–6 дают условную вероятность того, что в момент времени t + 1 прохожий будет находиться в точке i при ус­ловии, что в момент времени t он был в точке j. Поскольку нужно вы­числять тол
ько отношение P(i) / P(j), нормировать P(i) на единицу нет необходимости. Заметим, что конфигурации генерируются с вероятно­стью, пропорциональной требуемой вероятности, и поэтому все средние превращаются в арифметические средние, как в формуле (8.13).
По-
скольку, однако, коэффициент пропорциональности неизвестен, то оце­нить этим способом сумму по состояниям Z невозможно.
Доказательство того, что после достаточного числа шагов алгоритм Метрополиса генерирует состояния с вероятностью, пропорциональной распределению Больцмана, мало дает для физического понимания алго­ритма. Вместо этого можно применить этот алгоритм к идеальному классическому газу и классическому магниту в магнитном поле и убе­диться, чт
о по прошествии достаточного времени алгоритм Метрополи-
са действительно дает распределение Больцмана.
Хотя мы выбираем в качестве можны и другие варианты, например
го распределения, т. е. с непостоянным значением ω
распределение Больцмана, воз-
s
= ωsехр (–Es). Принятие друго-
s
, для некоторых за-
s
дач оказывается полезным. Кроме того, указанный выше выбор вероятности перехода W не является единственным приводящим к рас­пределению Больцмана в асимптотическом пределе. Можно показать, что единственное требование заключается в том, чтобы W удовлетворя­ло принципу «детального равновесия»:
где W(1
→2) – вероятность перехода в единицу времени системы из
(1 2)exp( / ) (2 1) exp( / )WEkTWEkT 
12
, (8.14)
конфигурации 1 в конфигурацию 2.
142
■ВероятностнаямодельИзингадляканоническогоансамбля
Пусть n – размер решетки, m – число шагов; B – внешнее магнитноеполе в единицах1/kT; J –энергиявзаимодействиявединицах1/kT.
1.Создадимдвумерныймассив,размерностьюnнаn,вкаждуюячейкукото‐
ройслучайнымобразомзаписывается1или–1.Начальнаярешетка lat:
initconfig = 2*Table[Random[Integer], {n}, {n}] – 1;
lat = initconfig;
Следующаяпоследовательностьшагов 2–4должнабытьвыполненане‐ сколькораз(этоуказаноивп.5),первыйразиспользуетсяначальнаяконфи‐ гурация решетки,азатемконфигурация, полученнаяв расчетена предыду‐ щемшаге.
2.Выберемслучайнуюячейкув lat:
{i1,i2} = {Random[Integer, {1, n}], Random[Integer, {1, n}]}
3.Определимизменениеэнергии,котораяполучитсяврезультатепереворота
спинаввыбраннойячейке.Этоделаетсязанесколькошагов:
3а.Определимчислососедейвыбраннойячейки.Еслиячейканаходитсявнут‐ рирешетки lat, у нееможет бытьчетыре соседнихместа:верхнее,нижнее,пра‐ вое,левое.Когдавыбраннаяячейканаходитсянагранице lat, соседними счита‐ ютсяместаспротивоположнойсторонырешетки.Такойвыборсоседейдля граничных ячеек называется периодическими граничными условиями.Соседивы‐ бранной ячейки –этоместа lat[[dn,i2]] (нижний сосед), lat[[up,i2]] (верхнийсосед), lat[[i1,rt]] (правый сосед), lat[[i1,lt]] (левыйсо‐ сед).Величины dn, up, rt, lt определяютсясогласноусловиям:
If[i1 == n, dn = 1, dn = i1+1];
If[i2 == n, rt = 1, rt = i2+1];
If[i1 == 1, up = n, up = i1-1];
If[i2 == 1, lt = n, lt = i2-1];
3b.Изменениеэнергии,котороеполучаетсяв результате переворота спинана выбранном месте определяетсявыражением: 2(B+J), где 2 –количествовзаимо‐ действующихячеек, J –полныйспинсоседнихячеек; B, J –задаваемыевеличины.
2 lat[[i1, i2]] (B + J nnvalsum)
гдеnnvalsum–полныйспинсоседей
nnvalsum = lat[[dn, i2]]+lat[[up, i2]]+lat[[i1, rt]]+lat[[i1, lt]]
Величина lat[[i1,i2]] может принимать значения 1,–1, а величина nnvalsum – значения4(всеспинынаправленывверх),2(тривверхиодинвниз),0
(двавверхидвавниз),–2(тривниз,одинвверх),–4(всечетыревниз).Такимобра‐ зом, при переворачивании спина можно получить десять вариантов значений из‐ мененияэнергии.
Передтемкакрассчитатьизменениеэнергии,создадимтаблицуеевозмож‐ ныхзначений:
energydiff[ 1, 4] = 2 (B + 4J); energydiff[ 1, 2] = 2 (B + 2J);
energydiff[ 1, 0] = 2 (B + 0J); energydiff[ 1,-2] = 2 (B – 2J);
energydiff[ 1,-4] = 2 (B – 4J); energydiff[-1, 4] = -2 (B + 4J);
energydiff[-1, 2] = -2 (B + 2J); energydiff[-1, 0] = -2 (B + 0J);
energydiff[-1,-2] = -2 (B – 2J); energydiff[-1,-4] = -2 (B – 4J);
143
Согласноусловию,отрицательноезначениевеличины energydiff означает понижениеэнергии решетки, а положительное значение этой величины –увеличе‐ ниеэнергиирешетки.
4.ИспользуяметодМетрополиса,решаем,нужнолипереворачиватьспинна
выбранномместе:
4а.Проверяем,неполучаетсялиприпереворотеспинаотрицательноезначе‐ ниеизмененияэнергии.Энергияповерхностипонижается врезультатепереворота (т.е.если energydiff – отрицательна).
energydiff[lat[[i1, i2]], nnvalsum] < 0
4б.Еслиизменениеэнергиинеотрицательно,проверяем,выполняетсялиус‐ ловие,такое, чтоэкспонента от величины изменения энергии сминусом должна бытьбольшеслучайногочислаот0до1.
Энергиярешеткиповышаетсяврезультатепереворота,новеличина
exp[-energydiff], большечемслучайноечислоот0до1.
Random[] < Exp[-energydiff[lat[[i1, i2]], nnvalsum]
Чембольшеувеличениеэнергииприперевороте,тембольшеположительная величина energydiff, следовательно, уменьшается значение экспоненты и уве‐ личиваетсявероятностьвыполнениявышеописанногоусловия.
4в.Еслихотябыодноизэтихусловийвыполняется,переворачиваемспин.
lat[[i1, i2]] = –lat[[i1, i2]]
4г.Возвращаемзначениеполучившейсяконфигурации.
МетодМетрополиса,(пп.4а‐г),выражаетсяусловием
If[energydiff[lat[[i1, i2]], nnvalsum] < 0 ||
Random[] < Exp[-energydiff[lat[[i1, i2]], nnvalsum],
lat[[i1, i2]] = -lat[[i1, i2]]; lat, lat]
5.Выполнимпоследовательностьшагов2–4 m раз.
Используявышеперечисленные фрагментыкода,можносоставитьпрограмму для моделиИзингаиполучениядинамикинамагниченности mag:
s := ( energydiff[ 1, 4] = 2 (B + 4J); energydiff[ 1, 2] = 2 (B + 2J); energydiff[ 1, 0] = 2 (B + 0J); energydiff[ 1,-2] = 2 (B – 2J); energydiff[ 1,-4] = 2 (B – 4J); energydiff[-1, 4] = -2 (B + 4J); energydiff[-1, 2] = -2 (B + 2J); energydiff[-1, 0] = -2 (B + 0J); energydiff[-1,-2] = -2 (B – 2J); energydiff[-1,-4] = -2 (B – 4J);
{i1, i2} = {Random[Integer,{1, n}], Random[Integer,{1, n}]}; If[i1 == n, dn = 1, dn = i1+1]; If[i2 == n, rt = 1, rt = i2+1]; If[i1 == 1, up = n, up = i1-1]; If[i2 == 1, lt = n, lt = i2-1]; nnvalsum = lat[[dn, i2]] + lat[[up, i2]] +lat[[i1, rt]] + lat[[i1, lt]]; If[energydiff[lat[[i1, i2]],nnvalsum] < 0 || Random[] < Exp[-energydiff[lat[[i1, i2]], nnvalsum]], lat[[i1, i2]] = -lat[[i1, i2]];lat,lat];Return[lat] )
144
n = 50; m = 100; B = 0; J = -0.1; initconfig = 2*Table[Random[Integer], {n}, {n}] – 1; lat = initconfig; T=Table[0,{m}]; mag=Table[0.,{m}];
Do[T[[i]] = s; l = Flatten[T[[i]]]; nl = Length[l]; mag[[i]] = Abs[Sum[l[[j]], {j, 1, nl}]]/nl^2, {i, 1, m}]
ListPlot[mag, PlotJoined -> True]
Получим один из результатов операции «переворота»1000разнарешетке 50×50системы,длякоторойB/kT=0иJ/kT=–0,1:
0.000014
0.000012
0.00001
-6
8ґ 10
-6
6ґ 10
-6
4ґ 10
-6
2ґ 10
200 400 600 800 1000
С помощью функции ListDensityPlot и оператора Do,можнопросмот‐ ретьсостояние моделиИзинга T[[i]] налюбомшаге.Ниже приведенрезультат приn=10черезкаждые10шагов.
10
8 6 4 2 0
0 2 4 6 8 10
10
8 6 4 2 0
0 2 4 6 8 10
10
8 6 4 2 0
0 2 4 6 8 10
10
8 6 4 2 0
0 2 4 6 8 10
10
8 6 4 2 0
0 2 4 6 8 10
10
8 6 4 2 0
0 2 4 6 8 10
10
8 6 4 2 0
0 2 4 6 8 10
Любойнабортакихпошаговыхснимковможноанимировать.
8.5.ДругиеприменениямоделиИзинга
Впервые количественный анализ модели был проведен в 1924 г. Эрнстом Изингом в его докторской диссертации. В 1925 г. полученные им результаты были опубликованы в его первой и единственной публи­кации. О том, насколько важной оказалась модель Изинга для после­дующего развития физики, свидетельствует хотя бы тот факт, что уже после 1966 г. появилось около 20 тыс. публикаций со ссы нальную работу Изинга (рис. 8.4) и более 300 тыс. публикаций, исполь­зующих или развивающих эту модель.
Введенная изначально для понимания природы ферромагнетизма, модель Изинга оказалась в центре разнообразных физических теорий,
145
лкой на ориги-
относящихся к критическим явлениям, жидкостям и растворам, спино­вым стеклам, клеточным мембранам, моделированию иммунной систе­мы, различным общественным явлениям и т. д. Кроме того, эта модель служит полигоном для проверки методов численного моделирования различных физических явлений.
Рис 8.4. Ежегодное количество публикаций, посвященных модели Изинга
после 1966 г. (общее число публикаций за 1966–2003 гг. – около 20 тыс.)
8.5.1.Задачаокоммивояжере
Алгоритм, сходный с алгоритмом Метрополиса, может быть ис­пользован в достаточно неожиданной области – в задаче поиска крат­чайшего пути на графе. Эта задача называется задачей о бродячем тор­говце (задачей о коробейнике, задачей о коммивояжере).
Пусть имеется n городов. Некоторые из них связаны между собой дорогами различной длины. Бродячий торговец хотел бы посетить все эти города по одному разу, пройдя пр
и этом наименьшее расстояние. Точно задача может быть решена методом полного перебора, что при­водит к колоссальному объему вычислений в реальных задачах. А такие задачи возникают очень часто, особенно на транспорте. В то же самое время можно найти решение, близкое к оптимальному, используя метод Монте-Карло.
Обозначи
м через а некоторую последовательность посещения го­родов, а через L(a) – соответствующую этой последовательности длину пути. Мы хотим найти такую последовательность а, при которой длина
146
пути была бы минимальной. Будем применять для этой цели алгоритм Метрополиса, с той лишь разницей, что мы вместо переворота спинов будем менять последовательность посещения городов. Тогда второй пункт алгоритма Метрополиса будет звучать примерно так: «В заданной последовательности посещения городов случайным образом выбираем два города и меняем их местами». Роль энергии в это
м случае будет иг­рать длина пути. Но что же такое в этом случае температура? Темпера­тура – это некоторый управляющий параметр. Первоначально он выби­рается достаточно большим, а затем медленно понижается. Если при дальнейшем понижении температуры длина пути перестает меняться, то значит, минимум достигнут.
Понятно, что при малом числе городов трудоемкость метода будет
чрезвычайно боль
шой. В то же время, поскольку трудоемкость обычных методов растет экспоненциально с ростом системы, этот метод стано­вится весьма эффективным именно для больших систем.
8.5.2.Распознаваниеобразов
Удивительное и неожиданное применение модели Изинга связано с задачами распознавания образов. Такое применение модели предложил в 1982 г. Хопфилд. Оказалось, что ферромагнитная модель Изинга име­ет много общих черт с ассоциативной памятью, то есть способность распознавать образ по неполной или искаженной информации о нем.
Для того чтобы моделировать ассоциативную память, система должна обладать следующ
ими свойствами:
1. Система должна состоять из большого числа n более или менее однородных элементов – нейронов, связанных между собой. В про­стейшем случае нейрон считают двоичным элементом. Состояние каж­дого из них определяется состоянием остальных элементов за некото­рый предшествующий интервал времени и связями между ними.
2. Система должна обладать способностью к классификации, то есть 2
n
входным сигналам (начальным состояниям системы) должно со­ответствовать существенно меньшее число выходных сигналов (конеч­ных стационарных состояний системы, аттракторов). Набор аттракторов является информацией, записанной в памяти. Переход системы от на­чального состояния к конечному называется процессом распознавания образа по его части, заданной входным сигналом.
3. Система должна обладать способностью к обучению, то есть до-
пускать добавление новых аттракторов без существенн
ого искажения
старых.
147
4. Работа системы должна быть устойчивой по отношению к сбоям
в работе отдельных элементов и связей.
Перечисленными свойствами в значительной мере обладает уже знакомая модель Изинга. Однако учитывая специфику рассматриваемой задачи, подобную сеть, состоящую из дискретных двоичных элементов и связей, называют нейронной сетью. Недостатком обычной модели Изинга является то, что при низких температур
ах она обладает только двумя стационарными состояниями (все спины направлены либо вверх, либо вниз). Однако, если коэффициенты обменного взаимодействия I
i,j
знакопеременные, то количество стационарных состояний существенно увеличивается. Природные объекты, обладающие такими свойствами, называются спиновыми стеклами. Поскольку энергия спинового стекла имеет множество локальных минимумов, то можно сказать, что система помнит набор различных образов (стабильных состояний). В зависимо­сти от начального состояния система будет релаксировать к тому или иному конечному состоянию. Естественно, система будет пер
еходить в ближайшее состояние с минимальной энергией. Таким образом, система способна к классификации. Задавая различные наборы I
, можно запи-
i, j
сывать в память различные образы.
148
СПИСОКЛИТЕРАТУРЫ
1. Аккерман А.Ф. Моделирование траекторий заряженных частиц
в веществе. – М.: Энергоатомиздат, 1981. – 200 с.
Биндер К., Хеерман Д.В. Моделирование методом Монте-Карло
2.
в статистической физике / перевод с англ. – М.: Наука, 1995.
Введение в математическое моделирование / под ред. П.В. Тру-
3.
сова. – М.: Изд-во «Интеграция», 2000. – С. 9–30.
Воробьев Е.М. Введение в систему «Математика». – М.: Фи-
4.
нансы и статистика, 1998. – 262 с.
Гулд Х., Тобочник Я. Компьютерное моделирование в физике.
5.
Ч. 2. – М.: Мир, 1990. – 400 с
Дьяконов В.П. Системы символьной математики Mathematica 2
6.
и Mathematica 3. – М.: СК Пресс, 1998. – 328 с.
Капица С.П., Курдюмов С.П., Малинецкий Г.Г. Синергетика и
7.
прогнозы будущего. – М.: Наука, 1997. – 286 с.
Мандельброт Б. Фрактальная геометрия природы. – М.: Инсти-
8.
тут компьютерных исследований, 2002. – 656 с.
Методы Монте-Карло в статистической физике / под ред.
9.
К. Биндера. – М.: Мир, 1982.
Соболь И.М. Метод Монте-Карло. – 4-е изд. – М.: Наука. 1985. –
10.
80 с.
Советов Б.Я., Яковлев С.А. Моделирование систем. – М.: Нау-
11.
ка, 1998.
12.
ние. Вводный курс: учеб. пособие. – М.: Едиториал УРСС, 2003. – 144 с.
Хеерман Д.В. Методы компьютерного эксперимента в теорети-
13.
ческой физике. – М.: Наука, 1990. – 176 с.
Эйген М., Винклер Р. Игра жизни. – М.: Наука, 1979. – 96 с.
14.
Gaylord R.J., Wellin P.R. Computer Simulations with Mathematica. –
15.
New York: Springer-Verlag, 1995. 298 p.
.
149
ОГЛАВЛЕНИЕ
1.ОПРЕДЕЛЕНИЕИНАЗНАЧЕНИЕМОДЕЛИРОВАНИЯ.......................................................2
1.1.Чтотакоемодель?.......................................................................................................3
1.2.Материальноеиидеальноемоделирование..........................................................4
1.3.Определениемодели.................................................................................................5
1.4.Свойствамоделей.......................................................................................................7
1.5.Целимоделирования..................................................................................................9
1.6.Классификациямоделей..........................................................................................10
1.6.1.Материальноемоделирование........................................................................11
1.6.2.Идеальноемоделирование...............................................................................13
1.6.3.Когнитивные,концептуальныеиформальныемодели.................................15
2.МЕТОДМОНТЕ‐КАРЛО....................................................................................................20
2.1.Общеепредставлениеометоде..............................................................................20
2.1.1.ПроисхождениеметодаМонте‐Карло.............................................................20
2.1.2.ДвеособенностиметодаМонте‐Карло............................................................21
2.1.3.Задачи,решаемыеметодомМонте‐Карло.........................................................21
2.2.Случайныевеличины................................................................................................22
2.2.1.Н
екоторыеопределения....................................................................................23
2.2.2.Дискретныеслучайныевеличины....................................................................25
2.2.2.1.Характеристикидискретныхслучайныхвеличин.....................................25
2.2.2.2.Математическоеожидание,мода,медиана............................................25
2.2.2.3.Дисперсия......................................................................................................27
2.2.3.Непрерывныеслучайныевеличины.................................................................28
2.2.4.Нормальныеслучайныевеличины...................................................................30
2.2.4.1.Определениенормальнойслучайнойвеличины.....................................30
2.2.4.2.Правило«трехсигм»....................................................................................31
2.2.4.3.Центральнаяпредельнаятеорема.............................................................31
2.3.ПрименениеметодаМонте‐Карло.........................................................................32
2.3.1.ОбщаясхемаметодаМонте‐Карло..................................................................32
2.3.2.Прохождениянейтроновсквозьпластинку.....................................................33
2.3.3.Схемамоделированиятраекторийнейтронов...............................................34
3.ПОТОКЗАРЯЖЕННЫХЧАСТИЦВКРИСТАЛЛЕ...............................................................37
3.1.Эффектканалирования.............................................................................................37
3.2.Источникионов.........................................................................................................41
3.3.Кристаллическаяс
труктура......................................................................................41
3.4.Рассеяние...................................................................................................................44
150
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]