cristalografía computacional: aplicaciones para análisis … · uno de los mayores problemas que...
TRANSCRIPT
CENTRO DE INVESTIGACIÓN EN MATERIALES AVANZADOS
Cristalografía computacional:
Aplicaciones para análisis de patrones bidimensionales de difracción
TESIS COMO REQUISITO PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIA DE LOS MATERIALES
Presenta:
Edgar Eduardo Villalobos Portillo
Director interno:
Luis Edmundo Fuentes Cobas
Director externo:
Luis Fuentes Montero
CHIHUAHUA, CHIH. SEPTIEMBRE, 2015
2
Índice
Resumen ............................................................................................................. 3
a. Motivación y Justificación ......................................................................... 5
b. Hipótesis .................................................................................................. 6
c. Objetivo Principal...................................................................................... 7
d. Objetivos Particulares .............................................................................. 7
Fundamentos ..................................................................................................... 8
a. Luz Sincrotrón ......................................................................................... 8
b. Fundamentos de difracción-dispersión de rayos-X ............................... 14
c. Picos de difracción ................................................................................ 18
d. Dispersión atómica y los factores Debye-Waller ................................... 21
e. Difracción: Intensidades de los picos .................................................... 22
f. Difracción de haz rasante ...................................................................... 27
g Textura .................................................................................................. 29
h. Diferencias entre Bragg-Brentano y haz rasante .................................. 31
i. Fundamentos de ANAELU .................................................................... 35
Descripción de la forma de trabajo ................................................................ 38
Descripción de la creación de la interfaz gráfica para el programa ANAELU ....... 40
a) Visualización del patrón DRX experimental .......................................... 40
b) Visualización del patrón DRX calculado ............................................... 41
c) Lectura de ficheros de parámetros y datos cristalográficos .................. 42
d) Datos en pantalla .................................................................................. 43
e) Escritura de ficheros ............................................................................. 47
f) Intercambio de ficheros entre diferentes lenguajes .............................. 48
g) Menús ................................................................................................... 50
h) Facilidades para el usuario ................................................................... 51
Conclusiones ................................................................................................... 54
Bibliografía ....................................................................................................... 55
3
Resumen
El trabajo desarrollado consiste en la ampliación y optimización
de aplicaciones para programas de cristalografía, mediante el uso de diferentes
lenguajes de computación para mejorar y facilitar la lectura y manejo de patrones
bidimensionales. En particular se logró hacer más rápido e intuitivo el manejo del
programa ANAELU (Analytical emulator Laue Utility). Esto se realizó creando una
nueva interfaz gráfica para el programa ANAELU, la cual es sencilla y poderosa,
además de tener la capacidad de ser amigable y familiar hacia el usuario desde el
primer momento que se abre el programa. Ahora es posible alimentar los datos de
entrada más fácilmente y es capaz de realizar una lectura de diferentes tipos
ficheros de entrada.
Se ha hecho eficiente la manera en la cual el usuario puede comparar los patrones
experimental y calculado, ya que ambos patrones abarcan casi toda la pantalla y
los datos de entrada están a la vista para modificarlos y recalcular la imagen
calculada a fin de empatarla con la del experimento.
Este trabajo empalma en la tendencia actual de desarrollo de detección-
procesamiento de datos de difracción-dispersión de rayos x, electrones y
neutrones. La detección bidimensional, ampliamente utilizada hace 50 años en
configuraciones de placas fotográficas, había caído prácticamente en desuso ante
la proliferación de difractómetros en geometría unidimensional tipo Bragg-
Brentano. Además el creciente desarrollo de sistemas electrónicos de detectores
bidimensionales tipo dispositivo de carga acoplada (CCD) está dando lugar a un
fuerte renacimiento de los experimentos de 2D-XRD. Con éstos se aprovecha la
dispersión de los rayos x en todas direcciones y no solo en una línea como se
hace convencionalmente.
4
Con la creación e implementación de nuevos detectores y sistemas de detección.
Así como la creciente línea de caracterización de materiales por medio de luz
sincrotrón, la cual en muchos casos es posible hacer mediciones difracción-
dispersión bidimensionales (Kvick and Wulff 1992; Budai, Yang et al. 2003), nace
la necesidad de la creación de programas de computación capaces de leer y
analizar en detalle estos patrones en forma de anillos.
Pero no solo la comparación de patrones, como lo hace el paquete comercial
XRD2DScan (Rodríguez-Navarro 2006), el cual maneja una base de datos de
difracción para la identificación de fases. Fue necesario crear un programa que
sea capaz de hacer una modelación del patrón de difracción de rayos-X. Para
crear infinitas posibilidades de comparación y retroalimentacion.
5
Introducción
a. Motivación y Justificación
En la actualidad existe una gran demanda de programas de computación
sobre cristalografía y en especial sobre difracción de rayos X de detectores
bidimensionales. No existe una gran oferta de programas capaces de realizar el
análisis de un patrón de difracción bidimensional y modelarlo, mucho menos uno
que sea de fuente abierta, sencillo de utilizar, accesible, rápido y sobre todo
versátil. Dos de los programas representativos en este campo, Fit2D y ANAELU,
pueden ser perfeccionados. Fit2D no es de código abierto y no permite la
modelación de patrones teóricos. ANAELU es superior a Fit2D en el sentido de
que sí permite la modelación, incluidos los efectos de textura y tamaño pequeño
de cristal. Solo que era relativamente lento en su cálculo de difractogramas 2D,
hasta antes de reprogramarlo de Visual Basic a Fortran 95.
Uno de los mayores problemas que tenía anteriormente era que se contaba con
registro reducido de formatos para la entrada de datos siendo incapaz de leer los
ficheros tipo “mar”, el cual es uno de los formatos más utilizados en la práctica
diaria.
Las limitaciones de los códigos mencionados generaron la necesidad de
aplicaciones más completas y accesibles al público en general en un solo
programa de computación.
Los resultados de esta tesis obtuvieron su expresión final en forma de una interfaz
gráfica para el programa ANAELU. Esta interfaz contiene comandos amistosos
para efectuar los cálculos mencionados y trabajar de manera más rápida que la
versión presente (publicada) de ANAELU.
6
b. Hipótesis
La simulación computarizada de patrones DRX bidimensionales, incluyendo
efectos de textura, conforma una poderosa herramienta para la interpretación de
estos patrones. Con esta herramienta se puede lograr una caracterización
detallada y confiable de la estructura de sistemas nanométricos.
7
c. Objetivo Principal
La modelación teórica del fenómeno de difracción policristalina con
detección bidimensional, asistida por computadora, es factible de ser convertida
en una herramienta idónea para caracterizar la microestructura de policristales
texturados. Los programas desarrollados con el propósito mencionado, disponibles
hasta hoy, son significativamente perfectibles con la combinación de diferentes
lenguajes de computación.
d. Objetivos Particulares
Refinar y ampliar el programa ANAELU de modelación de DRX-2D.
Particularmente crear una interfaz gráfica (GUI) rápida, amigable, intuitiva y capaz
de:
Leer ficheros de datos experimentales de detectores 2D diversos
Permitir el análisis preliminar de datos
Aplicar calibraciones instrumentales
Diferentes formatos de visualización para la modificación de
datos de alimentación
Mostrar los patrones 2D en diferentes escalas y con diferentes
códigos de colores
El programa principal de la GUI será escrito en lenguaje Python.
Intercambiar datos con programas de cálculo y modelación
escritos en Python, Fortran y C.
El programa se pondrá a prueba mediante su aplicación en casos reales y la
comparación con resultados de otras técnicas.
8
Fundamentos
a. Luz Sincrotrón
Un sincrotrón es un acelerador de partículas cíclico en el cual el campo
eléctrico (acelerador) y el campo magnético (deflector) están sincronizados para
asegurar que las partículas (generalmente electrones, positrones) sigan una
trayectoria geométrica y energética determinada.
Fig. 1.1 Esquema de un sincrotrón y sus principales partes.
Fig. 1.1 muestra esquemáticamente un sincrotrón. Es un instrumento enorme, con
un tamaño comparable al de un estadio. La construcción de un sincrotrón cuesta
de cientos, a miles millones de pesos y cada canal (beamline) cuesta alrededor
de otros treinta o cuarenta millones de pesos cada uno. El corazón de un
sincrotrón él es anillo de almacenamiento (storage ring), donde un haz de
electrones con velocidades cercanas a la de la luz, describen un movimiento de
tipo circular. La trayectoria curva es producida por el campo magnético. De
acuerdo a las leyes de la electrodinámica, una carga acelerada emite radiación
9
electromagnética. En un sincrotrón, la aceleración centrípeta genera un haz
extremadamente intenso de luz sincrotrón que es emitida tangencialmente al
anillo. Dentro de los rangos normales de operación de un sincrotrón, la radiación
típica va desde el ultravioleta (1016 Hz) hasta los rayos-x (1018 Hz).
Con la ayuda de la Fig. 1.1 podemos describir de manera simple el modo de
operación de un sincrotrón. Los elementos numerados del 1 al 6 se encuentran a
alto vacío. El proceso comienza en la fuente de electrones al final del acelerador
lineal (1: LINAC). En esta sección los electrones adquieren energías del orden de
100 MeV. La segunda fase de aceleración toma lugar en el amplificador (2:
booster), donde la energía aumenta en orden de GeV y la velocidad alcanza
valores aproximados a 0.99999995c (c = velocidad de la luz). Al adquirir esta
velocidad los electrones son inyectados al anillo de almacenamiento (3: storage
ring), donde los imanes deflectores (4: bending magnets) guían a los electrones en
la trayectoria planeada.
Cualquier curvatura en la trayectoria genera luz sincrotrón. El electrón pierde
energía en este proceso. Los sistemas de radio frecuencia (5: RFS) realizan
trabajo físico en el haz de electrones, restaurando la energía perdida en el proceso
anterior.
Dentro del anillo de almacenamiento, debido a la absorción y difracción de los
electrones debido a las pocas partículas remanentes dentro del alto vacío, la
población de los electrones circulando decrece con el tiempo. Es por esto que los
sincrotrones son periódicamente recargados, al menos dos veces al día.
Históricamente, la primera generación de sincrotrones fue creada para el estudio
elemental de partículas, por ejemplo a través de colisiones entre electrones y
positrones. En estos procesos la luz sincrotrón fue considerada “una molestia” ya
que representaba una pérdida de energía que se podía aprovechar para la
investigación de dichas partículas. Pronto los investigadores se dieron cuenta que
los sincrotrones podían ser una importante fuente de rayos-X, la cual podía ser
utilizada para estudiar la estructura de la materia, y fue entonces que llego la
10
segunda generación de sincrotrones durante los 70's y 80's. Estos sincrotrones
generaban rayos-X por medio de los imanes deflectores. La tercera generación
(90’s) nació con la introducción de los dispositivos de inserción, los llamados
“wigglers y onduladores” (Fig. 1.1 sección 6), con lo cual ayudo a que el flujo de
fotones aumentará considerablemente.
Fig. 1.2 esquema de un ondulador.
Los dispositivos de inserción son colecciones de electroimanes insertados en las
secciones rectas del anillo de almacenamiento. Estos imanes son colocados con
polaridad alternada de modo que obligan al haz de electrones a moverse a través
de una trayectoria de balanceo o “zig-zag”. Esta oscilación genera luz sincrotrón.
Los “wigglers” producen un haz intenso de fotones con un espectro de energía
muy amplio. En los onduladores, la frecuencia de oscilación está diseñada de
manera que la interferencia asociada con ciertas frecuencias produzca un refuerzo
importante de las intensidades. Por lo que con esto se produce una intensidad
muy alta, en un rango de frecuencia muy estrecho. Fig. 1.2 muestra
esquemáticamente la operación de un ondulador y la figura 1.3 compara
esquemáticamente el brillo de los imanes deflectores, los onduladores y los
“wigglers”.
11
Fig. 1.3 Esquema comparativo entre los diferentes métodos de estimulación de luz sincrotrón,
La radiación intensa del haz producido por el sincrotrón emerge tangencialmente
del anillo de almacenamiento y es usada en la investigación por medio de las
cámaras de investigación (beamlines Fig. 1.1 sección 7).
Fig. 1.4 ejemplo de la trayectoria de un haz de luz sincrotrón hasta el detector.
Bending magnets
Wigglers
Undulators
0.1 1 10 100
1E10
1E11
1E12
1E13
1E14
1E15
1E16
1E17
1E18
1E19
1E20
Bri
ghtn
ess (
photo
ns/s
ec/m
m2/m
rad
2/0
.1%
bandpass)
Photon energy (keV)
Bending magnets
Wigglers
Undulators
0.1 1 10 100
1E10
1E11
1E12
1E13
1E14
1E15
1E16
1E17
1E18
1E19
1E20
Bri
ghtn
ess (
photo
ns/s
ec/m
m2/m
rad
2/0
.1%
bandpass)
Photon energy (keV)
12
Un beamline consiste de:
a) Cuarto de óptica (Optical hutch), donde el haz es modificado a las
necesidades de la investigación. Por ejemplo el lado izquierdo de la Fig. 7.4
muestra un sistema de enfoque y un monocromador.
b) Cuarto experimental (Experimental hutch), donde se realiza el experimento
en si, por ejemplo un difractometro de alta resolución (Fig. 7.4)
c) Estación de trabajo (Work station), se encuentra la computadora para el
control numérico del experimento y la recolección de datos de salida.
http://www.aps.anl.gov/
http://www-ssrl.slac.stanford.edu/
European Synchrotron
Radiation Facilitywww.esrf.eu
SPring-8
www.spring8.or.jp/
http://www.aps.anl.gov/
http://www-ssrl.slac.stanford.edu/
European Synchrotron
Radiation Facilitywww.esrf.eu
SPring-8
www.spring8.or.jp/
13
La Fig. 1.5 muestra vistas aéreas de algunos sincrotrones de tercera generación.
Al día de hoy existen sincrotrones de cuarta generación, que como se comentó
anteriormente tienen un flujo de haz mayor que los de tercera generación, debido
al arreglo para amplificar la intensidad de la radiación por medio de interferencias
constructivas.
Las características principales de la luz sincrotrón son:
Alto brillo y alta intensidad, varios ordenes de magnitud más que los rayos-x
producidos por los tubos de rayos-x convencionales.
Gran colimación, es decir el haz posee un ángulo pequeño de divergencia.
Baja emitancia , es decir, el producto de la sección transversal de origen y
el ángulo sólido de emisión es pequeña
Ampliamente ajustable en energía/longitud de onda por medio de la
monocromatización (de eV a MeV).
Alto nivel de polarización (lineal o elíptica).
Emisión del haz en pulso (los pulsos son del orden de nano segundos o
menor).
Algunos usos de la luz sincrotrón son:
Análisis estructural de materiales cristalinos y amorfos.
Análisis de difracción de polvos.
Cristalografía de proteínas y otras macromoléculas.
Dispersión magnética.
Difracción de rayos-x de haz rasante.
Espectroscopia de absorción de rayos-x.
Dispersión inelástica de rayos-x.
Tomografías.
Imagen de rayos-x por contraste de fase.
Fotolitografías para sistemas microeletromecanicos.
Estudios de alta presión.
14
Análisis de stress residual.
Difracción de rayos-x múltiple.
Los investigadores interesados tienen acceso a un buen número de sincrotrones,
donde pueden ir con sus muestras a realizar experimentos. El investigador escribe
una propuesta, un panel de científicos evalúa la calidad de la propuesta y cuando
la propuesta es aprobada, se asigna un tiempo determinado en el beamline. Cada
sincrotrón tiene su página de internet con los requisitos y ayudas para aplicar para
tiempo en el sincrotrón.
b. Fundamentos de difracción-dispersión de rayos-X
Ley de Bragg, red recíproca y la representación de Ewald.
La condición básica necesaria para la manifestación de un pico en
difracción de rayos-X es la conocida ley de Bragg:
BhB dnd sin2sin2 (1.1)
Donde dh = d/n es la distancia interplanar asociada con el máximo de difracción
considerado (ej. d200 = d100/2), n es el orden de reflexión, ӨB es el ángulo de
Bragg y λ es la longitud de onda del haz.
Vamos a introducir la descripción de la condición de Bragg en el espacio
reciproco o espacio de Fourier. La base reciproca {bi} (i = 1, 2, 3) correspondiente
a la base directa {ai} está definida por:
aaa VVV
213
132
321 2;2;2
aab
aab
aab
(1.2)
15
Va = a1a2a3 es el volumen de la celda en el espacio directo. La orientación de
los vectores bi está fuertemente ligada a los de ai. ¿La escala usada para
representar a bi en un diagrama del espacio directo es convencional?
Cada nodo del espacio reciproco i
iih hbB (- <hi < ) describe una familia
de planos en el espacio directo del cristal: a) los vectores recíprocos caracterizan
la orientación de los planos cristalinos [el vector Bh siempre es normal a la familia
h= (h1 h2 h3)]. b) la distancia interplanar para la familia h está dada por el inverso
del módulo asociado al vector reciproco
hhd
B2 .
Fig 1.6 muestra una familia de planos cristalinos orientados de acuerdo a la condición de Bragg.
El haz incidente y el difractado están caracterizados respectivamente por su vector
de onda k0 y k, ambos de módulo 2/λ. Es fácil demostrar que la ley de Bragg, en
términos de los llamados vectores de dispersión Q k = k – k0, puede ser escrita
de la siguiente forma:
hBQ . (1.3)
d
k = 2/
d
Q k
-k0
k0 k
d
k = 2/
d
Q k
-k0
k0 k
16
Demostración: suponga la ecuación anterior como válida (1.3). Los módulos de los
vectores involucrados:
hdk
2sin
4sin2 Q
(1.4)
sin2 hd (Ley de Bragg). (1.4a)
Fig. 1.7 Representación de la esfera de Ewald.
Para visualizar geométricamente la ecuación (1.3) hay que considerar la
construcción de la figura mostrada en la Fig. 1.7. La llamada esfera de Ewald tiene
un radio igual al módulo de k0. Como se define en la figura, esta esfera pasa a
través del origen de la red recíproca. Si la superficie de la esfera intersecta
cualquier nodo de la red recíproca, de la manera descrita por el vector Bh,
entonces la condición k = k0 + Bh se cumplirá. Esto es simplemente otra manera
de escribir la condición de difracción. Llegamos así a una formulación alterna para
la ley de Bragg: si la esfera de Ewald intersecta cualquier nodo de la red recíproca,
k
k0
originreciprocal
Q = Bh
2
k
k0
originreciprocal
Q = Bh
2
17
entonces habrá un pico de difracción. El vector k de la onda difractada apuntara
desde el centro de la esfera hacia el nodo Bh (el origen reciproco es trivial,
representa el haz directo transmitido).
Fig. 1.8 Esquema del corte de la esfera de Ewald con el espacio reciproco.
Fig. 1.9 Resultado de interacción de la Fig. 1.8 en forma de picos de difracción.
Figs 7.8 y 7.9 respectivamente muestran simulaciones, siguiendo la
representación de Ewald, de: a) un experimento convencional de polvos en el
canal 2-1 de Stanford (Synchrotron Radiation Laboratory (SSRL), Stanford Linear
Zone axis : [0,0,0]
{1,0,0}
{1,1,0}
{1,1,1}
{2,0,0}{1,2,0}
Ewald sphere
(0,0,0)
2θ
k
k0
limiting sphere
powder reciprocal
nodes spheres Q
Zone axis : [0,0,0]
{1,0,0}
{1,1,0}
{1,1,1}
{2,0,0}{1,2,0}
Ewald sphere
(0,0,0)
2θ
k
k0
limiting sphere
powder reciprocal
nodes spheres Q
100
110
111
200
2101
00
11
0
11
1
20
0
21
0
15 20 25 30 35 40
2
i
100
110
111
200
2101
00
11
0
11
1
20
0
21
0
15 20 25 30 35 40
2
i
18
Accelerator Center) con una radiación de 10 keV, = 1.2405 Å. b) Un experimento
de mapeo bidimensional del espacio recíproco en el canal X17B1 (National
Synchrotron Light Source (NSLS), Brookhaven National Laboratory)
c. Picos de difracción
Función de interferencia y el factor de estructura.
Consideremos un cristal en forma de paralelepípedo con un parámetro de
red ai y Ni celdas a lo largo de su respectivos ejes. La intensidad dispersada en el
vector Q está dado por:
)()()()()( 2
3
2
2
2
1
2
321QaQaQaQQ FSSSAI NNN
. (1.5)
A es una magnitud (que depende ligeramente del ángulo de dispersión) que
representa un experimento particular. . )( jN j
S aQ es la llamada función de
interferencia para Ni celdas unitarias y F(Q) es el factor de estructura. Las últimas
dos funciones representan respectivamente la transformada de Fourier del tamaño
y la forma del cristal y la distribución electrónica dentro de la celda unitaria. El
producto cuadrático de la transformada de Fourier en la ecuación (1.5) establece
que la intensidad es el cuadrado de la convolución de la dispersión por una red de
celdas (de determinada forma y tamaño) con la dispersión por el contenido de una
celda unitaria representativa.
La función de interferencia es:
3,2,1),exp()(1
0
jniSN
n
jjN jaQaQ
. (1.6)
19
Su módulo al cuadrado es:
3,2,1,)2/(sin
)2/(sin)(
2
2
2
j
NS
j
jj
jN j aQ
aQaQ
. (1.7)
Si el cristal es lo suficientemente grande, digamos Nj ~ 104, la funciones de
interferencia tienden a una colección periódica de funciones delta de Dirac en tres
dimensiones. La intensidad es diferente de cero únicamente si el vector de
dispersión satisface las llamadas condiciones de Laue [equivalente a la ecuación
(7.3)]: Qa1 = 2h, Qa2 = 2k, Qa3 = 2l. En las direcciones de dispersión
máxima la intensidad es:
22
3
2
2
2
1 hklhkl FNNANI . (1.8)
Para cristales finitos, la máxima difracción está dada por (1.8) muestra un
ensanchamiento inversamente proporcional a Nj.
El factor de estructura asociado con el vector de dispersión Q representa la
amplitud del campo eléctrico dispersado por la celda unitaria considerada. Por lo
que es la transformada de Fourier de la densidad promedio de materia dispersada
en una celda:
rrrrQ 3)()()( deQF iF
(1.9)
)(r Es la densidad de materia en un punto dado en un instante dado. )(r
Toma en cuenta primero el promedio de las vibraciones de los átomos alrededor
de sus posiciones de equilibrio y después el promedio del numero representativo
de celdas (cada uno de ellos promediado sobre el tiempo).
20
La ampliamente usada aproximación del átomo aislado calcula la densidad
promedio de cada átomo en su vibración particular y después aplica la
superposición para encontrar la densidad total promedio. Este enfoque es
considerado satisfactorio, pero pierde algo de precisión in casos donde el
movimiento de los átomos acoplados es importante (como en el caso de los
enlaces covalentes). En la aproximación considerada, la densidad promedio es:
kkkkk
N
k
k dpn rrrrrr3
1
)()()(0
, (1.10)
N es el número de átomos por celda unitaria, nk es el factor de ocupación de
átomos k, )( krr es la densidad de electrones (en el caso de los rayos-X)
)(0kkkp rr es la función de densidad de probabilidad, que expresa la probabilidad
por átomo k a mostrar un desplazamiento )(0kk rr con respecto a su posición de
referencia. La ecuación (1.10) no implica que los átomos sean esféricos, pero
asume que no se deforman bajo la vibración.
Combinando (1.9) y (1.10) se obtiene:
)()(1
Qr k
N
k
k Fn
, (1.11)
Con:
rrrrrrQrQ 33)()()(
0dedpF i
kkkkkk
. (1.12)
21
d. Dispersión atómica y los factores Debye-Waller
Con las definiciones u = (rk – rk0), v = (r - rk) y a través de convoluciones del
teorema de Fourier, la ecuación 7.12 puede ser transformada en la siguiente
expresión del factor de estructura:
rQQQQ
iN
k
kkkk eTfnF1
)()()(
(1.13)
Con:
vvQvQ 3)()( def i
kk (1.14)
Y:
uuQuQ 3)()( depT i
kk (1.15)
Eq. (1.14) define el factor de dispersión atómica, el también llamado “factor de
forma” y (1.15) define el factor Debye-Waller (DFW), tradicionalmente mal
llamado “Factor de temperatura”.
En la dirección de máxima difracción, el factor de estructura adopta la siguiente
forma.
cellunitj
jjjjjjhkl lzkyhxiTfnF__
2exp
. (1.16)
22
Las magnitudes xj, yj, zj, son las coordenadas del átomo j. en la fórmula de las
intensidades (eq. 1.5). el factor de estructura aparece cuadrado. La medición de
las intensidades de dispersión (y no las amplitudes del campo electromagnético)
llevan a la perdida de información, conocido como el problema de fase en
Cristalografía. La conocida ley de Friedel’s 22
lkhhkl FF es un caso particular
a este problema.
En el caso de los rayos-X si el átomo k muestra geometría esférica, el factor de
dispersión atómica es calculado por:
0
20 )sin()(4)( duu
u
uuf jj
Q
QQ . (1.17)
e. Difracción: Intensidades de los picos
Para poder llegar a una fórmula de las intensidades del haz difractado es
necesario tomar en cuenta varios factores, desde el electrón, hasta el cristal, que
aunados forman la ecuación básica de la difracción por poli cristales. Para la
parte del electrón se toma en cuenta la fórmula de Thomson (incluye el Factor de
polarización), para el átomo el Factor de dispersión atómica, para la celda unitaria
el Factor de estructura y por último en el cristal se toma en cuenta la ley de Bragg
y la formula de las intensidades.
La fórmula de J. J. Thomson para la intensidad dispersada por un electrón es la
siguiente:
2
2cos1
)(
2
22
4
0
Rmc
eIIe
(1.18)
23
I0 es la intensidad incidente, e la carga del electrón, m la masa del electrón, c la
velocidad de la luz; R la distancia del electrón al punto de observación y 2 el
ángulo de dispersión.
El factor de dispersión atómica es definido como el cociente de la amplitud del
campo eléctrico dispersado por un átomo entre la correspondiente a un electrón
(Trueblood, Burgi et al. 1996):
Eat = f Ee (1.19)
Aplicando el Principio de Superposición a los campos de los [j = 1,…,n] electrones
en un átomo se obtiene:
j
rkki
eatjeEE
).(2 0
(1.20)
k0 y k son los vectores de onda de los rayos incidente y dispersado
respectivamente. El exponente en la eq (1.20) caracteriza la fase de la onda
dispersada por el electrón j, ubicado en rj. Si las nubes electrónicas atómicas se
describen a partir de sus funciones de onda ψj, entonces la ecuación (1.20) se
expresa como:
j
e
ris
jeeat fEdveEfEE )2,(.2
(1.21)
El factor de estructura F describe la superposición de las ondas asociadas a los
diferentes átomos en una celda elemental (Trueblood, Burgi et al. 1996). Se
define como la relación entre la amplitud dispersada por la celda elemental y la
asociada a un electrón en el origen de coordenadas:
24
Ecel = Ee . F (1.22)
Al aplicar la superposición:
k
ris
k
k
ris
keecelkk efFefEFEE
...
(1.23)
La amplitud E es:
L
Ais
ecristalLeFEE
..
(1.24)
AL es un vector reticular del cristal. La intensidad difractada se concentra alrededor
de las direcciones que cumplen la Ley de Bragg. En la posición justa del máximo
de difracción se cumple:
I = Ie |F|2 N2 (1.25)
Donde N es el número de celdas del cristal.
La cantidad medida en el experimento es frecuentemente llamada intensidad
integral, se obtiene recolectando toda la energía que llega a un detector y sale de
la máxima difracción del cristal. El núcleo de la fórmula para calcular esta
intensidad es precisamente el factor de estructura F. Tomando en consideración
los otros factores que participan se encuentra que la intensidad integral de una
línea de difracción en un patrón de polvos es:
I = I K |F|2 p (LP) A T / v2 (1.26)
25
Donde:
K = Constante de la instalación experimental. Depende de la geometría del
difractómetro, de los parámetros de operación del tubo de rayos X, del tamaño de
la muestra, etc.
p = Factor de Multiplicidad. Expresa la cantidad de planos reticulares con índices
distintos pero que son equivalentes por simetría.
(LP) = Factor de Lorentz- Polarización. Es la generalización de la Fórmula de
Thomson. Toma en consideración la distribución de intensidades por la esfera de
reflexión y otros factores geométricos.
Su fórmula en el caso de una medición en el difractómetro de polvos, con
radiación filtrada es:
cossen
2cos1)(
2
2LP
(1.27)
A = Factor de Absorción. Representa la atenuación del haz difractado como
producto de los diversos fenómenos contemplados como absorción. Su expresión
para un experimento difractométrico es:
A = 1/2 (1.28)
( es el coeficiente de absorción lineal)
26
T = Factor de Debye-Waller. Su fórmula en un tratamiento sencillo es:
2
2senexp
BT
(1.29)
B es el llamado factor térmico isotrópico.
v = volumen de la celda elemental.
La intensidad de un pico DRX se distribuye en el entorno de la posición del
máximo, cumpliendo determinadas relaciones con la perfección cristalina y la
resolución instrumental (Rietveld 1969) (Caglioti, Paoletti et al. 1958).
27
e. Difracción de haz rasante
Al realizar un experimento de difracción de tipo simétrico (Bragg-Brantano) la
información que obtenemos es un promedio volumétrico de la estructura del
material. Por lo que si intentamos ver únicamente lo que está en la superficie, es
decir una capa delgada de unas cuantas micras o inclusive nanómetros, de esta
manera es imposible hacerlo. Así que si nuestra intención es ver esa capa
delgada del material, cristales nanometricos o pequeñas gotas cuánticas
separadas Fig. 1.10. Es necesario realizar un experimento de haz rasante (menos
de 1 Ө) para que el haz difracte solo en la superficie y no entre al volumen de la
muestra.
Un ejemplo de información no deseada detectada debido al alto ángulo y la gran
penetración se muestra en la Fig. 1.11. Y una forma de solucionar dicho problema
se muestra En las Figuras 1.12a y 1.12b. La solución es pasar el haz rasante a la
muestra, para que se difracte la capa que nos interesa y no lo interior. Para
aprovechar toda la información emitida por dicho experimento es necesario tener
un detector bidimensional para poder recolectarla. (Renaud 1998; Robinson 1998;
Müller-Buschbaum 2003).
Fig. 1.10 Nanocristales de
Ge sobre un substrato de
Si. En difracción
convencional, sólo se
detecta señal del
substrato y no de los
nanocristales.
28
Fig. 1.11 Difracción de nanocristales. Experimento convencional (Bragg-Brentano). Los rayos X
penetran profundamente en el sustrato.
Fig.1.12 Difracción de nanocristales por de incidencia rasante.
(a) Corte vertical. (b) Diagrama en perspectiva. Los rayos X solamente inciden sobre la capa
superficial.
29
g. Textura
Una parte importante que define la intensidad de los picos en los cristales
de la vida real es la orientación preferencial (textura). Esto se refiere al acomodo
de los pequeños cristales que forman el policristal (Bunge 1982). Si la distribución
de orientaciones cristalinas posee simetría axial, es posible caracterizar
cuantitativamente la textura por medio de la llamada figura inversa de polos (FIP)
asociada al eje de simetría. La idea de una figura inversa de polos se muestra
esquemáticamente en la Fig. 1.13. Si consideramos una dirección de referencia
(n) en la muestra, la dirección normal saliente en el caso de la figura. Siendo h0 el
vector recíproco que representa la orientación de la familia de planos (h0, k0, l0),
preferida en la textura considerada. Si se analiza la superficie de la muestra, se
encuentra una elevada población relativa de cristalitos con la familia (h0, k0, l0)
paralela a la superficie de la muestra.
n h0 h
a b c
h0
Fig. 1.13 Dirección normal a la muestra n, dirección cristalina privilegiada ho y distancia angular .
Los cristales a y b están orientados con ho paralelo a n. El cristal c posee una orientación diferente,
con la normal h ( ho) paralela a n. es el ángulo entre h y h0.
La figura inversa de polos, R(h) ó R(), representa la fracción volumétrica de
cristales con su normal h paralela a n. Naturalmente, el máximo de R(h) ocurre
para h = h0 ó = 0. Si no existe textura, entonces R(h) 1 para todo h. Para
cualquier textura, la función R(h) debe satisfacer la siguiente condición de
normalización:
30
4),( ddsinR (1.30)
La integral se calcula sobre la esfera unitaria. y son los ángulos polar y
azimutal, respectivamente.
En la general los programas que miden la difracción habitualmente emplean dos
algoritmos diferentes para representar las figuras inversas de polo. El primero de
éstos fue propuesto personalmente por Rietveld (Rietveld 1969). La fórmula es:
)exp()1()( 2
122 GGGR (1.31)
En este tratamiento, la distribución aleatoria se asocia al valor G1 = 0. El valor de
G2 debe ser tal que se cumpla la condición de normalización (1.30).
El segundo algoritmo para R(h) es conocido como March-Dollase (Dollase 1986):
2/3
2
1
22
1 sin1
cos)(
GGR
(1.32)
En esta fórmula, la textura aleatoria se corresponde con G1 = 1. La condición de
normalización (1.30) se satisface automáticamente en el algoritmo de March-
Dollase.
31
h. Diferencias entre Bragg-Brentano y haz rasante
Como se trató en los temas pasados existen dos formas importantes pero
muy diferentes de realizar un experimento de difracción de rayos-X:
Bragg-Brentano. Este experimento se hace con un barrido desde Ө a 2Ө,
comúnmente moviendo la fuente de rayos-X y a su vez como espejo el detector
Fig. 1.14 o moviendo la muestra y el detector de modo que siga la misma
geometría. La información que nos da este experimento es el resultado del
promedio de todos los cristales en la muestra, es decir un promedio volumétrico.
Fig. 1.14 Esquema de la geometría y partes de un experimento de difracción Bragg-Brentano.
La forma de calcular la intensidad de cada familia de planos es multiplicar la
intensidad dada por cada reflexión de manera aleatoria y multiplicarla por la figura
inversa de polos (Fig. 1.15) de cada familia de planos correspondiente. Para que
32
una familia de planos de un pico de difracción es necesario que dicha familia este
con su cara paralela a la muestra. Es por esto que se hace un barrido de ángulos
desde cero hasta poco antes de los 90 grados Ө.
Fig. 1.15 construcción de la figura inversa de polos.
En este tipo de experimentos es imposible ver la textura superficial ya que como
vimos anteriormente, los haces penetran en toda la muestra y la superficie al ser
un pequeño volumen con respecto a la muestra completa, no aporta gran
información del total.
33
Haz rasante. Este tipo de experimento se realiza como el nombre lo indica,
haciendo que el haz de rayos-X este casi paralelo a la superficie de la muestra (de
0.05 Ө a 1.0 Ө) Fig. 1.16
Fig. 1.16 Ejemplo real de experimento de difracción de haz rasante.
La técnica de haz rasante nos da información únicamente de la superficie, pero es
muy importante tomar en cuenta que con una muy poca diferencia en el ángulo, ya
podemos ver información que no nos interesa (del sustrato). Como podemos
apreciar en la Fig. 1.17
34
a) b)
Fig. 1.17 experimento de haz rasante en un sincrotrón de una capa delgada de BNBT a diferentes
ángulos.
En la Fig. 1.17 podemos apreciar cómo cambia el patrón de difracción al cambiar
los ángulos de incidencia en una décima de grado. Se midieron ambos patrones
con los siguientes ángulos; patrón a) 0.05. Patrón b) 0.15. En el patrón a) la familia
de picos 101/110 presentan alta textura en la superficie y al adentrarnos más en la
muestra como en el caso b) esta textura disminuye siendo un experimento más
volumétrico que el anterior.
En el caso de experimentos con incidencia rasante la representación que usamos
para describir la textura es la figura directa de polos, la cual mide cuantos cristales
35
están cumpliendo la condición de Bragg, es decir su superficie es normal al vector
de Bragg. Y en qué dirección de la muestra se encuentra
La intensidad de cada pico se calcula multiplicando la intensidad de la muestra
aleatoriamente (sin textura) y multiplicándola por la figura directa de polos.
Si se tiene una textura superficial marcada en la dirección 001 es posible que por
haz rasante esta familia no aparezca en el difractograma ya que es paralela al
haz, y no es posible que se satisfaga la ley de Bragg de esta manera. Por lo que
es necesario analizar las otras familias de plano ligadas a esta, que nos puedan
dar dicha información.
i. Fundamentos de ANAELU
ANAELU sigue el enfoque de Bunge (1982) para el análisis de textura. La
orientación del cristal está caracterizada por el vector g = (1,2, ) en el espacio
de Euler. Las direcciones del cristal y de la muestra están denotadas por h e y,
respectivamente. Para simetrías de texturas, la respuesta estadística completa
que describe el problema está dada por la función de distribuciones de
orientaciones (ODF por sus siglas en ingles), ODF = f(g). Esta, expresa el
diferencial de volumen (dV) de los cristalitos cercanos a dg de una orientación g
[dV/V = f(g)dg]. La figura directa de polos [PF = Ph(y)] caracteriza la población
relativa de una dirección cristalina en diferentes direcciones de la muestra. La
figura inversa de polos [IPF= Ry(h)] describe la población de direcciones
cristalinas en una dirección de la muestra. Si se tiene la ODF es posible calcular
todas las figuras de polos tanto directas como inversas.
36
En el caso particular de la textura de fibras, el ODF se reduce simplemente a la
IPF del eje de simetría de la muestra ya que es la única que se requiere.
ANAELU es capaz de simular patrones bidimensionales de difracción de rayos-X
para muestras con textura de fibra. Simula las distribuciones de intensidades a lo
largo de todos los h = (h,k,l) anillos de Debye, los cuales son calculados con sus
correspondientes figuras directas de polos. Todas las figuras directas de polos
(PF) son calculadas por ANAELU por medio de la normalización de la figura
inversa de polos (IPF).
Para calcular la PF Ph(φ), donde h = (h,k,l) el programa usa la IPF [Rz(h)] asociada
con el eje de simetría z y aplica la ecuación fundamental para texturas de fibras
(Bunge, 1982).
(1.32)
Una vez normalizada la figura inversa de polos La forma en que ANAELU calcula
la distribución de intensidades a lo largo de los anillos de Debye en un ángulo de
difracción Ө = Ө(h) es calculada en base a la intensidad de cada familia de planos
de una muestra no texturada (Ihrandom) y luego multiplicada por la figura directa de
polos de cada familia de planos. Usando las siguientes ecuaciones.
37
(1.33)
(1.34)
(1.35)
Fig. 1.18 Relación entre el ángulo de Bragg Ө, ángulo polar φ y el ángulo azimutal α.
38
Descripción de la forma de trabajo
ANAELU es un programa de fuente abierta, que está siendo desarrollado
por un grupo de trabajo de varias personas radicadas entre México y el Reino
Unido, con cierto nivel de participación de colaboradores en Francia. Para que el
proyecto fluya de manera dinámica y eficiente, se ha tenido que buscar una forma
adecuada de trabajar en conjunto, con intercambios ágiles y sin entorpecer el
trabajo de los demás. La solución ha sido trabajar en el sistema de repositorios de
programas libres en internet. Se ha adoptado el repositorio SourceForge.net. Se
creó un repositorio en línea donde los participantes pueden subir y bajar sus
contribuciones al código. ANAELU puede ser bajado en su totalidad en la siguiente
liga http://sourceforge.net/projects/f90lafg/
La dinámica del trabajo cotidiano ha sido la siguiente:
Crear una cuenta en la página de internet http://sourceforge.net/
Ser agregados como desarrolladores del proyecto ya creado f90lafg.
Crear carpetas personales donde subir nuestros avances de proyecto
correspondiente.
Bajar el módulo de Subversion SVN para poder hacer commit (subir código)
y/o update (descargar código), así como ser capaces de bajar completa alguna
versión del repositorio en línea en cualquier computadora. O tener una fuente
nueva por si algún error ocurría.
Asegurarnos de hacer un update antes de empezar a programar cualquier
cosa para ver lo último del resto del grupo y trabajar todos con la misma versión
actualizada.
Al terminar de programar cualquier código, hacer un commit para
compartirla con el grupo (siempre y cuando funcionase y si no subirla en carpeta
de dudas).
39
Con esta disciplina fue posible hacer las cosas más fáciles y ordenadas que cada
quien trabajando desconectado por su cuenta.
Otro punto importante fue todos trabajar con el mismo sistema operativo (Linux) y
tener instalados todos los programas y paquetes necesarios para poder correr
cualquier programa aunque no fuera dentro de nuestro proyecto particular.
Además de aprender el lenguaje de programación que cada quien necesitaba para
cumplir su objetivo. En mi caso aprendí primeramente python. Un lenguaje
orientado a objetos, auto intérprete y con memoria dinámica. Ya que este es la
base de la interfaz gráfica presentada. Para luego aprender un paquete llamado
wxpython una librería basada en wxwidgets para python. La cual está diseñada
específicamente para la creación de interfaces graficas o GUI (por sus siglas en
ingles). Lo anterior se aprendió en cursos personales en CIMAV, así como cursos
en línea extracurriculares en la página. https://www.codecademy.com/learn
40
Descripción de la creación de la interfaz gráfica para el programa ANAELU
Para poder programar una interfaz gráfica totalmente nueva para el
programa de simulación de difracción bidimensional ANAELU fue necesario hacer
un diseño inicial de lo que se quería con esta nueva interfaz además de que es lo
que se podía hacer con el trabajo ya realizado en Fortran (la realización de
cálculos).
Se le dio solución a cada problema en particular y al final se unió todo en una
sola interfaz funcional con todas las porciones explicadas a continuación.
a) Visualización del patrón DRX experimental
Se podría pensar que la visualización de la imagen experimental es la parte más
simple del programa pero no es así, ya que es crítico tener una lectura precisa y
clara de la imagen experimental, por que de aquí parte la comparación de tu
modelo y ser capaz de obtener la información que se busca. Además, es aquí fue
donde se creó una mejora significativa en el programa.
Un impedimento que tenía el ANAELU anterior es que dependía de un programa
ajeno a nuestro grupo de trabajo (FIT2D) para convertir los ficheros tipo mar
(ficheros comunes de salida de distintos difractrometros de rayos X, incluyendo los
del sincrotrón de Stanford) a ficheros en formato binario, los cuales son los que lee
ANAELU 2.0. Este problema se ha solucionado reutilizando una porción de código
abierto, originalmente creado por Stefan C.B. Mannsfeld , escrito en C el cual se
encarga de convertir los ficheros tipo mar, a ficheros en binario, parte del trabajo
se puede ver en el siguiente enlace: "http://www.ccp4.ac.uk/". Con lo anterior se
quita una dependencia importante que se tenía en la versión anterior.
41
Se agregó uno porción de código para que al abrir el fichero sin importar que tipo
sea (binario o tipo mar) este lo lea haciendo lo necesario. Si es binario
simplemente procede a leer con los parámetros correspondientes. De ser tipo mar
el programa manda a llamar al código en C para que haga la conversión y
devuelva un fichero tipo binario el cual puede leer perfectamente. Esto fue una
parte clave en el desarrollo de la GUI. El nuevo ANAELU 2.0 es capaz de
interaccionar con otros programas escritos en lenguajes diferentes. Por medio de
ficheros.
b) Visualización del patrón DRX calculado
La imagen calculada se logró gracias a un programa escrito en Fortran 95, el cual
utiliza la librería CrysFML, misma que utiliza el reconocido programa; Fullprof
Suite (Rodríguez-Carvajal, J. (2008)). Con esto logra hacer los cálculos de forma
eficiente, varias veces más rápido que la versión anterior de ANAELU 1.0.
Para poder simular el patrón de rayos-X bidimensional, ANAELU 2.0, necesita ser
alimentado por dos ficheros: un fichero con extensión .cfl, el cual contiene la
información básica del monocristal, así como la parte propuesta del policristal
(textura preferencial y ancho de la figura inversa de polos). El otro fichero con
extensión .dat, es el encargado de proporcionar la información acerca del
ambiente en el cual se midió la muestra (diámetro del detector, distancia muestra-
detector, etc.).
Otra forma de alimentar la visualización del patrón DRX calculado, es darle los
valores directamente en pantalla y el programa se encarga de transformarlos en
ambos ficheros con la estructura correspondiente.
Al leer los ficheros la GUI pasa estos al programa que calcula en Fortran 95.
Luego el programa que calcula (Fortran 95) arroja un archivo .RAW. este fichero
pasa por un código creado en python encargado de visualizar en pantalla dicho
fichero con el código de colores según la intensidad de cada pico de difracción.
Una muestra de las dos imágenes, tanto experimental como calculada, es
mostrada en la Fig. 1.19
42
Fig. 1.19 muestra ambos patrones desplegados en pantalla.
c) Lectura de ficheros de parámetros y datos cristalográficos
Se crearon dos códigos independientes encargados de leer los ficheros antes
mencionados (cfl y dat) de manera que fueran a prueba de errores, es decir, no
buscaran los datos en una manera fija, si no que buscaran dinámicamente, línea a
línea, donde se encuentra cada variable con su respectivo valor numérico. Esto sin
importar los espacios de separación u otros signos ajenos agregados al fichero
estándar (,:;/=-).
Para lograrlo se programó desde cero una serie de filtros y algoritmos capaces de
ignorar símbolos innecesarios así como cualquier tipo de separación entre datos.
Esto evita errores al modificar los ficheros como es común en otro tipo de
programas similares a este. Un ejemplo de la lectura de ficheros se muestra en la
Fig. 1.20
43
Fig.1.20 Ejemplo de fichero .cfl de manera desordenada y su lectura filtrada en pantalla.
d) Datos en pantalla
Para tener una buena interfaz gráfica es necesario que el usuario pueda entender
y manipular el programa fácilmente. Esto se logra mostrando los controles en
pantalla, cada uno con la etiqueta de descripción correspondiente.
Se programó una serie de paneles, separados de acuerdo a los datos de
alimentación en tres tipos:
Datos del cristal. Son los datos pertenecientes a la estructura básica del
monocristal Fig. 1.21 como: Nombre de la muestra, grupo espacial, parámetros
reticulares (a,b,c), ángulos entre sí (alfa, beta y gamma), y las posiciones de los
átomos que forman la red. Las posiciones de los átomos están dentro de una red
dinámica, la cual crece dependiendo del número de átomos que formen el
policristal. Si el fichero propuesto cuenta con un solo átomo, se mostrara una sola
fila con las distintas columnas (posiciones y la función de Debye-Waller) pero si
cuenta con más átomos se generaran las filas necesarias para cada uno. Es
44
posible agregar o quitar filas en pantalla, si es que se alimentara directamente y no
de un fichero ya generado.
Fig 1.21 panel de lectura y escritura de datos para la parte del monocristal.
Datos del policristal. Estos son los datos que forman parte del cristal a gran
escala y es también donde se propone la figura inversa de polos, con la cual se
generaran las figuras directas de polos, para simular cada anillo de Debye con su
respectiva textura.
Los distintos datos dentro de este panel son: tamaño promedio de grano
(representado en cientos de Angstroms), tensiones (no incluidas en el programa
acutal de Fortran 95), textura preferencial (H K L) Fig. 1.22
Distribución gaussiana de la figura inversa de polos, ángulo azimutal de la IPF, y
numero de pasos horizontales de la IPF (un tipo de resolución). Al proponer la
figura inversa de polos es donde este programa se destaca de los demás al ser
una excelente forma de representación de la textura.
45
Fig.1.22 datos en pantalla para la parte del policristal (textura).
Datos del experimento. Nos ayudan a simular el entorno en el que se midió la
muestra. Los datos en pantalla son los siguientes: longitud de onda del haz de
rayos-X, Distancia de la muestra al detector, diámetro del detector, centralización
del haz de rayos-X, resolución en X e Y máximas de la imagen. Fig. 1.23
46
Fig. 1.23 muestra de los datos en pantalla del experimento.
Estos 3 paneles se encuentran juntos en un solo panel de entrada de datos (Fig.
1.23) cada uno tiene una conexión con las funciones del programa encargadas de
leer y escribir ficheros. Con esto es posible generar ficheros tanto .cfl como .dat,
sin preocuparse del orden del fichero. Simplemente escribiendo los datos en los
recuadros correspondientes.
47
Fig. 1.23 Todos los paneles de entrada de datos juntos..
e) Escritura de ficheros
Si se alimentan los datos en pantalla y no por ficheros, o si se modifican ciertos
datos una vez leídos los ficheros de entrada, ANAELU 2.0 crea ambos ficheros (cfl
y dat) con un formato establecido para cada uno. Esto lo hace cada que es corrido
el programa. ANAELU 2.0 tiene la facilidad de guardar cada fichero en particular,
sin hacer una corrida si es que se le indica en la opción guardar, dentro del menú
“file”.
Estos ficheros siempre son escritos con la misma consistencia de formato (Fig.
1.24), ya que tiene un programa (el cual el usuario no es consciente de él) que se
encarga de leer los datos en pantalla. Ya sea que hayan sido escritos por el
usuario, o leídos de un fichero de entrada. Y los reescribe con un formato
establecido el cual es sencillo de leer. Tanto por el usuario como por el programa
en Fortran 95.
48
Fig. 1.24 Escritura de los ficheros con un orden establecido.
f) Intercambio de ficheros entre diferentes lenguajes
La manera en que este programa es mucho más rápido, versátil y eficiente que el
anterior es utilizando las ventajas de diferentes lenguajes de programación.
Fortran es conocido desde hace tiempo por ser muy bueno y versátil al realizar
cálculos de cantidades grandes de números a una gran velocidad (“number
cruncher”). Por lo que es usado en grandes laboratorios a nivel mundial (contrario
a lo que la gente cree) pero tiene la desventaja que no tiene una forma de crear
interfaces graficas en él.
49
Python es un lenguaje orientado a objetos. Es relativamente nuevo y es usado
ampliamente debido a su sencillez y reusabilidad. Es capaz de lograr un programa
solido en pocas líneas de código (comparado a otros lenguajes como Fortran o
c++). Es excelente en la creación de interfaces gráficas. Tiene decenas de
librerías de donde escoger para realizar GUIs (wxPython, pyGTK, PyQT, Tkinter,
etc.) y tiene una muy buena documentación gratuita en línea para cada una de
ellas. Pero Python tiene la desventaja de ser lento a la hora de hacer grandes
cálculos incluso con el uso de sus bastas librerías como: NunPy y SciPy.
C es un lenguaje que cuenta con una comunidad muy grande de usuarios, sobre
todo de ingenieros. Y tiene la ventaja de tener una cantidad grande de rutinas
útiles las cuales son posibles reutilizarlas y mezclarlas con otro tipo de lenguajes.
La manera en la cual se aprovechó las ventajas de estos distintos lenguajes de computación fue:
Interfaz gráfica (Gui): aquí es donde naturalmente fue conveniente hacer uso de las librerías de Python, en el caso particular de esta Gui se creó desde cero utilizando Wx Python 3.0 y los pequeños procesos y funciones dentro da la Gui usando Python 2.7.
Cálculos: Se dio crédito a los miles de usuarios que confían en Fortran para realizar cálculos fuertes utilizando este lenguaje para realizar los cálculos (con ayuda de la librería CrysFML).
Conversión de ficheros: en este caso se aprovechó una rutina programada en C que se encarga de tomar un fichero tipo Mar (el cual es una combinación de código ASCII y código binario encriptado) para traducirlo y escribirlo en código binario sin encriptar.
50
g) Menús
Los menús en esta interfaz son intuitivos ya que siguen la misma línea que
cualquier programa comercial. Se realizó de manera que al abrir el programa todo
fuera familiar teniendo los menús de edición comunes y los datos de alimentación
siempre a la vista y etiquetados con su respectiva explicación.
El usuario puede abrir un menú de navegación y buscar por el fichero que
necesita. Dependiendo del fichero que se busque, ya sea .cfl, .dat, o .bin se
programó un filtro para que solo se muestren los ficheros con dicha extensión,
siendo así más fácil y rápido encontrarlos.
También es posible salvar cada fichero con un nuevo nombre y en una nueva
ubicación.
Fig.1.25 Ejemplo de dialogo para guardar ficheros programado en wxpython.
.
51
Fig.1.25 Ejemplo de dialogo para abrir ficheros programado en wxpython.
h) Facilidades para el usuario
Todo el diseño de esta interfaz gráfica fue con el propósito de hacer sencillo y
rápido el análisis y comparación de un patrón bidimensional, experimental contra
calculado.
Se logró programando la siguiente serie de facilidades:
Se creó un enlace entre ambos patrones que fuera capaz de mover un
patrón y el otro lo siguiera como espejo. La forma de hacerlo es intuitiva
como en otros programas de visualización. Simplemente se hace click en
la pantalla y se arrastra como en un dispositivo táctil.
52
Otra característica intuitiva es el zoom in y zoom out con el scroll del “pad”
o con el ratón de la computadora. Que a su vez están ligados uno con
respecto al otro. Es decir si haces zoom en una región de la imagen
calculada se hace zoom en la misma región de la imagen experimental
facilitando así la comparación de zonas detalladas de la imagen.
Todo los cambios en la imagen son en tiempo real y con rapidez
Todas las pestañas de los menús tienen los atajos conocidos y funcionales
como Ctrl+O para abrir, Ctrl+S para salvar, e inclusive un Ctrl+R para
correr el programa.
Los menús tienen un filtro que al abrir cada fichero solo se muestra
únicamente la extensión que se busca.
Estas características hacen que el usuario pueda hacer una comparación rápida,
intuitiva y sencilla del experimento. Es indispensable que el usuario tenga noción
de las características de su muestra para poder realizar una comparación
cualitativa de su experimento.
Si algo no concuerda en ambas imágenes, se puede modificar en pantalla el
parámetro que el usuario desee y correr nuevamente la imagen calculada con un
solo botón. Repitiendo este proceso hasta que el usuario tenga una imagen lo
suficientemente parecida, una con respecto a la otra, para poder decir con certeza
cada característica de la muestra.
Una muestra de la interfaz terminada de ANAELU 2.0 con un ejemplo particular de
una muestra de platino (FCC) con una orientación preferencial (textura) de la
familia de planos cristalinos 111 se muestra en la Fig. 1.26.
54
Conclusiones
- Se han sentado las bases para la reformulación profunda del programa
ANAELU, a partir del concepto físico básico del programa original, creando
a partir de cero la estructura computacional. El trabajo ha incluido los
siguientes aspectos.
- Creación de un sistema de contribuciones dinámicas de los participantes a
nivel internacional, mediante el sistema de repositorios en línea.
- Creación del marco que sostiene un sistema de entrada de datos –
procesamiento – salida de resultados que combine las facilidades de GUIs
de lenguajes amistosos (Python) con la potencia de cálculo de la librería
CrysFML (Instituto Laue-Langevin - FORTAN).
- Aprendizaje a partir de cero del lenguaje Phyton, del manejo de librerías
para procesamiento matemático y para creación de GUIs.
- Creación a partir de cero de una interfaz en Python para entrada de datos,
intercambio con rutinas FORTRAN para procesamiento y salida gráfica de
resultados cuantitativos.
- Programación en colaboración con el grupo de la entrada de patrones DRX-
2D para diferentes formatos. Aplicación de la programación mezclada
Phyton C FORTRAN.
- La versión actual del programa, en proceso de desarrollo, es factible ya de
ser utilizada por usuarios interesados. Esta versión es más amistosa y
estable que la inicial. En relación con la rapidez del procesamiento de
datos, la ganancia es de reducir los cálculos de horas a minutos.
55
Bibliografía
Argonne Office of Communications & Public Affairs. (2008). "Advanced Photon
Source." from http://www.aps.anl.gov/.
Authier, A. c. (2006). "Cromer–Mann coefficients." Dictionary of Crystallography
from
http://reference.iucr.org/dictionary/Cromer%E2%80%93Mann_coefficients.
Brown, G. E., Jr., G. Calas, et al. (2006). "Scientific Advances Made Possible by
User Facilities." ELEMENTS 2(1): 23-30.
Budai, J. D., W. Yang, et al. (2003). "X-ray microdiffraction study of growth modes
and crystallographic tilts in oxide films on metal substrates." Nature
Materials 2(7): 487-492.
Bunge, H. J. (1982). Texture Analysis in Material Science: Mathematical Methods.
London, Buttersworths.
Burcham, W. E. (1973). Nuclear Physics, an introduction. London, Longman.
Caglioti, G., A. Paoletti, et al. (1958). "Choice of collimators for a crystal
spectrometer for neutron diffraction." Nuclear Instruments 3(4): 223-228.
Cromer, D. T. and J. T. Waber (1965). "Scattering factors computed from
relativistic Dirac-Slater wave functions." Acta Crystallographica 18: 104-109.
Cullity, B. D. and S. R. Stock (2001). Elements of X-ray Diffraction. Upper Saddle
River, NJ, Prentice Hall.
Chapman, B. D., E. A. Stern, et al. (2005). "Diffuse x-ray scattering in perovskite
ferroelectrics." Physical Review B 71(2): 20102.
Chapman, H. N., S. P. Hau-Riege, et al. (2007). "Femtosecond time-delay X-ray
holography." Nature 448(7154): 676-679.
Dollase, W. A. (1986). "Correction of intensities for preferred orientation in powder
diffractometry: application of the March model." Journal of Applied
Crystallography 19(4): 267-272.
Eisebitt, S., J. Luning, et al. (2004). "Lensless imaging of magnetic nanostuctures
by X-ray spectro-holography." Nature(London) 432(7019): 885-888.
56
EPSIM 3D/JF Santarelli. (2005). "Schéma de principe du synchrotron." from
http://commons.wikimedia.org/wiki/Image:Sch%C3%A9ma_de_principe_du
_synchrotron.jpg.
Fong, D. D., C. Cionca, et al. (2005). "Direct structural determination in ultrathin
ferroelectric films by analysis of synchrotron x-ray scattering
measurements." Physical Review B 71(14): 144112.
Fong, D. D., J. A. Eastman, et al. (2006). "In situ synchrotron X-ray studies of
ferroelectric thin films." ANNUAL REVIEW OF MATERIALS RESEARCH 36:
431.
Fong, D. D., G. B. Stephenson, et al. (2004). "Ferroelectricity in Ultrathin
Perovskite Films." Science 304(5677): 1650-1653.
Fuentes-Montero, L., M. E. Montero-Cabrera, et al. (2009). "Synchrotron
Techniques Applied to Ferroelectrics: Some Representative Cases."
Integrated Ferroelectrics 101: 1–13.
Fuentes Cobas, L. E. and M. E. Fuentes Montero (2008). La Relación Estructura-
Simetría-Propiedades en Cristales y Policristales. México D.F., Reverté
Ediciones
Fuentes, L. (2006). Introducción al Método de Rietveld. México, Sociedad
Mexicana de Cristalografía.
Hahn, T. (1995). International tables for crystallography. Volume A, Space-group
symmetry, Kluwer Academic Publishers.
Hammersley, A. P., S. O. Svensson, et al. (1996). "Two-dimensional detector
software: From real detector to idealised image or two-theta scan." High
Pressure Research 14(4): 235 - 248.
He, B. B. (2003). "Introduction to two-dimensional X-ray diffraction." Powder
Diffraction 18(2): 71-85.
Izumi, F. (2008). "RIETAN Rietveld software.", from
http://homepage.mac.com/fujioizumi/rietan/angle_dispersive/angle_dispersiv
e.html.
JASRI Public Relations Office. (2008). "Japan Synchrotron Radiation Research
Institute." from http://www.spring8.or.jp/en/.
57
Kittel, C. (1995). Introduction to solid state physics. New York, John Wiley & Sons,
Inc.
Knotts, C. (2008). "Stanford Synchrotron Radiation Lightsource." from http://www-
ssrl.slac.stanford.edu.
König, F. and M. Robichon. (2008). "European Synchrotron Radiation Facility."
from http://www.esrf.eu.
Kvick, A. and M. Wulff (1992). The materials science and Laue diffraction
beamlines at the European Synchrotron Radiation Facility. Proceedings of
the 4th international conference on synchrotron radiation instrumentation,
Chester (UK), AIP.
Lutteroti, L. (2008). "RIETQUAN Rietveld software.", from
http://www.ing.unitn.it/~luttero/rietquan/rietquan_20.html.
Macromolecular Crystallography Group (2008). Data Collection at SSRL using Blu-
Ice 5. Menlo Park, CA.
Müller-Buschbaum, P. (2003). "Grazing incidence small-angle X-ray scattering: an
advanced scattering technique for the investigation of nanostructured
polymer films." Analytical and Bioanalytical Chemistry 376(1): 3-10.
Parrish, W. (1951). X-ray diffraction method. U. S. P. Off. 2,549,987.
Pollock, H. C. (1983). "The discovery of synchrotron radiation." American Journal
of Physics 51(3): 278-280.
Renaud, G. (1998). "Oxide surfaces and metal/oxide interfaces studied by grazing
incidence X-ray scattering." Surface Science Reports 32(1): 5-90.
Rietveld, H. M. (1969). "A profile refinement method for nuclear and magnetic
structures." Journal of Applied Crystallography 2(2): 65-71.
Robinson, I. K. (1998). "X-ray Crystallography of Surfaces and Interfaces-
Crystallography in two dimensions has been developed to the point that
surface and interface structures can be determined routinely. Some
principles." Acta Crystallographica-Section A-Foundations of
Crystallography 54(6): 772-778.
Roco, M. (2007). National Nanotechnology Initiative: Past, Present, Future.
Handbook of Nanoscience, Taylor and Francis.
58
Rodríguez-Carvajal, J. (2001). "Recent developments of the program FULLPROF."
Commission on Powder Diffraction Newsletter 26: 12–19.
Rodríguez-Carvajal, J. (2008). "FULLPROF Suite." from
http://www.ill.eu/sites/FULLPROF/index.html
Rodriguez-Navarro, A. (2006). "XRD2DScan: new software for polycrystalline
materials characterization using two-dimensional X-ray diffraction." Journal
of Applied Crystallography 39(6): 905-909.
Shido, T. and R. Prins (1998). "Application of synchrotron radiation to in situ
characterization of catalysts." Current Opinion in Solid State & Materials
Science 3(4): 330-335.
Trueblood, K. N., H. B. Burgi, et al. (1996). "Atomic Displacement Parameter
Nomenclature. Report of a Subcommittee on Atomic Displacement
Parameter Nomenclature." Acta Crystallographica Section A 52(5): 770-781.
Turton, M. (2008). "Nanotechnology Development in Taiwan." Retrieved 11-11-
2008, 2008, from
http://michaelturton.blogspot.com/2008/02/nanotechnology-development-in-
taiwan.html.
von Dreele, B. (2008). "GSAS Rietveld software.", from
http://www.ccp14.ac.uk/solution/gsas/.
Wenk, H. R., S. Matthies, et al. (1998). "BEARTEX: a Windows-based program
system for quantitative texture analysis." Journal of applied crystallography
31: 262-269.
Winick, H. (1994). Synchrotron Radiation Sources: A Primer, World Scientific
Publishing Company.
Xu, G., Z. Zhong, et al. (2006). "Electric-field-induced redistribution of polar nano-
regions in a relaxor ferroelectric." NATURE MATERIALS 5(2): 134.
Young, R. (2008). "DBWS Rietveld software." from
http://www.physics.gatech.edu/downloads/young/DBWS.html.