autorizada la entrega del proyecto al alumno: javier ... · elástico y plástico. más aún, la...

203
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:

Upload: others

Post on 30-Apr-2020

0 views

Category:

Documents


0 download

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

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

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.