Введение
Метод кинетического Монте-Карло (KMC) - это компьютерная симуляция метода Монте-Карло, предназначенная для моделирования эволюции во времени некоторых процессов, происходящих в природе. Обычно это процессы, которые происходят с известными скоростями перехода между состояниями. Важно понимать, что эти показатели являются входами в алгоритм KMC, сам метод не может их предсказать. Метод KMC по существу такой же, как динамический метод Монте-Карло и алгоритм Gillespie.
Алгоритмы
Одной из возможных классификаций алгоритмов КМК является отвергающая КМК (rKMC) и свободная от отвержения КМК (rfKMC).
КМК без отторжения
Алгоритм rfKMC, часто называемый только KMC, для моделирования эволюции системы во времени, где некоторые процессы могут происходить с известными скоростями r, может быть написан, например, следующим образом: и были предоставлены численные сравнения между алгоритмами.
Комментарии к алгоритму
Ключевое свойство алгоритма KMC (и FRM) заключается в том, что если скорости правильные, если процессы, связанные с скоростями, являются типом процесса Пуассона, и если различные процессы независимы (т.е. не коррелируют), то алгоритм KMC дает правильную временную шкалу для эволюции моделируемой системы. Были некоторые споры о правильности временной шкалы для алгоритмов rKMC, но это также было строго показано как правильно. в этом случае не нужно соблюдать подробный баланс. Алгоритм rfKMC эффективен в том смысле, что каждая итерация гарантированно производит переход. Однако в вышеуказанной форме он требует операций для каждого перехода, что не слишком эффективно. Во многих случаях это может быть значительно улучшено путем объединения тех же видов переходов в ящики и / или формирования древесной структуры данных событий. Недавно был разработан и протестирован алгоритм постоянного масштабирования времени такого типа. Основным недостатком rfKMC является то, что все возможные частоты и реакции должны быть известны заранее. Сам метод ничего не может сделать для их предсказания. Скорости и реакции должны быть получены с помощью других методов, таких как диффузионные (или другие) эксперименты, молекулярная динамика или моделирование теории плотности.
Сорты КМК
Метод КМК может быть разделен на то, как движутся объекты или происходят реакции. По крайней мере, используются следующие подразделения: "КМК на атомной решетке" (LKMC) означает КМК, выполненную на атомной решетке. Часто этот сорт также называют атомистическим КМК (AKMC). Типичным примером является моделирование диффузии вакансии в сплавах, где вакансии могут перемещаться вокруг решетки со скоростями, которые зависят от местного элементарного состава. Объектная КМК (OKMC) означает КМК, выполненную для дефектов или примесей, которые скачут в случайных или решетчатых направлениях. В моделирование включены только положения прыгающих объектов, а не положения "фоновых" атомов решетки. Основной шаг КМК - один прыжок объекта. KMC события (EKMC) или First passage KMC (FPKMC) означает разновидность OKMC, где следующая реакция между объектами (например, кластеризация двух примесей или интерстициальное аннигиляция вакансии) выбирается с помощью алгоритма KMC, принимая во внимание положения объекта, и это событие затем немедленно выполняется.
Lattice KMC (LKMC) signifies KMC carried out on an atomic lattice. Often this variety is also called atomistic KMC, (AKMC). A typical example is simulation of vacancy diffusion in alloys, where a vacancy is allowed to jump around the lattice with rates that depend on the local elemental composition. Object KMC (OKMC) means KMC carried out for defects or impurities, which are jumping either in random or lattice specific directions. Only the positions of the jumping objects are included in the simulation, not those of the 'background' lattice atoms. The basic KMC step is one object jump. Event KMC (EKMC) or First passage KMC (FPKMC) signifies an OKMC variety where the following reaction between objects (e. g. clustering of two impurities or vacancy interstitial annihilation) is chosen with the KMC algorithm, taking the object positions into account, and this event is then immediately carried out.