stringtranslate.com

Monte Carlo cinético

El método Monte Carlo cinético (KMC) es una simulación informática del método Monte Carlo destinada a simular la evolución temporal de algunos procesos que ocurren en la naturaleza. Por lo general, se trata de procesos que ocurren con tasas de transición conocidas entre estados. Estas tasas son datos de entrada 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 KMC de rechazo (rKMC) y KMC sin rechazo (rfKMC).

KMC sin rechazo

Tasas de transferencia entre un estado inicial y cuatro estados finales
En cada paso, el sistema puede saltar a varios estados finales y se supone que las tasas de transferencia entre el estado inicial y todos los estados finales posibles son conocidas.
Elección del estado final: se elige una var aleatoria entre 0 y Γ tot ; la probabilidad de que el sistema salte al estado i es proporcional a Γ i .

Un algoritmo rfKMC, a menudo llamado simplemente 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: [1] : 13–14 

  1. Establecer la hora .
  2. Elija un estado inicial k .
  3. Forme la lista de todas las velocidades de transición posibles en el sistema , desde el estado k a un estado genérico i . Los estados que no se comunican con k tendrán .
  4. Calcular la función acumulativa para . La tasa total es .
  5. Obtenga un número aleatorio uniforme .
  6. Encuentre el evento que llevará a cabo i encontrando el i para el cual (esto se puede lograr de manera eficiente usando la búsqueda binaria ).
  7. Ejecutar el evento i (actualizar el estado actual ).
  8. Obtenga un nuevo número uniforme aleatorio .
  9. Actualice el tiempo con , donde . Tenga en cuenta que este intervalo de tiempo representa el tiempo transcurrido entre el evento anterior y este, en lugar del intervalo de tiempo entre este evento y el siguiente. [1] : 17–18 
  10. Regresar al paso 3.

(Nota: debido a que el valor promedio de es igual a la unidad, se puede obtener la misma escala de tiempo promedio utilizando en 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. [ cita requerida ] )

Este algoritmo se conoce en diferentes fuentes como algoritmo de tiempo de residencia , algoritmo de n -fold o algoritmo de Bortz-Kalos-Lebowitz (BKL) . Es importante señalar que el intervalo de tiempo involucrado es una función de la probabilidad de que todos los eventos i no hayan ocurrido. [1] : 13–14 

Rechazo KMC

El método KMC de rechazo tiene la ventaja de que permite un manejo más sencillo de los datos y cálculos más rápidos para cada paso intentado, ya que no es necesaria la acción que requiere mucho tiempo para obtener todo. Por otra parte, el tiempo empleado en cada paso es menor que en el caso de rfKMC. El peso relativo de los pros y los contras varía según el caso en cuestión y los recursos disponibles.

Un rKMC asociado con las mismas tasas de transición que las anteriores se puede escribir de la siguiente manera:

  1. Establecer la hora .
  2. Elija un estado inicial k .
  3. Obtenga el número de todas las tasas de transición posibles, desde el estado k a un estado genérico i .
  4. Encuentre el evento candidato para llevar a cabo i mediante un muestreo uniforme de las transiciones anteriores.
  5. Acepte el evento con probabilidad , donde 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).
  6. Si se acepta, ejecutar el evento i (actualizar el estado actual ).
  7. Obtenga un nuevo número uniforme aleatorio .
  8. Actualiza la hora con , donde .
  9. Regresar al paso 3.

(Nota: puede cambiar de un paso de MC a otro). Este algoritmo generalmente se denomina algoritmo estándar .

Se proporcionaron comparaciones teóricas [2] y numéricas [1] [3] entre los algoritmos.

Algoritmos dependientes del tiempo

Si las tasas dependen del tiempo, el paso 9 del rfKMC debe modificarse mediante: [4]

.

La reacción (paso 6) debe elegirse después de esto mediante

Otro algoritmo muy similar se denomina método de la primera reacción (MFR). Consiste en elegir la primera reacción que se produce, es decir, elegir el tiempo más pequeño y el número de reacción correspondiente i , a partir de la fórmula

