autorizada la entrega del proyecto al alumno: javier ... · elástico y plástico. más aún, la...
TRANSCRIPT
Autorizada la entrega del proyecto al alumno:
JAVIER MUNILLA LÓPEZ
Los directores del proyecto:
ALBERTO CARNICERO LÓPEZ
Fdo: Fecha:
MARIO CASTRO PONCE
Fdo: Fecha:
Vº Bº del coordinador de proyectos:
JOSÉ IGNACIO LINARES HURTADO
Fdo: Fecha:
PROYECTO FIN DE CARRERA
CARACTERIZACIÓN MECÁNICA DE
SÓLIDOS NANOMÉTRICOS MEDIANTE
DINÁMICA MOLECULAR
AUTOR: Javier Munilla López
MADRID, Junio de 2008
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL
CARACTERIZACIÓN MECÁNICA DE SÓLIDOS NANOMÉTRICOS
MEDIANTE DINAMICA MOLECULAR
Autor: Munilla López, Javier.
Directores: Carnicero López, Alberto y Castro Ponce, Mario.
Entidad Colaboradora: ICAI - Universidad Pontifica de Comillas.
RESUMEN DEL PROYECTO
La principal motivación de este proyecto es la de desarrollar un procedimiento efectivo y
adecuado para el modelado de sólidos a escala nanométrica mediante dinámica molecular, y
especialmente en lo referente a sus propiedades mecánicas. Se enmarca dentro de una línea
de investigación de ICAI-Universidad Pontificia Comillas iniciada en el año 2006.
Se ha partido del código MODYCO (MOlecular DYnamics COde ) desarrollado como
proyecto de fin de carrera de ingeniería informática en ICAI en 2007 a partir del cual se han
implementado una serie de funcionalidades nuevas dando lugar al código actual llamado
COMODYN (COde for Molecular DYNamics)
Se ha procedido a la realización de múltiples simulaciones en diferentes circunstancias con
el fin de caracterizar el comportamiento de los sólidos a escala nanométrica mediante
técnicas de dinámica molecular.
En primer lugar se ha comprobado la consistencia del procedimiento para la reproducción
adecuada de los parámetros atomísticos más relevantes, para ello se ha particularizado en
aluminio, y se han estudiado sus parámetros de red (tanto en volumen como en superficie),
distancia a primeros vecinos y energía superficial, observándose un acuerdo excelente con
los resultados experimentales. Se ha escogido aluminio como material para las simulaciones.
Dentro de las familias de ensayos realizadas, una de los más importantes ha sido la
simulación de ensayos de tracción, para los cuales se han analizado gran variedad de
parámetros. Se puede comprobar un comportamiento cualitativamente semejante al que se
puede obtener en un ensayo a tracción con aluminio macroscópico, incluyendo régimen
elástico y plástico. Más aún, la realización de estas simulaciones ha resultado ser un gran
método para analizar la nucleación y evolución de las dislocaciones y otros mecanismos
causantes de la plasticidad. Además los sistemas han sido analizados en términos de sus
tensiones, temperaturas, energías, fuerzas, etc…
Los módulos de Young y de cizalladura resultan ser, como era de esperar,
significativamente mayores que los experimental del aluminio macroscópico, debido a
diferentes causas: las simulaciones tratan con monocristales mientras que el aluminio
habitual es policristalino, y además tratan con cristales ideales, sin defectos o dislocaciones
que tienen una gran importancia en el comportamiento mecánico de los materiales. Aunque
estos valores no han podido ser contrastados con resultados experimentales, parecen ser
correctos en cuanto a sus órdenes de magnitud.
Las simulaciones sobre el contacto también han resultado especialmente interesantes al
demostrar la gran influencia que tienen los efectos superficiales a escala nanométrica. Las
deformaciones de dos esferas nanométricas de aluminio en contacto presionadas entre sí no
pueden ser explicadas a partir de la ley de Hertz (teoría clásica de la elasticidad). De hecho,
la teoría JKR encaja casi perfectamente con los resultados demostrando que la fuerza de
adhesión es suficientemente grande como para hacerse afectar al comportamiento del
sistema frente a la fuerza necesaria para deformar el volumen de las esferas.
Finalmente, se han realizado simulaciones para evaluar el comportamiento a escala atómica
de la fricción, encontrándose que la dinámica molecular es un método adecuado para su
estudio ya que reproduce algunos de los fenómenos más importantes involucrados en la
fricción y el desgaste.
Algunos de los resultados obtenidos en este proyecto han sido presentados en el Congreso
de Física Estadística FISES’08 en Marzo de 2008.
MECHANICAL DESCRIPTION OF NANOMETRIC SOLIDS BY MEANS
OF MOLECULAR DYNAMICS
The main motivation of this project is to develop an effective and suitable procedure to
simulate nanometric solids by means of molecular dynamics, putting emphasis on their
mechanical properties. It is part of a research line of ICAI – Universidad Pontificia
Comillas, started in 2006. This project has begun with MODYCO (MOlecular DYNamics
COde), developed as a final degree project in ICAI in 2007, but several improvements have
been added, establishing the actual code called COMODYN (COde for MOlecular
DYNamics). Several simulations at different circumstances have been done to analyse
mechanical behaviour of nanometric solids using molecular dynamics techniques.
The first step has been verifying the consistency of the method to reproduce the most
important atomistic parameters, such as lattice parameter (in both bulk and surface), first
neighbours distance and surface energy, finding a great agreement with experimental values.
Aluminium has been the material chosen for the simulations.
A variety of computational experiments have been done , and one the most important kind
was the tensile tests varying several parameters. Similar behaviour to the macroscopic
tensile test have been found, including load-unload cycles at elastic and plastic regimes.
Moreover, this simulations have provide a great procedure to analyse the nucleation and
development of dislocations and other plasticity mechanisms. Also, systems have analysed
in order of their stress, temperatures, energies, forces, etc…
On the other hand, tensile test and shear test have returned values of Young’s Modulus and
shear strength higher than common values for aluminium. This is a result of different
causes: simulations involve monocrystals while common aluminium is polycrystalline, also
simulations involve ideal crystals, without defects like dislocations or vacants which have an
important role in elastic processes. Although these Young and shear modulus obtained could
not be compared with experimental values, they show to be correct in term of their order of
magnitude.
Simulations regarding contact mechanics have been very interesting too. They have prove
the great influence if the surface effects at this nanometric size. Strains of two aluminium
atomistic spheres compressed into each other in contact have been analysed, and the results
are not explained by Hertz’s law (classical theory of elasticity). In fact, JKR law matches
almost perfect with these results, providing the conclusion that adhesive force (one of the
surfaces effects involved) is high enough to make itself visible together with the force
needed to deform the bulk of the spheres.
Eventually, friction behaviour have been simulated at atomistic scale finding that molecular
dynamics is a good way to study their mechanisms since several of the most important
results can be reproduced with these methods.
Some of the results obtained in this project have been presented at the Statistical Physics
Congress FISES’08 in March, 2008.
ÍNDICE
JML – UPCO 2008
- 1 -
1.- INTRODUCCIÓN............................................................................................................... 4
1.1.- Motivación....................................................................................................................... 4
2. DINÁMICA MOLECULAR ................................................................................................ 6
2.1.- Alcance, Usos .................................................................................................................. 6
2.2. Tipos de algoritmos........................................................................................................... 8
2.3. Tipos de potenciales.......................................................................................................... 9
2.4. Tipos de simulaciones según sus condiciones ................................................................ 16
- Búsqueda de vecinos ....................................................................................................... 16
- Condiciones de contorno periódicas (Periodic Boundary Conditions) ........................... 17
- Reescalado de velocidades/focos térmicos (thermostats)................................................ 19
- Colectividades NVE, NVT y otras .................................................................................. 19
- Otras ligaduras................................................................................................................. 21
2.5. Interpretación de datos.................................................................................................... 22
2.6. Estado de la técnica: Programas disponibles .................................................................. 29
3. Caracterización de Materiales............................................................................................. 33
3.1. Sólidos cristalinos ideales ............................................................................................... 33
3.2 Sólidos cristalinos reales.................................................................................................. 38
3.3. Propiedades mecánicas. .................................................................................................. 41
3.4. El problema del contacto ................................................................................................ 43
3.5. Propiedades dinámicas.................................................................................................... 46
4.- EL PROGRAMA: COMODYN........................................................................................ 50
4.1.- Capacidades ................................................................................................................... 50
4.2.- Algoritmo....................................................................................................................... 52
ÍNDICE
JML – UPCO 2008
- 2 -
4.3.- Rendimiento................................................................................................................... 60
4.4.- Funciones de entrada ..................................................................................................... 63
- Sobre las partículas.......................................................................................................... 63
- Sobre la estructura cristalina............................................................................................ 63
- Sobre la geometría ........................................................................................................... 65
* Funciones rectangulares y prismáticas........................................................................ 65
* Funciones circulares y esféricas.................................................................................. 67
* Funciones triangulares y puntas.................................................................................. 68
* Ensayos de tracción y cizalla ...................................................................................... 69
* Ensayos de contacto.................................................................................................... 69
* Ensayos de desgaste.................................................................................................... 71
4.5.- Funciones de postramiento de datos.............................................................................. 71
- Límite “cuasicontinuo”.................................................................................................... 72
- Energías ........................................................................................................................... 72
- Especies y moléculas ....................................................................................................... 73
- Condiciones impuestas .................................................................................................... 74
- Distribución de velocidades............................................................................................. 75
- Parámetros de asimetría................................................................................................... 75
- Temperaturas ................................................................................................................... 78
- Tensiones ......................................................................................................................... 80
- Cálculo de las fuerzas y los vecinos ................................................................................ 81
- Funciones específicas ...................................................................................................... 82
4.6.- Modificaciones del código............................................................................................. 83
- Nuevas funciones de posicionamiento ............................................................................ 83
- Nuevas funciones de postratamiento de datos................................................................. 86
- Cambios en el código interno del programa.................................................................... 88
4.7.- Unidades del código ...................................................................................................... 91
4.8.- Líneas futuras ................................................................................................................ 92
ÍNDICE
JML – UPCO 2008
- 3 -
5.- SIMULACIONES REALIZADAS ................................................................................... 93
5.1.- Verificación de la estructura cristalina: Efectos de Frontera......................................... 94
5.2.- Ensayos de tracción ..................................................................................................... 100
- Curva de tensión – deformación.................................................................................... 100
- Comportamiento elástico............................................................................................... 108
- Deformación transversal................................................................................................ 109
- Análisis de las energías.................................................................................................. 111
- Defectos cristalinos........................................................................................................ 114
- Campo de tensiones ....................................................................................................... 117
5.3.- Ensayos de cizalladura................................................................................................. 119
5.4.- Ensayos de contacto..................................................................................................... 124
- Cilindros ........................................................................................................................ 124
- Esferas ........................................................................................................................... 132
5.5.- Ensayos de desgaste..................................................................................................... 143
5.6.- Líneas para ensayos futuros......................................................................................... 146
6.- CONCLUSIONES........................................................................................................... 148
7.- BIBLIOGRAFÍA............................................................................................................. 150
7.1.- Sobre Dinámica Molecular.......................................................................................... 150
7.2.- Sobre Física y Materiales ............................................................................................ 151
7.3.- Sobre Tribología y contacto ........................................................................................ 151
7.4.- Artículos de investigación ........................................................................................... 152
7.5.- Enlaces web ................................................................................................................. 153
8.- APÉNDICES ................................................................................................................... 155
8.1.- Apéndice A: Manual de usuario de COMODYN........................................................155
1.- INTRODUCCIÓN
JML – UPCO 2008
- 4 -
1.- INTRODUCCIÓN
1.1.- Motivación
Este proyecto surge como objeto de investigación, desde una perspectiva moderna y
aún en fase de desarrollo, de diferentes áreas de la física y la ingeniería tradicionalmente muy
alejadas, tanto en métodos como en ámbitos de aplicación:
Por un lado, la física del estado sólido trata de explicar, apoyándose en la mecánica
cuántica y métodos estadísticos, las propiedades de los materiales a partir de las propiedades de
sus átomos y sus interrelaciones. Mientras, la resistencia de materiales, basada en la hipótesis
de los medios continuos, aplica el cálculo infinitesimal para reproducir y predecir el
comportamiento de los materiales. A medio camino se encuentran otras ramas como la teoría
de la elasticidad, con mayor componente analítica, o la tribología principalmente experimental.
Bajo esta perspectiva se ha llegado, en los últimos años, al crecimiento tanto del
conocimiento teórico como tecnológico de los nuevos retos que supone la nanotecnología,
cuyos sistemas presentan un comportamiento mecánico que no puede ser explicado
adecuadamente por ninguna de las ramas anteriormente mencionadas.
Son muchos los motivos por los que se puede intuir que el comportamiento de los
materiales en el ámbito de la nanotecnología será muy diferente al que se está acostumbrado a
escala macroscópica, pero posiblemente el más importante sea la aparición de efectos
superficiales debido al aumento de la relación superficie/volumen al reducirse el tamaño del
sistema como se justifica a lo largo de esta memoria. Por otra parte, las habituales hipótesis de
partida de medios continuos, homogéneos e isótropos tampoco son aplicables a estas escalas y
la experimentación directa, además de extremadamente delicada, a día de hoy apenas está al
alcance de unos pocos centros de investigación.
Por todo esto y gracias a la evolución de los ordenadores están apareciendo numerosos
artículos y proyectos de investigación que tratan de reproducir, mediante simulación
computacional, diversas situaciones como la nanoindentación, la nucleación de dislocaciones,
o incluso el desgaste por fricción entre dos cuerpos a nivel nanométrico.
1.- INTRODUCCIÓN
JML – UPCO 2008
- 5 -
El objetivo del presente proyecto es, por tanto, el de utilizar recursos de la dinámica
molecular para extraer información sobre el comportamiento mecánico a escala atómica de
estos sistemas nanoscópicos, e, idealmente, desarrollar modelos que los describan de una
manera lo más general posible.
En concreto, se presta una especial importancia a la caracterización cristalina de los
materiales, sus propiedades mecánicas y su comportamiento en el contacto entre sólidos a
escala nanométrica, además de, entre otros, el análisis de las tensiones, asimetrías y energías.
Para ello, se parte de un código desarrollado como proyecto de fin de carrera durante el
curso 2006/07; MODYCO, a partir del cual construir un código más versátil y modular. Tras
esta primera tarea, se ha tratado de poder caracterizar adecuadamente a un material,
principalmente aluminio, con la comprobación del efecto de la relación superficie/volumen
mencionada, la aparición de efectos superficiales como la adhesión, la simulación de ensayos
característicos de tracción y cizalla, y la deformación a contacto por compresión, además de un
pequeño análisis cualitativo del desgaste a esta escala, aportando las consideraciones y
modelos adecuados para su justificación y explicación.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 6 -
2. DINÁMICA MOLECULAR
2.1.- Alcance, Usos
La dinámica molecular, en adelante llamada MD (Molecular Dynamics), consiste
básicamente en la simulación del comportamiento de un gran número de partículas, sean
átomos, moléculas, agregados o de cualquier otro tipo, a partir de la resolución numérica del
“problema de muchos cuerpos” (Many-Body Problem) que interactúan entre sí. Esto permite
seguir las trayectorias y propiedades individuales de todas las partículas del sistema. No
obstante en la mayoría de los casos no serán de interés estas ingentes cantidades de datos, si no
que deben ser procesados, habitualmente mediante técnicas de física estadística, para la
obtención de parámetros globales del sistema, de las cuales se hablará brevemente en el
apartado 2.4.
La dinámica molecular trata de simular el comportamiento de sistemas macroscópicos a
partir de las interacciones entre unas pocas partículas; en un mol de materia (del orden de
gramos) hay 6.023 x 1023 átomos/moléculas (Número de Avogadro), mientras que en las
mayores simulaciones hechas en superordenadores hasta la fecha se llegan a considerar del
orden de 10 9 partículas. Tantos órdenes de magnitud diferenciándoles recuerdan la gran
prudencia que se debe tener con estas simulaciones, sus resultados, y las conclusiones a
extraer.
Junto con el problema del tamaño, la otra gran dificultad que hay que tratar con sumo
cuidado al realizar simulaciones MD es la del tiempo: tanto el tiempo de cálculo como el
tiempo de simulación. Al tratarse, como ya se ha dicho, del problema de muchos cuerpos, no
se conoce, ni se pretende conocer, la expresión analítica de las trayectorias de las partículas,
por lo que la manera de operar, como se verá más adelante, será la de resolver, para cada
posición en un instante dado del sistema, las velocidades y aceleraciones que sufren las
partículas, asumiendo que éstas variarán muy poco durante un corto periodo de tiempo
transcurrido el cual habrá que volver a evaluarlas. Este tiempo entre pasos de cálculo
consecutivos depende del algoritmo y los parámetros a utilizar, pero como orden de magnitud
puede decirse que se trata de femtosegundos (1 fs = 10-15 s). Si a esto se añade la gran carga
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 7 -
computacional que supone cada evaluación de una posición del sistema, se llega a que apenas
se puede simular la evolución de los sistemas durante algunos nanosegundos (1 ns = 10 -9 s) en
el mejor de los casos con grandes supercomputadores y gran número de horas de cálculo. En
este proyecto se han simulado tiempos de hasta 10 -11 s. La razón de esta limitación temporal
está íntimamente ligada a estos sistemas en cualquiera de sus configuraciones; desde las
elevadas frecuencias de vibración de los átomos en las redes cristalinas hasta las grandes
velocidades de las moléculas en estado gaseoso.
Una vez tenidas en cuenta las dificultades genéricas que conlleva la técnica de la MD,
se podrían resumir sus actuaciones en tres pasos:
- Modelar adecuadamente las partículas fundamentales y sus interacciones
- Resolver la dinámica de éstas partículas en unas condiciones dadas
- Interpretar los resultados; posiciones y velocidades, a la luz del efecto colectivo que
ha resultado de dichas interacciones individuales.
De entre las diversas aplicaciones de la MD destaca en primer lugar el caso de los
gases, en los cuales las interacciones entre partículas son especialmente sencillas, y de hecho se
pueden encontrar de manera analítica muchas relaciones entre parámetros microscópicos y
macroscópicos con unas pocas simplificaciones.
La MD se ha empleado también satisfactoriamente en el campo de los líquidos, en los
cuales ya empieza haber otros fenómenos debidos a una mayor densidad e interacción entre
partículas, precisamente es por esta causa por la que la MD se ha erigido en una de las
principales herramientas en el estudio de las propiedades de los fluidos en general.
Actualmente es de gran interés en campos como la biología, medicina, ingeniería
genética, etc… la simulación del movimiento e interacción de determinadas moléculas, estudio
que se complica al tratar en este caso no con partículas puntuales, sino con grupos de partículas
enlazados con diversos grados de libertad añadidos (rotaciones, flexiones, etc)
También se emplean actualmente técnicas de MD para la caracterización de polímeros
y materiales amorfos, que por su falta de estructura y la ausencia de orden a largo alcance son
especialmente difíciles de tratar de manera analítica.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 8 -
Por último, existe la posibilidad de estudiar sólidos cristalinos, incluyendo a los
metales, que serán el objeto de interés de este proyecto, mediante dinámica molecular.
Aparte, al margen de sucesivos tipos y estados de la materia en que se ha aplicado la
dinámica molecular, es importante subrayar cómo es posible estudiar fenómenos como
cambios de fase, difusión, dispersión, cambios estructurales, efectos cooperativos, etc…
Una de las variantes más recientes en la aplicación de la MD es la conocida como -
algoritmos multiescala, en los cuales se trata de interrelacionar en una misma simulación los
resultados a varios niveles, desde el más pequeño que es la dinámica molecular hasta el mayor,
habitualmente microscópico, formulado en términos de medios continuos con elementos
finitos.
2.2. Tipos de algoritmos
Entre los distintos algoritmos usados en MD destacan tres grandes grupos:
- Classical MD : Supone que la interacción entre partículas obecede las leyes de la
mecánica clásica, con lo que obtenidas las fuerzas o las aceleraciones que sienten las partículas
del sistema aplicando las leyes de Newton se puede conocer su evolución instantánea. Otras
maneras de hacerlo serían emplear el hamiltoniano o el lagrangiano en lugar de las leyes de
Newton. El algoritmo empleado por COMODYN se encuadra dentro de este tipo de Dinámica
Molecular Clásica, llamado de Verlet y será explicado en detalle en el apartado 4. Otros
algoritmos enmarcados en este apartado serían el Leap-Frog algorithm, o el Beeman’s
algorithm, [FREN02] en los cuales no se entrará en este proyecto.
- Quantum MD : Tienen en cuenta conceptos como funciones de probabilidad y de
densidad, están basadas en los llamados “primeros principios”, o Ab Initio. Tienen una mayor
fiabilidad, pero su elevada complejidad de programación y simulación hace que no sean muy
populares entre la comunidad especializada salvo para experimentos especialmente sencillos.
Se les suele otorgar el papel de verificador en caso de que simulaciones de otro tipo den
resultados inesperados o sorprendentes. [MARX]
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 9 -
- Técnicas de Montecarlo : En lugar de evaluar los efectos de las interacciones de todas
las partículas, emplean algoritmos basados en la estadística y números aleatorios para,
evaluando sólo algunas de ellas, inferir el comportamiento global del sistema. Por lo general
estos métodos requieren de un conocimiento previo sobre el sistema y sus características
mucho más elevado que los otros métodos, y por tanto no siempre son aplicables. [YOUN01]
2.3. Tipos de potenciales
Los potenciales son, junto con el algoritmo en sí mismo, la clave para que una
simulación sea adecuada al sistema que se pretende modelar.
El potencial representa la manera en la cual las partículas interactúan entre ellas, y por
tanto es esencial que sea una representación lo más fiel posible de la realidad.
Hay una gran variedad de potenciales en la literatura específica, cada uno enfocado para
modelar un tipo diferente de sistema. En los principios de la MD, se buscaban potenciales que,
sin dejar de lado su eficacia, fueran lo más simple posible por motivos computacionales. Hoy
día esta necesidad sigue imperando, pero va dejando paso a numerosos potenciales cada vez
más complejos.
En cuanto a su fuente, se les puede clasificar en:
- Teóricos : Parten de teorías concretas para, bajo ciertas hipótesis, desarrollar una
forma concreta del potencial, un claro ejemplo de este tipo de potenciales es el llamado de
esferas duras, que es independiente de las partículas concretas a simular, como se verá a
continuación.
- Empíricos : Son fruto de determinados experimentos, en los que se miden algunos
parámetros que dan lugar a potenciales numéricos de interacción. Esto implica que sólo podrán
ser utilizados para simular el mismo tipo de partículas medidas y bajo condiciones similares.
Un caso típico de estos potenciales son los llamados potenciales EAM.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 10 -
- Semiempíricos : Parten de modelos teóricos más o menos elaborados para llegar a la
forma funcional de estos potenciales, dejando uno o más parámetros como grados de libertad
que posteriormente habrá que ajustar a los valores que mejor representen a cada tipo de
partícula concreta, es decir, estos potenciales son “universales”, siempre y cuando se utilicen
los parámetros adecuados a la simulación a realizar. Algunos ejemplos de estos potenciales son
los de Lennard-Jones y el de Morse.
En cuanto al tipo de interacción:
- Potenciales entre pares: Sólo tienen en cuenta la interacción entre cada par de
partículas y sus distancias absolutas. Como ejemplo a destacar, el potencial de Lennard-Jones
o el de Morse, cuya forma genérica es la siguiente:
( ) ( )( )201 rrijij
ijeDr −−−= βφ
- Potenciales multicuerpo: Tienen en cuenta las distancias absolutas y/o relativas entre 3
o más partículas que interaccionan entre sí. El potencial de Weber es un ejemplo de este tipo.
- Potenciales de “campo de fuerzas” (Force Field) : Incluyen en la interacción los
ángulos relativos entre las partículas, son empleados principalmente para el estudio de
moléculas orgánicas, en las cuales la orientación de los enlaces entre átomos es crucial para la
representación del sistema.
- Potenciales EAM : Hacen uso del concepto densidad local de electrones, con lo que
incluyen efectos electrostáticos que les permiten modelar adecuadamente los enlaces metálicos.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 11 -
En cuanto a la naturaleza de la interacción; puede que solo tengan en cuenta parámetros
geométricos, o que sean añadidos términos que den cuenta de otro tipo de interacciones como
pueden ser efectos magnéticos, eléctricos, etc… para una introducción sobre ellos, [CHIP03].
Como ejemplo véase el potencial de Stockmayer, que incluye la expresión habitual del
Lennard_Jones junto con un término electrostático para modelar la interacción entre los
dipolos de las moléculas polares:
donde
Los primeros potenciales empleados fueron casi en su mayoría teóricos y muy simples,
como el de esferas duras, que a pesar de su sencillez dio lugar a una gran cantidad de
información sobre el comportamiento de sistemas gaseosos, especialmente los compuestos por
gases ideales, de hecho, ya fue utilizado en la teoría cinética de los gases. Este potencial se
caracteriza por ser infinito a cualquier distancia menor que una cierta distancia determinada,
que representaría el radio de la partícula, y nulo a cualquier distancia superior. De esta manera
se pueden modelar a las partículas tratándolas como esferas indeformables rebotando
elásticamente entre ellas. Posteriormente fueron añadiéndose variaciones como el pozo que
muestra la figura, o el conocido como esferas blandas.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 12 -
Fig. 2.3.a.- A la izquierda, potencial de esferas duras, a la derecha con pozo que representa el rango de
distancias entre partículas en equilibrio
Más adelante se empezaron a utilizar potenciales empíricos como el de Coulomb, que
como sólo daba cuenta de la interacción electrostática prácticamente sólo se podía emplear en
fenómenos de scattering o de colisiones entre partículas.
La justificación de los potenciales basados en dos términos potenciales de signo
opuesto es que los enlaces deben reproducir una cierta distancia de equilibrio entre las
partículas que interactúan, porque de hecho esto es lo que caracteriza a un enlace, mientras a
distancias menores debe aparecer una fuerza repulsiva y a distancias mayores la fuerza será
atractiva. De esta manera, y a través de la ecuación de van der Waals, surgieron una gran
cantidad de potenciales del tipo:
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 13 -
Fig. 2.3.b.- Forma genérica del potencial de esferas blandas y la fuerza resultante de la interacción entre el
par de partículas [ HAIL92]
Donde los exponentes n y m pueden tomar una gran variedad de valores, siempre
respetando que n>m, es decir, que la fuerza repulsiva crece más rápidamente que la atractiva
para una misma variación en la distancia frente a la del equilibrio, como puede verse en la
siguiente figura. Los parámetros σ y ε son ajustados para cada material concreto en función de
determinadas propiedades medidas experimentalmente.
El asterisco junto a cada parámetro indica que se trata de variables normalizadas;
r* = r / σ ; F* = Fσ / ε ; U* = U / ε.
De todos estos potenciales el que ha conseguido mayor aceptación por su combinación
aceptable de fiabilidad, simplicidad y rapidez de cálculo ha sido aquel con n = 6 y m = 12, y es
popularmente conocido como Lennard-Jones.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 14 -
Los parámetros σ y ε pueden encontrarse en la bibliografía, por ejemplo en [RAPP92],
para cada tipo de partícula, y según las reglas de combinación de Lorentz-Berthelot, el
potencial de interacción entre dos partículas diferentes puede calcularse, a falta de datos
concretos, según las siguientes relaciones:
jiij
jiij
σσσ
εεε
+=
=
Otro factor importante que viene impuesto por el potencial a utilizar es el tiempo
característico, que está relacionado con el tiempo máximo permisible entre sucesivas
evaluaciones del comportamiento del sistema. Para el caso de potenciales Lennard-Jones, éste
tiempo característico es:
2
12
0 48
=
εστ m
Por ejemplo, para el caso de átomos de Argón, resulta ser de aproximadamente 300 fs,
aunque como norma práctica no suelen emplearse tiempos de simulación mayores del 10% de
este tiempo característico como máximo.
Actualmente el abanico de potenciales disponibles es enorme, y como muestra se
detalla en la Fig.2.3.1 una tabla con una clasificación bastante exhaustiva de los potenciales en
función de su fiabilidad y la necesidad de potencia de cálculo para su uso. Algunos de ellos han
sido ya mencionados aquí, otros no, para más información sobre estos potenciales, así como
para otros muchos potenciales no mencionados, puede consultarse por ejemplo [TORR72],
[UVIR01]
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 15 -
Fig. 2.3.1 Tabla de diferentes potenciales ordenados según precisión (de mayor a menor) y de simplicidad
de coste computacional (de menos a más) [IAP_06]
En definitiva los tres parámetros a valorar a la hora de elegir el potencial más adecuado
a la simulación que se quiere hacer son:
- Precisión: El potencial debe ser adecuado al sistema
- Intercambialidad: Los potenciales son ajustados bajo unas ciertas condiciones, el
potencial debe ser capaz de reproducir no sólo éstas condiciones si no una cierta variedad de
condiciones y variantes del sistema.
- Coste computacional: Debe existir un compromiso entre los anteriores aspectos y la
simplicidad y sencillez de las simulaciones que lo hagan viable.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 16 -
2.4. Tipos de simulaciones según sus condiciones
Como ya se ha expuesto anteriormente, la MD evalúa la evolución de un sistema de
partículas muy reducido con el fin de reproducir y analizar el comportamiento de sistemas
mucho mayores; para ello será necesaria la aplicación de diversas condiciones y
procedimientos, algunas de las más típicas se detallan a continuación:
- Búsqueda de vecinos
Como se puede observar en la forma de los potenciales, a grandes distancias son
prácticamente nulos, por lo que puede no merecer la pena calcular la interacción entre todos los
pares de partículas existentes en el sistema. Por ello, se puede hablar de tres formas básicas
diferentes para tratar este asunto, que quedan representados en la Fig. 2.4.a
Fig. 2.4.a.- Diferentes formas de tratar el problema de las interacciones, de izquierda a derecha: evaluación
de todas las parejas, método de las celdas, lista de vecinos [RAPA04]
En primer lugar se puede evaluar la interacción entre todas las partículas del sistema, lo
cual es computacionalmente muy costoso y para parejas de partículas a una distancia muy
grande el potencial será tan pequeño que apenas influirá en su evolución. Para un sistema con
N partículas será necesario evaluar del orden de N 2 interacciones.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 17 -
El método de las celdas subdivide el volumen del sistema en celdas de tamaño
adecuado y asigna cada partícula a una celda concreta. De este modo en el caso de la imagen
para todas las partículas de la celda central sólo evalúa la interacción entre las partículas
pertenecientes a las celdas sombreadas, reduciendo el número de interacciones, quedando del
orden de N (lineal)
El método de la lista de vecinos, que es el empleado por COMODYN, es parecido al
anterior, también del orden de N, pero algo más optimizado. Básicamente consiste en la
búsqueda, para cada partícula, de las partículas que se encuentran a una distancia determinada
(circunferencia externa en la figura) y evalúa, de entre ellas, las interacciones entre las que se
encuentren en el área sombreada. Este método mejora la eficiencia puesto que es
computacionalmente más costoso evaluar potenciales y fuerzas que distancias entre partículas,
y optimiza al máximo la distancia de “no interacción” (la que se supone interacción
despreciable) definida por el radio del área sombreada. La razón de que se busquen vecinos
dentro de una distancia mayor (la circunferencia externa) es la que da el nombre de lista de
vecinos, puesto que se almacenan las parejas potencialmente interactuantes no en cada paso si
no cada cierto número de pasos, por lo que no sólo se optimiza el número de interacciones a
evaluar, si no también la búsqueda de partículas que están a una distancia menor a la de “no
interacción”
- Condiciones de contorno periódicas (Periodic Boundary Conditions)
Permiten emular el comportamiento de sistemas periódicos “infinitos” mediante la
simulación de únicamente cierto número de partículas. Esto es especialmente importante para
evitar los efectos de frontera, también llamados de borde o de superficie, permitiendo
reproducir de manera fiable las condiciones a que se ven sometidas las partículas del interior
del material, conocidas habitualmente como las partículas bulk (“volumen” en inglés) que son
las que determinan la mayoría de las propiedades de los sistemas macroscópicos al estar
presentes en una proporción muchísimo mayor que las de superficie.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 18 -
Para comprender su funcionamiento, véase la figura 2.4.b, en la cual se representa cómo
simulando únicamente las partículas del cuadrado central se estaría analizando el
comportamiento de infinitas partículas situadas en cajas idénticas a esta, algo muy útil por
ejemplo para sólidos cristalinos por su simetría translacional, pero también para gases debido a
su homogeneidad en el espacio. Por supuesto se debe tener especial cuidado en que las
partículas a simular sean, tanto en número como en condiciones, representativas del material.
En la primera figura se muestra cómo el hecho de que una partícula salga del volumen
de simulación (caja central) hace que otra partícula idéntica entre por el extremo opuesto, como
si viniera de la caja izquierda que es también idéntica.
Fig. 2.4.b - Ejemplos de cómo influyen las condiciones periódicas de contorno. [KEFF02]
La figura de la derecha muestra cómo la partícula de abajo se relaciona con las de arriba
a través de la frontera entre las cajas, aunque en realidad están demasiado lejos para
interaccionar entre ellas, es como si viera a esas mismas partículas en la caja inferior.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 19 -
- Reescalado de velocidades/focos térmicos (thermostats) En determinadas situaciones hay que imponer ciertas condiciones a las velocidades de
las partículas, puesto que, como se verá más adelante, están íntimamente relacionadas con la
temperatura del sistema, y por otro lado pueden aparecer, o peor aún, acumularse, errores en el
cálculo de las velocidades tanto por causas numéricas como debidas a las hipótesis de
potencial, tiempo entre pasos, etc… Algunas de las posibilidades habitualmente empleadas en
dinámica molecular son las siguientes:
- Durante el proceso de equilibrado, que se explicará en el apartado 2, habrá que
asegurar, para todas las partículas, que llegan a su estado de equilibrio a la temperatura
deseada, para ello es necesario ajustar las velocidades, empleándose habitualmente
procedimientos como el del reescalado de los módulos según una distribución Maxwell-
Boltzmann, que es el método empleado por COMODYN, u otros procedimientos más afinados
y complejos como los termostatos de Nosé-Hoover, el de Berendsen, o el de Andersen
[FREN02].
- En otras ocasiones puede ocurrir que, a lo largo de la simulación y debido a un trabajo
externo aplicado sobre las partículas, éstas se calienten excesivamente al no poder disipar el
calor generado de la misma manera que haría un sistema macroscópico con muchas más
partículas. Este hecho puede dar lugar, por ejemplo, a la fusión de determinadas regiones (o
todas) del material. Para esta circunstancia se pueden emplear condiciones de tipo thermostat
(cuya traducción en COMODYN no es literal pero sí más representativa de su función, es
“foco térmico”). Su labor consiste en mantener su temperatura constante, absorbiendo o
cediendo la energía necesaria de las partículas de alrededor, exactamente como haría un foco
térmico tradicional.
- Colectividades NVE, NVT y otras
Para inferir resultados de unas partículas hacia un conjunto enorme de ellas se hace
imprescindible una formulación estadística del sistema, y para ello la dinámica molecular se
nutre principalmente de la física estadística. Las simulaciones deben contar con una serie de
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 20 -
variables macroscópicas conservadas para poder establecer relaciones entre las demás variables
a calcular. Al conjunto de partículas representativo de un estado particular de un sistema se le
llama “microestado”, mientras que a todos los microestados compatibles con unas
determinadas condiciones macroscópicas se le da el nombre de “colectividad”, dicho de otro
modo; la dinámica molecular nos dará un microestado del sistema, y conociendo las suficientes
variables macroscópicas conservadas, habrá que ser capaces de evaluar el resto de las variables
de interés.
La colectividad más ampliamente empleada en MD es la colectividad microcanónica en
la cual las cantidades macroscópicas conservadas son el número de partículas totales, el
volumen, y la energía total del sistema, por ello se la conoce abreviadamente como
colectividad NVE. Otra muy empleada, especialmente con técnicas de Montecarlo, es la
colectividad canónica en la cual se conservan el número de partículas, el volumen y la
temperatura del sistema, abreviándose como NVT. Otras posibilidades menos habituales
incluyen las NPT y las HNt, donde P se refiere a presión, H a entalpía y t a tensión externa
constantes.
La gran utilidad de estos formalismos es que si se dan las condiciones para decir que el
sistema forma parte de una estas colectividades, se podrá promediar en el tiempo los sucesivos
microestados y su resultado será el mismo que el de promediar en el espacio para un instante
dado (hipótesis ergódica), y así obtener cualquier variable macroscópica de interés a partir de
unas “pocas fotos” del sistema simulado.
Por ejemplo, para el caso de colectividades microcanónicas, en las cuales se conservan
NVE, se puede calcular la temperatura del sistema a partir del teorema de equipartición usando
la energía cinética (velocidades o momento lineal) como:
∑=
==N
i
i
BB
cin
m
p
NkNk
ET
1
2
3
1
3
2
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 21 -
- Otras ligaduras
Existen otro tipo de ligaduras más o menos habituales que permiten reducir o
generalizar los sistemas a simular. Algunas de las más típicas e implementadas en el código de
COMODYN son:
Condición de velocidad constante
Condición estática
Condición de fuerza constante
Condición de sólido rígido
Imponiendo este tipo de condiciones a determinadas partículas puede condensarse el
efecto de una gran cantidad de partículas en unas pocas si se emplean adecuadamente y se
tienen en cuenta sus consecuencias indeseables en los resultados. Por ejemplo, si se quiere
simular un conjunto de partículas sometidas a tracción, que será una de las principales
configuraciones empleadas en las simulaciones de este proyecto, habrá que imponer una
condición de velocidad constante o de fuerza constante a un cierto grupo de partículas. Por otro
lado, es probable que al tratarse de tan pocas partículas ocurran efectos no deseados como la
pérdida de sus posiciones relativas, giros, etc… para evitar ello se le podrá imponer una
condición de sólido rígido, con lo que sería como si hubiera una gran cantidad de partículas
representadas por una sola fila de átomos, puesto que de alguna manera lo que hace esta
condición de sólido rígido es disipar las pequeñas desviaciones inhomogéneas existentes en el
plano de compresión que aparecen siempre en los ensayos pero que tenderían a cero en caso de
que el sistema fuera mucho mayor.
La figura derecha 2.4.c muestra un conjunto de partículas libres (de color verde), unas
con condiciones de fuerza (azules) y otras estáticas (rojas). Las azules están empujando hacia
abajo a las verdes y por su falta de estabilidad ha ocurrido un giro indeseable si la intención era
presionar contra las partículas rojas en vertical. Tras aplicar la condición de sólido rígido a las
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 22 -
azules mantienen sus distancias relativas, absorbiendo las pequeñas asimetrías en la
deformación, evitando este efecto.
Fig. 2.4.c Efecto de las ligaduras [PRES07]
2.5. Interpretación de datos
Una vez se tienen las simulaciones realizadas, es imprescindible extraer la información
adecuada, y para ello en general sólo contaremos con la información de posiciones y
velocidades de las partículas, así como las características del potencial y el algoritmo
empleados. Algunas de las variables que interesarán conocer serán:
- Energía Cinética.
Será la suma de las energías cinéticas de todas las partículas:
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 23 -
- Energía Potencial.
A partir del potencial empleado se podrá calcular la energía potencial de cada partícula,
y la suma de todas ellas será la energía potencial total.
Donde USR es la energía potencial de corto alcance, la evaluada a partir de las
interacciones, y ULR es la energía potencial de largo alcance, la suma de todas las interacciones
que se han considerado despreciables por separado, pero cuya suma puede ser apreciable. Si
únicamente interesa la variación de energía potencial y el sistema no ha variado su forma
significativamente, puede despreciarse este término de largo alcance.
- Energía Total.
Será la suma de las energías cinética y potencial, donde el potencial tendrá incluido, si
fuera el caso, la energía debida a efectos magnéticos, electrostáticos, elásticos, etc…
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 24 -
- Presión
Habitual para simulaciones de gases, se calculará a partir de la ecuación de estado
correspondiente. Para gases ideales y con la hipótesis ergódica sería:
∑=
⋅+=Ρ=N
iii
B frVV
TNkp
13
1 rr
- Temperaturas
Como ya se ha dicho antes, a partir de las energías cinéticas. Podrán ser temperaturas
globales, promediando a todo el sistema, o temperaturas locales, promediando en un cierto
recinto alrededor de cada partícula
∑=
==N
i
i
BB
cin
m
p
NkNk
ET
1
2
3
1
3
2
- Tensiones
También podrán ser globales o locales, y según qué tensión se quiera calcular, se
utilizará la tensión del virial [SEPP03] o alguna variante [IAP_06]. En los últimos años ha
habido un importante debate sobre la manera adecuada de calcular la tensión, COMODYN
puede calcular tanto la tensión del virial como la variante que no incluye la energía cinética de
las partículas, minimizando el efecto dinámico de las deformaciones que tienen gran
importancia en los ensayos que se han tratado en este proyecto.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 25 -
- Trayectorias, deformaciones
En ocasiones puede ser importante evaluar las trayectorias seguidas por partículas
concretas, así como su desplazamiento cuadrático medio o las deformaciones sufridas respecto
a sus posiciones iniciales. Debido al formato de salida de datos es particularmente sencillo de
evaluar, pues sólo precisa de la información sobre las posiciones.
- Parámetros de asimetría
Existe una variedad de métodos para calcular o diferenciar faltas de simetría (útiles en
simulaciones de sólidos cristalinos) que revelan la existencia de defectos, dislocaciones, bordes
de grano, maclas, etc… COMODYN emplea un método particularmente sencillo aunque
únicamente cualitativo, frente a otros como el parámetro de centrosimetría, que da
información cualitativa pero es mucho más costoso computacionalmente.
Parámetro de centrosimetría:
Slip vector:
COMODYN slip:
( )∑≠
−=nN
ijijiji dds 0
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 26 -
Como se puede observar, el parámetro de centrosimetría [KELC98] evalúa desviaciones
entre pares de partículas simétricas a una dada, siendo válido sólo para sistemas cristalinos, y,
la ecuación concreta mostrada, solamente para fcc. (existen otras formulaciones semejantes
para otros sistemas cristalinos)
El llamado slip vector [RODR02], íntimamente relacionado con el vector de burgers, y
el calculado en COMODYN son muy similares, se diferencian en que en este último se
consideran sólo los módulos de las distancias en lugar de sus vectores. Con esto se pierde
información sobre la dirección de la dislocación, pero se sigue obteniendo su posición y
evolución de manera considerablemente más rápida. Estos métodos tienen la ventaja de ser
válidos para cualquier sistema, sea cristalino o no, siempre y cuando se definan adecuadamente
la distancia teórica a los vecinos y el número de ellos (r 0, d 0 y Nn)
- Límite “cuasicontinuo”
Relacionados con los anteriores están las evaluaciones del “límite fluido”, que
permitirán evaluar de manera cualitativa qué tamaño de porción de material puede ser
considerado como volumen infinitesimal “cuasicontinuo”: La densidad de vecinos alrededor de
una partícula varía enormemente con la distancia a distancias pequeñas, mientras que al ir
aumentando la distancia estas variaciones se van reduciendo tendiendo al valor de la densidad
macroscópica. El límite continuo en el que las fluctuaciones son despreciables queda muy lejos
de las capacidades de la dinámica molecular, pero se puede hablar del límite cuasicontinuo en
el cual dichas fluctuaciones sean menores que un cierto umbral de aceptación.
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 27 -
Fig. 2.5.a.- Variaciones de densidad y número de partículas en área de control para
Aluminio en su plano (111)
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 28 -
Fig. 2.5.b.- Variaciones de densidad y número de partículas en volumen de control para
Aluminio en 3D.
- Fuerzas, trabajo y calor aplicado
Las ligaduras de velocidad constante, estáticas y de sólido rígido implícitamente están
aplicando unas fuerzas externas y por tanto un trabajo al sistema, mientras que las condiciones
de foco térmico introducen o absorben calor en el sistema. Esto puede traer consecuencias
importantes a los resultados, por lo que puede ser necesario evaluarlas. La forma de hacerlo
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 29 -
empleada en COMODYN consiste en calcular cuales serían sus aceleraciones y velocidades de
no tener dichas ligaduras:
Por ejemplo, para condiciones estáticas y de velocidad constante, en definitiva el efecto
de estas condiciones es el de hacer que la aceleración sea nula para estas partículas. Eso quiere
decir que la fuerza neta es también nula, por lo que evaluando las fuerzas reales (las que
tendría por interacción con las partículas) puede concluirse que la fuerza externa aplicada al
imponer la velocidad constante es justamente la fuerza opuesta, que es la que daría lugar a una
fuerza neta igual a cero. Esta fuerza así calculada es denominada fuerza virtual en
COMODYN.
- Otras variables termodinámicas
En ocasiones puede ser de interés conocer la evaluación de ciertos parámetros
termodinámicos como la entalpía (H), la energía libre de Helmholtz (F), entropía (S), etc…
para más información al respecto, véase por ejemplo [BIND03]
2.6. Estado de la técnica: Programas disponibles
Actualmente existen una gran variedad de programas de dinámica molecular, enfocados
hacia diferentes aplicaciones y algoritmos que se han ido exponiendo brevemente a lo largo de
este capítulo. Entre ellos hay una gran variedad de programas comerciales, especialmente
como se verá entre los dedicados a simulaciones de interés en campos como la biotecnología,
farmacéutica o la ingeniería genética. Otros muchos están enfocados a la simulación de gases,
de líquidos o de metales cristalinos o amorfos. También hay una cierta variedad de programas
de código abierto, así como diversas aplicaciones para la interpretación de los resultados,
visualización de los sistemas, etc… A continuación se detalla una lista de algunos de estos
programas con una breve indicación sobre cada uno de ellos [PRES07].
- YASARA: es un software de pago, que cuesta 2.700 $. No es muy flexible, pero
proporciona una interfaz amigable y sencilla. [WEB_01]
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 30 -
- TINKER: es un software opensource flexible y especialmente diseñado para proteínas
y polímeros. [WEB_02]
- Molecular Workbench, es un software libre de cierta simplicidad muy útil para
enseñar las bases de la Dinámica Molecular. [WEB_03]
- ABINIT: es un software con licencia GNU, que utiliza un método basado en la teoría
del funcional de la densidad (en adelante DFT). [WEB_04]
- AMBER: (acrónimo de Assisted Model Building with Energy Refinement o lo que en
español sería “Constructor de modelos asistidos con refinamiento de energía”). Este software
es uno de los más potentes del mercado y cuesta 20.000 $ [WEB_05]
- CASTEP: un software de características similares al ya mencionado ABINIT.
[WEB_06]
- CPMD: (acrónimo de Car-Parrinello Molecular Dynamics) que es un software de
pago desarrollado por IBM, entre otros, que basa su funcionamiento en DFT. [WEB_07]
- CHARMM: (acrónimo de Chemistry at Harvard Macromolecular Mechanics) es un
software de pago completo y flexible orientado al trabajo con proteínas, desarrollado en la
Universidad de Harvard. Trabaja tanto con las técnicas de las simulaciones de Monte-Carlo,
como con energías y dinámica molecular en general. [WEB_08]
- Fireball: es un software desarrollado por la Universidad de Virginia, que basa su
funcionamiento en DFT. [WEB_09]
- DL_Poly: es un software de pago, que centra su desarrollo en optimizar los cálculos al
máximo mediante la paralelización en clusters. [WEB_10]
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 31 -
- GROMACS: es un software con licencia GNU que destaca por su alta eficiencia en
los tiempos de simulación respecto a sus competidores. [WEB_11]
- LAMMPS: es un software limitado en cuanto a la flexibilidad, pero se desarrolla con
licencia GNU y tiene la capacidad de paralelizarse en red. [WEB_12]
- NAMD: (acrónimo de NAnoscale Molecular Dynamics) es un software libre, con
licencia GNU paralelizable. [WEB_13]
- PWscf: (acrónimo de Plane-Wave Self-Consistent Field) es un software GNU, que
trabaja con DFT. [WEB_14]
- SIESTA: (acrónimo de Spanish Initiative for Electronic Simulations with Thousands
of Atoms) es un software de pago, que se centra en la simulación de sólidos. [WEB_15]
-ATOMVIEW: No se trata de un código para realizar simulaciones, si no de un
programa gratuito para la representación gráfica de las simulaciones realizadas con cualquier
otro programa de los anteriores. Es potente y relativamente sencillo. [WEB_16]
Sirva esta lista como muestra de la gran aceptación que han tenido las técnicas de la
dinámica molecular para la investigación de las propiedades de la materia, y del variado uso y
alcance que tienen.
Por otro lado, ante toda esta variedad de programas disponibles, podría surgir la
pregunta sobre porqué se ha procedido a la elaboración de un código propio, y qué aporta
COMODYN al abanico existente.
En primer lugar, es importante destacar el grado de conocimiento y dominio de las
simulaciones que aporta el utilizar un código propio, pues, y especialmente en los programas
comerciales, es muy difícil conocer exactamente cada una de las etapas que tienen lugar
2.- DINÁMICA MOLECULAR
JML – UPCO 2008
- 32 -
durante la ejecución, y todos sus detalles al respecto de sus capacidades, limitaciones y
posibilidades de expansión. En segundo lugar, la mayoría de los programas están orientados o
bien a la eficiencia computacional o bien a sus posibilidades docentes. COMODYN representa
un estadio intermedio puesto que conjuga una gran versatilidad que le permite simular una
enorme gama de configuraciones de manera lo más transparente y modular posible sin por ello
conceder grandes mermas a la eficiencia del código. Ello puede permitir realizar tanto
simulaciones interesantes a nivel de investigación como reproducir fácilmente resultados
cualitativos de las principales propiedades de los sistemas nanoscópicos especialmente
interesantes en el ámbito académico.
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 33 -
3. CARACTERIZACIÓN DE MATERIALES
La MD permite caracterizar prácticamente cualquier tipo de material en cualquiera de
sus estados, fases, etc… pero a partir de este momento serán de interés exclusivamente los
sólidos cristalinos, a cuyo estudio está enfocado este proyecto, y por tanto se comenzará
haciendo una breve introducción de algunas de sus características principales.
3.1. Sólidos cristalinos ideales
Como es bien sabido, los sólidos están compuestos por átomos, los cuales a su vez
están compuestos por un núcleo atómico y una cierta cantidad de electrones. Los núcleos están
formados por protones y neutrones. En adelante, y debido a las escalas manejadas en dinámica
molecular, se supondrá que los átomos a considerar se encuentran en su estado fundamental, y
por tanto son neutros, esto es, tienen igual cantidad de electrones (carga negativa) que protones
(carga positiva). Además, se considerarán a los átomos como entes puntuales. Esta suposición,
más restrictiva, conlleva una serie de limitaciones al tratar con sólidos puesto que, por ejemplo,
para explicar satisfactoriamente las propiedades térmicas y eléctricas de los materiales es
necesario considerar separadamente a los electrones de los núcleos. Sin embargo por un lado el
efecto de los electrones está en parte incluido en la forma del potencial y por otro no serán de
especial importancia en las propiedades mecánicas que serán de interés en este trabajo.
De esta manera, los sólidos cristalinos ideales se pueden representar como una
agrupación ordenada de átomos, formando lo que se conoce con el nombre de cristal. Un cristal
necesariamente consta de dos características:
CRISTAL = RED + BASE
En lo que se refiere a la red, es la disposición geométrica que tienen los átomos que
forman el cristal, y debe ser tal que, teniendo simetría translacional, llene de manera densa el
espacio. Sólo hay unas pocas configuraciones posibles con estas restricciones, que se resumen
en las 14 Redes de Bravais. La forma habitual de representarlas es mediante la llamada “celda
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 34 -
unidad”, consistente en la menor porción de material que puede reproducir el cristal completo
con la mera translación de sí misma sin dejar huecos ni solapamientos. En la Fig 3.1.1 se
muestran las distintas redes de Bravais existentes, donde los nombres hacen referencia al
sistema cristalino al que pertenecen (hay 7 posibles), la P significa que la celda unidad es
primitiva, es decir, que sólo contiene un “átomo” por cada celda (u 8 repartidos en los vértices
con otras 8 celdas; 8/8 = 1). La I indica que la celda es “centrada en el interior (tiene añadido
un “átomo” en el centro). C significa centrada en dos caras paralelas, y F que es centrada en
todas sus caras (centrado en una cara indica que tiene en el centro de esa cara un “átomo”
añadido)
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 35 -
Fig. 3.1.1- Redes de Bravais.
La base es la unidad fundamental del cristal y puede estar formada por uno o más
átomos, en este último caso con posiciones relativas entre sí específicas. De hecho esta es la
razón por la que al hablar de las redes se indicaba por ejemplo que las celdas primitivas tienen,
cada una, un “átomo” entre comillas, pues en realidad este “átomo” puede ser realmente un
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 36 -
átomo o un conjunto de átomos, más bien significará que en cada uno de esos puntos irá una
unidad de la base, sea cual sea.
Por ejemplo, el aluminio es un cristal FCC (Face Centered Cubic = Cúbico Centrado
en las Caras = CCC en español) de base unitaria, es decir, vendrá representado por la figura de
abajo a la derecha donde cada punto marcado tendrá un átomo de aluminio. Sin embargo el
diamante es también un cristal FCC pero con base doble formada por dos átomos de carbono
dispuestos en la diagonal de la celda unitaria a una cierta distancia, quedando un cristal muy
diferente al aluminio siendo ambos FCC. A partir de este momento esta memoria se referirá
especialmente al caso de metales fcc de base unitaria por tratar precisamente en las
simulaciones realizadas con el aluminio.
Algunas de las propiedades más importantes que resultan como consecuencia de la
disposición geométrica de los cristales en cuanto a sus propiedades, son la densidad y el
número de coordinación. Para definirlos es conveniente en primer lugar detallar algunas
definiciones:
Parámetro de red: Es la longitud de los lados de la celda unidad. En el caso de fcc las
tres longitudes son iguales, por lo que se habla de un único parámetro de red, y suele denotarse
con la letra a. Para el aluminio a = 4.04 Å.
Volumen de la celda unitaria: En el caso de la fcc será a 3.
(a)
(b)
Fig. 3.1.2 – Celda unidad del Aluminio (a) y del diamante (b), ambas FCC
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 37 -
Átomos por celda: Indica la cantidad de átomos contenidos en cada celda, considerando
que los nodos compartidos con celdas adyacentes se reparten a partes iguales. De este modo en
una celda de aluminio se tendrán 8 nodos en los vértices donde cada uno de ellos se comparte
con 8 celdas adyacentes (8/8 = 1) y 6 nodos en las caras compartidos entre 2 celdas cada uno
(6/2 =3), siendo por tanto el total de átomos por celda para el aluminio igual a 4.
- Densidad atómica: Número de átomos en la celda unidad entre el volumen de ésta. En
el aluminio será entonces 4/a3.
- Número de coordinación: Es el número de nodos más próximos a un nodo dado.
Debido a las propiedades de los cristales, todos los nodos tienen igual número de coordinación,
y otra forma de verlo es como el número de vecinos más próximos (primeros vecinos). En el
caso del aluminio tiene un número de coordinación igual a 12.
- Planos y direcciones en la red. Las redes cristalinas, por su propia configuración, no
son isótropas, es decir, sus propiedades no son las mismas en cualquier plano o dirección. Sin
embargo sí cuentan con ciertas simetrías bajo translación de un número entero de su parámetro
de red y bajo rotación de un determinado grado según la estructura en cuestión. Para detalles
sobre cómo especificar los planos y las direcciones concretas habitualmente en cristalografía,
véase por ejemplo [SMIT99], [CALL98].
Un plano especialmente importante en las fcc que se utilizará habitualmente durante
este proyecto es el llamado plano (111):
- La utilización de un potencial entre pares, como es el caso del Lennard-Jones, en una
simulación en 2 dimensiones conduce siempre, en el equilibrio, a una estructura cristalina
(siempre que la temperatura sea menor a la de fusión del material) de tipo hexagonal, que es,
precisamente, la misma que la del plano (111) de una red fcc. Por este motivo en las
simulaciones de aluminio en dos dimensiones siempre será este plano el observado. De hecho,
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 38 -
impone que en una simulación bidimensional únicamente puedan ser reproducidos materiales
de estructura fcc o hcp (hexagonal compacta) y en este plano concreto.
- Este plano tiene una características que le hacen especial, pues se trata del plano de
máximo empaquetamiento, o máxima densidad planar, definida ésta como el número de
átomos por unidad de área. Cualquier otro plano diferente al (111) o sus equivalentes (por
ejemplo el (222)), tiene una densidad planar menor.
- Para el caso de estas simulaciones bidimensionales, hay que tener en cuenta que el
número de vecinos ya no será 12, sino que el número de primeros vecinos es en este caso 6.
3.2 Sólidos cristalinos reales
Hasta ahora se ha hablado exclusivamente de los sólidos cristalinos ideales, formados
por una secuencia periódica infinita de átomos ordenados en sus posiciones teóricas, sin
embargo los sólidos reales están sujetos a unas condiciones que les impiden alcanzar esta
situación teórica y aparecen una serie de faltas respecto a los ideales que son de vital
importancia de cara a las propiedades de los sólidos reales. Las principales causas son:
- Los sólidos, obviamente, no son infinitos, si no que tienen fronteras, delimitadas por
una determinada superficie. Los átomos cercanos a esa superficie no están rodeados de la
misma vecindad que los átomos del volumen, por lo que sus propiedades se verán afectadas.
- Lo sólidos reales se encuentran a una determinada temperatura, lo cual hace que
tengan una cierta energía cinética y los átomos vibren alrededor de sus posiciones de
equilibrio, de modo que nunca están exactamente en las posiciones que les corresponderían
según la red cristalina.
- Además, debido a la temperatura, los átomos pueden difundir, cambiando su posición,
y dejando huecos. Estos defectos, llamados defectos puntuales, son los llamados átomos
intersticiales y vacantes, en el primero de ellos un átomo está situado fuera de su posición
ideal, mientras que en el segundo donde debería haber un átomo no lo hay. Dentro de los
defectos puntuales, entrando más a fondo en sus peculiaridades, se pueden diferenciar muchos
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 39 -
tipos, pero no es la intención describirlos en esta memoria, a continuación se muestran algunos
de los principales:
Fig. 3.2.a.- Defectos puntuales más habituales: a) Vacante, b) Intersticial, c) Sustitucional pequeño, d)
Sustitucional grande, e) Defecto Frenkel, f) Defecto Schottky. [ASKE01]
Una vacante es la ausencia de un átomo en una posición en la que debería estar,
mientras que un intersticial es un átomo situado fuera de sus posiciones de equilibrio y los
sustitucionales con átomos situados en posiciones de la red correctas, pero de un material
diferente. Por su parte, los defectos del tipo Frenkel y Schottky son típicos de materiales
iónicos, en los cuales los intersticiales son los cationes (por ser más pequeños, los Frenkel) y
las vacantes son aniones (son de mayor tamaño, los Schottky)
Otro tipo de defectos, los lineales, son genéricamente llamados dislocaciones, y
también las hay de diferentes tipos según su morfología. El más típico de ellos son las
dislocaciones lineales, que vienen representados por la ausencia de una fila completa de
átomos dando lugar a una distorsión de la red. En la caracterización de las dislocaciones suele
utilizarse el vector de burgers, pero debido a que en este proyecto sólo serán tratadas de
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 40 -
manera cualitativa, no se entrará en detalles, para más información, véase por ejemplo,
[KITT96]. Los principales tipos de dislocaciones pueden verse en la siguiente gráfica:
Fig. 3.2.b.- Dislocaciones más representativas [ASKE01]
El último tipo de defectos de los que se tratarán aquí son los defectos de área, que
aparecen por ejemplo en los bordes de grano. Se denomina grano a una porción del material
que presenta una simetría cristalina orientada en una determinada dirección, mientras que el
borde de grano es la frontera entre dos granos con diferentes orientaciones cristalográficas.
Esta disposición en granos es típica de los materiales policristalinos, pero en dinámica
molecular es más habitual tratar con sistemas monocristalinos, donde todo el material tiene la
misma orientación. No obstante, en determinadas circunstancias como por ejemplo en el caso
de los ensayos a rotura, aparecerán bordes de grano como resultado de las deformaciones
inducidas durante la simulación, y por ello habrá que tener en cuenta esta diferenciación entre
monocristales y policristales.
Además, y aunque parezca algo obvio, hay que tener en cuenta que al alcanzar una
determinada temperatura, lo sólidos funden, perdiendo cualquier tipo de estructura cristalina.
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 41 -
Esta temperatura de fusión para el aluminio es de 660 ºC o unos 930 K. Es posible que, durante
las simulaciones, se alcance esta temperatura en determinadas regiones del material, por lo que
en ellas no tendrá sentido hablar de ningún tipo de estructura cristalina, y tampoco en aquellas
en que se alcance el límite de fluencia (del que se hablará más adelante, tiene que ver con
presiones elevadas) y comienza el comportamiento plástico, puesto que las presiones
deformarán enormemente la red cristalina.
En general, la cantidad de defectos presentes en un cristal en equilibrio es una función
de la temperatura a la que se encuentre y de su “historia”, es decir, de lo que les haya ocurrido
en el pasado, distribuyéndose, en ausencia de otros efectos como tensiones, etc…
aleatoriamente por el cristal, por lo que la probabilidad de encontrar un defecto en un grupo de
átomos es proporcional a la temperatura. En un cristal de aluminio a temperatura ambiente hay
una proporción de 10 -14 vacantes por cada átomo, es decir, del orden de 109 defectos / mol,
pero debido al pequeño número de átomos considerados en las simulaciones de dinámica
molecular, del orden de 103 en este trabajo, la probabilidad de encontrar una vacante entre esos
átomos en estado de equilibrio es del orden de 10 -11, y de manera similar ocurre con los otros
tipos de defectos, lo que justifica la utilización de redes ideales como punto de partida de las
simulaciones. Luego, a lo largo de ellas y debido a la aplicación de tensiones, etc… surgirán
gran variedad de defectos y se podrá estudiar su dinámica y sus consecuencias.
3.3. Propiedades mecánicas. Puesto que el objetivo último es el de estudiar materiales reales, y en concreto sus
propiedades mecánicas, será de interés la obtención de los parámetros macroscópicos que dan
cuenta de su comportamiento. Para ello, los tres parámetros más usuales dentro de las
deformaciones elásticas son: E, G y µ
E : Modulo de elasticidad lineal. En general es un tensor, pero en materiales
policristalinos, isótropos, degenera en un escalar que relaciona la tensión sufrida por el material
en una determinada dirección y la deformación unitaria resultante:
σ = εE
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 42 -
Para la determinación de este parámetro a través de la MD, se realizarán ensayos de
tracción, que a nivel macroscópico tienen el aspecto de la Fig 3.3.a.
G: Módulo de elasticidad transversal. Al igual que E es un tensor que bajo las mismas
condiciones degenera en un escalar. Relaciona la tensión de cizalladura experimentada por un
material con la deformación angular resultante.
τ = γ G
µ : Coeficiente de Poisson. Para materiales isótropos relaciona la tensión sufrida por un
material en una dirección dada con la deformación transversal sufrida. En la mayoría de los
materiales toma valores entre 0,2 y 0,5, siendo para los metales µ ≈ 1/3.
Fig. 3.3.a.- Forma genérica de un ensayo de tracción [BERR80]
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 43 -
Para materiales isótropos estos 3 parámetros no son independientes, y dados dos de
ellos el tercero queda unívocamente determinado según:
( )µ+=
12
EG
Sin embargo, como ya se ha mencionado, los sólidos cristalinos no son isótropos
debido a su estructura, y si bien a nivel macroscópico se comportan como isótropos, la razón es
que son materiales policristalinos, es decir, están compuestos por muchos cristales orientados
en diferentes direcciones de modo que a nivel macroscópico el comportamiento neto en
cualquier dirección es equivalente. Puesto que las simulaciones tratarán con monocristales
habrá que poner especial atención para no cometer errores al respecto. Por otra parte, existe
muy poca información experimental en lo que a monocristales se refiere, especialmente a estas
escalas nanométricas, por lo que de alguna manera habrá que tratar de tender puentes entre la
teoría elástica clásica y los resultados obtenidos.
Como ya se ha visto los ensayos de tracción y cizalladura son muy importantes para
conocer las propiedades mecánicas de los materiales, por lo que será de interés evaluarlos en
las simulaciones para asegurar que tanto el algoritmo como el potencial sean consistentes con
la realidad que se pretende simular.
3.4. El problema del contacto
El problema del contacto se plantea en la elasticidad clásica de materiales como el
estudio de las tensiones y las deformaciones que sufren los cuerpos cuando entran en contacto,
habitualmente a causa de una fuerza que los mantiene unidos. El campo de aplicaciones en que
sus resultados son de interés es muy grande, abarcando desde el cálculo del máximo par que
puede transmitirse a través de dos sólidos presionados entre sí, hasta el detalle de la dinámica
del choque inelástico, pasando por, lo cual es de interés aquí, el detalle del rozamiento y
consecuente desgaste entre sólidos.
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 44 -
Resumidamente, puede decirse que el problema del contacto es un caso particular de la
elasticidad clásica en el que se tienen en cuenta los efectos de la superficie en la interacción
entre los cuerpos. El primer estudio sobre estos efectos se debe a Hertz, cuando en 1880
publicó la que se conoce como teoría de Hertz elástica, que aborda el problema genérico del
contacto entre dos esferas de distintos materiales y radios de curvatura.
A nivel microscópico las superficies de los sólidos son irregulares y por tanto, cuando
entran en contacto dos cuerpos su interacción viene determinada por estas irregularidades
superficiales, las cuales pueden en general considerarse como una superposición de puntos de
contacto que en primera aproximación serán esféricos.
Fig. 3.4.a.- Detalle ampliado de una superficie genérica de un sólido [ASMH92]
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 45 -
Fig. 3.4.b.- Esquema de la teoría de Hertz del contacto [JOHN85]
La teoría del contacto de Hertz, representada en la figura 3.4.b, incluye una serie de
relaciones interesantes que merece la pena remarcar:
Donde F es la fuerza de compresión total aplicada, y p es la presión media aplicada
sobre la superficie del contacto. Son ciertas sólo en el caso de esferas en contacto. Para otras
geometrías, como cilindros, esfera contra plano, conos, etc… las relaciones son diferentes.
Algunas de las conclusiones interesantes a mencionar sobre estos resultados, son el
hecho de que en una indentación el desplazamiento de la punta depende de la fuerza aplicada
según F 2/3, es decir, no es lineal, y es la base de la medida de dureza clásica a partir de
indentaciones como pueden ser la escala de dureza Vickers o Brinell.
Además, el hecho de que el radio del contacto al cuadrado (en definitiva, su área) sea
proporcional a la presión media es la justificación de porqué el coeficiente de rozamiento entre
sólidos es dependiente únicamente de los materiales en sí y la fuerza normal a la superficie de
1 2
1 1 1= +R R R
2 21 2
*1 2
1 11
E E E
υ υ− −= +
3
1
4
3
= ∗E
FRa
31
23
2
21
=+=
R
DFh δδ
∗=E
D4
3
2*
4= Ra p
Eπ
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 46 -
contacto pero no del área, algo que a priori no parece intuitivo: al ser la superficie irregular,
hay muchos contactos puntuales en lugar de uno sólo continuo; en estos defectos puntuales se
reparte la fuerza normal proporcionalmente al área real en cada pequeña región de contacto, y
por tanto el área efectiva de rozamiento no depende de la superficie macroscópica del contacto,
si no de las propiedades intrínsecas de los materiales y de la carga total aplicada a repartir. En
definitiva, a más superficie habrá más contactos puntuales entre los que repartir la fuerza
normal, resultando una menor presión sobre cada uno de ellos que se deformarán menos, dando
lugar a un área efectiva total del contacto igual al caso en que la superficie macroscópica sea
menor, y por tanto sus contactos puntuales se deformen más.
No hay que olvidar las hipótesis que maneja la teoría de Hertz, que son principalmente:
1.- Las superficies son continuas
2.- Los sólidos son homogéneos e isótropos
3.- El radio de la superficie de contacto (a) es mucho menor que el radio de curvatura
de las esferas: a«R1 , a«R2 , a«R .
4.- Las deformaciones son pequeñas (zona elástica)
5.- Las superficies no tienen movimientos relativos entre sí.
6.- Las fuerzas sobre las esferas son únicamente de compresión y axiales.
Como se podrá ver más adelante, habrá que ser cuidadosos en las simulaciones
atómicas sobre el contacto ya que en general las dos primeras hipótesis no se cumplirán por
estar tratando con el material a estos niveles. Mientras tanto, las hipótesis 3 y 4 serán ciertas
únicamente si la simulación es suficientemente grande y no se deforma en exceso.
3.5. Propiedades dinámicas
En este apartado se tratará de profundizar algo más en las relaciones que gobiernan los
efectos de rozamiento, erosión y desgaste entre sólidos en contacto con movimiento relativo
entre ellos.
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 47 -
Ya se ha hablado brevemente del rozamiento en el apartado anterior, ahora habrá que
distinguir entre rozamiento estático y dinámico.
Es ampliamente conocido de física elemental que el coeficiente de rozamiento entre dos
cuerpos es la relación existente entre la fuerza normal a la superficie de contacto (N) y la
fuerza neta sobre ellos en la dirección del movimiento (F). Si las superficies no tienen
movimiento relativo entre ellas en la dirección de la fuerza F y ésta no es suficiente como para
vencer el rozamiento e iniciar el movimiento, al coeficiente que relaciona F con N se le llama
coeficiente de rozamiento estático.
NF µ=
Por otro lado, si existe movimiento relativo entre las superficies en la dirección de la
fuerza F, este coeficiente toma el nombre de coeficiente de rozamiento dinámico. La
importancia de la diferenciación estriba en el hecho de que sus valores son diferentes, y en
general el estático puede tomar valores mayores que el dinámico.
Cuando las dos superficies en contacto tienen un movimiento relativo entre ellos,
aparecen fenómenos de desgaste, de distinta naturaleza según los parámetros involucrados.
Para su análisis, son importantes los llamados mapas de desgaste, los cuales son una especie de
mapa de fases que muestran, para determinados valores de sus parámetros principales
(velocidad de deslizamiento, presión de contacto y ancho de capa de recubrimiento; todos ellos
normalizados) qué tipo de desgaste tiene lugar.
Estas variables normalizadas son las siguientes:
Siendo W, F y V el volumen en contacto por unidad desplazada, fuerza normal y
velocidad de deslizamiento respectivamente, con el subíndice N las normalizadas. AN y r0 son
el área y el radio aparentes del contacto, H0 la dureza a temperatura ambiente y a la difusividad
térmica.
nN A
WW =
0HA
FF
nN =
a
VrVN
0=
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 48 -
Fig. 3.5.a.- Ejemplo de un mapa de desgaste, (acero con lubricación) [MTH_92]
De entre los distintos tipos de desgaste existentes, los principales son los siguientes, de
los cuales se muestra una figura esquemática en la Fig. 3.5.b:
- Adhesivo (a)
- Abrasivo (b)
- Por fatiga (c)
- Corrosivo (d)
3.- CARACTERIZACIÓN DE MATERIALES
JML – UPCO 2008
- 49 -
Fig. 3.5.b.- Representación esquemática de los cuatro modos principales del desgaste [MTH_92]
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 50 -
4.- EL PROGRAMA: COMODYN
4.1.- Capacidades
COMODYN permite la realización de una gran variedad de simulaciones, limitada
únicamente por los siguientes aspectos:
- Las partículas deben ser tratadas como puntuales e independientes, salvo el caso
especial de que conformen un sólido rígido.
- El potencial de interacción entre las partículas debe ser entre pares para esta versión
del programa.
- Asimismo, el potencial sólo debe depender de la distancia entre las partículas y no de
su orientación o velocidad.
- El número de partículas, paso de simulación, distancia de corte del potencial, etc…
están limitados únicamente por las capacidades de velocidad y memoria del ordenador donde
se lleve a cabo la simulación.
Una vez tenidas en cuenta estas limitaciones, COMODYN ofrece una gran cantidad de
posibilidades, que se detallan a continuación:
- Permite la simulación de cualquier tipo de partículas sea cual sea su naturaleza o fase,
siempre que puedan ser representadas adecuadamente teniendo en cuenta las limitaciones
anteriores.
- Permite la introducción de diferentes temperaturas en el sistema, así como la
introducción de cada uno de los parámetros necesarios para la descripción de las partículas y
sus interacciones.
- Implementa tres tipos de ejecuciones: la estándar en que devuelve las posiciones y
velocidades de todas las partículas (comodyn.m), una segunda en que almacena únicamente las
energías (comodynE.m) y una tercera opción en que registra exclusivamente las posiciones y
velocidades de un determinado grupo de partículas de interés (comodynRV.m). Estos dos
últimos formatos permiten ahorrar tiempo de postprocesado y memoria, ajustando la salida del
programa a las necesidades del usuario.
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 51 -
- Tipos de partículas: La diferenciación entre las propiedades de las diferentes
partículas dentro de una misma simulación permite comprobar los efectos de interacción entre
diferentes átomos o moléculas.
- Especies: La diferenciación por especies permite de una manera sencilla evaluar
propiedades o asignar condiciones específicas a determinados grupos de partículas aunque sean
del mismo tipo.
- Condición de fuerza: Permite aplicar una fuerza externa a un grupo de partículas, de
forma que se sumará a la fuerza resultante de las interacciones.
- Condición de velocidad: Impone una determinada velocidad a un grupo de partículas
independientemente de las interacciones con las otras partículas.
- Condición estática: Mantiene en la misma posición a un grupo de partículas mientras
tengan esta condición impuesta.
- Sólido rígido: El grupo de partículas que tenga esta condición se moverá como un
sólido rígido, es decir, mantendrá las posiciones relativas entre estas partículas y su
movimiento será el del centro de masas del conjunto.
- Condición de foco térmico: Estas partículas mantendrán su temperatura constante.
- Condiciones variables: Las condiciones anteriores pueden ser variables a lo largo de la
simulación.
- Escalados: Permite la realización de un escalado de velocidades según la temperatura
tanto en la fase de equilibrado como en la de producción, de manera independiente.
- Condiciones periódicas de contorno: Permite modelar sistemas “infinitos” mediante
grupos finitos suficientemente grandes, mediante la asimilación de que el volumen de
simulación está rodeado de otros idénticos.
- Potenciales: Mediante la modificación o creación adecuada de la función, se puede
emplear para modelar la interacción cualquier potencial entre cada par de partículas sin afectar
al código. Además el potencial se utiliza de manera numérica, por lo que admite tanto
potenciales teóricos o semiempíricos como los puramente empíricos.
- Parámetros de cálculo: Es sencillo y rápido introducir los parámetros de la simulación
como el tiempo entre pasos y su número, tamaño del umbral de vecindad, etc…
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 52 -
- Implementa funciones desarrolladas para la introducción de la geometría del sistema
de manera simple y potente. Por otro lado, queda abierta la posibilidad de crear nuevas
funciones específicas para diferentes configuraciones.
- Múltiples funciones desarrolladas para el procesado de datos a la luz de diferentes
intereses, como temperaturas locales o globales, tensiones, energías, asimetrías, …
- Posibilidad de continuar simulaciones a partir de cualquier estado intermedio de otras
sin tener que repetirlas, así como la posibilidad de separar los resultados de simulaciones largas
si éstas fueran demasiado grandes para la memoria disponible en el ordenador en que se
ejecutan.
- Base de datos que contiene los parámetros básicos de las partículas que se van
utilizando en las simulaciones, quedando registro de éstos en la salida de la simulación y
simplificando la cantidad de datos de entrada.
- Posibilidad de realizar, mediante una sola instrucción y de manera secuencial y
automática, una tanda de simulaciones en las cuales sólo varíe un parámetro.
- Permite mantener ordenados fácilmente las diversas simulaciones y sus resultados en
carpetas diferenciadas.
- La diferenciación entre la preparación de datos y el postprocesado respecto al núcleo
del código aumenta la versatilidad y velocidad del código, así como la comodidad y la
reducción de tiempo perdido en caso de errores en la preparación de las simulaciones. Además
favorece enormemente la modularidad, permitiendo aprovechar el trabajo realizado para
diferentes simulaciones.
4.2.- Algoritmo
Como ya se ha hecho mención, el algoritmo empleado por COMODYN se enmarca
dentro de la dinámica molecular clásica, y está estructurado según Fig. 4.2.a
Puede observarse cómo el algoritmo propiamente dicho efectivamente se encuentra
bien diferenciado de la entrada y procesado de datos.
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 53 -
Es importante señalar que los bloques de equilibrado y producción no tienen porqué
realizarse necesariamente, dependerá de los parámetros introducidos; como por ejemplo que en
caso de continuar una simulación existente, aproveche los resultados previos sin tener que
volver a calcular el equilibrado.
El formato y las funciones para la entrada de datos serán descritos en el apartado 4.4.
La inicialización consiste en una serie de cálculos y asignaciones de memoria con el
objetivo de mejorar el rendimiento, sus principales acciones son:
- Inicializar las variables y las constantes a utilizar.
- Traducir al formato interno los datos de entrada.
ENTRADA DE DATOS
INICIALIZACIÓN
EQUILIBRADO
PRODUCCIÓN
POSTPROCESADO
Inicio del algoritmo
Final del algoritmo
Fig. 4.2.a Diagrama de flujo genérico de COMODYN
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 54 -
- Si no se introducen velocidades iniciales, asignarlas de manera aleatoria -
según la distribución correspondiente.
- Si las condiciones externas de las partículas cambian con el tiempo, evalúa su valor
inicial.
- Calcular la función potencial a partir de los datos de entrada en el formato adecuado
para su uso en el resto de la simulación.
- Calcular las fuerzas sobre las partículas en el instante inicial.
La asignación de velocidades iniciales aleatorias es algo habitual en dinámica
molecular, por dos motivos principales:
- En primer lugar no se tiene información de las velocidades, salvo el hecho de que
seguirán una cierta distribución, como podría ser la distribución de Maxwell-Boltzmann en el
caso de gases, por lo que son efectivamente “aleatorias” en cierto sentido.
- Puesto que no se conocen las velocidades concretas, lo habitual es imponer unas
aleatorias y hacer una fase de equilibrado, minimizando así el riesgo de que las condiciones
iniciales puedan afectar a los resultados.
El único caso en el cual no será necesario la inicialización de las velocidades es cuando
la simulación sea la continuación de otra; entonces las velocidades iniciales vendrán impuestas
por el estado final de la simulación previa.
El cálculo de la función potencial durante la inicialización es la clave que permite la
utilización de cualquier potencial sea empírico o teórico, pues en cualquier caso en este
momento se crea una matriz numérica que lo define (véase el apartado A3.B). Para un
diagrama de flujo sobre la inicialización; Fig. 4.2.b.
Durante el equilibrado y la producción (Fig. 4.2.c), se llevan a cabo los sucesivos
pasos del algoritmo propiamente dicho, y se diferencian explícitamente por una mera cuestión
de comodidad, ya que los resultados del equilibrado serán útiles exclusivamente para asegurar
que el sistema se encuentra en un estado de equilibrio real independiente de la arbitrariedad de
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 55 -
la configuración inicial. De este modo la evolución del sistema que realmente interesa: la fase
de producción, queda claramente diferenciada.
A efectos prácticos, existen algunas pequeñas diferencias más, como el hecho de que
las condiciones especiales de fuerza, velocidad, etc… no puedan variar durante el equilibrado,
y la imposibilidad de continuar una simulación durante la fase de equilibrado. Estos pequeños
detalles, no obstante, no tienen especial interés, pues por un lado serían contraproducentes para
alcanzar un equilibrado adecuado y por otro, la fase de equilibrado suele ser mucho más corta y
no se plantea la necesidad de realizarla en varias simulaciones como es el caso de la
producción.
Ambas fases se basan en el algoritmo predictor-corrector (véase por ejemplo
[RAPA04]). Su gran valor se encuentra en que, a pesar de que las ecuaciones del movimiento
son ecuaciones diferenciales de segundo orden, no necesita convertirlas en un sistema de (dos o
más según el algoritmo y la precisión necesaria) ecuaciones diferenciales de primer orden
como paso previo a su resolución, como ocurre con otros algoritmos de cálculo numérico. Por
otro lado sólo requiere la evaluación de la fuerza sobre cada partícula una vez, que teniendo en
cuenta que esta evaluación es la que más recursos absorbe de toda la simulación, es una
característica vital.
En concreto COMODYN emplea el algoritmo predictor-corrector de quinto orden.
(Fig. 4.2.d)
En primer lugar se evalúan las posiciones y sus derivadas (hasta quinto orden) para
todas las partículas, dando lugar a las posiciones predichas qpi,α
1(y la velocidad y aceleración
que son las derivadas primera y segunda) a partir del desarrollo de Taylor de las posiciones
previas q0i,α hasta su quinta derivada.
Siendo q i,α el vector cuyas componentes son:
1 El subíndice i hace referencia a cada partícula, mientras que α se refiere a las coordenadas x,y en 2D ; x,y,z en 3D. Por su parte, los superíndices son: p de predicho, c de corregido y 0 de inicial (valor en el paso de tiempo anterior)
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 56 -
∆∆∆∆∆=5
,55
4
,44
3
,33
2
,22
,,, 1202462 dt
rdt
dt
rdt
dt
rdt
dt
rdt
dt
drtrq iiiii
iiααααα
αα
Se calculan entonces las posiciones predichas como:
αα ,0
,
100000
510000
1041000
1063100
543210
111111
iip qq
=
En segundo lugar se evalúan las fuerzas entre las partículas para esas posiciones
hipotéticas, según el potencial utilizado. A partir de la segunda ley de Newton se despejan las
aceleraciones.
Por último se corrigen las posiciones qc i,α teniendo en cuenta la diferencia entre las
aceleraciones predichas y las aceleraciones obtenidas de las fuerzas, ponderando según unos
valores constantes c a lo largo de la simulación:
−∆+=
2
,2
,2
,,2 dt
rd
m
Ftcqq
ip
i
ii
pi
c αααα
donde la constante c para este caso en el cual los potenciales son independientes de la
velocidad, es:
=60
1
6
1
18
111
360
251
20
3c
Nótese que el factor de corrección de la segunda derivada (aceleración) es la unidad,
como corresponde al hecho de que, precisamente, es la aceleración el parámetro calculado y no
necesita mayor corrección.
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 57 -
Fig. 4.2.b.- Diagrama de flujo de la fase de INICIALIZACIÓN
Carga archivo de datos
¿justdraw =true?
Inicializa variables de posición
¿BC variables?
Evalúa BC iniciales
Dibuja posición inicial
FIN
Inicializa resto de variables
¿Simulación nueva?
Velocidades aleatorias Recupera velocidades
Lista de vecinos
Evalúa Fuerzas iniciales
A Equilibrado / Producción
SI
NO
NO
SI
SI NO
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 58 -
Fig. 4.2.c.- Diagrama de flujo de las fases de EQUILIBRADO y PRODUCCION
¿BC variables?
Evalúa nuevas BC
CALCULA POSICIONES Y VELOCIDADES
SI
NO
De la fase anterior
Aplica PBC si es necesario
Escalado velocidades si es necesario
Actualiza lista de vecinos si es necesario
Test Kolmogorov
¿Grabado de datos?
Almacenamiento Estimación tiempo restante
FINAL? FIN
SI
SI
NO
NO
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 59 -
Fig. 4.2.d.- Diagrama de flujo para el cálculo de posiciones y velocidades con algoritmo PREDICTOR –
CORRECTOR DE 5º ORDEN
PREDICTOR Posiciones del paso anterior: r 0, v 0, a 0, d3r 0, d4r 0
Posiciones predichas: r p, v p, a p, d3r p, d4r p
CALCULA FUERZAS Lista de vecinos Posiciones Condiciones BC Potencial
Fuerzas
CORRECTOR Posiciones predichas: r p, v p, a p, d3r p, d4r p Fuerzas
Nuevas posiciones calculadas: r , v , a , d3r , d4r
EQUILIBRADO SÓLIDO RÍGIDO
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 60 -
4.3.- Rendimiento
Las simulaciones que siguen se han realizado sobre MATLAB r2007a [WEB_17], con
Windows XP SP2, en un equipo con procesador Intel Core2Duo E6600; con dos núcleos a 2.4
GHz y 2GB de RAM.
Para ejemplos prácticos que permitan obtener los mejores resultados, véase el apartado
Rendimiento y ejecución del código, del manual de usuario en el apéndice A.
Se ha comprobado a lo largo de las simulaciones realizadas que la relación entre el
tiempo empleado y el número de pasos es aproximadamente constante, y que el tiempo por
cada paso de equilibrado es casi idéntico al de la producción en igualdad del resto de
parámetros.
El coste computacional en función de otros parámetros no es tan inmediato, por lo que
se ofrecen algunas gráficas de su comportamiento:
En la figura 4.3.a puede verse la variación del tiempo de CPU empleado en una
simulación de 5000 pasos de equilibrado seguidos de 20000 pasos de producción en función de
la cantidad de partículas del sistema, manteniendo una cierta semejanza geométrica y resto de
parámetros iguales. Para un número de partículas menor o igual que 2000 tiene un
comportamiento casi lineal, mientras que a partir de esa cifra el tiempo de simulación parece
dispararse. Podría tratarse de un comportamiento parabólico que no se llega a apreciar cuando
N es pequeño, o bien estar relacionado con la escasez o mala gestión de la memoria RAM del
ordenador, pues el número de errores de paginación durante las simulaciones con N grandes
aumenta considerablemente.
Para las simulaciones en 3D no ha llegado siquiera a terminarse la simulación de N =
4000, teniendo como cota inferior 24 horas.
En todos los casos rcut = 15, rnbr = 18, knbr =50, kwrite = 50, que son los parámetros
que según se ha visto más influyen en el tiempo empleado.
En la figura 4.3.b se observa la variación del tiempo de CPU empleado en la simulación
de diferentes sistemas con diferentes valores de rcut. Se puede comprobar que afecta
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 61 -
enormemente, además de manera no lineal (la escala es logarítmica). Por otro lado, cuanto
mayor es el número de partículas, más crece el tiempo con rcut.
rnbr = rcut + 3 , knbr = 50, kwrite = 50 , pasos = 5000 de Eq y 15000 de Prod.
Tiempo de CPU para 5+20k pasos
0
2
4
6
8
10
12
14
16
0 500 1000 1500 2000 2500 3000 3500 4000 4500
Número de partículas N
Tie
mpo
(h)
Simulaciones 2D
Simulaciones 3D
Fig. 4.3.a.- Variación del tiempo de simulación con el número de partículas
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 62 -
Tiempo de CPU según rcut para distintos N
1
10
100
1000
0 20 40 60 80 100 120
rcut ( A )
min
utos
( 2
0k p
asos
)
N=178
N=1539
Fig. 4.3.b.- Variación del tiempo de simulación con el valor de rcut
NOTA: En estos tiempos sólo se contabilizan el tiempo de simulación, no el del
postprocesado de los datos. Por otro lado, ciertas simulaciones pueden requerir una evolución
“cuasiestática”, que aumenta considerablemente el tiempo real empleado en la simulación. Se
detallarán ejemplos de esto en el apartado 5.
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 63 -
4.4.- Funciones de entrada
- Sobre las partículas
Las características de las partículas se encuentran recogidas en una variable
estructurada dentro del archivo DataBase.mat por varios motivos:
- Asegurar contra errores de escritura en la introducción de los parámetros de las
partículas, de esta manera todas las simulaciones de la misma materia tienen los mismos
parámetros.
- Almacenar durante tiempo indefinido los parámetros que definen las partículas
empleadas en cada simulación, permitiendo recuperar esta información cuando sea necesario,
incluyendo los parámetros que definen el potencial en caso de ser semiempírico.
- Simplificar al máximo la introducción de los parámetros de las partículas, pues con
sólo introducir el código que la identifica, el programa recoge los parámetros de volumen
específico, masa molecular, parámetro de red, etc…
Existen 2 funciones para interactuar con esta “Base de datos”:
listaelem.m: Muestra en pantalla el contenido íntegro de la base de datos, para
identificar la partícula deseada, su código o sus atributos.
newelem.m: Inicia la introducción de un nuevo tipo de partícula de forma interactiva,
pidiendo uno a uno sus parámetros.
- Sobre la estructura cristalina
Las funciones evalPR.m y evalParamRed.m permiten evaluar cuál es la distancia de
equilibrio y por tanto el parámetro de red adecuado para la simulación de los átomos de un
determinado tipo incluido en la DataBase. En principio el potencial empleado debería dar lugar
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 64 -
al parámetro de red real del material, sin embargo una pequeña diferencia puede afectar
enormemente a los resultados de la simulación, así como al tiempo de equilibrado necesario.
Estas funciones, utilizadas previamente a las simulaciones, permiten conocer de antemano cual
será la distancia entre átomos en el equilibrio, tanto en volumen como en superficie (se aplaza
la explicación de sus diferencias al apartado 5.1), y por tanto ajustar a conveniencia la
disposición de los átomos en el instante inicial. Esto tendrá también interés cuando se quieran
acoplar dos o más grupos de partículas con unas determinadas formas geométricas y que esa
disposición se mantenga durante el equilibrado; por ejemplo, si se quieren simular dos esferas
en contacto y se introduce un parámetro de red que resulta ser ligeramente superior al del
equilibrio, las partículas tenderán a juntarse en primer momento, dando lugar a que las esferas
dejen de estar en contacto, lo cual puede ser indiferente o muy perjudicial si la razón de que
estén en contacto desde el inicio es crucial, aparte, obviamente, de que esta reagrupación puede
enmascarar u ocultar otros fenómenos que se pretendan estudiar. (Fig. 4.4.a)
La forma habitual de hacer esto será en primer lugar editar evalPR.m dando a la
variable molec el código de la partícula a evaluar. Luego se ejecuta comodyn(‘evalPR’).
Fig. 4.4.a. Separación inesperada de los dos círculos durante el equilibrio debido al parámetro de red utilizado
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 65 -
Cuando termine, la ejecución de evalParamRed(codigo) devolverá los valores de la distancia a
primeros vecinos teórica para ese potencial, la media real y la media de las de la superficie, así
como los parámetros de red y la relación entre σ y R (este último dato sólo tendrá relevancia,
obviamente, si se trata de un potencial de Lennard-Jones)
- Sobre la geometría
A continuación se detallan una serie de funciones que permiten la introducción en las
simulaciones de partículas en determinadas geometrías. Todas ellas escriben la información en
un archivo de texto en formato ascii de modo que pueden utilizarse en serie para incluir
distintas geometrías en la misma simulación.
Asimismo, y siempre en busca de la mayor modularidad y flexibilidad posible, las
funciones más complejas hacen uso de otras más simples para ir construyendo las diversas
geometrías, así por ejemplo las de rectángulo y prisma son la base de las circulares y esféricas
respectivamente, mientras que las de indentación hacen uso de éstas últimas.
Todas ellas tienen una sintaxis similar, y necesitan la introducción del tipo de partícula
a emplear (el código que la identifica), la información sobre las condiciones que tendrán (si
serán libres, un sólido rígido, estáticas, etc…), y la temperatura; además de la propia
información geométrica.
escribepos.m: Esta función no tiene una geometría definida, y su entrada será una
matriz [N x dim] en la que cada fila representa a una partícula mediante un vector de posición.
Esta función, además de la más simple, es la más potente pues permite cualquier disposición de
partículas, aunque crear esa matriz de posiciones puede ser laborioso, puede venir dada a partir
de cualquier otro programa externo, de la ventana de comandos, etc…
* Funciones rectangulares y prismáticas
rectangular.m, rectangularfcc.m, prism.m, prismfcc. En lo que sigue las funciones
tendrán el sufijo fcc para identificar las que rellenen la geometría determinada según una red
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 66 -
tipo fcc (en 2 dimensiones será el plano (111) de la fcc, por las razones explicadas al final del
apartado 3.1), mientras que las que no lo tengan lo harán según una red cúbica simple (en dos
dimensiones según una red cuadrada). Además de la información sobre el material,
temperatura y condiciones, la posición y tamaño se definen según el siguiente gráfico:
Se hace referencia a las bases superior e inferior puesto que definida una función entre
[0,base] (y entre [0,base,fondo] en 3D) puede superponerse obteniendo fácilmente una gran
variedad de formas, como por ejemplo:
POSICIÓN
Base
Altu
ra
Base inferior POSICIÓN
Altu
ra
Base
Fondo
Base inferior
Fig. 4.4.b Parámetros geométricos para funciones rectangulares y prismáticas
Base superior Base superior
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 67 -
La función prismfcc111.m es similar pero en lugar de ordenar según un red fcc con las
direcciones principales en los ejes de coordenadas lo hace de forma que el plano (111) sea
paralelo al XZ, facilitando la comparación de resultados entre las simulaciones en 2 y 3
dimensiones.
* Funciones circulares y esféricas
circulo.m, circulofcc.m, esfera.m, esferafcc.m. Permiten la introducción de partículas
según un contorno en forma de círculo o corona circular (esfera o corona esférica en 3D), tanto
según un red cúbica simple como según una fcc:
circular.m, circularfcc.m, esferica.m, esfericafcc.m : Permiten la introducción de
semicírculos y coronas semicirculares, tanto para la mitad superior como la inferior de los
respectivos círculos.
CENTRO
R(2)
R(1) CENTRO
R(2)
R(1) = 0
Fig. 4.4.c Parámetros geométricos para funciones circulares y esféricas
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 68 -
* Funciones triangulares y puntas
punta.m, puntafcc.m, punta3D.m : Similar a los anteriores casos pero para disposiciones
en forma de triángulo isósceles, para simulaciones de puntas en 2 y 3 dimensiones.
R(2)
R(2)
R(1) = 0
CENTRO
R(1)
CENTRO
convexo = 1
convexo = 0
Fig. 4.4.c Parámetros geométricos para funciones semicirculares
POSICIÓN
Base
Altu
ra
Fig. 4.4.d Parámetros geométricos para funciones triangulares
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 69 -
* Ensayos de tracción y cizalla
traccion.m, traccion3D.m: Facilita la definición de configuraciones preparadas para la
realización de ensayos de tracción y cizalladura, incluyendo un conjunto de partículas libres y
unas superficies superior e inferior que pueden ser sólidos rígidos y son las que tienen las
condiciones de fuerza o velocidad a aplicar durante el ensayo.
* Ensayos de contacto
Hertzfcc.m, Hertzfccf.m, Hertzfcc3D.m: Para la realización sistemática de ensayos de
deformación a contacto según la ley de Hertz, permite el posicionamiento de partículas en
forma de dos semicírculos enfrentados, presionados por sendas filas de partículas en sus
diámetros. Hertzfccf además introduce una capa de partículas tipo “foco térmico” junto a los
diámetros para absorber los excesos de trabajo introducidos en el sistema. La variable prof
posibilita ajustar la distancia inicial entre los cuerpos, permitiendo valorar los efectos del
impacto y la adhesión inicial entre las superficies, o bien imponer que ya formen parte de la
Altu
ra
Base
Condiciones de velocidad o fuerza en Y
Condiciones de velocidad o fuerza en -Y
Partículas LIBRES
POSICIÓN
Fig. 4.4.e Parámetros geométricos para ensayos de tracción y cizalla
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 70 -
misma red cristalina minimizando también los posibles efectos de la distorsión entre redes
durante la compactación.
prof - prof
Condiciones de velocidad o fuerza en -Y
Condiciones de velocidad o fuerza en Y
Focos
LIBRES
POSICIÓN
Fig. 4.4.f Parámetros geométricos para ensayos de tipo Hertz
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 71 -
* Ensayos de desgaste
indent_circ.m : Para la realización de ensayos de desgaste, tipo pin-on-disk o flat-on-
disk, con solo introducir el ancho del sustrato a erosionar y el tamaño de la punta, así como las
condiciones de fuerza y velocidad en cada coordenada, sitúa las partículas en una disposición
de este tipo:
4.5.- Funciones de postramiento de datos
Tienen como objetivo la extracción de información útil de los resultados de las
simulaciones, que están compuestos únicamente de las posiciones y velocidades de las
partículas cada cierto número de pasos. En parte, esto se debe a la necesidad de ahorrar tiempo
y espacio tanto en la simulación como en los archivos que contienen los resultados, por lo que
se recomienda fervientemente conservar no sólo el archivo de salida en sí, si no también el
archivo de configuración de la simulación.
Radio
POSICIÓN Condiciones de velocidad o fuerza en -Y
Estáticas
LIBRES
Altu
ra
Base
Fig. 4.4.g Parámetros geométricos para ensayos de desgaste
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 72 -
La mayor parte de las veces sólo se estará interesado en ciertas propiedades del sistema,
por lo que se diferencian cada una de las funciones de postratamiento de datos, y sus
evaluaciones se almacenan independientemente y sin modificar en absoluto los resultados “en
bruto” de las simulaciones.
Según la naturaleza de la información a extraer, se distinguen diversos tipos de
funciones:
- Límite “cuasicontinuo”
Ya se indicó de que trata en el apartado 2.5, y COMODYN incluye 2 funciones para su
evaluación: lim_cont.m y lim_contesf.m , con las cuales se han dibujado las gráficas de dicho
apartado.
- Energías
plot_energy.m : Representa la evolución de las energías cinética, potencial y total del
sistema a lo largo de toda la simulación, así como almacena estos datos en variables de salida
del workspace.
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 73 -
potencialmedio.m : Devuelve el valor de la energía potencial promedio para diferentes
partículas de la simulación según se encuentren en la superficie, en el volumen, en un lateral,
en una grieta, etc… está especialmente programada para su utilización sobre las simulaciones
de tracción y cizalladura.
Upot.m : se trata principalmente de una función auxiliar, evalúa para cada par de
partículas cual es la energía potencial de su interacción.
- Especies y moléculas
draw_especie : Muestra, en forma de secuencia (con la opción de grabar un video), la
posición de las partículas en distintos colores según la especie a la que pertenezcan.
draw_molec : Similar al anterior, pero los colores dependen del tipo de “molécula”
(según el código identificativo de la base de datos). En el manual de usuario se detalla más a
Fig. 4.5.a Ejemplo de la salida de la función plot_energy
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 74 -
fondo la diferencia entre ambos conceptos, y aquí puede observarse un ejemplo de una misma
simulación hecha con un único tipo de átomos diferenciados según cuatro especies, para cada
una de estas funciones.
Fig. 4.5.b - Izqda: Dibujo según especies, Dcha: Dibujo según código de átomo
- Condiciones impuestas
draw_bc: De la misma manera que las anteriores, dibuja las partículas en sus posiciones
correspondientes, con colores diferenciados según el tipo de condición que tengan impuesta:
azul oscuro: Condición de velocidad o fuerza
azul claro: Condición de foco térmico
rojo: Estáticas
verde: Partículas libres
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 75 -
Especialmente útil en las simulaciones en que las condiciones puedan variar con el
tiempo, para comprobación de que es correcto, así como para una visualización genérica de la
simulación.
- Distribución de velocidades
draw_veloc : Representa, para todas las partículas del sistema, la distribución de sus
velocidades tanto en módulo como en componentes. De esta forma puede comprobarse
rápidamente de manera cualitativa si se corresponde con la distribución que deberían tener, y si
no es así, se detectaría un probable error en la simulación.
- Parámetros de asimetría
Puesto que todas las simulaciones que se han llevado a cabo han sido sobre sólidos
cristalinos fcc, estas funciones ofrecen la posibilidad de evaluar gráficamente la existencia, y
Fig. 4.5.c Ejemplo de la salida de la función draw_bc
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 76 -
su evolución, de defectos tanto puntuales como lineales (dislocaciones principalmente) en una
simulación.
draw_slip: Dibuja, pudiendo hacer un vídeo, las posiciones de las partículas en una
gama de colores según un parámetro que indica cuán diferente en el entorno de cada átomo
respecto a la red ideal. El parámetro se determina según la fórmula detallada en 2.5. Además,
permite difuminar el valor del parámetro en un cierto rango especificado, de forma que las
variaciones de asimetría no sean tan bruscas como consecuencia de la cuantificación del
sistema en átomos puntuales. No obstante, si el interés es el de observar la evolución de las
dislocaciones concretas en lugar de su distribución, es aconsejable no utilizar este difuminado
(llamado blur en el código del programa).
draw_1sym, draw_sym : Prácticamente idéntica a la anterior función, pero con otro
modo de evaluar el parámetro de asimetría. Este parámetro no es lineal, por lo que amplifica el
valor del coeficiente de asimetría. Por otro lado esta gran dispersión en los valores de los
coeficientes puede hacer indistinguibles los colores en sistemas muy deformados. En cuanto a
la diferencia entre ambos, y como ocurrirá con las funciones de temperaturas, la que tiene el
“1” evalúa el difuminado especificado a cada paso, así como la mayor parte de los cálculos a
realizar, mientras que la otra lo hace antes de empezar a dibujar, por lo que tiene ventajas en
cuanto a que empiezan a verse frames más rápidamente y ahorra memoria, pero a cambio, tarda
más tiempo en terminar de representar toda la simulación (y el video, por tanto)
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 77 -
Es interesante destacar que a causa de la orientación concreta del plano cristalino, en las
fronteras superior e inferior sólo se ve en rojo una capa de átomos, mientras que en los laterales
se ven 2 capas; la razón queda clara viendo el gráfico 4.5.e , donde se observa cómo no son
equivalentes las direcciones X e Y, así como el hecho de que en la segunda capa desde la
superficie lateral todavía no llegue a estar completamente formada la vecindad.
dislocaciones en movimiento
Asimetrías superficiales
Fig. 4.5.d Ejemplo de la salida de la función draw_slip
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 78 -
- Temperaturas
La temperatura está directamente relacionada con la energía cinética, pero se han
preparado funciones específicas sobre la temperatura debido a la gran información que aporta
manejar este dato según los Kelvin asociados a las partículas en lugar de referidos a los julios
de energía cinética.
plot_freeT y plot_freeTdif: Representa la evolución de la temperatura media de todas
las partículas libre del sistema a lo largo de la simulación. La diferencia entre ellas es que la
segunda tiene en cuenta la contribución a la energía cinética del centro de masas de una
determinada región local a su alrededor, con lo que calcula la temperatura de cada partícula a
6 vecinos 4 vecinos
3 vecinos
5 vecinos
Fig. 4.5.e Diferencias entre las capas de átomos del eje x y del eje y
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 79 -
partir de su velocidad relativa al centro de masas de su vecindad, esto es más exacto, pero
mucho más costoso computacionalmente, y no tiene una gran importancia en el resultado, por
lo que no siempre será necesario tenerlo en cuenta. En la gráfica puede verse la evolución de la
temperatura en un sistema que empieza a 100 K durante el equilibrado y según avanza la
simulación se va enfriando:
endT : Devuelve, para la simulación introducida, el valor de la temperatura final y su
desviación estándar promediada en los últimos pasos indicados.
draw_temp y draw_1temp: Dibuja la evolución de las partículas (con la posibilidad de
hacer un vídeo) a lo largo de la simulación en sus posiciones con diferentes colores según su
temperatura. También permite el difuminado local de la temperatura, facilitando la obtención
gráfica de un mapa de temperaturas del sistema. Al igual de con las funciones sym, la función
con “1” ahorra memoria y comienza a dibujar más rápidamente, pero luego tarda más en
dibujar cada paso y en hacer el video.
Fig. 4.5.f Ejemplo de la salida de la función plot_freeT
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 80 -
- Tensiones
Como ya se ha discutido en el apartado 2.5, hay diversos métodos para evaluar las
tensiones sufridas por el sistema. La razón última de estas discrepancias radica en el hecho de
que la tensión es un concepto que estrictamente sólo es válido en la aproximación del continuo,
por lo que su extrapolación a la dinámica molecular, donde las partículas son consideradas
puntuales, conlleva una serie de problemas que no se pretende discutir en profundidad. Por
ello, COMODYN permite la evaluación de dichas tensiones a partir de tres procedimientos
diferentes:
draw_stressNX , draw_stressNY , draw_stressVM : Al igual que las anteriores
funciones que comienzan con “draw” dibuja la evolución del sistema, pero esta vez dando
colores a las partículas en función del valor de su tensión normal al eje horizontal, vertical y su
tensión de von mises respectivamente. Las tres emplean en el cálculo la expresión de la tensión
del virial, tal y como se define en [SEPP03]
draw_stressVMcm : Sabiendo que la principal dificultad entre ambos métodos se
encuentra en la introducción o no del término de la energía cinética, esta función calcula la
tensión de von mises también mediante la tensión del virial, pero a diferencia de las anteriores,
la velocidad que se tiene en cuenta no es la absoluta de la partícula si no la relativa a la
velocidad del centro de masas de su vecindad, con ello se observan valores algo más adecuados
a las simulaciones realizadas en este proyecto, sin embargo, se ha encontrado que la definición
de la tensión que mejores resultados ofrece es la obtenida de [IAP_06], que está implementada
en la función draw_stressVM_IAP.
A continuación se muestra un ejemplo de la distribución de tensiones en una simulación
de contacto entre dos cilindros. (Fig 4.5.g)
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 81 -
- Cálculo de las fuerzas y los vecinos
En este apartado se incluyen algunas funciones auxiliares de las anteriores, y es que son
varias las funciones de postratamiento de datos que precisan calcular las fuerzas aplicadas para
la consecución de las condiciones estáticas o de velocidad constante. Realmente COMODYN
no calcula estas fuerzas, pues se limita a imponer a estas condiciones, por lo que para conocer
la fuerza que habría hecho falta aplicar para conseguir estas condiciones se requiere una
función específica. Del mismo modo, puede ser interesante reproducir las fuerzas sufridas por
las partículas libres, por ejemplo para la evaluación de las tensiones, para ello se dan
desarrollado las siguientes funciones:
forcepair : Devuelve la fuerza derivada del potencial de todas las parejas de partículas
que interactúan entre sí en una simulación.
Fig. 4.5.g Ejemplo de la salida de la función draw_stressVM_IAP
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 82 -
eval_fbc y forcebc : Permiten la evaluación de las fuerzas “virtuales” que habrían dado
lugar a esas condiciones de velocidad constante.
También es necesaria la evaluación de los vecinos alrededor de cada partícula para
calcular las tensiones, para difuminar las temperaturas puntuales en temperaturas locales, etc…
para ello están las funciones find1_nbr y findAll_nbr, que devuelven, para cada partícula,
cuales son sus vecinos en un momento dado de la simulación (la primera de ellas) o a lo largo
de toda simulación (la segunda). Obviamente la primera de estas funciones es más rápida para
una evaluación concreta y evita complicaciones por falta de memoria, pero para la evaluación
de todo el sistema es más eficiente la segunda.
- Funciones específicas
Puede ocurrir que para configuraciones y simulaciones concretas sea preciso la
evaluación de unos determinados parámetros que no estuvieran abarcados por las funciones
precedentes, en estas situaciones es recomendable crear las funciones específicas “a la carta”,
como se ha hecho, por ejemplo, en el caso de las simulaciones de tracción o de contacto entre
esferas. Se recomienda almacenar dichas funciones en directorios separados dentro de la
carpeta “postratamientos” para facilitar la limpieza y sencillez de búsqueda. Un par de estos
ejemplos son:
plot_H_fd: Devuelve, para una simulación o un grupo de ellas, la función fuerza
aplicada – deformación, que es una de las principales fuentes de información y análisis en los
ensayos sobre la ley de Hertz.
plot_area: Calcula y devuelve la evolución del radio del área de contacto en una
simulación tipo Hertz y la deformación transversal en un ensayo de tracción.
En el apartado 4.6 se explicará como crear nuevas funciones adaptadas a necesidades
concretas, así como consejos para su programación.
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 83 -
4.6.- Modificaciones del código
Se plantean, por la propia estructura del código, tres situaciones en las que el usuario
puede estar interesado en la modificación del código de COMODYN: la creación de nuevas
funciones de posicionamiento de partículas en geometrías especiales, la creación o
modificación de funciones de postratamiento de datos, o bien la modificación del código
propiamente dicho para la mejora o ampliación de su funcionalidad o por la subsanación de
algún posible error que haya pasado inadvertido a las múltiples pruebas realizadas hasta el
momento.
- Nuevas funciones de posicionamiento
Partiendo de una función ya existente, se graba con otro nombre para modificarla hasta
tener la función deseada. Así mismo, es crucial conocer las capacidades y limitaciones de las
funciones ya existentes para aprovecharlas en lo posible, un ejemplo característico es el de la
función Hertzfcc:
En principio podría pensarse que se puede hacer rápidamente haciendo uso dos veces
de la función rectangularfcc y otras dos de circularfcc, sin embargo el resultado sería el
mostrado en la figura 4.6.a:
prof Red 1
Red 2
Fig. 4.6.a Posicionamiento de los átomos a partir de la ejecución separada de funciones rectangular y circular
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 84 -
Es decir, no quedarían adecuadamente acopladas las partículas de los diámetros con las
de los círculos porque estas áreas representadas deben ser llenadas con partículas puntuales a
una determinada distancia entre sí, y por tanto es imposible que recubran exactamente el área
considerada. Dicho de otro modo, las áreas delimitadas por las superficies geométricas de las
funciones son las fronteras que delimitan la zona en la que hay partículas, pero sus bordes no
necesariamente estarán recubiertos perfectamente por partículas. Además, cada uno de los
círculos se rellenarán con partículas según un red fcc, pero no tienen porqué estar, y en general
no lo estarán, alineados entre sí, y lo que es peor, en la zona de superposición de los círculos
habrá dos redes fcc arbitrariamente superpuestas, y lo más probable es que haya partículas de
uno de los círculos excesivamente juntas a las del otro, y a consecuencia de ello al comenzar la
simulación aparecerán unas fuerzas repulsivas enormes que acabarán por hacer estallar el
sistema al poco de empezar la simulación.
Una vez conocidas las limitaciones y el funcionamiento de las funciones existentes, se
puede establecer otro procedimiento como el que se va a explicar a continuación que es, de
hecho, el que emplea la función hertzfcc.
La función rectangular permite la colocación de partículas según un rectángulo con las
bases superior e inferior arbitrarias, pero los laterales deben ser verticales necesariamente.
Además, de los requisitos del sistema, los dos círculos deben poder solaparse sin duplicación
de redes en la zona de la intersección, y con la misma red cristalina para favorecer que esta
unión sea suave y no afecte a los resultados del ensayo, por ello se procede de la siguiente
manera: se utiliza la función rectangularfcc para reproducir los círculos en contacto… en
horizontal:
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 85 -
Una vez que se ha rellenado el área verde de partículas pertenecientes a la misma red,
se realiza la rotación que lo dejará en la posición deseada. Pero aún falta el problema de las
partículas con condiciones de fuerza en los diámetros, especialmente cómo hacer que se
acoplen exactamente a la red existente. Lo más sencillo es, simplemente, buscar las partículas
cuyas coordenadas verticales sean máximas y mínimas, imponiéndoles a ellas esas condiciones
de fuerza y/o de sólido rígido que se pretendía, asegurando que no existirá ninguna distorsión
debida al acoplamiento de diferentes redes en el sistema. Por último pueden diferenciarse, si se
desea, por especies las dos esferas dando un número de especie diferente a las que estén, por
ejemplo, en la mitad superior de entre las partículas libres.
Como último apunte, suele resultar interesante en la mayoría de las ocasiones la
inclusión de las líneas correspondiente a la búsqueda y extracción de los parámetros del
material de la base de datos, por lo que deberían mantenerse estas líneas tal cual en las nuevas
funciones creadas.
Superficie inferior
Superficie superior Rectángulo
Introducción parámetros de fuerza
GIRO
Fig. 4.6.b Representación esquemática del funcionamiento de hertzfcc
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 86 -
- Nuevas funciones de postratamiento de datos
De nuevo, la norma general será la de partir de una función ya creada a partir de la cual,
guardada con otro nombre, modificar lo necesario hasta obtener la función necesaria.
En concreto, se tiene una función diseñada para extraer la información del archivo de
salida de las simulaciones, por lo que se recomienda su utilización en todos los casos salvo
aquellos en los que por limitaciones de memoria sea preferible ir obteniendo estas variables
una por una cuando sea necesario. La forma habitual será la inclusión de estas líneas:
postread= 'std_post' ;
[Nespecies,distrespecies,MatInit,matriz_bc,bc_espec ies,numpbc,dim,numespecies,N,Numf
ocos,listfoc,MatEq,MatPro,kwriteEq,kwritePr,pbc_rej illa,side,masa,StepsPro,StepsEq,b
c_var]=feval(postread,file_out);
Para una descripción detallada de estas variables, véase los apartados 2.b y 4.a de la
guía de usuario en el apéndice A.
Como puede observarse en la estructura de la mayor parte de las funciones existentes,
es preferible tratar los datos de salida en tres partes bien diferenciadas: Situación inicial,
equilibrado y producción, aunque esto no es en absoluto imprescindible.
Para las simulaciones paramétricas, se pueden hacer funciones que evalúen cada una de
las salidas y den el resultado directamente en función del parámetro deseado. El método
genérico para ello emplea las siguientes líneas:
n=0;
haymas=1;
while haymas~=0
n=n+1;
archivo=[file_out int2str(n) '.mat' ];
haymas=exist(archivo, 'file' );
end
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 87 -
Básicamente consiste en que busca archivos con el nombre “file_out”+número, puesto
que éste es el formato estándar de nombres para las simulaciones paramétricas, en las que se
añade un número al final. Una vez que encuentra todas las simulaciones de la misma tanda,
comienza a extraer los datos sucesivamente. (véase por ejemplo plot_H_fd)
Otra posibilidad, empleada en plot_forcexH, sería:
num=0;
for i=1:numsims
if numsims==1
if exist(strcat(folder, '.mat' ), 'file' )
num=num+1;
outfiles{num}=folder;
end
else
if exist(strcat(folder,num2str(i), '.mat' ), 'file' )
num=num+1;
outfiles{num}=strcat(folder,num2str(i)) ;
end
end
end
En este caso también busca los archivos de salida de una tanda de simulaciones
paramétricas, pero en esta ocasión guarda en un vector de cadenas de texto los nombres de los
archivos. La ventaja de esta método es que permite localizar estos archivos aún cuando la
numeración no sea secuencial, es decir, si se tienen los archivos prueba_p1, prueba_p2 y
prueba_p4, e indicamos que busque hasta la simulación “4”, con el primer método sólo cogería
las dos primeras, mientras que con el segundo cogería las tres. Según las circunstancias
concretas (es posible que la ausencia del “3” sea a propósito para ver el efecto de añadir el “4”
o no añadirlo…), se deberá escoger el formato adecuado. Por otro lado, obviamente, cuando
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 88 -
sólo se pretenda estudiar una de ellas, se podrá hacer de la manera habitual para simulaciones
individuales poniendo su nombre completo.
- Cambios en el código interno del programa
De nuevo la principal recomendación es la de tener una copia de seguridad del
programa íntegro, para el caso en que se desee volver a la situación inicial. La principal
dificultad puede estar en la identificación correcta de cada una de las variables internas que
utiliza el código. El núcleo interno de funcionamiento del programa apenas se ha visto afectado
desde la versión MODYCO [PRES07], ya que de hecho se ha tratado de aprovechar al máximo
posible las posibilidades existentes, además del formato y la estructura de las variables.
En el apéndice A se detallan, para mayor comodidad, las variables más usuales de cara
a la utilización normal de COMODYN, mientras que en este apartado se expondrán algunas
otras no directamente accesibles para el usuario del programa pero que podrían ser de interés
de cara a una óptima comprensión del código y a una hipotética modificación:
Como regla genérica, N es el número de partículas en el sistema, D el número de
dimensiones a considerar, y E el número de especies diferentes.
Con el índice de la partícula se hace referencia en realidad a la posición que ocupa
ésta en las matrices o vectores que abarcan todas las partículas, como por ejemplo el vector
posición r o el velocidad v. Este orden se establece en la inicialización y permanece inalterable
a lo largo de toda la simulación, por ello ofrece un método adecuado para “ponerles nombre” a
las partículas unívocamente, además de favorecer la eficiencia del código.
Nnbr (escalar) y Nnbrlist [ Nnbr x 2 ]: Nnbr es el número de parejas diferentes
interactuando en un momento dado (si la partícula 1 interactúa directamente con 2, no se
contará la interacción de 2 con 1, si no que se supondrá implícitamente a consecuencia de la
tercera ley de Newton). Nnbrlist contiene los Nnbr pares de partículas que interaccionan en un
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 89 -
vector cuyos números son los índices de dichas partículas. Ambos valores se actualizan cada
knbr pasos, variable expuesta entre los parámetros de la simulación en el apéndice A.
rwopbc: En caso de que estén activadas las condiciones periódicas de contorno, el
vector posición r se verá alterado para adaptarse a ellas, sin embargo el algoritmo predictor-
corrector necesita utilizar el valor de la posición “real” en lugar de la corregida, por ello esta
variable almacena una copia del vector posición antes de aplicarle las condiciones de contorno
periódicas en “R With Out Periodic Boundary Conditions”.
Numfocos (escalar) y listfoc (compuesto por Numfocos vectores): Numfocos es el
número de focos térmicos independientes existentes en el sistema, mientras que listfoc{i}
contiene, para el i-ésimo foco, la lista de los índices de las partículas que lo forman.
tfac [ E x 1]: Contiene, para cada especie existente en la simulación, una constante
utilizada para el reescalado de las velocidades que depende de la masa molecular de las
partículas de dicha especie, el número de partículas, su temperatura, la constante de Boltzmann
y la dimensión del sistema.
r, v ,a ,d3 y d4 [ N x dim ]: Son los vectores posición, velocidad, aceleración, tercera y
cuarta derivadas de la posición, empleadas en el algoritmo predictor-corrector de quinto orden.
Como último (aunque posiblemente el más importante) aspecto referente a la
modificación del código, se hace especial énfasis en el gran beneficio que aporta, en los
programas desarrollados en MATLAB, la sustitución, en la medida de lo posible, de los bucles
FOR-END y similares por operaciones con vectores. Como ejemplo supóngase que se desea
encontrar cuál es el número de focos térmicos en el sistema, a partir de la variable MatInit,
sabiendo que los números identificativos de los focos son numerados secuencialmente
empezando por el uno. A partir de la información sobre el formato de MatInit en el apéndice A,
apartado A2.B, se sabe que las partículas que forman parte de algún foco térmico tienen en su
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 90 -
columna dim+5 un “-2”, y que, sólo en ese caso, en la columna dim+6 estará almacenado el
número identificativo del foco. (std_reader.m)
La forma habitual de hacerlo en muchos lenguajes de programación sería con un bucle
FOR-END a lo largo de todas las partículas:
Numfocos=0;
for i=1:N
if MatInit(i,dim+5)==-2
Numfocos=max(Numfocos,MatInit(:,dim+6));
end
end
Sin embargo, optimizando para Matlab, podrían escribirse en una única línea y sería
ejecutada mucho más rápido que la anterior:
Numfocos=max((MatInit(:,dim+5)==-2).*(MatInit(:,dim +6)));
Nótese especialmente que la filosofía es diferente en ambos casos; aparentemente el
primer caso sería preferible pues sólo cuando se cumpla la condición “== -2” se entra a la
línea de buscar el máximo, mientras que en el segundo caso se multiplican todos los N
elementos y luego se busca el máximo de entre todos ellos. Sin embargo el principal escollo
para Matlab es el de buscar el elemento de la columna dim+5 de la matriz MatInit i veces, en
lugar de extraer y operar con la columna entera de una sola vez como si se tratara de un vector.
(El punto de fuerte de Matlab es el cálculo matricial y vectorial precisamente) Efectivamente
puede comprobarse cómo la diferencia entre ambos métodos es considerable ejecutando este
segmento de código un número determinado de repeticiones con ayuda de las funciones tic-toc:
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 91 -
Número de filas
MatInit Repeticiones tiempo total (s)
Sin vectorizar 1000 10000 17.8
Vectorizado 1000 10000 0.22
Sin vectorizar 10000 1000 93
Vectorizado 10000 1000 0.18
Para el caso de que la matriz tenga 1000 filas, al vectorizar este pequeño tramo del
código resulta ser 80 veces más rápido, pero ya para 10000 filas la relación es de más de 500
veces más rápido, lo que pone de manifiesto la importancia de este tipo de procedimientos; si
bien es cierto que por la propia naturaleza del algoritmo en muchas ocasiones será necesario
recurrir necesariamente a la utilización de bucles, habrá que tratar de vectorizar el código
siempre que sea posible.
4.7.- Unidades del código
Las unidades que emplea COMODYN para las magnitudes físicas involucradas en las
simulaciones son las habituales en MD, y las principales son: (para más unidades, véase el
apartado A2.a)
Tiempo: 10 -15 s =1 fs
Longitud: 10 -10 m = 1 Å = 0.1 nm
Temperatura: K
Energía: 10 -18 J = 1 aJ
Fuerza: 10 -8 N
4.- EL PROGRAMA: COMODYN
JML – UPCO 2008
- 92 -
4.8.- Líneas futuras
- Continuar con el proceso de vectorización del código, así como valorar la posibilidad
de utilizar otros lenguajes como C o FORTRAN en aquellas funciones más costosas, como la
del cálculo de las fuerzas o la búsqueda de vecinos.
- Implementar nuevas funciones y sistemas estandarizados para la simulación de
ensayos de desgaste, así como la interpretación de resultados de cara a la obtención de mapas
de desgaste, coeficientes de rozamiento, etc…
- Implementación de nuevas estructuras cristalinas, tanto en redes como en la
posibilidad de integración directa de bases con más de un átomo.
- Modificación del código interno que permita la introducción de potenciales más
complejos que los de pares, especialmente potenciales EAM y Force-Field.
- Mejorar la interfaz de salida, preferiblemente a otra más interactiva, o bien potenciar
la interacción de COMODYN con programas de visualización freeware.
- Paralelización del código para la ejecución en un grid de ordenadores o simplemente
en diferentes núcleos de un mismo procesador.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 93 -
5.- SIMULACIONES REALIZADAS
Las simulaciones que se han realizado han tratado con aluminio, cuyas propiedades
principales son [CALL98], [WEB_18]:
Número atómico: 13
Masa Molecular: 26.98 uma
Densidad: 2.70 g/ cm 3
Estructura cristalina: Cúbica Centrada en las Caras (FCC – CCC)
Parámetro de red: 4.04 Å
Temperatura de Fusión: 660 ºC = 933 K
Módulo de elasticidad: 68 GPa (a 300 K), 77 GPa (a 100 K)
Coeficiente de Poisson: 0.33
Módulo de cizalla: 27 GPa
Límite elástico: 95 MPa
Tensión de rotura: 110 MPa
A lo largo de las simulaciones que siguen, se ha tratado de modelar el comportamiento
del material (aluminio) conjuntamente con las especiales circunstancias en que se encuentra,
dado que es un sistema nanoscópico, el potencial a emplear será uno de Lennard-Jones con
parámetros [HALI75]:
σ = 2.62 Å
ε = 4824 aJ
El estudio del contacto y el desgaste a escala atómica es un problema muy complejo, ya
que aparecen gran cantidad de variables, y las teorías clásicas de la elasticidad no pueden ser
aplicadas en cualquier situación. Por ello, y a causa de los pocos detalles que suelen acompañar
a los resultados expuestos en los artículos de investigación se ha procedido a analizar una
sucesión de situaciones que permitieran un mayor control sobre las peculiaridades de los
sistemas modelados con MD. Se ha comenzado con lo más básico, el análisis de la estructura
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 94 -
cristalina, llegando a profundizar en las diferentes teorías del contacto, e, incluso, un análisis
cualitativo del fenómeno del desgaste.
5.1.- Verificación de la estructura cristalina: Efectos de Frontera
En primer lugar se comprobará si el algoritmo y el potencial permiten reproducir, a
grandes rasgos, las características cristalinas del material. Para ello se comienza simulando un
conjunto de partículas libres en una estructura cúbica simple y se deja equilibrar el sistema,
comprobándose que alcanza, en el estado estacionario, una estructura hexagonal propia del
plano (111) de un sólido fcc, las razón de ello ya se ha expuesto al final del apartado 3.1.
Luego, con ayuda de las funciones evalPR y evalParamRed, se evalúa cual es el
parámetro de red “efectivo” en un determinado sistema y los parámetros de red asociados al
volumen y a la superficie. Los parámetros “efectivos” son la media de los parámetros para
todas las partículas de la simulación.
3D Parámetro de red(Å) Distancia primeros vecinos
(Å)
Aluminio Real 4.04 2.856
Superficie Al MD 4.10 2.897
Volumen Al MD 4.04 2.857
Efectivo Al MD 4.04 2.856
Se puede comprobar que efectivamente se reproducen adecuadamente los parámetros
de red en las simulaciones en 3D, salvo para el caso de los átomos en superficie en los cuales el
entorno es diferente como queda representado en la Fig.5.1.a. Precisamente según [KITT96] el
parámetro de red superficial en los materiales reales se ve afectado por este hecho y se puede
medir experimentalmente que para el aluminio hay una variación de +1% respecto al parámetro
de red de los átomos del volumen en el plano (111) del aluminio, por lo tanto se confirma que
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 95 -
reproduce adecuadamente los parámetros reales del aluminio. (la variación obtenida aquí es de
+ 1,4 %)
Fig. 5.1.a Representación esquemática del diferente entorno existente entre los átomos de
la superficie frente a los del interior del volumen.
Suponiendo una interacción entre átomos de tipo Lennard-Jones, se puede calcular la
distancia de equilibrio entre primeros vecinos a distintos alcances del potencial, obteniéndose
resultados analíticos para alcance infinito y para alcance a primeros vecinos, cuyos resultados
se muestran en la siguiente tabla junto con las medidas de las distancias en equilibrio para las
simulaciones de COMODYN. Como era de esperar, debido al parámetro rcut=15≈5σ
empleado, los resultados serán intermedios entre alcance infinito y alcance a primeros vecinos,
y el hecho de que el resultado sea prácticamente idéntico verifica que la utilización de dicho
valor de rcut es suficiente, en caso de una mayor discrepancia habría que utilizar un valor
mayor puesto que significaría que las interacciones despreciadas por estar más lejos que esta
distancia tienen un efecto importante.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 96 -
Situación 3D D primeros
vecinos/σ Soporte
Volumen infinito
Alcance infinito 1.090 [KITT96]
Volumen finito
Medio alcance 1.090 Simulaciones MD
Superficie
Medio alcance 1.106 Simulaciones MD
Volumen
Primeros vecinos 1.122 Lennard-Jones
En cambio, para las simulaciones en 2D, los resultados no son los esperados, como se
muestra en la siguiente tabla:
2D Parámetro de red(Å) Distancia primeros vecinos
(Å)
Aluminio 4.04 2.856
Superficie Al 4.13 2.92
Volumen Al 4.12 2.91
Efectivo Al 4.12 2.91
Las simulaciones bidimensionales llevan a un parámetro de red en equilibrio mayor que
el teórico, cuya justificación se tratará de exponer en el gráfico Fig.5.1.b, que representa el
potencial en función de la distancia entre átomos.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 97 -
Fig. 5.1.b. Variación de las distancias de equilibrio según los vecinos
Efectivamente, para interacción única entre primeros vecinos, la distancia de equilibrio
coincide con el mínimo de la curva del potencial (para potenciales tipo Lennard-Jones el
mínimo ocurre a r0 = 1/ σ 6 , y en este caso r0 = 1.122), sin embargo según se van teniendo
mayor número de vecinos, éstos se van colocando a mayores distancias y por tanto a mayor
potencial de interacción. Cuanto más vecinos haya, resulta más favorable energéticamente que
los primeros vecinos se acerquen situándose a una distancia menor que la del mínimo de forma
que los siguientes vecinos bajen por la curva acercándose más. Por ello, resulta en 3D que para
alcance infinito de la interacción se tiene una relación 1.09 en lugar de 1.122, mientras que en
2-D, al existir menos vecinos (6 en lugar de 12), este desplazamiento hacia la izquierda de la
curva es menos influyente, dejando una distancia más parecida a la del mínimo incluso cuando
se consideran alcances (valores de rcut) suficientemente grandes, y el parámetro de red del
equilibrio es mayor que el del aluminio real al estar los parámetros del potencial ajustados para
la reproducción fiel de la red tridimensional.
Distancia primeros vecinos
Distancia segundos vecinos
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 98 -
Todas estas consideraciones sobre los parámetros de red en 2 o 3 dimensiones sirven
para entender y sobre todo prever, dos aspectos de crucial importancia:
- El parámetro de red inicial de las partículas tendrá que ser lo más fiel posible al del
equilibrio para ahorrar gran cantidad de pasos de equilibrado y conseguir mantener las
características geométricas deseadas de la simulación.
- La distorsión de la red y de las energías en los átomos de la superficie darán como
resultado importantes efectos de adhesión, que habrá que considerar.
Como ejemplo de este último punto se muestra una imagen de un semicírculo (punta)
cerca de un rectángulo (sustrato) al final de la etapa de equilibrado, durante la cual deberían
estar en reposo y con su forma original. (Fig.5.1.c)
Fig. 5.1.c Distorsión del sistema durante el equilibrado por la adhesión
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 99 -
La explicación es que los átomos superficiales al estar suficientemente cerca, han
interactuado apareciendo fuerzas de atracción entre ellas, acercándose las superficies. Una vez
en contacto, lo que eran dos superficies se han ido transformado en una región interior, por lo
que por lo expuesto anteriormente es energéticamente favorable que reduzcan las distancias
entre ellos (pasan de tener distancias propias de superficie a las del interior), para que ello sea
posible deben acercarse las siguientes filas de átomos, apareciendo una fuerza neta de atracción
entre ambos cuerpos. Esta fuerza, originada por el efecto de la adhesión superficial, tendrá
efectos importantes cuando se trate el problema del contacto, especialmente entre cuerpos del
mismo material, y es la base teórica, comprobada mediante las simulaciones, de la tensión
superficial.
En principio parece razonable pensar cómo es posible que aparezcan efectos
relacionados con la tensión superficial al tratar con aluminio a 100 K, que es, obviamente, un
metal sólido, cuando la tensión superficial en sistemas macroscópicos aparece únicamente en
los líquidos, pues bien, esto es debido a las dimensiones del sistema, dentro de lo que se
conoce como efectos de la dimensionalidad del sistema:
Para un sistema determinado, con dimensión característica L, la superficie que lo
delimita será del orden de L2 y su volumen de L3. Esto implica que cuanto mayor sea el tamaño
del sistema, más importancia adquieren las propiedades del volumen y menos las de la
superficie. Dicho de otro modo, la relación superficie/volumen se reduce cuando el tamaño del
sistema aumenta. En sistemas macroscópicos, con tamaños del milímetro en adelante, la
proporción de partículas en la superficie frente a las del volumen es tan pequeña que apenas
tiene efecto en sus propiedades netas, mientras que en dimensiones nanoscópicas la relación
superficie/volumen es mucho mayor y estos efectos superficiales adquieren importancia hasta
el punto de llegar a ser determinantes en las propiedades de estos sistemas nanoscópicos. Esta
es una de las principales dificultades que está encontrando la nanotecnología para la
explicación adecuada de estos sistemas, si bien en otras ocasiones una alta relación
superficie/volumen es precisamente el factor favorablemente decisivo que hace avanzar en su
investigación, como es el caso por ejemplo de los nanotubos de carbono, actualmente objeto de
estudio como elementos para confinamiento de hidrógeno.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 100 -
5.2.- Ensayos de tracción
Una vez comprobada la posibilidad de reproducir la red cristalina del aluminio, se
procede a evaluar las propiedades mecánicas que arroja el material simulado a partir del
potencial empleado, parámetros que serán cruciales en el análisis del problema del contacto y
del desgaste.
- Curva de tensión – deformación
Para ello, se han realizado abundantes ensayos de tracción en función de diferentes
parámetros, y para sistemas tanto bidimensionales como tridimensionales. Además se han
realizado ensayos tanto con condiciones de fuerza como de velocidad constante.
En todos los casos se ha tratado, a efectos genéricos, con un sistema de forma
rectangular a cuyas capas de átomos superiores e inferiores se les aplica la condición de fuerza
o velocidad correspondiente. La figura Fig. 5.2.a muestra el aspecto general de estos sistemas.
El objetivo es llegar a obtener la curva de tensión - deformación del aluminio bajo estas
circunstancias, para ello en principio se podría esperar encontrar buenos resultados con
condiciones de fuerza en las capas superior e inferior, sin embargo para cada valor de la fuerza
únicamente se conseguiría un punto de la curva (para esa tensión, la deformación
correspondiente) y además se observa un fenómeno oscilatorio alrededor de la situación de
equilibrio similar al representado en la Fig. 5.4.b (para contacto entre cilindros). Por ello la
solución adoptada ha sido la de realizar la simulación de tracción a velocidad constante y
calculando para cada paso la fuerza que ha sido necesario aplicar a éstos átomos para que
tuvieran dicha velocidad impuesta.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 101 -
Por otro lado, y debido a las grandes velocidades de tracción que es necesario aplicar
debido a los órdenes de magnitud que se manejan en MD, se procede a la estabilización del
sistema para un determinado número de pasos en los que se mantiene la deformación
permitiendo que alcance el estado de equilibrio antes de proceder a la evaluación de la fuerza
que dará lugar a la tensión en la curva. No obstante, los resultados obtenidos haciendo esta
tracción a base de estados intermedios de equilibrio han sido muy similares a los que se
obtienen calculando la curva de tracción en “tiempo real” (aunque eso sí, con mucho menor
ruido) necesitando mucho más tiempo de simulación. (Fig. 5.2.b) La curva es la gráfica de
tensión-deformación para la simulación realizada de manera continua a una velocidad de
tracción de 0.0005 Å/fs = 50 m/s , mientras que los puntos son los correspondientes a la misma
Fig. 5.2.a – Representación genérica del sistema para los ensayos de tracción y cizalla
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 102 -
simulación pero tras mantener esas deformaciones durante un cierto para que alcanzasen el
estado estacionario.
Tension- deformación 2D_1
y = 185.55x + 1.72
R2 = 0.99
-5
0
5
10
15
20
-0.01 0.01 0.03 0.05 0.07 0.09 0.11 0.13 0.15
elongación ( % )
Ten
sión
( G
Pa
)
Fig. 5.2.b. Curva de tensión – deformación completa para el caso 2D_1
Puede observarse como principal diferencia que la deformación máxima a rotura es
mayor con tracción continua, debido a que el sistema no es capaz de generar y propagar la
grieta que da lugar a la rotura lo suficientemente rápido para esta velocidad de deformación.
En cualquier caso la deformación máxima alcanzable (del orden del 9 o 10%) es mucho
menor a la deformación a rotura en los ensayos de tracción macroscópicos en aluminio. En
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 103 -
cuanto al módulo elástico (pendiente de la parte lineal de la curva), es mayor que el esperado,
aunque en este caso la diferencia es menor.
Para justificar estos resultados, habrá que recordar de nuevo que las simulaciones se
están realizando sobre pequeñas porciones de material monocristalino, mientras que el
aluminio “real” es policristalino, y contiene gran cantidad de defectos, dislocaciones, bordes de
grano, etc… que por un lado disminuyen su módulo elástico y por otro son los precursores de
la deformación plástica, que es precisamente la zona de la curva que no se llega a ver al
aparecer la fractura.
Se han realizado ensayos de tracción para una variedad de tamaños y proporciones,
velocidades de tracción y restricciones adicionales (impedir los desplazamientos laterales,
imponer condición de sólido rígido a las partículas de las superficies superior e inferior, etc…)
y en todos los casos los resultados han sido semejantes, como puede observarse en la tabla
5.2.1.
5.- SIM
ULA
CIO
NE
S R
EA
LIZA
DA
S
JML – U
PC
O 2008
- 104
-
E
(GPa)
186
189
194
181
180
---
187
191
181
195
Pasos
Prod
20k
20k
20k
20k
20k
10k
15k
15k
20k
20k
Pasos
Eq
5k
5k
5k
5k
5k
5k
5k
5k
5k
5k
¿Sólido
Rígido?
NO
NO
NO
NO
SI
NO
NO
NO
NO
NO
N
1003
1992
1003
451
451
451
451
1020
451
4029
Condición en
y
V = 0.0005
V = 0.0005
V = 0.0005
V = 0.0005
V = 0.0005
V = 0.002
V = 0.001
V = 0.0005
V = 0.0005
V = 0.0005
Condición en
x
F = 0
F = 0
V = 0
F = 0
F = 0
F = 0
F = 0
F = 0
F = 0
V = 0
Dimensiones
(Å)
50 x 150
70 x 210
50 x 150
35 x 105
35 x 105
35 x 105
35 x 105
150 x 50
35 x 105
150 x 200
NOMBRE
2D_1
2D_2
2D_3
2D_4
2D_5
2D_6
2D_7
2D_8
2D_9
2D_10
Tabla 5.2.1. R
esumen de las sim
ulaciones de tracción en 2D
; 9 y 10 con rcut = 30, resto 15
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 105 -
Para la realización de la tabla 5.2.1, se ha supuesto que el límite elástico llegaba hasta
aproximadamente el 5 – 6 % de deformación unitaria. La velocidad de tracción aplicada a
2D_6 resultó ser excesiva como para calcular el cálculo del módulo elástico en ese caso. Los
valores de fuerza y velocidad están expresados en las unidades habituales en MD, velocidad en
Å/fs y fuerza en decenas de nN.
A partir de estos resultados se concluye que el valor del módulo elástico del material
simulado, en el plano (111) y en 2D, es de 187 ± 5 GPa.
Hasta el momento, todos los ensayos de tracción presentados se han realizado en 2D,
para el cálculo de las tensiones se ha supuesto que la tercera coordenada es uniforme, y que el
plano simulado se repite infinitas veces. Para contrastar esta hipótesis, se han realizado ensayos
de tracción en 3D para sucesivos anchos, obteniéndose que según se disponen más capas el
resultado converge a lo obtenido en 2D, probando que esta simplificación es adecuada a pesar
de que se elimina la posibilidad de deformaciones no lineales, como por ejemplo las
helicoidales. La tabla 5.2.2 resume los resultados.
5.- SIM
ULA
CIO
NE
S R
EA
LIZA
DA
S
JML – U
PC
O 2008
- 106
-
E
(GPa)
inestable
inestable
84
157
168
173
Pasos
Prod
15k
15k
15k
15k
15k
15k
Pasos
Eq
5k
5k
5k
5k
5k
5k
N
368
1103
938
1013
675
2225
Condición en
z
V = 0.0005
V = 0.0005
V = 0.0002
V = 0.0002
V = 0.0001
V = 0.0002
Condición en
x e y
V = 0
V = 0
V = 0
V = 0
V = 0
V = 0
Dimensiones
(Å)
30 x 3 x 100
30 x 5 x 100
30 x 10 x 50
30 x 20 x 30
20 x 30 x 20
30 x 30 x 40
NOMBRE
3D_1
3D_2
3D_3
3D_4
3D_5
3D_6
Tabla 5.2.2. R
esumen de las sim
ulaciones de tracción en 3D
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 107 -
Para menos de 3 planos en una de las direcciones el sistema resulta no ser estable, pues
la tensión superficial en las paredes es mucho mayor que las fuerzas cohesivas de los átomos
de estas superficies. Según va aumentando el número de planos a considerar, el módulo
elástico del sistema aumenta, dando cuenta de cómo la cohesión interatómica va ganando
terreno a los efectos superficiales, fenómeno que también se muestra a través de la
deformación a rotura, que tiende al valor obtenido para las simulaciones anteriores en 2D. En
cualquier caso el módulo elástico es ligeramente inferior que en el caso anterior
Lo que es claramente diferenciador respecto a la simulación bidimensional es el hecho
de que, tras la rotura, la tensión aplicada para mantener esa velocidad de deformación no cae
tan bruscamente, si no que se mantiene tras un ligero descenso. En efecto, la aparición de una
grieta en la simulación en 2D supone una gran disminución del área neta resistente, mientras
que una grieta en 3D afecta mucho menos a éste área.
A continuación se muestra una curva típica de tensión – deformación en 3D (Fig. 5.2.c)
Tensión - deformacion 3D_6
y = 172.980x + 0.800R2 = 0.925
0
2
4
6
8
10
12
14
16
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18
Elongación ( % )
Ten
sión
( G
Pa
)
Fig. 5.2.c. Curva tensión – deformación para el caso 3D_6
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 108 -
- Comportamiento elástico
Como ya se ha explicado en el apartado 3.3, la parte lineal de la curva de tensión
deformación se conoce con el nombre de zona elástica, y a la curvada zona plástica. Cuando
durante una deformación a tracción deja de aplicarse la tensión, el material recupera su
posición inicial (si la deformación no ha superado la zona elástica) o una longitud algo mayor
(si ha llegado a haber deformación plástica), y en ambos casos seguirá en la representación
habitual una recta paralela a la recta que caracteriza a la zona elástica. La figura Fig. 5.2.d.1
muestra, para el caso 2D_2, esta relajación del material al tratar de dejar el material en su
estado inicial tras una tracción que no alcance la fractura.
Ciclos carga-descarga en ensayo de tracción 2D_2
-15
-10
-5
0
5
10
15
0 0.1
Deformación unitaria
Ten
sión
( G
Pa
)
- - Ciclo elástico--- Ciclo plástico
Fig. 5.2.d.1. Ciclos elástico y plástico en tracción
Es interesante destacar cómo en la recuperación del material tras la deformación
plástica , si bien efectivamente la pendiente es aproximadamente la misma como era de esperar
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 109 -
(son “paralelas”), tras un tramo de tensiones negativas (tensiones de compresión para volver a
la longitud inicial), la tensión vuelve a ser cero a la longitud inicial, a pesar de no alcanzar el
estado inicial como puede observarse en la siguiente imagen, Fig. 5.2.d.2
Fig 5.2.d.2. Estado final del ciclo plástico en 2D_2
Como principales aspectos a destacar, ha ocurrido un cierto ensanchamiento y un
desplazamiento horizontal (las de abajo hacia la izquierda y las de arriba hacia la derecha) y las
paredes laterales han perdido su uniformidad, sin embargo se ha recuperado en gran parte las
distancias de equilibrio entre átomos, lo cual ha llevado a la reducción de la energía potencial
almacenada en el sistema.
- Deformación transversal
Al aplicar una tracción en una determinada dirección, aparecerá, junto a la elongación
en esa dirección, una compresión en la transversal que vendrá dada por el coeficiente de
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 110 -
Poisson µ. La evolución de dicha sección está representada en Fig.5.2.e, y se ha realizado con
la función plot_area.m.
El ajuste lineal ha sido realizado sobre la parte lineal (5000 primeros pasos de la
producción). Teniendo en cuenta que la tracción se ha realizado aplicando únicamente tensión
en el eje vertical (σ y) de modo que σ x = 0, puede llegarse fácilmente a la relación entre las
deformaciones en ambas direcciones para el régimen elástico:
y
x
εεµ −=
Puesto que la deformación εy es precisamente la variable de control al ser esta
simulación a velocidad constante, con la información del ajuste lineal de la Fig. 5.2.e se
obtiene para el aluminio, en régimen elástico,
28.0=µ
Valor muy cercano al real del aluminio, aunque ligeramente inferior. Es de esperar que
para tracciones en otras direcciones haya ligeras diferencias que den lugar al coeficiente
macroscópico µ = 0.33.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 111 -
Evolución sección transversal durante la tracción 2 D_1
y = -1,909E-06x + 1,000E+00
R2 = 9,732E-01
0,9
0,91
0,92
0,93
0,94
0,95
0,96
0,97
0,98
0,99
1
1,01
0 5000 10000 15000 20000
Pasos de producción
Def
orm
ació
n m
edia
de
la s
ecci
ón (
uni
taria
)
Ajuste experimentalhasta paso 4000
Sección transversalcon Poisson 0.33
Fig 5.2.e. Evolución de la deformación transversal en ensayo de tracción
- Análisis de las energías
Se han considerado además las evoluciones de la energía en los sistemas, obteniéndose
gráficas como Fig.5.2.d
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 112 -
Fig. 5.2.d. Energías en 2D_1
Como era de esperar, la energía total del sistema aumenta a lo largo de la tracción, pues
se está introduciendo trabajo, trabajo que mayoritariamente se emplea en aumentar la energía
potencial, consecuencia del aumento de las distancias entre partículas. Cuando se produce la
fractura, las propias condiciones impuestas sobre las partículas de las superficies impiden que
éstas salgan despedidas, frenándolas y por tanto absorbiendo parte de ese trabajo realizado
durante la deformación (En la Fig.5.2.e puede verse cómo tras la fractura las fuerzas aplicadas
son, brevemente, de signo opuesto). Por ello se distingue claramente el instante de la fractura
como el punto en que la energía del sistema comienza a bajar, para después comenzar una
nueva tracción sobre el cuello de material que quedase.
Evolución de las energías en 2D_1
-5
0
5
10
15
20
25
0 5000 10000 15000 20000 25000
pasos de simulación
Ene
rgía
( a
J )
E cinética
E potencial
E total
Equilibrado
Grieta
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 113 -
Evolución de las fuerzas en 2D_1
-1.5
-1
-0.5
0
0.5
1
1.5
0 5000 10000 15000 20000 25000
Pasos de simulación
Fue
rzas
( n
N )
Fuerza en área superior
Fuerza en área inferior
Fig 5.2.e
Mientras tanto, la energía cinética del sistema va descendiendo poco a poco durante la
deformación, y es en el instante de la fractura cuando aumenta considerablemente; al romperse
algunos de los enlaces en la zona de la grieta los átomos de alrededor adquieren una mayor
movilidad y, de hecho, la temperatura local en esta zona puede llegar a ser mayor que la de
fusión del material.
Al respecto de la energía cinética, durante la deformación va disminuyendo, por lo que
el material se va enfriando sin que esté realmente claro el motivo. Además, es interesante
destacar que la distribución de velocidades adquiere una anisotropía, esto es, la energía cinética
(y por tanto la temperatura) en la dirección de la fuerza disminuye más rápidamente salvo en el
momento de la fractura en que crece mucho más antes de volver a igualarse con la energía
cinética asociada al eje transversal, como puede observarse en la Fig 5.2.g. Este concepto de
temperatura direccional no es habitual en sólidos policristalinos macroscópicos, sin embargo
en estas simulaciones puede ser necesario tenerlo en cuenta a la hora de estudiar estos sistemas.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 114 -
0
1
2
3
4
5
6
0 5000 10000 15000 20000 25000
E cinética horizontal
E cinética vertical
Fig 5.2.f. Evolución de la energía cinética asociada a cada coordenada
- Defectos cristalinos
Analizando los resultados desde el punto de vista de los defectos cristalinos, pueden
apreciarse la formación de vacantes y dislocaciones, así como su movimiento que, como cabría
esperar, ocurre a través de las direcciones de deslizamiento (véase, por ejemplo, [ASKE01]) y
en este plano (111) del aluminio resulta haber 6 de estas direcciones equivalentes. Sobre la
dinámica de estas dislocaciones, avanzan a través de estas direcciones de deslizamiento y se
observa cómo pueden disiparse en las superficies, formando terrazas, o combinándose dos de
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 115 -
ellas de signo opuesto. De nuevo surge una dificultad con el tamaño del sistema que se puede
simular con MD, pues las dislocaciones no tienen un gran volumen en el que distribuirse, y las
superficies superior e inferior, con condiciones especiales, hacen que las dislocaciones
“reboten” en ellas sin poder difundir hacia estas superficies. Esto sin duda hace que la densidad
de dislocaciones sea mayor que la real en las mismas condiciones de ensayo, propiciando que
se generen acumulaciones de dislocaciones y defectos excesivas a pequeñas deformaciones, y
contribuye a que la fractura ocurra a deformaciones tan pequeñas siendo el aluminio real
mucho más dúctil. (Fig 5.2.g)
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 116 -
Fig. 5.2.g Análisis de la tracción según la simetría cristalina puntual
Las dislocaciones (flechas naranjas ), avanzan desde la zona de fractura por las direcciones de máximo deslizamiento.
Las dislocaciones se encuentran en un punto donde se crean vacantes. La fractura (círculo rojo ) deja de ser lineal y se introduce en el interior (fractura cohesiva frente a las otras que son adhesivas )
Las dislocaciones siguen avanzando, aunque sus intersecciones se van saturando y aparecen defectos puntuales en otros lugares. La fractura sigue avanzando creando nuevas dislocaciones. La superficie lateral (verde ) se ensancha en la zona de más defectos para relajar parte de la energía potencial acumulada
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 117 -
Fig 5.2.g (cont). Otra muestra de tracción bajo diferentes condiciones
- Campo de tensiones
La presencia de dislocaciones está íntimamente ligada a los aumentos locales en las
tensiones sufridas por los átomos, por lo que el análisis de las tensiones de von mises locales a
lo largo de la tracción y la fractura confirma que allá donde se acumulan los defectos y las
dislocaciones aparecen grandes tensiones que acaban generando una grieta que se propaga por
el material, llegando a la rotura. (Fig 5.2.h)
En esta otra tracción, en la que no se ha impedido el desplazamiento lateral, las capas atómicas sufren esta deformación a causa de los planos de deslizamiento. Se observa claramente dentro del círculo un borde de grano que separa dos zonas del material con diferentes orientaciones cristalográficas. La fractura en este caso es puramente cohesiva, mostrando que en el caso anterior era esta ligadura de no desplazamiento lateral la que imponía tensiones exageradas a las superficies, favoreciendo la rotura en estas primeras capas atómicas
Puede observarse la gran semejanza de la simulación con la representación teórica de los planos de deslizamiento y su comportamiento durante un ensayo a tracción.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 118 -
Fig. 5.2.h Evolución de las tensiones de Von Mises en 2D_10
Durante el comienzo de la tracción, las tensiones se distribuyen homogéneamente a lo largo del material
Según van creciendo las deformaciones, comienzan a aparecer zonas en las que se acumulan las tensiones, en este caso la superficie superior.
Una vez que surgen las primeras grietas, las zonas de mayor tensión se desplazan hacia el interior del material, del mismo modo que las dislocaciones.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 119 -
Fig. 5.2.h (Cont) Evolución de las tensiones de Von Mises en 2D_10
5.3.- Ensayos de cizalladura
Los ensayos de cizalladura tienen como objetivo la evaluación del llamado módulo de
cizalla o módulo de rigidez G, que relaciona la tensión transversal frente a la deformación
angular. La disposición inicial para estas simulaciones es semejante a las de tracción, y está
representada en la Fig. 5.3.a, donde se impone que no existan desplazamientos en el eje vertical
en las superficies del material.
Al ir aumentando la deformación, aparecen regiones bien diferenciadas por su concentración de tensiones que se desplazan en las mismas direcciones que las dislocaciones de la Fig. 5.2.g. En cualquier caso, las tensiones existentes en todo el material van aumentando (ver leyenda de colores )
Finalmente, las zonas precursoras de las grietas han relajado en gran parte sus tensiones (salvo en sus extremos ), mientras que son precisamente las acumulaciones de defectos vistos en Fig 5.2.g las que concentran las mayores tensiones.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 120 -
Siendo la curva tensión – deformación la mostrada en Fig. 5.3.b, donde destaca la
prácticamente inexistente zona plástica, pues es lineal hasta el mismo momento en que aparece
la primera grieta que reduce su resistencia.
Es destacable el hecho de que, al estar impuesta la imposibilidad de movimiento
vertical de las superficies, la tensión necesaria para avanzar en la deformación tiene una
oscilación periódica perfectamente reconocible en la zona lineal de la curva, tanto en 2 como
en 3 dimensiones.
Promediando los resultados de las diferentes simulaciones variando los parámetros, se
obtiene un valor aproximado de G = 68 GPa (pendiente de la Fig 5.3.b). Si se calcula el valor
de G a partir de los anteriores valores E = 187 GPa y µ = 0.28, se tendría G = 72 GPa, valor
muy próximo al calculado. La relación entre E, G y µ (dada en el apartado 3.3) estrictamente
sólo es válida para materiales homogéneos e isótropos, pero en esta simetría hexagonal es
Fig. 5.3.a – Representación genérica del sistema para los ensayos de cizalla
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 121 -
aproximadamente cierto como de hecho se ha comprobado, debido al alto grado de simetría
tanto translacional como rotacional.
Tension- deformación cizalladura
y = 66.55x - 0.12
R2 = 1.00
-1
0
1
2
3
4
5
6
7
8
-0.01 0.01 0.03 0.05 0.07 0.09 0.11 0.13 0.15
Ángulo de deformación ( radianes )
Ten
sión
( G
Pa
)
Fig 5.3.b.- Curva tensión - deformación a cizalla
En cuanto a los análisis de temperaturas, energías, etc… no aportan tampoco
más información respecto al comportamiento del material que lo ya expuesto en el apartado
5.2, por lo que únicamente se hará un seguimiento de los defectos en la red, permitiendo
observar las zonas más solicitadas en estos ensayos y la forma en que se produce la fractura,
Fig 5.3.c
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 122 -
Fig. 5.3.c (Cont) – Análisis de defectos cristalinos en ensayo de cizalla
Los primeros pasos del ensayo se corresponden con deformaciones elásticas, y tras ellos comienzan a aparecer dislocaciones en las esquinas mostradas que se propagan hacia el interior. (flechas naranjas )
Conforme aumenta la deformación, siguen surgiendo nuevas dislocaciones desde las mismas esquinas. Mientras tanto en las esquinas opuestas han aparecido grietas (en rojo )
Las dislocaciones llegan a juntarse en determinados puntos (morado ) en los cuales se forman vacantes, mientras otras dislocaciones se dirigen hacia esas zonas
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 123 -
Fig. 5.3.c (Cont) – Análisis de defectos cristalinos en ensayo de cizalla
Finalmente estas acumulaciones de defectos consiguen difundir separándose en otros más simples que se dirigen a las superficies para relajar su energía. En verde puede verse una terraza creada por la relajación de una dislocación en la superficie izquierda y otra que se dirige hacia la superficie derecha.
Puede observarse en esta otra imagen el resultado de la relajación en superficie de la dislocación anterior, formando la segunda terraza, esta vez mucho más visible. Por el contrario los defectos que se topan con las superficies superior e inferior no pueden relajar debido a la condición de sólido rígido que éstas poseen.
Efectivamente, puede comprobarse cómo tras el suficiente tiempo los únicos defectos que no han podido disiparse son los situados cerca de las superficies con la condición de sólido rígido, mientras que el resto se han disipado a través de las superficies o grietas modificando su geometría
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 124 -
5.4.- Ensayos de contacto
Para el estudio del contacto se han empleado geometrías circulares, tanto en 2 como en
3 dimensiones: la Fig. 5.4.a muestra de forma genérica las dos disposiciones más empleadas y
representan, en 2D, dos cilindros en contacto a lo largo de su eje, mientras que en 3D son
esferas.
- Cilindros
En el apartado 3.4 ya se ha expuesto la teoría del contacto de Hertz, válida bajo ciertas
hipótesis, y aquí que se tratará de comprobar su validez. Las principales relaciones a tener en
cuenta son:
Fig. 5.4.a – Disposiciones iniciales en ensayos de contacto, a la izquierda comienzan separados, a la derecha comienzan en contacto y compartiendo la red cristalina
1 2
1 1 1= +R R R
2 21 2
*1 2
1 11
E E E
υ υ− −= +
3
1
4
3
= ∗E
FRa
31
23
2
21
=+=
R
DFh δδ
∗=E
D4
3
2*
4= Ra p
Eπ
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 125 -
En todas las simulaciones que siguen se ha empleado el mismo material (aluminio), y el
mismo radio de curvatura en los dos cuerpos en contacto, por lo que las dos primeras
ecuaciones quedan simplificadas como sigue:
EE
2
*
12
1 υ−= 21R
R =
Se han realizado simulaciones tanto a fuerza como a velocidad constante, mostrándose
en la Fig. 5.4.b la evolución de la distancia entre centros de los semicírculos para algunos casos
de fuerza constante: como puede comprobarse, la tensión superficial juega un papel
importante, que se traduce en las oscilaciones observadas, teniendo en este caso que promediar,
para cada fuerza, cual es la distancia de equilibrio a partir de la cual evaluar la correspondencia
entre las relaciones teóricas y las observadas.
Fig. 5.4.b Distancia entre centros para distintas fuerzas de compresión
Así mismo, pueden observarse en dicha gráfica otros fenómenos interesantes:
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 126 -
- Tras el primer tramo recto que corresponde con el equilibrado, la pendiente del
descenso es proporcional a la fuerza aplicada, sin embargo para el caso de la fuerza menor, ésta
no es suficiente para contrarrestar las fuerzas debidas a la tensión superficial, por lo que la
distancia aumenta en un primer momento, tras el cual acaba alcanzando una cierta distancia de
equilibrio menor que la inicial
- La frecuencia de las oscilaciones depende de la fuerza. Habitualmente se tratan los
sistemas a partir de una aproximación armónica en la cual la fuerzas externas sólo afectan a las
amplitudes, siendo la frecuencia una característica propia del sistema en sí. Sin embargo el
potencial utilizado, de Lennard-Jones, únicamente puede considerarse armónico dentro de
pequeñas variaciones alrededor de su mínimo (es bien conocido que un potencial armónico
debe ser parabólico mientras que LJ es la suma de dos funciones potenciales, no obstante su
mínimo puede aproximarse hasta segundo orden como una parábola), y ya en el apartado 5.1 se
ha visto que las posiciones de equilibrio de las partículas no se corresponden con este mínimo,
aparte de que las deformaciones debidas a la fuerzas aplicadas son, presumiblemente,
demasiado grandes, lo que obligaría a una descripción anarmónica más compleja para el
estudio de las vibraciones de red, motivo por el cual no se entrará en este tema en el presente
trabajo.
En cualquier caso y a pesar de esta dificultad añadida, la batería de simulaciones
realizadas incluyen tanto ensayos a velocidad constante como a fuerza constante, y para gran
parte de ellas se muestran sus parámetros en la Tabla 5.4.1
5.- SIM
ULA
CIO
NE
S R
EA
LIZA
DA
S
JML – U
PC
O 2008
- 127
-
Prod
15k
10k
15k
15k
15k
15k
100k
50k
30k
20k
20k
Eq
5k
5k
10k
10k
10k
10k
5k
10k
10k
10k
10k
Otras
SR
SR
Focos
SR
SR
NO
SR
SR
SR
SR
SR
BCy 10-3
F=5:30
F=5:30
F=1:30
F=1:30
F=20
V=0.1:0.4
V=0.2
V=0.2
V=0.2
F=1.5:40
V=0.5
BC x
F=0
F=0
F=0
F=0
F=0
F=0
F=0
V=0
V=0
V=0
V=0
N
1221
1221
1221
1539
varias
1112
2106
2172
2190
2190
4210
Prof
N/A
N/A
N/A
2
2
2
2
-1
0
0
0.5
Radio
50
50
50
61
21,41,61,71,81
51
71
71
71
71
100
Nombre
H1
H2
H3
H4
H5
H6
H7
H8
H9
H10
H11
Tabla 5.4.1. P
rincipales simulaciones de contacto t
ipo Hertz en 2D
realizadas
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 128 -
En la Tabla 5.4.1 “prof” es la profundidad del contacto inicial entre los cuerpos,
compartiendo la misma red cristalina para evitar efectos derivados del impacto. Las primeras
simulaciones, donde se observó este efecto, consistían en dos cuerpos totalmente
independientes, en estos casos se muestra N/A en este apartado. Los valores que contienen el
símbolo “ : ”, hacen referencia a que la simulación incluye varias simulaciones similares en las
que cambia este valor dando valores entre estos dos números.
Del mismo modo que en las simulaciones de tracción, algunas se han realizado
mediante compresiones continuas y otras con compresiones escalonadas.
Además se han empleado otras geometrías para modelar el contacto mediante una
configuración indentación cilindro - plano, mostrada en Fig 5.1.c para exponer el efecto de la
adhesión superficial, ahora acompañada de la gráfica fuerza-deformación resultante que
demuestra cómo a pesar de estar comprimiendo la fuerza debe ser negativa en un primer
momento (tracción) para frenar la adhesión debida a las superficies. Fig. 5.4.c.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 129 -
Para la caracterización del contacto entre cilindros no se tiene una expresión analítica
pero se conoce la dependencia funcional entre los parámetros principales. Debido a la
necesidad de elevados tiempos de ejecución para la simulación de contacto entre esferas (para
la cual sí hay expresiones analíticas teóricas para comparar), se han analizado en profundidad
Indentación cilindro - plano
-20
-10
0
10
20
30
40
50
60
0 2 4 6 8 10
Desplazamiento de la punta ( A )
Fue
rza
apl
ica
da
( N
/m )
Adhesión superficial
Fig 5.4.c Indentación cilindro – plano, curva Fuerza-desplazamiento
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 130 -
los detalles del contacto entre cilindros en 2D, dejando para el apartado siguiente la
comparación de las teorías existentes con el ensayo del contacto en 3D.
La Fig. 5.4.d muestra la curva fuerza-desplazamiento para el contacto entre cilindros,
tanto en escala lineal como logarítmica, demostrando que en el rango de deformación por
contacto el desplazamiento es proporcional a una potencia de la fuerza aplicada. La tercera
gráfica muestra la dependencia lineal existente entre el área de contacto y la carga aplicada.
Desplazamiento frente a carga
-2
0
2
4
6
8
10
0 5 10 15 20 25
Desplazamiento ( A )
Fue
rza
( x1
0 nN
)
Fig 5.4.d Gráficas de la indentación de dos cilindros paralelos (cont )
Efectos de adhesión
Fractura
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 131 -
Desplazamiento frente a carga
R2 = 0.90
-4
-3
-2
-1
0
1
2
3
0 5 10 15 20 25
Desplazamiento ( A )
log(
Fue
rza
( x10
nN
))
Radio de contacto frente a carga
R 2 = 0.93
0
200
400
600
800
1000
1200
1400
1600
-1 1 3 5 7 9
Fuerza ( x10 nN )
Are
a de
con
tact
o ( A
^2 )
Fig 5.4.d (cont ) Gráficas de la indentación de dos cilindros paralelos
Efectos de adhesión
Fractura
Adhesión
Fractura
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 132 -
- Esferas
Para el contacto entre esferas sí se conoce la expresión analítica de las deformaciones y
del radio de contacto, cuyas gráficas se muestran en la Fig. 5.4.e
Fig 5.4.e Disposición inicial para la simulación del contacto entre dos esferas en 3 dimensiones (superior ). Curvas de la fuerza de compresión frente al
acercamiento entre las esferas. (Cont )
Fuerza - Acercamiento entre esferas
-5
0
5
10
15
20
0 2 4 6 8 10
Distancia ( A )
Fue
rza
( x1
0 nN
)
Hertz
Simulación
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 133 -
Queda patente en las gráficas de Fig 5.4.e que el modelo de Hertz no responde
correctamente al comportamiento de la simulación, aunque a partir de una cierta deformación,
cuando las fuerzas son positivas, sigue una dependencia funcional similar. Si bien es cierto que
no se cumplen completamente las hipótesis expuestas bajo las cuales se apoya la ley de Hertz
(apartado 3.4), puesto que los sólidos no son isótropos, ni las superficies continuas, cabría
esperar una mayor aproximación con esta teoría.
Ya se ha visto en otras gráficas anteriores (por ejemplo Fig. 5.4.c) otros ejemplos en los
que la fuerza comienza siendo negativa, y se ha dado como explicación cualitativa (justificada
en el apartado 5.1) que era debido a efectos superficiales. Ahora, para el caso concreto de
esferas, se expondrá de manera cuantitativa. Para ello se comenzará mostrando las gráficas de
Fig. 5.4.f, en la cual se compara la ley de Hertz con otra llamada ley JKR y unos ciertos
resultados experimentales, observándose una gran semejanza.
Fig 5.4.e (Cont ) : Gráfica del radio del área de contacto frente a la carga para el contacto entre esferas
Radio de contacto frente a carga
0
2
4
6
8
10
12
14
-4 -2 0 2 4 6 8 10 12
Carga ( x10 nN )
Rad
io d
e co
ntac
to (
A )
Simulación
Hertz
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 134 -
Fig 5.4.f - Gráficas de la carga frente al radio de contacto. La figura superior es de [JOHN85], la inferior muestra los resultados de la simulación frente a los teóricos
según la ley de Hertz y JKR
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 135 -
Evidentemente las semejanzas son sorprendentes, especialmente tras conocerse el
origen de los datos experimentales que acompañan a la gráfica superior de Fig 5.4.f, pues
corresponden a esferas de gelatina de diversos diámetros (entre 24.5 y 255 mm): la pregunta
entonces resulta ser: ¿Qué tienen en común las esferas de gelatina con dos esferas
nanométricas de aluminio? ¿ Por qué sus gráficas de carga-deformación son tan semejantes?
La ley de Hertz no considera ningún tipo de fenómeno superficial, ni asociado a una
posible adhesión ni a fuerzas de van der waals entre las partículas de cada sólido. Esta
circunstancia llevó a que no pudiera explicar adecuadamente la deformación experimental
observada en ciertos materiales como por ejemplo las mecionadas esferas de gelatina. Por ello,
en 1971, Johnson et al. desarrollaron la teoría JKR (Johnson, Kendall y Roberts) [JOHN71], la
cual es una generalización de la ley de Hertz en la que se incluye el efecto de la adhesión
superficial.
La razón última de la existencia de esta adhesión superficial es que las partículas de las
superficies tienen una energía diferente a las del volumen, haciendo que la unión de dos
superficies en contacto sea energéticamente favorable al hacer que dichas partículas pasen de la
superficie a formar parte del volumen. Para modelar este comportamiento, se define el trabajo
de adhesión como la diferencia de energías en las superficies separadas frente a la energía de
las superficies tras el contacto:
1221 2γγγγ −+=
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 136 -
A consecuencia de esta energía, aparece una fuerza de adhesión de:
dx
dUF Contacto= ContactoContacto AU γ−=
Nótese que el valor de esta fuerza es independiente de la rigidez del material, del radio
de las esferas, etc…
Evaluando las energías potenciales medias de átomos superficiales frente a átomos de
volumen en las simulaciones, se tienen los siguientes valores:
Considerando que la densidad superficial es 2/a2 átomos/Å2 (con parámetro de red a) se
obtiene γ = 0.024 aJ/Å2.
Según el modelo JKR, la relación entre la carga y el radio de contacto es la siguiente:
(incluye como primer término la relación obtenida con la teoría de Hertz)
( )
+++= 2
*3 363
4
3 γπγππγ RFRRFE
Ra
donde el resto de las letras tienen el mismo significado que en las ecuaciones del apartado 3.4.
Como suele ser habitual en estos casos en los que una teoría generaliza el resultado de
otra teniendo en cuenta la introducción de nuevos parámetros, puede definirse un parámetro
adimensional que valore la importancia relativa de estos parámetros, y en este caso es el
coeficiente de Tabor, que por razones históricas puede encontrarse con diferentes expresiones
según el sistema a considerar [GREE97]. Para el caso de esferas, el coeficiente de Tabor que
muestra el efecto de la adhesión es el siguiente (puede comprobarse de un solo vistazo al
átomo
aJUV 130.0=
átomo
aJU S 229.0=
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 137 -
último término cómo relaciona las fuerzas de adhesión superficial frente a las fuerzas de
volumen):
( )3
12
*
3
1
32*
2
=
=
E
R
E
RT ε
γεε
γµ
siendo ε la distancia característica entre átomos a primeros vecinos. Los valores límite que se
manejan son µT ≥ 5 para comportamiento puramente adhesivo y µT ≤ 0.0005 para que no sean
visibles los efectos de la adhesión. Dando los valores de la simulación realizada y los
calculados, se tiene µT = 0.25, esto es, los efectos adhesivos no llegan a dominar por completo
pero sí que son muy importantes, como de hecho puede comprobarse en la Fig 5.4.g, tras
normalizar las variables. Al ser el coeficiente de Tabor para el aluminio menor que 5 da lugar a
pequeñas diferencias respecto a la curva de la gelatina, como por ejemplo que la carga
normalizada no llega a -1, si no que apenas alcanza -0.5, y que el corte con el eje vertical (área
de contacto para carga nula) es poco más de 1.2 frente a los 1.6 de la gelatina. Ambos reflejan
las primeras diferencias en cuanto al comportamiento entre la gelatina y el aluminio, siempre
que se asuma que la teoría JKR es cierta, sin embargo sigue sin explicación cómo es posible
que en ensayos experimentales sobre aluminio de tamaño macroscópico no se observe este
fenómeno adhesivo, especialmente cuando el coeficiente de Tabor aumenta con el radio de la
superficie de contacto.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 138 -
Fig 5.4.f - Gráficas normalizadas de la carga frente al radio de contacto. La figura superior es de [JOHN85], la inferior muestra los resultados de la simulación frente
a los teóricos según la ley de Hertz y JKR
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 139 -
Ya en la publicación de [JOHN71] los autores habían comprobado una aparente
discrepancia de su teoría del contacto adhesivo con los resultados experimentales, aunque en
aquella ocasión su preocupación se encontraba en el hecho de que los materiales rígidos (por
ejemplo metales como el aluminio), por elevadas energías superficiales que tuvieran, seguían
adecuadamente la ley de Hertz ignorando los efectos adhesivos. En la presente memoria es
precisamente el hecho de que el aluminio muestre adhesión a escala nanométrica mientras que
a escala macroscópica (mayor R da mayor µT) lo que parece contraintuitivo.
En realidad, ambos problemas se encuentran íntimamente relacionados, y vuelve a
entrar en juego la rugosidad superficial.
En efecto, las superficies de los sólidos reales son sumamente rugosas (recuérdese la
Fig. 3.4.a), por lo que no permiten un contacto íntimo entre las superficies “visibles” de los
sólidos, quedando en contacto a través de “crestas” que representan pequeñas porciones del
área aparente de contacto. Cuando el material tiene un módulo de elasticidad pequeño, como la
gelatina, dichas crestas son fácilmente deformables, obteniéndose un contacto suficientemente
íntimo como para que se muestre la adhesión entre ellos, mientras que en los materiales con
alto módulo de elasticidad, como los metales, las deformaciones producidas no son suficientes
como para asegurar un contacto uniforme entre las superficies.
Por otro lado, aunque se aumente el radio “macroscópico” de la esfera de aluminio, la
rugosidad de su superficie no tiene porqué verse afectada, y el radio a considerar en el
coeficiente de Tabor, así como en las fórmulas del modelo JKR, asumen que tanto el radio de
la esfera como el de la “rugosidad” del contacto son iguales.
Visto desde el punto de vista de la fuerza de adhesión, cuando dos esferas
macroscópicas reales de aluminio se presionan una contra otra, el contacto se produce a través
de pequeñas áreas de contacto efectivas que seguirán un comportamiento adhesivo, mientras
que el área de contacto medido seguirá la ley de Hertz puesto que la fuerza de adhesión,
proporcional al área de contacto, será mucho menor que las fuerzas para deformar el volumen,
pero no debido al coeficiente de Tabor, si no a que el área de contacto “efectiva” es una
minúscula parte del área “aparente” de contacto que se mide (Fig 5.4.g)
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 140 -
Por el contrario, cuando se trata de esferas de aluminio de unos pocos nanómetros de
diámetro, el área de contacto entre las esferas es exactamente el mismo que el área efectiva de
contacto, por lo que la fuerza de adhesión es comparable, en términos del coeficiente de Tabor,
a la fuerza de compresión, y emerge el efecto de la adhesión entre superficies (el radio de la
esfera se reduce hasta ser igual al de la rugosidad), al igual que emerge la adhesión entre
esferas de gelatina tras perder su rugosidad superficial por efecto de la fuerza de compresión
aplicada gracias a que su módulo elástico es suficientemente pequeño (el radio de la rugosidad
aumenta hasta ser igual al radio de la esfera)
En cuanto al análisis de la estructura cristalina para estas simulaciones del contacto, son
muy similares a las de tracción, salvo en la dirección predominante de las dislocaciones
durante la deformación. En los ensayos de tracción se observaba cómo éstas se orientaban
según las direcciones de máximo deslizamiento, mientras que en estas otras (con compresión
en lugar de tracción) se orientan paralelas a la fuerza aplicada (Fig 5.4.h)
Fig 5.4.g – Representación genérica del área “bruta” de contacto frente al área neta debido a la rugosidad superficial
Radio del contacto
Radio de la esfera
Área aparente
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 141 -
Fig 5.4.h - Simetría puntual de los átomos durante la deformación por contacto (cont )
Primeros pasos del sistema, donde todas las partículas, salvo las superficiales, tienen un entorno cristalino ideal.
Las primeras dislocaciones comienzan a formarse en el cuello de la unión, y se desplazan hacia el interior en vertical.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 142 -
Fig 5.4.h (cont ) - Simetría puntual de los átomos durante la deformación por contacto
Las primeras dislocaciones formadas han alcanzado las superficies superior e inferior, y rebotan en ellas mientras se siguen produciendo nuevas dislocaciones al ir aumentando la región en contacto.
Tras un cierto tiempo, hay tantas dislocaciones que éstas comienzan a interactuar entre ellas, apareciendo dislocaciones en otras direcciones y formando defectos puntuales
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 143 -
5.5.- Ensayos de desgaste
Las simulaciones sobre ensayos de desgaste realizados se componen de dos cuerpos:
uno de ellos fijo y de espesor variable (base), y el otro que presiona con fuerza constante
mientras se desplaza horizontalmente a velocidad constante (punta).
Se han simulado dos casos particulares:
- Un primer caso en que la punta (de sección semicircular) es del mismo material que la
base, y está compuesto de átomos libres, permitiendo la deformación de la punta. (Fig 5.5.a
sup.) Además permite la aparición de otros efectos como la adhesión (al poder formar punta y
base parte de la misma red cristalina) o la difusión de átomos de la punta a la base y viceversa.
- En el segundo caso se le impone a la punta una condición de sólido rígido; de este
modo teniendo la punta exactamente el mismo contorno que en el caso anterior, se puede
reducir el número de átomos a simular, aunque está impedida la deformación de la punta. Este
caso por tanto está diseñado para interacciones en los que la punta es mucho más rígida que la
base (Fig 5.5.a inf.)
Este tipo de disposiciones para ensayos de desgaste pretenden simular los experimentos
tipo pin-on-disk en los que se presiona una punta de un material determinado sobre una
superficie de la muestra a ensayar mientras ésta gira, de manera semejante a la aguja de un
tocadiscos presionando sobre un disco de vinilo.
No se pretende en este apartado sobre desgaste llegar a conclusiones cuantitativas, pero
se mostrará cómo es posible, a través de MD, reproducir algunos de los fenómenos
característicos observados y esperables en ensayos de desgaste a escala nanométrica, los cuales
se muestran en Fig 5.5.b y Fig 5.5.c.
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 144 -
Fig 5.5.a – Disposiciones genéricas para las simulaciones de desgaste
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 145 -
En primer lugar aparece la deformación de la punta, que pierde la simetría circular al no
poder seguir, debido al rozamiento, con la misma velocidad los átomos más cercanos al
contacto a los de las capas superiores. Este rozamiento provoca además una acumulación de
material por delante de la punta, al ir “arrancándolos” de la base en su movimiento. Esta
acumulación de partículas en la dirección del movimiento de la punta provoca una mayor
dificultad al movimiento de los átomos de la punta cercanos al contacto, quedándose retrasados
algunos de ellos formando un cuello en la parte posterior de la punta. Finalmente, las elevadas
tensiones provocadas durante el deslizamiento causan la formación de grietas en la base a lo
largo de la perpendicular al movimiento de la punta, desgarrando la superficie.
Por otro lado, en la Fig 5.5.c puede comprobarse la difusión de átomos de la punta a la
base y viceversa. Esta difusión ocurre de manera natural en dos sólidos cualquiera en contacto,
sin embargo la aplicación de una tensión de compresión junto a un deslizamiento favorece
enormemente este intercambio de material entre muestra y punta, especialmente al tratarse de
material idéntico ambos cuerpos. Los átomos difundidos tratan de acoplarse perfectamente a la
red, si bien ello no siempre es posible debido a la propia deformación del sistema. (átomos
Fuerza
Velocidad Formación de cuello
µ-Fractura
Deformación de la punta
Acumulación de material
Fig 5.5.b – Algunos ejemplos de los efectos de las simulaciones de desgaste
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 146 -
rojos ocupando posiciones atómicas de la red verde y varios verdes que han ido “subiendo” por
la red roja)
Además, en la misma figura Fig 5.5.c, se aprecia que la punta, a lo largo de su
deslizamiento, va perdiendo material que queda perfectamente acoplado a la red de la base. De
hecho, en [NEAL95], se indica que en el contacto entre dos superficies de aluminio en vacío la
adhesión es predominante frente a las fuerzas de rozamiento, lo que justifica esta pérdida de
material.
5.6.- Líneas para ensayos futuros
- Aplicación y comparación de los efectos superficiales para otros materiales, para
poder corroborar con mayor seguridad los buenos resultados obtenidos hasta el momento.
- Continuar en la línea de la evaluación de los parámetros elásticos del aluminio para
diferentes orientaciones, especialmente en 3 dimensiones, tratando de dar justificación concreta
de los resultados obtenidos ya sea por vía teórica o experimental. También mediante la
utilización de otros potenciales para asegurar la utilización del más adecuado al estudio de
estos materiales desde el punto de vista mecánico.
Fig 5.5.c – Otra simulación de desgaste, donde puede observarse difusión de átomos y pérdida de material de la punta
5.- SIMULACIONES REALIZADAS
JML – UPCO 2008
- 147 -
- Evaluación de otros parámetros cristalinos característicos de las propiedades
mecánicas como la velocidad de transmisión de ondas transversales y longitudinales en función
de la longitud de onda, coeficientes de transmisión y reflexión, resonancias, etc…
- Análisis de sensibilidad de los resultados de los ensayos a las diferentes condiciones
impuestas a los sistemas, como condiciones periódicas de contorno, fuerza o velocidad
constante y su introducción de manera progresiva, focos térmicos, etc…
- Profundizar en el estudio del contacto entre sólidos a través de la simulación de
ensayos de nanoindentación, rama con importantes aplicaciones en la que se ha vertido un gran
esfuerzo experimental con motivo de su trascendencia en los microscopios de fuerzas atómicas
(AFM)
- Realización y ejecución de un modelo de simulación que permita calcular una
estimación de los coeficientes de rozamiento macroscópicos, mediante la relación entre la
fuerza normal aplicada y la fuerza transversal necesaria tanto para iniciar el deslizamiento
(coeficiente de rozamiento estático) como para mantenerlo a velocidad constante (coeficiente
de rozamiento dinámico)
- Catalogación de los diversos comportamientos de desgaste mostrados en función de
las variables habituales en los llamados mapas de desgaste: presión y velocidad
- Análisis del comportamiento a fractura de los sólidos, tanto desde el punto de vista de
las deformaciones como de las energías y tensiones involucradas.
- Catalogación del tipo de fractura (dúctil o frágil) y su posible variación en función de
los parámetros del sistema (temperaturas, tensiones, velocidades de deformación, etc…)
- Modelado de uniones adhesivas, difusión superficial e interfacial, rozamiento con
lubricación, etc…
- Otras simulaciones de diversa índole, como estudios de impacto o la dinámica de
sólidos granulares desde el punto de vista atómico.
6.- CONCLUSIONES
JML – UPCO 2008
- 148 -
6.- CONCLUSIONES
En el presente trabajo se ha continuado el trabajo de una línea de investigación cuyo
objetivo es el modelado del comportamiento de los materiales a nivel molecular como base de
un conocimiento que permita comprender las propiedades mostradas por estos materiales a
nivel macroscópico.
En concreto se han realizado simulaciones para calcular el módulo elástico, módulo de
cizalla, coeficiente de Poisson, energía superficial, deformación bajo compresión en contacto y
deslizamiento permitiendo la caracterización mecánica de sólidos nanométricos de aluminio en
diferentes circunstancias y orientaciones.
Para ello ha sido necesario en primer lugar realizar múltiples modificaciones del código
de MD desarrollado previamente dentro de esta línea de investigación, dando lugar al código
actual: COMODYN. Se ha modificado por completo la estructura de entrada de datos al
programa, se han simplificado algunos pasos del algoritmo y se han incorporado nuevas
funcionalidades. Además se ha separado completamente la simulación del análisis de los datos,
agilizando las ejecuciones, y se han desarrollado múltiples funciones para el procesado de los
resultados en función de una variedad de parámetros.
Se ha encontrado que la MD es adecuada para la caracterización cualitativa de los
sólidos cristalinos y en concreto de los metales; si bien ciertos aspectos como los valores de las
tensiones calculadas no han podido ser confirmadas, otros como las distorsiones superficiales
de la red o el valor del coeficiente de Poisson han resultado tener un acuerdo cuantitativo
prácticamente exacto con las teorías adecuadas tal y como se ha tratado de explicar en los
sucesivos apartados de la presente memoria.
Por otra parte, los resultados obtenidos han permitido la justificación y explicación de
porqué materiales con alto módulo elástico pueden no presentar comportamiento adhesivo a
escala macroscópica mientras que sí aparece a escala nanométrica.
Actualmente hay un gran trabajo de investigación en el ámbito del comportamiento de
los materiales desde el punto de vista de la MD, al que este proyecto se ha sumado y ha
aportado, principalmente, un procedimiento detallado incluso de algunos aspectos básicos que
habitualmente se dan por supuestos, permitiendo demostrar, por ejemplo, cómo un análisis
6.- CONCLUSIONES
JML – UPCO 2008
- 149 -
adecuado de ellos podría reducir el tiempo de ejecución de las simulaciones (la verificación de
las distancias interatómicas tanto del volumen como de la superficie y su empleo en la
disposición inicial del sistema puede reducir el tiempo de equilibrado) o incluso la obtención
de resultados cuantitativos con potenciales considerados “demasiado simples” para modelar el
comportamiento metálico.
Asimismo se ha propuesto un método lineal para la evaluación de la simetría cristalina
más sencillo y rápido que los empleados habitualmente que, si bien no aporta tanta información
como puede aportar el parámetro de centrosimetría, permite diferenciar adecuadamente
vacantes, dislocaciones lineales y superficiales.
Parte de los resultados obtenidos han sido expuestos con motivo del XV Congreso de
Física Estadística FISES’08, que tuvo lugar en Salamanca en Marzo de 2008 en formato póster
con una buena aceptación.
7.- BIBLIOGRAFÍA
JML – UPCO 2008
- 150 -
7.- BIBLIOGRAFÍA
7.1.- Sobre Dinámica Molecular
[ALLE87] M.P. Allen, D.J. Tildesley. Computer Simulation of Liquids. Clarendon Press
[BATT05] R. Batterman. Fundamental Physics: Molecular Dynamics vs.
Hydrodynamics.
[BIND03] K. Binder et al. Molecular dynamics simulations. arXiv: cond-mat/0308148v1
[CHIP03] C. Chipot. Métodos numéricos para dinámica molecular. CNRS
[DILL03] K.Dill, S. Bromberg. Molecular Driving Forces: Stadistical Thermodynamics
in chemistry and biology. Ed. Garland.
[FREN02] D. Frenkel, D. Smit. Understanding Molecular Simulations: From algorithms
to applications. Academic Press
[GUTI01] G. Gutiérrez. Elementos de Simulación computacional: Dinámica molecular y
método de Monte Carlo. Univ. Santiago de Chile.
[HAIL92] J.M. Haile. Molecular dynamics simulation. John Wiley & Sons.
[IAP_06] M.J. Buehler. From nano to macro: Introduction to atomistic modelling
techniques. IAP 2006, MIT.
http://web.mit.edu/mbuehler/www/Teaching/IAP2006/intro.htm
[KEFF02] D. Keffer. The working person’s guide to molecular dynamics simulations.
Univ. Tennessee
[MARX00] D. Marx, J. Hutter. Ab Initio Molecular Dynamics: Theory & Implementation.
John von Neumann Institute for Computing
[PRES07] G. Presa. MODYCO: Aplicación de dinámica molecular. ICAI-UPCO
[RAPA04] D.C. Rapaport. The Art of Molecular Dynamics Simulation. Cambridge Univ.
[RAPP92] A.K. Rappé et al. UFF, a Full periodic table force field for molecular
mechanics and molecular dynamics simulations. J. Am. Chem. Soc. 1992,
114, 10024 - 10035
[TORR72] I.M. Torrens. Interatomic potentials. Academic Press.
[UVIR01] Introduction to interatomic potentials. Univ. Virginia MSE 524
7.- BIBLIOGRAFÍA
JML – UPCO 2008
- 151 -
[YOUN01] D.C. Young. Computational Chemistry: A Practical Guide for Applying
Techniques to Real-World Problems. John Wiley & Sons.
7.2.- Sobre Física y Materiales
[AGUI89] J. Aguilar. Curso de Termodinámica. Ed. Alambra Longman
[ASKE01] D.R. Askeland. Ciencia e ingeniería de los materiales. 3ª Ed. ITP
[ASMH92] ASM Handbook. ASM International
[BERR80] L.O. Berrocal. Resistencia de materiales. Ed. Mc Graw-Hill
[CALL98] W. Callister Jr. Ciencia e ingeniería de los materiales. Ed. Reverté
[FEYN72] R. Feynmann et al. Física vol.II . Ed. Addison Wesley Longman
[KITT80] C.Kittel, H.Kroemer. Thermal Physics. 21ª Ed.
[KITT96] C.Kittel, Introduction to Solid State Physics. 7ª Ed. John Wiley & Sons
[KREI99] F. Kreith et al. Mechanical Engineering Handbook. CRC Press
[LAND70] L.D. Landau. Theory of elasticity. 2ª Ed. Permamon Press
[SMIT99] W.Smith. Fundamentos de la ciencia y la ingeniería de materiales. 3ª Ed.
McGraw-Hill
[TIMO57] S. Timoshenko. Resistencia de materiales. Ed. Espasa- Calpe. Tomos I y II
7.3.- Sobre Tribología y contacto
[BHUS05] B. Bhushan (Ed.). Nanotribology and nanomechanics. Springer
[FISC07] A.C. Fischer-Cripps. Introduction to contact mechanics. Springer.
[GORY98] I.G. Goryacheva. Contact Mechanics in tribology. Kluwer Acad. Publishers
[JOHN85] K.L. Johnson. Contact Mechanics. Cambridge Univ. Press.
[LUDE96] K.C. Ludema. Friction, Wear, Lubrication. CRC Press LLC.
[MAN_94] K.W. Man. Contact Mechanics using boundary elements. Topics in
engineering, vol. 22. - Computational Mechanics Publications
[MTH_92] Modern Tribology Handbook. CRC Press LLC
[NEAL95] M.J. Neale. The tribology handbook. Ed. Butterworth - Heinemann
7.- BIBLIOGRAFÍA
JML – UPCO 2008
- 152 -
[OVER08] R.M. Overney. Course material of Nanoscience I, ChemE 554, Univ. of
Washington
7.4.- Artículos de investigación
[ADAM00] J.B.Adams et al. Adhesion, Lubrication, and wear on the atomic scale,
2000.
[GREE97] J.A. Greenwood. Adhesion of Elastic Spheres Proc. R. Soc. Lond. A (1997)
453, 1277-1297
[HAIL75] T.Halicioglu et al. Calculation of potential energy parameters from
crystalline state properties. Physical Status Solidi A 30,619. 1975
[KELC98] C.L. Kelchner et al. Dislocation nucleation and defect structure during
surface indentation. Phys. Rev. B, vol 58, N17. 1998
[LIU_07] C.Liu et al. Atomistic simulations of hard and soft films under
nanoindentation. Materials Science and Engineering A 452–453 (2007)
135–141
[PERS08] Persson et al. Molecular Dynamics Study of Contact Mechanics: Contact
Area and Interfacial Separation from Small to Full Contact. PRL 100,
024303, 2008
[SEPP03] E.T. Seppala et al. Molecular dynamics study of void growth and
dislocations in dynamic fracture of FCC and BCC metals. Plasticity, June
2003
[SORE96] M.R.Sorensen et al. Simulations of atomic-scale sliding friction. Phys. Rev.
B vol 53 N4 1996
[TSUR06] T.Tsuru et al. Atomistic simulations of elastic deformation and dislocation
nucleation in Al under indentation-induced stress distribution. Modelling
Simul. Mater. Sci. Eng. 14 (2006) S55–S62
[ZHOU03] M. Zhou. A new look at the atomic level virial stress: on continuum
molecular system equivalence. Proc. R. Soc. Lond. A 2003, 459, 2347
7.- BIBLIOGRAFÍA
JML – UPCO 2008
- 153 -
7.5.- Enlaces web
[WEB_01] YASARA
http://www.yasara.org/
[WEB_02] TINKER
http://dasher.wustl.edu/tinker/
[WEB_03] MOLECULAR WORKBENCH
http://mw.concord.org/modeler/
[WEB_04] ABINIT
http://www.abinit.org/
[WEB_05] AMBER
http://amber.scripps.edu/
[WEB_06] CASTEP
http://www.castep.org/
[WEB_07] CMPD
http://www.cpmd.org/
[WEB_08] CHARMM
http://en.wikipedia.org/wiki/CHARMM
[WEB_09] FIREBALL
http://fireball.phys.wvu.edu/
[WEB_10] DL_POLY
http://www.cse.scitech.ac.uk/ccg/software/DL_POLY/index.shtml
[WEB_11] GROMACS
http://www.gromacs.org/
[WEB_12] LAMMPS
http://lammps.sandia.gov/
[WEB_13] NAMD
http://www.ks.uiuc.edu/Research/namd/
[WEB_14] PWSCF
7.- BIBLIOGRAFÍA
JML – UPCO 2008
- 154 -
http://www.pwscf.org/
[WEB_15] SIESTA
http://www.uam.es/departamentos/ciencias/fismateriac/siesta/
[WEB_16] ATOMVIEW
http://www.sv.vt.edu/future/cave/software/atomview/atomview.html
[WEB_17] MATLAB
http://www.mathworks.com/
[WEB_18] THE ENGINEERING TOOLBOX
http://www.engineeringtoolbox.com/
8.- APÉNDICES
JML – UPCO 2008
- 155 -
8.- APÉNDICES
8.1.- Apéndice A: Manual de usuario de COMODYN
COMODYN
COde for MOlecular DYNamics
Guía de usuario
COMODYN - Manual de usuario Anexo A – 1
Contenidos
A1. INTRODUCCIÓN 2
A1.A- FUNDAMENTOS DE MD 2
A1.B – ALGORITMO 4
A1.C – CAPACIDADES 6
A2. ESTRUCTURA DEL CÓDIGO 9
A2.A – UNIDADES Y CONSTANTES 11
A2.B – VARIABLES PRINCIPALES 11
A2.C – FUNCIONES PRINCIPALES DEL NÚCLEO 14
A3. ENTRADA DE DATOS: FORMATO 18
A3.A – PARTÍCULAS 18
A3.B – POTENCIAL 23
A3.C – SIMULACIÓN 25
A3.D – EJEMPLO COMPLETO 30
A4. TRATAMIENTO DE DATOS 34
A4.A – FORMATO DE SALIDA 34
A4.B – FUNCIONES EXISTENTES 36
A4.C – CREACIÓN DE NUEVAS FUNCIONES 38
A6. BIBLIOGRAFÍA DEL ANEXO 43
COMODYN - Manual de usuario Anexo A – 2
A1. Introducción
COMODYN es un código compuesto por una serie de funciones desarrolladas en
MATLAB que permite la realización, de la manera más general posible, de simulaciones
basadas en dinámica molecular, referida en adelante como MD (Molecular Dynamics).
El objetivo de esta guía de usuario es la explicación tanto del funcionamiento interno
del programa como de la metodología de uso de forma que sea rápida e intuitiva su utilización
por cualquier persona con un cierto manejo de MATLAB.
A1.a- Fundamentos de MD
La dinámica molecular trata de reproducir el comportamiento de un determinado grupo
de partículas dentro de unas condiciones dadas con el fin de extraer información sobre sus
propiedades. Debido a su generalidad, y teniendo en cuenta sus limitaciones en cada caso,
permite tratar sistemas en multitud de circunstancias y a diferentes niveles. En concreto, puede
emplearse tanto para modelar sistemas físicos de gases, líquidos, sólidos e incluso cambios de
fase, de la misma manera que puede ser útil desde escala atómica a molecular, desde sólidos
cristalinos a polímeros. Por ello a lo largo de la guía serán referidas como partículas las
unidades elementales de materia en la simulación, sean átomos individuales, grupos o
moléculas.
Habitualmente se emplea la dinámica clásica para calcular el movimiento de las
partículas, en cualquiera de sus versiones newtoniana, lagrangiana o hamiltoniana. Puesto que
las variables con las que va a contar son las posiciones y las velocidades, y se supondrá el
potencial de interacción, parece más directo emplear el formalismo lagrangiano en lugar de por
ejemplo el newtoniano que emplearía posiciones y velocidades calculando aceleraciones o
fuerzas.
Sin embargo, el algoritmo de cálculo que emplea el código; el llamado predictor-
corrector, como se explicará más adelante, calcula apoyándose en las posiciones y sus
derivadas hasta quinto orden (lo que incluye la velocidad y la aceleración) las nuevas variables
conocida la fuerza sobre cada partícula en cada instante de tiempo. A causa de ello habrá que
ser capaces de calcular las aceleraciones sufridas por las partículas, y por ello se usará
dinámica newtoniana para, una vez evaluadas las fuerzas, calcular los movimientos.
COMODYN - Manual de usuario Anexo A – 3
COMODYN está diseñado para ser versátil en cuanto a la elección del tipo de
interacción, pero únicamente para potenciales entre pares y que para dos partículas dadas sólo
dependa de la distancia entre ellas. En estos casos se tiene que:
r
UF r
r
∂∂−=
Bajo estas condiciones la idea fundamental de la dinámica molecular es, pues, resolver
para cada partícula qué fuerzas sufre, calcular la aceleración que le produce (segunda ley de
Newton) para obtener las nuevas posiciones y sus derivadas en el siguiente paso temporal, en
que se repetirá el proceso.
Una vez que se termina la simulación, se trata de extraer la mayor cantidad posible de
información sobre el comportamiento del sistema simulado, del cual serán conocidas las
evoluciones de sus posiciones y velocidades:
Puesto que se trata de sistemas discretos (“no continuos”), y gracias a que se tendrá una
“suficiente1” cantidad de partículas, se empleará, en general, conceptos propios de física
estadística para la caracterización de los sistemas:
Así, por ejemplo, la energía cinética de un cuerpo es la suma de las energías cinéticas
de todas las partículas que lo forman.
La temperatura se relaciona según el principio de equipartición con la energía cinética
de las partículas en cada uno de los grados de libertad de que dispongan. Si se simulan átomos
y se les considera puntuales, quedarían únicamente tantos grados de libertad como coordenadas
tenga el sistema (movimientos de translación).
De manera semejante se pueden establecer otros parámetros como calores específicos,
calores latentes, etc… (véase por ejemplo [BIND03])
Merece la pena resaltar desde el principio que las condiciones iniciales de posiciones y
velocidades deben ser establecidas con anterioridad al comienzo del algoritmo, de la misma
1 El término suficiente se refiere al número de partículas en la simulación, que deberá ser suficientemente grande como para poder emplear criterios estadísticos de manera fiable, pero siempre teniendo en cuenta que a pesar de todo será extremadamente menor al número de partículas que contienen los sistemas reales mayores o iguales que el ámbito microscópico.
COMODYN - Manual de usuario Anexo A – 4
manera que habrá que suponer cual es la forma del potencial que dependerá del tipo de
partículas a considerar. Por otro lado entrarán en juego otro tipo de parámetros, debidos ya no
al sistema físico si no de carácter práctico o computacional que habrá que tener en cuenta y
deben ser meditados y justificados de cara a obtener resultados relevantes. Éstos se tratarán de
ir viendo a lo largo de la guía.
A1.b – Algoritmo
El programa está estructurado según el siguiente diagrama (Fig A1.1):
En los siguientes apartados se tratará de forma detallada el funcionamiento de los
diferentes bloques, pero de momento será suficiente una breve explicación del método de
cálculo y las hipótesis en las que se basa antes de entrar en los detalles del código. Como se
puede observar en la figura 1.1, se referirá como algoritmo la secuencia de instrucciones que
ENTRADA DE DATOS
INICIALIZACIÓN
EQUILIBRADO
PRODUCCIÓN
POSTPROCESADO
Inicio del algoritmo
Final del algoritmo
Fig. A1.1. Diagrama de flujo genérico de COMODYN
COMODYN - Manual de usuario Anexo A – 5
realiza COMODYN desde que le dan los datos de entrada hasta que devuelve los datos de
salida listos para ser procesados. Todo este conjunto la realiza de manera completamente
automática, y como se verá más adelante, no es completamente rígido pues puede ser de interés
realizar solamente el equilibrado o la producción, o ambas. También pueden realizarse tareas
de postprocesado de manera automática a continuación de la ejecución.
De forma esquemática el programa tras recibir los datos de entrada procede a la
inicialización, cuyos objetivos son:
- Inicializar las variables y las constantes a utilizar.
- Traducir al formato interno los datos de entrada.
- Si no se introducen velocidades iniciales, asignarlas de manera aleatoria según la
distribución correspondiente.
- Si las condiciones externas de las partículas cambian con el tiempo, evalúa su valor
inicial.
- Calcular la función potencial a partir de los datos de entrada en el formato adecuado
para su uso en el resto de la simulación.
- Calcular las fuerzas sobre las partículas en el instante inicial.
Todo este proceso es automático, por lo que en la guía de usuario no se entrará en más
detalles, si fueran necesarios, consultar [KEFF02]
En cuanto a las fases de equilibrado y producción, su funcionamiento es
prácticamente idéntico, salvo por cómo afectan las condiciones especiales aplicadas a las
partículas.
La fase de equilibrado se concibe como una serie de pasos de ejecución durante la cual
las condiciones iniciales afectan demasiado como para ser útiles sus resultados (las velocidades
iniciales, por ejemplo, se asignan aleatoriamente, tras el equilibrado deberían seguir la
distribución correspondiente al sistema, por ejemplo la de Maxwell-Boltzmann). Si la
simulación está bien planteada, al cabo de un cierto tiempo el sistema estará en equilibrio por sí
mismo y será independiente de las condiciones iniciales. La fase de producción no debería
comenzar hasta que esto ocurra.
COMODYN - Manual de usuario Anexo A – 6
Además, durante la fase de equilibrado se puede imponer que determinadas partículas
con condiciones especiales no se muevan, aunque sí afecten al resto de las de su alrededor, esto
es de interés si se pretende que el sistema se equilibre antes de empezar a aplicar condiciones
como las de fuerza por ejemplo.
Ambas fases se basan en el algoritmo predictor-corrector (véase por ejemplo RAPA04).
Su gran valor se encuentra en que, a pesar de que las ecuaciones del movimiento son
ecuaciones diferenciales de segundo orden, no necesita convertirlas en un sistema de (dos o
más según el algoritmo y la precisión necesaria) ecuaciones diferenciales de primer orden
como paso previo a su resolución, como ocurre con otros algoritmos de cálculo numérico. Por
otro lado sólo requiere la evaluación de la fuerza sobre cada partícula una vez, que teniendo en
cuenta que esta evaluación es la que más recursos absorbe de toda la simulación es una
característica vital.
En concreto COMODYN emplea el algoritmo predictor-corrector de quinto orden,
para más información sobre cómo está implementado, véase el apartado 4.
A1.c – Capacidades
Un código de dinámica molecular, en sí mismo y a partir del algoritmo descrito en la
sección anterior es capaz, dentro de sus posibilidades, de describir el movimiento de las
partículas en cada paso temporal (posiciones y velocidades) para un conjunto de partículas
libres que interaccionen entre sí a través de un potencial determinado. Para ampliar su
funcionalidad, se pueden imponer ciertas condiciones que permiten modelar el comportamiento
de partículas en diversas situaciones, reducir el número de partículas necesarias para una
simulación veraz o limitar los efectos de la capacidad limitada de potencia de cálculo.
COMODYN tiene implementadas una serie de condiciones para aumentar su capacidad
que describimos a continuación, para ejemplos y explicaciones detalladas, véase el capítulo
A3.
- Tipos de partículas: La diferenciación entre las propiedades de las diferentes
partículas dentro de una misma simulación permite comprobar los efectos de
interacción entre diferentes átomos o moléculas.
COMODYN - Manual de usuario Anexo A – 7
- Especies: La diferenciación por especies permite de una manera sencilla evaluar
propiedades o asignar condiciones específicas a determinados grupos de partículas
aunque sean del mismo tipo.
- Condición de fuerza: Permite aplicar una fuerza externa a un grupo de partículas, de
forma que se sumará a la fuerza resultante de las interacciones.
- Condición de velocidad: Impone una determinada velocidad a un grupo de
partículas independientemente de las interacciones con las otras partículas.
- Condición estática: Mantiene en la misma posición a un grupo de partículas
mientras tengan esta condición impuesta.
- Sólido rígido: El grupo de partículas que tenga esta condición se moverá como un
sólido rígido, es decir, mantendrá las posiciones relativas entre estas partículas y su
movimiento será el del centro de masas del conjunto.
- Condición de foco térmico: Estas partículas mantendrán su temperatura constante.
- Condiciones variables: Las condiciones anteriores pueden ser variables a lo largo de
la simulación.
- Escalados: Permite la realización de un escalado de velocidades según la
temperatura tanto en la fase de equilibrado como en la de producción, de manera
independiente.
- Condiciones periódicas de contorno: Permite modelar sistemas “infinitos” mediante
grupos finitos suficientemente grandes, mediante la asimilación de que el volumen
de simulación está rodeado de otros idénticos.
- Potenciales: Mediante la modificación o creación adecuada de una función
potencial se puede utilizar cualquier potencial para la interacción entre cada par de
partículas sin afectar al código.
- Parámetros de cálculo: Es sencillo y rápido introducir los parámetros de la
simulación como el tiempo entre pasos y su número, tamaño del umbral de
vecindad, etc…
Aunque no tengan relevancia en el algoritmo en sí mismo, afectan enormemente a la
capacidad del programa y a su interacción con el usuario otras características como:
COMODYN - Manual de usuario Anexo A – 8
- Funciones desarrolladas para la introducción de la geometría del sistema de manera
simple y potente. Por otro lado, queda abierta la posibilidad de crear nuevas
funciones específicas para diferentes configuraciones.
- Múltiples funciones desarrolladas para el procesado de datos a la luz de diferentes
intereses, como temperaturas locales o globales, tensiones, energías, asimetrías, …
- Posibilidad de continuar simulaciones a partir de cualquier estado intermedio de
otras sin tener que repetirlas.
- Base de datos que contiene los parámetros básicos de las partículas que se van
utilizando en las simulaciones, quedando registro de éstos en la salida de la
simulación y simplificando la cantidad de datos de entrada.
- Posibilidad de realizar, mediante una sola instrucción y de manera secuencial y
automática, una tanda de simulaciones en las cuales sólo varíe un parámetro.
- Permite mantener ordenados fácilmente las diversas simulaciones y sus resultados
en carpetas diferenciadas.
COMODYN - Manual de usuario Anexo A – 9
A2. Estructura del código
Las diferentes funciones están estructuradas en carpetas de la siguiente manera:
El directorio raíz contiene la función principal comodyn.m así como las principales
funciones necesarias para la ejecución de las simulaciones.
La carpeta lectores contiene funciones necesarias para la traducción de los datos de
entrada y de salida al formato adecuado para la ejecución de comodyn o de los
postratamientos, reduciendo al mínimo las precauciones necesarias respecto a los formatos de
los datos en ambos casos. En caso de que fuera necesario podrían crearse otros para adaptar
comodyn a otros formatos.
POTENCIALES
Directorio principal:
COMODYN
LECTORES
POSICIONES
SALIDAS
SIMS
DataBase
POSTRATAMIENTOS
COMODYN - Manual de usuario Anexo A – 10
La carpeta posiciones contiene varias funciones para crear disposiciones de partículas
en 2D y 3D según contornos circulares, semicirculares, puntiagudas, rectangulares y otras con
formas definidas por funciones, así como otras dadas por una matriz de posiciones. Permite
rellenar estos contornos según una disposición cúbica simple o como una FCC (Para FCC en
2D será según el plano de máximo empaquetamiento)
También contiene la carpeta DataBase, en la cual se guarda el archivo con la
información de las partículas, así como una función para añadir nuevos elementos de forma
sencilla.
La carpeta potenciales permite almacenar las diferentes funciones de potencial que se
vayan utilizando en las diversas simulaciones. Para crear nuevos potenciales, véase el apartado
A3.c
La carpeta sims almacena, dentro de las carpetas que el usuario estime oportuno para su
clasificación, la función de entrada de datos (llamadas a partir de ahora funciones simfiles, para
diferenciarlas por su importancia aunque no sean más que otra función .m) para cada
simulación realizada, para su posterior comprobación o análisis. Para crear nuevos simfiles,
véase el apartado 3, un ejemplo completo puede verse en A3.d
La carpeta postratamientos contiene una variedad de funciones para analizar, desde
diferentes enfoques, los resultados de las simulaciones, permitiendo crear gráficos o videos
según la intención. Para ver las funciones implementadas y cómo crear otras nuevas si fuera
necesario, véase el apartado A4.
La carpeta salidas es la carpeta en la que por defecto se almacenan los resultados de las
simulaciones y de los postratamientos. También se permite el almacenamiento organizado
mediante subcarpetas
COMODYN - Manual de usuario Anexo A – 11
A2.a – Unidades y constantes
Tiempo: 10 -15 s =1 fs
Longitud: 10 -10 m = 1 Å = 0.1 nm
Masa: 10 -28 kg
Temperatura: K
Energía: 10 -18 J = 1 aJ
Fuerza: 10 -8 N
Presión: 10 12 Pa = 10 6 MPa = 103 GPa
Velocidad: 10 5 m/s
Aceleración: 10 20 m/s2
Boltzmann: kB = 1.3806 * 10 -5 aJ / mol K
Avogadro: NA = 6.022 * 10 23 átomos / mol
A2.b – Variables principales
Para una simulación en D dimensiones, N partículas en total y E especies diferentes, las
variables más importantes para entender el funcionamiento del programa, pero que no son
directamente utilizables por el usuario salvo que tenga que modificar o crear una función
nueva, son:
- Variables donde cada fila se corresponde con una partícula de manera unívoca y
constante a lo largo de la simulación:
Nombre Dimensiones Descripción
r [ N , D ] Posición de cada partícula
v [ N , D ] Velocidad de cada partícula
Nombre Dimensiones Descripción
a [ N , D ] Aceleración de cada partícula
f [ N , D ] Fuerza neta sobre cada partícula
distrespecies N Número de especie de cada partícula
COMODYN - Manual de usuario Anexo A – 12
- Otras variables:
numpbc [1x1] Contiene el número de partículas con condiciones impuestas (partículas
no libres) en la simulación.
numespecies [ 1x1 ] Contiene el número de especies diferentes existentes en la
simulación (= E).
matriz_bc [ numpbc x 2D+1 ] Contiene las condiciones impuestas a las numpbc
partículas no libres. Su formato consta, para cada partícula (fila), de 1+2D columnas agrupadas
en 3 bloques que indican lo siguiente:
1 D D
Cómo afecta en el
equilibrado
De qué tipo es en cada
coordenada
Cual es el valor en cada
coordenada
Para ello contiene los siguientes códigos:
Primer bloque:
= 1 : Las partículas serán simuladas durante el equilibrado
= 0 : Las partículas permanecerán estáticas durante el equilibrado
Segundo bloque, para cada una de las dimensiones del sistema;
= 1 : Condición de fuerza externa
= 0 : Condición estática
= -1: Condición de velocidad constante
Tercer bloque, sólo se usan los valores correspondientes a las coordenadas que tengan 1
o -1 en el bloque anterior. Contiene el valor de la fuerza o la velocidad en la coordenada en
cuestión.
bc_especies [ E x 2]. Cada fila se corresponde con una especie, de manera secuencial
(primera fila se refiere a la primera especie, etc…). Su primera columna indica el número de
partículas no libres para esa especie y la segunda columna:
= 1: si forman un sólido rígido
= 0: si no son un sólido rígido
COMODYN - Manual de usuario Anexo A – 13
Nespecies [ E x 4 ]. Al igual que bc_especies, cada fila se corresponde con una especie
diferente, y consta de 4 columnas:
1ª : Número de moléculas total de esa especie
2ª : Volumen específico de las partículas de esa especie
3ª : Temperatura de esa especie
4ª : Masa molecular de la especie.
MatInit [ N x 3D+7 ] Es una matriz que contiene toda la información de las partículas.
Cada fila representa a una partícula, pero no tiene por qué estar ordenada de ninguna manera en
particular. Tiene 3D+7 columnas, que representan:
1- Número de especie
2- Volumen específico
3- Temperatura
4- Masa molecular
5-6 (5-7 en 3D). Posición
7-11 (8-14 en 3D). Condiciones impuestas. Se corresponde con matriz_bc
salvo en los casos en que el primer número sea:
-1 : significa partícula libre. El resto de los números de este
intervalo son irrelevantes.
-2 : significa que forma parte de un foco. El segundo número en
este caso es el número que identifica al foco. El resto de los
números del intervalo son irrelevantes.
12 (15 en 3D). Indica si forma parte de un sólido rígido (=1) o no.
13 (16 en 3D). Tipo de molécula
A la vista de estas variables, cabe destacar algunos detalles para un funcionamiento
correcto:
Si bien cada tipo de partícula puede estar representada por diferentes especies (lo cual
de hecho es aconsejable para diferenciar grupos de partículas del mismo tipo dentro de la
simulación), todas las especies deben estar compuestas de un sólo tipo de partículas a la misma
temperatura.
COMODYN - Manual de usuario Anexo A – 14
De la misma manera, cada sólido rígido debe estar compuesto por todas las partículas
de una especie, ya sean libres, no libres o de ambas.
Un conjunto de partículas que formen un foco no pueden tener otras condiciones
impuestas. Por otro lado, las condiciones de velocidad constante y estáticas no son físicamente
compatibles con la condición de foco, puesto que la temperatura del foco se relaciona con la
velocidad de las partículas; si se impone externamente, impide la regulación de la temperatura
vía reescalado de las velocidades (energía cinética)
Aunque sea exactamente lo mismo a todos los efectos una condición de velocidad
constante nula a una estática, es computacionalmente favorable la utilización de la condición
estática, y por eso mismo están diferenciadas.
El volumen específico salvo para simulaciones de gases no es relevante.
A2.c – Funciones principales del núcleo
Funciones principales del núcleo son aquellas funciones que conforman el núcleo de
comodyn, y que en principio no deberían ser modificadas ni, salvo los casos especiales de
comodyn.m, comodynE.m y comodynRV.m, ejecutadas directamente por el usuario. Por ello,
no se describirán en detalle, pues este apartado pretende únicamente ser una breve descripción
del funcionamiento interno del programa. Para más información, véase [PRES07]
comodyn.m uso: comodyn(‘simfile’)
Se trata de una función preparatoria, como nexo entre la introducción de datos y el
comienzo del algoritmo. Su principal función es la de ir ejecutando las sucesivas simulaciones
si se trata de una tanda de simulaciones paramétricas. Recibe como único argumento de
entrada el nombre del archivo de simulación que debe procesar.
comodynRV.m uso: comodynRV(‘simfile’,partículas)
Realiza la simulación exactamente igual, pero almacena únicamente las posiciones y
velocidades de las partículas especificadas
COMODYN - Manual de usuario Anexo A – 15
comodynE.m uso: comodynE(‘simfile’)
De nuevo, realiza la simulación según simfile, pero en esta ocasión almacenará
únicamente los valores de las energías potencial y cinética de cada partícula
core.m
Como su nombre indica es el verdadero núcleo del algoritmo, que regulará las sucesivas
funciones a ejecutar durante la simulación. Su salida de datos la hace a un archivo .mat, cuyo
nombre y ubicación está definido en el simfile. Este archivo de salida almacena una serie de
variables que permiten extraer la información de la simulación durante el postprocesado, para
una explicación detallada del archivo de salida, véase apartado 4.a
force.m
Esta función, que es la que mayor tiempo de ejecución requiere en general, es la
responsable de calcular, para cada partícula, las fuerzas resultantes de la interacción con el
resto de las partículas, de modo que devuelve tras su ejecución la fuerza neta que sufre cada
partícula.
ivel.m
Esta función se utiliza, si la simulación no especifica valores iniciales de la velocidad
de las partículas, para asignarlas de manera aleatoria. Además reescala las velocidades según la
temperatura.
mknbr.m
Es la función encargada de crear la lista de vecinos, esto es, almacenar en una matriz las
parejas de partículas que se encuentren a una distancia menor que el umbral de vecindad. Es
una de las funciones que más tiempo emplea, por ello no se ejecuta a cada paso de la
simulación, siendo configurable la frecuencia de actualización de la lista de vecinos a través
del simfile. Véase 3.d
pbc.m
En caso de que se haya seleccionado condiciones periódicas de contorno esta función es
la responsable de convertir las posiciones de las partículas que se “salgan” del recinto a la
COMODYN - Manual de usuario Anexo A – 16
posición que les corresponda dentro de él. Puede verse también como que si una partícula sale
por un lado del recinto, entra otra idéntica por el lado opuesto (véase 3.a).
scalev.m y scalev0.m
Cuando se establezca que las velocidades deben ser escaladas, ya sea durante el
equilibrado (scalev0) o la producción (scalev), estas funciones son las encargadas de evaluar
las nuevas velocidades reescaladas para cada especie según su temperatura, su masa, y la
velocidad del centro de masas
kolmogorov.m
Si se establece que debe realizarse el test de Kolmogorov-Smirnov durante el
equilibrado con las velocidades de las partículas libres, se ejecuta esta función que devuelve el
valor del estadístico que indica si estas velocidades se corresponden con las de una distribución
normal a esa temperatura como sería de esperar tras un determinado tiempo de equilibrado. En
principio este test sólo debería ser empleado para simulaciones de gases.
predictor.m y corrector.m
Son las funciones que llevan a cabo el procedimiento de cálculo de las posiciones en
cada paso a partir de las posiciones en el paso anterior, velocidades y fuerzas. Su
funcionamiento se ha explicado brevemente en el apartado 1.b
std_reader.m
Es el encargado, para el formato estándar de entrada de datos, de traducir éstos a las
variables que necesitará comodyn en su ejecución. Recibe un archivo de texto con la
información geométrica y material de las partículas y devuelve las variables procesadas. Este
lector estándar es el adecuado para la utilización de las funciones contenidas en la carpeta
posicionadores. Cuando se requiera la entrada de datos en otros formatos, puede emplearse
como base para crear otros lectores adecuados. Para más información, véase 3.a
std_post y vie_post
Son las funciones creadas para la lectura y preparación de los archivos de salida de
comodyn, pensados para facilitar la tarea de creación de funciones de postprocesado de datos.
COMODYN - Manual de usuario Anexo A – 17
Para comodyn v1.0 y siguientes, debe utilizarse std_post, sin embargo se conserva la función
vie_post para el procesado de datos de simulaciones realizadas con versiones antiguas de
comodyn.
Además de estas funciones, están las del potencial y los simfiles como funciones
necesarias para la ejecución del código, pero al ser dependientes de cada caso, son
configurables por el usuario, por lo que se tratarán en la sección A3. Las funciones de
postprocesado se detallarán en la sección A4.
COMODYN - Manual de usuario Anexo A – 18
A3. Entrada de datos: formato
La entrada de datos, por comodidad, consiste en rellenar los diversos apartados de una
función con un cierto formato que, para diferenciarla, será referida como simfile. En realidad
no es otra cosa que una función .m, que por lo general y para mantener los archivos
organizados estará en la carpeta SIMS.
Un simfile está estructurado en diferentes apartados, y necesariamente deberá asignar
valores a determinadas variables siguiendo las instrucciones que se detallan a continuación.
En primer lugar se debe indicar la ruta en la que se almacenará tanto el archivo de la
configuración inicial como los resultados de la simulación.
fichsalida= 'NombreResultados' ; outpath= 'CarpetaResultados' ;
Si se da valor nulo a estas variables, se usará el valor por defecto, que sería:
.\salidas\out_simfile.mat donde ‘simfile’ será el nombre del simfile empleado para
simulaciones nuevas, y .\salidas\salidaprevia2.mat donde ‘salidaprevia’ es el
nombre del archivo de la simulación previa.
A3.a – Partículas
La información referente a las partículas y sus posiciones iniciales debe detallarse en el
apartado PARTICLES del simfile.
Puede hacerse de dos maneras: creando en primer lugar un archivo de texto con los
datos, empleando el método más oportuno para ello, incluso con otros programas y funciones
externas o creándolo directamente mediante las funciones de la carpeta POSICIONADORES.
En el primer caso, supuesto que se tiene el archivo creado, si se llama posinicial.txt,
únicamente habría que introducir lo siguiente:
archivo = 'posinicial.txt' ;
En caso de que el formato sea el estándar, el contenido del archivo de texto es
precisamente la matriz MatInit, detallada en el apartado 2.b
COMODYN - Manual de usuario Anexo A – 19
Si hay que crear el archivo, se recomienda empezar con:
archivo= 'posinicial.txt' ; outpath=strcat( '.\salidas\' ,outpath, '\' ); archivo=strcat(outpath,archivo); mkdir(outpath); delete(archivo); Puesto que así no hay riesgo de que si el archivo ya existe, al pretender crearlo a
continuación lo que haría sería añadir a los datos existentes los nuevos. Además el archivo
queda almacenado junto a los resultados de la simulación, correctamente organizado.
Para rellenarlo se pueden emplear las funciones contenidas en la carpeta
posicionadores, tantas veces como sea necesario:
rectangularfcc(1,2,[-3 102.5],[107 1],0,0,archivo,[ 1 1 1 0 -0.01],100,1); rectangularfcc(3,2,[-1.5 100],[103 1],0,0,archivo,[ -2 1 0 0 0],100,0); circularfcc(3,2,[50 100],[0 51.5],archivo,-1,100,1, 0); circularfcc(4,2,[50 -6],[0 50],archivo,-1,100,-1,0) ; rectangularfcc(4,2,[-1.5 -9],[103 1],0,0,archivo,[- 2 2 0 0 0],100,0); rectangularfcc(2,2,[-3 -11.5],[107 1],0,0,archivo,[ 1 1 1 0 0.01],100,1); clf();
Se recomienda acabar con la línea clf(); debido a que cada una de las funciones
anteriores muestra en un gráfico las posiciones de las partículas añadidas al archivo, y en este
caso no interesa.
Lista de funciones:
rectangular , rectangularfcc : crean una disposición de partículas dentro de un
contorno definido por dos lados verticales rectos y lados superior e inferior que pueden ser
rectos o definidos por una función cualquiera. La primera dispone a las partículas según una
red cuadrada, y la segunda según el plano (1 1 1) de una red fcc. Muestra, al igual que el resto
de las funciones, la disposición de partículas tras escribirla en el archivo. Ejemplo de una
disposición cuyo límite inferior es senoidal y el superior recto:
COMODYN - Manual de usuario Anexo A – 20
En primer lugar se define la función senoidal que delimitará la superficie inferior, y luego se
ejecuta la función.
x=[0:0.01:150]';
y=5*sin(0.1*x);
rectangularfcc(1,2,[0 20],[150 30],[x y],0,'ejrugos o.txt',-1,150);
Resultando:
Número de partículas en el rectángulo: 602.000000
prism , prismfcc : Semejante a las anteriores, pero referido a un prisma en lugar de a un
rectángulo (en 3D)
circulo , circulofcc : De forma similar a las anteriores, pero en este caso rellena una
corona circular (o un círculo completo si el radio interior de la corona es cero).
COMODYN - Manual de usuario Anexo A – 21
circular , circularfcc : En este caso es una corona semicírcular, cóncava o convexa, y
de la misma forma un radio interior nulo da lugar a semicírculos completos. En ambos casos el
diámetro del semicírculo es horizontal.
punta, punta3D, puntafcc : Permite crear una disposición de punta con forma de
triángulo isósceles, con la punta hacia abajo.
esfera, esférica : esfera es equivalente a circulo y esférica a circular pero en 3D (esferas
y coronas esféricas)
escribepos : A partir de una matriz de posiciones, crea las filas correspondientes en el
archivo especificado.
El formato de utilización es semejante en todos ellos, y sus peculiaridades están
detalladas en la descripción de cada función, por lo que el comando help será suficiente para su
uso. Ejemplo:
>> help circulo
Easy introduction of particles information for
COMODYN (COde for MOlecular DYNamics)
Author: Javier Munilla
Date: November,2007
Universidad Pontificia Comillas
Crea la disposición de partículas en forma de cor ona circular
circular(molec,centro,radios,archivo,bc,T,convexo ,SR)
espec = número de la especie a la que pertenecerá n las moléculas
molec = número que identifica las moléculas en la base de datos
centro = posición del centro de la corona circula r [x y]
radio = radio del circulo
archivo = nombre del archivo donde se guardará la info
bc = condiciones de contorno a usar. 1x5 en 2D 1x7 en 3D. Posibilidad de poner 0
para estáticas. si son libres poner -1
T= temperatura
convexo = 1 si es convexo (centro arriba), -1 al contrario
SR = indica si el cuerpo es sólido rigido (=1) o no lo es (=0)
COMODYN - Manual de usuario Anexo A – 22
Hace uso de la función rectangular.m
Dibuja en pantalla la distribución de partículas y las curvas que lo delimitan
Por último, también como información de las partículas existentes en la simulación,
está el apartado TIME DEPENDENCE OF BOUNDARY CONDITIONS, que hace referencia a
la forma en que varían las condiciones impuestas a las partículas o si éstas son constantes.
En primer lugar, deben aparecer líneas semejantes a esta:
bc_var(i).variable=true;
para todas las especies i existentes en la simulación, especificando si alguna de las partículas
de esa especie i tiene condiciones variables (= true) o si todas las de esa especie son
constantes o libres (= false)
A continuación, y ya sólo para las especies i que tengan condiciones dependientes del
tiempo (variables) las siguientes líneas:
bc_var(i).bcstep=500; bc_var(i).facInit=[1 1 0.015 -0.015]; bc_var(i).factors=ones(floor(maxstp/bc_var(i).bcste p),length(bc_var(i).facInit)); bc_var(i).factors(1,:)=[1 1 0.015 -0.002];
Donde bcstep indica cada cuantos pasos de producción deben actualizarse las
condiciones bc para las partículas de esa especie, facInit es el valor de las condiciones en el
comienzo de la simulación, factors es una matriz cuyas filas son las sucesivas condiciones a
cada paso de actualización. En este ejemplo concreto las condiciones iniciales serían [ 1 1
0.015 -0.015] y a partir del paso 500 de la fase de producción cambiarían a [ 1 1 0.015 -0.002 ].
Es importante señalar que, si las condiciones varían con el tiempo el número de filas de
la matriz factors debe ser suficiente para estar definidas las condiciones durante toda la
simulación, es decir, que en el ejemplo como se actualizan cada 500 pasos y factors sólo tiene
una línea, la longitud de la simulación no debe ser mayor de 1000 pasos de producción, pues en
caso contrario en el paso 1000 intentaría evaluar la segunda fila, pero ésta no existe. Si el
número de pasos es menor de 500, no daría error, pero no se llegaría a introducir la variación
de las condiciones.
Dentro de una misma especie no todas las partículas tienen porqué tener condiciones
especiales ni tampoco tienen porqué ser todas variables, para distinguir las variables de las
COMODYN - Manual de usuario Anexo A – 23
constantes y las libres, así como para facilitar la introducción de éstas, las partículas con
condiciones variables se deberán especificar en la introducción de datos como condiciones [1 1
1 1 1] en 2D y [1 1 1 1 1 1 1] en 3D. De esta manera, el código multiplica facInit y factors a
estos vectores para tener las condiciones reales de las partículas. Así, si se quiere que el
ejemplo anterior se aplique sobre las partículas contenidas en un rectángulo dado, siendo de la
especie i, se podría escribir:
rectangularfcc(i,2,[-3 102.5],[107 1],0,0,archivo,[ 1 1 1 1 1], 100,1);
mientras que podría haber otras de la misma especie que fuesen libres:
circularfcc(i,2,[50 100],[0 51.5],archivo,-1,100,1, 0);
Este método de vector unitario multiplicando a factores definidos podría entrar en
conflicto, en principio, con la posibilidad de que en una misma especie hubiese partículas con
condiciones variables y otras con condiciones constantes iguales a [ 1 1 1 1 1 ], es decir, que
afecten desde el equilibrado condiciones de fuerza externa igual a 1 tanto en x como en y. Sin
embargo habrá que tener en cuenta que:
- Una fuerza externa añadida = 1 es dos órdenes de magnitud mayor a la máxima fuerza
de atracción entre partículas según una interacción de Lennard-Jones, por lo que sería poco
realista utilizar una fuerza unitaria dadas las unidades que emplea el código.
- Por otro lado, si a pesar de ello la intención fuera realmente utilizar estas condiciones,
y fuera necesario mezclar en una misma especie estas partículas con otras con condiciones
variables, se tienen dos opciones; o bien imponer que sean variables y sus factores [ 1 1 1 1 1]
o bien dejarlas como constantes y de valor, por ejemplo [ 1 1 1 1 1.00001]. Esta segunda
opción es más sencilla de introducir y una variación de una millonésima en la fuerza externa
vertical no será apreciable en los resultados.
A3.b – Potencial
Dentro de la carpeta potenciales se encuentran las funciones que representan los
potenciales usados hasta el momento.
paso=0.05; nmolec=3; sig=zeros(nmolec,nmolec)+2.62;
COMODYN - Manual de usuario Anexo A – 24
eps=zeros(nmolec,nmolec)+4824; eps=eps.*1.38066e-5; sig12=sig.^12; sig6=sig.^6; npasospot=1+floor(rcut/paso); param=zeros(nmolec,nmolec,npasospot); for i=1:nmolec for j=1:nmolec for k=1:npasospot dis2i=1/(k*paso*k*paso); dis6i=dis2i*dis2i*dis2i; dis12i=dis6i*dis6i; param(i,j,k)=24*eps(i,j)*dis2i*(2.0*sig1 2(i,j)*dis12i-sig6(i,j)*dis6i); end end end
En esta función, que se ejecuta durante la etapa de inicialización, se evalúa y almacena
la variable global param, que contendrá, durante el resto de la simulación, el valor de la fuerza
derivada del potencial de interacción discretizada en segmentos de longitud paso en la
distancia entre partículas de cada tipo. En este caso de ejemplo se utilizarán hasta tres tipos de
especies diferentes, entre las cuales se supondrá un potencial de Lennard-Jones cuyos
parámetros son σ = 2.62 , ε = 4824.
En general param consiste en una variable con tres índices:
Los dos primeros índices, (i , j), hacen referencia al potencial de interacción de una
partícula de la especie i con otra de la especie j.
El tercer índice, k, se refiere al valor de la fuerza a una distancia k*paso entre las
partículas.
La forma de crear esta variable queda a voluntad del programador, siempre que se
tengan en cuenta los significados de los índices y que debe definir los valores del potencial con
una discretización suficientemente pequeña a todas las distancias posibles, esto es, desde
prácticamente distancia nula hasta la distancia rcut que representa la distancia a la cual se
supondrá interacción despreciable.
Al tratar el programa con una variable numérica, puede emplearse el método que se
desee para modelar la interacción entre partículas, incluyendo otro tipo de ecuaciones o lectura
de tablas de datos desde archivos, etc…
Con el fin de ahorrar memoria durante la ejecución, se recomienda no exceder en la
definición de param el número de especies existentes en la simulación.
COMODYN - Manual de usuario Anexo A – 25
Para la utilización de potenciales tipo Lennard-Jones en simulaciones en las que el
potencial de interacción sea el mismo para todas las partículas es particularmente sencilla la
creación de la función potencial, pues simplemente habría que dar a nmolec el número de
especies existentes y cambiar en la asignación de sig y eps los valores de 2.62 y 4824 por los
parámetros deseados.
A la hora de nombrar las funciones potenciales, se ha utilizado la siguiente convención,
que en el caso de ejemplo da lugar al nombre LJ2_Al3;
LJ2_Al3 indica que se trata del segundo potencial de Lennard-Jones que se ha utilizado
para modelar partículas de aluminio (según la bibliografía utilizada los parámetros son
diferentes, así se podrán comparar los resultados fácilmente), y que habrá como máximo 3
especies diferenciadas.
Se recomienda, para futuras referencias, incluir en la descripción de la función la
información detallada de la bibliografía utilizada para la obtención de los parámetros
empleados.
La función plot_LJ está pensada para ver el aspecto de la función potencial y fuerza
derivada de unos parámetros determinados en un Lennard-Jones, de esta manera escribiendo
plot_LJ(paso,rcut,sig,eps) se puede comprobar entre otras cosas si el paso es suficientemente
pequeño, si a la distancia rcut es realmente despreciable la interacción, cómo de grande es el
pozo de potencial, etc… antes de introducir estos parámetros en una simulación.
Una vez que tengamos creado o localizado el archivo potencial que vamos a utilizar,
habrá que escribir su nombre dentro del simfile, en el apartado FORCES:
% ************ FORCES ***************************** ************ % Name of the file with information about the poten cial between % particles potencial= 'LJ2_Al3' ;
A3.c – Simulación
El resto de los parámetros a emplear durante la simulación se detallan en cuatro
apartados diferenciados del simfile:
% ***** STOP AFTER INITIAL POSITIONS DRAWING ****** *********** justdraw=false;
COMODYN - Manual de usuario Anexo A – 26
La variable justdraw se emplea cuando simplemente se desee ver la situación inicial de
las partículas como comprobación de que sea según lo esperado, por ello se recomienda que,
tras preparar el simfile, pongamos la variable justdraw = trae, y de esta forma se visualizará
rápidamente un dibujo de la situación inicial a modo de comprobación, para después volver a
poner esta variable =false de forma que ya comience la simulación estando seguros de que se
ha introducido, al menos el instante inicial, correctamente.
El siguiente apartado contiene los parámetros necesarios para el algoritmo;
% ******* SIMULATION ****************************** ************ % Computational parameters about simulation % parameters maxeqb=0; % Number of time steps during equilibration maxstp=10000; % Number of time steps during production dt=1.0; % Size of time step (fs) rcut=15; % Neighbour threshold rnbr = rcut + 3.0; %Neighbour threshold % Intervals knbr=50; % neighbour list update interval kwriteEq=50; % writing interval during equilibration kwritePr=50; % writing interval during production kfoc=1; % Refresh interval for thermostats equilibration % Additional parameters lscale=1; % Flag to scale or not velocities lscalep=0; % Flag to scale or not velocities during production test_kolmogorov=15; % K-S test interval KS=0; % =1 if test_kolmogorov must be done % Neighbourhood method metnbr= 'mknbr' ; % Initial positions picture format metodo_dib_init= 'draw_init_bc' ; % Data reader function (Change just if data file ha s not standard format) lector_datos= 'std_reader' ;
Cada línea asigna un valor a una variable determinada, estando todas ellas comentadas
para su correcta interpretación. Es importante señalar que aunque algunas variables pueden ser
irrelevantes, como por ejemplo test_kolmogorov si KS=0, todas ellas deben aparecer asignadas,
COMODYN - Manual de usuario Anexo A – 27
aunque en este caso el valor de test_kolmogorov no será utilizado en ningún momento por el
programa.
Merece la pena describir con cierto detalle algunas de las variables de este apartado:
dt : Es el intervalo de tiempo (en femtosegundos) entre cada paso de cálculo. Valores
pequeños darán lugar a simulaciones más largas para un mismo tiempo “real” de simulación,
mientras que valores grandes permiten simular, para el mismo número de pasos de simulación,
un tiempo “real” mayor, pero la fiabilidad de los resultados se reduce. Es decir, si dt = 1.0 y se
ejecutan 10000 pasos de simulación, en realidad se verá la evolución del sistema a lo largo de
únicamente 10 -11 segundos. Para potenciales de tipo Lennard-Jones, se establece que el
intervalo de tiempo entre pasos debería ser, como máximo, [ BIND03 ] (Téngase en cuenta las
unidades, que sean consistentes)
εσ
48
2mt <∆
donde m es la masa de las partículas, y σ,ε los parámetros del potencial utilizado. En
caso de que haya varios tipos de partículas diferentes, se empleará como límite superior el
menor de los tiempos calculados para todas las partículas involucradas, incluyendo los
parámetros de interacción entre ellas. En este ejemplo de aluminio, para los parámetros
utilizados se tendría como tope ∆t < 37 fs, pero a efectos prácticos, es habitual imponer un
margen de un orden de magnitud para asegurar que no afecten errores debido a la
discretización de los pasos, por lo que no se recomiendaría, para aluminio en estas condiciones,
pasar de ∆t <= 4 fs.
rcut : Distancia a partir de la cual se establece que las partículas que se encuentren a
una distancia mayor no interaccionarán entre sí. Esto tiene sentido debido a que la curva de
potencial, y por tanto la de fuerza, tiende a cero a grandes distancias. Valores grandes de rcut
serán más exactos pero emplearán más tiempo de cálculo. Como valor estimado general, puede
ponerse un valor cuatro o cinco veces superior a la distancia de equilibrio entre dos partículas,
que en el caso del aluminio del ejemplo es aproximadamente 3 Å, por ello en el ejemplo rcut =
15.
COMODYN - Manual de usuario Anexo A – 28
rnbr y knbr : Debido a que la evaluación de los vecinos de cada partícula es una tarea
computacionalmente muy costosa, se han ideado diversos métodos para acelerarlo. Este código
emplea un algoritmo propuesto por Verlet (vease por ejemplo [GUTI01]). Consiste en asumir
que los vecinos con los que interactúa cada partícula no cambian rápidamente a lo largo del
tiempo, por ello se hace cada knbr pasos una lista de “vecinos potenciales”, que incluya todas
las parejas de partículas a distancias menores de rnbr, a partir de la cual se evaluará a cada
paso si entran dentro de la distancia de interacción rcut o no. Obviamente rnbr debe ser mayor
que rcut.
lscale y lscalep : Se tratan de variables booleanas que indican, si son ciertas o igual a la
unidad, que se debe realizar escalado de velocidades durante el equilibrado y la producción
respectivamente. Este escalado consiste en hacer que, para cada especie, la distribución de
velocidades de las partículas (salvo las que tengan condiciones de velocidad o sean estáticas)
sea como la distribución de Maxwell-Boltzmann a la temperatura correspondiente. La
diferencia entre el escalado durante las dos fases es que durante la producción se tiene en
cuenta la velocidad del centro de masas de la especie, y se reescalan las velocidades relativas a
él, mientras que en el equilibrado se tratan las velocidades absolutas (Se supone que en el
equilibrado el centro de masas permanece constante, que será cierto si se han colocado las
partículas cerca de su posición de equilibrio)
El siguiente apartado indicará si se deben utilizar condiciones periódicas de contorno;
% ****** PERIODIC BOUNDARY CONDITIONS ************* ************ % Values: 1 = pbc ; 0 = no pbc pbc_rejilla=1; side=[110 70]; % Uncomment for gas simulations % side=zeros(dim,1); % Vol=sum(Nespecies(:,1).*Nespecies(:,2)); % side=side+Vol^(1.0/dim);
pbc_rejilla será =0 si no se aplican condiciones periódicas de contorno, e =1 si deben
aplicarse. La variable side indica el tamaño de la caja de simulación, y será un vector de dos
elementos para 2D y tres elementos para 3D. La caja de simulación será el prisma definido por
el origen de coordenadas y el vector side. En este ejemplo se tendrían condiciones periódicas
COMODYN - Manual de usuario Anexo A – 29
de contorno aplicadas a un “prisma” (rectángulo por ser en 2D) con un vértice en [0 0] y el
opuesto en [110 70]. En caso de que la simulación sea de gases, el tamaño del volumen de
simulación vendrá dado por el volumen específico de las partículas en las condiciones de
presión y temperatura consideradas, por ello no sería realista imponer un volumen de caja
arbitrario y se recomienda borrar los % de las 4 últimas líneas de forma que calcule el volumen
apropiado, que en este caso tendrá lados iguales (será un cubo o un cuadrado). Una explicación
más detallada se puede encontrar en el capítulo 2.5
A continuación el apartado en que se indica si la simulación parte de cero o en su lugar
se trata de la continuación de otra simulación previa, lo cual permite por un lado continuar
simulaciones sin tener que repetir lo ya realizado y por otro hacer múltiples simulaciones que
comiencen igual sin tener que repetir ese tramo común varias veces.
% ***** JUST FOR SPLIT SIMULATIONS **************** ************ % Name of the previous output file, =0 otherwise archivoint= 'Hertz33' ; StepCont=100; concat=1; % If a simulation is continued, it will just proces s the production stage % ************************************************* ************
La variable archivoint debe contener el nombre del archivo de salida de la simulación
que queremos continuar, o debe ser = 0 si es una simulación nueva.
Tal y como se indica, en caso de continuar una simulación, sólo se procesarán los pasos
de producción, saltando el equilibrado. Es decir, la fase de equilibrado siempre debe realizarse
de una sola vez.
StepCont es el número del paso de producción guardado en la simulación anterior a
partir del cual comenzará la nueva simulación.
Hay que tener en cuenta que en el caso de continuar una simulación el contenido del
archivo posicionador es irrelevante, pues obtendrá esta información del archivo guardado en la
simulación previa.
Los resultados de salida serán la unión de las salidas de las dos partes si concat=1, es
decir que si primero se hacen 1000 pasos de equilibrado y 10000 de producción, guardando
COMODYN - Manual de usuario Anexo A – 30
cada 50 pasos, para luego continuar con otros 15000 a partir del paso 150, el fichero de salida
final contendrá 1000 pasos de equilibrado y 150*50+15000 = 22500 pasos de producción. Por
ello, se recomienda que el intervalo de guardado de datos entre pasos de producción sea el
mismo en todas las simulaciones consecutivas, de esta manera se podrá saber el número de
paso “real” al que pertenece cada “foto” del sistema. Por otro lado, si concat=0, el resultado de
salida será únicamente el intervalo de la producción de la última simulación, útil si se quiere
seccionar una simulación muy grande que de problemas de memoria.
Por último, aunque no necesariamente en este orden, viene el apartado en que se indica
si se trata de una única simulación de un grupo de simulaciones, que denotaremos como
simulación parámetrica, pues permite la realización de simulaciones con valores diferentes de
un parámetro “cualquiera” para ver su efecto.
% ******* PARAMETRIC SIMULATIONS ****************** *********** % For parametric simulations, isparam=true, ParamVa r is an %string with the name of the variable parameter. ParamNum is a %vect or which contains the values that ParamVar will have along %the simulatio ns isparam=true; ParamVar= 'StepCont' ; ParamNum=20:20:400; Como se indica en el propio comentario, en caso de querer hacer uso de esta
característica, isparam = true, ParamVar debe contener el nombre del parámetro que va a
variar y en ParamNum un vector con los sucesivos valores que debe ir tomando. En este caso
se harán 20 simulaciones en las cuales el valor de StepCont se irá incrementando desde 20 a
400 a intervalos de 20.
En este caso la salida del programa será un archivo normal de salida por cada
simulación, donde su nombre tendrá añadido el sufijo _p#, donde # es el número de
simulación.
A3.d – Ejemplo completo
Para crear una simulación consistente en dos semicírculos de partículas libres
dispuestos según una red fcc, en contacto con sendos focos térmicos a 100 K y presionados por
COMODYN - Manual de usuario Anexo A – 31
dos filas de partículas con condición de fuerza externa, que se comportan como un sólido
rígido, sin condiciones periódicas de contorno, etc…
(ver gráfico de la situación inicial)
se definiría mediante el siguiente simfile, llamado Hertz.m
COMODYN - Manual de usuario Anexo A – 32
function varargout = Hertz
% ******* JUST FOR SPLIT SIMULATIONS ************** *********** % Name of the previous output file, =0 otherwise archivoint=0; StepCont=0; concat=0; % If a simulation is continued, it will just proces s the production stage % ****** OUTPUT FILE ****************************** ********* % Desired name for the output file (ie 'results'). 0 for % standar-format name and outpath=./salidas/outpath fichsalida= 'Hertz' ; outpath= 'HertzPrueba' ; % ******* PARTICLES ******************************* ********** % Name of the file with information about positions and physic properties archivo= 'posHertz.txt' ; outpath=strcat( '.\salidas\' ,outpath, '\' ); archivo=strcat(outpath,archivo); mkdir(outpath); delete(archivo); rectangularfcc(1,2,[-3 102.5],[107 1],0,0,archivo,[ 1 1 1 0 -0.0005],100,1); rectangularfcc(3,2,[-1.5 100],[103 1],0,0,archivo,[ -2 1 0 0 0],100,0); circularfcc(3,2,[50 100],[0 51.5],archivo,-1,100,1, 0); circularfcc(4,2,[50 -6],[0 50],archivo,-1,100,-1,0) ; rectangularfcc(4,2,[-1.5 -9],[103 1],0,0,archivo,[- 2 2 0 0 0],100,0); rectangularfcc(2,2,[-3 -11.5],[107 1],0,0,archivo,[ 1 1 1 0 0.0005],100,1); clf(); % ******* PARAMETRIC SIMULATIONS ****************** ********** % For parametric simulations, isparam=true, ParamVa r is an string with the % name of the variable parameter. ParamNum is a vec tor which contains the % values that ParamVar will have along the simulati ons % isparam=false; ParamVar=0; ParamNum=0; % ****** STOP AFTER INITIAL POSITIONS DRAWING ***** ********** justdraw=true; % ******* FORCES ********************************** ********** % Name of the file with information about the poten cial between particles potencial= 'LJ2_Al4' ; % ****** SIMULATION ******************************* ************ % File with computational parameters about simulati on % parameters maxeqb=5000; % Number of time steps during equilibration maxstp=20000; % Number of time steps during production dt=1.0; % Size of time step (fs) rcut=15; % Neighbour threshold
COMODYN - Manual de usuario Anexo A – 33
rnbr = rcut + 3.0; %Neighbour threshold % Intervals knbr=50; % neighbour list update interval kwriteEq=50; % writing interval during equilibration kwritePr=5; % writing interval during production kfoc=5; % Additional parameters lscale=1; % Flag to scale or not velocities during equilib lscalep=0; % Flag to scale or not velocities during prod test_kolmogorov=15; % K-S test interval KS=0; % =1 if test_kolmogorov must be done % Neighbourhood method metnbr= 'mknbr' ; % Initial positions picture format metodo_dib_init= 'draw_init_bc' ; % Data reader function (Change just if data file ha s not standard format) lector_datos= 'std_reader' ; % ******* PERIODIC BOUNDARY CONDITIONS ************ ************ % Values: 1 = pbc ; 0 = no pbc pbc_rejilla=0; side=[110 70]; % Uncomment for gas simulations % side=zeros(dim,1); % Vol=sum(Nespecies(:,1).*Nespecies(:,2)); % side=side+Vol^(1.0/dim); % **** TIME DEPENDENCE OF BOUNDARY CONDITIONS **** ************ % i: especies' number % bc_var(i).variable: true if there are any bc vari able % bc_var(i).factors:[nStepsOfBcVarying*FactorsToMod ifyBc*5 (7 en 3D)] % bc_var(i).bcstep: Number of steps during producti on between bc refresh % bc_var(i).facInit:[bcvarespecies*5 (*7 en 3D)] In itial factors for bc(t) % particles with bc variables should have bc = [1 1 1 1 1] or [1 1 1 1 1 1 1] bc_var(1).variable=false; bc_var(2).variable=false; bc_var(3).variable=false; bc_var(4).variable=false; % ***** OUTPUT VARIABLES TO COMODYN *************** *********** varargout={ archivo,potencial,fichsalida,outpath, p bc_rejilla,archivoint, maxeqb, maxstp, dt, rcut,rnbr, knbr, kwriteEq, kwri tePr, kfoc, lscale, lscalep, test_kolmogorov,KS, lector_datos,metodo_di b_init, justdraw, bc_var,side, metnbr };
COMODYN - Manual de usuario Anexo A – 34
Se ejecutaría con el siguiente comando: Comodyn(‘Hertz’)
Este simfile devolvería el gráfico anterior e indicaría el total de partículas en cada una
de las disposiciones empleadas, así como el número de partículas total de la simulación, que
resulta ser 1221. Si el gráfico reproduce la situación esperada, se procedería a cambiar la línea
justdraw=true; por justdraw=false; con lo que la próxima vez que se ejecute realizará la
simulación.
A4. Tratamiento de datos
En esta sección se detallará el formato de salida de datos de COMODYN, así como las
funciones que contiene para su análisis y el procedimiento para crear nuevas funciones según
se precise.
A4.a – Formato de salida
Como ya se ha mencionado, los resultados quedan almacenados en un archivo .mat
cuyo nombre y ubicación se especifican en el simfile , si no se especifica se da el nombre un
nombre por defecto según el nombre del simfile, o del archivo de salida de la simulación previa
si se trata de una continuación, dentro de la carpeta salidas, quedando en estos casos:
out_simfile.mat , salidaprevia2.mat
Dentro de este fichero estarán las siguientes variables:
MatInit : Contenido del archivo de texto que define las características geométricas y materiales
de las partículas al inicio de la simulación. (véase A2.b)
MatEq, MatPro : Matrices de tres dimensiones (i,j,k) donde los índices indican:
i : 1 - 2 (1 - 3 en 3D) -> posición de la partícula j en el momento k
3 - 4 (4 - 6 en 3D) -> velocidad de la partícula j en el momento k
j : índice de cada partícula
k : Índice desde 1 hasta el número de pasos guardados en cada fase
Así, las dimensiones son [ 2D x N x NumPasosGuardados ]
COMODYN - Manual de usuario Anexo A – 35
kwriteEq , kwritePr . Intervalo de pasos de simulación entre salvado de datos, en las fases de
equilibrado y producción
bc_var : Estructura que contiene la información sobre cómo varían las condiciones impuestas a
las partículas. (véase A3.a, sección sobre condiciones variables)
pbc_rejilla , side : pbc_rejilla= 1 si se han utilizado condiciones periódicas de contorno. side
contiene el tamaño de la caja de simulación empleada.
maxstp : Número de pasos de producción a calcular en la simulación
Esta última variable podría parecer redundante, pues ya se sabe a partir de las
dimensiones de MatPro y kwritePr este valor. Sin embargo se ha añadido debido al hecho de
que, por motivos de seguridad, el programa realiza tres volcados de datos durante la ejecución,
a saber:
- A mitad del equilibrado
- Al finalizar el equilibrado
- A mitad de la producción
Aparte, obviamente, del guardado completo tras finalizar la producción que es el momento en
que termina la simulación.
Por ello se almacena aparte la variable maxstp, como forma de comprobación de si la
simulación ha llegado hasta el final correctamente o si por algún motivo, tanto de la simulación
como del ordenador donde se ejecuta o incluso falta de suministro eléctrico, se ha interrumpido
y el archivo de salida está incompleto (Incompleto pero seguramente útil, pues no se pierde el
tiempo empleado ni los resultados hasta el punto del último guardado y se puede continuar a
partir de ahí)
COMODYN - Manual de usuario Anexo A – 36
Estos puntos de guardado se corresponden con los momentos en que se hacen las
estimaciones del tiempo restante de simulación.
A4.b – Funciones existentes
De forma similar a lo que ocurría con las funciones de la carpeta posicionadores, las
funciones para el tratamiento de datos son semejantes entre sí, y están recogidas en la carpeta
POSTRATAMIENTOS. No obstante, cuando se utilicen funciones para la realización de
cálculos muy específicos para una configuración determinada, se recomienda almacenar las
funciones creadas en subcarpetas o bien directamente en la ruta en la que se encuentren los
archivos de salida sobre las que serán de aplicación, de forma que sea más sencilla la
localización de las funciones genéricas. A continuación se detallan las características de
algunas de las funciones de tratamiento de datos, pero para la sintaxis de uso se emplaza a la
utilización del comando help.
draw_bc : Dibuja las partículas con diferentes colores según las condiciones que
posean; las libres serán de color verde, las estáticas rojas, los focos azul claro y las de
condiciones de fuerza o velocidad azul oscuro. Permite la creación de un video formado por las
gráficas a cada paso guardado en el archivo de salida, al igual que la mayoría de estas
funciones.
draw_molec : Dibuja las partículas con diferentes colores según el tipo de partícula que
sean.
draw_especie : Dibuja las partículas con diferentes colores según el número de especie
a la que pertenezcan.
draw_init_bc : Como draw_bc pero pensado para dibujar la situación inicial, de modo
que no lee de fichero, si no que recibe los datos necesarios como entrada de la función. En
principio no es ejecutada directamente por el usuario, si no por la función core cuando en el
simfile se especifique justdraw=true.
COMODYN - Manual de usuario Anexo A – 37
draw_slip : Dibuja las partículas con diferentes colores según la asimetría respecto a
una red fcc ideal. Lo calcula evaluando la diferencia entre las distancias a primeros vecinos
respecto al valor teórico. Útil para diferenciar fronteras de grano, dislocaciones, vacantes y
defectos en general, tanto de manera estática como para ver el movimiento de estos defectos o
dislocaciones a lo largo de la simulación.
draw_1sym : Como draw_slip, pero empleando un algoritmo de cálculo potencial en
lugar de lineal, marcando más el parámetro de asimetría entre las posiciones reales de las
partículas y las ideales según la red fcc.
draw_temp y draw_1temp : Dibujan las partículas con diferentes colores según la
energía cinética puntual o local. Se diferencian en que draw_temp dibuja según un rango de
colores entre el mínimo y el máximo de la fase completa (equilibrado y producción) mientras
que draw_1temp calcula este rango de colores en todos los pasos de forma independiente.
find1_nbr y findAll_nbr : Más que funciones de tratamiento de datos en sí mismas se
tratan de funciones de apoyo, empleadas por ejemplo en draw_slip y las draw_temp.
Devuelven para cada partícula los índices de las partículas vecinas así como las distancias entre
ellas, ordenadas de más a menos cercanas.
plot_freeT : Devuelve una gráfica en la cual en el eje horizontal están los pasos de
simulación y en el vertical la temperatura media de todas las partículas libres existentes en la
simulación.
draw_veloc : Devuelve histogramas de los valores del módulo de la velocidad y de las
componentes en cada una de las coordenadas para todas las partículas libres de la simulación,
permitiendo ver en primera aproximación si efectivamente se distribuyen según una
distribución de Maxwell-Boltzmann, como sería de esperar.
COMODYN - Manual de usuario Anexo A – 38
A4.c – Creación de nuevas funciones
A partir de las funciones anteriores, realizando una copia y modificándola se pueden
obtener fácilmente otras funciones para el análisis de las simulaciones desde otras perspectivas.
En cualquier caso, y dado el formato de salida del código, se recomienda comenzar
estas funciones utilizando la función std_post, teniendo en una sola línea toda la información
recopilada de la simulación, incluyendo todas estas variables, que ya han sido explicadas
anteriormente:
Nespecies,distrespecies,MatInit,matriz_bc,bc_especies,numpbc,dim,numespecies,N,Numfocos,listfoc,MatEq,MatPro,kwriteEq,kwritePr,pbc_rejilla,side,masa,StepsPro,StepsEq,bc_var
Sin embargo, para simulaciones muy largas o si hay limitaciones de memoria y no se
precisan todas las variables para la función en cuestión, se pueden recoger los datos según se
precisen mediante la función load, (e ir quitándolas con la función clear cuando no se vuelvan
a necesitar) de este modo, aunque más laborioso, se optimiza la cantidad de memoria utilizada.
COMODYN - Manual de usuario Anexo A – 39
A5. Rendimiento y ejecución del código
En este capítulo se pueden encontrar ejemplos de simulaciones realizadas, tiempos de
ejecución y una recopilación de los consejos y precauciones a tener en cuenta, algunos de ellos
ya mencionados en los apartados correspondientes.
Las simulaciones que siguen se han realizado sobre MATLAB r2007a, con Windows
XP SP2, en un equipo con procesador Intel Core2Duo E6600; con dos núcleos a 2.4 GHz y
2GB de RAM.
Se ha comprobado que el código (o matlab) no aprovecha la arquitectura de doble
núcleo del procesador aún activando la casilla correspondiente de multithreading, pero
abriendo dos procesos de MATLAB de manera simultánea y asignando cada uno a uno de los
núcleos se pueden realizar 2 simulaciones en paralelo consumiendo prácticamente el mismo
tiempo que en ejecutar uno solo. Para ello se recomienda cerrar todos los programas y procesos
posibles que se estuvieran ejecutando, así como la conexión a internet, dejando el ordenador
procesando únicamente las simulaciones. Por otro lado, si se ejecuta una sola simulación, el
tiempo empleado apenas se ve afectado por la utilización de otros programas simultáneamente.
Con esta configuración una simulación de 10000 pasos con unas 1200 partículas dura
aproximadamente 35 minutos, y se debe tener en cuenta que:
- El tiempo empleado para iguales condiciones es lineal con el número de pasos
(doble de pasos en doble de tiempo, etc…)
- El tiempo empleado en cada paso del equilibrado y de la producción es semejante.
- El tiempo de cálculo crece de manera potencial con el número de partículas
En caso de que la simulación devuelva resultados desalentadores o errores, se sugieren
una serie de comprobaciones:
- Aunque la función comodyn ya se encarga de ello, si lo primero que se ejecuta tras
abrir matlab es alguna función de postprocesado, debemos añadir a la ruta (path) de
COMODYN - Manual de usuario Anexo A – 40
matlab todas las carpetas de COMODYN, para ello desde el directorio principal del
programa se debe teclear:
addpath(genpath(‘.\’));
- El código está pensado para la simulación de más de una partícula, y teniendo en
cuenta que habrá, como mínimo, una partícula libre.
- No se permite la simulación de potenciales que no sean entre pares y únicamente
dependientes de la distancia. Éstos son los casos más habituales con diferencia, pero
para la ejecución de otros potenciales que, por ejemplo, dependan de las
velocidades, serían necesarias otras modificaciones que por su mayor peso que no
se encuentran recogidas en esta guía.
- Al posicionar las partículas en su situación inicial hay que asegurarse de que no
haya partículas extremadamente juntas, pues la fuerza de repulsión inicial puede
hacer “estallar” la configuración. De la misma manera, es importante asegurarse de
que no haya partículas duplicadas, esto es, dos o más en la misma posición. Esto
puede ocurrir, por ejemplo, si no se tiene en cuenta que las funciones
posicionadoras no borran el contenido del archivo en que almacenan los datos, si no
que añaden la información a continuación de la existente. (véase apartado 3.a)
- Asegurarse de que las condiciones impuestas de fuerzas y velocidades son
adecuadas y físicamente realistas, para ello es importante tener siempre en cuenta
las unidades empleadas en el código, ya que por ejemplo un “inocente” valor de
velocidad constante de 0.01 indica en realidad 1 km/s, aunque no lo aparente al
avanzar únicamente 10 Å cada 1000 pasos si está configurado ∆t = 1.0
(femtsegundos)
- El potencial utilizado debe estar definido para tantas especies como existan en la
simulación, así como para sus posibles combinaciones. Un posible error sería
definirlo para interacciones entre partículas de la especie 1 y de la especie 2 entre
COMODYN - Manual de usuario Anexo A – 41
ellas mismas, pero quedando potencial nulo para la interacción entre las de 1 con 2,
o las de 2 con las 1.
- La variable estructurada bc_var debe contener en su campo variable un valor lógico
para todas las especies existentes, aunque éstas estén compuestas de partículas
libres o de condiciones constantes. Es decir, si hay 2 especies diferentes de
partículas libres, no deben faltar las líneas bc_var(1).variable = false;
bc_var(2).variable = false;
El resto de los campos para las especies que no tengan condiciones variables sí que
puede omitirse.
- Conviene tener siempre presente la temperatura del sistema pues podrían estar
teniendo lugar cambios de fase a causa del trabajo introducido a través de las
condiciones impuestas a las partículas o a la propia adhesión de partículas en una
red cristalina, etc… Para ello se dispone, aparte de las funciones específicas de
temperaturas locales y puntuales (más precisas pero algo lentas), de la función
plot_freeT que muestra rápidamente la evolución de la temperatura media de las
partículas libres del sistema a lo largo de la simulación.
- Para obtener simulaciones consistentes y veraces, tener siempre en cuenta los
parámetros de simulación, paso de tiempo, longitud de vecindad, etc… que se han
detallado en A3.c
- La creación de determinados videos como los de temperaturas o asimetría puede
tardar varios minutos cada uno, y durante ese tiempo la ventana gráfica no debe
taparse por otros programas, por lo que se recomienda dejar que se hagan mientras
no se está haciendo uso del ordenador, desactivando el salvapantallas, y, si se va a
dejar durante mucho tiempo así, apagando la pantalla.
- Deben tenerse muy en cuenta las consideraciones sobre las partículas y especies
mencionadas al final del apartado A2.b
COMODYN - Manual de usuario Anexo A – 42
- Cuando se utilicen focos, todas las partículas de cada foco deben pertenecer a la
misma especie, y cada foco a una especie diferente, aunque no es necesario que
todas las partículas de la especie formen parte del foco.
- La simulación puede contener tantas especies como se desee, pero los números que
las identifican deben comenzar en 1 y ser consecutivos.
- En el caso de que quieran guardarse un número de pasos demasiado elevado puede
dar lugar a insuficiencia de memoria (Out of memory) al no poder tratar Matlab con
matrices tan grandes (MatEq y MatPro), en ese caso se recomienda actuar de la
siguiente manera: Partir la simulación en diferentes trozos, dando valor concat=0 al
final de la función core. De esta manera se almacenará en el archivo únicamente los
puntos de la producción de ese tramo. Se deja la introducción del parámetro concat
a los simfiles para la siguiente versión de comodyn por motivos de compatibilidad
con el formato de entrada de datos actual.
- El código actualmente no permite la modificación de partículas durante la
simulación, ya sea durante la ejecución o como continuación de una simulación
anterior, esta limitación incluye tanto la adición como la eliminación de partículas
del sistema, es decir, deben estar presentes en toda la simulación todas las partículas
iniciales y ninguna más.
COMODYN - Manual de usuario Anexo A – 43
A6. Bibliografía del anexo
[BIND03] Molecular dynamics simulations. K. Binder et al. 0308148 Condensed
matter, arXiv.org
[KEFF02] The working person´s guide to molecular dynamics simulations. D.
Keffer. Univ. Tennessee, 2002.
[GUTI01] Elementos de simulación computacional. G.Gutiérrez. Univ. Santiago
de Chile, 2001
[MUNI08] Caracterización mecánica de sólidos nanométricos mediante
dinámica molecular. J.Munilla, ICAI, UPCO, 2008
[PRES07] Modyco. Aplicación de dinámica molecular. G. Presa, ICAI, UPCO,
2007
[RAPA04] The art of molecular dynamics simulation. D.C.Rapaport. Cambridge
Univ. Press 2004.
[URRU03] Cálculo de propiedades estructurales y dinámicas de metales líquidos
por medio de simulación computacional. E. Urrutia. Univ. De Sonora, 2003.