10
MÉTODO DE CÁLCULO
Dinámica Molecular
El formalismo de la Dinámica Molecular permite conocer en detalle aspectos fundamentales
de sistemas cristalinos, como deformaciones, tensiones, temperaturas, velocidades, etc., a
partir de un modelo microscópico [56]. En esencia, este método consiste en resolver las
ecuaciones clásicas de movimiento de los constituyentes de un sistema a lo largo de un
cierto intervalo de tiempo. A partir de estos valores atomísticos se extrae información
macroscópica mediante promedios estadísticos.
En las simulaciones de MD se asume que la dinámica de las partículas está gobernada por
las leyes de la mecánica clásica. En otras palabras, el movimiento de las partículas se ajusta
a las leyes de movimiento de Newton. Para un sistema aislado de N partículas, la segunda
ley de Newton indica:
!Fi(r1,...,r
N) = m
i
d2!ri
dt2
[2]
!Fi= −∇
iV (r
1,...,r
N) = −
∂V (r1,...,r
N)
∂ri
[3]
Para N > 3 no siempre es posible obtener una solución analítica para estas ecuaciones, por lo
que hay que recurrir a métodos numéricos. La validez y exactitud del método numérico
utilizado dependen en gran medida de la forma del potencial de interacción entre
constituyentes, que a su vez depende del tipo de sistema que se esté estudiando (metales,
semiconductores, materiales orgánicos, etc.) y del grado de detalle que se busque. En general,
el potencial de interacción se escribe mediante una superposición de términos que involucren
átomos individuales (esto es, interacción con campos externos), pares, tripletes, etc.:
V = V1(ri )+ V
2(ri ,rj )+ V
3(ri ,rj ,rk )+ ⋅⋅⋅
k> j>i
∑j>i
∑i
∑j>i
∑i
∑i
∑ [4]
11
Los términos más relevantes en esta expresión son el primero y el segundo, denominado
término de interacción por pares. Los términos de orden cuarto y superior no suelen tenerse
en cuenta, ya que aportan poco al cálculo de propiedades macroscópicas y tienen un coste
computacional muy alto. En todo caso, los potenciales empleados tienen que ser
consistentes con las situaciones a simular. En general, estos potenciales se expresan en
función de una serie de parámetros que se calibran ajustando los resultados obtenidos a
valores experimentales de magnitudes como parámetros reticulares, constantes elásticas y
dieléctricas, coeficientes de difusión, etc. Por lo tanto, no pueden ser usados en condiciones
de altas presiones o temperaturas, en las que pueden aparecer excitaciones iónicas o
electrónicas irreales.
En la simulación de metales, el método más empleado en la actualidad es el método de
átomo embebido (“Embedded-Atom Method”, EAM [57]) y su modificación MEAM
(“Modified Embedded-Atom Method”), que incluye fuerzas angulares; ambos métodos se
describen más adelante. Otros métodos son los de orden de ligadura, como AIREBO [58] o
Tersoff [59] y los métodos de intercambio de carga como REAX [60,61].
Una vez adoptado un potencial de interacción, el procedimiento para desarrollar una
simulación por DM de un sistema en equilibrio es el siguiente [20]:
1. Definir las condiciones iniciales de la simulación, entre otras: temperatura, número
de partículas, densidad, paso de tiempo, etc.
2. Especificar las posiciones y velocidades iniciales de cada partícula para inicializar
el sistema. En sistemas en equilibrio, se elige una distribución aleatoria de
velocidades (distribución de Maxwell-Boltzmann) termalizada a la temperatura del
sistema.
3. Calcular la fuerza inicial sobre cada partícula a partir de la expresión del potencial.
4. Calcular las nuevas posiciones a un paso de tiempo posterior para cada partícula,
integrando las ecuaciones de movimiento de Newton.
5. Calcular las nuevas velocidades y aceleraciones para las partículas.
6. Repetir los pasos 2 al 5 hasta que el sistema alcanza la condición de ergodicidad.
7. Analizar los datos obtenidos para calcular las propiedades de interés.
12
Una cuestión importante es la elección del integrador numérico a emplear para resolver las
ecuaciones de Newton. Algunas propiedades deseables son las siguientes:
• debe ser rápido y requerir poca memoria;
• debe permitir el uso de un paso temporal grande;
• debe satisfacer lo mejor posible las leyes de conservación de energía y momento y la
simplecticidad (conservación del volumen de espacio fásico en la evolución de un
conjunto de trayectorias).La simplecticidad del algoritmo es una propiedad deseable,
debido a que si bien no conserva exactamente la energía, la misma oscila de manera
controlada y acotada [62] y
• debe reproducir las trayectorias clásicas lo mejor posible.
No existen algoritmos de integración con paso temporal constante que conserven la energía,
el momento y sean simplécticos [63], pero sí que posean dos de estas propiedades. Entre los
más utilizados se encuentran los algoritmos Verlet, Verlet en velocidad y “leap-frog”.
Todos estos métodos son equivalentes, generando trayectorias idénticas; las diferencias
entre ellos están en el tiempo de computación, la memoria empleada y la exactitud de cada
uno.
En este trabajo hemos utilizado el algoritmo de Verlet en velocidad, que es una variante del
algoritmo de Verlet original[64]. El algoritmo de Verlet resulta de la combinación de dos
series de Taylor. Consideremos por simplicidad un movimiento monodimensional. La
posición de una partícula en un instante t + ∆t, x(t +∆t), se expresa como:
x(t + ∆t) = x(t)+dx(t)
dt∆t +
1
2
d2x(t)
dt2
∆t2+1
3!
d3x(t)
dt3
∆t3+ ⋅⋅⋅ [5]
donde x(t) es la posición en el instante t. Análogamente, la posición en t - ∆t es:
x(t − ∆t) = x(t)−dx(t)
dt∆t +
1
2
d2x(t)
dt2
∆t2−1
3!
d3x(t)
dt3
∆t3+ ⋅⋅⋅ [6]
Si sumamos ambas series, resulta para la posición en el instante t + ∆t:
13
x(t + ∆t) = 2x(t)− x(t − ∆t)+ ax(t)∆t
2 [7]
donde ax(t) es la aceleración de la partícula en el instante t.
Una característica del algoritmo de Verlet es que no se necesitan las velocidades para
calcular las trayectorias. Sin embargo, es útil determinar v(t) para estimar la energía cinética
y por tanto la energía total del sistema. La velocidad puede obtenerse a partir de:
vx(t) =
x(t + ∆t)− x(t − ∆t)
2∆t [8]
El algoritmo de Verlet es un método a dos pasos, ya que involucra la estimación de x(t + ∆t)
a partir de la posición en el instante t y de la posición previa x(t − ∆t). Por lo tanto, no es
suficiente conocer la posición x(0) y la velocidad v(0) para inicializar el algoritmo. Una
manera de obtener x(−∆t) para t = 0 es usar el algoritmo de Euler, según el cual:
x(−∆t) = x(0)− vx(t)∆t [9]
El algoritmo de Verlet no incorpora la velocidad en forma explícita. En cambio, el
algoritmo de Verlet en velocidad [65] sí que lo hace.
El algoritmo de Verlet en velocidad sigue el siguiente esquema para un movimiento
monodimensional:
1. Calcular: v(t +1
2∆t) = v(t)+
1
2a(t)∆t [10]
1. Calcular: x(t + ∆t) = x(t)+ v(t +1
2∆t)∆t [11]
1. Derivar a(t + ∆t) del potencial de interacción empleado x(t + ∆t) [12]
1. Calcular: v(t + ∆t) = v(t +1
2∆t)+
1
2a(t + ∆t)∆t [13]
14
Por último, es importante tener en cuenta las limitaciones de esta metodología. En primer
lugar, para que un sistema pueda estudiarse mediante DM es necesario que la longitud de
onda de De Broglie (λ = h / 2mE ) sea pequeña comparada con las distancias típicas de
evolución del sistema (en nuestro caso, las distancias interatómicas); el tamaño de la caja de
simulación también tiene que ser mucho mayor que estas distancias. Además, los tiempos
de simulación deben ser también mucho mayores que los tiempos típicos en el sistema a
simular (en nuestro caso, el inverso de la frecuencia de Debye del sistema).
Potenciales EAM
Daw y Baskes [66] y Finnis y Sinclair [67] propusieron para la simulación de metales una
forma de potencial más avanzado que los simples potenciales aditivos por pares. La
metodología introducida por ellos se conoce como método del átomo embebido, EAM.
Las bases del método EAMse fundamentan en la teoría de la funcional de densidad. Esta
teoría presupone que la energía total de un sistema es una funcional de la densidad
electrónica solamente. Bajo esta idea inicial, Daw y Baskes aceptaron que la energía de
cohesión de un átomo puede calcularse como la suma de la energía electrostática asociada a
su propia densidad electrónica más la contribución debida a la densidad electrónica de los
átomos vecinos en la posición del átomo, considerada como constante en la región que
envuelve al átomo. De esta manera, tenemos por un lado la contribución electrostática
repulsiva asociada a la interacción de los núcleos atómicos, y por otro, la contribución
energética debida al embebimiento del átomo en la densidad electrónica del entorno Fi(ρ
i) .
Según esto, el potencial EAM de interacción entre dos átomos en una matriz metálica consta
de dos partes [68]: una interacción aditiva por pares entre los átomos, y un término de varios
cuerpos que depende de la densidad local en el punto en el que cada átomo esté localizado.
Así, el potencial EAM se escribe formalmente como:
15
U =1
2φij(rij)+ F
i(ρ
i)
i=1
N
∑j≠i
∑i=1
N
∑ [14]
donde la función φij (rij ) es la función potencial aditiva por pares debida a la repulsión entre
los núcleos atómicos, ρies la densidad atómica total y F
i(ρ
i) es la llamada función de
embebimiento del átomo en la densidad electrónica del entorno. La densidad atómica se
aproxima como la superposición de las densidades atómicas individuales:
ρi= ρ
j
a(rij)
j≠i
∑ [15]
donde ρ j
a es la densidad aportada por el átomo j.
Una descripción completa de un sistema de N componentes requiere N(N+1)/2 funciones de
interacciones de pares φij (rij ) , N funciones ρ j
a y N funciones de embebimientoFi(ρ
i) .
Metodología
Construcción del sistema geométrico
El sistema analizado consiste en una caja de simulación cúbica de
100nm x 100 nmx 100 nm. Para generar un policristal de aluminio se utilizó el código
Fillatoms [69], complementado con el software Qhull [70]. El proceso consistió en definir
una teselación de Voronoi tridimensional en la caja de simulación [71,72] y rellenar cada
recinto (o grano) con átomos distribuidos según una red fcc de parámetro reticular igual al
del aluminio metálico. La caja de simulación así obtenida contiene 10 granos y alrededor de
60.000 átomos. Por último, se definieron condiciones de contorno periódicas en las tres
direcciones del espacio. Esto es especialmente importante para evitar los efectos de
frontera, también llamados de borde o de superficie, permitiendo reproducir de manera
16
fiable las condiciones a las que se ven sometidas las partículas del interior del material, que
determinan la mayoría de las propiedades de los sistemas macroscópicos.
LAMMPS - Scripts
Las simulaciones se han llevado acabo empleando el software de DM LAMMPS (“Large-
scale Atomic Molecular Massively Parallel Simulator”) desarrollado por Plimpton [73],
diseñado específicamente para ser ejecutado en paralelo de forma eficiente. LAMMPS es un
software de código abierto desarrollado en Sandia National Laboratories, una unidad del
Departamento de Energía de los Estados Unidos, que se distribuye libremente bajo los
términos de Licencia Pública GNU (GPL). Ofrece la posibilidad de simular una amplia
gama de tipos de partículas y de considerar una gran variedad de métodos y condiciones de
simulación.
Potencial empleado
La interacción entre átomos ha sido modelada empleando un potencial EAM para el
aluminio desarrollado por Y. Mishin y col.[74].La interacción entre los átomos según el
citado potencial EAM en los scripts de LAMMPS se impone según los siguientes
comandos:
pair_style eam/alloy
pair_coeff * * Al99.eam.alloy Al Al
pair_modify shift yes
El comando “pair_style” define el formato de interacciones aditivas por pares utilizadas,
EAM en este caso. A continuación, “pair_coeff* * Al99.eam.alloy Al Al”” realiza la lectura
del archivo Al99.eam.alloy, que contiene los valores de Fi(ρ
i) ,φij (rij ) y ρ
ipara el aluminio.
El parámetro “eam/alloy” posibilita el empleo de potenciales para aleaciones de aluminio,
extendiendo el empleo de los potenciales EAM. En nuestro caso solo interesan los
potenciales de interacción para el aluminio puro, de ahí los dos últimos parámetros de este
comando. El comando “pair_modify” con el argumento “shift yes” impone que el potencial de
interacción sea nulo a la distancia que define la red cristalina. Adicionalmente, este comando
17
añade un término energético a cada interacción entre pares que puede ser utilizado como
resultado de las simulaciones.
El procedimiento de simulación seguido consta de dos etapas diferenciadas. La primera
ellas es un proceso de relajación / minimización de energía de la caja de simulación. En la
segunda etapa, la caja de simulación se somete a procesos de calentamiento a diferentes
temperaturas, analizándose la evolución de diversas magnitudes de interés.
La relajación de la caja original es necesaria para garantizar la estabilidad del sistema de
fronteras de grano [75,76]. El algoritmo de minimización implantado en LAMMPS consiste
en un método implícito de Newton. El método comienza con una configuración arbitraria
para posteriormente ajustar iterativamente la posición de los átomos, de manera que la
energía potencial disminuya hasta alcanzar un mínimo local. Consideremos entonces un
sistema compuesto por N átomos, siendo p el vector que contiene las 3N coordenadas de
dichos átomos. La función a minimizar es la energía potencial total del sistema, que
depende de las coordenadas de los N átomos:
E(r1,..., rN ) = Epair (ri, rj )+ Ebond (ri, rj )+ Eangle(ri, rj, rk )+ Edihedral (ri, rj, rk, rl )+ Eimproper (ri, rj, rk, rl )+ E fix
i
∑ijkl
∑ijkl
∑ijk
∑ij
∑i, j
∑
[16]
donde el primer término es la suma de todas las interacciones entre pares de átomos no
conectados, incluyendo las interacciones de Coulomb de largo alcance. Los términos del
segundo al quinto representan las interacciones de unión y ángulo respectivamente. El
último término recoge la energía debida a las restricciones impuestas por el comando “fix”,
que en este caso consiste en imponer una presión externa nula que asegura que la forma de
la caja de simulación no varíe en el proceso de minimización de energía.Para una iteración k
del algoritmo de minimización, las posiciones de los átomos se modifican añadiendo un
vector “paso” d de manera que pk+1 = pk + d .
El método de Newton requiere resolver un sistema de ecuaciones lineales con derivadas
parciales segundas de E. La matriz hessiana de E(p) está definida como:
18
∇2E(p) =
∂2E(p)∂p
1∂p
1
…∂2E(p)∂p
1∂p
N
⋮ ⋱ ⋮
∂2E(p)∂p
N∂p
1
⋯∂2E(p)∂p
N∂p
N
, [17]
y el “paso” exacto del método de Newton viene dado por d = −[∇2E(p)]
−1∇E(p)
La matriz hessiana de un sistema como el construido en este trabajo es muy grande y
costosa de manipular. Una excelente alternativa al método exacto consiste en calcular el
“paso” de Newton de manera inexacta, empleando una modificación del algoritmo del
gradiente conjugado conocida como “Hessian-free truncated Newton” [77,78], el empleado
para minimizar la energía en LAMMPS.
Cabe aquí recordar que un objetivo secundario del presente trabajo es el de optimizar los
scripts de LAMMPS desarrollados. El script de LAMMPS que minimiza la energía es el
siguiente:
min_style cg
fix 1 all box/relax iso 0.0 nreset 1
minimize 1.0e-6 0.001 10000 10000
min_modify line quadratic
El comando “minimize” lanza el proceso de minimización del sistema, ajustando las
coordenadas de los átomos de manera iterativa. El algoritmo de minimización lo define el
comando “min_style”. En nuestro caso “cg” indica que hemos empleado la versión de
Polak-Ribiere del algoritmo de gradiente conjugado [79]. En cada iteración el gradiente de
fuerza es combinado con la información de la iteración anterior para calcular la nueva
dirección de búsqueda. Las iteraciones concluyen cuando se cumple alguno de los criterios
de parada, que se definen para garantizar que nuestro sistema se encuentre en el mínimo de
energía potencial. Los criterios de parada son los siguientes:
19
• la diferencia de energía potencial entre iteraciones no debe ser mayor que el primer
argumento, 10-6 en nuestro caso.
• ninguna de las componentes x, y o z de la fuerza que actúa sobre cualquier átomo
debe superar el valor especificado en el segundo argumento, 0,001 eV/Å.
• El número máximo de iteraciones es 10000 (tercer argumento).
• El número total de evaluaciones de la fuerza es también 10000 (cuarto argumento).
El comando “min_modify” con argumento “line quadratic” se introduce para imponer un
algoritmo de búsqueda que intenta reducir las fuerzas a cero, mientras que garantiza que los
incrementos entre iteraciones en la energía del sistema sean negativos.
Tras la minimización de energía se sometió la caja de simulación a diversas simulaciones de
calentamiento a diferentes temperaturas. La temperatura de fusión para el aluminio es de 933
K; los algoritmos de DM funcionan bien hasta el 80 % de la temperatura de fusión de la
muestra [54,80], por lo que en este trabajo no hemos sobrepasado la temperatura de 745 K.
En concreto, se realizaron simulaciones a 300 K, 400 K, 500 K, 600 K y 745 K.
Imponer una temperatura equivale a definir una distribución de velocidades para el sistema.
Esto se hace con la orden:
velocity allcreate 300.0 82986 distgaussian mom no
En equilibrio, esta distribución debe ser de tipo gaussiano, de ahí el argumento
“distgaussian”. Además, el sistema tiene que tener, en conjunto, momento lineal nulo (porque
si no, el sistema se movería como un todo), de ahí el argumento “mom no”.
Adicionalmente, tenemos que definir las condiciones en las que se encuentra el sistema y
cómo tiene lugar la simulación. Para ello, se emplea el comando “fix”. En nuestro caso,
utilizamos dos veces dicho comando, ya que queremos imponer que nuestro sistema se
encuentre a temperatura y a volumen constante:
20
fix 1 all temp/berendsen 300.0 300.0 0.5
fix 2 all nve
El primero de ellos controla la temperatura del sistema según el algoritmo de Berendsen [81].
El segundo impone que el volumen debe permanecer constante. Así, las simulaciones se
realizan en el colectivo NVT.
Por último, tenemos que definir algunos parámetros fundamentales para la realización de las
simulaciones. El “timestep” empleado es el utilizado por LAMMPS por defecto para
metales, 0.001 ps. El número de “steps”, y por consiguiente la duración de las simulaciones,
se define con el comando “run”. En nuestro caso, todas las simulaciones dinámicas han
tenido una duración de300 ps, es decir 300.000 “steps”.En todas las simulaciones realizadas
se han impuesto condiciones de contorno periódicas en las tres direcciones del espacio.
Metodología de análisis de resultados
Identificación de las fronteras de grano
Para identificar de las fronteras de grano se empleó la metodología CNA (“Common
Neighbor Analysis”) [82]. En esta técnica, la estructura atómica local de sólidos y líquidos se
caracteriza mediante 4 índices que denotaremos como i, j, m, n. Consideremos un par de
átomos en una estructura. El primer índice i es igual a la unidad si el par de átomos son
considerados como primeros vecinos y 2 en caso contrario. El índice j indica el número de
vecinos comunes del par considerado, mientras que el m indica el número de enlaces entre los
vecinos comunes [83]. Finalmente, n diferencia entre diagramas con índices i, j y m iguales y
diferente unión entre vecinos comunes.Consideraremos que dos átomos son primeros vecinos
si la distancia entre ellos es igual o menor al parámetro reticular de la red cristalina.
La figura 1 muestra varios ejemplos de estructuras cristalinas y sus índices CNA. En
concreto, 1a muestra una estructura fcc, formada cuando un par de primeros vecinos
comparten 4 vecinos comunes, los cuales tienen dos enlaces entre sí. La figura 1b muestra el
diagrama 1422 que representa a la estructura hcp. Las figuras 1c y 1dd se refieren a la
21
estructura bcc, diagramas 1441 y 1661. En la figura, la esfera roja (i) y la amarilla (j)
representan un par de primeros vecinos, azul claro (k) son los vecinos comunes del par (i)-(j).
Figura 1. Representación CNA de algunos pares [84]
Los diagramas CNA permiten identificar unívocamente las distintas estructuras
cristalinas.Cuando la estructura cristalina de un determinado átomo es desconocida, la
metodología CNA lo etiqueta como “de tipo desconocido”; en nuestro caso, estos átomos son
los que definen las fronteras de grano.
Los diagramas CNA están claramente definidos para cristales perfectos, como se muestra en
la Tabla 1, y se utilizan para distinguir entre diferentes estructuras. Según esta tabla, en una
estructura fcc perfecta todos los pares de átomos tienen un diagrama del tipo 1421. Por otro
lado, en una estructura hcp, la mitad de las parejas de vecinos más cercanos tienen un
diagrama 1421 y la otra mitad 1422. Con el contrario, la estructura cristalina bcc no está
balanceada, contiendo 3/7 partes de los pares de átomos con diagrama 1441 y el resto, 4/7
con 1661.
22
Diagrama CNA fcc bcc hcp
1421 1 0 0.5
1422 0 0 0.5
1441 0 3/7 0
1661 0 4/7 0
Tabla 1. Presencia relativa de los diferentes diagramas CNA en diferentes estructuras
cristalinas [84].
Contaje del número de granos y cálculo de su tamaño
El procedimiento seguido consistió en la obtención de diez imágenes de secciones de la
muestra en determinados momentos de las simulaciones de calentamiento a diferentes
temperaturas. A continuación se obtuvieron los tamaños de los cortes de los granos en dichas
secciones de la muestra empleando el programa ImageJ [85].
Medida de la velocidad de las fronteras de grano
La medida de la velocidad de las fronteras de grano se ha llevado a cabo mediante el
seguimiento de determinadas fronteras. Para ello, se procedió a aislar las fronteras elegidas,
22 en nuestro caso, y a calcular el desplazamiento del centro de masas de cada una de
dichas fronteras. Posteriormente, se realizó un análisis estadístico para la generalización de
los resultados obtenidos.
Medida de la rotación de los granos
Para estudiar la rotación de los granos de nuestro cubo de simulación se ha seguido el
siguiente procedimiento:
• En el instante inicial, se seleccionan dos átomos pertenecientes a un mismo grano que
estén suficientemente alejados entre sí;
23
• el segmento que une dichos átomos define una dirección;
• cada cierto tiempo se mide la situación de dicho par de átomos definiendo la nueva
dirección que delimita el segmento que los une;
• se calcula en ese instante el ángulo formado por el segmento instantáneo y el inicial.
La rotación se ha medido cada 25 ps en torno a los ejes X y Z de la caja de simulación.
Visualización de los resultados
Para visualizar los resultados de las simulaciones se ha empleado el programa Ovito,
visualizador científico de código abierto que permite representar los archivos de resultados de
LAMMPS[86].