,

donde 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 algoritmo KMC proporciona 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 correcta. [2]

Si además las transiciones siguen un equilibrio detallado , el algoritmo KMC puede utilizarse para simular el equilibrio termodinámico. Sin embargo, el KMC se utiliza ampliamente para simular procesos que no están en equilibrio, [5] en cuyo caso no es necesario respetar el equilibrio detallado.

El algoritmo rfKMC es eficiente en el sentido de que se garantiza que cada iteración produzca una transición. Sin embargo, en la forma presentada anteriormente requiere operaciones para cada transición, lo que no es demasiado eficiente. En muchos casos, esto se puede mejorar mucho agrupando los mismos tipos de transiciones en contenedores y/o formando una estructura de datos de árbol de los eventos. Recientemente se ha desarrollado y probado un algoritmo de escalamiento de tiempo constante de este tipo. [6]

La principal desventaja de rfKMC es que todas las velocidades y reacciones posibles deben conocerse de antemano. El método en sí no puede hacer nada para predecirlas. Las velocidades y reacciones deben obtenerse a partir de otros métodos, como experimentos de difusión (u otros), dinámica molecular o simulaciones de la teoría funcional de la densidad .

Ejemplos de uso

KMC se ha utilizado en simulaciones de los siguientes sistemas físicos:

  1. Difusión superficial
  2. Crecimiento superficial [7]
  3. Difusión de vacantes en aleaciones (este fue el uso original [8] )
  4. Engrosamiento de la evolución del dominio
  5. Movilidad y agrupamiento de defectos en sólidos irradiados con iones o neutrones, incluidos, entre otros, modelos de acumulación de daños y amorfización/recristalización.
  6. Viscoelasticidad de redes reticuladas físicamente [9]

Para dar una idea de lo que pueden ser los "objetos" y "eventos" en la práctica, he aquí un ejemplo concreto y sencillo, correspondiente al ejemplo 2 anterior.

Consideremos un sistema en el que los átomos individuales se depositan sobre una superficie de a uno por vez (típico de la deposición física de vapor ), pero también pueden migrar sobre 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 acercan uno al otro, se vuelven inmóviles. Entonces, el flujo de átomos entrantes determina una tasa de depósito r y el sistema se puede simular con KMC considerando todos los átomos móviles depositados que (aún) no han encontrado una contraparte y se vuelven inmóviles. De esta manera, existen los siguientes eventos posibles en cada paso de KMC:

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 están adyacentes deben retirarse de la lista de átomos móviles y, en consecuencia, sus eventos de salto deben eliminarse de la lista de eventos posibles.

Naturalmente, al aplicar el método KMC a problemas de física y química, primero hay que considerar si el sistema real sigue los supuestos que lo sustentan lo suficientemente bien. Los procesos reales no tienen necesariamente 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. Cuando se simulan escalas de tiempo muy dispares, también hay que considerar si pueden estar presentes nuevos procesos en escalas de tiempo más largas. Si alguna de estas cuestiones es válida, la escala de tiempo y la evolución del sistema predichas por el método KMC pueden estar sesgadas o incluso ser completamente erróneas.

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 realizada por Young y Elcock en 1966. [8] El algoritmo de tiempo de residencia también se publicó aproximadamente al mismo tiempo. [10]

Aparentemente independientemente del trabajo de Young y Elcock, Bortz, Kalos y Lebowitz [1] 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 [8] , 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 las reacciones químicas. [11] El algoritmo es similar y el esquema de avance del tiempo es esencialmente el mismo que en KMC.

Hasta el momento de escribir este artículo (junio de 2006) no existe un tratado definitivo sobre la teoría de KMC, pero Fichthorn y Weinberg han analizado en detalle la teoría para simulaciones de KMC de equilibrio termodinámico. [12] Art Voter [13] [1] y APJ Jansen [14] [2] también ofrecen una buena introducción, y una revisión reciente es (Chatterjee 2007) [15] o (Chotia 2008). [16] T. Lelièvre y colaboradores han desarrollado la justificación de KMC como una granulación gruesa de la dinámica de Langevin utilizando el enfoque de distribución cuasiestacionaria . [17] [18]

