Метод кинетического Монте-Карло (KMC) - это компьютер метода Монте-Карло симуляция, предназначенная для моделирования временной эволюции некоторых процессов, происходящих в природе. Обычно это процессы, которые происходят с известной скоростью перехода между состояниями. Важно понимать, что эти ставки являются входными данными для алгоритма KMC, сам метод не может их предсказать.
Метод KMC по существу такой же, как динамический метод Монте-Карло и алгоритм Гиллеспи.
Одна из возможных классификаций алгоритмов KMC - KMC с отклонением (rKMC) и KMC без отклонения (rfKMC).
. Алгоритм rfKMC, часто называемый KMC, для моделирования временной эволюции системы, где некоторые процессы могут происходить с известной скоростью r, может быть записан, например, как следующим образом:
(Примечание: поскольку среднее значение равно единице, тот же средний масштаб времени можно получить, вместо этого используя на шаге 9. Однако в этом случае задержка, связанная с переходом i не будет выводиться из распределения Пуассона, описываемого коэффициентом , а вместо этого будет средним значением этого распределения.)
Этот алгоритм известен в разных источниках под разными названиями: алгоритм времени пребывания, или n-кратный способ, или алгоритм Борца-Калоса-Лебовица (BKL). алгоритм. Важно отметить, что задействованный временной шаг является функцией вероятности того, что все события i не произошли.
KMC отклонения обычно имеет преимущество более простой обработки данных и более быстрых вычислений для каждого предпринятого шага, поскольку получение всех не требуется. С другой стороны, время эволюции на каждом шаге меньше, чем для rfKMC. Относительный вес плюсов и минусов зависит от конкретного случая и доступных ресурсов.
rKMC, связанный с теми же скоростями перехода, что и выше, можно записать следующим образом:
(Примечание: может изменяться от одного шага MC к другому.) Этот алгоритм обычно называется стандартным алгоритмом .
Были предоставлены теоретические и численные сравнения между алгоритмами.
Если ставки зависят от времени, шаг 9 в rfKMC должен быть изменен по:
Реакция (шаг 6) должна быть выбрана после этого с помощью
Другой очень похожий Алгоритм называется методом первой реакции (FRM). Он состоит из выбора первой реакции, то есть выбора наименьшего времени и соответствующего номера реакции i из формулы
где - N случайных чисел.
Ключевым свойством алгоритма KMC (и алгоритма FRM) является то, что если скорости правильные, если процессы, связанные с ними, имеют Тип процесса Пуассона, и если разные процессы независимы (т. Е. Не коррелированы), то алгоритм KMC дает правильную шкалу времени для эволюции моделируемой системы. Были некоторые споры о правильности шкалы времени для алгоритмов rKMC, но это также было строго показано, чтобы быть правильным.
Если, кроме того, переходы следуют подробный баланс, алгоритм KMC можно использовать для моделирования термодинамического равновесия. Однако KMC широко используется для моделирования неравновесных процессов, и в этом случае нет необходимости соблюдать подробный баланс.
Алгоритм rfKMC эффективен в том смысле, что каждая итерация гарантированно производит переход. Однако в представленной выше форме он требует операций для каждого перехода, что не слишком эффективно. Во многих случаях это можно значительно улучшить, объединяя однотипные переходы в интервалы и / или формируя древовидную структуру данных событий. Недавно был разработан и протестирован алгоритм масштабирования с постоянным временем этого типа.
Главный недостаток rfKMC состоит в том, что все возможные скорости и реакции должны быть известны заранее. Сам метод ничего не может сделать для их предсказания. Скорости и реакции должны быть получены с помощью других методов, таких как диффузионные (или другие) эксперименты, молекулярная динамика или моделирование на основе теории функционала плотности.
KMC использовался при моделировании следующих физических систем:
Чтобы дать представление о том, что «объекты» и «события» могут быть на практике, вот один конкретный простой пример, соответствующий примеру 2 выше.
Рассмотрим систему, в которой отдельные атомы осаждаются на поверхности по одному (типично для физического осаждения из паровой фазы ), но также могут мигрировать по поверхности с некоторой известной скоростью скачка . В этом случае «объектами» алгоритма KMC являются просто отдельные атомы.
Если два атома подходят вплотную друг к другу, они становятся неподвижными. Затем поток поступающих атомов определяет скорость r deposit, и система может быть смоделирована с помощью KMC, учитывая все осажденные подвижные атомы, которые (еще) не встретили своего двойника и стали неподвижными. Таким образом, на каждом шаге KMC возможны следующие события:
После того, как событие произошло был выбран и выполнен с помощью алгоритма KMC, затем необходимо проверить, стал ли новый или только что перешедший атом непосредственно смежным с каким-либо другим атомом. Если это произошло, атом (атомы), которые теперь находятся рядом, необходимо удалить из списка мобильных атомов и, соответственно, удалить их события перехода из списка возможных событий.
Естественно, применяя КМК к проблемам физики и химии, нужно сначала подумать, достаточно ли хорошо реальная система следует допущениям, лежащим в основе КМК. Реальные процессы не обязательно имеют четко определенные скорости, переходные процессы могут быть коррелированы, в случае прыжков атома или частицы скачки могут не происходить в случайных направлениях и так далее. При моделировании сильно различающихся временных масштабов необходимо также учитывать, могут ли новые процессы присутствовать в более длительных временных масштабах. Если любая из этих проблем верна, временная шкала и развитие системы, предсказанные KMC, могут быть искажены или даже полностью неверны.
Первая публикация, описывающая основные особенности метода KMC (а именно использование кумулятивной функции для выбора события и вычисления шкалы времени в форме 1 / R), была написана Янгом. и Элкока в 1966 году. Примерно в то же время был опубликован алгоритм времени пребывания.
Очевидно, независимо от работ Янга и Элкока, Борц, Калос и Лебовиц разработали алгоритм KMC для моделирования Модель Изинга, которую они назвали n-кратным путем. Основы их алгоритма такие же, как у Янга, но они предоставляют гораздо более подробную информацию о методе.
В следующем году Дэн Гиллеспи опубликовал то, что сейчас известно как алгоритм Гиллеспи для описания химических реакций. Алгоритм аналогичен, а схема временного продвижения по существу такая же, как в KMC.
На момент написания этого (июнь 2006 г.) не существует окончательного трактата по теории KMC, но Фихторн и Вайнберг подробно обсудили теорию для моделирования термодинамического равновесия KMC. Хорошее введение дано также Art Voter, [1] и A.P.J. Янсен, [2], а недавний обзор - (Chatterjee 2007) или (Chotia 2008).
В марте 2006 года, вероятно, первое коммерческое программное обеспечение, использующее кинетический Монте-Карло для моделирования диффузия и активация / дезактивация примесей в кремнии и кремнийподобных материалах выпущена Synopsys, сообщается Martin-Bragado et al.
Метод KMC можно подразделить по тому, как движутся объекты или происходят реакции. Используются по меньшей мере следующие подразделения: