El método cinético de Monte Carlo (KMC) es una simulación por computadora del método de Monte Carlo destinado a simular la evolución en el tiempo de algunos procesos que ocurren en la naturaleza. Por lo general, estos son procesos que ocurren con tasas de transición conocidas entre estados. Es importante comprender que estas tasas son entradas para el algoritmo KMC, el método en sí no puede predecirlas.
El método KMC es esencialmente el mismo que el método dinámico de Monte Carlo y el algoritmo de Gillespie .
Algoritmos
Una posible clasificación de los algoritmos KMC es como rechazo-KMC (rKMC) y rechazo-libre-KMC (rfKMC).
KMC sin rechazo
Un algoritmo rfKMC, a menudo solo llamado KMC, para simular la evolución temporal de un sistema, donde algunos procesos pueden ocurrir con tasas conocidas r, se puede escribir, por ejemplo, de la siguiente manera:
- Establece el tiempo .
- Elija un estado inicial k .
- Forme la lista de todos posibles tasas de transición en el sistema , del estado k a un estado genérico i . Los estados que no se comunican con k tendrán.
- Calcular la función acumulativa por . La tasa total es.
- Obtenga un número aleatorio uniforme .
- Encuentre el evento para llevar a cabo i encontrando la i para la cual(esto se puede lograr de manera eficiente mediante la búsqueda binaria ).
- Llevar a cabo el evento i (actualizar el estado actual).
- Obtenga un nuevo número aleatorio uniforme .
- Actualiza la hora con , dónde .
- Regrese al paso 3.
(Nota: debido a que el valor medio de es igual a la unidad, se puede obtener la misma escala de tiempo promedio usando en su lugaren el paso 9. En este caso, sin embargo, el retraso asociado con la transición i no se extraerá de la distribución de Poisson descrita por la tasa, sino que será la media de esa distribución).
Este algoritmo se conoce en diferentes fuentes de diversas formas como el algoritmo de tiempo de residencia o la forma n- veces o el algoritmo de Bortz-Kalos-Lebowitz (BKL) . Es importante notar que el intervalo de tiempo involucrado es una función de la probabilidad de que no ocurrieran todos los eventos i .
Rechazo KMC
Rechazo KMC tiene típicamente la ventaja de un manejo de datos más fácil y cálculos más rápidos para cada paso intentado, ya que la acción de obtener todos no es necesario. Por otro lado, el tiempo evolucionado en cada paso es menor que para rfKMC. El peso relativo de los pros y los contras varía según el caso y los recursos disponibles.
Un rKMC asociado con las mismas tasas de transición que el anterior se puede escribir de la siguiente manera:
- Establece el tiempo .
- Elija un estado inicial k .
- Consigue el numero de todas las tasas de transición posibles, del estado k al estado genérico i .
- Encuentre el evento candidato para llevar a cabo i mediante un muestreo uniforme de la transiciones anteriores.
- Acepta el evento con probabilidad , dónde es un límite superior adecuado para . A menudo es fácil de encontrar sin tener que calcular todo (por ejemplo, para las probabilidades de la tasa de transición de Metropolis).
- Si es aceptado, lleve a cabo el evento i (actualice el estado actual).
- Obtenga un nuevo número aleatorio uniforme .
- Actualiza la hora con , dónde .
- Regrese al paso 3.
(Nota: puede cambiar de un paso MC a otro). Este algoritmo generalmente se denomina algoritmo estándar .
Se proporcionaron comparaciones teóricas [1] y numéricas [2] [3] entre los algoritmos.
Algoritmos dependientes del tiempo
Si las tarifas dependen del tiempo, el paso 9 en el rfKMC debe ser modificado por: [4]
- .
La reacción (paso 6) debe elegirse después de esto por
Otro algoritmo muy similar se llama Método de Primera Reacción (FRM). Consiste en elegir la primera reacción que ocurre, es decir, elegir el tiempo más pequeño, y el número de reacción correspondiente i , de la fórmula
- ,
donde el son N números aleatorios.
Comentarios sobre el algoritmo
La propiedad clave del algoritmo KMC (y del FRM) es que si las tasas son correctas, si los procesos asociados con las tasas son del tipo de proceso de Poisson y si los diferentes procesos son independientes (es decir, no están correlacionados), entonces el KMC El algoritmo da la escala de tiempo correcta para la evolución del sistema simulado. Hubo cierto debate sobre la exactitud de la escala de tiempo para los algoritmos rKMC, pero también se demostró rigurosamente que era correcto. [1]
Si además las transiciones siguen un equilibrio detallado , el algoritmo KMC se puede utilizar para simular el equilibrio termodinámico. Sin embargo, KMC se usa ampliamente para simular procesos de no equilibrio, [5] en cuyo caso no es necesario obedecer el equilibrio detallado.
El algoritmo rfKMC es eficiente en el sentido de que se garantiza que cada iteración producirá una transición. Sin embargo, en la forma presentada anteriormente requiereoperaciones para cada transición, que no es demasiado eficiente. En muchos casos, esto se puede mejorar mucho agrupando los mismos tipos de transiciones en bins y / o formando una estructura de datos de árbol de los eventos. Recientemente se ha desarrollado y probado un algoritmo de escalado de tiempo constante de este tipo. [6]
La principal desventaja de rfKMC es que todas las tasas posibles y las reacciones deben conocerse de antemano. El método en sí no puede hacer nada para predecirlos. Las velocidades y reacciones deben obtenerse de otros métodos, como experimentos de difusión (u otros), dinámica molecular o simulaciones de teoría funcional de densidad .
Ejemplos de uso
KMC se ha utilizado en simulaciones de los siguientes sistemas físicos:
- Difusión superficial
- Movilidad por dislocación [7] [8]
- Crecimiento superficial [9]
- Difusión de vacantes en aleaciones (este era el uso original [10] )
- Engrosamiento de la evolución del dominio
- Movilidad de defectos y agrupamiento en sólidos irradiados con iones o neutrones, incluidos, entre otros, modelos de acumulación de daños y amorfización / recristalización.
- Viscoelasticidad de redes físicamente reticuladas [11]
Para dar una idea de lo que los "objetos" y "eventos" pueden ser en la práctica, aquí hay un ejemplo simple y concreto, correspondiente al ejemplo 2 anterior.
Considere un sistema en el que los átomos individuales se depositan en una superficie de uno en uno (típico de la deposición física de vapor ), pero también pueden migrar en la superficie con una velocidad de salto conocida.. En este caso, los "objetos" del algoritmo KMC son simplemente los átomos individuales.
Si dos átomos se encuentran uno al lado del otro, se vuelven inmóviles. Entonces, el flujo de átomos entrantes determina una tasa r de depósito , y el sistema se puede simular con KMC considerando todos los átomos móviles depositados que no se han encontrado (todavía) con una contraparte y se vuelven inmóviles. De esta manera, son posibles los siguientes eventos en cada paso de KMC:
- Entra un nuevo átomo con tasa 'r depósito
- Un átomo ya depositado salta un paso con una tasa w .
Una vez que se ha seleccionado un evento y se ha llevado a cabo con el algoritmo KMC, es necesario comprobar si el átomo nuevo o recién saltado se ha vuelto inmediatamente adyacente a algún otro átomo. Si esto ha sucedido, los átomos que ahora son adyacentes deben ser alejados de la lista de átomos móviles y, en consecuencia, sus eventos de salto eliminados de la lista de posibles eventos.
Naturalmente, al aplicar KMC a problemas de física y química, primero hay que considerar si el sistema real sigue suficientemente bien las suposiciones subyacentes a KMC. Los procesos reales no necesariamente tienen velocidades bien definidas, los procesos de transición pueden estar correlacionados, en el caso de saltos de átomos o partículas, los saltos pueden no ocurrir en direcciones aleatorias, etc. Al simular escalas de tiempo muy dispares, también es necesario considerar si pueden estar presentes nuevos procesos en escalas de tiempo más largas. Si alguno de estos problemas es válido, la escala de tiempo y la evolución del sistema predichas por KMC pueden estar sesgadas o incluso completamente equivocadas.
Historia
La primera publicación que describió las características básicas del método KMC (es decir, el uso de una función acumulativa para seleccionar un evento y un cálculo de escala de tiempo de la forma 1 / R ) fue de Young y Elcock en 1966. [10] El algoritmo de tiempo de residencia también se publicó aproximadamente al mismo tiempo. [12]
Aparentemente independientes del trabajo de Young y Elcock, Bortz, Kalos y Lebowitz [2] desarrollaron un algoritmo KMC para simular el modelo de Ising , al que llamaron el método n-fold . Los conceptos básicos de su algoritmo son los mismos que los de Young, [10] pero proporcionan muchos más detalles sobre el método.
Al año siguiente, Dan Gillespie publicó lo que ahora se conoce como el algoritmo de Gillespie para describir reacciones químicas. [13] El algoritmo es similar y el esquema de avance de tiempo es esencialmente el mismo que en KMC.
En el momento de la redacción de este (junio de 2006) no existe un tratado definitivo de la teoría de KMC, pero Fichthorn y Weinberg han discutido la teoría de las simulaciones de KMC de equilibrio termodinámico en detalle. [14] Art Voter, [15] [1] y APJ Jansen, [16] [2] también dan una buena introducción , y una revisión reciente es (Chatterjee 2007) [17] o (Chotia 2008). [18] T. Lelièvre y colaboradores desarrollaron la justificación de KMC como un análisis de grano grueso de la dinámica de Langevin utilizando el enfoque de distribución cuasi-estacionaria . [19] [20]
En marzo de 2006, probablemente, el primer software comercial que utiliza Kinetic Monte Carlo para simular la difusión y activación / desactivación de dopantes en silicio y materiales similares al silicio es lanzado por Synopsys , informado por Martin-Bragado et al. [21]
Variedades de KMC
El método KMC se puede subdividir según cómo se mueven los objetos o cómo se producen las reacciones. Se utilizan al menos las siguientes subdivisiones:
- Lattice KMC ( LKMC ) significa KMC realizado en una red atómica . A menudo, esta variedad también se llama KMC atomista ( AKMC ). Un ejemplo típico es la simulación de difusión de vacantes en aleaciones , donde se permite que una vacante salte alrededor de la red con tasas que dependen de la composición elemental local. [22]
- Objeto KMC ( OKMC ) significa KMC realizado por defectos o impurezas , que están saltando en direcciones aleatorias o específicas de celosía. En la simulación solo se incluyen las posiciones de los objetos que saltan, no las de los átomos de la red de "fondo". El paso básico de KMC es un salto de objeto.
- Evento KMC ( EKMC ) o KMC de primer paso ( FPKMC ) significa una variedad de OKMC donde la siguiente reacción entre objetos (por ejemplo, agrupamiento de dos impurezas o vacante - aniquilación intersticial ) se elige con el algoritmo KMC, teniendo en cuenta las posiciones de los objetos, y este evento se lleva a cabo inmediatamente. [23] [24]
Referencias
- ↑ a b Serebrinsky, Santiago A. (31 de marzo de 2011). "Escala de tiempo físico en simulaciones cinéticas de Monte Carlo de cadenas de Markov en tiempo continuo". Revisión E física . Sociedad Estadounidense de Física (APS). 83 (3): 037701. doi : 10.1103 / physreve.83.037701 . ISSN 1539-3755 . PMID 21517635 .
- ^ a b Bortz, AB; Kalos, MH; Lebowitz, JL (1975). "Un nuevo algoritmo para la simulación Monte Carlo de sistemas de espín Ising". Revista de Física Computacional . Elsevier BV. 17 (1): 10–18. doi : 10.1016 / 0021-9991 (75) 90060-1 . ISSN 0021-9991 .
- ^ Sadiq, Abdullah (1984). "Un nuevo algoritmo para la simulación de Monte Carlo de la cinética de intercambio de espín de los sistemas de Ising". Revista de Física Computacional . Elsevier BV. 55 (3): 387–396. doi : 10.1016 / 0021-9991 (84) 90028-7 . ISSN 0021-9991 .
- ^ Prados, A .; Brey, JJ; Sánchez-Rey, B. (1997). "Un algoritmo dinámico de monte carlo para ecuaciones maestras con tasas de transición dependientes del tiempo". Revista de física estadística . Springer Science and Business Media LLC. 89 (3–4): 709–734. doi : 10.1007 / bf02765541 . ISSN 0022-4715 . S2CID 122985615 .
- ^ Meng, B .; Weinberg, WH (1994). "Simulaciones Monte Carlo de espectros de desorción de temperatura programada". La Revista de Física Química . Publicación AIP. 100 (7): 5280–5289. doi : 10.1063 / 1.467192 . ISSN 0021-9606 .
- ^ Slepoy, Alexander; Thompson, Aidan P .; Plimpton, Steven J. (28 de mayo de 2008). "Un algoritmo de Monte Carlo cinético en tiempo constante para la simulación de grandes redes de reacciones bioquímicas". La Revista de Física Química . Publicación AIP. 128 (20): 205101. doi : 10.1063 / 1.2919546 . ISSN 0021-9606 . PMID 18513044 .
- ^ Cai, W .; Bulatov, VV; Justo, JF; Argón, AS; Yip, S. (2000). "Movilidad intrínseca de una dislocación disociada en silicio" . Phys. Rev. Lett . 84 (15): 3346–9. Código Bibliográfico : 2000PhRvL..84.3346C . doi : 10.1103 / PhysRevLett.84.3346 . PMID 11019086 . S2CID 20680466 .
- ^ Cai, W .; Bulatov, VV; Justo, JF; Argón, AS; Yip, S. (2002). "Enfoque cinético de Monte Carlo para modelar la movilidad de la dislocación". Computación. Mater. Sci . 23 (1–4): 124–130. doi : 10.1016 / S0927-0256 (01) 00223-3 .
- ^ Meng, B .; Weinberg, WH (1996). "Estudios dinámicos de Monte Carlo de modelos de crecimiento epitaxial de haz molecular: escalamiento interfacial y morfología". Ciencia de superficies . Elsevier BV. 364 (2): 151-163. doi : 10.1016 / 0039-6028 (96) 00597-3 . ISSN 0039-6028 .
- ^ a b c Young, WM; Elcock, EW (1966). "Estudios de Monte Carlo de migración de vacantes en aleaciones ordenadas binarias: I". Actas de la Sociedad de Física . Publicación de IOP. 89 (3): 735–746. doi : 10.1088 / 0370-1328 / 89/3/329 . ISSN 0370-1328 .
- ^ Baeurle, Stephan A .; Usami, Takao; Gusev, Andrei A. (2006). "Un nuevo enfoque de modelado multiescala para la predicción de propiedades mecánicas de nanomateriales basados en polímeros". Polímero . Elsevier BV. 47 (26): 8604–8617. doi : 10.1016 / j.polymer.2006.10.017 . ISSN 0032-3861 .
- ^ DR Cox y HD Miller, La teoría de los procesos estocásticos (Methuen, Londres), 1965, págs. 6-7.
- ^ Gillespie, Daniel T (1976). "Un método general para simular numéricamente la evolución temporal estocástica de reacciones químicas acopladas". Revista de Física Computacional . Elsevier BV. 22 (4): 403–434. doi : 10.1016 / 0021-9991 (76) 90041-3 . ISSN 0021-9991 .
- ^ Fichthorn, Kristen A .; Weinberg, WH (15 de julio de 1991). "Fundamentos teóricos de simulaciones dinámicas de Monte Carlo". La Revista de Física Química . Publicación AIP. 95 (2): 1090–1096. doi : 10.1063 / 1.461138 . ISSN 0021-9606 .
- ^ AF Voter, Introducción al método cinético de Monte Carlo, en Radiation Effects in Solids, editado por KE Sickafus y EA Kotomin (Springer, Unidad de Publicaciones de la OTAN, Dordrecht, Países Bajos, 2005).
- ^ APJ Jansen, Introducción a las simulaciones de Monte Carlo de reacciones superficiales, materia condensada, resumen cond-mat / 0303028 .
- ^ Chatterjee, Abhijit; Vlachos, Dionisios G. (28 de febrero de 2007). "Una descripción general de los métodos de Monte Carlo cinéticos acelerados y microscópicos espaciales". Revista de diseño de materiales asistido por computadora . Springer Science and Business Media LLC. 14 (2): 253–308. doi : 10.1007 / s10820-006-9042-9 . ISSN 0928-1045 . S2CID 53336314 .
- ^ Chotia, Amodsen; Viteau, Matthieu; Vogt, Thibault; Comparat, Daniel; Pillet, Pierre (30 de abril de 2008). "Modelado cinético de Monte Carlo del bloqueo de dipolos en el experimento de excitación de Rydberg" . Nueva Revista de Física . Publicación de IOP. 10 (4): 045031. doi : 10.1088 / 1367-2630 / 10/4/045031 . ISSN 1367-2630 .
- ^ Di Gesù, Giacomo; Lelièvre, Tony; Le Peutrec, Dorian; Nectoux, Boris (2016). "Saltar modelos de Markov y teoría del estado de transición: el enfoque de distribución cuasi-estacionaria". Discusión de Faraday . 195 : 469-495. arXiv : 1605.02643 . doi : 10.1039 / C6FD00120C . ISSN 1364-5498 .
- ^ Lelièvre, Tony (2018). "Fundamentos matemáticos de los métodos de dinámica molecular acelerada". En Andreoni, Wanda; Yip, Sidney (eds.). Manual de Modelado de Materiales . Saltador. doi : 10.1007 / 978-3-319-44677-6_27 . ISBN 978-3-319-44677-6.
- ^ Martín-Bragado, Ignacio; Tian, S .; Johnson, M .; Castrillo, P .; Pinacho, R .; Rubio, J .; Jaraiz, M. (2006). "Modelado de defectos cargados, difusión de dopantes y mecanismos de activación para simulaciones TCAD utilizando cinética Monte Carlo". Instrumentos y métodos nucleares en la investigación de la física Sección B: Interacciones del haz con materiales y átomos . Elsevier BV. 253 (1–2): 63–67. doi : 10.1016 / j.nimb.2006.10.035 . ISSN 0168-583X .
- ^ Mason, DR; Hudson, TS; Sutton, AP (enero de 2005). "Rápida recuperación de la historia del estado en simulaciones cinéticas de Monte Carlo utilizando la clave Zobrist". Comunicaciones de Física Informática . 165 (1): 37–48. Código bibliográfico : 2005CoPhC.165 ... 37M . doi : 10.1016 / j.cpc.2004.09.007 .
- ^ Dalla Torre, J .; Bocquet, J.-L .; Doan, NV; Adam, E .; Barbu, A. (2005). "JERK, un modelo de Monte Carlo cinético basado en eventos para predecir la evolución de la microestructura de materiales bajo irradiación". Revista Filosófica . Informa UK Limited. 85 (4–7): 549–558. doi : 10.1080 / 02678370412331320134 . ISSN 1478-6435 . S2CID 96878847 .
- ^ Opplestrup, Tomas; Bulatov, Vasily V .; Gilmer, George H .; Kalos, Malvin H .; Sadigh, Babak (4 de diciembre de 2006). "Algoritmo de Monte Carlo de primer paso: difusión sin todos los saltos". Cartas de revisión física . Sociedad Estadounidense de Física (APS). 97 (23): 230602. doi : 10.1103 / physrevlett.97.230602 . ISSN 0031-9007 . PMID 17280187 .
enlaces externos
- Simulación de Monte Carlo cinética de celosía 3D en 'lenguaje de bits'
- Simulación KMC de la inestabilidad de Plateau-Rayleigh
- Simulación KMC de la difusión de la superficie de fcc vicinal (100)
- Modelo de campo medio cinético estocástico (da resultados similares a los de la cinética de celosía Monte Carlo, sin embargo, es mucho más rentable y más fácil de realizar: se proporciona código de programa de fuente abierta)