En marzo de 2006, Synopsys lanzó 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 , según informaron Martin-Bragado et al. [19].

Variedades de KMC

El método KMC se puede subdividir según el movimiento de los objetos o las reacciones que se producen. Se utilizan al menos las siguientes subdivisiones:

Referencias

  1. ^ abcde Bortz, AB; Kalos, MH; Lebowitz, JL (1975). "Un nuevo algoritmo para la simulación de Monte Carlo de sistemas de espín de Ising". Journal of Computational Physics . 17 (1). Elsevier BV: 10–18. Bibcode :1975JCoPh..17...10B. doi :10.1016/0021-9991(75)90060-1. ISSN  0021-9991.
  2. ^ ab Serebrinsky, Santiago A. (31 de marzo de 2011). "Escala de tiempo físico en simulaciones cinéticas de Monte Carlo de cadenas de Markov de tiempo continuo". Physical Review E . 83 (3). American Physical Society (APS): 037701. Bibcode :2011PhRvE..83c7701S. doi :10.1103/physreve.83.037701. ISSN  1539-3755. PMID  21517635.
  3. ^ 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". Journal of Computational Physics . 55 (3). Elsevier BV: 387–396. Bibcode :1984JCoPh..55..387S. doi :10.1016/0021-9991(84)90028-7. ISSN  0021-9991.
  4. ^ 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". Journal of Statistical Physics . 89 (3–4). Springer Science and Business Media LLC: 709–734. Bibcode :1997JSP....89..709P. doi :10.1007/bf02765541. ISSN  0022-4715. S2CID  122985615.
  5. ^ Meng, B.; Weinberg, WH (1994). "Simulaciones de Monte Carlo de espectros de desorción programados por temperatura". The Journal of Chemical Physics . 100 (7). AIP Publishing: 5280–5289. Bibcode :1994JChPh.100.5280M. doi :10.1063/1.467192. ISSN  0021-9606.
  6. ^ Slepoy, Alexander; Thompson, Aidan P.; Plimpton, Steven J. (28 de mayo de 2008). "Un algoritmo Monte Carlo cinético de tiempo constante para la simulación de grandes redes de reacciones bioquímicas". The Journal of Chemical Physics . 128 (20). AIP Publishing: 205101. Bibcode :2008JChPh.128t5101S. doi :10.1063/1.2919546. ISSN  0021-9606. PMID  18513044.
  7. ^ Meng, B.; Weinberg, WH (1996). "Estudios dinámicos de Monte Carlo de modelos de crecimiento epitaxial de haces moleculares: escalamiento interfacial y morfología". Surface Science . 364 (2). Elsevier BV: 151–163. Bibcode :1996SurSc.364..151M. doi :10.1016/0039-6028(96)00597-3. ISSN  0039-6028.
  8. ^ abc Young, WM; Elcock, EW (1966). "Estudios de Monte Carlo sobre migración de vacantes en aleaciones ordenadas binarias: I". Actas de la Physical Society . 89 (3). IOP Publishing: 735–746. Bibcode :1966PPS....89..735Y. doi :10.1088/0370-1328/89/3/329. ISSN  0370-1328.
  9. ^ 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 . 47 (26). Elsevier BV: 8604–8617. doi :10.1016/j.polymer.2006.10.017. ISSN  0032-3861.
  10. ^ DR Cox y HD Miller, La teoría de los procesos estocásticos (Methuen, Londres), 1965, págs. 6-7.
  11. ^ Gillespie, Daniel T (1976). "Un método general para simular numéricamente la evolución temporal estocástica de reacciones químicas acopladas". Journal of Computational Physics . 22 (4). Elsevier BV: 403–434. Bibcode :1976JCoPh..22..403G. doi :10.1016/0021-9991(76)90041-3. ISSN  0021-9991.
  12. ^ Fichthorn, Kristen A. ; Weinberg, WH (15 de julio de 1991). "Fundamentos teóricos de simulaciones dinámicas de Monte Carlo". The Journal of Chemical Physics . 95 (2). AIP Publishing: 1090–1096. Bibcode :1991JChPh..95.1090F. doi :10.1063/1.461138. ISSN  0021-9606.
  13. ^ AF Voter, Introducción al método cinético de Monte Carlo, en Efectos de radiación en sólidos, editado por KE Sickafus y EA Kotomin (Springer, NATO Publishing Unit, Dordrecht, Países Bajos, 2005).
  14. ^ APJ Jansen, Introducción a las simulaciones de Monte Carlo de reacciones superficiales, materia condensada, resumen cond-mat/0303028.
  15. ^ Chatterjee, Abhijit; Vlachos, Dionisios G. (28 de febrero de 2007). "Una descripción general de los métodos de Monte Carlo cinético acelerado y microscópico espacial". Revista de diseño de materiales asistido por computadora . 14 (2). Springer Science and Business Media LLC: 253–308. Bibcode :2007JCMD...14..253C. doi :10.1007/s10820-006-9042-9. ISSN  0928-1045. S2CID  53336314.
  16. ^ Chotia, Amodsen; Viteau, Matthieu; Vogt, Thibault; Comparat, Daniel; Pillet, Pierre (30 de abril de 2008). "Modelado cinético de Monte Carlo del bloqueo dipolar en el experimento de excitación de Rydberg". New Journal of Physics . 10 (4). IOP Publishing: 045031. arXiv : 0803.4481 . Bibcode :2008NJPh...10d5031C. doi : 10.1088/1367-2630/10/4/045031 . ISSN  1367-2630.
  17. ^ Di Gesù, Giacomo; Lelièvre, Tony; Le Peutrec, Dorian; Nectoux, Boris (2016). "Modelos de Markov con saltos y teoría de estados de transición: el enfoque de distribución cuasiestacionaria". Faraday Discussions . 195 : 469–495. arXiv : 1605.02643 . Bibcode :2016FaDi..195..469D. doi :10.1039/C6FD00120C. ISSN  1364-5498. PMID  27740662. S2CID  25564764.
  18. ^ 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 . Springer. págs. 773–803. arXiv : 1801.05347 . doi :10.1007/978-3-319-44677-6_27. ISBN 978-3-319-44677-6.
  19. ^ Martin-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 Monte Carlo cinético". Instrumentos y métodos nucleares en la investigación en física Sección B: Interacciones de haces con materiales y átomos . 253 (1–2). Elsevier BV: 63–67. Bibcode :2006NIMPB.253...63M. doi :10.1016/j.nimb.2006.10.035. ISSN  0168-583X.
  20. ^ Mason, DR; Hudson, TS; Sutton, AP (enero de 2005). "Recuperación rápida de la historia de estados en simulaciones cinéticas de Monte Carlo utilizando la clave Zobrist". Computer Physics Communications . 165 (1): 37–48. Bibcode :2005CoPhC.165...37M. doi :10.1016/j.cpc.2004.09.007.
  21. ^ Dalla Torre, J.; Bocquet, J.-L.; Doan, NV; Adam, E.; Barbu, A. (2005). "JERK, un modelo cinético de Monte Carlo basado en eventos para predecir la evolución de la microestructura de materiales bajo irradiación". Philosophical Magazine . 85 (4–7). Informa UK Limited: 549–558. Bibcode :2005PMag...85..549D. doi :10.1080/02678370412331320134. ISSN  1478-6435. S2CID  96878847.
  22. ^ 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 saltos". Physical Review Letters . 97 (23). American Physical Society (APS): 230602. Bibcode :2006PhRvL..97w0602O. doi :10.1103/physrevlett.97.230602. ISSN  0031-9007. PMID  17280187.

Enlaces externos