Você está na página 1de 342

Prefácio

O material deste livro é dedicado aos estudantes que precisam assimilar extenso conhecimento
em curto período de tempo. A produção científica internacional cresce em ritmos alucinantes,
exigindo cada vez mais abordagens dinâmicas e sinergias entre diversas áreas do conhecimento.
Dominar os fundamentos da Física de Raios X significa ter competência para atuar numa in-
finidade de áreas, estudando os mais diversos sistemas onde o entendimento organizacional da
matéria em escala atômica se faz necessário. Desde a descoberta da radiação X, seu uso como
ferramenta investigativa sempre esteve em vasta expansão proporcionada pelos avanços instru-
mentais e recursos computacionais. O desenvolvimento atual em áreas médicas e tecnológicas
tem como uma das vigas mestras as possibilidades de análise estrutural oferecidas pela radiação
X. Uma das grandes dificuldades enfrentadas por inciantes no uso efetivo desta fantástica ferra-
menta reside na análise dos resultados experimentais. Poucas são as situações onde é possível
extrair informações estruturais diretamente dos experimentos. Na maioria das situações, pro-
gramas de computador que simulam a interação da radiação com a matéria são imprescindíveis.
O advento de fontes intensas de radiação e o rápido desenvolvimento da nanotecnologia criam
constantemente desafios buscando soluções além daquelas oferecidas pelas técnicas já sedimen-
tadas. Preparar novos pesquisadores para este cenário de rápidas e drásticas mudanças exige
mais do que ensinar as teorias dos fenômenos físicos, exige ensinar como implementá-las de
modo simples e eficiente. Neste livro, os conceitos fundamentais necessários para análise de
uma vasta gama de materiais (macromoléculas, líquidos, nanopartículas, polímeros, amorfos,
policristais, cristais de pequenas moléculas e cristais de proteínas) por técnicas de espalhamento
e difração são demostrados através dos recursos disponíveis de simulação computacional. Os
capítulos seguem ordem crescente, indo da matéria desordenada para a ordenada, cobrindo
vários tipos de amostras e visando uma unificação das abordagens teóricas. A cada tópico ap-
resentado, exercícios de fixação são propostos e resolvidos. Usando programação em MatLab,

1
as mais de 80 rotinas elaboradas nas soluções dos exercícios são fornecidas. Assim, além da
física de raios X, este livro oferece também um curso prático de programação em linguagem
moderna de alto nível, com infinidade de recursos gráficos e matemáticos.

2
Sumário

1 Interação elementar radiação-elétron (elétron livre) 6


1.1 Efeitos da polarização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Campo de radiação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Comprimentos de coerência da radiação . . . . . . . . . . . . . . . . . . . . . . . 15

2 Espalhamento de raios X por distribuições de elétrons livres 19


2.1 Ferramentas matemáticas: transformada de Fourier . . . . . . . . . . . . . . . . 22
2.2 Distribuições de 1 elétron e o espalhamento Compton . . . . . . . . . . . . . . . 26

3 Átomos e moléculas 32
3.1 Átomos esferossimétricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.1 Seção-de-choque do espalhamento coerente para átomos isolados . . . . . 34
3.2 Espalhamento por Moléculas e o “problema da fase” . . . . . . . . . . . . . . . . 36
3.3 Espalhamento Compton por átomos . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Absorção de Raios X 49
4.1 Coeficiente de atenuação linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 Ressonância atômica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.1 Tratamento semiclássico da ressonância atômica:
elétron ligado elasticamente . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Relações Kramers-Kronig . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3 Modulação da absorção por re-espalhamento
de fotoelétrons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Sistemas dispersos: Gases e soluções diluídas 72

3
5.1 Gás monoatômico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2 Moléculas dispersas: orientações aleatórias . . . . . . . . . . . . . . . . . . . . . 76
5.3 Espalhamento a baixo ângulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.3.1 Macromoléculas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.2 Partículas com densidade uniforme . . . . . . . . . . . . . . . . . . . . . 85
5.3.3 Morfologia das partículas . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3.4 Sistemas polidispersos e dispersão de tamanhos . . . . . . . . . . . . . . 90

6 Sistemas complexos I: correlações arbitrárias de curto alcance 97


6.1 Correlações de curto alcance em partículas . . . . . . . . . . . . . . . . . . . . . 100
6.2 Moléculas, proteínas e partículas discretas em geral . . . . . . . . . . . . . . . . 104
6.2.1 Limite de baixo ângulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.2.2 Solução geral de alto ângulo . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.3 Partículas com conformações aleatórias . . . . . . . . . . . . . . . . . . . . . . . 113

7 Sistemas complexos II: correlações arbitrárias entre partículas 122


7.1 Interferência mútua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.1.1 Efeitos de volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.2 Líquidos e suspensões coloidais . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.2.1 Funções de distribuição radial (RDF) . . . . . . . . . . . . . . . . . . . . 138
7.3 Amorfos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.3.1 Cristalização do meio amorfo . . . . . . . . . . . . . . . . . . . . . . . . 149

8 Cristais 156
8.1 Elementos da cristalografia de raios X . . . . . . . . . . . . . . . . . . . . . . . . 158
8.1.1 Célula unitária e rede cristalina . . . . . . . . . . . . . . . . . . . . . . . 158
8.1.2 Fatores de estrutura e intensidades difratadas . . . . . . . . . . . . . . . 164
8.2 Truncamento da rede cristalina . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.3 Desordens aleatórias na estrutura cristalina . . . . . . . . . . . . . . . . . . . . . 174

9 Aplicações da difração cinemática 182


9.1 Trabalhando no espaço recíproco . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.2 Difratometria de policristais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

4
9.2.1 Intensidades relativas em amostras policristalinas . . . . . . . . . . . . . 190
9.3 Difratometria de monocristais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
9.3.1 Com radiação monocromática . . . . . . . . . . . . . . . . . . . . . . . . 199
9.3.2 Com radiação policromática . . . . . . . . . . . . . . . . . . . . . . . . . 206
9.4 Cristais de proteínas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

10 Noções de difração dinâmica 215


10.1 Equações recursivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.1.1 Ondas estacionárias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.2 Limite cinemático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

A Rotinas em MatLab 234

B Radiação de dipolo elétrico por 1 elétron 341

5
Capítulo 1

Interação elementar radiação-elétron


(elétron livre)

Na descrição clássica da radiação eletromagnética, os raios X são ondas análogas às ondas


de rádio, TV, luz, etc., porém, com um comprimento de onda λ muito menor, da ordem de
1 Å (10−10 m). A natureza ondulatória dos raios X dá origem a fenômenos de interferência
em escala atômica, os quais propiciam as diversas técnicas de espalhamento e difração que
serão tratadas neste livro. Por outro lado, existe também a descrição quântica dos campos
eletromagnéticos baseada na natureza corpuscular da radiação eletromagnética, ou seja, de se
comportar como um feixe de fótons criados e aniquilados através da interação com a matéria.
Absorção e detecção dos fótons de raio X são fenômenos intrinsecamente quânticos, explorados
em técnicas de análise de materiais por espectroscopia de absorção e fluorescência de raios X.
A interação radiação-elétron que dá origem ao processo de absorção, ocorre essencialmente com
elétrons atômicos, ou seja, com elétrons ligados de um modo geral. Nesta seção trataremos da
interação elementar dos raios X com elétrons livres.
Existem apenas duas interação elementares relevantes da radiação X com elétrons livres: es-
palhamento elástico e espalhamento inelástico, os quais também são frequentemente chamados
de espalhamento Thomson e espalhamento Compton, respectivamente. As leis de conservação
de momento linear e energia impedem que um elétron livre aniquile (absorva) um fóton, con-
vertendo toda a energia do fóton,

2π~c 12398, 5
E[eV] = = , (1.1)
λ λ[Å]

6
em energia cinética própria. No efeito Compton, apenas parte da energia do fóton é convertida
em energia cinética do elétron. O fóton espalhado tem energia ligeiramente menor (λ maior),
o que consiste num espalhamento inelástico. Por se tratar de uma manifestação da natureza
corpuscular (quântica) do campo eletromagnético, o espalhamento por efeito Compton destrói
qualquer correlação de fase com a onda de raios X incidente e, por consequência, não existem
efeitos de interferência relacionados a esse processo de espalhamento inelástico. Embora a
intensidade do espalhamento Compton esteja presente como uma intensidade de fundo, sem
correlação com a estrutura atômica dos materiais, ela em geral é desprezada ou subtraída dos
dados experimentais de espalhamento coerente de raios X.
Além dos processos de espalhamento, existe também a absorção pelo vácuo, num processo
onde os fótons de raio X são aniquilados na criação de pares elétron-pósitron. A probabilidade
de um fóton ser aniquilado dando origem a um par elétron-pósitron é muito pequena e, em geral,
não é levada em conta nas técnicas de análise de materiais. Portanto, a interação elementar
radiação-elétron (livre) é essencialmente um processo de espalhamento elástico, tratável pela
teoria eletromagnética clássica, como feito por J.J. Thomson no final do século XIX, onde a
radiação incidente com frequência angular ω é descrita em função do vetor posição ⃗r e do tempo
t por uma onda plana do tipo

E(⃗ ⃗ 0 e±i(ωt−⃗k·⃗r) .
⃗ r, t) = E (1.2)

A direção de incidência é dada pelo vetor de onda ⃗k = kŝ, cujo módulo vale k = 2π/λ =
⃗ como magnético B,
ω/c. Embora, a onda eletromagnética tenha tanto campo elétrico E, ⃗ onde
⃗k · E
⃗ = ⃗k · B ⃗ ·B
⃗ =E ⃗ = 0, é comum representar a onda de raio X apenas pelo campo elétrico,

e.g. eq. (1.2).

1.1 Efeitos da polarização


Na presença do campo elétrico do feixe de raios X incidente, um elétron livre é forçado a vibrar
e passa a irradiar de forma análoga aos elétrons numa antena dipolar. Na direção ao longo do
comprimento da antena não há emissão de radiação. Isso é uma característica da radiação de
dipolo elétrico e pode ser entendida como uma consequência da lei de Biot-Savart. Assim, se a
⃗ 0 = E0 ε̂, a irradiação do elétron é nula na
onda de raios X é linearmente polarizada, ou seja, E

7
direção do versor ε̂. Por outro lado, a irradiação será máxima no plano do elétron perpendicular
ao versor ε̂, conforme ilustrado na Fig. 1.1(a).
Em física de raios X, a direção de observação ŝ′ da radiação espalhada é em geral dada pelo
ângulo 2θ medido a partir da direção de incidência ŝ, como definido na Fig. 1.1(b). Ambas
direções, de incidência e de espalhamento, são contidas no plano chamado “plano de incidência”.
⃗ 0 seja especificado em relação ao plano
Uma completa descrição do espalhamento requer que E
de incidência, o que é feito através dos versores

σ̂ = ŝ × ŝ′ /sen2θ e π̂ = σ̂ × ŝ , (1.3)

perpendicular e paralelo ao plano de incidência, respectivamente, Fig. 1.1(b). No caso de


radiação linearmente polarizada, como a radiação síncrotron, temos

ε̂ = cos(χ)π̂ + sen(χ)σ̂. (1.4)

Para 2θ = 0 a amplitude máxima de espalhamento independe do ângulo de polarização χ. Mas,


para 2θ = 90◦ a amplitude será nula se χ = 0, Fig. 1.1(a).
O fator de polarização vetorial (Apêndice B),

⃗ ′ ) = ŝ′ × (ε̂ × ŝ′ ) ,


P(ŝ (1.5)

⃗ R (R,
resume os efeitos da polarização no campo elétrico espalhado, ou campo de radiação E ⃗ t) =
⃗ ′ ) ER (R, t) , observado no ponto R
P(ŝ ⃗ = Rŝ′ , Fig. 1.1(b). A intensidade mensurável I é pro-

porcional ao módulo quadrado do campo, i.e., I ∝ |E ⃗ ′ )|2 |ER (R, t)|2 .


⃗ t)|2 = |P(ŝ
⃗ R (R,

Nota 1.1: A intensidade clássica de um campo eletromagnético é igual a energia trans-


portada por unidade de tempo por unidade de área, ou seja, Joules (J)/s/m2 . Em física
de raios X, a denominação intensidade I será utilizada para especificar o número de fótons
detectados por segundo. Na comparação com o conceito clássico de intensidade,
( J )
intensidade clássica s m 2 × área de detecção (m2 )
I= .
energia do fóton, E (J)

8
Figura 1.1: Elétron em vibração forçada. (a) A intensidade irradiada é máxima, I = Imax , no plano
perpendicular à direção de vibração e nula, I = 0, ao longo dessa direção. (b) Vetor campo elétrico
⃗ 0 , descrito em relação às direções normal, σ̂, e perpendicular, π̂, ao plano de
da radiação incidente E
incidência definido pelos versores ŝ e ŝ′ . Direção da radiação incidente: ŝ. Posição de observação da
⃗ = Rŝ′ .
radiação espalhada: R

Para exemplificar o uso do fator de polarização, vamos tomar ŝ = [0, 0, 1], π̂ = [1, 0, 0],
σ̂ = [0, 1, 0], ε̂ = [cos χ, senχ, 0] e ŝ′ = [sen2θ, 0, cos 2θ], o que fornece, a partir da
eq. (1.5), a expressão geral

P
⃗ = [cos χ cos2 2θ, senχ, − cos χ cos 2θsen2θ] (1.6)

em função de χ. Assim, para as polarizações σ e π, temos que:



σ̂, |P|
⃗ 2=1 se ε̂ = σ̂ (χ = 90◦ , polarização σ)
P
⃗ =

cos 2θ [cos 2θ, 0, −sen2θ], |P|
⃗ 2 = cos2 2θ se ε̂ = π̂ (χ = 0, polarização π)

No caso de raios X não polarizados, como aqueles gerados por freamento de elétrons (tubos
e anodos rotativos), a intensidade espalhada corresponde à média das intensidades sobre todos
os possíveis valores de χ, ou seja, I ∝ ⟨|P|
⃗ 2 ⟩ E 2 (R,
R
⃗ t) onde

⃗ 2 ⟩ = ⟨sen2 χ⟩ + ⟨cos2 χ⟩ cos2 2θ = 1 (1 + cos2 2θ)


⟨|P| (1.7)
2

é conhecido como fator de polarização (escalar).

9
Figura 1.2: Monocromador de 4-reflexões.

···

Ex. 1.1: É sabido que cristais são utilizados para filtrar (tornar monocromático) e direcionar
feixes de raios X. (a) Um feixe de raios X não polarizado é refletido por um cristal num ângulo
de 2θ = 90◦ . Qual a polarização do feixe refletido? (b) Em experimentos que alta resolução
angular e espectral, um monocromador típico é o monocromador de 4-reflexões onde em cada
reflexão 2θ = 45, 28◦ . Qual a polarização do feixe monocromático?

Resp. (a): A polarização resultante é linear: P


⃗ = [0, senχ, 0] para cada componente χ do feixe

não polarizado, Fig. 1.1(b). Como χ varia de 0 a 2π, o fator de polarização será

⟨|P|
⃗ 2 ⟩ = ⟨sen2 χ⟩ = 1/2 .

Resp. (b): Tomando a direção do feixe incidente ŝ = [0, 0, 1], as direções ŝn′ (n = 1, . . . , 4) dos
feixes refletidos serão, de acordo com o esquema na Fig. 1.2,

ŝ1′ = [sen2θ, 0, cos 2θ], ŝ2′ = [0, 0, 1], ŝ3′ = [−sen2θ, 0, cos 2θ] e ŝ4′ = [0, 0, 1] .

Se P
⃗ 0 = ε̂ = [cos χ, senχ, 0] representar uma dada componente de polarização do feixe inci-

dente, então
⃗ n = ŝ ′ × (P
P ⃗ n−1 × ŝ ′ )
n n

corresponde à polarização do feixe após a n-ésima reflexão. Como P


⃗ 4 = [cos4 2θ, 0, 0] para

10
⃗ 4 = [0, 1, 0] para χ = 90◦ , temos que P
χ=0eP ⃗ 4 (χ) = [cos4 2θ cos χ, senχ, 0] e, portanto,

1
⟨|P
⃗ 4 |2 ⟩ = (1 + cos8 2θ) = 0, 53 (praticamente polarização linear) .
2

···

1.2 Campo de radiação


Uma vez que já sabemos como levar em conta o efeito da polarização do campo elétrico incidente
na radiação espalhada por um elétron, vamos agora calcular o campo de radiação ER (R, t).
Como a polarização está considerada através do vetor P,
⃗ ER (R, t) é simplesmente o campo

de máxima amplitude irradiado no plano do elétron perpendicular à direção de aceleração


(vibração).
O campo irradiado por uma carga acelerada é derivado diretamente das equações de Maxwell,
como demonstrado em muitos livros de eletromagnetismo clássico.1 No sistema SI de unidades,
essa derivação resulta em
e
ER (R, t) = z̈(t′ ) (1.8)
4πϵ0 c2 R
onde z̈(t′ ) é a aceleração do elétron perpendicular ao plano de observação, Fig. 1.1(a), no
instante de tempo t′ = t − R/c, gerando o campo a uma distância R no instante t. O elétron é
acelerado em resposta ao campo elétrico incidente, eq. (1.2), ou seja

−e −e ′ −e
z̈(t′ ) = E(⃗r = 0, t′ ) = E0 e±iωt = E0 e±i(ωt−kR) (1.9)
m m m
onde e e m são a carga (em módulo) e a massa do elétron, respectivamente. Pela substituição
na eq. (1.8) obtém-se

( )
ER (R, t) e2 e±i(ωt−kR) e±i(ωt−kR)
=− = −re . (1.10)
E0 4πϵ0 mc2 R R
re = 2.818 × 10−5 Å é chamado de raio clássico do elétron ou comprimento de espalhamento
Thomson. Note que a amplitude do campo de radiação é proporcional a 1/R. Isso garante que
a potência total irradiada seja constante sobre qualquer superfície esférica de raio R em torno
1
Classical Electrodynamics, J.D. Jackson; Foundations of Electrommagnetic Theory, J.R. Reitz & F.J. Mil-
ford; . . .etc. Ver também Apêndice B deste livro.

11
do elétron. Note também o sinal negativo na eq. (1.10), indicando que o campo espalhado tem
uma defasagem de 180◦ em relação à fase da onda de raio X incidente. Levando o efeito da
polarização em conta, a expressão completa do campo espalhado pelo elétron na origem, ⃗r = 0,
⃗ fica sendo
e observado no ponto R,

±i(ωt−k ·R) ⃗′ ⃗
⃗ t) = P
⃗ R (R,
E ⃗ E0 e
⃗ ER (R, t) = −re P (1.11)
R
onde ⃗k ′ = kŝ′ é o vetor de onda da radiação espalhada. Como se trata de espalhamento elástico,
|⃗k ′ | = k = 2π/λ (mesmo λ da onda incidente).
Embora os pontos essenciais da teoria de espalhamento estejam sintetizados nas equações
acima, falta ainda estabelecer uma ponte prática entre teoria e experimento. Para tal, vamos
assumir um feixe incidente de raios X com um fluxo Φ de fótons por metro quadrado por
segundo, o que, em termos da amplitude incidente E0 , é dado por

intensidade clássica 1
ϵc|E0 |2
Φ= = 2 . (1.12)
E E


c é a velocidade da luz e ϵ é a permissividade dielétrica. Num detetor posicionado em R,
subentendendo um ângulo sólido dΩ, a intensidade da radiação espalhada, usando a eq. (1.11),
será

fótons espalhados/m2 /s
z( }| ){ m2 ( )
1
ϵc⟨|P|
⃗ 2 ⟩|ER |2 z }| { ⟨|P|
⃗ 2 ⟩|ER |2
IT h = 2
R2 dΩ = Φ R2 dΩ = Φ ⟨|P|
⃗ 2 ⟩ re2 dΩ (1.13)
E |E0 |2

onde o termo ⟨|P|


⃗ 2 ⟩r2 é denominado seção-de-choque diferencial (“differential cross-section”)
e
( dσ )
do espalhamento Thomson, i.e. dΩ Th
= ⟨|P|
⃗ 2 ⟩r2 .
e

Se considerarmos todas as direções do espaço, a intensidade total espalhada por 1 elétron é


obtida pela integração da eq. (1.13):


Itot = Φ re2 ⟨|P|
⃗ 2 ⟩ dΩ = Φ σT h . (1.14)

σT h = 8πre2 /3 = 6, 6525 × 10−29 m2 = 0, 66525 barn é a seção-de-choque total do espalhamento


Thomson.

12
Figura 1.3: Amostras (a) menor e (b) maior que a seção transversal S0 , do feixe incidente de
intensidade I0 = Φ S0 .

···

Ex. 1.2: (a) Qual o fluxo Φ para termos 1 fóton/s dentro de um volume cúbico V de lado L =
0, 1 mm? (b) Qual a intensidade clássica, ou potência P por unidade de área (W/cm2 ) incidente
sobre a lateral do volume quando o comprimento de onda dos fótons for λ = 1, 23985Å ?

Resp. (a): Sendo I a intensidade do feixe incidente na área lateral do cubo, o fluxo será
Φ = I/L2 . O tempo que um fóton leva para atravessar o cubo é L/c, de modo que teremos 1
fóton/s dentro do cubo quando I = c/L, ou seja, Φ = c/L3 = c/V = 3 × 1020 fótons/m2 /s.

Resp. (b): P = Φ E = (3 × 1020 )(10−4 )(104 )(1, 6 × 10−19 ) = 48 W/cm2 .

Ex. 1.3: Determine Itot para uma pequena amostra de GaAs, em forma de cubo com
arestas de 0,1 mm, colocada inteiramente num feixe de raios X incidente com seção transversal
S0 = 0, 5×0, 5 mm2 e intensidade I0 = 106 cps (cps = contagens por segundo), Fig. 1.3(a). Obs:
desprezar fenômenos de interferência (difração), absorção e re-espalhamento.

13
Resp.:

106 256
Itot = Φ ρ V σT h = (10−4 )3 6, 6525 × 10−29 = 377 cps.
(5 × 10 ) (5, 6534 × 10−10 )3
−4 2

Φ: fluxo de fótons por segundo (= I0 /S0 )


ρ: densidade volumétrica de elétrons (e− /m3 ) 2

V : volume da amostra

Ex. 1.4: Uma amostra de GaAs em forma de lâmina, com espessura T = 0, 1 mm e área maior
que a seção transversal S0 do feixe incidente, é colocada perpendicularmente ao feixe incidente
de intensidade I0 = 106 cps. (a) Qual o valor de Itot ? (b) Um detetor de abertura circular com
aceitação angular ∆ = 20◦ , e.g. Fig. 1.3(b), é posicionado em 2θ = 90◦ . Quais as intensidades
Iσ e Iπ obtidas pelo detetor nas polarizações σ e π?

Resp. (a):

I0 256
Itot = ρ S0 T σT h = 106 (10−4 ) 6, 6525 × 10−29 = 9425 cps.
S0 (5, 6534 × 10−10 )3

S0 T : volume da amostra iluminada pelo feixe incidente.

Resp. (b): Na polarização σ, ⟨|P|


⃗ 2 ⟩ ≃ 1 dentro da abertura do detetor talque

∫ ∫ ∫ 2π ∫ ∆/2
π 2
⟨|P|
⃗ ⟩ dΩ ≃
2
dΩ = senγ dγ dφ = 2π[1 − cos(∆/2)] ≃ ∆ e
0 0 4
∫ ( )
3 σT h π 2 3 ( π )2
Iσ = I0 ρ T re2 ⟨|P|
⃗ 2 ⟩dΩ ≃ I0 ρ T ∆ = 9425 20 = 108 cps .
8π 4 32 180

Na polarização π, a variação de ⟨|P|


⃗ 2 ⟩ na abertura do detetor precisa ser levada em conta, caso

contrário a intensidade será nula...

abert. circular e espalh. simetr. em torno de ε̂


∫ z
∫ ∫ }| {
2π ∆/2
π 3π 4
⟨|P|
⃗ 2 ⟩ dΩ = cos2 (π/2 − γ) sen(γ)dγdφ = [8+cos(3∆/2)−9 cos(∆/2)] ≃ ∆ e
0 0 | {z } 6 8
⟨|P|
⃗ 2⟩

2
GaAs: célula unitária cúbica com 4 Ga (Z=31), 4 As (Z=33), e aresta de 5,6534 Å

14
( )
3 σT h 3π 4 9 ( π )4
Iπ = I0 ρ T ∆ = 9425 20 = 20 cps .
8π 8 64 180
···

1.3 Comprimentos de coerência da radiação


Sempre que representarmos o feixe de raios X por uma onda plana, e.g. eq. (1.2), é importante
termos em mente que essa representação é válida dentro de uma região limitada —do espaço
das distâncias relativas—, cujas dimensões são especificadas em termos dos comprimentos de
coerência. É dentro dessa região de coerência que fenômenos de interferência ocorrem. Daí a
importância em conhecer as propriedades de coerência de um determinado feixe de raios X.
O comprimento de coerência longitudinal CL , nos diz o quão distante, ao longo da direção
propagação do feixe, dois elétrons podem estar para ainda ser possível obter informações da
posição relativa deles a partir da interferência dos campos espalhados. A perda da coerência
longitudinal advém exclusivamente do fato de não existir uma fonte de raios X com largura
espectral nula. Assim, para deduzir o valor de CL vamos tomar λ1 e λ2 como comprimentos de
onda mínimo e máximo, tal que a largura espectral do feixe de raios X seja ∆λ = λ2 − λ1 em

torno de λ = λ1 λ2 (média geométrica). Partindo da eq. (1.2) de onda plana congelada no
tempo, t = 0, queremos calcular a distância ∆x de modo que

⃗ 0 eik1 ∆x = E
E ⃗ 0 eik2 ∆x

onde k1,2 = 2π/λ1,2 . Isso nos leva a k2 ∆x = k1 ∆x − 2π e portanto a ∆x = 2π/(k1 − k2 ). O


comprimento de coerência longitudinal é definido como a metade do valor de ∆x, ou seja

( )−1
1
def 1 1 1 1 λ1 λ2 1 λ2
CL = ∆x = − = = . (1.15)
2 2 λ1 λ2 2 λ2 − λ1 2 ∆λ

O comprimento de coerência transversal CT , nos diz o quão distante, numa direção per-
pendicular à direção de propagação do feixe, dois elétrons podem estar para ainda ser possível
obter informações da posição relativa deles a partir da interferência dos campos espalhados. A
perda da coerência transversal advém exclusivamente do fato de não existir um feixe de raios
X com divergência angular nula. Assim, para deduzir o valor de CT vamos tomar ∆⃗k ≃ kδ ŷ

15
Figura 1.4: Região de coerência formada por ondas planas com largura espectral ∆λ/λ = 0, 02
e divergência angular δ = 3◦ (∼ 52, 4 mrad), implicando em CL = 25 λ e CT = 9, 5 λ. Esquema
de vetores utilizado no cálculo de CT , eq. (1.16), é mostrado no canto superior direito.

onde ŷ é perpendicular a direção central do feixe e δ é a divergência angular de modo que a


direção do feixe esteja compreendida entre ⃗k e ⃗k + ∆⃗k, e.g. Fig. 1.4. A partir da eq. (1.2) de
onda plana, queremos calcular a distância ∆y de modo que

⃗ 0 e±i(ωt−⃗k·ŷ∆y) = E
E ⃗ 0 e±i[ωt−(⃗k+∆⃗k)·ŷ∆y] .

Isso nos leva a ∆⃗k · ŷ∆y = kδ∆y = 2π e portanto a ∆y = λ/δ. O comprimento de coerência
transversal é definido como a metade do valor de ∆y, ou seja

def 1 λ
CT = ∆y = . (1.16)
2 2δ
Usando construção geométrica por frentes de ondas podemos visualizar na Fig. 1.4 a formação
da região de coerência definida pelos comprimentos de coerência CL e CT .

···

Ex. 1.5: Seja a radiação gerada por um tubo de raios X com alvo de Cu e tamanho efetivo3
de 1, 0 × 1, 0 mm2 . (a) Quais os comprimentos de coerência longitudinal e transversal da radi-
ação Kα quando esta incide sobre uma amostra a 50 cm do alvo? Obs: ignore a diferença de
intensidade das linhas Kα1 e Kα2 . (b) Um monocromador de 2-reflexões, e.g. cristais 1 e 2 na
3
Dimensão da fonte de raios X (alvo) do ponto de vista da amostra.

16
Fig. 1.2, permite decompor angularmente as linhas espectrais da radiação Kα . Supondo que o
monocromador tenha aceitação de 0,10 mrad (largura intrínseca da reflexão, cap. 10) e que a
largura espectral da principal linha característica, Kα1 , seja 2,0 eV, estime o quão mais coerente
é a radiação monocromática.

Resp. (a): A radiação Kα é composta pelas linhas características Kα1 e Kα2 , com comprimentos
de onda λ1 = 1, 540562Å e λ2 = 1, 54439Å, respectivamente. Portanto,

∆λ λ2 − λ1 0, 00383
= √ = = 2, 48 × 10−3 ,
λ λ1 λ2 1, 54247

implicando num comprimento de coerência longitudinal

1 λ2 1, 54247
CL = = = 3, 11 × 102 Å (0, 031 µm).
2 ∆λ 2 × 2, 48 × 10−3

A divergência angular é determinada basicamente pelo tamanho efetivo do alvo e da posição


da amostra, o que leva a δ = 1, 0/500 = 2, 0 mrad, e um comprimento de coerência transversal

λ 1, 54247
CT = = = 3, 9 × 102 Å (0, 039 µm).
2δ 2 × 0, 0020

Resp. (b): Para a linha Kα1 com ∆E = 2, 0 eV, segue da eq. (1.1) que

∆λ ∆E 2, 0
= = = 2, 5 × 10−4 ,
λ E 8048

aumentando o comprimento de coerência longitudinal por um fator 10, i.e.,


( )−1
λ ∆E 1, 540562
CL = = = 3, 1 × 103 Å (0, 31 µm).
2 E 2 × 2, 5 × 10−4

Enquanto que,
1, 540562
CT = = 7, 7 × 103 Å (0, 77 µm)
2 × 0, 00010
aumenta por um fator de 20 devido à redução na divergência angular do feixe monocromático.

···

17
Resumo

— Onda de raio X incidente:

⃗ r, t) = E0 ε̂ e±i(ωt−⃗k·⃗r)
E(⃗

— Energia dos fótons de raio X:

2π ~ c
E[eV] = ~ |⃗k| c = λ
= 12398.5
λ[Å]

— Fator de polarização vetorial (vetor de onda espalhado ⃗k ′ = 2π


λ
ŝ′ ):

⃗ ′ ) = ŝ′ × (ε̂ × ŝ′ )


P(ŝ

— Fator de polarização escalar:






 1 polarização σ


⟨|P|
⃗ 2 ⟩ = cos2 2θ polarização π





 1 (1 + cos2 2θ) rad. não polarizada
2

— Raio clássico do elétron:


( )
re = e2
4πϵ0 mc2
= 2, 818 × 10−5 Å


— Onda espalhada (elétron na origem, observador em R):
⃗ ′ ·R)
e±i(ωt−k

E ⃗ t) = −re P
⃗ R (R, ⃗ E0
R

— Intensidade do espalhamento Thomson:

IT h (ŝ′ ) = Φ ⟨|P(ŝ
⃗ ′ )|2 ⟩ re2 dΩ

— Seção-de-choque diferencial (espalhamento Thomson):


( dσ )
dΩ T
= ⟨|P|
⃗ 2 ⟩re2

— Seção-de-choque total (espalhamento Thomson):

σT h = 8π 2
r
3 e
= 6, 6525 × 10−29 m2 = 0, 66525 barn

— Comprimentos de coerência:

λ2 λ E λ
CL = 2∆λ
= 2 ∆E
(longitudinal) e CT = 2δ
(transversal)

18
Capítulo 2

Espalhamento de raios X por distribuições


de elétrons livres

O espalhamento coerente de raios X por um conjunto de elétrons dá origem ao fenômeno de


interferência entre as ondas espalhadas por cada elétron do conjunto. Esse fenômeno físico
é o princípio fundamental de várias técnicas de espalhamento e difração de raios X. Iremos
inicialmente discutir o processo de interferência simples, onde os fótons de raio X interagem
uma única vez com o conjunto de elétrons, ou seja, estaremos desprezando, nesta primeira
abordagem, efeitos de re-espalhamento da radiação pela própria distribuição. Abordagem que,
em geral, é válida para distribuições dispersas como líquidos e gases, sólidos com pouca ordem
estrutural em escala atômica, ou ainda em amostras altamente ordenadas (cristais) mas com
dimensões submicrométricas.
As configurações das distribuições (conjuntos) de elétrons livres têm como fato implícito a
existência de forças eletromagnéticas atrativas (cargas positivas), as quais mantêm a estabili-
dade das distribuições e dão origem aos estados ligados dos elétrons. Na grande maioria dos
casos, estaremos tratando de elétrons atômicos e as distribuições eletrônicas são os distintos
arranjos de átomos que caracterizam os diferentes materiais. As leis de conservação (momento
e energia) permitem que um elétron ligado aniquile (absorva) totalmente um fóton de raio
X, de modo que os processos de espalhamento e interferência aqui apresentados terão de ser
posteriormente corrigidos para levarem em conta a absorção da radiação assim como efeitos de
ressonância atômica.
Qualquer distribuição de elétrons pode ser descrita por meio de uma função densidade

19
Figura 2.1: Espalhamento Thomson por uma distribuição volumétrica de elétrons livres descrita
em relação a uma origem arbitrária.

volumétrica de elétrons ρ(⃗r). O espalhamento Thomson de cada elemento de volume dV ,


contendo ρ(⃗r) dV elétrons, é análogo ao calculado na eq. (1.11), mas com a diferença de que as
posições dos elétrons espalhadores não coincidem mais com a origem, i.e., com ⃗r = 0. Então,
antes de deduzirmos o espalhamento total por uma distribuição volumétrica de elétrons, vamos
reescrever a eq. (1.8) para o caso de um elétron colocado numa posição ⃗r em relação a uma
origem arbitrária, como mostrado na Fig. 2.1, o que fornece

e
⃗ − ⃗r|, t) =
ER (|R z̈(⃗r, t′ ) . (2.1)
4πϵ0 c2 |R
⃗ − ⃗r|

|R
⃗ − ⃗r| é a distância entre o elétron espalhador e o ponto de observação do campo irradiado

—equivalente à distância R na eq. (1.8). A equação da aceleração, eq. (1.9), também muda
porque o elétron não está mais em ⃗r = 0, então

−e −e ′ ⃗
z̈(⃗r, t′ ) = E(⃗r, t′ ) = E0 e±i(ωt −k·⃗r) (2.2)
m m
sendo t′ = t − |R
⃗ −⃗r|/c. Com isso fica relativamente simples ver que a forma geral da eq. (1.11),

para uma origem arbitrária, é

±i(ωt−k|R−⃗r|−k·⃗
r) ⃗ ⃗
E ⃗ E0 e
⃗ t) = −re P
⃗ R (R, . (2.3)
|R
⃗ − ⃗r|

⃗ continua sendo a posição de observação, Fig. 2.1, mas a direção da radiação espal-
Note que R

20
hada é agora dada por

⃗ − ⃗r
R
ŝ′ = , (2.4)
|R
⃗ − ⃗r|

⃗ − ⃗r| = ⃗k ′ · (R
de modo que k|R ⃗ − ⃗r) na eq. (2.3), a qual é idêntica à eq. (1.11) no caso de ⃗r = 0.

O campo espalhado pela distribuição de elétrons corresponde portanto à integração da


eq. (2.3) multiplicada pelo número de elétrons dentro de cada elemento de volume, ou seja,

∫ ∫ ⃗′ ⃗ ⃗′ ⃗
⃗ distr (R,
⃗ t) = ⃗ R (R, ⃗ E0 e±iωt
⃗ t) dV = −re P e±i[(k −k)·⃗r−k ·R]
E ρ(⃗r)E ρ(⃗r) dV . (2.5)
|R
⃗ − ⃗r|

⃗′ ⃗
O fenômeno de interferência é totalmente governado pelo fator de fase e±i(k −k)·⃗r na integral
acima, a qual se estende por todo o volume da distribuição iluminado por um feixe incidente
com coerência de fase. Nos casos que iremos analisar, as distribuições têm dimensões muito
pequenas, por exemplo dimensões atômicas. No caso de distribuições extensas, o volume de
integração é limitado pelos comprimentos de coerência do feixe de raios X, tipicamente da
ordem de poucas micra (10−6 m), e.g. ex. 1.5. Como a distância de observação R é da ordem de
metros, temos que dentro do volume de integração o valor de |R
⃗ − ⃗r| é praticamente constante,

assim como o vetor de onda ⃗k ′ = kŝ′ , espalhado na direção de observação. Tais fatos permitem
uma simplificação importante na eq. (2.5), dando origem à expressão do campo distante

⃗′ ⃗
±i(ωt−k ·R) ∫ [ ]
E ⃗ t) ∼
⃗ distr (R, ⃗ E0 e
= −re P ρ(⃗r)e±iQ·⃗r dV = E
⃗ ⃗ R (R,
⃗ t) ⃗
F (Q) (2.6)
R ⃗
r =0

onde a origem é tomada como sendo um ponto qualquer dentro do volume de integração, por
exemplo, o centro de gravidade da distribuição. O vetor recíproco

⃗ = ⃗k ′ − ⃗k = 2π (ŝ′ − ŝ) ,
Q (2.7)
λ

também é constante dentro do volume de integração, e



ρ(⃗r)e±iQ·⃗r dV .
⃗ = ⃗
F (Q) (2.8)

Portanto, o campo distante espalhado por uma distribuição de elétrons livres corresponde ao

21
⃗ o qual depende
campo espalhado por um único elétron multiplicado pelo fator de forma F (Q),
tanto da forma da distribuição como da direção de observação ŝ′ (implícita no vetor recíproco
⃗ ). Como consequência, a intensidade do espalhamento será
Q

⃗ = IT h |F (Q)|
I(Q) ⃗ 2 (2.9)

onde IT h é a intensidade do espalhamento Thomson para um elétron, e.g. eq. (1.13).

2.1 Ferramentas matemáticas: transformada de Fourier


Embora a eq. (2.9) seja relativamente simples e compacta, compreender toda a física implícita
⃗ no estudo da estrutura atômica
nela não é trivial. Antes de mostrar a importância de F (Q)
dos materiais, precisamos recordar algumas ferramentas matemáticas, tais como função delta
de Dirac, transformada de Fourier e convolução de funções.
A função delta de Dirac, δ(x), em 1-D, satisfaz as seguintes relações:


∞ se x = 0 ∫ +∞ ∫ +∞
δ(x) = , δ(x)dx = 1 e f (x)δ(x − x0 )dx = f (x0 ) (2.10)

0 −∞ −∞
se x ̸= 0

para qualquer função f (x) contínua. Das várias expressões matemáticas da função delta, uma
que será útil é ∫ +h
sen(2πhx)
δ(x) = lim e±2πiqx dq = lim (2.11a)
h→∞ −h h→∞ πx
ou ∫ +a
sen(2πaq)
δ(q) = lim e±2πiqx dx = lim (2.11b)
a→∞ −a a→∞ πq
onde o produto qx é adimensional, i.e. [qx] = 1. Se x tem dimensão de comprimento, [δ(x)] =
m−1 e [δ(q)] = m. Note que, a escolha de sinal “±” é arbitrária e independe da escolha do sinal
da fase da onda de raio X incidente, eq. (1.2).

A transformada de Fourier (TF), em 1-D, da função f (x) é definida por


∫ +∞
F (q) = TF{f (x)} = f (x)e+2πiqx dx , (2.12)
−∞

22
usando o sinal “+” na fase, de acordo com a International Tables for Crystallography [11].
Portanto, a TF inversa fica dada por
∫ +∞ ∫ +∞ (∫ +∞ )
−1 −2πixq ′ +2πiqx′
TF {F (q)} = F (q)e dq = f (x )e dx e−2πixq dq = ′
−∞ −∞ −∞
∫ +∞ (∫ +∞ ) ∫ +∞
′ +2πiq(x′ −x) ′
= f (x ) e dq dx = f (x′ )δ(x′ − x)dx′ = f (x) . (2.13)
−∞ −∞ −∞

A convolução de duas funções, por exemplo f (x) e g(x), é definida como


∫ +∞
c(u) = f (x) ∗ g(x) = f (x)g(u − x)dx , (2.14)
−∞

de modo que a TF de uma convolução é igual ao produto das TFs de cada função, i.e.
∫ ∫ (∫ )
TF{f (x) ∗ g(x)} = c(u)e 2πiqu
du = f (x)g(u − x)dx e2πiqu du =

∫ (∫ ) ∫ ∫

= f (x)e 2πiqx
g(u − x)e 2πi(u−x)q
du dx = f (x)e 2πiqx
dx g(x′ )e2πiqx dx′ =

= F (q)G(q) = TF{f (x)} TF{g(x)} , (2.15)

e a TF de um produto é igual a convolução das TFs:


∫ ∫ ∫

TF{f (x)g(x)} = f (x)g(x)e 2πiqx
dx = f (x) g(x′ )δ(x − x′ )e2πiqx dx′ dx =

∫ ∫ (∫ )
′ 2πi(x−x′ )q ′ ′ ′
= f (x) g(x ) e dq e2πiqx dx′ dx =
∫ (∫ ) (∫ )
2πixq ′ ′ 2πi(q−q ′ )x′ ′
= f (x)e dx g(x )e dx dq ′ =

= F (q ′ )G(q − q ′ )dq ′ = F (q ′ ) ∗ G(q ′ ) = TF{f (x)} ∗ TF{g(x)} . (2.16)

A partir da definição da transformada de Fourier (TF), eq. (2.12), pode-se verificar que o
⃗ é a TF, em 3-D, da densidade eletrônica. Como a TF foi definida com o
fator de forma F (Q)
sinal de fase “+”, vamos aqui optar pela mesma escolha de sinal para a fase do fator de forma
na eq. (2.8). Com essa escolha estaremos determinando que, daqui em diante, a onda de raios
X incidente terá de ser representada com o sinal de fase “+” na eq. (1.2), ou seja, somente

23
E(⃗ ⃗ 0 e+i(ωt−⃗k·⃗r)
⃗ r, t) = E (2.17)

é uma representação consistente com a definição da TF. Isso significa que1


⃗ = ⃗
F (Q) ρ(⃗r) e+iQ·⃗r dV = TF{ρ(⃗r)} e (2.18)


⃗ = 1
ρ(⃗r) = TF {F (Q)} −1 ⃗ e−iQ·⃗r dVQ .
F (Q)

(2.19)
(2π)3

···

Ex. 2.1: (a) Calcule a expressão geral do fator de forma para densidades eletrônicas com
simetria radial. (b) No caso de uma distribuição esférica e uniforme de elétrons, obtenha a
curva da intensidade espalhada, I(Q), e determine a dispersão angular do espalhamento em
função do raio a da distribuição.

Resp. (a): Devido a simetria radial



⃗ = F (Q) = TF{ρ(r)} = ⃗
F (Q) ρ(r) e iQ·⃗r dV ,

⃗ Definindo-se ẑ = [0, 0, 1] como


implicando que a solução independe da direção do vetor Q.
sendo a direção do vetor recíproco,

⃗ = Qẑ = [0, 0, Q],


Q ⃗r = r [senγ cos φ, senγ senφ, cos γ],
⃗ · ⃗r = Q r cos γ,
Q e dV = r2 senγ dr dγ dφ .

∫ 2π ∫ π ∫ ∞ z
= 0 (função ímpar)
}| {
∴ F (Q) = ρ(r) r2 [cos(Qr cos γ) + i sen(Qr cos γ)] senγ dr dγ dφ =
0 0 0
∫ ∞ ∫ π ∫ ∞ ∫ +Qr

= 2π ρ(r) r dr r senγ cos(Qr cos γ) dγ = ρ(r) r dr cos w dw =
0 0 Q 0 −Qr
| {z }
onde w=Qr cos γ

1
Caso tenha dificuldade em comparar as eqs. (2.18) e (2.19) com as eqs. (2.12) e (2.13) devido à ausência
do número 2π no fator de fase, você pode redefinir o vetor recíproco para deixar esse número explícito, tal que
⃗ = 2π⃗q onde ⃗q = (ŝ′ − ŝ)/λ. dVQ = dQx dQy dQz = (2π)3 dqx dqy dqz = (2π)3 dVq .
Q

24
∫ ∞ [ ]
2 sen(Qr)
= ρ(r) 4πr dr , (2.20)
0 Qr
cuja solução, numérica ou analítica, depende da forma explícita da função ρ(r).

Resp. (b): Substituindo ρ(r) = ρ s(r) onde s(r) = 1 se r ≤ a e s(r) = 0 se r > a na eq. (2.20),
tem-se
∫ Qa
4πρ 4πρ
F (Q) = 3 v senv dv = 3 [senv − v cos v]Qa
0 =
Q Q
|0 {z }
v=Qr

[ ]
sen(Qa) − (Qa) cos(Qa)
=3 ρV = Θ(Qa)ρV . (2.21)
(Qa)3
V é o volume ocupado pelos ρV elétrons da distribuição. A intensidade espalhada

I(Q) = IT h |F (Q)|2 = IT h ρ2 V 2 [Θ(Qa)]2 =

[ ]2
2sen(Qa) − (Qa) cos(Qa)
2
= IT h ρ V 9 , (2.22)
(Qa)3
tem valor máximo em Q = 0 e é proporcional ao quadrado do número de elétrons, i.e. I(0) =
IT h ρ2 V 2 . A curva de I(Qa)/I(0) mostrada na Fig. 2.2, calculada através da rotina exsphere.m
(MatLab),2 permite estimar a dispersão angular pela intensidade a meia altura onde I(Qa =
1, 8149)/I(0) = 1/2 [Obs.: para encontrar o valor Qa = 1, 8149 calcule numericamente a raiz
da função y(x) = 2 I(x)/I(0) − 1]. Como

⃗ = 2π |ŝ ′ − ŝ| = 4π senθ ,


Q = |Q| (2.23)
λ λ

a condição de meia altura implica num ângulo de espalhamento 2θ que satisfaz


( )
1, 8149 λ −1 λ λ
sen(2θ/2) = ⇒ 2θ1/2 = 2 sen 0, 1444 ≃ 0, 3 . (2.24)
4π a a | {za}
qdo λ < a

···

2
Rotinas em MatLab (extensão ∗.m) ou em C++ (∗.c) estão disponíveis nas páginas finas deste livro,
Apêndice A.

25
Figura 2.2: Intensidade relativa I(Qa)/I(0) (——), espalhada por um densidade eletrônica
esférica uniforme. Decaimento exponencial exp[−α (Qa)2 ] (– – –), com α = 0, 21, mostrado
por questões de comparação. Inserção: intensidade relativa em escala logarítmica. O primeiro
mínimo ocorre em Qa = 4, 4934. [exsphere.m]

2.2 Distribuições de 1 elétron e o espalhamento Compton


Qualquer elétron somente existe como uma distribuição de probabilidade. No tratamento de
Thomson da radiação espalhada, a posição do elétron foi dada como totalmente localizada em
⃗r. Porém, por ser uma partícula muito leve (pouca massa), as características ondulatórias do

elétron precisam ser consideradas. A densidade de probabilidade |ψ(⃗r)|2 , tal que |ψ(⃗r)|2 dV =
1, é o que de fato caracteriza o espalhamento coerente produzido por um único elétron. Isso
implica que, o espalhamento de 1 elétron já apresenta efeitos de interferência, os quais são
considerados ao se calcular o fator de forma


⃗ =
fe (Q) |ψ(⃗r)|2 e+iQ·⃗r dV = TF{|ψ(⃗r)|2 } , (2.25)

da densidade de probabilidade. A intensidade da radiação espalhada com coerência de fase por


1 elétron é, portanto, dada por
⃗ = IT h |fe (Q)|
Icoer (Q) ⃗ 2. (2.26)

26
Exceto na condição Q = 0, a intensidade coerente é sempre menor que a intensidade IT h
espalhada por um único elétron, eq. (1.13). Numa primeira análise, esta observação pode dar
a impressão do cálculo de IT h estar incorreto por ter sido obtido a partir de uma hipótese
clássica ideal (elétron com posição definida), ou que somente seja válido para distribuições de
probabilidade muito localizadas a ponto de serem descritas por funções delta, i.e., |ψ(⃗r)|2 =
δ(⃗r − ⃗r0 ) onde ⃗r0 é a posição do elétron e substituindo nas Eqs. 2.25 e 2.26 teremos

⃗ r0
⃗ = TF{δ(⃗r − r⃗0 )} = e iQ·⃗
fe (Q) ⇒ |fe (Q)|
⃗ 2 = 1 para ∀ Q
⃗ .

Mas, o valor de IT h está correto e representa, de fato, a intensidade espalhada por um elétron.3
O que falta é apenas reavaliar o processo de interação fóton-elétron da perspectiva da eletrod-
inâmica quântica (QED - quantum eletrodynamics), ou seja, levando em conta a dualidade
onda-partícula tanto da radiação eletromagnética como a do elétron. A característica ondu-
latória gera a parte coerente do espalhamento, Icoer , e a característica de partícula gera uma
parte incoerente, IComp , que é o espalhamento Compton. A auto-interferência produzida pela
própria densidade de probabilidade do elétron é o que determina se a radiação se comporta
como onda ou como partícula.
Sendo o resultado da interação fóton-elétron restrito às duas possibilidades representadas
pelos diagramas na Fig. 2.3. Antes da colisão os diagramas são idênticos: um fóton com com-
primento de onda λ interage com um elétron e− . Porém o resultado da interação depende
do valor de |fe (Q)|
⃗ 2 . Se para um dado Q
⃗ a auto-interferência é totalmente destrutiva, i.e.

|fe (Q)|
⃗ 2 = 0, o resultado da interação é o espalhamento Compton, Fig. 2.3(a). Por outro lado,

se |fe (Q)|
⃗ 2 = 1 a auto-interferência é totalmente construtiva, predominando o espalhamento

coerente, Fig. 2.3(b). Numa condição intermediária onde |fe (Q)|


⃗ 2 < 1, de um total de N inter-

ações, N |fe (Q)|


⃗ 2 interações terão como resultado o espalhamento coerente e N (1 − |fe (Q)|
⃗ 2)

interações resultarão no espalhamento Compton. Portanto, a intensidade do espalhamento


Compton é simplesmente dada por

⃗ = IT h (1 − |fe (Q)|
IComp (Q) ⃗ 2) . (2.27)

Intuitivamente se esperaria que a característica corpuscular da radiação seja mais evidente


3
Dentro da aproximação não relativística, a qual é razoável para raios X de até algumas dezenas de keV. O
valor exato de IT h vem da fórmula de Klein-Nishina, veja por exemplo ref. [30], pag. 250, eq. 7.8.

27
Figura 2.3: Interação fóton-elétron e a manifestação da dualidade onda-partícula da radiação
eletromagnética. (a) Característica corpuscular: espalhamento incoerente, λ ′ > λ, efeito Comp-
ton. (b) Característica ondulatória: espalhamento coerente, λ ′ = λ, fenômenos de interferência.
A fração relativa entre espalhamento incoerente e coerente depende da auto-interferência pro-
duzida pela densidade de probabilidade espacial do elétron, eq. (2.25).

quando o elétron esta localizado. Mas, o que ocorre é exatamente o oposto. Quanto mais local-
izado for o elétron, menor a probabilidade de ocorrer o espalhamento Compton, e.g. Fig. 2.4.
Numa distribuição de elétrons, para se corrigir a intensidade experimental Iexp da inten-
sidade de fundo (incoerente) gerada pelo efeito Compton é necessário somar sobre todos os
elétrons individualmente, ou seja, a intensidade coerente espalhada pela distribuição será

∑ ∑
⃗ = Iexp − IT h
I(Q) (1 − |fe (Q)|
⃗ 2 )j = Iexp − IT h (1 − |TF{|ψj (⃗r)|2 }|2 ) (2.28)
j j

onde j corre por todos os elétrons da distribuição, cujas funções de onda são os ψj (⃗r).4 Entenda
bem o significado desta expressão: a ocorrência ou não do efeito Compton depende apenas da
auto-interferência de cada elétron. A interferência dos campos espalhados pelos elétrons não
afeta o efeito Compton, mas aumenta muito a contribuição do espalhamento coerente. Isso torna
a correção pela eq. (2.28) muito pequena em comparação à intensidade total do espalhamento
⃗ ≃ Iexp na maioria dos casos que trataremos neste livro.
coerente e, portanto, I(Q)

···
4
Situação válida quando as energias de ligação de todos os elétrons podem ser desprezadas. O caso de elétrons
ligados é discutido na § 3.3.

28
Ex. 2.2: Compare as intensidades coerente e incoerente espalhadas pelas seguintes densidades
de probabilidade de 1 elétron: |ψI (r)|2 = 3/4πa3 uniforme dentro de uma esfera de raio a =
0, 5 Å (nula fora da esfera); e |ψII (r)|2 = e −2(r/a) /πa3 . [Obs:. considere radiação não polarizada
e despreze qualquer energia de ligação do elétron.]

Resp.: As intensidades coerente e incoerente são dadas, respectivamente, por

⃗ = IT h |fe (Q)|
Icoer (Q) ⃗ 2 ⟩ r2 |fe (Q)|
⃗ 2 = Φ⟨|P| ⃗ 2 dΩ e
e

⃗ = IT h (1 − |fe (Q)|
IComp (Q) ⃗ 2 ⟩ r2 (1 − |fe (Q)|
⃗ 2 ) = Φ⟨|P| ⃗ 2 ) dΩ .
e

Para a distribuição radial uniforme segue da eq. (2.21) que fe (Q) = TF{|ψI (⃗r)|2 } = Θ(Qa), e
para a distribuição tipo orbital 1s do hidrogênio, segue da eq. (2.20) que [37]
∫ ∞ [ ]
4 −2(r/a) sen(Qr) 1
fe (Q) = TF{|ψII (⃗r)| } = 3
2 2
r e dr = .
a 0 Qr [1 + (Qa/2)2 ]2

Levando também em conta o coeficiente de polarização, ⟨|P|


⃗ 2 ⟩ = [1+cos2 (2θ)]/2, as intensidades

espalhadas por essas duas distribuições são comparadas na Fig. 2.4.

···

29
Figura 2.4: Intensidades coerentes e incoerentes (Compton) espalhadas por 1 elétron com
diferentes densidades de probabilidade |ψ(r)|2 (inserção). I: Icoer (——) e IComp (– – –). II:
Icoer (——) e IComp (– – –). Em ambos os casos, Icoer + IComp = IT h (– · – · –) e λ = 1, 54 Å.
[excompton.m]

Resumo


— Onda espalhada por 1 elétron em ⃗r (observador em R):
⃗′ ⃗ ⃗ ′ −⃗
⃗ t) = −re P
⃗ R (R, ⃗ E0 e i[ωt−k ·R+(k k)·⃗
r]
E |R−⃗
⃗ r|

— Onda espalhada por uma distribuição eletrônica ρ(⃗r) [No de elétrons/volume], aproximação
de campo distante:
∫ ⃗′ ⃗
E ⃗ t) ≃ E
⃗ distr (R, ⃗ R (R,
⃗ t)⃗r=0 ρ(⃗r)e i(k −k)·⃗r dV

— Vetor recíproco (sendo ⃗k ′ ∠ ⃗k = 2θ):

⃗ = ⃗k ′ − ⃗k
Q e Q = |Q|
⃗ = 4π
senθ
λ

⃗ e Transformada de Fourier (TF) em 3D:


— Fator de forma F (Q),
∫ ⃗
⃗ = TF{ρ(⃗r)} =
F (Q) ρ(⃗r) e iQ·⃗r dV

— TF inversa em 3D:

30

ρ(⃗r) = TF−1 {F (Q)} ⃗ e −iQ·⃗
⃗ = 1 ⃗ r
(2π)3
F (Q) dVQ

— Fator de forma para densidade eletrônica esferossimétrica [eq. (2.20)]

∫ ∞ [ ]
2 sen(Qr)
F (Q) = ρ(r) 4πr dr
0 Qr

— Fator de forma para esfera uniforme de raio a e volume V [eq. (2.21)]

[ ]
sen(Qa) − (Qa) cos(Qa)
F (Q) = Θ(Qa) V = 3 V
(Qa)3

— Fator de forma de 1 elétron com função de onda ψ(⃗r):

⃗ = TF{|ψ(⃗r)|2 }
fe (Q)

— Espalhamento coerente por 1 elétron:

⃗ = IT h |fe (Q)|
Icoer (Q) ⃗ 2 = Φ r2 ⟨|P|
⃗ 2 ⟩ |fe (Q)|
⃗ 2 dΩ
e

— Espalhamento incoerente (Compton) por 1 elétron:

⃗ = IT h (1 − |fe (Q)|
IComp (Q) ⃗ 2 ) = Φ r2 ⟨|P|
⃗ 2 ⟩ (1 − |fe (Q)|
⃗ 2 ) dΩ
e

31
Capítulo 3

Átomos e moléculas

O espalhamento coerente de um átomo é caracterizado exclusivamente pela nuvem eletrônica.


A alta frequência dos raios X, da ordem de 1018 Hz, e a inércia (massa) do núcleo tornam o
espalhamento coerente pela carga nuclear nulo. O efeito da carga nuclear se reflete apenas
nas características eletrônicas, diferenciando um átomo de outro pelo o número de elétrons
(número atômico Z) e pelas energias dos elétrons nas camada e orbitais atômicos. As energias
dos orbitais são determinantes para o efeito de absorção dos raios X, como veremos no próximo
capítulo. Por enquanto, um átomo neutro ou ionizado será tratado apenas como um agregado
de elétrons livres, descrito pela densidade eletrônica


Z
ρa (⃗r) = |ψj (⃗r)|2 , (3.1)
j=1


onde |ψj (⃗r)|2 é a densidade de probabilidade dos orbitais ocupados, tal que ρa (⃗r) dV = Z.

3.1 Átomos esferossimétricos


A amplitude do espalhamento coerente produzido por um átomo é proporcional ao fator de
forma atômico

Z
⃗ = TF{ρa (⃗r)} =
f (Q) TF{|ψj (⃗r)|2 } (3.2)
j=1

—eq. (2.18) com f no lugar de F —, também chamado de fator de espalhamento atômico. Os


⃗ para todos os átomos e íons são calculados através das funções de onda para
valores de f (Q)

32
Átomo a1 a2 a3 a4 b1 b2 b3 b4 c
C 2,3100 1,0200 1,5886 0,8650 20,8439 10,2075 0,5687 51,6512 0,2156
Ga 15,2354 6,7006 4,3591 2,9623 3,0669 0,2412 10,7805 61,4135 1,7189
Ga3+ 12,6920 6,6988 6,0669 1,0066 2,8126 0,2279 6,3644 14,4122 1,5355
As 16,6723 6,0701 3,4313 4,2779 2,6345 0,2647 12,9479 47,7972 2,5310

Tabela 3.1: Coeficientes


∑ de Cromer-Mann para alguns átomos e íons (Fonte: ref. [38], pp.
578–580). Note que, an + c = f (0) ≈ Z.

átomos de muitos elétrons,1 ou medidos experimentalmente, quando viável, a partir de gases


monoatômicos. Devido a grande precisão e disponibilidade de valores teóricos num amplo inter-
⃗ estes são os valores utilizados de fato na simulação de experimentos de espalhamento
valo em Q,
⃗ mas em função de
de raios X. Eles são tabelados, não diretamente em função de Q,

senθ/λ = Q/4π (3.3)

onde θ é a metade do ângulo de espalhamento, o qual convencionamos de chamar 2θ , Fig. 1.1(b).


A dependência somente com o módulo Q, do vetor recíproco é consequência da simetria esférica
dos átomos (ou simetria de revolução) assumida nos cálculos. Isso não é exatamente correto
para átomos com camadas incompletas, ou átomos em ligação químicas com nuvens eletrônicas
distorcidas. Contudo, a maior contribuição ao espalhamento coerente advém das camadas
internas dos átomos, de modo que existem poucas situações onde esses fatos são relevantes e,
portanto, somente nessas situações particulares eles são levados em conta.2
Devido à frequente necessidade de utilizar dados de espalhamento atômico em rotinas de
cálculo, i.e., de interpolar os valores tabelados, a seguinte equação paramétrica foi desenvolvida,


n=4
Q 2
⃗ = f (Q) =
f (Q) an e−bn ( 4π ) + c . (3.4)
n=1

an , bn e c são parâmetros ajustáveis que permitem reproduzir os valores teóricos de f (Q).3


Assim, para cada átomo ou íon existe um conjunto de 9 constantes, comumente chamadas de
coeficientes de Cromer-Mann, alguns dos quais mostrados na Tabela 3.1.
1
As funções de ondas para átomos de muitos elétrons são obtidas por vários métodos, dependendo do número
atômico e do estado de ionização. Para referências detalhadas veja, por exemplo, ref. [38], pp. 554 e 565.
2
Ref. [17], pag. 160. Veja também ref. [38], § 6.1.1.4.
3
No intervalo de Q entre 25 Å−1 e 75 Å−1 , os valores de f (Q) são obtidos através de outra equação
paramétrica, e.g. ref. [38], pp. 565.

33
Nota 3.1: O conhecimento dos fatores de espalhamento atômico é de extrema importância
na física de raios X. Assim, para um melhor aproveitamento deste livro, o leitor deverá ter
em mãos uma rotina que forneça f (Q), e.g. rotina asfQ.m.

···

Ex. 3.1: Escolha um átomo e um íon deste átomo, por exemplo Ga e Ga3+ . (a) Obtenha os
gráficos de f (Q) para fótons com diferentes energias E. O que muda em f (Q) com a energia?
(b) Mostre, num gráfico em coordenadas polares, a dependência dos fatores de espalhamento
atômico com o ângulo de espalhamento e com a energia dos fótons. O que muda em f (2θ) com
a energia? (c) Como a ionização do átomo afeta a amplitude do espalhamento?

Resp. (a): Fig. 3.1. A curva f (Q) para um átomo não depende da energia, apenas o valor
máximo de Q,
=1
1, 0135
4π z}|{ 4π −1
Qmax = senθ =  E ≈ E (Å /keV) . (3.5)
λ hc
−1
Por exemplo, para fótons de 8 e 20 keV, f (Q) vai até Q = Qmax ≈ 8 e 20 Å , respectivamente,
quando o ângulo de espalhamento é o maior possível, i.e. 2θ = 180◦ . Para outros ângulos de
espalhamento, Q = Qmax senθ.

Resp. (b): Fig. 3.2. Ao se aumentar a energia dos fótons, o espalhamento coerente fica cada
vez mais concentrado em torno do feixe direto.

Resp. (c): Na direção do feixe direto, a ionização reduz a amplitude do espalhamento pelo
valor da carga do íon em número de elétrons. Com o aumento do ângulo de espalhamento, a
ionização deixa de afetar o valor de f .

···

3.1.1 Seção-de-choque do espalhamento coerente para átomos isola-


dos

Quando um átomo está isolado, a ponto de não haver efeitos de interferência com campos
espalhados por outros átomos, o valor integrado da intensidade coerente com respeito a todas

34
Figura 3.1: Fatores de espalhamento atômico do Ga (Z = 31) e Ga3+ (Z = 28) em função de
Q para as energias E = 8 e 20 keV. [exasf.m]

as direções do espaço é igual a Φ σR . A seção-de-choque do espalhamento coerente

∫ { }

3
σR (E, Z) = re2 ⟨|P|
⃗ 2 ⟩ |f (Q)|
⃗ 2 dΩ = exp cn [ln(E)]n (3.6)
n=0

é característica a cada elemento e pode ser obtida de três maneiras: integração numérica de
|f (Q)|2 ; interpolação de valores tabelados [26]; ou através da equação paramétrica (ou função
analítica) indicada acima com os coeficientes cn [34], rotina sgrayleigh.m. Uma comparação
entre a integração numérica e a solução analítica é apresentada na Fig. 3.3. A importância
do valor de σR está relacionado com o efeito de atenuação linear do feixe incidente, como será
discutido na § 4.1.

35
Figura 3.2: Fatores de espalhamento atômico do Ga e Ga3+ em função do ângulo de espa-
lhamento 2θ, para as energias E = 8 e 20 keV. Coordenadas polares: x = f (2θ) cos 2θ e
y = f (2θ) sen2θ. [exasf.m]

3.2 Espalhamento por Moléculas e o “problema da fase”


Para qualquer átomo f (0) = Z, cf. Fig. 3.1, indicando que a interferência das ondas espalhadas
pelos elétrons da eletrosfera do átomo é totalmente construtiva na direção do feixe incidente,
independentemente da energia utilizada. Em qualquer outra direção, 2θ ̸= 0, a amplitude do
espalhamento coerente do átomo diminui tanto com o aumento do ângulo de espalhamento,
Fig. 3.2, assim como com o aumento da energia, fato claramente observado pela redução da
seção-de-choque σR , Fig. 3.3. A interferência construtiva total em Q = 0 é um fato físico,
descrito através da TF da densidade eletrônica, eq. (2.18), e independe da natureza da dis-
tribuição, quer seja a distribuição de probabilidade de 1 elétron ou a distribuição formada por
muitos átomos.

36
Figura 3.3: Seção-de-choque do espalhamento coerente para o oxigênio. Comparação das
soluções numérica e analítica. 1 barn = 10−28 m2 . [exsgr.m]

Na determinação das mais diversas estruturas atômicas, sejam moléculas dispersas em gás,
em solução, ou em estado sólido cristalino ou amorfo, o importante é analisar o quê acontece fora
da condição Q = 0. A Cristalografia de raios X, em grande parte, consiste exclusivamente em
−1
⃗ abrangendo Qs no intervalo de 10−3 a 102 Å ,
métodos de medir intensidades coerentes I(Q),
assim como em métodos de tratar adequadamente as intensidades medidas para cada tipo de
amostra ou material sob investigação. Determinar a estrutura atômica a partir das medidas
de intensidade é difícil porque as informações das fases dos fatores de forma são perdidas nas
medidas. Por exemplo, considere a densidade eletrônica

∑ ∑∫ ∑
ρ(⃗r) = ρa (⃗r − ⃗ra ) = ρa (⃗r ′ ) δ(⃗r − ⃗ra − ⃗r ′ ) dV ′ = ρa (⃗r) ∗ δ(⃗r − ⃗ra ) (3.7)
a a a

de um arranjo discreto de átomos, por exemplo o de uma molécula, onde o índice a corre por
todos os átomos do conjunto, e cujas posições são dadas por ⃗ra . Usando a propriedade de que
a TF de uma convolução é igual ao produto das TFs, eq. (2.15), o fator de forma do conjunto

37
será

∑ ∑ ⃗ ⃗
⃗ = TF{ρ(⃗r)} =
F (Q) TF{ρa (⃗r)} TF{δ(⃗r − ⃗ra )} = fa (Q) e iQ·⃗ra = |F (Q)|e
⃗ iϕ(Q) . (3.8)
a a

Os fatores de espalhamento atômicos fa (Q) são conhecidos, e.g. eq. (3.4). Se as posições
atômicas forem dadas, podemos calcular com facilidade as intensidades espalhadas para qual-
quer valor de Q ⃗ = IT h |F (Q)|
⃗ através da eq. (2.9), I(Q) ⃗ 2 . A dificuldade está em determinar as
⃗ ⇒ |F (Q)|,
posições a partir das medidas de intensidade. I(Q) ⃗ mas isso não é suficiente para

se obter
{ }
−1 ⃗
ρ(⃗r) = TF |F (Q)|e
⃗ iϕ(Q)
(3.9)

⃗ são desconhecidos. Esse problema é fundamental em crista-


porque os valores das fases ϕ(Q)
lografia, comumente chamado de “problema da fase”. Para cada tipo de amostra existe um
procedimento a ser adotado na análise estrutural, daí a razão da cristalografia de raios X ser
uma área bastante extensa. Um recurso muito utilizado é o modelamento da estrutura e simu-
lação da intensidade espalhada. Habilidades em computação e em métodos de ajuste de curvas
são cruciais em física de raios X aplicada. A prática na análise de dados leva ao desenvolvimento
de uma boa intuição sobre as correlações que existem entre o espaço recíproco, acessível através
⃗ e o espaço real, i.e. o aspecto de ρ(⃗r). No Capítulo 5, vamos começar a análise do es-
de I(Q),
palhamento por arranjos de átomos que representam sistemas típicos frequentemente estudados
em laboratório. Caso queira, você pode pular para o Capítulo 5, perfeitamente compreensíveis
sem a necessidade de levar-se em conta o espalhamento Compton e a absorção da radiação
(Capítulo 4).

···

Ex. 3.2: Com o intuito de registrar a intensidade espalhada por uma única molécula, um
filme de raios X ou uma chapa a base de fósforo fotoestimulável —conhecida por image plate
ou PSP plate: photostimulable phosphor plate— é montado na forma de um cilindro em volta
da posição onde a radiação incide na molécula, como esquematizado na Fig. 3.4. A radiação
tem polarização linear ao longo do eixo do cilindro. (a) Defina um sistema de coordenadas para
localizar cada pixel do filme a partir do centro da molécula. Quais os versores ŝ e ε̂, o vetor
⃗ e o versor ŝ′ neste sistema de coordenadas? (b) Qual o ângulo sólido dΩ
posição de pixel R

38
Figura 3.4: Detetor de radiação (filme para raios X ou image plate) colocado na forma cilíndrica
em torno de uma molécula 6C. Feixe de raios X com polarização linear ao longo do eixo do
detetor (cilindro).

correspondente a cada pixel? (c) Escreva uma rotina para calcular o fator de forma da molécula
em função da orientação dela, assumindo que a molécula é um anel aromático com 6C onde o
comprimento da ligação C–C é d = 140 pm. (d) Calcule a intensidade distribuída sobre o filme
para uma dada orientação da molécula. Qual a intensidade espalhada (sem considerar o feixe
incidente-transmitido) no pixel central, coordenadas (0,0)?

Resp. (a): ŝ = [1, 0, 0] (direção do feixe incidente), ε̂ = [0, 0, 1] (polarização ao longo do eixo
⃗ = [D cos ϕ, Dsenϕ, z] (posição de cada pixel) onde D é o raio do cilindro (filme),
do cilindro), R
e

R [D cos ϕ, Dsenϕ, z]
ŝ′ (z, ϕ) = = √
|R|
⃗ D2 + z 2
é a direção do feixe espalhado no pixel de coordenadas (z, ϕ).

Resp. (b): Sendo γ o ângulo polar, entre ŝ ′ e o eixo do cilindro, a área efetiva da cada pixel
vista do centro da molécula, Fig. 3.4, é

área do pixel
z }| { D D2 dϕ dz
∆Aefet = senγ D dϕ dz = D dϕ dz = √
R D2 + z 2

39
∆Aefet D2 dϕ dz
∴ dΩ(z) = = .
R2 (D2 + z 2 )3/2

Resp. (c): Vamos inicialmente colocar o anel aromático no plano yz, tal que ele fique perpen-
dicular ao feixe incidente e as posições atômicas dadas por

⃗rn(0) = d [0, cos(nπ/3), sen(nπ/3)]

onde n = 1, 2, . . . , 6. Em torno do eixo x a molécula tem simetria de um eixo 6 (i.e. posições


se repetem a cada 360◦ /6), de modo que a matriz de rotação

RX (θx ) = [1, 0, 0; 0, cos θx , −senθx ; 0, senθx , cos θx ]

somente faz diferença para θx no intervalo de 0 a π/3. Já em torno dos eixos y e z, a molécula
tem simetria 2 (eixo 2) e as matrizes

RY (θy ) = [cos θy , 0, −senθy ; 0, 1, 0; senθy , 0, cos θy ] e

RZ (θz ) = [cos θz , senθz , 0; −senθz , cos θz , 0; 0, 0, 1]

fazem diferença para θy,z no intervalo de 0 a π. A rotação total da molécula é definida aqui pela
sequência: R(θx , θy , θz ) = RX (θx ) RY (θy ) RZ (θz ), tal que as posições atômicas após rotação
sejam
⃗rn = ⃗rn(0) R(θx , θy , θz ) .

[Obs: vetores de posição representados por matrizes linha, matrizes 1 × 3 onde ⃗rn ≡ [⃗rn ]1×3 .
Na representação por matrizes coluna 3 × 1, as matrizes de rotação são transpostas, i.e.,
(0) (0)
t
[⃗rn ]3×1 = [⃗rn ]1×3 = R t (θx , θy , θz ) [⃗rn ]1×3
t
= RZ (−θz ) RY (−θy ) RX (−θx ) [⃗rn ]3×1 .]
Com a molécula numa dada orientação (θx , θy , θz ) → ⃗rn , o fator de forma da molécula


6

⃗ = fC (Q)
FM (Q) e i Q·⃗rn
n=1

é calculado para cada pixel especificado pelo versor ŝ ′ (z, ϕ), tal que Q(z,
⃗ ϕ) = (2π/λ) [ŝ ′ (z, ϕ) −

ŝ] e ∴ ⃗ → FM (z, ϕ).


FM (Q)

40
⃗ sobre o filme, vamos tomar D = 50 mm (raio
Resp. (d): Para calcular a intensidade I(Q)
do cilindro) e L = 200 mm onde 2L é o comprimento total do cilindro tal que z ∈ [−L, L].
Pelo fato da molécula ter poucos átomos, a distribuição da intensidade é relativamente suave,
não havendo necessidade de filmes de alta resolução com pixeis muito pequenos. Sendo assim,
vamos utilizar pixeis de 2 mm, cuja área D dϕ dz = 4 mm2 onde dz = 2 mm e dϕ = 1/25 rad,
resultando num total de 31400 pixeis.
A expressão da intensidade é dada por

I(z, ϕ) = Φ re2 ⟨|P|


⃗ 2 ⟩ dΩ(z) |FM (z, ϕ)|2 = Φ r2 M (z, ϕ)
e

onde ⟨|P| ⃗ ′ )|2 → |P(z,


⃗ 2 ⟩ = |P(ŝ ⃗ ϕ)|2 = |ŝ ′ (z, ϕ) × ε̂ × ŝ ′ (z, ϕ)]|2 , eq. (1.5). Um exemplo é

mostrado na Fig. 3.5 onde, no pixel central,


( )
D dϕ dz 4
I(0, 0) = Φ re2|P(0,
⃗ 0)| 2
[6 fC (0)]2 = 362 ≃ 2 cps .
|{z} | {z } D2 50 2
= 1 cps =1

Ex. 3.3: (a) Usando uma rotina de distribuição de fótons, na qual a probabilidade é pro-
porcional à intensidade nos pixeis do filme na Fig. 3.4, estime o número mínimo de fótons
necessário para formar uma imagem que seja suficientemente nítida para se identificar a ori-
entação da molécula. (b) Para um fluxo Φ = 1/re2 = 1, 26 × 1025 cps/cm2 , qual o tempo de
exposição para tornar o experimento viável?

Resp. (a): Com 104 fótons de 20 keV já é possível identificar detalhes do padrão de interferência
da molécula, veja imagem (com 105 fótons) na Fig. 3.6.

Resp. (b): A intensidade total distribuída sobre o filme, Ipsp = Φ re2 j Mj , corresponde a
soma das intensidades nos pixeis, os quais são aqui especificados pelo subíndice j. O número
de fótons, coletados num intervalo de tempo ∆t, será portanto N = Ipsp ∆t . No caso da
orientação R(30◦ , 0, 90◦ ) e E = 20 keV, ex. 3.2(d), Fig. 3.5, a intensidade já foi calculada para
Φ re2 = 1 cps, de modo que basta somarmos os valores calculados em cada pixel para termos

M = 31400
j=1 Mj = 82, 1, e assim

N 104
∆t = = = 121, 8 s.
Φ re2 M 82, 1

41
Figura 3.5: Intensidade espalhada por uma molécula 6C orientada no plano xz (Fig. 3.4),
R(30◦ , 0, 90◦ ). Raios X de 20 keV, e fluxo tal que Φ re2 = 1 cps. [benzeneonpsp.m]

Para o experimento ser viável, o fluxo total requerido é de pelo menos Φ ∆t = 121, 8/re2 =
1, 5 × 1027 fótons/cm2 , mas num tempo de exposição suficientemente curto para o padrão de
difração ser gerado antes de qualquer movimento da molécula. Pulsos de raios X ultra curtos,
com duração da ordem de fentosegundos, são produzidos por lasers de eléctrons livres (FEL
- free-electron laser ). Com a tecnologia atual, um pulso de 70 fs pode ter potência de até
1016 W/cm2 para fótons de 1,8 keV [15], implicando num fluxo total de 2, 4 × 1018 fótons/cm2 .
Embora para a detecção do padrão de difração de uma única molécula estes valores, tanto de
fluxo como de energia dos fótons, sejam muito inferiores aos necessários, novos avanços nas
tecnologias de produção de radiação X podem tornar tais experimentos concebíveis dentro de
poucos anos —a exemplo do que ocorreu na década 90 quando surgiram as fontes síncrotrons de
terceira geração que mudaram drasticamente os paradigmas da física de raios X experimental

42
Figura 3.6: Imagem formada por 105 fótons de raios X espalhados por uma molécula de benzeno.
Orientação: R(30◦ , 0, 90◦ ). Raios X de 20 keV. [photonsonpsp.m]

[1].
···

3.3 Espalhamento Compton por átomos


Numa primeira aproximação, o espalhamento incoerente (Compton) produzido por um átomo
com número atômico Z seria calculado de modo análogo ao indicado na eq. (2.28),


Z
⃗ ≃ IT h
IComp (Q) (1 − |TF{|ψj (⃗r)|2 }|2 ) = IT h S(Q,
⃗ Z) (3.10)
j=1
| {z }
S(Q,Z)

com as funções de onda ψj (⃗r) obtidas para átomos de muitos elétrons, as mesmas que servem
de base para o cálculo dos fatores de espalhamento atômico f (Q), eq. (3.2). Porém, o efeito

43
Compton com um elétron atômico somente ocorre quando a energia de transferência4 é superior
à energia de ligação do elétron no átomo. Consequentemente, a eq. (3.10) somente fornece uma
boa estimativa, para todos os elementos da tabela periódica, na faixa dos raios γ ou raios X
duros com energias acima de 100 keV. Na faixa de algumas dezenas de keV, na qual operam
a maioria das fontes de raios X, nem todos os elétrons representados pelas funções de onda
ψj (⃗r) contribuem ao espalhamento incoerente gerado pelo átomo num dado ângulo 2θ. O
valor de IComp para um átomo é predominantemente determinado pelos elétrons mais externos,
enquanto os elétrons que não contribuem são contabilizados como sendo aqueles relacionados
pelo princípio de exclusão de Pauli, tal que TF{ψj (⃗r) ψk∗ (⃗r)} =
̸ 0. Fato este que permite corrigir
a função de espalhamento incoerente5

∑ ∑∑
S(Q,
⃗ Z) = (1 − |TF{|ψj (⃗r)|2 }|2 ) − |TF{ψj (⃗r) ψk∗ (⃗r)}|2 , (3.11)
j j k̸=j

apenas com a inclusão de um termo extra (somatória dupla), cujo valor é calculado usando-se
as funções de onda ψj (⃗r) do estado fundamental do átomo.
4
Energia transferida para o elétron, igual à diferença E − E ′ das energias dos fótons incidente e espalhado.
Para um elétron com momento inicial zero, a energia de transferência é determinada pela conhecida fórmula do
efeito Compton: E ′ = E/[1 + τ (1 − cos 2θ)] onde τ = E/mc2 [30].
5
Ref. [38], pp. 659, eq. 7.4.3.5. Veja também ref. [8].

44
Nota 3.2: Uma tabela completa dos valores de S(x, Z) onde x = senθ/λ = Q/4π pode ser
obtida do artigo de J.H. Hubbell et al. [26], a qual é parcialmente reproduzida na Interna-
tional Tables for Crystallography (ref. [38], pp. 658). No caso da função de espalhamento
incoerente não existe ainda uma equação paramétrica para interpolar os valores tabelados.
Portanto, para cada valor de x = Q/4π intermediário entre aqueles disponíveis nas tabelas
é preciso fazer uma interpolação, rotina csfQ.m. Existe porém uma equação paramétrica
[34] para a seção-de-choque do espalhamento incoerente,

∫ { 3 }

σC (E, Z) = re2 ⟨|P|
⃗ 2 ⟩ S(Q,
⃗ Z) dΩ = exp cn [ln(E)]n (3.12)
n=0

onde os coeficiente cn são tabelados para Z de 1 a 92, cf. rotina sgcompton.m. A integração
da intensidade incoerente com relação a todas as direções do espaço elimina a dependência
com o vetor recíproco, tornando a seção-de-choque Compton de cada elemento uma função
apenas da energia. Os valores tabelados de σC (E, Z) são também disponíveis na ref. [26].
A Fig. 3.7 mostra uma comparação entre a solução numérica da integral acima, usando
interpolação linear dos valores tabelados de S(Q,
⃗ Z), e a solução analítica na eq. (3.12).

No decorrer do século passado, o efeito Compton teve uma importância fundamental no


desenvolvimento da física quântica, assim como em outros capítulos da história da física de
altas energias e de estado sólido. Nos dias atuais, o espalhamento Compton tem contribuído
na investigação do momento linear dos elétrons num átomo em estado fundamental e no estudo
de materiais magnéticos [30]. Entender a relação entre o espalhamento Compton e o momento
de um elétron é relativamente simples, basta refazer os cálculos da cinemática do espalhamento
atribuindo um momento inicial não nulo ao elétron. A diferença de energia E −E ′ entre os fótons
incidente e espalhado deixa de ter um valor único, num dado ângulo de espalhamento, e passa
a apresentar uma distribuição de valores diretamente proporcional à distribuição de momentos
dos elétrons no átomo. No estudo de materiais magnéticos, a interação do campo magnético da
onda incidente com o spin do elétron, a qual é muito pequena face ao espalhamento pela carga
em baixas energias, passa a ser dominante na região de raios X duros, acima de 60 keV, fato
que permite inferir informações sobre a densidade de spin num átomo. Contudo, neste livro
estaremos focados nas aplicações do espalhamento coerente no estudo de materiais. Mesmo
assim, precisamos estar cientes da presença do espalhamento Compton e, quando necessário,

45
Figura 3.7: Seção-de-choque do espalhamento incoerente para o Ca. Comparação das soluções
analítica e numérica obtida pela interpolação linear de S(Q, Z). 1 barn = 10−28 m2 . [exsgc.m]

saber como remover dos dados experimentais as contribuições do espalhamento incoerente.

···

Ex. 3.4: Usando os valores tabelados da função S(Q, Z), compare as intensidades incoerentes
e coerentes espalhadas por um átomo em função (a) do ângulo de espalhamento, (b) da energia
e (c) da polarização.

Resp. (a): Para um átomo de número atômico Z, as intensidades coerente e incoerente são
dadas por Icoer (Q) = IT h |f (Q)|2 e IComp (Q) = IT h S(Q, Z), respectivamente. Na Fig. 3.8, as
funções |f (Q)|2 e S(Q, Z) do átomo de carbono (Z = 6) são comparadas em função do ângulo
de espalhamento 2θ.

Resp. (b): Em 2θ = 180◦ , S(Qmax , Z) < Z mas tende ao valor Z com Qmax → ∞, refletindo
o fato de que com o aumento da energia da radiação todas as energias de ligação dos Z elétrons
ficam sendo menores do que a energia de transferência. |f (0)|2 = Z 2 para qualquer energia.

46
Resp. (c): Ambas contribuições, coerentes e incoerentes, são afetadas igualmente pelo coefi-
ciente de polarização ⟨|P|
⃗ 2 ⟩, o qual é igual a 1 somente na polarização σ. Por exemplo, na

polarização π ambas intensidades são multiplicadas pelo fator cos2 (2θ), de modo que elas se
anulam a 90◦ do feixe incidente.
···

Figura 3.8: Intensidades coerentes e incoerentes (Compton) espalhadas pelo átomo de car-
bono para raios X de 8 e 20 keV, Qmax ≈ 8 e 20 Å−1 , respectivamente. Coordenadas po-
lares: x = I(Q) cos(2θ) e y = I(Q) sen(2θ) onde I(Q) = IT h |f (Q)|2 (coerente) [asfQ.m],
I(Q) = IT h S(Q, Z) (incoerente) [csfQ.m], e fluxo tal que IT h = Φ re2 ⟨|P|
⃗ 2 ⟩ dΩ = 1 cps (polar-
ização σ). [excsf.m]

47
Resumo

— Densidade eletrônica de um átomo:



ρa (⃗r) = j |ψj (⃗r)|2

— Fator de espalhamento atômico:

f (Q) = TF{ρa (⃗r)}

— Fórmula paramétrica (coeficientes de Cromer-Mann: an , bn e c):



f (Q) = 4n=1 an e−bn (Q/4π) + c
2

— Intensidade coerente espalhada por um átomo isolado:

I(Q) = IT h |f (Q)|2

— Fórmula paramétrica (coeficientes: c0 , c1 , c2 , e c3 ) da seção-de-choque do espalhamento


coerente [34]:
∫ { }
σR (E, Z) = re2 ⟨|P| ⃗ 2 dΩ ≃ exp ∑3 cn [ln(E)]n
⃗ 2 ⟩ |f (Q)|
n=0

— Densidade eletrônica de um conjunto discreto de átomos, e.g. molécula:



ρ(⃗r) = a ρa (⃗r) ∗ δ(⃗r − ⃗ra )

— Fator de forma do conjunto discreto de átomos:


⃗ = TF{ρ(⃗r)} = ∑ TF{ρa (⃗r)} TF{δ(⃗r − ⃗ra )} = ∑ fa (Q) e iQ·⃗
F (Q)
⃗ ra
a a

— Intensidade coerente espalhada pelo conjunto:

I(Q) = IT h |F (Q)|2

— Intensidade incoerente (Compton) espalhada por um átomo:


⃗ = IT h S(Q,
IComp (Q) ⃗ Z)

S(Q,
⃗ Z): função de espalhamento incoerente [26, 38]

— Fórmula paramétrica (coeficientes: c0 , c1 , c2 , e c3 ) da seção-de-choque do espalhamento


Compton [34]:
{∑3 } ∫
σC (E, Z) = exp n=0 cn [ln(E)]n ≃ re2 ⟨|P|
⃗ 2 ⟩ S(Q,
⃗ Z) dΩ

···

48
Capítulo 4

Absorção de Raios X

As propriedades óticas de um meio material são descritas, em geral, por parâmetros macroscópi-
cos tais como permeabilidade magnética, permissividade dielétrica, polarizabilidade, condutivi-
dade, etc. Por definição, tais parâmetros são valores médios da resposta do meio a um campo
eletromagnético externo. Abordagem que é perfeitamente justificada no caso de ondas eletro-
magnéticas com comprimento de onda muito maior que as distâncias interatômicas. Por exem-
plo, a luz visível tem λ da ordem de centenas de nanometros (400–700 nm), enquanto que as
distâncias entre átomos vizinhos num sólido são tipicamente da ordem de décimos de nanomet-
ros (0,2–0,5 nm). Ainda dentro dessa abordagem, a mobilidade dos elétrons é um parâmetro
determinante para a atenuação da onda ao se propagar no meio. As correntes elétricas mi-
croscópicas induzidas pelo campo elétrico são responsáveis pela absorção da energia da onda
por efeito joule (choque dos elétrons com os átomos do material), causando o aquecimento do
meio.
No caso dos raios X, como os comprimentos de onda são da ordem dos diâmetros atômicos,
conceitos de valores médios macroscópicos do meio, tal como índice de refração, não são por si só
suficientes para descrever os campos de onda estabelecidos no meio quando este é excitado pela
radiação incidente. Por exemplo, a altíssima frequência da radiação X, na casa de 3 × 1018 Hz
( = c/λ), produz deslocamentos nulos dos elétrons no material quando comparados com as
dimensões atômicas. Isso significa que, não existe a absorção clássica da energia eletromagnética
por efeito joule —choque dos elétrons com os átomos do material—, como ocorre para a luz
visível e o infravermelho. Em outras palavras, a amplitude de vibração dos elétrons em resposta
ao campo elétrico é muito pequena para que haja dissipação de energia da onda por efeito

49
joule. Portanto, as propriedades microscópicas do meio, em escala molecular, têm pouquíssima
influência na absorção da radiação na faixa dos raios X.
A nível de primeiros princípios, o processo de absorção da radiação X está muito aquém da
abordagem clássica, ou seja, a absorção de raios X é um processo estritamente quântico, em
escala atômica, sem qualquer analogia com sistemas clássicos. A aniquilação dos fótons se dá por
transições eletrônicas entre um nível quântico de caroço (camada K ou L) e estados disponíveis,
discretos ou contínuos, nos arredores do átomo, resultando tanto em correntes elétricas na
amostra (fotocorrentes) como em elétrons livres com certa energia cinética (fotoelétrons). Após
cada transição seguem processos de preenchimento do buraco dando origem a emissões de
fluorescência e elétrons Auger —elétrons ejetados por absorção de fótons de fluorescência.1 Os
fótons emitidos por fluorescência além de terem energia menor que a do fóton primário, não
preservam qualquer coerência de fase com a onda de raio X incidente, eles são espalhados em
todas as direções sem correlação alguma com a estrutura atômica da amostra, ou seja, sem
apresentar efeitos de interferência. Porém, os raios X fluorescentes são característicos de cada
elemento, como impressões digitais, denunciando a presença dos elementos constituintes da
amostra, mesmo em quantidades ínfimas da ordem de partes por milhão (ppm).

4.1 Coeficiente de atenuação linear


Do ponto de vista experimental, a descrição do processo de absorção para um dado elemento
se resume na seção-de-choque σa . Ela nos diz que, ao colocarmos N átomos num fluxo Φ
de fótons por unidade de área por segundo, teremos N Φ σa fótons absorvidos por segundo,
Fig. 4.1. A partir da seção-de-choque chega-se ao coeficiente de atenuação linear µ, responsável
pela atenuação dos raios X ao se propagarem num meio material.
Para simplificar a dedução do coeficiente de atenuação, vamos assumir inicialmente um
material composto por um único elemento químico, contendo η átomos por unidade de volume.
A atenuação da intensidade do feixe ao atravessar uma camada de espessura dx do material
será
dI = I(x + dx) − I(x) = − |{z}
N Φ σa = − I(x) µ dx
|{z} |{z}
η S dx SΦ η σa

1
Descrição simplificada do processo uma vez que os elétrons Auger satisfazem o balanço de energia para o
efeito fotoelétrico com fótons de fluorescência. Para maiores detalhes pesquise espectroscopia Auger.

50
Figura 4.1: Atenuação dI da intensidade I por N átomos com seção-de-choque de absorção σa ,
submetidos a um fluxo Φ de fótons por segundo.

⇒ I(x) = I0 e −µ x . (4.1)

[Obs: S é a seção transversal do feixe incidente de intensidade I0 e direção de propagação x̂]. No caso
de um material contendo diferentes elementos químicos

∑ ∑ ( ρNA ) ∑ ( NA σa ) ∑ (µ)
µ= (η σa )n = σa = ρn = ρn . (4.2)
n n
M n n
M n n
ρ n

NA é o número de Avogadro, M é o peso molar, e ρn é a densidade de massa do elemento n no


material.
De acordo com a eq. (4.2), o coeficiente de atenuação independe do arranjo relativo dos
átomos, dependendo apenas da concentração deles num dado volume de material. Isso somente
é verdade quando, a seção-de-choque de absorção de cada átomo independe do meio onde o
átomo está inserido. Acontece que, os estados quânticos disponíveis nos arredores de um átomo
sofrem perturbações pela presença de átomos vizinhos, alterando os valores de σa em relação
aos valores esperados para átomos isolados. Medidas do coeficiente de atenuação em função
da energia, i.e. medidas de µ(E), constituem a base de técnicas de espectroscopia de absorção
de raios X, fornecendo informações das ligações químicas e do arranjo atômico nas vizinhanças
de um determinado átomo do material. Antes do final deste Capítulo discutiremos em mais
detalhes a influência do meio na seção-de-choque de absorção, § 4.3.

Seções-de-choque de espalhamento e a atenuação linear

É importante ressaltar que a “atenuação linear” é afetada por qualquer processo que reduza a
intensidade do feixe de raios X incidente conforme este penetra num dado material. Portanto,

51
além da absorção fotoelétrica, a qual de fato aniquila fótons de raios X, os processos de espalha-
mento coerente e incoerente, quando estes retiram fótons do feixe direto, também contribuem
na seção-de-choque total
σ = σa + σC + σR , (4.3)

responsável pela efetiva atenuação linear do feixe. σR e σC são as seções-de-choque dos espal-
hamentos coerente e incoerente, eqs. (3.6) e (3.12), respectivamente.
Na faixa de energia dos raios X, entre 1 e 100 keV, os processos de espalhamento contribuem
com menos de 10% no valor σ ≃ σa , de modo que a atenuação linear, como regra geral, é
predominantemente um efeito de absorção fotoelétrica. A exceção a regra se deve aos fenô-
menos de interferência do espalhamento coerente uma vez que os valores de σR tabelados são
válidos apenas para átomos isolados. Num material com certo ordenamento a nível atômico, a
ocorrência de interferência construtiva fora da direção do feixe direto (incidente) pode alterar
significantemente a seção-de-choque σR e, por consequência, a atenuação linear. Por exemplo,
num gás ideal onde efeitos de interferência entre átomos praticamente não ocorrem, σR corre-
sponde à tabela. Já num material amorfo predomina a interferência destrutiva em qualquer
direção fora do feixe direto, e com isso σR → 0. Num cristal sob condição de difração —fortes
feixes difratados—, σR aumenta acima dos valores tabelados.2 Mas, ao mudar a orientação, o
cristal sai da condição de difração, a interferência construtiva fora do feixe direto se extingue e
σR → 0. A seção-de-choque do efeito Compton, σC , é a única contribuição à atenuação linear
do feixe que não sofre alterações devido às correlações das posições dos átomos num material.
Antigamente era comum o uso de tabelas dos coeficientes de atenuação de massa, (µ/ρ)
[eq. (4.2)], em função das energias características dos principais materiais empregados como
alvo nos tubos de raios X, tais como Cu, Ag, Mo, . . .etc, cf. ref. [38], pp. 230. A grande
facilidade que temos hoje em dia de realizar experimentos com fontes síncrotrons onde a energia
pode ser ajustada continuamente numa ampla faixa de valores, diminuiu muito a praticidade
das tabelas de (µ/ρ). Atualmente, os valores (µ/ρ) são calculados em função da energia a
partir das seções-de-choque de espalhamento, σR e σC , e principalmente da seção-de-choque da
absorção fotoelétrica σa [34, 38]; demonstraremos adiante como σa depende da energia após a
2
Em cristais perfeitos, com certa espessura, a condição de difração dá origem a formação de ondas esta-
cionárias não coincidentes com as posições atômicas, causando uma forte diminuição da absorção fotoelétrica.
Esse fenômeno é conhecido como transmissão anômala ou efeito Borrmann, cf. Batterman & Cole, Rev. Mod.
Physics 36, 681 (1964).

52
introdução do fenômeno de ressonância atômica. Contudo, quando valores acurados de (µ/ρ)
são necessários, especial atenção precisar ser tomada com o uso de σR . Em gases e líquidos, σR
deve ser considerado, enquanto que em materiais amorfos ou monocristais fora da condição de
difração σR pode ser descartado. Em materiais policristalinos sempre existem feixes difratados
independentemente do ângulo de incidência da radiação na amostra, com isso σR tende a ser
sempre maior que os valores tabelados. Devido ao fenômeno de interferência, a significância
da incerteza no valor de (µ/ρ), ou na seção-de-choque total σ, é difícel de contabilizar com
precisão porque depende das particularidades de cada amostra [38].

···

Ex. 4.1: No caso da radiação característica Kᾱ do Cu [λ = (2λα1 + λα2 )/3 = 1, 54184 Å], as
seções-de-choque total dos átomos C, N, O e Ar valem σ(C) = 89, 9 barn, σ(N) = 173 barn,
σ(O) = 304 barn e σ(Ar) = 7, 72 × 103 barn, respectivamente.3 (a) Em qual desses valores a
contribuição conjunta das seções-de-choque de espalhamento é relativamente maior? (b) Quais
os coeficientes de atenuação de massa (µ/ρ), em cm2 /g, desses átomos? (c) Sendo 23,2% (O2 ),
75,47% (N2 ), 1,28% (Ar) e 0,046% (CO2 ) as frações relativas de massa, wn , dos principais gases
que compõem o ar seco. Qual a atenuação de um feixe de raios X, da radiação característica Kᾱ
do Cu, por metro linear de ar seco nas condições normais de temperatura e pressão (CNTP)?
[Obs: densidade do ar seco a 25 ◦ C e 1 atm é ρar = 1, 184 kg/m3 .]

Resp. (a): É maior em σ(C), carbono, onde


σR + σC
σR = 4, 51 barn, σC = 2, 56 barn, e = 0, 079, ou 7,9%.
σ(C)
A menor contribuição relativa de σR + σC ocorre no Ar, apenas 0,9%. Rotinas sgrayleigh.m e
sgcompton.m.

Resp. (b): (µ/ρ) = NA σ/M , e daí segue que (µ/ρ)C = 4, 51 cm2 /g, (µ/ρ)N = 7, 44 cm2 /g,
(µ/ρ)O = 11, 5 cm2 /g, e (µ/ρ)Ar = 116 cm2 /g.

Resp. (c): A cada metro de ar seco o feixe é atenuado em 68,6 %, ou I/I0 = e−1,157 = 0, 314.


µar = ρar (µ/ρ)n wn = (1, 184) [(0, 451) 0, 00013 +
| {z }
n wC

3
Ref. [38], pp. 220–229.

53
Figura 4.2: (a) Absorção e fluorescência: fótons de raios X ejetam elétrons de camadas pro-
fundas (K ou L) para níveis quânticos vazios nos arredores do átomo. O buraco deixado pelo
elétron ejetado é preenchido por um elétron de outro nível atômico, efetivando o processo de
absorção e gerando fótons de fluorescência com menor energia que os fótons primários. (b)
Ressonância atômica: o campo de onda primário estimula os elétrons ejetados a retornarem ao
estado inicial, reemitindo fótons de mesma energia mas com defasagem de π/2.

+(0, 744) 0, 7547 +(1, 15) (0, 2320 + 0, 00033) +(11, 6) 0, 0128] = 1, 157 m−1 .
| {z } | {z } | {z }
wN wO wAr

···

54
4.2 Ressonância atômica
Intrinsecamente relacionado aos processos de absorção e fluorescência está o fenômeno da
ressonância atômica. A simples existência de um estado quântico disponível nos arredores
do átomo cria a probabilidade de um elétron de caroço interagir com um fóton e saltar para o
estado disponível, quer seja um estado discreto de elétron ligado ou contínuo de elétron livre (fo-
toelétron). Porém, ao invés do elétron permanecer nesse nível, o que caracterizaria os processos
de absorção e fluorescência, Fig. 4.2(a), o elétron é estimulado pelo campo da onda incidente
a retornar ao seu nível inicial, reemitindo o fóton com uma defasagem de π/2 em relação à
onda de raios X incidente, Fig. 4.2(b). Devido a essa correlação de fase com a onda primária,
a amplitude ressonante cria um termo imaginário na amplitude espalhada pelo átomo, ou seja,
o fator de espalhamento atômico f (Q) deixa de ser um número puramente real uma vez que
e iπ/2 = i. Além disso, ele também passa a ser uma função da energia em consequência da de-
pendência da ressonância com a energia. Em termos práticos, podemos dizer que a ressonância
implica em f (Q) → f (Q, E) e Im{f (Q, E)} ̸= 0.
Como a transição eletrônica responsável pela absorção é também a transição primária na
ressonância, Fig. 4.2, é intuitivo esperar que quanto maior for a taxa de absorção, i.e. a seção-
de-choque σa , maior será também a contribuição da componente imaginária de f (Q, E). Se a
probabilidade do átomo permanecer no estado excitado fosse nula, a amplitude de ressonância
seria um número puramente real. Para demonstrar explicitamente a relação entre absorção e
componente imaginária, faremos uma introdução simples ao fenômeno de ressonância utilizando
a clássica abordagem do oscilador forçado. A abordagem pela mecânica quântica, baseada em
teorias de perturbação de primeira e segunda ordem, fornece a noção exata dos processos de
absorção e ressonância a nível de primeiros princípios, i.e. em termos de aniquilação e criação de
fótons. Em física da matéria condensada, a abordagem quântica tem sido fundamental para o
rápido desenvolvimento de modernas técnicas de análise utilizando fontes de raios X síncrotron
e na exploração de vários fenômenos relacionados à densidade de estados quânticos no entorno
dos átomos [30]. Em física de raios X, no que concerne ao uso adequado dos conceitos de
absorção e ressonância, o importante é ter em mente os seguintes fatos:
1) O efeito total da ressonância no fator de espalhamento atômico é dado por

f (Q, E) = f0 (Q) + f ′ (E) + if ′′ (E) (4.4)

55
onde f0 (Q) passa a representar o fator de forma atômico definido na eq. (3.2).
2) A componente imaginária é proporcional à seção-de-choque da absorção de acordo com
a relação
f ′′ (E) = E σa (E)/4πre ~c = σa (E)/2 re λ . (4.5)

3) Existem relações matemáticas entre f ′ e f ′′ , chamadas relações Kramers-Kronig, que


permitem determinar f ′ a partir de f ′′ e vice-versa. Portanto, medidas do coeficiente de
atenuação levam aos valores experimentais dos termos de correção do fator de espalhamento
atômico, ou seja

experimento → µ(E) → σa (E) → f ′′ (E) — Kramers-Kronig → f ′ (E) .

As amplitudes de ressonância f ′ e f ′′ , frequentemente chamados termos de correção da


dispersão, ou fatores de espalhamento anômalo, estão disponíveis na International Tables for
Crystallography [38] e também em alguns endereços na rede mundial de computadores. Os
valores tabelados em geral advém de modelos teóricos para átomos isolados e são bastante
acurados longe das energias de transição, ou bordas de absorção, dos átomos na amostra. Ao
contrário do que acontece com os valores teóricos de f0 (Q) para átomos isolados —que além
de acurados são pouco afetados pela presença de átomos vizinhos—, os valores experimentais
de f ′ e f ′′ são mais confiáveis em algumas situações porque os modelos teóricos não levam
em conta a presença de átomos vizinhos, cujos efeitos podem ser bastante significativos nas
proximidades das bordas de absorção.

Nota 4.1: Os valores teóricos dos termos de correção da dispersão, f ′ (E) e f ′′ (E), são
imprescindíveis no cálculo das seções-de-choque de absorção σa , através das quais os coefi-
cientes de atenuação linear dos materiais são estimados. Além disso, vários experimentos
de difração de raios X exploram o fenômeno da ressonância atômica, por exemplo, como es-
tratégia para contornar o problema da fase na determinação de estruturas cristalográficas.4
Neste livro faremos alguns exercícios utilizando os valores teóricos de f ′ e f ′′ . Portanto,
o leitor deve ter a disposição uma rotina que permita obter rapidamente esses valores.
Disponibilizamos a rotina fpfpp.m.

4
Existe vasta literatura sobre métodos de dispersão anômala (MAD –"Multiple Anomalous Dispersion Phas-
ing"), cf. refs. [17] e [1].

56
···

Ex. 4.2: Escolha um elemento com borda de absorção em torno de 10 keV. Qual o efeito da
ressonância atômica na seção-de-choque σR (E) do espalhamento coerente?

Resp.: ∫
Icoer = Φ re2 ⟨|P|
⃗ 2 ⟩ |f (Q, E)|2 dΩ .
| {z }
= σR (E)

dΩ = senγdγdφ, de modo que ⟨|P|


⃗ 2 ⟩ = (1+cos2 γ)/2 e Q = 4π sen(γ/2)/λ dependem do ângulo

de espalhamento γ = 2θ.
Para o Se, os valores de σR (E) com e sem ressonância são comparados na Fig. 4.3. O
termo real da amplitude de ressonância, f ′ (E), reduz σR abaixo e acima da borda em 12,6 keV,
enquanto que o termo imaginário, f ′′ (E), contribui para aumentar a seção-de-choque acima da
borda.
···

4.2.1 Tratamento semiclássico da ressonância atômica:


elétron ligado elasticamente

O modo mais simples de demonstrar a amplitude de ressonância é fazendo uma analogia com o
campo irradiado por um elétron preso por força elástica.5 Existe uma grande semelhança, dentro
de certas limitações, entre os resultados obtidos com o tratamento clássico e quântico. Esse
fato, juntamento com o grande valor didático, tem justificado o uso recorrente do tratamento
clássico. Reproduzir esse tratamento aqui, o qual pode ser encontrado em muitos livros textos,
tem como objetivos: i) fazer uma demonstração que seja coerente com a convenção adotada
para o sinal de fase da onda incidente e da TF, eqs. (2.17) e (2.18); e ii) deduzir as relações
matemáticas entre amplitude de ressonância e seção-de-choque de absorção, eq. (4.5), assim
como entre as componentes real e imaginária da amplitude de ressonância.
Um elétron clássico, preso por uma força restauradora com frequência de ressonância ωn , e
5
A demonstração original das amplitudes de ressonância por cargas ligadas elasticamente foi feita por Lord
Rayleigh no final do século 18. O espalhamento coerente, levando ou não efeitos de ressonância em conta, é
muitas vezes chamado de espalhamento Rayleigh.

57
Figura 4.3: Seções-de-choque do espalhamento coerente σR (E), para o Se. Com (——) correção
de ressonância atômica: f (Q, E) = f0 (Q) + f ′ (E) + if ′′ (E), eq. 4.4. Sem (– – – –) correção:
f (Q, E) = f0 (Q), eq. 3.4. Inserção: valores teóricos das amplitudes de ressonância atômica
—modelo quântico relativístico[38]. [exfpfpp.m]

sujeito a uma força dissipativa proporcional a velocidade através da constante mΓ, tem como
equação de movimento z̈ + Γż + ωn2 z = −(e/m)E0 e iωt quando submetido ao campo elétrico da
onda de raios X. A solução dessa equação leva à aceleração

( )
′ −e ω2 ′ ⃗
z̈(⃗r, t ) = E0 e i(ωt −k·⃗r) , (4.6)
m ω 2 − ωn2 − iωΓ
se consideramos que o elétron no instante t′ possa estar numa posição ⃗r em relação a uma origem
arbitrária. Note que essa equação se reduz a eq. (2.2) se desligarmos as forças restauradora e
dissipativa (ωn e Γ → 0). Manipulando o termo dependente da frequência para obter
( )
ω2
= 1 + fn′ (ω) + ifn′′ (ω) , (4.7)
ω 2 − ωn2 − iωΓ

e substituindo a aceleração na expressão do campo de radiação dipolar, eq. (2.1), teremos o


campo de radiação do elétron ressonante

58
i(ωt−k ·R)⃗′ ⃗
⃗ R (R,
E ⃗ [1 + f ′ (ω) + if ′′ (ω)] E0 e
⃗ t) = −re P ⃗
e iQ·⃗r , (4.8)
n n
|R − ⃗r|

escrito de modo a deixar explícito os termos fn′ (ω) e fn′′ (ω) que mostram como o campo de
radiação de um elétron muda devido ao efeito da ressonância.
O termo imaginário na eq. (4.7),

ω3Γ
fn′′ (ω) = , (4.9)
(ω 2 − ωn2 )2 + ω 2 Γ2

implica numa amplitude de espalhamento defasada de 90◦ em relação a onda incidente e está
diretamente relacionada à dissipação de energia e, portanto, a seção-de-choque de absorção
do sistema, σn (ω). Para demonstrar esse fato, vamos calcular a potência média dissipada no
oscilador forçado amortecido, a qual é dada por
⟨ ⟩ ⟨ ( )⟩
d d 1 1
P (ω) = − (K + U ) = − 2 2 2
m ż + mωn z = −m⟨ż(z̈ + ωn2 z)⟩ .
dt dt 2 2

K: energia cinética, U : energia potencial, e da equação de movimento na ausência da força


externa z̈ + ωn2 z = −Γż. A velocidade ż pode ser obtida a partir da eq. (4.6), e com isso

1 e2 |E0 |2 ω2Γ f ′′ (ω)


P (ω) = m Γ ⟨ż 2 ⟩ = m Γ |ż(ω)|2 = = 4πr e c EΦ (4.10)
{z } (ω − ωn ) + ω Γ
2 2 2 2 2 2
| 2m ω
4πre c EΦ

onde a intensidade clássica da onda incidente é escrita em função do fluxo e da energia dos fótons,
i.e., 12 ϵ0 c|E0 |2 = ΦE. De acordo com a definição de seção-de-choque de absorção, o número de
fótons absorvidos por segundo é Φ σn (ω), implicando na potência absorvida P (ω) = E Φ σn (ω).
Comparando com a equação (4.10), chega-se a relação

ωσn (ω) = 4πre cfn′′ (ω) . (4.11)

Se agora incluirmos o elétron ressonante num átomo e recalcularmos o campo espalhado


pela densidade eletrônica ρa (⃗r), eq. (3.1), teremos6
6
Considere ρa′ (⃗r) ≃ ρa (⃗r) + [fn′ (ω) + ifn′′ (ω)]δ(⃗r) como sendo a densidade eletrônica do átomo com 1 elétron
ressonante, tal que TF{ρa′ (⃗r)} = TF{ρa (⃗r)}+fn′ (ω)+ifn′′ (ω). Isto é justificado pelo fato de não existir evidência
experimental da dependência de fn′ e fn′′ com o vetor de espalhamento Q. ⃗ cf. ref. [38], pp. 253.

59
i(ωt−k ⃗ ′ ·R)

⃗ átomo (R,
E ⃗ E0 e
⃗ t) = −re P [ TF{ρa (⃗r)} +fn′ (ω) + ifn′′ (ω)] . (4.12)
R | {z }
f0 (Q)

Uma vez que E = ~ ω, essa demonstração clássica da ressonância, eq. (4.12), serve perfeita-
mente para ilustrar tanto a origem da dependência do fator de espalhamento atômico com a
energia, assim como que a componente imaginária está diretamente relacionada aos fenômenos
de ressonância e absorção. Porém, até aqui somente consideramos um oscilador com frequência
ωn . Na comparação com o tratamento quântico, isso equivale a considerar apenas a transição
entre dois níveis quânticos cuja diferença de energia é En = ~ ωn . Como existem inúmeros
estados disponíveis, indo desde estados discretos até o contínuo de estados para elétrons livres
(fotoelétrons), o efeito total da ressonância no modelo semiclássico [28] é dado pela superposição
linear de amplitudes ressonantes, i.e.,


f ′ (ω) + if ′′ (ω) = gn [fn′ (ω) + ifn′′ (ω)] (4.13)
n

onde gn é o peso relativo de todas as possíveis transições eletrônicas de um átomo, muitas


vezes chamado de “força do oscilador” (numa tradução livre do termo oscillator strength). Os
valores de gn são essencialmente empíricos dentro do tratamento clássico, mas eles também
aparecem no tratamento quântico, relacionados às probabilidades das transições, fato que em
parte tem justificado7 o modelo clássico. A superposição na eq. (4.13) também vale para a
seção-de-choque de absorção do átomo


σa (ω) = gn σn (ω) = 4πre cf ′′ (ω)/ω = 2re λf ′′ (ω) , (4.14)
n

demonstrando assim a eq. (4.5).

···

Ex. 4.3: É sabido que a seção-de-choque de absorção, eq. (4.14), tem comportamento do
tipo σa (E) = A E n onde n é um número próximo de −3. (a) Escolha um átomo e num gráfico
log-log analise por interpolação linear o comportamento da seção-de-choque de absorção abaixo
e acima de uma borda de absorção. (b) Por quê as retas de interpolação, em escala log-log,
7
Consulte ref. [10], complemento AXIII .

60
Figura 4.4: Seções-de-choque de absorção do Kr, borda K em 14,3 keV. Valores teóricos (– ◦ –),
eq. (4.14), e interpolações lineares da função log(σa ) = log(A) + n log(E) abaixo (——) e acima
(——) da borda de absorção. [exabscs.m]

têm inclinações diferentes de cada lado da borda?

Resp. (a): A curva teórica de σa (E) é obtida a partir dos valores tabelados de f ′′ (E). No caso
do Kr, mostrado na Fig. 4.4, a seção-de-choque cai com E elevado a potência n = −2, 74 e
−3, 07 abaixo e acima da borda em 14,3 keV, respectivamente.

Resp. (b): A queda mais acentuada de σa (E) acima da borda é devido ao aumento da carga
iônica positiva do átomo após a emissão do fotoelétron.

···

4.2.2 Relações Kramers-Kronig

As relações matemáticas entre as amplitudes f ′ (ω) e f ′′ (ω) são deduzidas a partir de relações
gerais para funções complexas. Seja F(z) uma função analítica no plano complexo z = x + iy,
satisfazendo duas condições: 1) singularidades (polos) fora do eixo real num mesmo sentido do

61
Figura 4.5: Caminho fechado γ dividido em: semicírculo C, seções retas [−R, ω − ζ] e [ω +
ζ, +R], e semicírculo menor Cω . A integral de F(z)/(z − ω) sobre o caminho é calculada para
R → ∞. Os polos ±ω̄n + iΓ/2 de F(z) = fn′ (z) + ifn′′ (z), eq. (4.7), estão fora do eixo real no
sentido positivo do eixo imaginário. ω̄n2 = ωn2 − Γ2 /4.

eixo imaginário; e 2) lim [F(z)/(z − ω)] = 0. Então,


|z|→∞

∫ +∞ (∫ ω−ζ ∫ +∞ )
F(x) F(x) F(x)
P dx = lim dx + dx = −iπF(ω) . (4.15)
−∞ x−ω ζ→0 −∞ x−ω ω+ζ x−ω

O valor da integral principal, indicado pela letra P, segue diretamente do teorema da integral
de Cauchy [2]: ao se escolher um caminho fechado no plano complexo, passando pelo eixo real,
mas que não contenha singularidades no interior do contorno, como o caminho γ na Fig. 4.5,
tem-se que
I ∫ +∞ ∫ ∫
F(z) F(x) F(z) F(z)
dz = P dx + dz + dz = 0.
z−ω −∞ x−ω C z−ω Cω z − ω
γ
| {z } | {z }
= 0 qdo |z|→∞ = iπF(ω)

O caminho γ assume que a função F(z) tem polos com componentes imaginárias positivas,
+iΓ/2. No caso contrário, de componentes imaginárias negativas, −iΓ/2, o valor da integral
∫ +∞ F(x)
principal seria positivo, i.e. P −∞ x−ω dx = +iπF(ω) na eq. (4.15).
Pelo fato de F(z) ser uma função geral, podemos substituí-la por f ′ (z) + if ′′ (z) desde que
atenda às condições 1) e 2) mencionadas acima, e tenha polos com componentes imaginárias
positivas. Este é o caso das amplitudes fn′ (z) + ifn′′ (z) na eq. (4.7) e, portanto, de qualquer

62
combinação linear dessas amplitudes, e.g. eq. (4.13). Daí se verifica facilmente as relações
Kramers-Kronig como sendo
∫ ∫
′ 1 +∞
f ′′ (x) 1 +∞
f ′ (x)
f (ω) = − P dx e f ′′ (ω) = P dx . (4.16)
π −∞ x−ω π −∞ x−ω

Os termos de dispersão são definidos para valores positivos de frequência, ou de energia, de


modo que é comum encontrar essas relações escritas da seguinte forma
∫ ∫
′ 2 +∞
x f ′′ (x) 2ω +∞
f ′ (x)
f (ω) = − P dx e f ′′ (ω) = P dx , (4.17)
π 0 x −ω
2 2 π 0 x2 − ω 2

as quais são válidas desde que f ′ (x) e f ′′ (x) sejam respectivamente funções par e ímpar em
relação a x = 0. Para obtê-las, multiplique numerador e denominador dos integrandos na
eq. (4.16) por x + ω. Se desejar escrevê-las em termos da energia E = ~ ω, troque ω por E e
tome x como uma variável de integração sobre valores de energia.

4.3 Modulação da absorção por re-espalhamento


de fotoelétrons
A seção-de-choque σa da absorção fotoelétrica por um átomo é determinada pela probabilidade
de transição entre um estado quântico de elétron ligado nas camadas de carroço, com função
de onda ψj (⃗r), para um estado de elétron livre, com função de onda ψliv (⃗r). Pelo simples fato
dos níveis de carroço terem funções de onda muito localizadas, a tal ponto que ψj (⃗r) ≈ δ(⃗r),
a probabilidade da transição depende do valor de ψliv (⃗r) apenas na posição ⃗r = 0 do átomo
“zero” de onde o fotoelétron é ejetado. Deste fato resulta que σa ∝ |ψliv (0)|2 . Para um átomo
isolado, os valores de σa já foram calculados e são conhecidos, veja Nota 4.1. Mas, a presença
de outros átomos no entorno do átomo zero perturba o estado de elétron livre, cuja função de

onda passa a ser ψliv (⃗r) = ψliv (⃗r) + ∆ψ(⃗r). Como
[ ∗
]
′ ∆ψ(0) ψliv (0) + ∆ψ ∗ (0) ψliv (0)
|ψliv (0)|2 ≃ |ψliv (0)| 1 +
2
=
|ψliv (0)|2

= |ψliv (0)|2 [1 + χ(E)] , (4.18)

63
a seção-de-choque
σa′ (E) = σa (E) [1 + χ(E)] (4.19)

do átomo inserido num material também passa a ter uma dependência extra com a energia
através da função χ(E). Esta dependência extra, implícita na relação de ∆ψ(0) com a energia
do fóton incidente, recebe o nome de “estrutura fina da absorção de raios X” (XAFS – X-ray
absorption fine structure) [33, 35].
Quando o fóton de raios X incidente tem energia E, ligeiramente superior a uma dada borda
de absorção com energia Eb , o fotoelétron é ejetado do átomo para um estado de elétron livre
com energia cinética

~2 ke2 2mK √ −1
K = E − Eb = onde ke = = 0, 512315 K[eV] Å (4.20)
2m ~

é o módulo do vetor de onda ditando a evolução espacial da função de onda, a qual se propaga
em todas as direções como onda esférica8

a
ψliv (r) = ψliv (0) e ike r .
r

O parâmetro a está relacionado ao raio da região em torno do átomo zero onde a ψliv (r) é
avaliada no cálculo da seção-de-choque, i.e. |ψliv (r ≤ a)| = |ψliv (0)|.
Ao se propagar no meio, a onda é espalhada pelo potencial repulsivo das eletrosferas dos
átomos vizinhos, produzindo uma série de ondas secundárias ∆ψn (⃗r), que compõem a onda
perturbativa
∑ ∑ ke an
∆ψ(⃗r) = ∆ψn (⃗r) = An ie ike |⃗r−⃗rn | .
n n
ke |⃗r − ⃗rn |

O fator multiplicativo “ i ” surge na solução exata do problema de espalhamento das ondas


secundárias, cf. ref. [33] apêndice A. Os parâmetros an são introduzidos para limitar as am-
plitudes máximas das ondas secundárias nas regiões |⃗r − ⃗rn | ≤ an onde |∆ψn (⃗r)| = |An |, de
modo que cada amplitude An represente a fração refletida da onda primária ao se aproximar
8
i) Solução da equação de Schrödinger para potencial uniforme em coordenadas esféricas (r, θ, ϕ): ∇2 ψ(r) =
−ke2 ψ(r) ⇒ ∂ 2 [rψ(r)]/∂r2 = −ke2 [rψ(r)] ⇒ rψ(r) = A e ±ike r . ii) As influências da polarização da radiação
e do momento angular orbital na direção de emissão do fotoelétron são descartadas na aproximação de onda
esferossimétrica, caso contrário ψliv (0) → ψliv (0, θ, ϕ).

64
Figura 4.6: Modulação na densidade de probabilidade dos fotoelétrons devido a presença de

quatro átomos vizinhos. P = |ψliv (⃗r)/ψliv (0)|2 . Fotoelétrons com energia cinética K = 200 eV,
ejetados do sítio atômico (0,0). [exexafsmap.m]

do átomo centrado na posição ⃗rn , ou seja

a i(ke rn +δn )
An ∝ ψliv (0) e .
rn

As mudanças δn nas fases das ondas secundárias assim como os valores exatos das amplitudes
dependem da energia e das espécies atômicas dos elementos vizinhos. Portanto, numa aprox-
imação de primeira ordem onde são desprezados os efeitos de re-espalhamentos múltiplos das
ondas secundárias, a forma geral da onda perturbativa fica sendo

∑ Rn (ke ) e i[ke rn +δn (ke )]


∆ψ(⃗r) = ψliv (0) ie ike |⃗r−⃗rn | .
n
rn ke |⃗r − ⃗rn |

Além da dependência com o elemento vizinho, Rn (ke ) contabiliza outros fatores que afetam a
amplitude da onda refletida, tais como vibrações térmicas, distribuições estatísticas (desordem)
das distâncias rn no material, e livre caminho médio do fotoelétron [33].
A Fig. 4.6 mostra um exemplo ilustrativo de como as ondas espalhadas por quatro átomos

vizinhos coplanares perturbam a densidade de probabilidade |ψliv (⃗r)|2 , criando regiões com
maior e menor probabilidade de encontrar o fotoelétron. Mas somente a modulação na posição

65
r = 0 afeta efetivamente a absorção fotoelétrica, e portanto somente temos que nos preocupar
com o valor de
∑ Rn (ke )
∆ψ(0) = ψliv (0) ie i[2ke rn +δn (ke )] ,
n
ke rn2

cuja contribuição na eq. (4.18) define a função


∆ψ(0)ψliv (0) + ∆ψ ∗ (0)ψliv (0) ∑ Rn (ke )
χ(ke ) = = sen[2ke rn + δn (ke )] . (4.21)
|ψliv (0)|2 n
k e rn
2

Figura 4.7: Modulação na seção-de-choque de absorção do Mn pelo espalhamento de fo-


toelétrons. Demonstração considerando 4 átomos vizinhos dispostos como ilustrado na Fig. 4.6.
[exexafs.m]

No caso do exemplo dado na Fig. 4.6 onde r1,3 = 3, 54 Å e r2,4 = 2, 12 Å, a modulação


prevista pela eq. (4.21) na seção-de-choque σa do átomo zero devido à presença dos vizinhos
está mostrada na Fig. 4.7. Mn é tomado como átomo zero apenas para fins ilustrativos, assim
como as funções δn (ke ) e Rn (ke ), fornecidas na Fig. 4.8, as quais são usadas para os quatro
átomos vizinhos considerados no modelo. Em comparação com uma situação real, o único
efeito não descritível pela eq. (4.21) diz respeito ao fenômeno de múltiplos espalhamentos dos
fotoelétrons. O fenômeno é dominante na região de baixa energia cinética, K . 20 keV, e é

66
Figura 4.8: Propriedades de espalhamento de fotoelétrons dos átomos vizinhos considerados na
simulação da seção-de-choque do Mn na Fig. 4.7. (a) Mudança na fase e (b) amplitude relativa
da função de onda espalhada. [exexafs.m]

responsável por alterações significantes na seção-de-choque de absorção imediatamente acima


da borda de absorção. O estudo detalhado do espectro de absorção próximo da borda, NEXAFS
(Near-Edge XAFS) ou também XANES (X-ray Absorption Near-Edge Spectroscopy), fornece
informações preciosas sobre as ligações químicas no entorno do átomo zero e consiste numa
importante técnica de análise estrutural [33].
Experimentalmente a função χ(ke ) é acessível tanto através de medidas do coeficiente de
atenuação linear como de medidas de fluorescência, dependendo na maioria das vezes de como
a amostra pode ser condicionada. No caso de amostras condutoras é possível também mon-
itorar a fotocorrente como recurso para acessar χ(ke ). Embora conceitualmente simples, tais
experimentos apresentam elevado grau de complexidade por causa dos vários fatores que com-
prometem a acurácia das medidas de χ(ke ), e somente são realizados em laboratórios síncrotrons
[44] onde é possível variar continuamente a energia do feixe de raios X.
Uma vez tendo em mãos a função χ(ke ) experimental, a análise em geral é realizada a partir
da curva kem χ(ke ) onde m = 1, 2 ou 3, e.g. Fig. 4.9. Um dos motivos deste procedimento,

67
Figura 4.9: Curva ke3 χ(ke ) referente à modulação em σa mostrada na Fig. 4.7. [exexafs.m]

−1
i.e. de multiplicar por kem , é minimizar a contribuição da região ke . 2 Å , bastante afetada
pelos efeitos de re-espalhamento múltiplos dos fotoelétrons, e ao mesmo tempo magnificar as
modulações numa região estendida acima da borda de absorção. Daí o nome da técnica EXAFS
– Extended XAFS, a qual utiliza de fato a eq. (4.21) na análise de materiais.
Dentre as sutilezas da técnica estão as funções δn (ke ) que precisam ser conhecidas para difer-
entes vizinhos. Quando δn (ke ) tem variação relativamente suave, tal como aquela na Fig. 4.8(a),
é possível utilizar diretamente a análise de Fourier [38]
∫ 2

m
F (u) = ke χ(ke ) e 2ike u
dke , (4.22)

para estimar distâncias interatômicas entre o átomo zero e os vizinhos próximos contribuindo
para o sinal de EXAFS. A análise de Fourier do sinal na Fig. 4.9 resulta em dois picos bem
definidos com máximos próximos dos valores esperados de rn , cf. Fig. 4.10. Contudo na

68
maioria das situações, o procedimento de análise é a simulação do sinal de EXAFS utilizando
funções δn (ke ) pré-determinadas quer seja através do uso de amostras padrões, ou através de
cálculos teóricos. O mesmo acontece com as amplitudes espalhadas por cada espécie de átomo
vizinho, as quais precisam ser conhecidas a priori para se desconvoluir as informações sobre
desordem atômica e número de ordenação —número de átomos vizinhos com mesmos valores
rn — contidas no espectro de EXAFS.9

Figura 4.10: Análise de Fourier F (u), eq. (4.22), do sinal de EXAFS na Fig. 4.9 (——). Mag-
nificando a mudança de fase δn por um fator 10 (– – –), os deslocamentos dos picos de F (u) em
relação aos valores esperados de rn ( | ) ficam mais evidentes. [exexafs.m]

···

Ex. 4.4: A partir do sinal de XAFS, obtenha f ′ (E) e f ′′ (E) em torno da borda de absorção
do átomo zero.

Resp.: Como σa (E) ∝ f ′′ (E), o sinal de XAFS perturba f ′′ do mesmo modo que perturba σa ,
9
Para maiores detalhes sobre instrumentação, metodologia de coleta de dados e análise do sinal de EXAFS
consulte literatura especializada, por exemplo, refs. [38], [1] e [35].

69
Figura 4.11: Modulação das amplitudes de ressonância do Fe na presença de átomos vizinhos.
Modelo de 4 vizinhos, e.g. Fig. 4.6. [exkk.m]

ou seja, f ′′ (E) → f ′′ (E)[1 + χ(E)]. Para obter f ′ (E) é necessário utilizar uma das relações
Kramers-Kronig na eq. (4.17),
∫ ∫
′ 2 +∞
x f ′′ (x) ′ ′ 2 +∞
x f ′′ (x)χ(x)
f (E) = − P dx ∴ f (E) → f (E) − P dx .
π 0 x2 − E 2 π 0 x2 − E 2

Os valores de f ′′ (E) são definidos dentro do intervalo finito de energia [Emin , Emax ]. Na integral
acima, quando E < Emin ou E > Emax toma-se f ′′ (E) = f ′′ (Emin ) ou f ′′ (E) = f ′′ (Emax ),
respectivamente. Na Fig. 4.11 são mostradas as amplitude de ressonância na hipótese do Fe
ser o átomo zero.
···

70
Resumo

— Fator de espalhamento atômico com correção de dispersão:

f (Q, E) = f0 (Q) + f ′ (E) + if ′′ (E)

— Seção-de-choque de absorção:

σa (E) = 2re λf ′′ (E)

— Atenuação linear da intensidade:

I(E, x) = I0 e−µ(E) x

— Coeficiente de atenuação linear:


∑ ( NA ρ ) ∑ (µ)
µ(E) = n M
σ (E) =
n n n ρ
ρn
n

— Seção-de-choque total da atenuação linear:

σ(E) = σa (E) + σC (E) + σR (E)

— Modulação da absorção fotoelétrica (XAFS):

σa′ (E) = σa (E) [1 + χ(E)]

— Termo de modulação na aproximação de EXAFS:

∑ Rn (ke )
χ(ke ) = n sen[2ke rn + δn (ke )]
ke rn2

— Vetor de onda do fotoelétron com energia cinética K:



2mK √ −1
ke = = 0, 512315 K[eV] Å
~

71
Capítulo 5

Sistemas dispersos: Gases e soluções


diluídas

A Teoria Cinemática abrange toda e qualquer descrição do processo de espalhamento de raios X


por um conjunto de elétrons onde são desprezíveis os efeitos de re-espalhamento —com coerência
de fase— da onda já espalhada pelo conjunto. Em outras palavras, a radiação espalhada
é formada por fótons que interagiram uma única vez com a amostra. Nessas condições, a
intensidade espalhada, muitas vezes chamada de intensidade cinemática, é proporcional ao
módulo quadrado do fator de forma, eq. (2.9). Amostras de materiais em estado gasoso, líquido
ou sólido nada mais são do que sistemas de átomos com diferentes graus de correlação entre
as posições atômicas, indo desde sistemas dispersos, tal como um gás, até sistemas altamente
correlatos como no caso dos cristais. A Teoria Cinemática descreve muito acuradamente o
espalhamento de raios X por qualquer um desses sistemas, exceto apenas por cristais altamente
perfeitos com dimensões superiores a algumas micra. Neste capítulo iniciaremos, de fato, a
discutir métodos de análise dos sistemas atômicos através do espalhamento cinemático de raios
X, começando com o sistema de mais baixo grau de correlação possível.
Partindo da densidade eletrônica discreta, como aquela na eq. (3.7) para N átomos, chega-se
à expressão geral da intensidade cinemática

2
∑N ∑
N ∑
N
ra
fa (Q)fb∗ (Q) e iQ·(⃗ra −⃗rb ) =
⃗ = IT h ⃗ ⃗
I(Q) fa (Q) e iQ·⃗
= IT h

a=1 a=1 b=1

72

N ∑
N ∑
N
fa (Q)fb∗ (Q) e iQ·⃗rab

= IT h |fa (Q)|2 + IT h (5.1)
a=1 a=1 b̸=a

onde ⃗rab = ⃗ra − ⃗rb e fb∗ (Q) ̸= fb (Q) quando as amplitudes de ressonância são levadas em
conta, eq. (4.4). A princípio esta expressão da intensidade é válida para qualquer tipo de
amostra espalhando dentro do regime cinemático, sendo especialmente útil nos casos onde é
viável discretizar a densidade eletrônica átomo-a-átomo.

5.1 Gás monoatômico


No caso de gás monoatômico, fa (Q) = fb (Q) = f (Q) e as separações ⃗rab entre pares de átomos
variam ininterruptamente com o tempo tal que
[ ]

N ∑
N
⃗ = N+
I(Q) ⃗ · ⃗rab ) IT h |f (Q)|2
cos(Q (5.2)
a=1 b̸=a

corresponde a intensidade instantânea espalhada pelo sistema. A seção-de-choque do espalha-


mento coerente de um átomo, e.g. Fig. 3.3, tem valores muito pequenos, chegando no máximo
a alguns milhares de barns, ∼ 10−25 m2 . As intensidades espalhadas são tão fracas que as me-
didas de intensidade precisam ser feitas em tempos relativamente longos quando comparados
aos tempos médios que os átomos no gás levam para percorrer as dimensões do volume ilumi-
⃗ contém, portanto, o valor da média temporal
nado pelo feixe de raios X. Uma medida de I(Q)
⟨· · · ⟩t , da somatória dupla na eq. (5.2). Como os átomos têm movimentos independentes um
dos outros —característica de sistema disperso1 —, a média temporal dos cossenos é nula, i.e.
⟨cos(Q
⃗ · ⃗rab )⟩t = 0 para qualquer par de átomos desde que Q ̸= 0, fazendo que o termo entre

colchetes, [· · · ], contribua apenas com um fator N . Já quando Q = 0, a somatória dupla é igual


a N (N − 1) e o termo entre colchetes passa a contribuir com um fator N 2 . Note que, numa
distribuição aleatória de muitos átomos, a intensidade instantânea também obedece as relações
I(Q ̸= 0) ∝ N e I(Q = 0) ∝ N 2 , mas nesse caso devido ao valor nulo da média estatística dos
cossenos na distribuição.
⃗ para a média (temporal ou estatística) dos
O quão diferente de zero dever ser o vetor Q
1
Gás ideal nas condições normais de pressão e temperatura satisfaz a condição de sistema idealmente disperso
[20].

73
Figura 5.1: Intervalo de ultra-baixo ângulo, 2θ < λ/D, onde todos os átomos do gás espalham
em fase: I ∝ N 2 . Em situações reais, D e L correspondem em geral aos comprimentos de
coerência transversal e longitudinal do feixe de raios X, cf. Fig. 1.4.

⃗ na região em que o fator


cossenos ser nula? Ou, em outras palavras, qual a função I(Q)
multiplicativo (termo entre colchetes) passa de N para N 2 ? Tal função depende da forma e
dimensão do volume de gás iluminado pela radiação, ou mais especificamente, do tamanho do
volume perpendicular ao feixe no plano de incidência. Quantitativamente, a transformada de
Fourier do volume determina o quão distante de Q = 0 devemos olhar a radiação espalhada
para a média dos cossenos ser nula. De um ponto de vista mais qualitativo, podemos fazer uma
estimativa simples do valor do ângulo de espalhamento 2θ onde essa média deixa de ser nula.
⃗ eqs. (1.3) e (2.7), é fácil verificar
A partir das definições do versor π̂ e do vetor recíproco Q,
que
⃗ = Qπ̂ .
lim Q
2θ→0

⃗ · ⃗rab será
Se D for a dimensão do volume na direção π̂, o máximo valor do produto vetorial Q
QD. Para a média dos cossenos ser nula é preciso que QD ≥ 2π, e com isso


N IT h |f (Q)|2 se Q ≥ 2π/D (2θ ≥ λ/D)
⃗ =
I(Q) (5.3)

N 2 IT h |f (0)|2 se Q < 2π/D (2θ < λ/D)

tal como ilustrado na Fig. 5.1.

74
De modo geral, D representa o menor valor dentre tamanho da amostra, seção transversal
do feixe ou comprimento de coerência transversal do feixe, eq. (1.16). Na prática, o valor de D é
grande o suficiente para o intervalo de forte intensidade, proporcional a N 2 , ser indistinguível do
feixe direto. Fora do feixe direto, a intensidade é proporcional ao número N de átomos e varia
com Q de acordo com o fator de espalhamento atômico do elemento em questão, mostrando que
experimentos para medir diretamente f (Q) são possíveis, a princípio, em gases monoatômicos.

···

Ex. 5.1: Dada a expressão da intensidade coerente

I(Q) = N IT h |f (Q)|2 [1 + (N − 1) G(Q)]

onde N é o número de átomos dentro do volume de coerência V ≈ D2 L e G(Q) = exp(−Q2 /2σQ


2
),
com σQ = π/D, é uma função empírica utilizada aqui para descrever a variação da intensidade
em torno do feixe direto, eq. (5.3). (a) Estime a porcentagem relativa R, de fótons espalhados
fora do feixe direto em relação ao número total de fótons espalhados pelos N átomos. Obs.:
escreva o resultado em função da densidade volumétrica ϱ de átomos na amostra. (b) Sendo
D = 0, 04 µm e L = 0, 03 µm os comprimentos de coerência da radiação Kα do Cu, ex. 1.5, qual
o valor de R para o gás Ar nas condições normais de pressão e temperatura? (c) Se no argônio
liquefeito as menores distâncias interatômicas fossem da ordem de 3,6 Å, qual seria o valor de
R? (d) Interprete os resultados.

Resp. (a): Fora do feixe direto: N Φ σR fótons/s, eq. (3.6). Em torno do feixe direto:2
0, 5πN (N − 1) Φ re2 |fAr (0)|2 (λ/D)2 fótons/s. Como N − 1 ≃ ϱV ,

σR σR
R = 100 ≃ 100 .
σR + 0, 5π re2 |fAr (0)| (N − 1)(λ/D)
2 2 σR + 0, 5π re |fAr (0)|2 Lλ2 ϱ
2

Resp. (b): Para fótons de 8 keV, σR (Ar) = 63, 9 barn e λ = 1, 54 Å. fAr (0) = 18 e re2 =
0, 0794 barn. A 25 ◦ C, o volume molar de um gás ideal vale 24,467 L/Mol, implicando em
∫ ∫
2
Com Q = (4π/λ)sen(γ/2), G(Q) dΩ = 2π exp{−α[sen2 (γ/2)]2 } senγ dγ ≃ 4π/α = 0, 5π(λ/D)2 .

75
ϱ = 2, 46 × 107 átomos/µm3 e N = 1, 2 × 103 . Então,

63, 9
R ≃ 100 = 98, 9% .
63, 9 + 0, 72

Resp. (c): Num líquido, assumindo que cada átomo ocupe um volume livre médio da ordem
de 47 Å3 , tem-se ϱ = 2, 14 × 1010 átomos/µm3 e N = 1, 0 × 106 , o que leva a

63, 9
R ≃ 100 = 9, 4% .
63, 9 + 615, 3

Resp. (d): Os resultados em (b) e (c) mostram que somente há intensidade coerente mensurável
espalhada por um sistema disperso porque o campo de onda do feixe de raios X não é uma onda
plana perfeita. Caso contrário, o volume de coerência seria tão extenso quanto as dimensões
macroscópicas do volume total iluminado pelo feixe de raios X, algo da ordem de 1 mm3 , onde
existiriam cerca de 1016 átomos (gás Ar), implicando em R = 0, ou seja, numa situação de
interferência completamente destrutiva fora do feixe direto. Por outro lado, mesmo com feixe
de baixa coerência, amostras líquidas ou sólidas onde a densidade de átomos varia entre 1010 e
1011 átomos/µm3 , têm valores de R praticamente nulos na ausência de interferências construti-
vas oriundas das correlações de posição entre os átomos na amostra. O uso de equipamentos de
raios X com ópticas focalizadoras, fornecendo alto fluxo e baixa coerência, são portanto ideais
para o estudo de sistemas dispersos.

···

5.2 Moléculas dispersas: orientações aleatórias


Semelhante ao caso do gás monoatômico, o espalhamento por um gás de moléculas idênti-
cas independe da interferência mútua entre as moléculas,3 contendo somente informação da
estrutura interna da molécula. Outros sistemas moleculares dispersos, tais como soluções de
baixa concentração, também podem apresentar espalhamentos livres da interferência mútua.
Porém, diferentemente dos átomos, moléculas são estruturas 3-D que, em geral, não apresentam
3
Assumindo feixes de raios X com comprimentos de coerência finitos.

76
simetria esférica. Uma medida de intensidade do sistema corresponde, portanto, à soma das
intensidades espalhadas pelas moléculas em todas as orientações possíveis.
⃗ o fator de forma da molécula, calculado de modo análogo àquele na eq. 3.8,
Seja FM (Q)
somando-se sobre todos os Nat átomos da molécula, cujas posições relativas não mudam (molécu-
las rígidas) —as redistribuições dos elétrons nas ligações químicas são desprezadas no cálculo
aproximado de FM —. A intensidade espalhada por uma única molécula fica então dada por

2 ∑
Nat ∑
Nat

fa (Q)fb∗ (Q) e iQ·⃗rab .
⃗ ⃗ ⃗
IM (Q) = IT h FM (Q) = IT h (5.4)
a=1 b=1

Num sistema disperso com N moléculas, a intensidade espalhada, fora do feixe direto, seria
⃗ caso todas as moléculas tivessem a mesma orientação espacial. Pelo próprio fato
N IM (Q)
do sistema ser suficientemente disperso para que as moléculas não exerçam influência umas
sobre as outras, as moléculas têm orientações aleatórias e todas as orientações com a mesma
probabilidade. A intensidade mensurável corresponde assim ao valor médio de IM , ou seja,


Nat ∑
Nat
fa (Q)fb∗ (Q) ⟨e iQ·⃗rab ⟩

I(Q) = N ⟨IM (Q)⟩
⃗ = N IT h (5.5)
a=1 b=1

é a intensidade coerente espalhada pelo sistema com N moléculas dispersas e orientadas aleato-
riamente. As distâncias interatômicas rab , dentro da molécula são fixas para cada par de átomos.
A média é calculada sobre todas as orientações dessas distâncias interatômicas em relação ao
vetor recíproco. O cálculo da média é análogo à solução da parte angular da integral resolvida
no ex. 2.1(a), i.e.,

⃗ = Qẑ = [0, 0, Q],


Q ⃗rab = rab [senγ cos φ, senγ senφ, cos γ], ⃗ · ⃗rab = Q rab cos γ ,
Q e

∫ 2π ∫ π
⃗ rab 1
⟨e iQ·⃗
⟩= [cos(Qrab cos γ) + i sen(Qrab cos γ)] senγ dγ dφ =
4π 0 0
∫ +Qrab
1 sen(Qrab )
= (cos w + i sen w) dw = .
2 Qrab Qrab
| −Qrab {z }
onde w=Qrab cos γ

E assim,

Nat ∑
Nat
sen(Qrab )
I(Q) = N ⟨IM (Q)⟩
⃗ = N IT h fa (Q)fb∗ (Q) . (5.6)
Qrab
|a=1 b=1
{z }
P (Q)

77
Por questões de eficiência de cálculo, uma vez que rab = rba , o poder de espalhamento da
molécula é reescrito na seguinte forma


Nat N∑
at −1 ∑
Nat
sen(Qrab )
P (Q) = |fa (Q)| + 2
2
Re{fa (Q)fb∗ (Q)} , (5.7)
a=1 a=1 b>a
Qrab

evitando como isso computar duas vezes a contribuição de cada par de átomos. A função seno
no segundo termo de P (Q) aparece exclusivamente devido ao fenômeno de interferência entre
os átomos da molécula, implicando numa modulação da intensidade espalhada em função de
Q.
A existência de um padrão de interferência na curva de espalhamento fica mais evidente

quando se avalia a curva de espalhamento normalizada pela intensidade N IT h a |fa (Q)|2 ,
que seria espalhada pelo sistema no caso de ausência total de interferência entre os átomos da
molécula. O padrão de interferência é assim caracterizado pela função

I(Q) P (Q)
S(Q) = ∑ =∑ =
a |fa (Q)| a |fa (Q)|
N IT h 2 2

2 ∑∑ sen(Qrab )
=1+ ∑ Re{fa (Q)fb∗ (Q)} , (5.8)
a |fa (Q)|
2 Qrab
a b>a

a qual tem valor máximo igual ou ligeiramente menor que Nat em Q = 0, i.e. S(Q = 0) . Nat ,
e oscila em torno da unidade para Q → ∞.

···

Ex. 5.2: Considere um gás composto unicamente de N moléculas de benzeno, C6 H6 . (a) O quê
muda na intensidade espalhada pelo gás em relação àquela espalhada por uma única molécula,
e.g. Fig. 3.5? Obs.: despreze os hidrogênios. (b) Decomponha o padrão de interferência
nas contribuições individuais das distâncias interatômicas características da molécula. Qual
distância tem maior peso? (c) Quão significante é o espalhamento Compton?

Resp. (a): Sendo N grande o suficiente para a distribuição de orientações ser contínua,

S(Q)
z
[ }| √ ]{
sen(Qd) sen(Qd 3) sen(2Qd)
I(Q) = N IT h 6|fC (Q)|2 1+2 +2 √ + =
Qd Qd 3 2Qd

78
⃗ ′ )|2 ⟩ dΩ 6|fC (Q)|2 S(Q) .
= N Φ re2 ⟨|P(ŝ

Utilizando a mesma geometria de detetor cilíndrico indicada na Fig. 3.4,


√ ( )1/2
2π 2 D cos ϕ
Q(z, ϕ) = 1− √ .
λ D2 + z 2

A intensidade calculada para o gás, mostrada na Fig. 5.2, está bastante concentrada em
torno do feixe direto e apresenta poucos detalhes em comparação à intensidade de uma única
molécula. Contudo, o fato do movimento das moléculas não afetar a intensidade mensurável
permite exposições longas, melhorando a resolução estatística da curva de espalhamento fora
do feixe direto. Na prática, a resolução é limitada pela radiação de fundo (Compton) e pelo
alcance dinâmico4 do detetor de radiação.

Resp. (b): Na molécula 6C o padrão de interferência, dado pela função S(Q), é definido pela
superposição de três funções do tipo sen(Qd)/Qd, relativas às distâncias d = 140, 243 e 280 pm,
como indicado na Fig. 5.2. Os pesos são 2, 2 e 1, respectivamente.

Resp. (c): Para incluir Compton na Fig. 5.2:

[ ]
I(Q) = N IT h 6 |fC (Q)|2 S(Q) + S(Z, Q)

onde a função S(Z, Q) é dada pela eq. (3.12), com Z = 6 no caso do carbono. Compton passa
a ser mais significante que o espalhamento coerente, i.e. S(Z, Q) > |fC (Q)|2 S(Q), quando
−1
Q > 3, 5 Å (2θ > 20◦ ) para fótons de 20 keV.

···

4
Faixa útil de um detetor de radiação em escalas de intensidade ou dose por pixel.

79
Figura 5.2: (Em cima) Intensidade espalhada por N moléculas de benzeno com orientações
aleatórias. A intensidade de fundo gerada pelo espalhamento Compton é considerada apenas
para valores negativos de 2θ. Raios X de 20 keV, distância amostra-filme D = 50 mm, polar-
ização linear σ [Fig. 3.4] e fluxo tal que N Φ re2 = 1 cps. (Em baixo) Função S(Q) (——) para
a molécula 6C, S(0) = 6. As contribuições individuais (curvas tracejadas) das três distâncias
características da molécula estão deslocadas no eixo das ordenadas para melhor visualização
[benzenesaxs.m, benzenesaxsb.m]

80
5.3 Espalhamento a baixo ângulo
A análise de S(Q) na região de Q grande forneceria, a princípio, informações sobre os menores
valores de rab . Mas existem várias dificuldades experimentais para se acessar tais informações,
uma delas imposta pelo fato do valor máximo de Q ser determinado pela energia da radiação
utilizada, em geral na casa de poucas dezenas de keV, eq. (3.5). Isso implica que, ao se estudar
sistemas dispersos por difração de raios X, as informações das menores distâncias interatômicas
na molécula, da ordem de poucos Ångstroms, somente são acessíveis em altos ângulos, justa-
mente onde os fatores de espalhamento atômicos têm valores bastante reduzidos em relação aos
valores para 2θ ≈ 0 e onde o espalhamento Compton é mais intenso, cf. Fig. 3.8. Como já ex-
istem poucas moléculas espalhando a radiação num sistema disperso, medidas com satisfatória
resolução estatística da intensidade coerente espalhada em altos ângulos são, na maioria das
vezes, inviáveis nesses sistemas.
Por outro lado, medidas da intensidade espalhada na região de Q pequeno fornecem infor-
mações das maiores distâncias interatômicas, da ordem das dimensões físicas das moléculas.
Para demonstrar esta propriedade do espalhamento a baixo ângulo, toma-se o limite da eq. (5.6)
quando Qrab → 0 tal que


Nat ∑
Nat [ ]
1
I(Q) ≈ N IT h fa (Q)fb∗ (Q) 1 − (Qrab )2

a=1 b=1
6

∑ Nat [
Nat ∑ ] ( )
1 1 2 2
≈N IT h fm2 (0) 1 − (Qrab ) = N IT h fm (0) Nat 1 − Q ⟨r ⟩ .
2 2 2

a=1 b=1
6 3

Para chegar na equação acima, use

senx x − x3 /6 1
lim ≃ = 1 − x2
x→0 x x 6

e substitua fa (Q)fb∗ (Q) por fm2 (0) uma vez que Nat
2
fm2 (0) é o valor da somatória quando Q = 0,
−2

ou numa definição mais geral: fm2 (Q) = Nat | a fa (Q)|2 . Lembrando ainda que e −x ≃ 1 − x
para x ≪ 1, obtém-se a expressão da intensidade no limite de Q tendendo a zero, ou seja,

2 −3Q 1 2 ⟨r 2 ⟩
lim I(Q) = N IT h fm2 (0) Nat e . (5.9)
Q→0

81
( ) (N −1 N )
1 ∑
Nat ∑
Nat ∑
at ∑ at

⟨r2 ⟩ = 2
rab 2
/ Nat = 2
rab 2
/ Nat (5.10)
2 a=1 b=1 a=1 b>a

é o raio quadrático médio da molécula, demonstrando assim que a intensidade espalhada na


região de Q pequeno é determinada pelo tamanho médio das moléculas que constituem o sistema
disperso — tamanho médio dado pela raiz do raio quadrático médio, comumente chamada de

raio de giro Rg = ⟨r2 ⟩ da molécula.

5.3.1 Macromoléculas

A descrição átomo-a-átomo não está restrita aos casos de moléculas simples. Graças as facil-
idades computacionais atuais, cálculos exatos tanto do raio de giro como da intensidade são
factíveis até mesmo para complexos moleculares gigantes, contendo dezenas de milhares de
átomos. O banco de dados das proteínas é uma das maiores fontes disponíveis sobre estruturas
discretas (átomo-a-átomo). Quando a estrutura de uma proteína é determinada —geralmente
por meio da difração de raios X na proteína cristalizada—, ela é disponibilizada no Protein
Data Bank [49], em arquivo texto com formato padrão pdb dentre outras opções. Nos arquivos
∗.pdb, as coordenadas atômicas são dadas nas linhas iniciadas com "ATOM" ou "HETATM",
tal como

ATOM 84 N LYS A 12 55.325 15.647 18.827 1.00 19.22 N


ATOM 85 CA LYS A 12 55.370 17.014 18.328 1.00 22.23 C
. . .
HETATM 4716 C14 MYR A1006 29.904 5.219 -4.802 1.00 48.47 C
HETATM 4717 FE HEM A 605 32.347 8.521 32.831 1.00 25.18 FE
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1 2 3 4 5 6 7 8

onde o átomo com número sequencial 85 é um carbono do aminoácido lisina (LYS) com co-
ordenadas X = 55.370Å (colunas 31 a 38), Y = 17.014Å (colunas 39 a 46) e Z = 18.328Å
(colunas 47 a 54). Os caracteres com o símbolo do elemento químico são dados nas colunas 77
e 78. Para maiores detalhes sobre padrão pdb, consulte http://www.wwpdb.org/docs.html.

A rotina saxs.c escrita em C++ lê arquivos com formato pdb e retorna P (Q), S(Q) e Rg ,
calculados de acordo com as eqs. (5.7), (5.8) e (5.10), respectivamente. Embora o cálculo de
P (Q) através da eq. (5.7) seja exato para qualquer Q, ele é um método de pouca eficiência
computacional. Mais adiante veremos algumas aproximações que tornam o cálculo bem mais

82
Figura 5.3: Cadeias de aminoácidos da albumina humana, proteína 1N5U no Protein Data
Bank [49].

eficiente e executável em MatLabTM na região de Q acessível experimentalmente (baixo ângulo),

mas será interessante dispor do cálculo exato para efeitos de comparação.

···

Ex. 5.3: A partir da estrutura conhecida de uma proteína (arquivo ∗.pdp [49]), calcule o
poder de espalhamento, P (Q), e o raio de giro da proteína. (a) Qual o número efetivo de
elétrons por átomo espalhando raios X? Relacione esse número com o valor esperado de P (0).
[Obs.: despreze hidrogênios e ligações químicas, use fa (Q) de átomo neutro.] (b) Qual região
da curva P (Q) apresenta decaimento exponencial com Q2 ?
∑ 2

Resp. (a): Da eq. (5.6) segue P (0) = N
a
at
fa (0) . Como em Q = 0 todos os elétrons espalham

83
−1
Figura 5.4: Curva log(P ) versus Q2 na região Q < 0, 2 Å para albumina humana (PDB ID:
1N5U). Inserção: poder de espalhamento da proteína numa região estendida de Q. [saxs.c,
ex1N5U.m]

−1

em fase, o número efetivo médio de elétrons por átomo será fm (0) = Nat P (0) . No caso
da proteína mostrada na Fig. 5.3, existem 4635 átomos nos aminoácidos (registros "ATOM"

do arquivo 1N5U.pdb) sendo 784 N, 2926 C, 884 O e 41 S. P (0) = |784 fN (0) + 2926 fC (0) +
884 fO (0)+41 fS (0)|2 ≃ 9, 469×108 se efeitos de ressonância atômica são desprezados, enquanto

que P (0) = 9, 547 × 108 é o valor efetivo para raios X de 8 keV quando as amplitudes de
ressonância são contabilizadas. Existem assim fm (0) = 6, 6665 elétrons efetivos por átomo.

Resp. (b): Na Fig. 5.4, P (Q) = P (0) exp(− 13 Rg2 Q2 ) desde Q = 0 até aproximadamente
−1 −2
Q = 0, 08 Å (Q2 = 0, 0064 Å ), sendo o valor de Rg = 27, 9 Å dado pela eq. (5.10).

84
5.3.2 Partículas com densidade uniforme

As propriedades do espalhamento na região de Q pequeno podem ser obtidas, de modo equiva-


lente ao demonstrado para moléculas discretas, partindo-se do pressuposto de partículas com
densidade uniforme. Quando olhamos a radiação espalhada num ângulo suficientemente pe-
queno para que as distâncias interatômicas não afetem o espalhamento de raios X, a densidade
eletrônica é reescrita como

FM (0) Nat fm (0)


ρ(⃗r) = s(⃗r) ≃ s(⃗r) = ρ̄ s(⃗r) . (5.11)
vp vp

s(⃗r) é a função de forma: s = 1 (ou 0) para ⃗r dentro (ou fora) do contorno da partícula.
∑ at ∑Nat
FM (0) = N a fa (0) ≃ N at fm (0) = | a fa (0)| é o número efetivo de elétrons na partícula de
volume vp , tal que ρ̄ = Nat fm (0)/vp é a densidade média de elétrons na partícula, efetivamente

espalhando a radiação. Assim, o novo fator de forma das partículas para ângulos pequenos,

incluindo casos de partículas dispersas num meio homogêneo com densidade eletrônica ρ0 , fica

sendo

FM′ (Q)
⃗ = (ρ̄ − ρ0 ) TF{s(⃗r)} . (5.12)

Como a intensidade mensurável corresponde à média ⟨· · · ⟩, sobre todas as possíveis orientações

da partícula, temos que

I(Q) ≃ N IT h ⟨|FM′ (Q)|


⃗ 2 ⟩ = N IT h (ρ̄ − ρ0 )2 ⟨|TF{s(⃗r)}|2 ⟩ = N IT h P (Q) (5.13)

onde o poder de espalhamento P (Q), depende somente da forma da partícula e do contraste


de densidade dela com o meio.
A técnica conhecida como espalhamento de raios X a baixo ângulo (SAXS–small angle X-ray
scattering) é muito utilizada no estudo de sistemas dispersos, principalmente naqueles sistemas
onde as partículas têm densidade uniforme e tamanhos na faixa de 1 a 50 nm. Tipicamente,
0, 1◦ . 2θ . 10◦ corresponde ao intervalo angular analisado por SAXS, sendo que estes limites
dependem das particularidades de cada arranjo instrumental [12].

85
5.3.3 Morfologia das partículas

A aproximação de densidade uniforme é válida dentro de um intervalo restrito do espaço


recíproco, indo desde Q = 0 até um certo valor de Q a partir do qual a curva de espalha-
mento começa a ser afetada pelas flutuações de densidade internas da partícula. Em torno
do feixe direto, na chamada região de Guinier, essa aproximação é muito boa. A curva de
intensidade sempre apresenta o decaimento exponencial com Q2 , conforme dado pela eq. (5.9),
que em termos da densidade média fica sendo

lim I(Q) = N IT h (ρ̄ − ρ0 )2 lim ⟨|TF{s(⃗r)}|2 ⟩ = N IT h (ρ̄ − ρ0 )2 vp2 e − 3 Q


1 2 ⟨r 2 ⟩
(5.14)
Q→0 Q→0

onde

1
⟨r ⟩ =
2
r2 dV (5.15)
vp vp

é o raio quadrático médio,5 equivalente ao obtido pela somatória discreta na eq. (5.10), mas

com a vantagem de ser calculado a partir da forma da partícula, sem a necessidade do conheci-
mento prévio das distâncias interatômicas. Por exemplo, para uma partícula esférica de raio a:

⟨r2 ⟩ = 3a2 /5 e I(Q)/I(0) = e −0,2 (Qa) . Note que este é praticamente o mesmo resultado do
2

decaimento exponencial e −0,21 (Qa) usado para ajustar a parte inicial da curva de intensidade
2

espalhada por uma densidade eletrônica esférica e uniforme no ex. 2.1(b); a diferença se deve ao
fato de que no exercício foi utilizado como referência a largura a meia altura do espalhamento,
I(Qa = 1, 8149)/I(0) = 1/2, ao invés do limite para Q → 0.
O intervalo da curva de intensidade que pode ser reproduzido por um decaimento exponen-
cial com Q2 varia com as características morfológicas da partícula, na maioria dos casos vai de

Q = 0 até um valor não muito além de Q = 1/Rg (raio de giro Rg = ⟨r2 ⟩ ). Valor este que
serve de estimativa da extensão da região de Guinier na curva de intensidade, de onde se extrai
somente informações de tamanho da partícula.

A partir da região de Guinier, a curva de intensidade deixa de ter uma queda exponencial
Fica como tarefa opcional demonstrar que lim ⟨|TF{s(⃗r)}|2 ⟩ = vp2 e − 3 Q ⟨r 2 ⟩
1 2
5
. Tal demonstração pode ser
Q→0
encontrada em vários livros sobre SAXS, e.g. refs. [17, 18, 19]

86
com Q2 e passa a ter um comportamento fortemente influenciado pela forma da partícula.
A extensão em Q da região com informações morfológicas da partícula, a qual muitas vezes
é denominada região de Porod [19], depende do quão maior são as dimensões da partícula
em relação à escala de comprimento das flutuações internas de densidade. Devido a grande
variedade de sistemas é difícil estabelecer uma regra geral para a ocorrência ou não da região
de Porod. Mas, como via de regra, espera-se que a análise morfológica seja viável quando a
partícula for dezenas de vezes maior que o tamanho das moléculas que a compõe.

Nos casos de partículas com densidade uniforme, interfaces abruptas e superfícies regulares,
a eq. (5.13) prevê curvas de intensidade com queda assintótica do tipo 1/Qn onde n é um
número inteiro 6 diretamente associado à dimensionalidade da partícula. Soluções analíticas do

termo ⟨|TF{s(⃗r)}|2 ⟩ são possíveis para algumas formas específicas de partículas, enquanto que

soluções numéricas são necessárias na maioria dos casos, veja por exemplo ref. [29]. Aqui vamos

fazer uma abordagem numérica simples, mas bastante versátil, para demonstrar as principais
características do comportamento assintótico da intensidade. Esta demonstração baseia-se no

fato das eqs. (5.6) e (5.13) fornecerem o mesmo resultado nas regiões de Guinier e Porod, i.e.

1 2 ∑
N −1 ∑
N
sen(Qrab )
I(Q)/I(0) = 2 ⟨|TF{s(⃗r)}| ⟩ ≃
2
(5.16)
V N (N − 1) a b>a Qrab

desde que os vetores de posição estejam distribuídos de forma uniforme e em quantidade sufi-
ciente para que os menores valores de rab sejam muito menores que as dimensões da partícula.
Através da eq. (5.16), usando distribuições aleatórias dos vetores de posição dentro da

forma escolhida da partícula, é possível verificar as seguintes propriedades do comportamento


assintótico. Partículas com dimensão 3 onde as proporções entre as dimensões em três direções
ortogonais tende a 1 : 1 : 1, tais como cubos e esferas, a intensidade dos máximos das franjas
de interferência cai com 1/Q4 , n = 4, Fig. 5.5. —No caso de partículas esféricas a queda com
1/Q4 pode ser verificada analiticamente a partir da TF da esfera calculada no ex. 2.1(b).— A
redução acentuada de uma ou duas dimensões da partícula elimina as franjas de interferência
na região de Porod e muda o valor de n. Partículas com dimensão 2 são aquelas com aspecto
6
Valores não inteiros ocorrem em partículas sem interfaces definidas, tal como macromoléculas e materiais
com propriedades fractais [39].

87
Figura 5.5: Comportamento assintótico da intensidade espalhada por partículas com diferentes
dimensionalidades: 1 : 1 : 1 (dimensão 3), 1 : 1 : w (dimensão 2) e w : w : 1 (dimensão 1) onde
w = 1/100 (——), 2/100 (– – – –) e 5/100 (– · – · –). Curvas calculadas numericamente através
da eq. (5.16) com N = 2000. [assintotic.m]

planar para as quais n = 2, assíntota 1/Q2 . Aquelas com aspectos alongados, tipo bastonetes,
têm dimensão 1 para as quais n = 1, assíntota 1/Q. As curvas teóricas do espalhamento por

partículas com proporções 1 : 1 : w (dimensão 2) e w : w : 1 (dimensão 1), no limite de w → 0,


são dadas na Fig. 5.5.
Note que, curvas com assíntotas 1/Qn para Q → ∞ ocorrem quando o carácter dimensional
(3, 2 ou 1) da partícula é bem definido, i.e. nos limites w = 0 ou w = 1 (curvas em linhas
sólidas na Fig. 5.5). Nos casos intermediários, o intervalo onde o comportamento assintótico
I(Q) ∝ 1/Qn ocorre fica cada vez menor quanto mais as proporções da partícula se afastam
das situações limites (curvas em linhas tracejadas na Fig. 5.5).

88
Figura 5.6: Raio de giro Rg em função da razão w entre a menor e a maior (2L) dimensão.
Partículas de densidade uniforme e formas esferoidais, w = 1 implica esfera de raio L.

···

Ex. 5.4: Partículas com densidade uniforme e formas esferoidais (a) Qual a dependência do
raio de giro Rg com formas oblatas e prolatas? (b) Quando Rg deixa de depender da razão w
entre menor e maior dimensão da partícula?

Resp. (a): Escrevendo a eq. (5.15) em coordenadas cilíndricas (ρ, ϕ, z),

∫ c ∫ ρ(z)

⟨r ⟩ =
2
(ρ ′ 2 + z 2 ) ρ ′ dρ ′ dz .
vp −c 0

Da equação de um elipsoide de revolução, (x/a)2 + (y/a)2 + (z/c)2 = 1, tem-se que ρ 2 (z) =

89
a2 [1−(z/c)2 ] e vp = 4π a2 c/3. A solução analítica da integral leva a ⟨r2 ⟩ = (2a2 +c2 )/5. Formas
oblatas, a = L e c = wL onde w < 1, Rg2 = (2 + w2 )L2 /5. Formas prolatas, c = L e a = wL,
Rg2 = (2w2 + 1)L2 /5.

Resp. (b): Do gráfico de Rg × w, Fig. 5.6, pode se verificar que para w < 0, 1, Rg já é próximo
√ √
dos valores limites: 2/5 L (oblatas) e 1/5 L (prolatas).

···

Sugestão: Calcule a curva de espalhamento através da eq. (5.16) na região de Guinier e


obtenha numericamente o raio de giro para partículas com diferentes dimensionalidades.

···

5.3.4 Sistemas polidispersos e dispersão de tamanhos

A intensidade cinemática em sistemas polidispersos, i.e., compostos por partículas diferentes

mas sem interação umas com as outras, pode ser tratada como soma das intensidades de sistemas

monodispersos, eq. (5.6) ou (5.13). Então, I(Q) = IT h j Nj Pj (Q) onde o índice j especifica

cada um dos sistemas independentes que compõem o sistema total (polidisperso). Dentro da

aproximação de partículas com densidade uniforme num solvente de densidade eletrônica ρ0 ,


Pj (Q) = (ρ̄j − ρ0 )2 ⟨|TF{sj (⃗r)}|2 ⟩ e o peso

Cj (0) = Nj Pj (0) = Nj (ρ̄j − ρ0 )2 vp,j


2

da contribuição de cada sistema j na intensidade total é determinado pelo número Nj de


partículas e pelo poder de espalhamento das partículas em relação ao meio. A intensidade num
sistema polidisperso no limite Q → 0 continua da forma

I(Q) = I(0) e − 3 Q
1 2 R2
g ,

90
mas o raio de giro fica dado por ∑
Cj (0) ⟨r2 ⟩j
Rg2 = ∑
j
(5.17)
j Cj (0)

onde ⟨r2 ⟩j é o raio quadrático médio de cada tipo de partícula do sistema. I(0) = IT h j Cj (0).
Um tipo de sistema polidisperso bastante comum, encontrado em muitas situações reais,
é aquele formado por partículas com uma mesma densidade eletrônica uniforme ρ̄, mas apre-
sentando variações de formas e tamanhos. Isso permite reescrever a expressão da intensidade
como

I(Q) = IT h (ρ̄ − ρ0 )2 Nj ⟨|TF{sj (⃗r)}|2 ⟩ . (5.18)
j

Nos casos mais gerais, de partículas com diferentes morfologias, a análise das curvas de
espalhamento é muitas vezes inviável. Por outro lado, quando as partículas têm uma mesma

forma, por exemplo, partículas esféricas embebidas em uma matriz líquida ou sólida homogênea,

a dispersão de tamanhos suaviza as franjas de interferência que normalmente ocorrem nas curvas

de intensidade, tornando mais fácil a análise do comportamento assintótico na região de Porod.


Além disso, determinar a distribuição de tamanhos —ponto de interesse em muitas pesquisas

envolvendo síntese de nanopartículas— é possível sob certas circunstâncias. Quando a função

de forma depende somente de uma variável dimensional L da partícula, sj (⃗r) → s(L, ⃗r) e

Nj → N p(L) dL onde N é o número total de partículas no sistema e p(L) é a função distribuição


∫∞
de tamanhos tal que 0 p(L) dL = 1. A intensidade na eq. (5.18) fica assim dada pela integral,

∫ ∞
I(Q) = N IT h (ρ̄ − ρ0 ) 2
p(L) ⟨|TF{s(L, ⃗r)}|2 ⟩ dL , (5.19)
0

e o raio de giro na eq. (5.17) passa a ser

∫∞
p(L) vp2 (L) Rg2 (L) dL
Rg2 = 0 ∫∞ . (5.20)
0
p(L) vp2 (L) dL

Rg (L) é o raio de giro das partículas cujo valor da variável dimensional está entre L e L + dL.

Quedas de intensidade com assíntotas 1/Q4 estão associadas às partículas regulares, sem
fractalidade de superfície e sem caráter acentuadamente planar ou linear —razão entre menor

91
e maior dimensão bem superior a 0,1—. Nesses casos, é possível de demonstrar que a integral
na eq. (5.19) vale

∫ ∞ ∫ ∞
2π N ⟨As ⟩ A
N p(L) ⟨|TF{s(L, ⃗r)}| ⟩ dL ≃ 4 N
2
p(L) As (L) dL = 2π 4
= 2π 4 (5.21)
0 Q 0 Q Q

na região onde as franjas de interferência são suavizadas pela distribuição p(L) de tamanhos.
As (L) é a área superficial das partículas com dimensão L, e A = N ⟨As ⟩ é a área superficial
total das N partículas, correspondendo a área total da interface entre partículas e solvente, ou
seja, entre os materiais com densidades ρ̄ e ρ0 .

A
I(Q) = 2π IT h (ρ̄ − ρ0 )2 (5.22)
Q4

é conhecida como lei de Porod e pode ser observada em vários sistemas formados por materiais

com duas densidades eletrônicas distintas [12].

···

Ex. 5.5: Partículas esféricas, além de tratáveis analiticamente, ocorrem com grande frequên-
cia na síntese de nanopartículas. Seja um sistema disperso de partículas esféricas com raios
distribuídos continuamente em torno de um valor mais provável a0 . (a) Faça a demonstração

teórica7 da lei de Porod. (b) Qual a relação entre visibilidade das franjas e dispersão de taman-

hos (raios)?

Resp. (a): Sendo s(L, ⃗r) a função de forma de uma partícula esférica de raio a, ex. 2.1,

[ ]2
sen(Qa) − (Qa) cos(Qa)
⟨|TF{s(L, ⃗r)}| ⟩ =
2
vp2 (a) Θ2 (Qa) = (4πa ) 3 2
=
(Qa)3

[ ( ) ]
a2 1 a2 1 2a
= 8π 2
4
+ 6+ 4
− 6 cos(2Qa) − 5 sen(2Qa) .
Q Q Q Q Q

Descartando termos com Q−5 e Q−6 , e substituindo esta expressão na eq. (5.19) com o raio a
7
Consulte ref. [19], pag. 336.

92
fazendo a vez da variável dimensional L,


2πN A
I(Q) ≃ IT h (ρ̄ − ρ0 )2
p(a)4πa2 [1 + cos(2Qa)] da ≃ 2π IT h (ρ̄ − ρ0 )2 .
Q4 Q4

As contribuições dos cossenos tendem a se anularem mutuamente quanto maiores os valores de



Q e da dispersão dos tamanhos na distribuição, tal que p(a)4πa2 cos(2Qa) da ≃ 0, levando
assim à fórmula (ou lei) de Porod como se queria demonstrar.

Resp. (b): Franjas deixam de ser visíveis quando cos(2Qa) varia de −1 a +1 dentro de um
pequeno intervalo de valores de a, ou seja quando Q > π/∆a onde ∆a representa a dispersão
de valores, tal como a largura a meia altura da distribuição p(a).

Ex. 5.6: Considere uma distribuição não gaussiana de partículas esféricas. (a) Simule a curva

de espalhamento. A partir de qual valor de Q a curva fica suave (sem franjas)? (b) Compare

valores do raio de giro Rg e da área superficial média ⟨As ⟩, com os obtidos por distribuições

gaussianas capazes de gerarem curvas de espalhamento similares. São esses valores compatíveis?

Resp. (a): Uma das mais comuns distribuições não gaussianas, em escala linear, é a distribuição

log-normal
1
e −(ln a−ln b)
2 /2σ 2
p(a) = √ n ,
a σn 2π
2
cuja variável b = a0 eσn depende do valor de a0 (raio mais provável) e do desvio padrão na

escala logarítmica, σn . Exemplos na Fig. 5.7.


Como já previsto, as franjas desaparecem para Q > π/∆a onde ∆a é a largura a meia
altura de p(a). No exemplo na Fig. 5.7(a), ∆a = 11, 7 nm de modo que a região sem franjas
−1
tem Q > 0, 027 Å .

1
√ e −(a−a0 )
2 /2σ 2
Resp. (b): Seja p(a) = a distribuição gaussiana utilizada para fins de
σ 2π
comparação.8 Na Tabela 5.1, os parâmetros das duas distribuições gerando curvas similares
são comparados; algumas curvas são mostradas na Fig. 5.7. Somente os valores de Rg deixam
de ser compatíveis quando a distribuição log-normal fica muito assimétrica. Porém, nesses
8
∫∞
Para valores grandes de σ, a constante de normalização é redefinida tal que 0
p(a) da = 1.

93
log-normal gaussiana
a0 (nm) σn Rg (nm) ⟨As ⟩ (nm2 ) σ (nm) Rg (nm) ⟨As ⟩ (nm2 )
50 0,1 42,0 3,3×104 5,37 41,5 3,2×104
50 0,2 53,3 3,7×104 15,2 55,5 3,4×104
100 0,3 157 1,8×105 60,1 167 1,7×105
100 0,7 662 8,1×105 211 470 8,1×105

Tabela 5.1: Parâmetros das distribuições log-normal e gaussiana produzindo curvas de espa-
lhamento similares Rg e ⟨As ⟩ calculados a partir das eqs. (5.20) e (5.21), respectivamente.

casos σ & a0 , implicando numa fração significante de partículas muito pequenas, fato que
pode ser usado como critério de veracidade do modelo gaussiano em descrever a distribuição

de tamanhos.

···

94
Figura 5.7: Espalhamento de raios X por sistemas dispersos de esferas com densidade uniforme
e diferentes distribuições de tamanhos (inserções). (a) e (b) Simulações utilizando respectiva-
mente os parâmetros nas linhas 1 e 4 da Tabela 5.1, juntamente com os padrões de referência
do espalhamento por esferas de raio a0 . [exlognormal.m]

95
Resumo

— Poder de espalhamento de partículas discretas:

∑ ∑ sen(Qrab )
P (Q) = a b fa (Q) fb∗ (Q)
Qrab

— Poder de espalhamento de partículas uniformes em solução:

P (Q) = (ρ̄ − ρ0 )2 ⟨|TF{s(⃗r)}|2 ⟩

— Aproximação de baixo ângulo, limite Q → 0, região de Guinier:

( )
P (Q) = P (0) exp − 13 Q2 Rg2

— Raio de giro da partícula:

(1 ∑ ∑ ) 1

Rg2 = 2 a
2
b rab
2
/ Nat (discreta) ou Rg2 = vp vp
r2 dV (uniforme)

— Comportamento assintótico, partículas uniformes regulares, região de Porod:

P (Q) = 2π (ρ̄ − ρ0 )2 A/Q4

— Área superficial total da distribuição p(L) de tamanhos:

∫∞
A = N ⟨As ⟩ = N 0
p(L) As (L) dL

— Raio de giro da distribuição:


∫∞
p(L) vp2 (L) Rg2 (L) dL
Rg2 = 0 ∫ ∞
0
p(L) vp2 (L) dL

— Distribuições de tamanhos:

e−(L−L0 ) /2σ e−(ln L−ln b) /2σn


2 2 2 2

p(L) = √ (gaussiana) e p(L) = √ (log-normal)


σ 2π L σn 2π
b = L0 exp(σn2 )

96
Capítulo 6

Sistemas complexos I: correlações


arbitrárias de curto alcance

Sistemas dispersos representam situações extremas de total ausência de correlação entre as

unidades espalhadoras, existindo apenas correlações internas de curto alcance.1 No extremo

oposto estão os sistemas cristalinos onde as correlações entre as unidades espalhadoras são con-

stantes, havendo portanto o domínio da ordem de longo alcance. Entre essas duas situações
extremas, estão os sistemas com correlações arbitrárias, ou seja, sistemas complexos onde ex-

istem correlações entre as unidades espalhadoras, mas essas correlações impõem ordem apenas

em escalas de curto e médio alcance, podendo variar ao longo da extensão física dos sistemas.
A descrição matemática de sistemas complexos requer um formalismo flexível o suficiente
para descrever tanto correlações internas em unidades espalhadoras com estruturas não triv-
iais assim como possíveis correlações entre as unidades espalhadoras. No capítulo anterior
estudamos dois modelos relativamente simples de unidades espalhadoras: partículas discretas
e partículas com densidade uniforme. Contudo, esses modelos não cobrem todos as possibili-
dades. Existem casos onde descrição átomo-a-átomo é inviável, mas as flutuações internas de
densidade precisam ser levadas em conta.

Amostras mais densas do que gases e soluções diluídas frequentemente apresentam padrões
1
Num gás as unidades espalhadoras são moléculas e as correlações internas produzindo efeitos de interferência
são as distâncias interatômicas rab , e.g. eq. (5.7). No caso de gás monoatômico, os átomos são as unidades
espalhadoras e as correlações internas configuram o fator de espalhamento atômico, f (Q).

97
de difração com mais detalhes do que o previsto pela simples análise da estrutura interna das
unidades espalhadoras. Por exemplo, no caso de líquidos, uma densidade eletrônica discreta,
como aquela na eq. (3.7), permite descrever apenas o espalhamento individual das moléculas
uma vez que as correlações de curto alcance (distâncias interatômicas intra moleculares) são bem
definidas. Mas, fica faltando uma formulação mais elaborada que permita incluir a interferência
mútua entre os campos de onda espalhados pelas moléculas em posições pouco correlatas. A
interferência mútua é determinada pelo potencial de interação inter molecular, ou seja, pelas
correlações de longo alcance, as quais muitas vezes são correlações puramente estatísticas.

A formulação necessária para descrever o espalhamento cinemático por qualquer tipo de


amostra é obtida tomando-se como ponto de partida uma densidade eletrônica ρ(⃗r) arbitrária,

cuja intensidade

⃗ = IT h |TF{ρ(⃗r)}|2 = IT h TF{ρ(⃗r)} TF{ρ(⃗r)}∗ = IT h TF{ρ(⃗r) ∗ ρ(−⃗r)}


I(Q)

= IT h TF{C(⃗u)} , (6.1)

é escrita na forma mais geral possível, deixando evidente que a intensidade no espaço recíproco

é a TF da função de correlação


C(⃗u) = ρ(⃗r) ∗ ρ(−⃗r) = ρ(⃗r)ρ(⃗r + ⃗u) dV . (6.2)

Toda e qualquer correlação entre as posições ⃗r das cargas eletrônicas estão expressas na função
de correlação. O vetor ⃗u representa as posições relativas entre as cargas. Quanto maior o valor
de C(⃗u), maior o número de vezes que a separação ⃗u entre cargas ocorre na amostra, ou seja,
maior o número de cargas separadas de ⃗u. Na maioria dos casos, cargas são elétrons atômicos
e ⃗u é o vetor separação entre pares de átomos ou grupos de átomos (moléculas e partículas) .

98
Nota 6.1: Função de Patterson
A dedução da função de correlação na eq. (6.2), ∫também chamada de função de Patter-
son, utiliza a igualdade g(u) = f (x) ∗ f ∗ (−x) = f ∗ (x)f (x + u) dx. Aqui faremos uma
demonstração geral desta igualdade quer f (x) seja uma função real ou complexa. Dado
que, ∫ ∫
∗ ∗ −iQ x
TF{f (x)} = f (x)e dx = f ∗ (−x)eiQ x dx = TF{f ∗ (−x)} ,

e lembrando que o produto das TFs e igual a TF da convolução, eq. (2.16), é fácil verificar
que
|TF{f (x)}|2 = TF{f (x)}TF{f (x)}∗ =
TF{f (x)}TF{f ∗ (−x)} = TF{f (x) ∗ f ∗ (−x)} = TF{g(u)} .
Por outro lado, também é verdade que
∫ ∫ ∫∫
∗ ′ iQ x′ ′ ∗ −iQ x ′
TF{f (x)}TF{f (x)} = f (x )e dx f (x)e dx = f ∗ (x)f (x′ )eiQ (x −x) dx′ dx .

Trocando x′ por u + x e dx′ por du, obtemos


∫ [∫ ]
∗ ∗
TF{f (x)}TF{f (x)} = f (x)f (x + u)dx eiQ u du = TF{g(u)} ,

demonstrado assim que


∫ ∫
∗ ∗
g(u) = f (x) ∗ f (−x) = f (x)f (x + u)dx = f ∗ (x − u)f (x)dx ,

e que g(u) é uma função simétrica (par) caso f (x) seja uma função real.

A descrição através da função de correlação das inúmeras formas da matéria se organizar,


desde uma escala atômica até microscópica, é o que importa do ponto de vista da intensidade
cinemática. A função de correlação independe de fatores de fase, ou seja, a determinação de
ρ(⃗r) depende da fase da onda de raios X espalhada, tal como resumido na eq. (3.9), mas C(⃗u)
depende somente da intensidade que é um valor real com fase nula. Consequentemente, a função
de correlação representa o conjunto de todas as informações estruturais diretamente acessíveis
via experimentos de difração (cinemática) de raios X, podendo ser, a princípio, determinada
pela TF inversa (§ 2.1) da intensidade, i.e.


C(⃗u) = TF −1
{IT−1h ⃗ = 1
I(Q)} IT−1h I(Q)
⃗ e−iQ·⃗
⃗ u
dVQ . (6.3)
(2π)3

99
⃗ em todo o espaço recíproco como
Existe contudo a dificuldade experimental em medir I(Q)
requer a integral acima. Um dos motivos é o fato do valor máximo de Q ser limitado pela
energia, como já discutimos anteriormente, eq. (3.5). Porém, mesmo utilizando raios X de alta
energia para que seja possível medidas de intensidade com vetores recíprocos grandes, a eq. (6.3)
é uma integral vetorial de volume e, caso a amostra não seja isotrópica, será necessário medições
da intensidade espalhada em função do módulo Q do vetor recíproco sobre distintos planos de
incidência, implicando em procedimentos experimentais bastante elaborados. Assim, além do
tipo de amostra a ser analisada: líquidos, coloides, materiais vítreos ou amorfos, policristais,

cristais,...etc; precisa-se ter em mente quais informações são acessíveis dentro das condições
experimentais disponíveis. As seções e capítulos que seguem têm por objetivo demonstrar

como a função de correlação e a intensidade se comportam nos mais variados tipos de amostras,

organizadas em ordem crescente do nível de correlação entre as unidades espalhadoras.

6.1 Correlações de curto alcance em partículas

Em sistemas cujas unidades espalhadoras estão orientadas aleatoriamente —ausência de ori-

entações preferenciais— o poder de espalhamento P (Q) de cada unidade corresponde à média


⃗ tal como nos casos de
sobre todas as orientações e depende somente do módulo do vetor Q,

partículas discretas ou com densidade uniforme, eqs. (5.7) ou (5.13), respectivamente. Isso

permite assumir que existe uma função matemática abstrata, equivalente a uma densidade
eletrônica esferossimétrica ρs (⃗r), tal que [ eq. (2.20) ]

∫ 2
senQr 2
2
P (Q) = |TF{ρs (⃗r)}| = 4π ρs (r) r dr . (6.4)
Qr

Nos sistemas onde as partículas estão em solução, ρs tem valores relativos à densidade eletrônica
ρ0 do meio, não havendo assim a necessidade de escrever explicitamente a diferença ρs − ρ0 nas
equações que seguem.

Mesmo nos casos de partículas com simetria esférica onde ρs (⃗r) corresponde à verdadeira
densidade eletrônica da partícula, não existe a princípio uma escolha unívoca para a função

100
Figura 6.1: (a) Correlação de curto alcance em partículas: c(u) = ρs (⃗r) ∗ ρ∗s (−⃗r). (b) Função
distribuição de distâncias entre pares (PDDF), p(u) = c(u) u2 . Exemplo: partícula esférica
uniforme de raio a.

densidade porque P (Q) envolve uma operação de quadratura, inviabilizando qualquer recurso

matemático de se chegar à expressão ρs (r) com 100% de confiabilidade. A informação unívoca

acessível sobre a densidade eletrônica é a função de correlação de curto alcance interna da


partícula

c(u) = ρs (⃗r) ∗ ρs (−⃗r) = ρs (⃗r) ρs (⃗r + ⃗u) dV . (6.5)

Uma vez que ρs (⃗r) é uma função esferossimétrica, c(u) independe da direção do vetor ⃗u con-

siderado na integração de ρs (⃗r + ⃗u), implicando numa simplificação na expressão do poder de


espalhamento da partícula, a qual fica dada por

∫ ∫
senQu
2 senQu
P (Q) = TF{c(u)} = 4π c(u) u du = 4π p(u) du . (6.6)
| {z } Qu Qu
p(u)

Porém, ao invés de descrever as correlações internas da partícula pela função c(u), a qual
sempre tem seu valor máximo em u = 0, Fig. 6.1, é mais conveniente, para fins de interpretação
da estrutura da partícula, expressar as correlações pela distribuição das separações de cargas

101
eletrônicas,

∫ Qf
−1 1
p(u) = c(u) u = TF {P (Q)} u = 2
2 2
P (Q) Qu sen(Qu)dQ , (6.7)
2π 0

denominada função distribuição de distâncias entre pares (PDDF – “par distance distribution
function” [29]).
Do ponto de vista experimental, a determinação da p(u) tem resolução limitada pelo ângulo
de espalhamento final 2θf , acessível num dado arranjo instrumental ou considerado no cálculo
de P (Q), onde Qf = Qmax senθf . Alternativamente, métodos de ajuste de curvas também são
utilizados na determinação de p(u). Nos casos onde informações prévias sobre a estrutura da

partícula são disponíveis, é possível escrever a função distribuição em termos de alguns poucos
parâmetros ajustáveis. O cálculo do poder de espalhamento da partícula, eq. (6.6), passa então

a ser função desses parâmetros, os quais são ajustados a fim de reproduzir a curva de intensidade

I(Q) = N IT h P (Q), espalhada por uma amostra contendo N partículas dispersas.

···

Ex. 6.1: Caso geral de partículas com densidade eletrônica esférica mas não uniforme. (a)

Obtenha P (Q) da eq. (6.6), determine p(u) pela TF inversa de P (Q) e compare com a PDDF

esperada. Qual o mínimo valor Qf para p(u) ser próximo do esperado? (b) Gere posições
aleatórias dentro do volume da partícula e construa um histograma das distância devidamente

pesado com os valores relativos da densidade eletrônica de cada posição. Qual a similaridade
entre o histograma e p(u)?

Resp. (a): A função de correlação interna, eq. (6.5), é uma integral de volume que independe
da direção do vetor ⃗u. Tomando ⃗r = r[senγ cos φ, senγ senφ, cos γ] e ⃗u = u[0, 0, 1],

∫ ∫ ∞ ∫ π √
c(u) = ρs (r)ρs (|⃗r + ⃗u|) dV = 2π ρs (r) ρs ( r2 + u2 + 2ru cos γ ) r senγ dγ rdr .
0 0

102
Figura 6.2: PDDF calculada por métodos diferentes: numérico (vl. num.), eq. (6.8); TF inversa
−1
de P (Q) (TF inv.), eq. (6.7) com Qf = 0, 04 Å ; e histograma de 4000 posições aleatórias
(hist.), eq. (6.9). Inserção: partícula esférica com densidades relativas ρa = 2 e ρb = −1, e raios
a = 50 nm e b = 37, 5 nm. [exesfoca.m]

Com troca pela variável z = r2 + u2 + 2ru cos γ, a função

∫ [∫ ]
∞ (r+u)2 √
p(u) = u2 c(u) = π u ρs (r) ρs ( z) dz rdr , (6.8)
0 (r−u)2

pode ser calculada numericamente qualquer que seja a expressão matemática de ρs (r). No

caso da partícula exemplo ilustrada na Fig. 6.2, p(u) = u2 TF−1 {P (Q)} fica muito próximo dos
valores numéricos quando Qf & 20/a onde a é o raio externo da partícula.

Resp. (b): Como mostrado na Fig. 6.2, o histograma


N ∑
N ∫ u+∆u
n(u) = 2 ρs (⃗ri ) ρs (⃗rj ) δ(u ′ − rij ) du ′ , (6.9)
i=1 j>i u

tende a ser proporcional a p(u) quanto maior o número N de posições aleatórias ⃗ri . A integral

103
∫ u+∆u
u
δ(u ′ − rij ) du ′ contabiliza o número de distâncias rij = |⃗ri − ⃗rj | com valores entre u e
u + ∆u onde ∆u é a largura das colunas do histograma.

···

6.2 Moléculas, proteínas e partículas discretas em geral

Da comparação entre as expressões do poder de espalhamento nas eqs. (5.6) e (6.6),

∫ ∑
senQu senQrab
P (Q) = 4π p(u) du = fa (Q)fb∗ (Q) ,
Qu a, b
Qrab

é fácil verificar que



4πp(u) = fa (Q)fb∗ (Q) δ(u − rab ) (6.10)
a, b

fornece a solução exata de P (Q). Porém, esta expressão de p(u) não corresponde à expressão

p(u) = TF−1 {P (Q)} u2 , eq. (6.7), obtida da curva de espalhamento uma vez que toda de-

pendência explícita com o vetor recíproco Q desaparece na operação de TF inversa. Sendo


assim, é necessário se fazer uma pequena avaliação sobre quais informações contidas em p(u)

são de fato acessíveis experimentalmente.

6.2.1 Limite de baixo ângulo

No limite de baixo ângulo, Q → 0, quando os fatores de espalhamento atômico são substituíveis


por um valor médio fm (0),

4πp(u) = fm2 (0) δ(u − rab ) (6.11)
a, b

é proporcional ao histograma das distâncias interatômicas internas da partícula, fato que torna
o cálculo de P (Q) mais eficiente em termos computacionais, cf. Nota 6.2. O raio quadrático
médio, ou raio de giro, eq. (5.10), também pode ser obtido a partir da função p(u) uma vez

104
Figura 6.3: Histograma da lisozima com resolução du = 0, 01 Å. Inserção: cadeias de aminoá-
cidos da lisozima (PDB ID: 2LYZ) [49]. A função p(u) determinada pela eq. (6.7), com
Qf = 0, 75 Å−1 , é comparada ao histograma. [saxs.m, exlysozyme.m, histograma.m, tfinvpdeq.m]

que, ∫ ( )
p(u) u2 du 1 ∑ 2
∫ = r 2
/ Nat = Rg2 . (6.12)
2 p(u) du 2 a, b ab

Nota 6.2: O cálculo de P (Q) em proteínas e macromoléculas com milhares de átomos é


realizado de modo muito mais eficiente levando em conta o limite de baixo ângulo. Pela
substituição da eq. (6.11) na eq. (6.6), tem-se

2 senQu
P (Q) = fm (0) N (u) du (6.13)
Qu

onde N (u) du é o número de vezes que as distâncias interatômicas rab com valores entre u
e u + du ocorrem na proteína. A rotina saxs.m lê arquivos pdb (ver § 5.3.1) e executa esta
integral numérica com resolução du = 0, 01 Å, de modo a fornecer P (Q) e o histograma
N (u)du.

···

105
Figura 6.4: Poder de espalhamento da lisozima calculado por: i) aproximação de baixo ângulo,
eq. (6.13); ii) com fm2 (Q) no lugar de fm2 (0) na eq. (6.13); e iii) solução exata, eq. (5.6).
[exlysozyme.m]

Ex. 6.2: Lisozima foi a segunda estrutura de proteína, primeira da categoria de enzimas, a

ser determinada por métodos de raios X. A compreensão das correlações entre estrutura física
e atividade bioquímica das enzimas teve início com a lisozima [40]. (a) Dada a estrutura da

lisozima, arquivo 2LYZ.pdb [49], calcule a curva P (Q) a partir do histograma N (u)du das

distância interatômicas, e.g. Fig. 6.3. Até qual valor de Q a aproximação de baixo ângulo é
satisfatória dentro de uma acurácia de 10%? (b) Compare a PDDF determinada a partir da
curva de espalhamento a baixo ângulo com o histograma das distâncias interatômicas.

Resp. (a): Na lisozima, cujo raio de giro é Rg = 14, 0 Å, a aproximação de baixo ângulo, onde
4πp(u) ≃ fm2 (0) N (u), difere gradativamente da solução exata com o aumento de Q, ficando
a diferença relativa acima de 10% quando Q > 0, 75 Å−1 , valor este da ordem de dez vezes a
extensão da região de Guinier, Fig. 6.4. A origem do aumento sistemático da diferença relativa
está no fato dos fatores de espalhamento atômicos diminuírem conforme Q aumenta, o que

106
pode ser sanado trocando-se fm (0) por fm (Q). Contudo, no caso da lisozima —e de qualquer
outra partícula formada por átomos diferentes—, a solução com 4πp(u) ≃ fm2 (Q) N (u) também
deixa de coincidir com a solução exata fora do intervalo de baixo ângulo.

Resp. (b): As distâncias entre primeiros vizinhos somente são resolvidas quando Qf → ∞, de

modo que p(u) = u2 TF−1 {P (Q)} na região de baixo ângulo equivale a um histograma de baixa
resolução, Fig. 6.3.
···

6.2.2 Solução geral de alto ângulo

Fora do limite de baixo ângulo, na hipótese de sistemas dispersos onde existam intensidades

mensuráveis em ângulos relativamente altos, é conveniente reescrever a eq. (6.10) como

∑ ∑ ∑
4πp(u) = |fa (Q)|2 δ(u) + fa (Q)fb∗ (Q) δ(u − rab ) = |fa (Q)|2 [δ(u) + p̄(u)] ,
a a, b̸=a a

de onde se chega às igualdades2

{ } { } { }
c(u) δ(u) p̄(u) P (Q)
TF ∑ = TF +TF = = S(Q) . (6.14)
a |fa (Q)|
2 4πu 2 4πu 2 Nat fm2 (Q)
| {z }
=1

Uma vez que TF{p̄(u)/4πu2 } = S(Q) − 1, a PDDF normalizada

1 ∑
p̄(u) = fa (Q) fb∗ (Q) δ(u − rab ) , (6.15)
Nat fm2 (Q) a, b̸=a

é experimentalmente acessível através da relação

∫ Qf
−1 2
p̄(u) = 4πu TF {S(Q) − 1} =
2
[S(Q) − 1] Qu sen(Qu) dQ , (6.16)
π 0

cuja resolução depende tanto de Qf como da estatística de contagem de fótons coerentes acima
da radiação de fundo proveniente do espalhamento Compton. Mas, o que de fato se obtém da

2
Lembre que, p(u) = u2 c(u) e a |fa (Q)|2 = Nat ⟨f 2 (Q)⟩ = Nat fm
2
(Q).

107
Figura 6.5: Exemplo de PDDF, eq. (6.16) com Qf = 40 Å−1 , antes (sem conv.) e depois (com
conv.) de convoluída com uma função retangular (——) de área unitária e largura 2π/Qf .
Estrutura hipotética: nanocristal de Au com diâmetro de 1 nm. [goldnano.m, exgoldnano0.m]

operação de TF inversa equivale a

1 ∑
p̄(u) = γa γb∗ δ(u − rab ) (6.17)
Nat ⟨γ 2 ⟩ a, b̸=a

onde

1 ∑
Qf Nat
1
γa = fa (Q) dQ e ⟨γ 2 ⟩ = |γa | 2 . (6.18)
Qf 0 Nat a=1

Em partículas compostas por elementos químicos distintos, as ponderações γa das contribuições


de cada elemento somente são necessárias caso se deseje reproduzir a curva p̄(u) experimental,
eq. (6.16). As frequências relativas com que as separações rab ocorrem na estrutura da partículas
são extraídas diretamente da curva experimental quando os elementos têm números atômicos
iguais ou próximos tal que γa γb∗ /⟨γ 2 ⟩ ≃ 1. Alternativamente, uma aproximação muito comum
é tomar γa γb∗ /⟨γ 2 ⟩ por fa (0) fb∗ (0)/fm2 (0), o que não compromete a resolução da estrutura.

108
Nota 6.3: Sendo p̄(u) determinada através da eq. (6.16), o limite Qf do intervalo de
integração introduz oscilações de período 2π/Qf na solução. Um recurso para minimizar
essas oscilações indesejadas é convolucionar a solução com uma função retangular de área
unitária e largura igual ao período das oscilações, tal como ilustrado na Fig. 6.5. O uso
deste recurso é contudo limitado às situações onde as diferenças de distâncias interatômicas
são maiores que o período das oscilações.

Sistemas dispersos típicos onde existem intensidades mensuráveis em altos ângulos são agre-
gados sólidos ou em forma de pó cujas partículas constituintes não apresentam orientações pref-
erenciais Apesar da alta concentração de partículas, a classificação de sistema disperso é apro-
priada porque as intensidades espalhadas são características da estrutura interna das partículas

e os efeitos de correlações entre partículas desprezíveis. Os mais comuns dentre tais sistemas

são as amostras policristalinas onde as partículas são cristais com dimensões microscópicas.

Partículas com dimensões maiores que algumas dezenas de nanometros apresentam grandes
densidades de distâncias interatômicas acima de poucos nanometros, dificultando a identifi-

cação acurada dessas distâncias e limitando a resolução da estrutura. Consequentemente, a

análise estrutural através de p̄(u), eq. (6.15), ou equivalentemente da função densidade de

pares atômicos (“atomic pair density function”, PDF),

p̄(u) 1 ∑
h(u) = = fa (Q) fb∗ (Q) δ(u − rab ) , (6.19)
4π u2 4πu2 Nat fm2 (Q) a, b̸=a

é apropriada apenas para estudos da ordem local dos sistemas, ou seja, para se determinar as
correlações entre primeiros vizinhos [14]. A determinação completa da estrutura média —não
local— de amostras policristalinas utiliza outro formalismo, como discutiremos mais adiante.

···

Ex. 6.3: Nanopartículas de ouro têm propriedades óticas, eletrônicas e de afinidades molecu-
lares únicas, motivos que as tornam alvo de intensas pesquisas com amplo leque de aplicações em
diversas áreas. Assumindo nanopartículas esféricas com estrutura ordenada cristalina, simule a
curva de espalhamento de raios X. [Obs.: despreze espalhamento Compton.] (a) O que acontece
na região de alto ângulo quando se aumenta o diâmetro das partículas? (b) Qual o efeito da

109
Figura 6.6: Espalhamento simulado de raios X por nanopartículas de Au com diâmetros de
1, 2 e 4 nm. Desordem nas posições atômicas: 5% (linhas sólidas) e 1% (linha tracejada) da
separação mínima (2,88 Å). Inserção: nanopartícula de Au com diâmetro da ordem de 1 nm.
[exgoldnano1.m]

desordem das posições atômicas? (c) Quais as condições experimentais mínimas necessárias

para se extrair as distâncias entre os primeiros vizinhos?

Resp. (a): Gerando posições atômicas3

⃗ra = a0 [m, n, p] + a0 {[0, 0, 0], [1/2, 1/2, 0], [1/2, 0, 1/2], [0, 1/2, 1/2]}m, n, p

dentro de uma esfera com o diâmetro desejado da nanopartícula, onde a0 = 4, 0782 Å e m,n,p
∈ Z, calcula-se o histograma N (u)du das distâncias interatômicas e depois


senQu
P (Q) = |fAu (Q)| 2
N (u) du .
Qu
3
A estrutura cristalina do Au é cúbica de face centrada (fcc).

110
Figura 6.7: PDDFs extraídas do espalhamento simulado para nanopartículas de Au, e com-
paradas ao histograma (hist.) das distâncias interatômicas (inserção). Curvas de espalhamento
com Q variando de 0 a 10 Å−1 e de 0 a 20 Å−1 requerem raios X com energias mínimas de 10 keV
e 20 keV, respectivamente. Inserção: distâncias interatômicas numa partícula com diâmetro de
4 nm e desordem de 5% (Fig. 6.6). [exgoldnano2.m]

Com o aumento do diâmetro surgem picos de difração cada vez mais definidos, Fig. 6.6. As
larguras dos picos são proporcionais ao inverso do diâmetro. Por exemplo, o pico isolado em

torno de Q = 4, 36 Å−1 tem largura a meia altura ∆Q ≃ 7, 26/diâmetro, do mesmo modo que
o pico em torno de Q = 0, cf. ex. 2.1, indicando que as larguras dos picos de difração estão
relacionadas com a TF da forma da partícula (um nanocristal neste caso).

Resp. (b): Adicionando-se pequenos deslocamentos aleatórios d⃗r = [dr1 , dr2 , dr3 ], às posições
⃗ra da rede cristalina é possível simular o efeito da desordem no espalhamento de raios X. A

Fig. 6.6 mostra curvas de espalhamento tendo |dri | < 0, 05 a0 / 2, o que corresponde a 5%

do valor da menor distância interatômica. P (Q) → a |fa (Q)|2 e S(Q) → 1 quanto maior
a desordem e o valor de Q. Quantitativamente o efeito é tratável dentro da aproximação de

111
Debye-Waller (Nota 6.4)4 , o que leva a

S(Q) = 1 + [S0 (Q) − 1] e−Q


2 ⟨dr 2 ⟩
(6.20)

onde S0 (Q) representa a situação sem desordem e ⟨dr2 ⟩ é o desvio quadrático médio5 em torno
das posições ⃗ra . Para desordem de 5%, ⟨dr2 ⟩ = 7 × 10−3 Å2 .

Resp. (c): A curva de espalhamento precisa ir além de Qf = 10 Å−1 para se identificar todas as

distâncias até 10 Å, como ocorre no caso de Qf = 20 Å−1 , Fig. 6.7. Por exemplo, num arranjo
experimental onde o ângulo máximo de medida da intensidade é 2θf = 60◦ , seria necessário
fótons de 60 keV para se chegar até Qf ≃ 20 Å−1 .

···

4
Consulte também ref. [14], pag. 31, ou ref. [1], pag. 140.
∑N
5
Desvio quadrático médio: ⟨dx2 ⟩ = i=1 (xi − x̄)2 /(N − 1).

112
Nota 6.4: Aproximação Debye-Waller generalizada para distribuições desordenadas e es-
táticas. Seja c(u) a função correlação de um conjunto discreto de átomos tal que
∑ ∑
4πu2 c(u) = |fa (Q)|2 δ(u) + fa (Q)fb∗ (Q) G(u − rab ) .
a a, b̸=a

Com um procedimento análogo ao utilizado na eq. (6.14), obtém-se


∑ { }
1 ∗ G(u − rab )
S(Q) = 1 + ∑ fa (Q)fb (Q) TF . (6.21)
a |fa (Q)| a, b̸=a
2 4πu2

As distâncias rab representam a configuração ideal da estrutura sem desordem, de modo


que p̄(u) como dada na eq. (6.15) é uma série de funções delta, responsáveis pela função
S0 (Q) da estrutura ideal. Desordens de natureza aleatória sem preferência de direção ou
sítio atômico causam indefinições nos valores de rab , transformando
√ as funções delta em
gaussianas G(u) de área unitária e desvio padrão σ = 2⟨dr ⟩ onde ⟨dr2 ⟩ é o desvio
2

quadrático médio das posições atômicas em relação às posições ideais. Em outras palavras,

δ(u − rab ) → G(u) ∗ δ(u − rab ) = G(u − rab )

uma vez que todas as gaussianas têm o mesmo desvio padrão, tal como se observa no
histograma na Fig. 6.7.
{ } ∫ [ ]
G(u − rab ) 1 (u − rab )2 senQu senQrab − 1 Q2 σ2
TF = √ exp − du ≃ e 2 . (6.22)
4πu2 σ 2π 2σ 2 Qu Qrab

Os mínimos valores de rab num sólido são da ordem de 2 Å, implicando que a solução
aproximada da integral acima é muito boa até para valores de σ tão grandes quanto 0,2 Å,
como verificado numericamente, cf. rotina debye.m. Substituindo a solução encontrada na
eq. (6.21), se demonstra a eq. (6.20) e também a validade da aproximação Debye-Waller
numa situação onde a desordem independe de vibrações térmicas, §8.3.

6.3 Partículas com conformações aleatórias

Até aqui tratamos de sistemas formados por um (monodisperso) ou mais (polidisperso) con-
juntos de partículas com estruturas determinísticas: uma única função densidade eletrônica
descrevendo todas as partículas de um dado conjunto. Existem porém sistemas cujas partícu-
las são distintas uma das outras, não existindo duas partículas idênticas em todo o sistema.
Longas cadeias de monômeros, mais conhecidas como polímeros, são exemplos típicos de sis-
temas onde as únicas informações acessíveis são os valores médios das conformações das cadeias
em solução.

113
Figura 6.8: Sistemas de coordenadas relativas θ̂j , φ̂j e êj , para descrição direcional das conexões
entre monômeros em polímeros.

Modelos matemáticos das possíveis conformações são essenciais na análise quantitativa dos

dados experimentais de espalhamento de radiação por esses sistemas. Nos mais simples modelos
de conformações aleatórias, as posições

⃗rj = ℓ êj + ⃗rj−1

de monômeros idênticos ao longo da cadeia têm vetores separação de módulo constante, ℓ, mas

com direções êj variando dentro de certos limites impostos pela factibilidade física dos modelos,

Fig. 6.8. No modelo comumente chamado de “caminhada aleatória” (random walk, RW), todos
os valores dos produtos escalares êj · êj−1 ∈ [−1, 1] têm iguais probabilidades, e.g. Fig. 6.9.

O espalhamento de raios X por uma cadeia com Nm monômeros numa dada conformação
tem como solução exata, cf. eq. (5.4),


Nm ∑
Nm
⃗ =
P (Q) ⃗ ∗ (Q)
Fj (Q)F
⃗ rjk
⃗ eiQ·⃗ .
k
j=1 k=1

⃗ é o fator de espalhamento do monômero, e.g. eq. (3.8), na particular orientação da


Fj (Q)
j-ésima posição na cadeia. Num sistema disperso formado por N cadeias de Nm monômeros

114
Figura 6.9: Cadeias de monômeros geradas de acordo com o modelo RW. (a) Nm = 1000 e (b)
Nm = 10000. Comprimento do monômero ℓ = 0, 154 nm. Para melhor visualização da confor-
mação espacial do polímero, a cor varia (azul → vermelho) ao longo da cadeia. [polymerchain.m]

cada, os fatores de espalhamento são substituídos pelo poder de espalhamento do monômero,


Nat
senQrab
⃗ ∗ (Q)
Fj (Q)F ⃗ → ⟨|F (Q)|
⃗ 2 ⟩ = Pm (Q) = fa (Q)fb∗ (Q) ,
k
a,b
Qrab

e a intensidade I(Q) = N IT h P (Q) espalhada pelo sistema é determinada pela média das

conformações, i.e.

∑ ⃗

P (Q) = ⟨P (Q)⟩
⃗ = Pm (Q) ⟨eiQ·⃗rjk ⟩ = Pm (Q) ⟨cos(Q
⃗ · ⃗rjk )⟩ (6.23)
j, k j, k

∑k
onde ⃗rjk = ⃗rk − ⃗rj = ℓ (êj+1 + êj+2 + · · · + êk ) = ℓ α=j+1 êα . A solução no limite de baixo
ângulo é obtida pela expansão em série de Taylor do cosseno,

⃗ · ⃗rjk )⟩ ≃ 1 − 1 ⟨(Q
⟨cos(Q ⃗ · ⃗rjk )2 ⟩ = 1 − 1 Q2 ⟨r2 cos2 γjk ⟩ .
jk
2 2

Na inexistência tanto de direções preferenciais dos vetores ⃗rjk como de correlações entre módulos

115
e direções, ⟨rjk
2
cos2 γjk ⟩ = ⟨rjk
2
⟩⟨cos2 γjk ⟩ e

∫ 2π ∫ +1
1 1
⟨cos γjk ⟩ =
2
cos2 γjk d(cos γjk ) dφjk = .
4π 0 −1 3

Substituindo na eq. (6.23),

∑( 1 2 2
)
2 − 31 Q2 ⟨Rg2 ⟩
lim P (Q) = Pm (Q) 1 − Q ⟨rjk ⟩ = Pm (Q)Nm e , (6.24)
Q→0
j, k
6

demonstrando assim que no limite de baixo ângulo, a curva de espalhamento experimental é

determinada pelo raio de giro quadrático médio das cadeias, ou R̄g = ⟨Rg2 ⟩1/2 . Pm (Q) ≃ Pm (0)
na região de baixo ângulo uma vez que R̄g >> ℓ.
Numa única cadeia,


k ∑
k ∑
k
2
rjk = ℓ2 êα · êβ = ℓ2 (k − j) + ℓ2 êα · êβ .
α=j+1 β=j+1 α, β̸=α

Mas, no caso específico do modelo RW onde os versores êα são totalmente independentes, o

segundo termo desta equação zera quando se calcula a média sobre as cadeias, resultando que

⟨rjk
2
⟩ = ℓ2 (k − j) e

⟨ ⟩
1 ∑ ℓ2 ∑ ℓ2 ∑
Nm Nm Nm
1
⟨Rg2 ⟩ = 2
2
rjk = 2 (k − j) = 2
j(j − 1) ≃ Nm ℓ2 . (6.25)
2Nm j, k Nm j, k>j 2Nm j=1 6

Sendo conhecido o comprimento e o peso molecular do monômero, o número Nm de monômeros

em cada cadeia é facilmente calculado a partir do peso molecular do polímero. A compatibil-


idade entre valores experimentais do raio de giro médio e os valores previstos pela eq. (6.25)
permite verificar a validade da hipótese de conexões livres do modelo RW [29].

Comportamento assintótico

Outra característica importante do espalhamento por partículas com conformações aleatórias


2
é o comportamento assintótico de S(Q) = P (Q)/Nm Pm (Q) quando Q → ∞. A análise desse

116
comportamento requer a solução da eq. (6.23) além do limite de baixo ângulo. Em qualquer
sistema onde os vetores ⃗rjk têm orientações aleatórias,

senQr
⟨cos(Q
⃗ · ⃗rjk )⟩ = ∗ G(r − rjk ) .
Qr

Se os valores dos módulos rjk fossem bem definidos, a função peso G(r − rjk ) seria uma função
delta e ⟨cos(Q
⃗ · ⃗rjk )⟩ = senQrjk /Qrjk tal como calculado na dedução da eq. (5.6) ou pela

aproximação Debye-Waller no caso de pequenos desvios, eq. (6.22). Por outro lado, havendo
grande dispersão nos valores de rjk , tem-se que6

⃗ · ⃗rjk )⟩ ≈ e− 6 Q
⟨cos(Q
1 2 ⟨r 2 ⟩
jk . (6.26)

Com ⟨rjk
2
⟩ = ℓ2 |k − j| e ⟨Rg2 ⟩ = Nm ℓ2 /6, a eq. (6.26) quando substituída na eq. (6.23) fornece 7

S(Q) = 2 (e−x − 1 + x)/x2 onde x = Q2 ⟨Rg2 ⟩ . (6.27)

A eq. (6.27) implica numa queda assintótica 1/Q2 , tal como visto nos gráficos de Kratly [18]
na Fig. 6.10. Este comportamento assintótico é frequentemente observado em polímeros e

proteínas desnaturadas (desenoveladas) em solução [29, 5].

···

Ex. 6.4: Sacolas plásticas comuns são em geral feitas de polietileno (PE), quimicamente o
polímero mais simples com peso molecular variando entre 100000 e 200000 g/mol. A cadeia
(CH2 –CH2 –)n é constituída por monômeros com peso molecular de 14 g/mol e comprimento
ℓ = 0, 154 nm (distância C–C). Através da simulação computacional, verifique a validade da
fórmula de Debye, eq. (6.27).
6
A validade desta aproximação para diferentes funções peso pode ser verificada através de uma comparação
numérica semelhante àquela feita na verificação da eq. (6.22).
∑Nm
7
Resultado obtido pela expansão em série de Taylor de exp(−Q2 ⟨rjk
2
⟩/6) e usando que j=1, k>j (k − j) ≃
n

Nm /[(n + 2)(n + 1)] para Nm → ∞. Consulte também ref. [29], pp. 268.
n+2

117
Resp.: A regra geral de formação das cadeias é dada pela relação recursiva
    
 θ̂j   cos θj cos φj cos θj senφj −senθj   θ̂j−1 
    
 φ̂  =  −senφ   φ̂  (6.28)
 j   j cos φ j 0   j−1 
    
êj senθj cos φj senθj senφj cos θj êj−1

onde os versores θ̂j , φ̂j e êj são definidos na Fig. 6.8. No modelo RW não há restrições nos
ângulos das conexões, i.e. θj e φj assumem quaisquer valores nos intervalos [0, π] e [0, 2π],
respectivamente. Exemplos de cadeias geradas com o modelo RW são mostrados na Fig. 6.9.
Simulações do espalhamento médio gerado por centenas de cadeias são comparadas à eq. (6.27)

na Fig. (6.10). Apesar da limitada resolução estatística, as curvas simuladas seguem o compor-

tamento previsto pela curva teórica tanto para cadeias de baixo (28000 g/mol) como de alto

(140000 g/mol) peso molecular. Os valores de ⟨Rg2 ⟩ = 7, 7, 22,0 e 37,3 nm2 usados para ajustar
as curvas teóricas são muito próximos dos 7,9, 23,7 e 39,5 nm2 previstos pela eq. (6.25).
Embora deduzida a partir do modelo RW, a fórmula de Debye pode também descrever a

curva de espalhamento para outros modelos, como por exemplo no modelo com limitação nos

ângulos das conexões onde θj = 71 ± 2◦ e φj assumindo apenas 3 valores: 0 ou ±120◦ . As

curvas de espalhamento têm comportamento assintótico 1/Q2 e os raios de giro determinados


pelo ajuste das curvas teóricas correspondem aos valores de ⟨Rg2 ⟩ das distribuições estatísticas

obtidas a partir de milhares de cadeias virtuais, Fig. 6.11.

···

118
Figura 6.10: Curvas simuladas do espalhamento de raios X por 500 cadeias de Nm monômeros
cada, eq. (6.23). Polímero PE, modelo de cadeias com conexões livres, e.g. Fig. 6.9. Curvas
teóricas (– – –), eq. (6.27), ajustadas com ⟨Rg2 ⟩ = 7, 7, 22,0 e 37,3 nm2 . [polymer.m, expolymer.m]

119
Figura 6.11: Distribuições estatísticas dos valores de Rg2 nos modelos de conexão livre e de
conexão limitada (θj = 71 ± 2◦ e φj ∈ [−120◦ , 0, +120◦ ]). Polímero PE com peso molecular
de 140000 g/mol. Inserção: tabela comparativa entre ⟨Rg2 ⟩ das distribuições e os obtidos por
ajuste das curvas de espalhamento (valores entre parênteses), e.g. Fig. 6.10. [polymerRg.m]

120
Resumo

— Intensidade Cinemática

⃗ = IT h TF{C(⃗u)}
I(Q)

— Função de correlação geral (Patterson)



C(⃗u) = ρ(⃗r) ∗ ρ(−⃗r) = ρ(⃗r)ρ(⃗r + ⃗u) dV

— Função de correlação de curto alcance interna de partículas dispersas



c(u) = ρs (⃗r) ∗ ρs (−⃗r) = ρs (⃗r) ρs (⃗r + ⃗u) dV

— Poder de espalhamento da partícula


∫ senQu

P (Q) = TF{c(u)} = 4π c(u) u2 Qu
du = 4π p(u) senQu
Qu
du

— Função distribuição de distâncias entre pares (PDDF – “par distance distribution function”)
∫ Qf
p(u) = c(u) u2 = TF−1 {P (Q)} u2 = 1
2π 2 0
P (Q) Qu sen(Qu)dQ

— PDDF partículas esferossimétricas (solução numérica)


∫∞ [∫ √ ]
(r+u)2
p(u) = c(u) u2 = π u 0
ρs (r) (r−u)2
ρs ( r ′ ) dr ′ rdr

— PDDF partículas discretas (solução geral)



p(u) = 1
4π a, b fa (Q)fb∗ (Q) δ(u − rab )

— Função densidade de pares atômicos (PDF)

p(u) 1 ∑
h(u) = = a, b̸=a fa (Q) fb∗ (Q) δ(u − rab )
u2 Nat fm2 (Q) 4πu2 Nat fm2 (Q)

121
Capítulo 7

Sistemas complexos II: correlações


arbitrárias entre partículas

Correlações arbitrárias —além daquelas de curto alcance internas das partículas— surgem em

sistemas onde os potenciais de interação afetam o modo como as partículas se distribuem dentro

do volume da amostra. Quando as interações são fortes o suficiente para influenciarem também

as orientações relativas das partículas, as intensidades espalhadas passam obrigatoriamente a


⃗ e não somente do módulo, Q. Mesmos nestes casos, desde
depender do vetor recíproco Q,

que as orientações independem das posições, e.g. Fig. 7.1, sempre é possível separar os efeitos

oriundos das correlações de posições daqueles associados às orientações relativas. Assim, no


que concerne ao espalhamento de raios X por um conjunto de partículas idênticas apresentando
efeitos de interferência mutua, a densidade eletrônica do conjunto pode ser descrita por

ρ(⃗r) = ρs (⃗r) ∗ q(⃗r) . (7.1)

Exceto pelo fato da função ρs (⃗r) não ser a princípio esferossimétrica como no caso de sistemas
dispersos, a eq. (7.1) é tratável de modo idêntico ao utilizado para descrever uma distribuição
discreta de átomos, eq. (3.7), onde


N
q(⃗r) = δ(⃗r − ⃗rn ) (7.2)
n=1

122
Figura 7.1: Partículas com orientações independentes das correlações de posição. A distância
⃗rnm entre duas partículas com orientações quaisquer ocorre inúmeras vezes dentro do volume
da amostra.


fornece as posições instantâneas das N partículas dentro do volume V da amostra e V
q(⃗r)dV =
N.

A função abstrata ρs (⃗r) contabiliza tanto a densidade relativa ao meio como o conjunto das

orientações tal que


⃗ = TF{ρs (⃗r) ∗ ρs (−⃗r)} = ⟨TF{c(⃗u)}⟩
P (Q) (7.3)

onde c(⃗u) é a função de correlação interna de uma partícula numa dada orientação, e cuja
contribuição média é calculada sobre as orientações presentes na amostra. Tanto nos casos
de partículas com simetria esférica como naqueles onde todas as orientações são igualmente
⃗ = P (Q). Casos contrários, o espalhamento deixará de ter simetria azimutal
prováveis, P (Q)
em torno da direção do feixe incidente, refletindo a existência de orientações preferenciais na
amostra.

123
7.1 Interferência mútua

Independentemente da natureza das orientações, aleatória, preferencial ou altamente ordenada,


desde que haja ausência de vínculos entre orientações e posições, os efeitos individuais das
⃗ enquanto que a intensidade instantânea I(Q),
partículas são contabilizados em P (Q), ⃗ espalhada

pelo conjunto dependerá também da função de correlação


N ∑
N ∑
Cq (⃗u) = q(⃗r) ∗ q(−⃗r) = δ(⃗u − ⃗rnm ) = N δ(⃗u) + δ(⃗u − ⃗rnm ) =
n=1 m=1 n, m̸=n

= N [δ(⃗u) + h(⃗u)] (7.4)

entre às posições relativas das partículas, ⃗rnm = ⃗rm − ⃗rn . Substituindo na expressão da inten-

sidade tem-se

⃗ = IT h P (Q)
I(Q) ⃗ TF{Cq (⃗u)} = N IT h P (Q)
⃗ [1 + TF{h(⃗u)}] . (7.5)

O conjunto de partículas é essencialmente caracterizado pela função de correlação reduzida

1 ∑
h(⃗u) = δ(⃗u − ⃗rnm ) , (7.6)
N n, m̸=n

a qual tem significado físico análogo à PDF de uma partícula constituída de átomos idênticos,
cf. eq. (6.19), mas com duas diferenças fundamentais: depende do vetor ⃗u nos casos de sistemas

não isotrópicos; e contém informações sobre o volume do sistema (amostra), as quais são irrel-
evantes ao estudo das propriedades de interação das partículas. Em outras palavras, embora a
expressão de h(⃗u) na eq. (7.6) seja exata e contenha todas as informações sobre a distribuição
das partículas na amostra, nem todas as informações são de interesse prático. As distâncias
entre partículas vizinhas, i.e. os menores valores de ⃗rnm , são as informações que de fato inter-
essam, pois caracterizam as propriedades de interação das partículas. As separações maiores
refletem apenas repetições dessas propriedades, indo até os limites impostos pelo contorno do
volume V da amostra.

124
7.1.1 Efeitos de volume

Na ausência de correlações, a contribuição do volume da amostra está restrita a região de ultra


baixo ângulo em torno do feixe direto, como visto no caso de sistemas dispersos. Mas, com
o aumento do grau de correlação entre as partículas, interferências construtivas ocorrem fora
do feixe direto, gerando feixes difratados com perfis fortemente influenciados pela forma da
amostra,1 ou mais especificamente, pelo tamanho do volume iluminado com radiação coerente.
Fato que é claramente exemplificado na Fig. 7.2. Ao longo da direção y, as posições das
partículas têm correlações suficientes para que alguns picos de difração ocorram, e.g. (nx , ny ) =
(0, ±1) e (0, ±2). As ondulações circulares em torno de cada pico são consequência da forma

da amostra. Por outro lado, ao longo da direção x onde as correlações não vão além dos
primeiros vizinhos, TF{h(⃗u)} produz apenas suaves modulações na intensidade espalhada, em

nx = ±1 e ±2, mas sem mostrar efeitos oriundos da forma da amostra. Este exemplo ilustra

uma situação muito comum no estudo sistemas sem correlações de longo alcance onde os perfis
das intensidades espalhadas não são afetados pela forma da amostra.

1
Fenômeno análogo ao observado em partículas com estrutura cristalina, e.g. ex. 6.3. Quanto maior a
partícula, mais definido são os picos de difração.

125
Figura 7.2: (a) Transformada de Fourier da função h(⃗u), eq. (7.6), para um sistema com
diferentes graus de correlação ao longo das direções (b) ŷ e (c) x̂, ambas perpendiculares ao
feixe incidente (direção ẑ). nx,y = (a/2π) Qx,y . Volume do sistema (amostra): cilíndrico com
diâmetro 16a (plano xy) e comprimento 6a. Regra de correlação entre partículas adjacentes:
∆a/a = 1 + α w, sendo α = 0, 2 e 0, 02 ao longo das direções x̂ e ŷ, respectivamente, e w valores
aleatórios no intervalo [−1, +1]. [tfhdeu.m, tfhdeuplotmap.m]

126
O tratamento adequado de sistemas com partículas pouco correlatas parte do fato que a
função h(⃗u) pode ser escrita como o produto de duas funções, i.e.

h(⃗u) = Ω(⃗u) ϱ g(⃗u) = Ω(⃗u) {ϱ [g(⃗u) − 1] + ϱ} (7.7)

—ver demonstração detalhada nas Nota 7.1. A primeira função, Ω(⃗u), carrega a dependência
com o volume da amostra e, por causa disso, somente apresenta variações significativas para
valores grandes de u, em geral da ordem de centenas de micrometros ou até de poucos milimet-
ros. A segunda função, g(⃗u), varia numa escala de poucos Ångstroms e contém as informações
desejadas das correlações entre as partículas. Quantitativamente, g(⃗u) também é uma função

de correlação, mas ao invés de fornecer valores absolutos, fornece a frequência relativa com que
o vetor separação ⃗u ocorre no sistema em relação à frequência esperada no caso de um sis-

tema disperso com densidade ϱ = N/V de partículas. Isso equivale a dizer que, tomando uma

partícula qualquer como referência, a probabilidade de encontrar outra partícula na posição ⃗u

dentro de um volume V /N é igual a g(⃗u). Exemplos de funções g(⃗u) são mostrados na Fig. 7.3.

127
Nota 7.1: Dedução das funções g(⃗u) e Ω(⃗u)
Quando as propriedades de interação das partículas num material (gás, líquido ou sólido)
independem da forma do volume de contenção, ou da forma da amostra, a densidade
de partículas pode sempre ser escrita como q(⃗r) = q0 (⃗r) s(⃗r) onde q0 (⃗r) é a densidade
característica do material e s(⃗r) é a função de forma que vale 1 ou 0 para ⃗r dentro ou fora
do volume da amostra, respectivamente. A função de correlação
∫ ∫
Cq (⃗u) = q(⃗r) ∗ q(−r)
⃗ = q0 (⃗r)q0 (⃗r + ⃗u)s(⃗r)s(⃗r + ⃗u) dV = q0 (⃗r)q0 (⃗r + ⃗u) dV
V Ω(⃗
u)

somente existe dentro do domínio



V Ω(⃗u) = s(⃗r) ∗ s(−r)
⃗ = s(⃗r)s(⃗r + ⃗u) dV

definido pelo volume V da amostra. A função Ω(⃗u) varia monotonicamente de ∫ 1 até 0 com u
variando
∫ de zero até o tamanho da amostra, ou seja, Ω(0) = 1 uma vez que s(⃗r)s(⃗r) dV =
V
dV = V , e Ω(⃗u) = 0 se u é maior que a dimensão da amostra. Na escala macroscópica
de variação da função Ω(⃗u), a densidade característica é uma densidade média ϱ. Porém,
numa escala de poucos Ångstroms, existem flutuações f(⃗r) da densidade média tal que
q0 (⃗r) = ϱ f(⃗r), permitindo escrever
∫ ∫
2 1
Cq (⃗u) = ϱ f(⃗r)f(⃗r + ⃗u)dV ≃ V Ω(⃗u) ϱ
2
f(⃗r)f(⃗r + ⃗u)dV = V Ω(⃗u) ϱ2 g(⃗u) .
V Ω(⃗
u) v v

O volume v é tão extenso quanto necessário para que g(⃗u) não dependa de v e assim con-
tenha somente as correlações características do material. Numa amostra estatisticamente
homogênea, f(⃗r) = 1 e portanto g(⃗u) = 1 para qualquer volume v. Comparando a expressão
de Cq (⃗u) acima com a eq. (7.4),

ϱV Ω(⃗u) ϱ g(⃗u) = N [δ(⃗u) + h(⃗u)]


|{z}
=N

de onde se obtém, para u ̸= 0,


h(⃗u) = Ω(⃗u) ϱ g(⃗u) ,
como utilizado na eq. (7.7).

128
Nota 7.1: (continuação)
Algumas propriedades da função Ω(⃗u).

TF{V Ω(⃗u)} = TF{s(⃗r) ∗ s(−⃗r)} = TF{s(⃗r)} TF{s(⃗r)}∗ = |TF{s(⃗r)}|2 = |W (Q)|


⃗ 2.

A TF da forma da amostra
∫ ∫
⃗ = TF{s(⃗r)} = ⃗ r
iQ·⃗ ⃗
W (Q) s(⃗r) e dV = eiQ·⃗r dV ,
V

vale V quando Q = 0, i.e. W (0) = V . Portanto, |W (0)|2 = V 2 ,

TF{Ω(⃗u)}Q=0 = V e
∫ ∫ (∫ )
⃗ u
iQ·⃗
TF{Ω(⃗u)} dVq = Ω(⃗u) e dVq dVu = Ω(0) = 1 .
| {z }
= δ(⃗
u)

Por estarmos tratando de volume macroscópicos (V → ∞), estas duas últimas pro-
priedades são similares às de uma função delta, ou seja

TF{Ω(⃗u)} ≃ δ(⃗q) .

⃗ = 2π⃗q e dVq = (2π)−3 dVQ , ver § 2.1.


Obs: Q

129
Figura 7.3: Funções g(u) para correlações unidirecionais ∆a/a = 1 + α w entre partículas
adjacentes. (a) α = 0, 2 e (b) α = 0, 02. w representa valores aleatórios no intervalo de −1 a
+1, diferentes para cada par de partículas adjacentes. [exgdeu1.m]

130
Na expressão da intensidade espalhada, os efeitos de volume e de correlações advém da TF
da eq. (7.7),
TF{h(⃗u)} = TF{ϱ [g(⃗u) − 1]} ∗ TF{Ω(⃗u)} + ϱ TF{Ω(⃗u)} . (7.8)

O segundo termo, ϱ TF{Ω(⃗u)}, é proporcional ao módulo quadrado da TF da função de forma


s(⃗r), ver Nota 7.1, e é responsável pelo perfil da intensidade espalhada em torno do feixe direto.
Na Fig. 7.2, esse termo produz as oscilações circulares vistas em (nx , ny ) = (0, 0) uma vez que
o volume lá considerado tem forma circular no plano perpendicular ao feixe. Nas situações reais
de amostras com volumes macroscópicos, a contribuição do segundo termo pode ser descartada

porque TF{Ω(⃗u)} = 0 para Q ̸= 0.

As informações das correlações estão contidas no termo de convolução das duas TFs,

TF{ϱ [g(⃗u) − 1]} ∗ TF{Ω(⃗u)} .

Na ausência de correlações (sistema disperso) onde todos as separações são igualmente prováveis,

i.e. g(⃗u) = 1 para qualquer ⃗u, o termo de convolução é nulo, ficando apenas o espalhamento
em torno de Q = 0 dado por TF{h(⃗u)} = ϱ TF{Ω(⃗u)}. Num sistema com correlações de longo

alcance, tal como num cristal, TF{ϱ [g(⃗u) − 1]} produz picos de difração que podem ser mais
⃗ do que TF{Ω(⃗u)}. Consequentemente, por se tratar de uma
definidos, no espaço vetorial Q,

operação de convolução, o efeito da forma do volume difratante aparecerá em todos os picos de


difração, como visto na Fig. 7.2(a) em (nx , ny ) = (0, ±1) e (0, ±2). Voltaremos a discutir tal

situação quando tratarmos da difração de raios X em cristais.


Nos sistemas com correlações arbitrárias, que em geral são correlações entre primeiros viz-
inhos apenas, TF{ϱ [g(⃗u) − 1]} é uma função larga em relação à TF{Ω(⃗u)}, a qual pode ser
comparada a uma função delta (Nota 7.1). Assim,2

= δ(⃗
q) = 0 p/ Q̸=0
z }| { z }| {
TF{h(⃗u)} = TF{ϱ [g(⃗u) − 1]} ∗ TF{Ω(⃗u)} +ϱ TF{Ω(⃗u)} ≃ TF{ϱ [g(⃗u) − 1]} , (7.9)
2
A convolução de duas TFs é feita na variável ⃗q, eq. (2.16), e quando uma delas é uma função delta, a outra
TF permanece inalterada.

131
justificando a ausência de efeitos de forma nas intensidades espalhadas por sistemas com pouca
correlação, tal como visto nas intensidades em nx = ±1 e ±2 na Fig. 7.2.

As intensidades espalhadas por sistemas apresentado apenas correlações entre poucas partícu-
las vizinhas são portanto dadas por

I(Q) ⃗ [1 + ϱ TF{g(⃗u) − 1}] .


⃗ = N IT h P (Q) (7.10)

Embora em muitos sistemas as partículas estejam em movimento, tal como num líquido, o
grande número de partículas garante arranjos instantâneos estatisticamente equivalentes entre
si. Deste modo, e desde que o sistema esteja em equilíbrio térmico, a dinâmica das partículas

não afetará a intensidade espalhada. Isso significa que, as curvas de intensidade coletadas
durante longos períodos de tempo têm perfis de linha que podem ser simulados a partir de

arranjos instantâneos.
Nos casos onde o poder de espalhamento das partículas é conhecido, medidas de intensidade

podem ser comparadas à função estrutural, ou também função de interferência,3


I(Q)
⃗ =
S(Q) = 1 + ϱ TF{g(⃗u) − 1} , (7.11)

N IT h P (Q)

levando assim a métodos experimentais de se determinar a função de correlação g(⃗u).

···

∑ ⃗ rnm ) ∝ |TF{s(⃗r)}|2 para um sistema


Ex. 7.1: Demonstre analiticamente que n, m̸=n exp(iQ·⃗
de N partículas não interagentes dentro de um volume V , cujo contorno é definido pela função
de forma s(⃗r).

Resp.: Comparando as TFs das eqs. (7.6) e (7.7), e lembrando que na ausência de correlações
3
Em sistemas dispersos, a função S(Q) está associada à estrutura interna das partículas, e.g. eq. (5.8). Mas,

na literatura é comum representar a função estrutural oriunda da interferência mútua entre partículas por S(Q),
ou seja, mesmo símbolo, significado análogo, mas dentro de contextos diferentes.

132
g(⃗u) = 1, se demonstra que

1 ∑ iQ·⃗ ⃗ ϱ
e rnm = ϱ TF{Ω(⃗u)} = |TF{s(⃗r)}|2 .
N n, m̸=n V

Para a igualdade ser exata, a densidade média de partículas deveria valer ϱ = (N − 1)/V . Mas
como N é um número muito grande, tanto faz considerar N − 1 ou N que o valor de ϱ fica
praticamente inalterado.

⃗ para a função de correlação g(⃗u) dada na Fig. 7.3(a). O resultado é


Ex. 7.2: Calcule S(Q)

compatível ao observado na Fig. 7.2 ?

Resp.: Assumindo que somente existam correlações ao longo da direção x̂, g(⃗u) = g(ux ). Sendo

ŝ = ẑ a direção do feixe incide, e ŝ ′ = [senγ, 0, cos γ] a direção de medida da radiação espalhada


com γ fazendo a vez do ângulo de espalhamento 2θ,

⃗ = 2π (ŝ ′ − ŝ) = 2π [senγ, 0, cos γ − 1] = [Qx , 0, Qz ] .


Q
λ λ

Limitando o ângulo de espalhamento tal que Qz ≈ 0, e lembrando que g(ux ) é uma função par,

a eq. (7.11) leva a



S(Qx ) = 1 + 2ϱL [g(ux ) − 1] cos(Qx ux ) dux (7.12)

onde ρL é a densidade linear média de partículas. A amplitude do sinal estrutural observado


ao longo de Qx na Fig. 7.2 é reproduzido para ϱL ≃ 0, 85/a, tal como mostrado na Fig. 7.4.

···

133
Figura 7.4: Sinal estrutural em função de nx = (a/2π)Qx , Fig. 7.2 (simulação), comparado à
eq. (7.12) (solução numérica). [exgdeu2.m]

134
7.2 Líquidos e suspensões coloidais

Sistemas onde a expressão da intensidade dada na eq. (7.10) é válida são, na sua maioria,
sistemas isotrópicos onde g(⃗u) = g(u). A pouca correlação entre as partículas —condição
implícita na dedução da eq. (7.10)— advém de potenciais de interação fracos, incapazes de
induzir orientações preferenciais nas partículas. Consequentemente, a intensidade espalhada
I(Q) = N IT h P (Q) S(Q), depende somente do módulo Q do vetor recíproco assim como

∫ ∞
sen(Qu)
S(Q) = 1 + ϱ TF{g(u) − 1} = 1 + 4πϱ [g(u) − 1] u2 du . (7.13)
0 Qu

O comprimento de correlação do sistema, uL , a partir do qual g(u > uL ) = 1 é o parâmetro

que de fato define a extensão, ou limite superior, da integral acima.


Nas situações onde S(Q) é experimentalmente acessível, chega-se à função g(u) pela op-

eração de TF inversa, i.e. ϱ [g(u) − 1] = TF−1 {S(Q) − 1}, cuja solução da parte angular

fornece
∫ Qf
2
4πϱ u[g(u) − 1] = [S(Q) − 1] Q sen(Qu) dQ . (7.14)
π 0

A integral é truncada em Qf devido as condições particulares de cada aparato instrumental.


Dependendo da área de atuação, ou tipo de amostra, a função g(u) recebe diferentes nomes.
No estudo de líquidos e suspensões coloidais, g(u) é comumente chamada de função de dis-
tribuição radial (RDF - radial distribution function), ou ainda função de correlação de pares
(pair correlation function), a qual pode ser calculada através da teoria de líquidos, métodos de

mecânica estatística e simulação computacional [20, 23, 29]. Em líquidos, quando formados por
moléculas simples onde se é possível estimar P (Q) com boa acurácia, a necessidade de conhecer
P (Q) a priori não compromete a determinação experimental de S(Q). Por outro lado, molécu-
las biológicas em solução podem apresentar alterações morfológicas significantes em relação à
estrutura cristalina conhecida [49]. Um dos objetivos em modelar processos de conformação,
ou desenovelamento, de proteínas em solução é estimar P (Q) para assim se chegar à função de
interferência S(Q) e daí ao potencial de interação das partículas [5].

135
Figura 7.5: Função de interferência S(Q) (——) para a água líquida de acordo com a RDF
dada (inserção [27]) e com ϱ = 3, 346 × 10−2 moléculas/Å3 . P (Q) = |f (Q)|2 onde f (Q) é o fator
de espalhamento atômico do íon O2− para o qual |f (0)|2 ≃ 100. [exwaterSdeQ.m]

···

Ex. 7.3: As propriedades físicas peculiares da água, por exemplo, ponto de ebulição elevado,

são devido às ligações de hidrogênio existentes entre as moléculas. Cada molécula está ligada
a outras três, sendo a distância de equilíbrio das ligações em torno de 2, 8 Å. Utilizando uma

RDF para água em condições normais de temperatura e pressão (CNTP) encontre: (a) a função
de interferência S(Q); e (b) a intensidade espalhada sobre um detetor de área (plana).

Resp. (a): Tendo em mãos a função g(u),4 a função de interferência na Fig. 7.5 é obtida da
eq. (7.13) com ϱ = (NA ÷ 18)/cm3 = 0, 033456 moléculas/Å3 .

Resp. (b): Na molécula de H2 O os elétrons dos hidrogênios completam o orbital 2p do oxigênio,


de modo que no cálculo da intensidade espalhada precisa se levar em conta o fator de espalha-
4
Embora os aspectos gerais da RDF da água sejam bem conhecidos, a função de interferência S(Q), prin-
cipalmente no intervalo Q < 2Å−1 , é bastante sensível a acurácia da função g(u). Portanto, o espalhamento
simulado neste exercício não deve ser considerado uma reprodução exata do espalhamento experimental da água
em CNTP.

136
Figura 7.6: Espalhamento de raios X pela água em condições normais de temperatura e pressão,
Fig. 7.5. Detetor de área posicionado a 37,2 cm da amostra. Imagem simulada formada por
5 × 106 fótons de 12 keV, pixel de 5 mm. [exwaterccd.m]

mento do íon O2− , rotina asfQ.m. A diferença é significante para valores de Q no intervalo de 0

a 4 Å−1 , e.g., |fO (0)|2 ≃ 64 enquanto que |fO2− (0)|2 ≃ 100. A Fig. 7.6 mostra uma simulação da
intensidade I(Q) = N IT h P (Q) S(Q), dada em número de fótons espalhados sobre um detetor

de área plana.
···

137
7.2.1 Funções de distribuição radial (RDF)

Dada uma distribuição estática de N partículas, por exemplo uma gerada por simulação com-
putacional, a RDF correspondente é obtida a partir das eqs. (7.6) e (7.7), i.e.

1 ∑
h(⃗u) = Ω(⃗u) ϱ g(⃗u) = δ(⃗u − ⃗rnm ) .
N n, m̸=n

Como a função de volume Ω(⃗u) ≃ 1 na escala de variação da função g(⃗u), existe um sub

conjunto de N ′ partículas cuja frequência com que as separações ⃗rab ocorrem não são afetadas
pelo volume finito da amostra. Dentro deste sub conjunto, sistemas isotrópicos5 têm RDF dada
por

1 ∑N ∑ N
g(u) = δ(u − rnm ) . (7.15)
4πu2 ϱN ′ n=1 m̸=n

Na prática, o cálculo numérico da RDF é feito com a seguinte receita. Primeiro se contabiliza

o número de separações com valores entre u e u + ∆u através do histograma

∫ u+∆u ∑
N
Hn (u) = δ(u ′ − rmn ) du ′
u m̸=n

tendo como referência a partícula no centro da distribuição com vetor posição ⃗rn tal que
rmn = |⃗rm − ⃗rn |. Escolhendo mais N ′ − 1 partículas diferentes, também em torno do cen-

tro da distribuição, chega-se ao histograma médio


1 ∑
N
H(u) = ′ Hn (u) .
N n=1

Quanto maior N ′ , melhor a estatística com que H(u) é determinado. Mas, se N ′ for muito
grande, próximo do número total de partículas, o fato da distribuição ser finita estará presente
em H(u) mesmo para valores de u tão pequenos quanto as distâncias entre primeiros vizinhos.

Num sistema sem correlações, o número de separações entre u e u + ∆u, tendo qualquer
partícula como referência, é dado por H0 (u) = ϱ 4πu2 ∆u. De acordo com a definição da função
5
Em sistemas isotrópicos, g(⃗u) dVu → 4πu2 g(u) du.

138
g(u), Nota 7.1, isso permite obter

∑ N′
H(u) 1
g(u) = = Hn (u) . (7.16)
H0 (u) 4πu2 ϱN ′ ∆u n=1

É importante ter sempre em mente que a RDF a ser utilizada na eq. (7.13), ou seja, aquela
responsável pelo espalhamento de raios X, diz respeito a sistemas infinitos sem flutuações es-
tatísticas. As flutuações estatísticas aparecem no processo de amostragem, quando se tenta
chegar na RDF a partir de sistemas finitos. Um recurso para melhorar a resolução da RDF
é tomar a média sobre várias distribuições finitas, congeladas no tempo e estatisticamente
equivalentes.

···

Ex. 7.4: Gere posições ⃗rn aleatórias dentro de um volume V , excluindo uma de cada duas cuja

separação rmn = |⃗rm − ⃗rn | seja menor que um certo valor d. (a) Qual a densidade máxima de

posições que pode ser obtida com tal critério de exclusão? (b) Como a finitude das distribuições

afeta a RDF calculada pela eq. (7.16)?

Resp. (a): Gerando Ni posições aleatórias dentro de um volume V e depois eliminando uma
posição de cada duas com separação inferior a d, obtêm-se Nf posição onde rmn ≥ d. Com
Ni → ∞, Nf tende a um valor limite de acordo com a expressão

Nf = Nmax (1 − e−αNi ) . (7.17)

Quando αNi ≪ 1, Nf → Ni de modo que Nmax = α−1 . A Fig. 7.7 mostra as análises para dois
valores de d, implicando numa densidade máxima da ordem de ϱ = 1, 3/vd onde vd = 4πd3 /3 é
o volume de exclusão em torno de cada posição.

139
Figura 7.7: Número final, Nf , de posições com separações rmn ≥ d, obtidas a partir da dis-
tribuição inicial de Ni posições aleatórias dentro de um volume esférico com raio de 10 nm. Cur-
vas ajustadas pela eq. (7.17) com α = 0, 7 × 10−5 (d = 0, 2 nm) e α = 2, 1 × 10−5 (d = 0, 3 nm).
[exrdf.m, exrdffitting.m]

140
Figura 7.8: RDFs para distribuições finitas de posições com separações rmn ≥ d, dentro de um
volume esférico com raio de 100 Å contendo em torno de 43, 4 × 103 (d = 2 Å) e 31, 1 × 103
(d = 3 Å) posições. Inserção: RDFs em escala estendida mostrando efeitos do volume finito
para valores grandes de u; o histograma médio na eq. (7.16) foi calculado usando as posições ⃗rn
em torno do centro das distribuições tal que rn < 70 Å (——) e rn < 50 Å (– – –). Cada RDF
corresponde à média sobre dez distribuições diferentes. [exrdf.m, exrdfplot.m]

Resp. (b): A região u & d, Fig. 7.8, é muito afetadas por flutuações estatísticas, as quais são

minimizadas calculando-se o histograma médio H(u), eq. (7.16), sobre um grande número de
posições. Por outro lado, quanto mais posições são utilizadas —em relação ao número total na

distribuição—, a redução de g(u) devido ao volume finito (inserção na Fig. 7.8) ocorrer para
valores de u cada vez menores. Em termos quantitativos, se a distribuição ocupa um volume

esférico com raio R e as posições consideradas em H(u) estiverem contidas num sub-volume de
raio RH , a redução de g(u) começa a partir de u ≃ R − RH .

141
Figura 7.9: Sistemas de (a) monômeros e (b) dímeros com distâncias de máxima aproximação
iguais a d e 2d, respectivamente.

Ex. 7.5: Partículas em solução podem apresentar comportamentos diferentes dependendo

do solvente. (a) Deduza a função de interferência S(Q) entre monômeros (partículas) numa
solução de baixa concentração onde a única interação entre eles é a limitação imposta pela

impenetrabilidade de um monômero em outro ou, de um modo geral, pela existência da repulsão

colombiana de acordo com o modelo de esferas duras.6 Qual o mais evidente efeito dessa
limitação/repulsão? (b) Caso os monômeros se agreguem formando dímeros, o que acontece

com a intensidade espalhada?

Resp. (a): O sistema em questão é muito semelhante aos sistemas sem correlações (sistemas
dispersos) onde g(u) = 1, exceto que separações com valores u < d não ocorrem no sistema
e, portanto, g(u < d) = 0 onde d é a menor distância centro-a-centro possível entre dois
monômeros, Fig. 7.9(a). Segue da eq. (7.13) que

∫ d
sen(Qu)
S(Q) = 1 − 4πϱ u2 du = 1 − 8ϱ v Θ(Qd) , (7.18)
0 Qu
6
Modelo de esferas duras: potencial de interação é nulo para u ≥ d e infinito para u < d [23].

142
Figura 7.10: Curvas de espalhamento por monômeros e dímeros. Alta concentração, ϱv = 0, 08,
de monômeros causa deflexão na curva de espalhamento em torno de Q = 0, enquanto que a for-
mação de dímeros tende a aumentar o espalhamento nessa região. Inserção: dímero da enzima
H166G (PDB ID: 1GUP) tomada como exemplo, raio de giro Rg = 24, 8 Å. [exdimer1GUP.m]

v = πd3 /6 é o volume efetivo de um monômero, e

Θ(Qd) = 3[sen(Qd) − Qd cos(Qd)]/(Qd)3

corresponde à TF de uma esfera de raio d, cf. ex. 2.1(b).


O maior efeito da repulsão entre os monômeros ocorre na região de Q pequeno onde
Θ(Qd) → 1 e S(Q) → S(0) = 1 − 8ϱ v, causando uma deflexão negativa no perfil da in-
tensidade, tal como pode ser visto na Fig. 7.10. A magnitude da deflexão depende do fator de
empacotamento ϱv, o qual aumenta com a concentração. Valores máximos de concentração e
a validade da eq. (7.18) são discutidos na Nota 7.2.

Resp. (b): Se Im (Q) = N IT h P (Q) é a intensidade espalhada por um sistema disperso de

143
monômeros, ϱv << 1, a dimerização do sistema implica em:

N senQd
N P (Q) → Pd (Q) ≈ N P (Q)[1 + ]
2 Qd

desde que, d passe a ser a distância centro-a-centro dos monômeros nos dímeros e seja maior
que a escala de variação da estrutura interna do monômero, Fig. 7.9(b).

A interferência construtiva dos campos espalhados pelos monômeros que formam um dímero
aumenta o poder de espalhamento Pd (Q) do dímero por um fator 4 em torno de Q = 0,
resultando num fator 2 no aumento da intensidade devido ao número de dímeros ser metade
do número de monômeros. Este efeito é geral e independe da validade da aproximação acima

onde Pd (Q) ≈ 2P (Q)[1 + sen(Qd)/Qd]. Veja por exemplo a Fig. 7.10 onde se compara o
espalhamento por monômeros e dímeros de uma enzima qualquer.

···

Nota 7.2: A eq. (7.18), conhecida como solução de Debye [20, 17], é satisfatória na região
Qd > 2 apenas para baixas concentrações, com fator de empacotamento de esferas rígidas
ϱv < 0, 1, cf. Fig. 7.11. A aproximação g(u ≥ d) = 1 usada na dedução da eq. (7.18)
corresponde a situação limite ϱv → 0. Conforme ϱv aumenta, o valor da RDF em u = d,
i.e. g(d), também aumenta, tal como observado nas RDFs na Fig. 7.8. A densidade limite
ϱ = 1, 3/vd = 0, 16/v, encontrada no ex. 7.4(a), indica que fatores de empacotamento
ϱv < 0, 16 são possíveis sem que haja um ordenamento estrutural —o valor máximo é 0,74
(empilhamento de esferas, cristais). RDFs teóricas para o modelo de esferas rígidas são
obtidas através da mecânica estatística clássica, solução de Percus-Yevick [29].

7.3 Amorfos

Materiais sólidos sem ordenamento atômico são comumente denominados amorfos. A ausência
de ordem não implica na ausência de correlações de curto alcance, as quais são responsáveis
pelas poucas contribuições relativamente bem definidas presentes na RDF de um amorfo. Essas
correlações são características das ligações químicas mais estáveis nas moléculas do material.

144
Figura 7.11: Funções de interferência para esferas rígidas com fator de empacotamento ϱv =
0, 1. Solução aproximada (Debye) onde g(u ≥ d) = 1, eq. (7.18), comparada à solução por
mecânica estatística (Percus-Yevick) cuja RDF é mostrada na inserção. [exhsphere.m]

A maioria dos amorfos contêm várias espécies atômicas, o que dá origem a diversas RDFs de

e entre os distintos elementos químicos ali presentes. Mas, em termos da física de raios X,

qual a contribuição relativa de cada RDF no espalhamento da radiação e qual a RDF obtida
pela análise de Fourier (TF inversa) dos dados experimentais? Estas são as questões que
abordaremos nesta seção.
As RDFs de sistemas com múltiplas espécies químicas seguem diretamente da eq. (7.15)
como sendo ′
1 ∑


gαβ (u) = δ(u − rab ) . (7.19)


4πu2 ϱβ Nα′
a ∈ {α} b ∈ {β}

Nα′ é o sub-conjunto de átomos do elemento α em torno do centro da amostra que permite


calcular a RDF sem efeitos de volume, enquanto que ϱβ é a densidade numérica média de
átomos do elemento β e Nβ o número de átomos deste elemento considerados no cálculo da
RDF. De acordo com esta definição de RDF, o número de coordenação, ou seja, o número de
átomos β numa casca esférica com raio variando de u1 até u2 em torno de um átomo α é dado

145
por
∫ u2
Nβ (α) = ϱβ 4πu2 gαβ (u) du . (7.20)
u1

Para se ponderar corretamente a contribuição de cada RDF é necessário tomar como ponto
de partida a função de correlação geral na eq. (6.2), i.e. C(⃗u) = ρ(⃗r) ∗ ρ(−⃗r), onde a densidade
eletrônica

ρ(⃗r) = s(⃗r) ρα (⃗r) ∗ q0α (⃗r) , (7.21)
α

contém a representação explícita das diferentes espécies químicas presentes na amostra através
da densidade ρα (⃗r) de elétrons na eletrosfera do elemento α. TF{ρα (⃗r)} = fα (Q) é portanto o
fator de espalhamento atômico desse elemento. Num meio de extensão infinita, q0α (⃗r) = ϱα fα (⃗r)

descreve a configuração espacial dos átomos α em termos da flutuação fα (⃗r) da densidade

numérica média desses átomos, ϱα . A extensão finita do volume V espalhando radiação com
coerência de fase é imposta pela função de forma s(⃗r). Assim, num procedimento análogo ao

utilizado na Nota 7.1, chega-se, para u ̸= 0, a

∑ ∫
1
C(⃗u) = V Ω(⃗u) fα (Q) fβ∗ (Q) ϱα ϱβ fα (⃗r)fβ (⃗r + ⃗u) dV =
α, β
v v


= V Ω(⃗u) fα (Q) fβ∗ (Q) ϱα ϱβ gαβ (⃗u) = V Ω(⃗u) w2 g(u) . (7.22)
α, β

⃗ = IT h TF{C(⃗u)},
Considerando que a intensidade espalhada pela amostra é dada por I(Q)

ρα (⃗r) já aparece substituída por fα (Q) na eq. (7.22) uma vez que a TF das convoluções resultará
no produto de TFs, eq. (2.15). Em outras palavras, ρα (⃗r) → TF{ρα (⃗r)} → fα (Q). Como
todo meio amorfo é pressupostamente isotrópico, gαβ (⃗u) = gαβ (u) são as RDFs definidas na
eq. (7.19). Além disso, sendo o meio homogêneo onde todas as distância interatômicas são
igualmente prováveis, gαβ (u) = 1 assim como a RDF total do sistema

1 ∑
g(u) = fα (Q)fβ∗ (Q) ϱα ϱβ gαβ (u) , (7.23)
w2 α, β

146
condição que é satisfeita desde que


w2 = fα (Q) fβ∗ (Q) ϱα ϱβ . (7.24)
α, β

O termo não nulo da função de correlação para u = 0 descreve o espalhamento no caso de


um sistema sem correlações, de modo que a expressão completa da função de correlação é

C(⃗u) = ϱV fm2 (Q) δ(u) + V Ω(⃗u) w2 g(u)


onde ϱV = Nat é o número total de átomos no volume V e ϱ = α ϱα . Então,

I(Q) ⃗ + IT h ϱV ⟨S(Q, Z)⟩


⃗ = IT h ϱV fm2 (Q) S(Q) (7.25)

é a intensidade espalhada pelo amorfo onde

w2
⃗ =1+
S(Q) [TF{g(u) − 1} ∗ TF{Ω(⃗u)} + TF{Ω(⃗u)}] (7.26)
ϱfm2 (Q)


e ⟨S(Q, Z)⟩ = α ϱα S(Q, Zα )/ϱ é o espalhamento Compton médio por átomo, caso se queira

contabilizar a contribuição do ruído de fundo devido ao espalhamento incoerente.

Numa amostra com dimensões macroscópicas, a exata forma da amostra deixa de ter im-
portância uma vez que TF{Ω(⃗u)} ≃ δ(q), Nota 7.1, para qualquer direção do vetor de espa-

lhamento. O sinal estrutural longe do feixe direto passa a depender somente do módulo Q do
vetor recíproco, refletindo a isotropia do meio amorfo, i.e.

∫ ∞
w2 w2 sen(Qu)
S(Q) = 1 + TF{g(u) − 1} = 1 + 4π [g(u) − 1] u2 du . (7.27)
ϱ fm2 (Q) ϱ fm2 (Q) 0 Qu

No caso de amorfos formados por um único elemento, w2 = ϱ2 |f (Q)|2 , fm2 (Q) = |f (Q)|2 e
w/fm = ϱ. Quando existem vários elementos, também é possível utilizar w/fm ≃ ϱ (fato que
se verifica numericamente), permitindo, de modo geral, aproximar a expressão de S(Q) àquela
na eq. (7.13).

147
Figura 7.12: Estrutura atômica do quartzo–α (SiO2 ): (a) ordenada periódica e (b) desordenada.
Inserção: unidade de repetição da estrutura periódica. [quartzR.m]

A função g(u) experimental é obtida da operação de TF inversa da curva S(Q), i.e.

∫ Qf
2
4πϱ u[g(u) − 1] ≃ [S(Q) − 1] Q sen(Qu) dQ (7.28)
π 0

desde que w/fm na eq. (7.27) seja substituído por ϱ. Embora na eq. (7.23) g(u) dependa de
Q, exite em geral muito pouca diferença entre a g(u) calculada para Q = 0 com uma calculada

148
Figura 7.13: RDFs da estrutura atômica do quartzo–α com desordem de 8%. Inserção: tetrae-
dros de oxigênio com silício no centro e as distâncias entre primeiros vizinhos. [quartzrdf.m,
quartzplotrdf.m]

para qualquer outro valor de Q. Isso equivale a dizer que a g(u) experimental equivale à teórica

calculada com fa (0), ou com fa (0) + fa′ (E) + ifa′′ (E) quando efeitos de ressonância atômica são

relevantes. De qualquer modo, vale enfatizar que g(u) não é exatamente uma RDF de posições
atômicas, mas uma soma ponderada das várias RDFs existentes num amorfo de múltiplos

elementos, ou uma função de distribuição radial da flutuação da densidade eletrônica média do

meio.

7.3.1 Cristalização do meio amorfo

Afim de sedimentar os conceitos implícitos nas equações apresentadas acima, eq. (7.19) a (7.28),
seria muito útil se pudéssemos gerar amorfos por meio de simulação computacional. Mas isto é
uma tarefa que requer programas de dinâmica molecular ou cálculo ab-initio onde os potenciais
das interações interatômicas são levados em conta. Ainda assim, existe a limitação do número
de átomos que os computadores atuais podem tratar com esses programas. Para superar essas

149
dificuldades, disponibilizamos uma rotina relativamente simples, Nota 7.4, que gera estruturas
atômicas com diferentes graus de desordem a partir de uma estrutura cristalina conhecida.
Aqui utilizaremos como exemplo a estrutura do quartzo–α (SiO2 ), Fig. 7.12.
Gerar estruturas desordenadas é um artifício para se obter RDFs com aspectos similares
àquelas de um amorfo onde somente as distâncias entre primeiros vizinhos são nitidamente
resolvidas, e.g. Fig. (7.13). Porém, considerando que cada estrutura represente uma de muitas
regiões estatisticamente equivalentes que formam o meio macroscópico (amostra), a ausência
de orientações preferenciais das regiões garante a isotropia do sistema independetemente do

grau de ordenamento. Isso torna possível vivenciar um processo análogo à cristalização do


meio amorfo com o surgimento gradual de picos de difração, os quais evidenciam condições de

interferência construtiva ocorrendo em altos ângulos devido ao fenômeno de ordenação periódica

da estrutura. Quando as regiões são grandes o bastante, os perfis de intensidade são obtidos

das eqs. (7.25) e (7.27), tal como os observados nas Figs. 7.14 e 7.15 (inserção), sem efeitos
oriundos dos tamanhos finitos das regiões difratantes.7

7
Intensidade negativas nas bases de picos intensos são artefatos devido ao limite computacional em gerar
estruturas extensas o suficiente para que gαβ(u) represente as exatas RDFs do sistema, vide rotina quartzplotrdf.m.

150
Nota 7.4: Desordenando estruturas atômicas periódicas. Sejam os vetores ⃗a, ⃗b
e ⃗c as arestas do elemento de repetição de uma estrutura ordenada periódica e
⃗ra = xa⃗a + ya⃗b + za⃗c os vetores de posição dos átomos dentro do elemento de repetição;
(xa , ya , za ) são as coordenadas fracionárias ao longo das arestas. A convolução do ele-
mento de repetição com uma rede tridimensional de pontos R ⃗ m,n,p = m⃗a + n⃗b + p⃗c, com
m, n, p ∈ Z, gera a estrutura atômica periódica de um cristal, vide Capítulo 8. A estru-
tura desordenada é obtida a partir de uma rede de pontos R ⃗ m,n,p onde pontos adjacentes
satisfazem a relação
⃗ m′ ,n′ ,p′ − R
(R ⃗ m,n,p ) · ⃗x
= 1 + αw .
|⃗x|2
⃗x ∈ {⃗a, ⃗b, ⃗c}, w é uma valor aleatório no intervalo [−1, +1], enquanto que α representa
o grau de desordem da estrutura. Por exemplo, α = 0, 1 para uma desordem de 10%. A
ordem é preservada apenas localmente, uma vez que as posições atômicas são agora dadas
por
⃗ m+1,n,p − R
⃗ra (m, n, p) = xa (R ⃗ m,n+1,p − R
⃗ m,n,p ) + ya (R ⃗ m,n,p+1 − R
⃗ m,n,p ) + za (R ⃗ m,n,p ) .

As rotinas quartzR.m e quartzrdf.m implementam este método de gerar estruturas des-


ordenadas para o quartzo–α cujo elemento de repetição, Fig. 7.12 (inserção), contém 3
átomos de Si e 6 de oxigênio, ⃗a = a [cos(π/3), sen(π/3), 0], ⃗b = a [cos(π/3), −sen(π/3), 0]
e ⃗c = c [0, 0, 1] onde a = 4, 9134 Å e c = 5, 4052 Å. O volume do elemento de repetição
vale portanto 113 Å3 . Obs: As estruturas geradas pelo método são apenas recursos para a
prática das noções de espalhamento de raios X por sólidos não cristalinos e não devem ser
tomadas por estruturas fisicamente factíveis.

A resolução da estrutura a partir da curva de espalhamento é comprometida pelo valor de

Qf do experimento, eq. (7.28). A Fig. 7.15 demonstra que em amostras com razoáveis graus de
cristalização, 2% de desordem neste exemplo, mesmo experimentos com Qf grande, da ordem de

30 Å−1 , apresentam discrepâncias entre a g(u) experimental e a teórica calculada pela eq. (7.23)
na região de u pequeno. Através da rotina quartzgdeu.m que gerou a Fig. 7.15, outros testes
de resolução podem ser feitos em função tanto da desordem da estrutura como do valor de Qf .
O uso da função de convolução discutida na Nota 6.3 minimiza oscilações com período 2π/Qf ,
mas tende a diminuir a resolução das contribuições bem definidas de g(u), fato que também
pode ser verificado com a rotina acima mencionada.
Existe uma grande semelhança entre a análise da estrutura pela PDF, eq. 6.19, ou pela
RDF, eq. 7.23. A diferença está apenas em como o volume da região difratante —chamada de
partícula na § 6.2— é levado em conta. A PDF, como definida na eq. 6.19, requer somatórias
sobre todos as átomos da região difratante e, portanto, o efeito de volume finito já está implícito

151
Figura 7.14: Simulações das intensidades espalhadas pelo quartzo–α com desordens de
8% (——) e 20% (——), eqs. (7.25) e (7.27). Raios X de 8 keV e fluxo tal que IT h V ϱ = 1 cps.
Inserção: g(u) calculada com Q = 0. [quartzIdeQ.m]

na PDF. A RDF por outro lado não contém efeitos de volume uma vez que, por definição, ela

representa um meio com extensão infinita. Assim, para se levar em conta efeitos de volume é

necessário multiplicar a g(u) pela função de volume Ω(u), a qual neste caso corresponde a uma

função média sobre todas as orientações possíveis das regiões difratantes. Em outra palavras, a
convolução TF{g(u) − 1} ∗ TF{Ω(u)} precisa ser levada em conta quando as regiões difratantes
no meio são pequenas a ponto de causar um alargamento de linha maior do que as larguras

intrínseca e instrumental; a primeira largura é determinada pela g(u) e a segunda é dada pela
resolução instrumental do experimento.
Na prática, somente amostras com regiões altamente cristalinas e muito pequenas, comu-
mente chamadas de cristalitos, configuram situações onde os efeitos de volume das regiões
difratantes são perceptíveis. Porém não há motivo para se estudar estruturas altamente cristali-
nas através da PDF ou RDF, as quais são úteis apenas no estudo da ordem local de sistemas
com algum tipo de desordem. A ordem local em estruturas altamente cristalinas é perfeitamente

152
Figura 7.15: RDF obtida pela TF inversa (TFinv) de S(Q), eq. (7.28), comparada à calculada
(calc.) para quartzo–α com desordem de 2%. Raios X de 30 keV. Inserção: simulação da
intensidade espalhada com IT h V ϱ = 1 cps. [quartzgdeu.m]

descrita dentro do formalismo de redes periódicas, como será detalhado no próximo capítulo.

Além disso, tal formalismo permite também associações diretas entre picos de difração e ele-

mentos de periodicidade originando cada um dos picos. Situação muito diferente da análise por
RDF. Por exemplo, na Fig. 7.14, tente encontrar uma explicação física tanto para a posição
como para a intensidade relativa dos picos de difração observados em 2θ = 21, 0◦ e 26, 8◦ . Note
como é difícil fazer isso somente a partir da RDF, sem qualquer noção prévia que você possa

ter sobre redes periódicas.


···

Ex. 7.6: A única informação estrutural acessível via espalhamento de raios X é a RDF total,
g(u). Determine, a partir da g(u) do SiO2 (fase α), o número de coordenação da primeira
camada de oxigênio em torno do silício.

Resp.: Da eq. (7.20), ∫ u2


NO (Si) = ϱO 4πu2 gSiO (u) du .
u1

153
Em amostras com boa cristalização (desordem < 8%, Fig. 7.13), a ligação Si–O gera uma
contribuição isolada no intervalo u < 2, 2 Å. Assim, o número de coordenação da primeira
camada será obtido no intervalo u1 = 0 e u2 = 2, 2 Å onde

1
g(u) ≃ fSi fO ϱSi ϱO [gSiO (u) + gOSi (u)]
w2 | {z }
= 2gSiO (u)

de modo que
∫ 2,2 Å
w2
NO (Si) = 4πu2 g(u) du .
2fSi fO ϱSi 0

Sendo Vc = 113 Å3 o volume do elemento de repetição contendo 3Si e 6O, Nota 7.4, ϱSi = 3/Vc
e ϱO = 6/Vc . Tomando fSi = 14 e fO = 8, chega-se a

−6
w2 = fSi fSi∗ ϱ2Si + fO fO∗ ϱ2O + (fSi fO∗ + fSi∗ fO )ϱSi ϱO = 0, 6344 Å .

Para qualquer g(u) com pouca desordem, a integral numérica vale 37,6 Å3 e portanto

0, 6344
NO (Si) = 37, 6 = 4, 0 ,
2(14)(8)(3/113)

ou seja, num raio de até 2,2 Å em torno de cada átomo de silício existem 4 oxigênios, como
visto Fig. 7.13(inserção).8
···

Resumo

— Intensidade espalhada por conjunto de partículas idênticas com efeitos de interferência mútua

⃗ = N IT h P (Q)
I(Q) ⃗ [1 + TF{h(⃗u)}]

— Função de correlação (reduzida) do conjunto de partículas



h(⃗u) = 1
N n, m̸=n δ(⃗u − ⃗rnm ) = Ω(⃗u) ϱ g(⃗u)

— Intensidade espelhada sem efeitos de volume da amostra

I(Q) ⃗ [1 + ϱTF{g(⃗u) − 1}] = N IT h P (Q)


⃗ = N IT h P (Q) ⃗ S(Q)

— Função de interferência, ou sinal estrutural, de distribuições isotrópicas


8
Para sistemas mais complexos, existem outros métodos de extrair as RDFs gαβ (u) dos dados experimentais.
Consulte por exemplo, ref. [14], cap. 3, pp. 64.

154
∫∞ sen(Qu)
S(Q) = 1 + ϱ TF{g(u) − 1} = 1 + 4πϱ 0
[g(u) − 1] u2 du
Qu

— Função de distribuição radial (RDF – “Radial distribuition function”) experimental


∫ Qf
g(u) = 1 + ϱ−1 TF−1 {S(Q) − 1} = 1 + 1
2π 2 uϱ 0
[S(Q) − 1] Q sen(Qu) dQ

— Cálculo da RDF para distribuições estáticas de partículas idênticas

1 ∑N ′ ∑N 1 ∑N ′
g(u) = ′ n=1 m̸=n δ(u − rnm ) = ′
Hn (u)
2
4πu ϱN 4πu ϱN ∆u n=1
2

— RDFs de amostras com diferentes espécies químicas (elementos distintos)

1 ∑Nα′ ∑Nβ
gαβ (u) = ∈ {α} b ∈ {β} δ(u − rab )
4πu2 ϱβ Nα′ a

— RDF total de amostras com muitos elementos


1 ∑
g(u) = ∑ ∗

α, β fα (Q)fβ (Q) ϱα ϱβ gαβ (u)
f
α, β α (Q) fβ (Q) ϱ ϱ
α β

155
Capítulo 8

Cristais

A matéria altamente ordenada a nível atômico molecular da origem aos cristais. Na história

da ciência moderna, a comprovação da forma cristalina (ordenada) da matéria ocorreu simul-


taneamente com a demonstração de que a radiação X era uma onda eletromagnética. Através

da difração de raios X num cristal de NaCl deu-se início à uma das mais importantes áreas da

física aplicada, a cristalografia de raios X [47, 48]. A ela devemos nosso conhecimento atual

sobre a estrutura atômica dos materiais e das proteínas, incluindo a estrutura da dupla hélice

do ácido desoxirribonucleico (Deoxyribonucleic acid, DNA) [46].


No estudo de materiais não cristalinos por espalhamento de raios X (capítulos anteriores

deste livro) onde os átomos ocupam posições pouco correlatas, o modelamento estrutural é
difícil, limitando significantemente a resolução das estruturas analisadas. Em cristais, tal difi-
culdade não existe porque os átomos estão em sítios específicos, correlacionados por operações
de translação em escala macroscópica. A fácil descrição espacial das estruturas cristalinas levou
ao desenvolvimento de um tratamento matemático singular, com terminologias específicas para
análise de materiais cristalinos. As periodicidades presentes numa dada estrutura, ou seja, as
inúmeras vezes que uma mesma distância interatômica se repete ao longo da dimensão física de
um cristal, geram feixes difratados intensos a altos ângulos, viabilizando a análise estrutural de
alta resolução com fontes de radiação compactas de baixo fluxo. Fato que permitiu o acúmulo
do conhecimento das estruturas cristalinas numa época onde não se dispunham de fontes inten-
sas de radiação, como as fontes síncrotrons. Estas, por sua vez, têm propiciado a determinação

156
Figura 8.1: Rede periódica de pontos R ⃗ mnp e célula unitária de arestas ⃗a, ⃗b e ⃗c, mostrando um
grupo tetraédrico PO4 centrado nas coordenadas fracionárias (x, y, z) = (1/2, 1/2, 1/2) e com
os oxigênios nas coordenadas (x − 0, 15, y − 0, 15, z − 0, 15), (x + 0, 15, y + 0, 15, z − 0, 15),
(x + 0, 15, y − 0, 15, z + 0, 15) e (x − 0, 15, y + 0, 15, z + 0, 15). Comprimento da ligação P–O
da ordem de 1,56 Å.

com alta resolução espacial (da ordem de 1–3 Å) de estruturas complexas, tal como a maioria
das macromoléculas biológicas conhecidas [49].

Embora a descrição matemática dos cristais seja relativamente simples e precisa, existem
detalhes extremamente difíceis de serem tratados teoricamente. Nos sistemas discutidos an-
teriormente —sistemas dispersos e complexos—, a inexistência de feixes intensos espalhados
a altos ângulos permitiu tratamentos teóricos sem a necessidade de se levar em conta o re-
espalhamento da radiação pelos sistemas. No caso dos cristais, essa aproximação somente seria,
a rigor, aceitável em cristais muito pequenos, com dimensões submicrométricas. Numa perspec-
tiva mais ampla, existe um conjunto de fatores que corroboram para a aproximação cinemática
da difração de raios X ser satisfatória ou não. Dentre os principais fatores estão: o tamanho e a

157
perfeição do cristal, o comprimento de coerência da radiação, e a absorção fotoelétrica. Cristais
perfeitos com dimensões macroscópicas representam um meio com densidade eletrônica per-
iódica. A descrição exata da propagação das ondas de raios X nos cristais perfeitos é feita
a partir da solução das Equações de Maxwell num meio com susceptibilidade dielétrica per-
iódica. À esta descrição dá-se o nome de Teoria Dinâmica da difração de raios X em cristais
[3]. Dinâmica porque leva em conta o acoplamento das ondas incidente e difratada ao longo da
dimensão física das amostras, ou seja, o re-espalhamento sucessivo das ondas de raios X con-
forme elas se propagam no meio. Imperfeições da rede cristalina minimizam o re-espalhamento

de ondas com coerência de fase, mas não eliminam possíveis re-espalhamento das intensidades
difratadas. Neste capítulo, estaremos vendo a Teoria Cinemática válida para cristais pequenos,

como muitas das amostras utilizadas em determinação estrutural. A amplitude da onda inci-

dente é a mesma para todo o volume difratante, os fótons de raios X interagem uma única vez

com os átomos da estrutura, e os efeitos de re-espalhamento e atenuação dos feixes difratados


desprezíveis.

8.1 Elementos da cristalografia de raios X

8.1.1 Célula unitária e rede cristalina

A característica marcante na descrição da densidade eletrônica de um cristal é o fato do espaço


físico ser preenchido por uma unidade idêntica de repetição, a qual recebe o nome de célula
unitária, Fig. 8.1. Ao pegarmos as células unitárias e colocarmos uma ao lado da outra, teremos
o cristal. Matematicamente isso é feito pela convolução da densidade eletrônica da célula
unitária

Nat
ρcel (⃗r) = ρa (⃗r − ⃗ra ) , (8.1)
a

com uma rede discreta de pontos virtuais,

⃗ mnp = m⃗a + n⃗b + p⃗c


R onde n, m, p ∈ Z , (8.2)

158
chamada de rede cristalina. ⃗a, ⃗b e ⃗c são os vetores arestas da célula unitária, cujo volume é

Vcel = ⃗a · (⃗b × ⃗c) = ⃗b · (⃗c × ⃗a) = ⃗c · (⃗a × ⃗b) , (8.3)

e as posições ⃗ra = xa⃗a + ya⃗b + za⃗c dos Nat átomos dentro da célula unitária dadas em termos
de coordenadas fracionárias xa , ya e za .
Na expressão da densidade eletrônica do cristal


ρcristal (⃗r) = s(⃗r) ρcel (⃗r) ∗ δ(⃗r − R
⃗ mnp ) , (8.4)
m,n,p

as dimensões físicas do volume difratante1 são especificadas pela função de forma s(⃗r) [s(⃗r) = 1

ou 0 para ⃗r dentro ou fora do volume considerado, respectivamente], de modo que as somatórias

sobre os números inteiros m, n e p se estendem de −∞ até +∞. Alternativamente, somatória

finitas podem ser consideradas, mas isso gera uma dificuldade extra em descrever formas difer-

entes daquelas definidas pelas arestas da célula unitária.


O fator de forma do cristal,


⃗ = TF{ρcristal (⃗r)} = TF{ρcel (⃗r)}
Fcristal (Q) TF{δ(⃗r − R
⃗ mnp )} ∗ TF{s(⃗r)} , (8.5)
| {z } | {z }
m,n,p

F (Q) ⃗
W (Q)

agrega três informações diferentes a serem analisadas separadamente. As TFs da célula unitária,
⃗ e do volume do cristal, W (Q),
F (Q), ⃗ serão analisadas mais adiante. Aqui analisaremos a TF

da rede cristalina,



∑ ∑
+∞ 0 ⃗ ·R
se Q ⃗ mnp ∈
/ 2π Z
⃗ R⃗ mnp
TF{δ(⃗r − R
⃗ mnp )} = e iQ·
=


m,n,p m,n,p=−∞ ∞ se Q
⃗ ·R
⃗ mnp ∈ 2π Z .

⃗ ·R
Os vetores recíprocos que satisfazem a condição Q ⃗ mnp ∈ 2π Z formam um conjunto de
⃗ hkl , denominado vetores da rede recíproca do cristal, Nota 8.1. Com relação à este
vetores Q
1
O menor dentre o volume do cristal e o volume de coerência da radiação. Por questão de simplificação
textual, nos referiremos ao volume difratante apenas como volume do cristal.

159
conjunto de vetores, as somatórias acima se comportam como funções delta uma vez que



0 ⃗ ̸= Q
se Q ⃗ hkl
⃗ −Q
δ(Q ⃗ hkl ) =


∞ se Q
⃗ =Q
⃗ hkl .


Porém, toda função delta é normalizada, i.e. ⃗ −Q
δ(Q ⃗ hkl ) dVQ = 1. A normalização das

somatórias, Nota 8.1, permite a substituição

∑ ⃗ ⃗ (2π)3 ∑ ⃗
e iQ·Rmnp → δ(Q − Q
⃗ hkl ) (8.6)
m,n,p
Vcel h,k,l

onde as novas somatórias, agora em h, k e l, contabilizam todos os possíveis vetores da rede

recíproca.

160
Nota 8.1: Rede recíproca
— A intensidade coerente espalhada por um cristal, dita intensidade difratada, apresenta
máximos acentuados apenas para o conjunto {Q ⃗ hkl } de vetores recíprocos, denominados
vetores da rede recíproca de um cristal. Então,
⃗ ·R
Q ⃗ mnp = m Q ⃗ · ⃗b + p Q
⃗ · ⃗a + n Q ⃗ · ⃗c ∈ 2π Z

⃗ ∈ {Q
somente é possível, para qualquer Q ⃗ hkl } e quaisquer valores inteiros de m, n e p, se

⃗ · ⃗a = 2πh,
Q ⃗ · ⃗b = 2πk
Q ⃗ · ⃗c = 2πl
e Q onde h, k, l ∈ Z .

A rede recíproca de um cristal, definida pelos vetores Q ⃗ hkl = h ⃗a ∗ + k ⃗b ∗ + l ⃗c ∗ , corresponde


a uma rede de pontos discretos com índices hkl e vetores base ⃗a ∗ , ⃗b ∗ e ⃗c ∗ , que satisfazem
as relações: ⃗a ∗ · [⃗a, ⃗b, ⃗c ] = [2π, 0, 0], ⃗b ∗ · [⃗a, ⃗b, ⃗c ] = [0, 2π, 0] e ⃗c ∗ · [⃗a, ⃗b, ⃗c ] = [0, 0, 2π].
Estas relações têm por solução
⃗b × ⃗c ⃗c × ⃗a ⃗a × ⃗b
⃗a ∗ = 2π , ⃗b ∗ = 2π e ⃗c ∗ = 2π , (8.7)
⃗a · (⃗b × ⃗c) ⃗b · (⃗c × ⃗a) ⃗c · (⃗a × ⃗b)

os quais são vetores perpendiculares às faces bc, ac e ab da célula unitária, e definem uma
célula unitária recíproca de volume Vcel∗ = ⃗a ∗ · (⃗b ∗ × ⃗c ∗ ) = (2π)3 /Vcel .

— Demonstrar a eq. (8.6) requer integração das somatórias em m, n e p dentro do volume


ínfimo em torno de um ponto hkl da rede recíproca. Escrevendo Q ⃗ = u ⃗a ∗ + v ⃗b ∗ + w ⃗c ∗ ,
tal que
dVQ = [du ⃗a ∗ · (dv ⃗b ∗ × dw ⃗c ∗ )] = Vcel∗ du dv dw ,
e com u ∈ [h − ζ, h + ζ], v ∈ [k − ζ, k + ζ] e w ∈ [l − ζ, l + ζ] onde 0 < ζ ≪ 1, obtêm-se
∫ (∑ ) ∫ (∑ )
e iQ·Rmnp dVQ = Vcel∗
⃗ ⃗
e 2πi(mu+nv+pw) du dv dw =
m,n,p m,n,p

∫ ( ) ∫ ( ) ∫ ( )
h+ζ ∑
+∞ k+ζ ∑
+∞ l+ζ ∑
+∞
= Vcel∗ e 2πimu du e 2πinv dv e 2πipw dw =
h−ζ m=−∞ k−ζ n=−∞ l−ζ p=−∞
∫ h+ζ ∫ k+ζ ∫ l+ζ
= Vcel∗ δ(u − h) du δ(v − k) dv δ(w − l) dw = Vcel∗ .
h−ζ k−ζ l−ζ

···

Ex. 8.1: A lei de Bragg é a mais conhecida equação da cristalografia de raios X. (a) Mostre
que cada ponto hkl da rede recíproca do cristal representa um conjunto de planos atômicos

161
⃗ hkl e que a distância entre planos adjacentes vale
perpendiculares ao vetor recíproco Q


dhkl = . (8.8)
Qhkl

(b) Qual o ângulo de espalhamento associado a cada ponto da rede recíproca, dado em função
da distância interplanar dhkl ?

⃗ hkl o vetor de difração ativo, a diferença de fase dentre os campos espalhados


Resp. (a): Sendo Q
⃗ hkl · ⃗rab , cf. eq. (5.1). Portanto,
por dois átomos quaisquer com vetor separação ⃗rab será ∆ϕ = Q
⃗ hkl espalham em fase,
todos os átomos contidos num mesmo plano perpendicular ao vetor Q
i.e. ∆ϕ = 0, assim como aqueles contidos em planos paralelos, distantes nd com n ∈ Z, tal

que ∆ϕ = Qhkl nd = 2π n, Fig. 8.2. Isto requer contudo que a distância interplanar d vala

dhkl = 2π/Qhkl .

⃗ hkl = ⃗k ′ − ⃗k e Qhkl = (4π/λ) senθhkl = 2π/dhkl [cf. eq. (2.23)]


Resp. (b): Como Q

2 dhkl senθhkl = λ , (8.9)

que é a lei de Bragg para o ponto hkl da rede recíproca.2 Em relação ao feixe de raios X

incidente, o ângulo de espalhamento é 2θhkl , Fig. 8.2.

Ex. 8.2: Dados os parâmetros da célula unitária de um cristal, i.e. os valores das arestas
a, b e c e dos ângulos α, β e γ, Fig. 8.1, elabore uma rotina para calcular dhkl e use-a para
identificar as distâncias interplanares responsáveis pelas principais intensidades difratadas no
quartzo-α, Fig. 7.14.

Resp.: Os ângulos entre as arestas são definidos de modo que ⃗a · ⃗b = ab cos γ, ⃗a · ⃗c = ac cos β
e ⃗b · ⃗c = bc cos α. Usando qualquer sistema de coordenadas para descrever os vetores arestas,
2
A lei de Bragg é muita vez escrita como 2d senθ = nλ onde d é a distância interplanar, θ o ângulo de
incidência com os planos e n = 1, 2, 3, . . .etc. Obs.: diferentes valores de n equivalem a diferentes pontos da
rede recíproca.

162
⃗ hkl · ⃗rab = 2π n, com n ∈ Z, e
Figura 8.2: Espalhamento coerente por planos de átomos onde Q
Qhkl = 2π/dhkl .

por exemplo

⃗a = a [senβ, 0, cos β], ⃗b = b [senα cos φ, senα senφ, cos α] e ⃗c = c [0, 0, 1]

onde cos φ = (cos γ − cos β cos α)/senα senβ, chega-se aos vetores arestas ⃗a ∗ , ⃗b ∗ e ⃗c ∗ da rede
recíproca a partir das eqs. (8.7), o que leva a


dhkl = . (8.10)
|h ⃗a ∗ + k ⃗b ∗ + l ⃗c ∗ |

Confira a rotina bragg.m. No caso do quartzo-α para reflexões do tipo 100 e 011 a rotina fornece

>> bragg(8000,[4.9134 4.9134 5.4052 90.0 90.0 120.0],[1 0 0; 0 1 1]);


Energia = 8000.00eV (1.549813 A)
d(1,0,0) = 4.25513 A, thB = 10.4927 graus, 2thB = 20.9855 graus
d(0,1,1) = 3.34342 A, thB = 13.4013 graus, 2thB = 26.8026 graus .

Ex. 8.3: Medidas de distâncias interplanares por difração de raios X são comprometidas pelas
resoluções angular e espectral. Para um cristal cúbico [a = b = c, α = β = γ = 90◦ ], como a

163
resolução ∆a/a do parâmetro de rede depende das resoluções espectral ∆λ/λ, e angular ∆2θ
do ângulo de espalhamento do feixe difratado em relação ao feixe incidente?

Resp.: A simples aplicação da teoria de erros [41] à lei de Bragg, eq. (8.9), resulta em

( )2 ( )2
∆d ∆λ
= + (cot θ ∆θ)2 . (8.11)
d λ


Sendo o cristal cúbico, dhkl = a/ h2 + k 2 + l2 e portanto ∆a/a = ∆d/d. Num experimento

com fótons de energia E = 10200 ± 1 eV onde o ângulo de espalhamento da reflexão 004 foi
medido em 2θ = 50, 938 ± 0, 008◦ ,

[ ( )( )2 ]1/2
∆d 1 50, 938 0, 008 π
= 2
+ cot2
= 1, 8 × 10−4 ,
d 10200 2 2 180

implicando em a = 5, 653 ± 0, 001 Å.

···

8.1.2 Fatores de estrutura e intensidades difratadas

A determinação completa da estrutura cristalográfica de uma substância envolve duas etapas

distintas: i) caracterizar a rede cristalina, ou seja, medir os parâmetros de rede; e ii) atribuir
valores às coordenadas fracionárias dos átomos dentro da célula unitária. Medidas das direções
dos feixes difratados fornecem os parâmetros de rede, enquanto que os valores das intensidades
dos feixes são imprescindíveis para se obter as coordenadas fracionárias. A correlação entre
intensidades e coordenadas fracionárias é estabelecida através do fator de forma da célula
⃗ eq. (8.5), que é a amplitude, em unidade de elétrons, do campo espalhado
unitária F (Q),
pela célula unitária.
⃗ qualquer. Mas, no espaço recíproco
O fator de forma é dado pela eq. (3.8) para um vetor Q
de um cristal as intensidades difratadas estão muito localizadas em torno dos nós hkl da rede
recíproca.3 Assim, os fatores de estrutura de um cristal são os valores do fator de forma
3
Pontos da rede recíproca são chamados de “nós” para diferenciá-los de um ponto qualquer do espaço recíproco
com índices hkl não inteiros.

164
calculados apenas para os vetores da rede recíproca, ou seja,


Nat
⃗ hkl ·⃗

Nat
⃗ → F (Q
F (Q) ⃗ hkl ) = Fhkl = fa e iQ ra
= fa e 2πi (hxa +kya +lza ) (8.12)
a a

onde h, k e l são números inteiros e fa = (f0 + f ′ + if ′′ )a tal como definido na seção § 4. Note
que, permitindo números não inteiros na eq. (8.12), se obtém o fator de forma de qualquer
ponto do espaço recíproco descrito na base ⃗a ∗ , ⃗b ∗ e ⃗c ∗ .

O quão localizadas são as intensidades difratadas em torno dos nós da rede recíproca depende
⃗ = TF{s(⃗r)}, aparece
do volume do cristal. Como na eq. (8.5) a TF da forma do cristal, W (Q)
convolucionando os outros termos, todos os nós da rede recíproca ganham volume, o qual
aumenta inversamente proporcional ao volume real do cristal. Substituindo as eqs. (8.6) e

(8.12) na eq. (8.5), chega-se ao fator de forma do cristal 4

3 ∑ ∑
⃗ = (2π)
Fcristal (Q) ⃗ −Q
⃗ hkl ) δ(Q
F (Q ⃗ = 1
⃗ hkl ) ∗ W (Q) ⃗ −Q
Fhkl W (Q ⃗ hkl ) , (8.13)
Vcel h,k,l Vcel h,k,l

cujo módulo quadrado fornece as intensidades difratadas.


Na maioria das situações práticas de aplicação da Teoria Cinemática é válido tratar as
intensidades difratadas como sendo independentes umas das outras —as situações onde este

tratamento deixa de válido serão comentados oportunamente—. Isto quer dizer que, os efeitos
de re-espalhamento são desprezados, assim como quaisquer outros efeitos decorrentes da exci-
tação simultânea de mais de um nó da rede recíproca. A distribuição de intensidade no espaço

recíproco de um cristal é assim dada por

2 ∑
I(Q) ⃗ ≃
⃗ = IT h Fcristal (Q) ⃗
Ihkl (Q) (8.14)
h,k,l

onde
⃗ = IT h 1 |Fhkl |2 |W (Q
Ihkl (Q) ⃗ −Q
⃗ hkl )|2 . (8.15)
2
Vcel
4
O número (2π)3 desaparece da eq. (8.13) porque a operação de convolução, “ * ”, é uma integral em dVq ,

ver eq. (2.16), mas passa a ser em dVQ = (2π)3 dVq , ou seja, (2π)3 δ(2π⃗q ′ − Q
⃗ hkl ) W (2π⃗q − 2π⃗q ′ ) dVq′ =
∫ ′ ′
⃗ −Q
δ(Q ⃗ −Q
⃗ hkl ) W (Q ⃗ −Q
⃗ ) dVQ′ = W (Q ⃗ hkl ).

165
Figura 8.3: Estrutura cúbica tipo blenda de zinco, grupo espacial F4̄3m [21]. (a) Célula unitária.
(b,c) Perspectivas da estrutura ao longo das direções (b) [001] e (c) [111]. Os vetores de difração
Q ⃗ h̄k̄l̄ = −Q
⃗ hkl e Q ⃗ hkl vêm de modo diferente o arranjo dos planos atômicos ao longo da direção
[111], BA—BA—BA e AB—AB—AB, respectivamente. No caso da direção [001] o arranjo é
sempre A–B–A–B–A.

Os módulos dos fatores de estrutura, |Fhkl |, são os valores experimentalmente acessíveis


através da difração cinemática de raios X. O número de valores requeridos para solucionar uma
estrutura, i.e. estimar as coordenadas fracionárias, depende da complexidade da estrutura. Em
estruturas relativamente simples —em geral com células unitárias de volume inferior a 1000 Å3
contendo não mais que algumas centenas de átomos—, é factível ajustar as posições atômicas
até que as intensidades relativas da estrutura modelo sejam compatíveis com as intensidades ex-
perimentais. Certamente esse procedimento é inviável quando se deseja determinar a estrutura
cristalina de uma proteína contendo milhares de átomos. Os métodos específicos utilizados em
cristalografia de proteínas são devidamente descritos em literatura apropriada.5 Mas, além da
coleta de milhares de valores de intensidades, medidas em amostras com marcadores de posição
são muitas vezes necessárias.
5
Consulte, por exemplo, ref. [17], cap. 9.

166
···

Ex. 8.4: O desenvolvimento da industria de micro e opto eletrônica ocorreu graças às pro-
priedades eletrônicas dos cristais semicondutores, como Si e GaAs, os quais podem ser sinteti-
zados com algo grau de perfeição cristalina. Compare os fatores de estrutura das reflexões 002,
004, 111 e 1̄1̄1̄ desses materiais (h̄k̄¯l ⇒ −h, −k, −l). Interprete a origem das diferenças mais
relevantes.

Resp.: Posicionando a origem da rede cristalina sobre um dos átomos da célula unitária, como

ilustrado na Fig. 8.3(a), tal que as coordenadas fracionárias dos elementos A e B sejam,6

A : (0, 0, 0), (1/2, 1/2, 0), (1/2, 0, 1/2), (0, 1/2, 1/2) e

B : (1/4, 1/4, 1/4), (3/4, 3/4, 1/4), (3/4, 1/4, 3/4), (1/4, 3/4, 3/4) .

Substituindo na eq. (8.12),






4(fA + fB ) se h + k + l = 4n



Fhkl = |Fhkl | ei ϕhkl = 4(fA − fB ) se h + k + l = 2(2n + 1) (8.16)






4(fA ± ifB ) se h + k + l = 2n + 1

onde n ∈ Z. Os fatores de estrutura das reflexões mencionadas são comparadas na Tabela 8.1.

As reflexões 004 e 111 são mais intensas no GaAs do que no Si devido ao maior número
atômico médio do GaAs, i.e. fGa + fAs > 2fSi . No Si, como fA − fB = 0, a reflexão 002 tem
intensidade nula. Em cristais não centrossimétricos, alguns pares de reflexões7 hkl e h̄k̄¯l, têm
diferentes perspectivas da estrutura, como no caso das reflexões 111 e 1̄1̄1̄ do GaAs, Fig. 8.3(b,c).
A parte imaginária do fator de espalhamento atômico tem maior magnitude em condição de
6
Muitos semicondutores têm estruturas cúbicas iguais à da blenda de zinco ou do diamante, como por
exemplo o GaAs e o Si, grupos espaciais F4̄3m e Fd̄3m, respectivamente. Consulte ref. [21], cap. 7.1, pp.
112–717.
7
Ver pares de Friedel e Bijvoet, e.g. ref. [17], pp. 170 e 475.

167
GaAs GaAs∗ Si
hkl |Fhkl | ϕhkl (◦ ) |Fhkl | ϕhkl (◦ ) |Fhkl | ϕhkl (◦ )
002 24,4 148,0 24,4 -32,0 0,0 —
004 135,2 7,6 135,2 7,6 61,6 1,5
111 125,2 -46,0 146,1 -34,1 60,7 -43.9
1̄1̄1̄ 146,1 55,9 125,2 44,0 60,7 46,1

Tabela 8.1: Fatores de estrutura, módulos e fases, de algumas reflexões no arseneto de gálio
e no silício, eq. (8.16). GaAs: A=Ga, B=As. GaAs∗ : A=As, B=Ga. Si: A=B=Si. Val-
ores calculados para raios X de 10400 eV, aproximadamente 33 eV acima da borda K do Ga.
[sfactor.m]

ressonância, fato que acentua as diferenças de intensidades dos pares de reflexões susceptíveis
à ausência de centro de simetria. Note que, se f ′′ = 0 para todos os átomos da estrutura,

Fh̄k̄l̄ = Fhkl e, portanto, |Fh̄k̄l̄ |2 = |Fhkl |2 para qualquer reflexão hkl, independetemente da

estrutura ter ou não centro de simetria.

Ex. 8.5: Num cristal polar, além de f ′′ ̸= 0, qual outra propriedade matemática dos fatores

de estrutura permite pares de Friedel com intensidades diferentes?

Resp.: O fator de estrutura de uma reflexão qualquer sempre pode ser escrito em duas partes:

uma com os termos reais dos fatores de espalhamento atômicos; e a outra com os termos

imaginários. Isso leva a

∑ ∑ ′ ′′ ′ ′′ −ϕ′ )
F = (f +f ′ )a eiϕa +i (f ′′ )a eiϕa = F ′ +iF ′′ = |F ′ |eiϕ +i|F ′′ |eiϕ = eiϕ [|F ′ |+i|F ′′ |ei(ϕ ]
a a

onde ϕa = 2π(hxa +hya +hza ), ver eq. (8.12). As intensidades no par de Friedel são proporcionais
a |F |2 = |F ′ |2 + |F ′′ |2 − 2|F ′ ||F ′′ | sen (ϕ′′ − ϕ′ ) e a |F̄ |2 = |F ′ |2 + |F ′′ |2 + 2|F ′ ||F ′′ | sen (ϕ′′ − ϕ′ ),
esta última obtida pela troca de ϕa por −ϕa . Assim, para que |F |2 seja diferente de |F̄ |2 ,
também é necessário ter sen (ϕ′′ − ϕ′ ) ̸= 0.

Ex. 8.6: Métodos que exploram relações matemáticas entre as fases dos fatores de estrutura,
chamados “métodos diretos”, contribuíram para contornar o problema da fase em cristalografia
⃗ B
de raios X e receberam o premio Nobel de Química em 1985 [45]. Sejam A, ⃗ eC
⃗ vetores da

168
rede recíproca de um cristal, i.e. pertencem ao conjunto {Q
⃗ hkl }. Qual a relação matemática
⃗ (C)/F
entre esses vetores para que o tripleto de fatores de estrutura F (B)F ⃗ ⃗ tenha fase
(A)
invariante em relação à escolha da origem da rede cristalina?

Resp.: Se ⃗ra são as posições atômicas dentro da célula unitária para uma certa escolha de
⃗ os respectivos fatores de estrutura, então
origem da rede cristalina e F (Q)


F † (Q)
⃗ = ⃗ ⃗ ⃗
fa eiQ·(⃗ra +∆⃗r) = eiQ·∆⃗r F (Q)
a

representa aos fatores de estrutura com a origem deslocada de ∆⃗r em relação à posição anterior.
O tripleto
F † (B)F
⃗ † (C) ⃗ |F (B)||F
⃗ ⃗
(C)| ⃗ ⃗ ⃗
= ei[ΨT +(B+C−A)·∆⃗r]

F † (A) |F (A|)

terá fase ΨT = ϕB + ϕC − ϕA , invariante sob translação da origem quando A


⃗ =B
⃗ + C.
⃗ Por

exemplo, para o GaAs com raios X de 10400 eV, Tabela 8.1, as fases invariantes dos tripletos

F111 F1̄1̄1 /F002 e F11̄1 F1̄11 /F002 valem ΨT = 90, 0◦ e ΨT = −36, 2◦ , respectivamente.8

···

8.2 Truncamento da rede cristalina

Outro aspecto importante da intensidade cinemática, eq. (8.15), é a dependência com a forma
do cristal. Na análise cristalográfica, as dimensões das amostras (volumes difratantes) variam
numa escala de micrometros. Embora pequena, tal escala de tamanhos é suficiente para o termo
|W (Q
⃗ −Q
⃗ hkl )|2 não alargar as condições de difração a ponto de comprometer a resolução da

estrutura. Os efeitos de forma se acentuam com a diminuição da escala, tornado possível


estimar a dimensão de cristalitos muito pequenos pelo alargamento dos picos de difração acima
da largura instrumental; procedimento análogo ao de estimar tamanhos de partículas em solução
pelo espalhamento a baixo ângulo, § 5.3.
8
Existem métodos experimentais, baseados na teoria dinâmica da difração de raios X, susceptíveis ao valor
de ΨT , e.g. ref. [32].

169
Figura 8.4: Nós da rede recíproca em cristais com espessura t = 100 nm e formato (a) retangular
e (b) discoide, L = 2t. Aspecto 3D ilustrado por isosuperfícies da função |W (∆Q)|,
⃗ eq. (8.13).
[exrlp3Dretang.m, exrlp3Ddisc.m]

Nos estudos de materiais nanoestruturados e superfícies o truncamento da rede cristalina,

ou seja, o fato dos cristais terem dimensões finitas, produz efeitos notáveis quando se analisa
a distribuição de intensidade no espaço recíproco com feixes intensos. Em nanotecnologia,

diversos dispositivos contêm materiais cristalinos com dimensões nanométricas. O mapeamento

em alta resolução da distribuição de intensidade em torno de um único ponto da rede recíproca,

i.e. mapear a função |W (∆Q)|


⃗ 2 , consiste numa importante ferramente de análise de dispositivos

nanoestruturados [36]. Em cristais com superfícies definidas em escala atômica, |W (∆Q)|


⃗ 2

distribuí a intensidade ao longo da direção normal à superfície, viabilizando experimentos de


difração à incidência rasante com o vetor de difração contido no plano da superfície [22]. A
aproximação na eq. (8.14), de considerar as intensidades difratadas como independentes umas
⃗ é muito extensa e os campos espalhados por
das outras, precisa ser reavaliada quando W (∆Q)
nós distintos apresentam efeitos de interferência, ver ex. 8.8.

···

170
Ex. 8.7: Quanto menor as dimensões de um cristal maior o volume dos nós da rede recíp-
roca. (a) Qual o aspecto dos nós em um cristal com espessura t = 100 nm? (b) Qual função
matemática descreve a queda assintótica da intensidade ao longo da direção normal à superfície?

Resp. (a): O volume dos nós são determinados pela função |W (∆Q)|
⃗ 2 onde ∆Q ⃗ −Q
⃗ =Q ⃗ hkl .

Sendo o formato do cristal retangular, dimensões L × L × t,

∫ L/2 ∫ L/2 ∫ t/2


⃗ = TF{s(⃗r)} =
W (∆Q) e i∆Qx x
dx i∆Qy y
e dy ei∆Qz z dz =
−L/2 −L/2 −t/2

sen(∆Qx L/2) sen(∆Qy L/2) sen(∆Qz t/2)


V .
∆Qx L/2 ∆Qy L/2 ∆Qz t/2

O aspecto dos nós, numa visualização 3D, está mostrado na Fig. 8.4(a).
No caso de um cristal com forma de disco, diâmetro L e espessura t,

∫ 2π ∫ L/2 ∫ t/2
⃗ =
W (∆Q) e i∆Qxy r cos φ
r dr dφ ei∆Qz z dz
0 0 −t/2

produz a visualização mostrada na Fig. 8.4(b). ∆Q2xy = ∆Q2x + ∆Q2y , r2 = x2 + y 2 e a integral

no ângulo azimutal φ resolvida numericamente, rotina exrlp3Ddisc.m.

Resp. (b): Os máximos da função sinc, sen(x)/x, para x ̸= 0 cai com 1/x, enquanto que em
x = 0 a função vale 1. A queda de intensidade na direção longitudinal à espessura t é dada

pelo módulo quadrado da função sinc com x = ∆Qz t/2, item (a), cujos máximos são discritos

por uma função lorentziana tal como


sen(∆Qz t/2) 2 1
= . (8.17)
∆Qz t/2 1 + (∆Qz t/2)2
máximos

Ver comparações na Fig. 8.5. O período dos máximos, ou franjas de espessura, vale ∆Qz = 2π/t.

Ex. 8.8: O alinhamento de nós adjacentes da rede recíproca com a direção normal à superfície
do cristal favorece efeitos de interferência entre os campos difratados pelos nós. Como a espes-
sura do cristal afeta a validade da aproximação, implícita na eq. (8.14), de tratar isoladamente

171
Figura 8.5: Comparação da função lorentziana 1/[1 + x2 ] (——) com a função |sen(x)/x|2
(——). x = ∆Qz t/2, ∆Qz = 2π∆l/a e t = N a. [sincfunction.m]

as intensidades difratadas?

Resp.: A aproximação será sempre válida, independentemente dos valores de Fhkl , desde que

2
∑ ∑ 2

W (Q − Qhkl ) −
⃗ ⃗ W (Q − Qhkl ) = 0 .
⃗ ⃗

h,k,l h,k,l

Sendo os nós com índices l e l ± 1 alinhados ao longo da normal, a equação acima se reduz a


∑ sen(x ) 2 ∑ sen(xj ) 2
j
− xj = 0 (8.18)
x j
j=0,±1 j=0,±1
| {z } | {z }
A(∆l) B(∆l)

onde xj = ∆Qz,j t/2 = πN (∆l − j) e N = t/a é o número de células unitárias, com parâmetro
de rede c = a, na direção da espessura t do cristal. Na Fig. 8.6, as discrepâncias dos termos
A e B com a espessura são comparadas. O aumento da espessura nada afeta os limites dos
intervalos de discrepâncias (|∆l| > 1/5), mas requer uma razão sinal ruído cada vez maior para

172
Figura 8.6: Dependência das discrepâncias entre as funções A(∆l) e B(∆l), definidas no texto,
com a espessura t do cristal. As curvas evelope (——) são obtidas substituindo sen(xj )/xj por
1/(1 + ixj ) na eq. (8.18). [sincinterference.m]

se medir intensidades coerentes nesses intervalos.

Ex. 8.9: Assumindo válida a aproximação cinemática para cristais com dimensões micrométri-
⃗ eq. (8.15), em termos de funções delta. Qual o valor de Ihkl (0) ?
cas, reescreva Ihkl (Q),

Resp.: Das relações demonstradas na Nota 7.1 para a função de volume Ω(⃗u),

|W (∆Q)|
⃗ 2 = V TF{Ω(⃗u)} ≃ V δq (∆⃗q) = (2π)3 V δQ (∆Q)

onde |W (0)|2 = V 2 e δq (0) = (2π)3 δQ (0) = V . Lembrando que, N = V /Vcel é o número de



células unitárias no cristal de volume V e Vcel = (2π)3 /Vcel é o volume recíproco da célula
unitária, a distribuição de intensidade em torno de um nó hkl pode ser reescrita como


⃗ ≃ IT h |Fhkl |2 N Vcel ⃗ −Q
⃗ hkl )
Ihkl (Q) δQ (Q (8.19)

173
sendo que Ihkl (0) = IT h |Fhkl |2 N 2 .
···

8.3 Desordens aleatórias na estrutura cristalina

A descrição matemática dos cristais pela convolução de célula unitária e rede cristalina, eq. (8.4),
gera estruturas com periodicidade perfeita uma vez que todas as célula unitárias ao longo do

cristal são idênticas. Tal perfeição acentua os máximos e mínimos dos padrões de interferência:
máximos (interferências construtivas) nos nós da rede recíproca e mínimos (interferências de-
strutivas) em todo o restante do espaço recíproco. Porém, existindo um mínimo de desordem

nas posições atômicas, ocorre uma amenização das interferências tanto construtivas como de-

strutivas. As intensidades dos picos de difração diminuem ao mesmo tempo que os valores das
intensidades espalhadas nas regiões fora dos picos de difração tendem a aumentar. Situação

análoga às demonstradas na Fig. 6.6, ex. 6.3(b), e na Fig. 7.14.

Vibrações térmicas

Mesmo na temperatura de zero absoluto, os átomos num sólido vibram de acordo com as

frequências fundamentais dos estados quânticos inerentes às ligações químicas. Maior a tem-
peratura, maiores as frequências e as amplitudes de vibração. Mas, comparadas à frequência

dos raios X, da ordem de 1018 Hz, as vibrações térmicas são movimentos lentos. Dentro da co-
erência temporal de um feixe de raios X, algo em torno de alguns femtossegundos,9 os átomos
da estrutura estão congelados em posições ligeiramente diferentes das posições médias descritas
pela estrutura perfeita, caracterizando desordens instantâneas semelhantes àquela tratada na
Nota 6.4. A principal diferença está no fato das vibrações não serem necessariamente isotrópi-
cas (iguais em todas as direções) e nem as amplitudes iguais para todas os átomos da estrutura.
Casos contrários, i.e. vibrações isotrópicas de mesma amplitude, a solução obtida na Nota 6.4
e resumida na eq. (6.20) seria suficiente para contabilizar o efeitos das vibrações térmicas na
9
Coerência temporal: coerência longitudinal CL , eq. (1.15), dividida pela velocidade da luz, e.g. ∆λ/λ =
−4
10 e λ = 1, 54 Å ⇒ CL /c = 2, 6 fs de coerência temporal.

174
média temporal da intensidade espalhada pela estrutura.
Afim de discriminar parâmetros de desordem por sítio atômico,10 toma-se como ponto de

partida a função de correlação geral da estrutura perfeita (média)

∑ ∑ ∑
C(⃗u) = fa fb∗ δ(⃗u − ⃗rab ) = |fa |2 δ(u) + fa fb∗ δ(⃗u − ⃗rab ) , (8.20)
a,b a a,b̸=a

escrita diretamente em termos dos fatores de espalhamento atômicos de modo a fornecer a


⃗ = IT h TF{C(⃗u)}. Os índices a e b correm por todos os átomos
intensidade cinemática I(Q)
da estrutura. Ligeiras desordens das posições atômicas transformam as funções delta em gaus-

sianas G(⃗u − ⃗rab ), cujos desvios padrões ηab , dependem dos desvios quadráticos médios ηa2 e

ηb2 das posições atômicas responsáveis pela separação ⃗rab , ou seja, ηab
2
= ηa2 + ηb2 . As TFs das
gaussianas11

TF{G(⃗u − ⃗rab )} = eiQ·⃗rab e− 2 Q


⃗ 1 2 (η 2 +η 2 )
a b , (8.21)

⃗ =
são susceptíveis somente aos desvios quadráticos médios na direção do vetor de difração Q

QQ̂, o que requer especial atenção nos sistemas com desordens anisotrópicas onde ηa → ηa (Q̂).
Através da eq. (8.21) se chega na seguinte expressão da intensidade cinemática

∑ ∑
⃗ = IT h TF{C(⃗u)} = IT h
I(Q) |fa |2 TF{δ(u)} + IT h fa fb∗ TF{G(⃗u − ⃗rab )} =
a a,b̸=a

∑ ∑
fa e− 2 Q fb∗ e− 2 Q
1 2 η2 1 2 η2 ⃗
= IT h |fa |2 + IT h a b eiQ·⃗rab , (8.22)
a a,b̸=a

a qual mostra explicitamente que a desordem na estrutura atômica de um sólido —em relação
à estrutura média— pode ser tratada como queda exponencial dos fatores de espalhamento
atômicos presentes no termo de interferência (somatória dupla). Numa situação hipotética
de total desordem, ηa,b → ∞, ainda existiria a soma (somatória simples) das intensidades
individuais espalhadas pelos átomos, tal como num sistema disperso, cap. 5. Nos sistemas
com alto grau de desordem, e.g. Fig. 7.14, a contribuição dessas intensidades individuais
10
Maiores detalhes sobre parâmetros de desordem atômica estão disponíveis na ref. [4], pp. 228-242.
11
Embora a eq. (8.21) tenha solução analítica, a rotina debye.m permite verificação numérica em 1D.

175
elevam o ruído de fundo conforme Q aumenta, mas sendo limitado pela redução dos fatores de
espalhamento atômicos.

No caso de estruturas cristalinas onde as amplitudes das vibrações são muito pequenas em
relação ao tamanho das células unitárias, o efeito dominante é a atenuação das intensidades
difratadas; o aumento do ruído de fundo é desprezível. Formalmente isso é demonstrado rear-
ranjando as somatórias na eq. (8.22) em termos das N células unitárias do cristal e dos Nat
presentes em cada célula unitária,

2
N∑
×Nat N∑
×Nat
⃗ ra
|fa |2 (1 − e− 2 Q − 21 Q2 ηa2 iQ·⃗
1 2 η2
⃗ = IT h
I(Q) a ) + IT h fa e e =

a=1 a=1


Nat 2 2
− 21 Q2 ηa2
= IT h N |fa | (1 − e
2
) + IT h Fcristal (Q) ≃ IT h Fcristal (Q) .
⃗ ⃗ (8.23)
a=1

⃗ é o fator de forma do cristal definido na eq. (8.13), mas contabilizando o efeito das
Fcristal (Q)
vibrações térmicas nos fatores de estrutura


Fhkl = fa e−Ma e 2πi (hxa +kya +lza ) (8.24)
a

através da atenuação exponencial com fator

( )2
1 senθ
Ma = Q2 ηa2 = 8π 2 ηa2 , (8.25)
2 λ

comumente chamado de fator de temperatura ou fator de Debye-Waller [4]. O desvio quadrático

médio associado ao a-ésimo átomo da célula unitária é, em termos gerais, dado por ηa2 =
⟨|(⃗ra −⟨⃗ra ⟩)· Q̂|2 ⟩. Os ⟨· · · ⟩ representam médias espaçotemporais, ou seja, tanto média temporal
numa única célula unitária como média sobre todas as células unitárias da estrutura num dado
instante de tempo. Este último caso permite incluir desordens de origem não térmica, como as
induzidas por defeitos distribuídos aleatoriamente na estrutura.

Numa rede cristalina existem também vibrações coletivas conhecidas como fônons. O movi-
mento coletivo induz correlações entre as posições atômicas que alteram localmente a lei de

176
Figura 8.7: Estruturas atômicas dos cristais de (a) dihidrogenofosfato de potássio (KDP) e (b)
ortofosfato de prata, vistas do eixo cristalográfico [001]. As células unitárias contêm 4 moléculas
KH2 PO4 e 2 moléculas Ag3 PO4 , respectivamente. Átomos de hidrogênio e prata têm fatores de
ocupação 1/2. O átomo “ ? ” em (a) indica sítios de ocupação intersticial para íons metálicos
como o Mn2+ [32]. [kdpcoordfrac.m, agpcoordfrac.m]

Bragg, gerando intensidades difusas muito fracas fora das difrações da rede cristalina média. O

espalhamento de raios X por fônons termicamente excitados, denominado espalhamento térmico

difuso (TDS, thermal diffuse scattering), tem sido observado com fontes de raios X intensas e

propicia estudos da dinâmica de redes nos sólidos [24]. Contudo, o tratamento de vibrações
térmicas sem correlações, i.e., os átomos vibrando independentemente uns dos outros, permite

descrever adequadamente os efeitos das vibrações térmicas nas técnicas comumente empregadas
no estudo e caracterização de estruturas cristalinas.

···

Ex. 8.10: O dihidrogenofosfato de potássio, KDP (KH2 PO4 ), Fig. 8.7(a), é um sal solúvel
com inúmeras aplicações indo desde a industria alimentícia, por exemplo na composição de
bebidas isotônicas, até na tecnologia de lasers na forma de monocristais crescidos pelo processo
de evaporação lenta da solução aquosa. (a) Construa um histograma dos fatores de estrutura do
KDP em função do módulo Q do vetor de difração. Qual a atenuação imposta pelas vibrações
térmicas na principal contribuição do histograma? (b) Íons metálicos presentes como impurezas

177
na estrutura cristalina tendem a ocupar sítios intersticiais cercados de oxigênios. Seria factível,
a princípio, evidenciar um aumento na desordem apenas dos oxigênios?

Resp. (a): A função



F(Q) = |Fhkl |2 δ(Q − Qhkl ) (8.26)
hkl

representa o histograma dos módulos quadrados dos fatores de estrutura mostrado na Fig. 8.8
onde Qhkl = 2π/dhkl . A principal contribuição ocorre em Q = 3, 218 Å−1 devido a 16 reflexões
da família 132, ver Nota 8.2. No caso de vibrações térmicas de mesma amplitude para todos os

átomos da estrutura, e−Q


2 η2
é um fator comum a todas as reflexões. Se, por exemplo, η = 0, 1 Å,

a atenuação em Q = 3, 218 Å−1 será em torno de 10%.

Resp. (b): A variação relativa nos fatores de estrutura deixa de ser sistemática, Fig. 8.9(a),

como no caso de vibrações de mesma amplitude, Fig. 8.9(b). Portanto, a princípio, seria factível
diferenciar as duas situações.

Nota 8.2: Para se calcular, indexar e ordenar os fatores de estrutura de um cristal numa
dada energia, disponibilizamos a rotina diffraction.m. Segue abaixo parte do arquivo gerado
pela rotina, tomando como exemplo a estrutura do KDP (kdpcoordfrac.m):
X-ray photon energy = 10000.0eV (wavelength = 1.239850A)
|-------------|---------|---------------------------------------|--------------------------|
| h k l | Ihkl(%) | Re{Fhkl} Im{Fhkl} |Fhkl| fase | th tth dhkl |
|-------------|---------|---------------------------------------|--------------------------|
| 2 0 0 | 100.0 | 127.384 4.055i 127.449 1.8 | 9.5772 19.1543 3.7260 |
| -2 0 0 | 100.0 | 127.384 4.055i 127.449 1.8 | 9.5772 19.1543 3.7260 |
| 0 2 0 | 100.0 | 127.384 4.055i 127.449 1.8 | 9.5772 19.1543 3.7260 |
| 0 -2 0 | 100.0 | 127.384 4.055i 127.449 1.8 | 9.5772 19.1543 3.7260 |
| 1 1 -2 | 80.8 | 104.005 47.981i 114.539 24.8 | 12.3089 24.6179 2.9080 |
| 1 -1 2 | 80.8 | 104.005 47.981i 114.539 24.8 | 12.3089 24.6179 2.9080 |
| -1 -1 -2 | 80.8 | 104.005 47.981i 114.539 24.8 | 12.3089 24.6179 2.9080 |
| -1 1 2 | 80.8 | 104.005 47.981i 114.539 24.8 | 12.3089 24.6179 2.9080 |
| -1 -1 2 | 76.8 | 104.265 -39.946i 111.655 -21.0 | 12.3089 24.6179 2.9080 |
| 1 -1 -2 | 76.8 | 104.265 -39.946i 111.655 -21.0 | 12.3089 24.6179 2.9080 |
| 1 1 2 | 76.8 | 104.265 -39.946i 111.655 -21.0 | 12.3089 24.6179 2.9080 |
| -1 1 -2 | 76.8 | 104.265 -39.946i 111.655 -21.0 | 12.3089 24.6179 2.9080 |
| -4 0 -4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| 4 0 4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| -4 0 4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| 4 0 -4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| 0 -4 4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| 0 4 -4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| 0 4 4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| 0 -4 -4 | 64.1 | 101.980 4.234i 102.067 2.4 | 29.1423 58.2845 1.2730 |
| . . . | . . . | . . . | . . . |
| -6 -8 -2 | 0.0 | 0.077 0.367i 0.375 78.2 | 58.2840 116.5680 0.7288 |
|-------------|---------|---------------------------------------|--------------------------|
F000 = 298.747 + 4.345i

···

178
Figura 8.8: Histogramas dos fatores de estrutura do KDP sem (η = 0) e com (η = 0, 10, 0,15
e 0,20 Å) efeitos de vibrações térmicas. η: raiz quadrática média das amplitudes de vibração.
Curvas e−Q η (linhas tracejadas) são mostradas. [kdpplot1.m]
2 2

Fator de ocupação

Além de fatores de desordem, as células unitárias de um cristal podem ser diferentes entre si
quando existem átomos com fatores de ocupação menores que 1. Uma das causas é um maior
número de sítios atômicos energeticamente equivalentes em comparação com um menor número
de átomos para ocupá-los. Um exemplo típico é o do ortofosfato de prata, um semicondutor com
interessantes propriedades foto oxidativas [50] e cuja estrutura está mostrada na Fig. 8.7(b).
Duas moléculas Ag3 PO4 fornecem 6 átomos Ag por célula unitária. As operações de simetria
do grupo P4̄3n [21], geram 12 sítios equivalentes ao sítio (x, 0, 1/2) que podem ser agrupados
em 6 pares de sítios próximos, tal como o par (x, 0, 1/2) e (1/2−x, 0, 1/2). Assim, se a posição
de equilíbrio ocorresse com x = 0, 25 o fator de ocupação da prata seria 1, mas na estrutura real
x = 0, 231 de modo que o fator de ocupação vale 1/2. Isso significa que, em qualquer instante
de tempo, íons de Ag com coordenadas (0,231, 0, 1/2) ocorrem em 50% das células unitárias
presentes no material e com coordenadas (0,269, 0, 1/2) no restante das células unitárias. O

179
Figura 8.9: Variação relativa nos fatores de estrutura, |Fhkl |2 , do KDP. (a) Maior desordem
dos oxigênios e (b) mesma desordem em todos os sítios atômicos. Referência: estrutura com
ηP = ηK = ηO = 0, 10 Å. [kdpplot2.m]

mesmo acontece para os outros 5 pares de sítios próximos, de modo que todos os íons de Ag
têm fatores de ocupação iguais a 1/2.

Outra causa de fatores de ocupação menores que 1 advém da estequiometria dos elementos
utilizados na preparação de um material. Se A e B são elementos quimicamente equivalentes
na estrutura, o composto com fórmula Ax B1−x [radical] terá uma fração x de células unitárias
contendo o elemento A num determinado sítio, enquanto este mesmo sítio atômico será ocupado
pelo elemento B nas outras células unitárias.

Nas expressão matemática dos fatores de estrutura, tal como na eq. (8.24), é comum omitir
os fatores de ocupação, os quais estão implícitos no conceito de célula unitária média. A
expressão completa dos fatores de estrutura, explicitando os fatores de ocupação e as amplitudes

180
de ressonância, é dada por


Fhkl = (f0 + f ′ + if ′′ )a Ca e−Ma e 2πi (hxa +kya +lza ) (8.27)
a

onde Ca é o fator de ocupação do a-ésimo átomo na célula unitária média da estrutura.

Resumo
— Célula unitária
vetores aresta: ⃗a, ⃗b e ⃗c
constantes de rede e ângulos: ⃗a · ⃗b = ab cos γ, ⃗a · ⃗c = ac cos β e ⃗b · ⃗c = bc cos α
volume: Vcel = ⃗a · (⃗b × ⃗c) = ⃗b · (⃗c × ⃗a) = ⃗c · (⃗a × ⃗b)
posição do a-ésimo átomo: ⃗ra = xa⃗a + ya⃗b + za⃗c

— Vetores da rede recíproca (h, k, l ∈ Z)


⃗ ⃗
⃗ hkl = h ⃗a ∗ + k ⃗b ∗ + l ⃗c ∗ = 2πh b × ⃗c + 2πk ⃗c × ⃗a + 2πl ⃗a × b
Q
Vcel Vcel Vcel

— Distâncias interplanares e Lei de Bragg


2π Vcel λ
dhkl = = =
|Q
⃗ hkl | |h (⃗b × ⃗c) + k (⃗c × ⃗a) + l (⃗a × ⃗b)| 2senθhkl

— Intensidade cinemática da reflexão hkl


⃗ = IT h 1 |Fhkl |2 |W (Q
Ihkl (Q) ⃗ −Q
⃗ hkl )|2
2
Vcel

— Fatores de estrutura

Fhkl = a (f0 + f ′ + if ′′ )a Ca e−Ma e 2πi (hxa +kya +lza )

— Fator de desordem aleatória (temperatura, Debye-Waller)


( )2
1 2 2 2 2 senθ
Ma = Q ηa = 8π ηa
2 λ

— Desvio quadrático médio do a-ésimo átomo na direção Q̂ do vetor de difração


ηa2 = ⟨|(⃗ra − ⟨⃗ra ⟩) · Q̂|2 ⟩

181
Capítulo 9

Aplicações da difração cinemática

Em ciências dos materiais, geociências, química, biológia, e também em micro e nanotecnologia,

a difração de raios X é uma ferramenta de análise química estrutural indispensável. A validade


da teoria cinemática, e.g. eq. (8.14), em muito facilita as aplicações práticas desta ferramenta, as

quais se dividem em três grandes grupos de métodos experimentais. O primeiro, e provavelmente

o mais utilizado em escala mundial, é a difratometria de policristais, o popular “método do pó”

(the powder method ). A menos de fatores geométricos, polarização e efeitos instrumentais,1 o

método é basicamente a medida experimental do histograma dos módulos quadrados dos fatores
de estrutura, tal como aqueles na Fig. 8.8.
Não menos importante, embora empregados em menor escala, são os métodos de difratome-
tria em monocristais. A quebra da isotropia azimutal do espalhamento (em torno do feixe

incidente) remete os arranjos instrumentais à inerente geometria 3D do fenômeno da difração


de raios X em cristais. Isto tem como vantagem o maior número de reflexões monitoradas
isoladamente, sem contribuições oriundas de outras reflexões. E, como desvantagem, perda
ocasional de resolução quando se trabalha com cristais macroscópicos difratando além do limite
tratável puramente pela aproximação cinemática.

Por último, o terceiro grupo de métodos também requer domínio da geometria de difração
3D, mas diferindo da difratometria em monocristais pelo fato do principal objeto de investi-
1
Efeitos instrumentais englobam vários fatores que afetam o perfil de linha das intensidades difratadas, entre
eles resolução angular e espectral, absorção linear pela amostra e tamanho de cristalito.

182
Figura 9.1: Esferas de espalhamento, ou esferas de Ewald, nas varreduras: (a) em energia E,
com direção de incidência fixa; e (b) em ângulo θ, com energia fixa (feixe monocromático).
Setas ligando pontos 1 e 2 demarcam as trajetórias dos centros das esferas de raios 2π/λ
durante as varreduras. As letras RE simbolizam regiões de valores não nulos da função I(Q) ⃗ no
espaço recíproco, e.g. eq. (8.14), e as partes coloridas as regiões excitadas em cada varredura.
Diferentes condições de excitação de um mesmo ponto do espaço recíproco, indicado pelo vetor
⃗ são ilustradas.
Q,

gação ser a distribuição espacial de intensidade dentro de áreas específicas do espaço recíproco,

e não as direções e os valores relativos das intensidades difratadas. Os métodos de mapeamento

do espaço recíproco implicam em sistemas de detecção de alta resolução espacial, capazes de

discriminar pequenas variações, da ordem de alguns segundos de arco, nas direções dos feixes

difratados. Aplicações importantes de tais métodos visam caracterização de dispositivos na-


noestruturados. Contudo, aborda-los diretamente requer detalhada incursão ao universo desses

dispositivos [36], o que está fora da proposta deste livro. A visão geral da geometria de espa-
lhamento no espaço recíproco, dada a seguir, em muito facilita o entendimento dos métodos de
mapeamento.

9.1 Trabalhando no espaço recíproco

Em técnicas de espalhamento a ângulos maiores que alguns graus em relação ao feixe direto,
noções mínimas da geometria 3D envolvida do processo de difração são necessárias. Um modo

183
bastante eficiente de lidar com essa geometria é trabalhar no espaço recíproco onde a radiação
incidente é representada por esferas de espalhamento,2 Fig. 9.1. O fenômeno de difração esta
associando ao espalhamento coerente (ou elástico) de radiação, de modo que o vetor de onda
espalhado ⃗k ′ = Q
⃗ + ⃗k, tem inequivocamente o mesmo módulo do vetor de onda incidente, i.e.

|⃗k ′ | = |⃗k|, fato que define a superfície de uma esfera como o locus da dispersão angular de todos
os vetores ⃗k ′ fisicamente possíveis. Assim, fótons com vetor de onda ⃗k serão difratados pelo
⃗ quando este for secante à esfera de espalhamento com raio |⃗k| = 2π/λ.
vetor recíproco Q

Um feixe policromático equivale a varrer uma região do espaço recíproco da amostra com um
conjunto de esferas não concêntricas com raios variando continuamente, e.g. Fig. 9.1(a); maior a
energia, menor o λ e maior o raio da esfera. Todos os vetores de difração compreendidos dentro

da região de varredura irão difratar, embora em diferentes comprimentos de onda dependendo


⃗ secante à esfera de raio 2π/λ) para a específica
de qual satisfaz a condição de difração (vetor Q

direção de incidência do feixe. No caso de um feixe monocromático com divergência angular


desprezível, para se varrer uma região do espaço recíproco é preciso variar o ângulo de incidência

do feixe, como na situação pictórica na Fig. 9.1(b).

···

Ex. 9.1: Num experimento com radiação policromática onde ẑ = [0, 0, 1] é a direção de
⃗ = Q [senα cos φ, senα senφ, cos α] um vetor de difração qualquer. Utilizando
incidência e Q
apenas relações vetoriais no espaço recíproco, encontre: as coordenadas do centro da esfera de
⃗ a direção do feixe difratado e a correlação entre α e o ângulo
espalhamento excitando o vetor Q,
de espalhamento 2θ.

Resp.: Da condição de espalhamento elástico |⃗k ′ |2 = |⃗k + Q|


⃗ 2 = k 2 , tem-se que todo vetor
⃗ secante à esfera de espalhamento de raio k estará em condição de difração, satisfazendo a
Q
2
Em cristalografia de raios X, nêutrons e elétrons, geometrias de difração no espaço recíproco e esferas de
espalhamento são respectivamente chamadas de construções de Ewald e esferas de reflexões, ou também esferas
de Ewald [16].

184
relação
⃗k · Q
⃗ = −Q2 /2 . (9.1)

Uma vez que ⃗k = kẑ, a condição de difração se resume a k cos α = −Q/2, a qual permite
⃗ Por exemplo, se
determinar o raio k = 2π/λ da esfera de espalhamento excitando o vetor Q.
α = 120◦ a condição de difração ocorre para k = Q, ou λ = dhkl no caso de Q
⃗ ser um vetor da

rede recíproca de módulo 2π/dhkl . O centro da esfera de espalhamento é apontado pelo vetor
antiparalelo ao vetor de onda incidente, i.e. por −⃗k, que neste caso aponta para as coordenadas
(0, 0, −k).

A direção do feixe difratado é dada por

⃗k ′ = Q
⃗ + ⃗k = [Q senα cos φ, Q senα senφ, Q cos α + k] .

A condição de difração requer α > 90◦ e, sendo esta condição satisfeita, ⃗k · ⃗k ′ = k 2 cos 2θ =
⃗ + ⃗k) = k 2 − Q2 /2 = k 2 (1 − 2 cos2 α), e portanto θ = α − 90◦ .
⃗k · (Q

···

Nota 9.1: A eq. (9.1) se reduz à lei de Bragg quando os vetores de difração correspondem
aos exatos vetores da rede recíproca, ou seja,

⃗ hkl = −Q2 /2 ⇒ 2π Qhkl cos(90◦ + θhkl ) = −Q2 /2 ⇒ 2dhkl senθhkl = λ


⃗k · Q
hkl hkl
λ
uma vez que Qhkl = 2π/dhkl .

···

Ex. 9.2: Variando o ângulo de incidência de um feixe colimado de raios X monocromático


num pequeno cristal, nós hkl da rede recíproca tocam a esfera de espalhamento gerando feixes
difratados.3 (a) Qual a intensidade espalhada durante a trajetória de um único nó através da
3
Nó ou ponto da rede recíproca.

185
Figura 9.2: Geometria 3D da excitação de um nó hkl da rede recíproca. A intensidade difratada
advém da área de interseção entre a superfície da esfera de espalhamento (Ewald) e a função
de volume do nó recíproco, |W (∆Q)|
⃗ 2 , representada por uma isosuperfície. [exintint.m]

superfície da esfera de espalhamento? (b) Qual a área sob a curva da intensidade espalhada?

Resp. (a): Embora a distribuição de intensidade no espaço recíproco de um cristal seja descrita
⃗ eq. (8.14), a intensidade mensurável advém da área de inter-
ponto-a-ponto pela função I(Q),

seção da superfície da esfera de espalhamento com a função |W (∆Q)|


⃗ 2 responsável pelo volume

dos nós hkl, e.g. Fig. 9.2.


Definindo um sistema de coordenadas xyz tal que o plano de incidência seja o plano xz e
⃗ hkl = Qhkl [0, 0, 1] o vetor da rede recíproca de um determinado nó, então
Q

⃗k = k[cos θ, 0, −senθ] e ⃗k ′ = kŝ′ = k[cos θ′ , senθ′ senφ′ , senθ′ cos φ′ ] ,

são os possíveis vetores de onda incidente e espalhado, respectivamente. Num dado ângulo de
incidência θ, o conjunto de vetores recíprocos

⃗ = ⃗k ′ − ⃗k = k[cos θ′ − cos θ, senθ′ senφ′ , senθ′ cos φ′ + senθ] ,


Q (9.2)

terminam sobre a superfície da esfera de espalhamento, satisfazendo portanto a condição de

186

espalhamento elástico. A intensidade espalhada pelo nó hkl corresponde a integral de Ihkl (Q),
eq. (8.15), sobre a esfera de espalhamento, i.e.,

∫ ∫ 2π ∫ π
I(θ) = ⃗ dΩ′ = IT h 1 |Fhkl |2
Ihkl (Q) |W (Q ⃗ hkl )|2 senθ′ dθ′ dφ′ .
⃗ −Q (9.3)
2
Vcel 0 0

⃗ 2 é uma função localizada, cujo máximo ocorre quando θ e θ′ são iguais ao


Em geral, |W (∆Q)|
ângulo de Bragg e φ′ = 0. Os intervalos de integração em θ′ e φ′ são assim limitados a um
⃗ hkl toca a esfera de espalhamento durante a
pequeno ângulo sólido próximo do ponto onde Q
varredura θ. As dimensões da rede cristalina difratante determinam o quão limitado são os
intervalos de integração, quanto menor as dimensões da rede, maiores os intervalos a serem

considerados. Num sistema de detetor aberto onde toda radiação difratada por um nó é con-
⃗ ′ )|2 ⟩ , e a eq. (9.3) permite soluções numéricas exatas —dentro
tabilizada, IT h → Ie = Φ re2 ⟨|P(ŝ

da aproximação cinemática— qualquer que seja a forma do cristal. Exemplos de varreduras θ

gerando curvas de intensidade com diferentes perfis e mesma área são mostrados na Fig. 9.3.

Resp. (b): Ao cruzar a superfície da esfera todo o volume de um nó recíproco terá difratado,

de modo que a área

∫ ∫∫∫
1 ⃗ hkl )|2 senθ′ dθ′ dφ′ dθ ,
Ahkl = ∆t I(θ) dθ = ∆t Ie 2 |Fhkl |2 |W (Q
⃗ −Q (9.4)
Vcel

sob a curva de difração será proporcional ao tempo ∆t de contagem da radiação em cada posição
θ, assim como à integral de volume da função |W (∆Q)|
⃗ 2 . Sabendo que,4


|W (∆Q)|
⃗ 2 dVQ = (2π)3 V , (9.5)

fica faltando encontrar apenas o elemento de volume dVQ em termos das variáveis θ′ , φ′ e θ.
Seguindo o mesmo procedimento usado para encontrar elementos de volume em coordenas não
4
Ver ex. 8.9 ou propriedades da função Ω(⃗u), Nota 7.1.

187
Figura 9.3: Curvas simuladas de varredura θ da reflexão 224 num cristal de GaSb (001) em
geometrias de incidência rasante (——) e saída rasante (——), ver Nota 9.2. Diferenças nos
perfis advém da orientação relativa entre nó recíproco e esfera de espalhamento (inserções).
Parâmetros da simulação: cristal com espessura de 0, 5 µm e área de 4 µm2 , λ = 1, 540562 Å e
estatística de 5 × 105 fótons (círculos). [rockingcurve.m]

cartesianas —tal como no caso de coordenadas cilíndricas e esféricas5 —, tem-se que


( )
∂Q ⃗
⃗ ⃗
∂Q ∂Q
dVQ = · × ′ dθ′ dφ′ dθ = k 3 [cos θ′ senθ + cos θ senθ′ cos φ′ ]senθ′ dθ′ dφ′ dθ .
∂θ ∂φ ′ ∂θ



As derivadas parciais seguem diretamente da eq. (9.2): ∂ Q/∂θ = k[−senθ′ , cos θ′ senφ′ , cos θ′ cos φ′ ],


∂ Q/∂φ = k senθ′ [0, cos φ′ , −senφ′ ] e ∂ Q/∂θ
⃗ = k[senθ, 0, cos θ]. Como os intervalos angulares
são localizados em torno de θ′ ≃ θ e φ′ ≃ 0,

dVQ
senθ′ dθ′ dφ′ dθ = .
k 3 sen2θ
5
Consulte matriz Jacobiana, e.g. ref. [2], ou ref. [51], pp. 107.

188
Substituindo este resultado, juntamente com a eq. (9.5), na eq. (9.4), obtém-se

N λ3
Ahkl = Ie |Fhkl |2 ∆t . (9.6)
sen2θhkl Vcel

···

A intensidade integrada da curva de varredura, eq. (9.6), é uma quantidade experimental-


mente mensurável. Num cristal com N células unitárias, o valor da intensidade integrada muda
de uma reflexão para outra apenas com o fator de estrutura e com o ângulo de espalhamento.6

Portanto, independente da forma do cristal —desde que todo o volume do nó recíproco cruze a

esfera de espalhamento durante a curva de varredura—, a intensidade integrada permite atribuir


valores relativos aos |Fhkl |2 das várias reflexões de um cristal. Fato que dá origem a métodos

de análise estrutural, tais como a difratometria de monocristais com feixe monocromático e a

difratometria de policristais, ambas capazes de resolver coordenadas fracionárias, §8.1.2.

Nota 9.2: Solução numérica da eq. (9.3) na simulação de curvas de varredura θ em cristais
finos. Sendo o formato do cristal retangular, dimensões L × L × T onde L ≫ T ,

1 1 sen2 (∆Q′z T /2)


|W (∆Q)|
⃗ 2 ≃V2 ,
1 + (∆Q′x L/2)2 1 + (∆Qy L/2)2 (∆Q′z T /2)2

ver ex. (8.7). Quando a direção normal da face maior do cristal está contida no plano de
⃗ hkl paralelo ao eixo z,
incidência xz, fazendo um ângulo θn como o vetor de difração Q
( ) ( )( )
∆Q′x cos θn −senθn ∆Qx
= .
∆Q′z senθn cos θn ∆Qz

Da eq. (9.2), ∆Qx = k(cos θ′ − cos θ), ∆Qy = k senθ′ φ′ e ∆Qz = k(senθ′ + senθ) − Qhkl ; pelo
fato da dimensão L do cristal ao longo do eixo y ser grande, o ângulo φ′ é muito pequeno
de modo que senφ′ → φ′ e cos φ′ → 1. Com isso a integral em φ′ na eq. (9.3) vale Lλ/senθ′ ,
e ∫ θ+ζ
2 λ 1 sen2 (∆Q′z T /2) ′
I(θ) = Ie N |Fhkl |
2
dθ ,
L θ−ζ 1 + (∆Q′x L/2)2 (∆Q′z T /2)2
é obtida pela solução numérica da integral em θ′ no intervalo de largura 2ζ em torno do
ângulo θ. As curvas na Fig. 9.3 foram obtidas para θn = ±32, 26◦ e ζ = 80λ/T cos θ.

6
Ângulo 2θhkl tanto no fator de polarização, implícito no termo Ie , como no fator geométrico 1/sen2θhkl ,
também chamado de fator de Lorentz [1, 17].

189
9.2 Difratometria de policristais

A fácil identificação das substâncias químicas presentes numa amostra sólida constituída de
pequenos grãos cristalinos (cristalitos) é uma das mais importantes aplicações da difratometria
de policristais. Ao se incidir um feixe de raios X sobre uma amostra policristalina, ocorrerá
difração nos cristalitos com orientações espaciais adequadas para satisfazer a lei de Bragg.
Sendo o feixe colimado e monocromático, i.e. de baixa divergência angular e com pequena
largura espectral, o simples registro dos ângulos de espalhamento 2θ das intensidades difratadas
permite determinar as distâncias interplanares d = λ/2senθ, eq. (8.9), das substancias presentes

na amostra. Como cada substância química tem um conjunto característico de distâncias

interplanares, identificar quais substâncias estão ali presentes é possível, exceto quando existem
muitas substâncias diferentes numa mesma amostra.
Catálogos digitais das substâncias e das respectivas distâncias interplanares são disponíveis

comercialmente, tanto em aquisições avulsas como em pacotes de programas de computador que

acompanham diversos modelos de difratômetros existentes no mercado. Laboratórios acadêmi-

cos que trabalham com difração de raios X, como por exemplo o Laboratório de Cristalografia

do Instituto de Física da Universidade de São Paulo, em geral dispõem desses catálogos que po-
dem ser consultados, a princípio, por qualquer pessoa interessada. Alternativamente, arquivos

das informações cristalográficas (crystallographic information file - CIF) de muitas substâncias


catalogadas são acessíveis através da internet [25]. Embora, valores de distâncias interplanares

e fatores de estrutura não estejam listados nos CIFs, eles podem ser calculados a partir das
informações cristalográficas, tal como implementado nas rotinas bragg.m, sfactor.m e diffrac-
tion.m.

9.2.1 Intensidades relativas em amostras policristalinas

Refinar informações cristalográficas de novos materiais ou estudar mudanças estruturais nas


substâncias submetidas a condições adversas, por exemplo, de temperatura e pressão, são outras
aplicações da difratometria de policristais. Em muitos casos é necessário registrar, além dos
ângulos 2θ, os valores relativos das intensidades difratadas, os quais, em última instância,

190
determinarão as coordenadas fracionárias dos átomos na célula unitária. Contudo, acurácia na
resolução da estrutura implica em estabelecer correlações, livres de efeitos instrumentais, entre
medidas de intensidade e fatores de estrutura.
Amostras onde os cristalitos têm distribuições de orientações perfeitamente aleatórias facilita
enormemente a solução das estruturas com alta resolução. A preparação das amostras requer
certos cuidados para evitar texturização, ou seja, a indução de orientações preferenciais. Coletar
dados de intensidade com a amostra em rotação é um recurso comumente empregado para
minimizar efeitos de textura. Um segundo requisito é a constância do número de cristalitos

dentro do volume difratante. Dependendo da particular geometria de difração empregada


e da forma da amostra, o número efetivo de cristalitos pode variar em função dos ângulos

instrumentais, causando variação sistemática, passível de correção, das intensidades difratadas.7

Na mais simples situação, amostras sem texturas onde o número Nc de cristalitos é o mesmo

para todas as reflexões, os valores relativos dos fatores de estrutura, ou melhor dizendo, o
histograma de |Fhkl |2 , e.g. Fig. 8.8, é obtido a partir dos dados experimentais das intensidades

difratadas conforme tratamento descrito a seguir.

Fatores geométricos

⃗ qualquer vetor da rede recíproca do cristal cuja estrutura se deseja analisar. Numa
Seja Q

amostra policristalina deste material, constituída de milhares de cristalitos orientados aleato-


⃗ estão uniformemente distribuídos sobre a superfície de uma esfera de
riamente, os vetores Q

raio Q. Portanto, dNc /Nc = (4π)−1 dΩQ corresponde à fração de cristalitos com o vetor Q

orientado dentro do elemento de ângulo sólido dΩQ = senα dα dφ. Ao jogarmos um feixe de
raios X monocromático de baixa divergência na amostra, a esfera de espalhamento intercepta
a esfera de raio Q centrada na origem do espaço recíproco, definindo um anel de área lateral
dS = 2πQ2 senα dα e raio k sen2θ onde Q = 2k senθ, tal como ilustrado na Fig. 9.4. A fração
de cristalitos em condição de difração é assim dada pela razão das áreas do anel e da esfera
de raio Q, ou seja, dNc /Nc = dS/4πQ2 = 1
2
cos θ dθ onde θ = α − 90◦ [13]. A largura dθ está
7
Para detalhes sobre geometrias de difração e efeitos instrumentais nas intensidades difratadas por amostra
policristalinas consulte ref. [38], ch. 2.3, pp.42-79.

191
Figura 9.4: Espaço recíproco da difração de raios X em amostras policristalinas. Cada vetor
⃗ da rede recíproca é representado por uma esfera de raio Q, cuja interseção com a esfera de
Q
espalhamento define um anel de raio k sen2θ e área lateral dS = 2πQ2 senα dα como o locus
de todos os vetores recíprocos de módulo Q em condição de difratar o feixe incidente, ⃗k. A
aceitação axial ∆φ do detetor restringe as medidas de intensidade aos feixes difratados com ⃗k ′
dentro da fração ∆φ/2πsen2θ do anel.

associada à divergência angular e largura espectral do feixe incidente.

Medidas de intensidade são em geral limitadas pela aceitação axial —perpendicular ao plano
de incidência instrumental— do sistema de detecção. Apenas a parte do anel de interseção

espalhando dentro da aceitação axial ∆φ do detetor contribui nas medidas de intensidade,

Fig. 9.4. O valor ∆φ é o mesmo para todas as reflexões, mas como o raio do anel muda, a
redução relativa ∆φ/2π sen2θ na fração de cristalitos difratantes também precisa ser levada em
conta, ou seja,
dNc cos θ dθ ∆φ dθ ∆φ
= = (9.7)
Nc 4π sen2θ 8π senθ

é a fração efetiva de cristalitos responsável pelos valores medidos das intensidade difratadas.8
8
Veja também ref. [1], pp. 157.

192
Área e perfil de linha dos picos de difração

A radiação espalhada num determinado ângulo 2θ agrega contribuições de cristalitos com di-
versas orientações, equivalendo à varredura de um único cristalito através da esfera de espa-
lhamento, e.g. Fig. 9.3. A integração da intensidade espalhada em função de 2θ corresponde
a uma medida de intensidade com detetor aberto, implicando que os picos de difração em
amostras policristalinas têm áreas proporcionais às áreas das curvas de varredura de um cristal-
ito, eq. (9.6). Assim, multiplicando a eq. (9.6) pela fração efetiva de cristalitos contribuindo
em cada reflexão, eq. (9.7), tem-se

( )
∑ Nc ⟨N ⟩λ3
Ahkl = Ie |Fhkl |2n dθ ∆φ ∆t (9.8)
n
8π senθ sen2θ Vcel

como sendo a expressão da intensidade integrada das reflexões em policristais. A somatória

de índice n corre pelos fatores de estrutura das reflexões com mesma distância interatômica

dhkl , as quais difratam simultaneamente em torno da condição θ ≃ θhkl . Atente para o fato

de que em alguns cristais, os fatores de estrutura na somatória podem ter valores ligeiramente
diferentes entre si devido aos termos de ressonância atômica, cf. tabela de |Fhkl | na Nota 8.2.
Havendo variações de tamanhos entre os Nc cristalitos da amostra, os valores relativos dos

fatores de estrutura ainda são acessíveis desde que, o número médio ⟨N ⟩ de células unitárias por
cristalito seja constante durante o experimento. Dentro do limite cinemático, tamanho e forma
dos cristalitos pouco importam para a solução da estrutura, exceto quando muito pequenos
ou de baixa cristalinidade a ponto de comprometer a resolução dos picos de difração. Medidas
precisas de posição e área dos picos são obtidas por métodos de ajuste de curvas. As formas das
curvas —gaussiana, lorentziana, pseudo-voigt, ...etc— são aquelas que melhores se ajustarem
aos perfis dos picos experimentais. Contudo, estimar tamanho de cristalito interessa a vários
estudos.

A largura intrínseca dos picos de difração está associada ao valor médio do volume dos
nós recíprocos, ⟨|W (∆Q)|
⃗ 2 ⟩, calculado sobre as distribuições de tamanhos e orientações. Como
⃗ nada mais é que a TF da forma dos cristalitos, o resultado é análogo ao obtido para
W (∆Q)

193
o espalhamento a baixo ângulo de um sistema disperso com distribuição de tamanhos, §5.3.4.
Embora as intensidades a altos ângulos sejam ordens de grandeza menores que o espalhamento
a baixo ângulo, a largura dos picos de difração é também definida dentro de um intervalo
em torno do máximo onde a aproximação de Guinier é satisfatória. Isso permite derivar uma
relação entre largura dos picos e tamanho de cristalito a partir da função perfil de linha

L(∆Q) ≃ V −2 lim ⟨|W (∆Q)|


⃗ 2 ⟩ = e− 31 (∆Q)2 Rg2 , (9.9)
∆Q→0

normalizada pela altura. ∆Q = |Q


⃗ −Q
⃗ hkl | e Rg é o raio de giro ponderado dos cristalitos, tal

como definido na eq. (5.17) para partículas de densidade uniforme com dispersão de tamanhos.

Da condição L(∆Q1/2 ) = 1/2, obtém-se a largura cheia a meia altura (FWHM, full width at
half maximum) no espaço recíproco,


βQ = 2∆Q1/2 = 2 3 ln(2) /Rg = 2, 884/Rg . (9.10)

No espaço real, i.e. em função do ângulo de espalhamento 2θ, a FWHM

βQ 0, 46λ
β2θ = = , (9.11)
(2π/λ) cos θ cos θ Rg

segue da relação Q = (4π/λ) senθ.

Numa situação onde o valor de Rg se mantém constante para qualquer reflexão, todos os
picos de difração têm uma mesma largura βQ no espaço recíproco. Mas, no espaço real, os

picos alargam com o aumento do ângulo de espalhamento, refletindo a dependência da FWHM


angular, β2θ , com o termo 1/ cos θ. No caso de cristalitos cúbicos de aresta L, raio de giro
Rg = L/2, a eq. (9.11) fornece β2θ = 0, 92λ/L cos θ, praticamente o mesmo resultado da popular
equação de Scherrer usada para estimar tamanho de cristalito na difração de pó [42, 51].

···

194
Figura 9.5: Difratograma do silício policristalino simulado sobre filme na geometria da câ-
mara de Debye-Scherrer. IP DDF (Q) para cristalitos esféricos, diâmetros de 200 Å, desordem de
2%. Imagem formada por 5 × 106 fótons de 12,4 keV (λ = 1 Å), polarização σ. Filme de raio
D = 100 mm, largura L = 40 mm e pixel de 1 mm2 . [siliconnano.m, siliconpdq.m, siliconcamer-
adebye.m]

Ex. 9.3: Amostras padrão de silício policristalino são utilizadas na calibração das larguras

instrumentais de muitos difratômetros. (a) Simule o difratograma do silício a partir da função

distribuição de distâncias entre pares (PDDF), eq. (6.10), de um cristalito com dimensões acima
de 10 nm.9 As intensidades integradas são compatíveis com os valores esperados de acordo com

a eq. (9.8)? [Obs.: desprezar efeitos de absorção.] (b) Com auxílio de uma função pseudo-Voigt,

compare os perfis de linha de cristalitos esféricos e cúbicos de mesmo volume. Os raios de giro
obtidos pelo ajuste de curvas estão de acordo com o previsto pela eq. (9.10)?
∑ ∑
Resp. (a): Calculada a PDDF 4πp(u) = a,b fa fb∗ δ(u − rab ) = |fSi (Q)|2 a,b δ(u − rab ),

ou seja, o histograma das distâncias interatômicas rab (rotina siliconnano.m), a intensidade


IP DDF (Q) = IT h Nc P (Q) é obtida em função do poder de espalhamento do cristalito P (Q) =
∫ senQu
4π p(u) du (rotina siliconpdq.m). O padrão das intensidades, ou difratograma, sobre
Qu
um filme para raios X é mostrado na Fig. 9.5.
Em função dos fatores de estrutura, o padrão das intensidades é estimado como

IXRD (Q) = KA(Q) ∗ L(Q)


9
Adaptação da rotina goldnano.m usada no ex. 6.3. Geometria de espalhamento sobre filme, similar Fig. 3.4.

195
Figura 9.6: Difratogramas do silício policristalino simulados a partir de abordagem distintas:
PDDF dos cristalitos, IP DDF (Q) (círculos), e intensidades integradas, IXRD (Q) (linha). Cristal-
itos esféricos com diâmetros de 200
∑ Å. Comprimento de onda λ = 1 Å. Inserção: histograma
dos fatores de estrutura, F(Q) = hkl |Fhkl | δ(Q − Qhkl ). [diffractogram.m, siliconxrdpattern.m]
2

onde K agrupa os termos constantes num dado experimento e

∑ |Fhkl |2
−1
A(Q) = Qhkl δ(Q − Qhkl )
hkl
sen2θhkl

leva em conta as variações relativas das intensidades integradas no caso da polarização σ onde

Ie independe do ângulo de espalhamento; eq. (9.8) com λ/4π senθ substituído por Q−1
hkl . A

somatória hkl corre por todos os nós da rede recíproca, com índices positivos e negativos.
Quando a largura βQ dos picos de difração independe do vetor recíproco Q, e.g. eq. (9.10), uma
mesma função perfil de linha, normalizada pela área, poder ser usada para todos os picos, tal
como a função pseudo-Voigt

1 2 w
e−Q
2 /2σ 2
L(Q) = x √ + (1 − x) . (9.12)
σ 2π π 4Q + w2
2

196
Figura 9.7: Perfis do pico de difração em Q = 3, 27 Å−1 gerados pela PDDF (círculos) e perfis
ajustados (linhas) pela eq. (9.12): (a) cristalito esférico com diâmetro de 200 Å e parâmetros
de ajuste Rg = 82 Å e x = 0, 8; (b) cristalito cúbico de aresta 160 Å e parâmetros de ajuste
Rg = 88 Å e x = 0, 55. Valores dos mínimos quadrados, χ2 , são mostrados ao lado de cada
curva. [siliconpeakfit.m]

Ambas as partes, gaussiana (x = 1) e lorentziana (x = 0), que compõem a função têm largura βQ

uma vez que, w = βQ e σ = βQ /2 2 ln 2 . Como se verifica na Fig. 9.6, o padrão das intensidades

IXRD (Q) calculado com 8π 2 ηa2 = 0, 35 Å2 [fator de Debye-Waller, eq. (8.25)], reproduz muito

bem o padrão IP DDF (Q), divergindo apenas na região final próxima a 2θ = 180◦ .

Resp. (b): Cristalitos cúbicos de aresta L e esféricos de diâmetro D terão mesmo volume

quando L = D 3 π/6 ≃ 0, 8D. Os perfis de um pico de difração, gerados a partir da PDDF,

para cristalitos com D = 200 Å (Rg = 77, 5 Å) e L = 160 Å (Rg = 80, 0 Å), são mostrados na
Fig. 9.7. Os ajustes dos picos pela função L(Q), eq. (9.12), fornece Rg = 82 Å e Rg = 88 Å para
os cristalitos esférico e cúbico, respectivamente. As discrepâncias dos valores são consequências
da aproximação na eq. (9.9).

Ex. 9.4: A geometria de feixe refletido, também conhecida como geometria de Bragg-
Brentano, é bastante utilizada na difratometria de policristais. As amostras em pó são acondi-
cionadas na forma de pastilhas com espessura T e áreas superficiais extensas, bem maiores que

197
a seção transversal S0 do feixe incidente. As direções de incidência e espalhamento fazem um
ângulo θ com a superfície da amostra. (a) Qual o efeito combinado que a atenuação linear
e a variação da área iluminada tem nas intensidades relativas? (b) Numa amostra de silício
policristalino preparada com uma compactação de 60%, estime a espessura mínima para que
esse efeito combinado independa do ângulo θ.

Resp. (a): Um fóton de raio X incidindo num ângulo θ é difratado por um cristalito na
profundidade de penetração z. O caminho linear percorrido da superfície até no cristalito vale
z/senθ, e é igual ao caminho de volta, do cristalino até na superfície. Sendo µ o coeficiente

de atenuação linear da amostra, e−2µz/senθ é a probabilidade do fóton chegar ao detetor. A


redução na intensidade considerando todas as profundidades dentro da espessura da amostra
corresponde a soma das probabilidades, implicando numa espessura efetiva

∫ T
′ senθ
T (θ) = e−2µz/senθ dz = [1 − e−2µT /senθ ] < T para µ > 0 .
0 2µ

Como S0 /senθ é a área iluminada pelo feixe de raios X na superfície da amostra,

S0 ′ S0
V ′ (θ) = T (θ) = [1 − e−2µT /senθ ] (9.13)
senθ 2µ

é o volume difratante efetivo. A variação do volume efetivo com o ângulo θ significa que o

número de cristalitos contribuindo nas intensidades difratadas em diferentes ângulos vária, mas
esta variação pode ser descartada em amostras espessas onde e−2µT ≪ 1.

Resp. (b): Nas amostras em pó, o coeficiente de atenuação linear µ = c µcristal , depende do fator
de compactação c, igual à razão das densidades volumétricas da amostra e do material no estado
cristalino [13]. No silício cristalino, tem-se 8 átomos por célula unitária cúbica de aresta a =
5, 4309 Å e portanto, µSi = 8σ(E)/a3 onde a seção-de-choque total σ(E) depende da energia da
radiação, eq. (4.3).10 Considerando as correções nas intensidades relativas despresíveis quando
menores que 1%, a eq. (9.13) requer 2µT > ln(100) = 4, 6. Para a radiação característica Kα1
do cobre (E = 8048 eV, λ = 1, 540562 Å), µSi = 14, 5 mm−1 e µ = 0, 6µSi = 8, 72 mm−1 , o que
10
Rotinas fpfpp.m, sgrayleigh.m e sgcompton.m

198
leva a T > 0, 26 mm. Aumentando a energia da radiação a espessura mínima também aumenta.
Por exemplo, E = 12398, 5 eV (λ = 1 Å), requer T > 0, 935 mm.

···

9.3 Difratometria de monocristais

Medir um grande número de reflexões isoladas é a principal vantagem da difratometria de


monocristais, algo inviável em amostras policristalinas. Através da difração cinemática em
monocristais é possível atribuir valores relativos às amplitudes dos fatores de estrutura indivi-

dualmente, sem que haja superposições dos valores cujas reflexões têm distâncias interplanares

iguais ou muito próximas, ou seja, obtém-se |Fhkl |2 de cada reflexão hkl ao invés da soma dos

módulos quadrados, hkl |Fhkl |2 δ(Q − Qhkl ) ou como dado na eq. (9.8).
As condições experimentais apropriadas para a difratometria de monocristais são aquelas

que permitem registrar intensidades difratadas por cristais idealmente pequenos onde a aprox-

imação cinemática é válida para todas as reflexões e os efeitos de atenuação linear desprezíveis.

A factibilidade em atender tais condições depende, majoritariamente, da fonte de radiação.

9.3.1 Com radiação monocromática

A radiação característica —espectro discreto produzido por freamento de elétrons em alvos

metálicos, princípio empregado na geração de raios X por fontes compactas como tubos, âno-
dos rotativos e microfocos— tem sido a responsável pelo desenvolvimento da difratometria de
monocristais com radiação monocromática. Ao custo de poucas centenas de milhares de dólares,
grupos de pesquisa podem ter a disposição um equipamento apto à determinação estrutural
de monocristais. Esses equipamentos são dotados de sistema goniométrico de boa precisão
e estabilidade mecânica capaz orientar espacialmente a rede tridimensional de um cristal e
rotacioná-lo de modo a excitar um grande número de reflexões.

Embora existam variações, a goniometria com plano de incidência fixo é uma das mais co-
muns. Eficiente para cristais de baixa complexidade estrutural, ela consiste em três eixos de

199
Figura 9.8: Goniometria de monocristais ilustrando rotações básicas para se observar uma re-
flexão hkl cujo nó recíproco está inicialmente numa posição arbitrária do espaço tridimensional
(posição 1): i) rotação de θz em torno do eixo z, paralelo ao vetor de onda incidente ⃗k, posi-
ciona o nó no plano de incidência xz (posição 2); ii) rotação de θy , em torno do eixo y, coloca
o nó na condição de difração (posição 3); iii) detetor posicionado para monitorar a intensidade
difratada em torno do vetor de onda ⃗k ′ = Q⃗ hkl + ⃗k.

rotação para movimentar a amostra e um eixo para posicionar o contador de fótons (detetor de
cintilação unidimensional). A partir da identificação manual de poucas reflexões independentes,

a matriz de orientação da amostra é estabelecida e qualquer reflexão, dentro dos limites mecâni-
cos de cada equipamento, pode então ser observada. Escolhida uma reflexão, o procedimento
sistemático é colocar o vetor de difração no plano de incidência e girá-lo nesse plano até que
a condição de difração seja satisfeita, e.g. Fig. 9.8. Com o detetor posicionado no ângulo de
espalhamento da reflexão, coleta-se a intensidade difratada durante a varredura do nó recíproco
através da esfera de espalhamento. Tal medida corresponde à intensidade integrada definida
na eq. (9.6). Normalizada pelo tempo de contagem da radiação, a medida fornece a potência
da reflexão
N λ3
Phkl = Ie |Fhkl |2 , (9.14)
sen2θhkl Vcel

200
Figura 9.9: Vetores de onda ⃗k e ⃗k ′ em coordenadas esféricas, ω, ϕ, ω ′ e ϕ′ , definidas com relação
ao eixo ê3 da rotação ϕ do cristal e de uma direção de referência arbitrária, ê1 .

a qual também é chamada de intensidade integrada por razões históricas.

No caso de cristais com maior complexidade estrutural, tais como cristais de proteínas, a

goniometria com contador unidimensional de fótons é pouco eficiente diante do grande número
de reflexões a serem medidas. O método do cristal rotativo coleta as intensidades difratadas

sobre filme, ou detetor de área tipo CCD11 , durante a rotação do cristal em torno de um eixo

pré-selecionado, e.g. Fig. 9.12. Além da maior eficiência na coleta das intensidades, o método

difere do anterior pelo fato da maioria das reflexões ocorrem num plano de incidência inclinado
em relação ao eixo de rotação e, portanto, a expressão da potência da reflexão

N λ3
Phkl = Ie |Fhkl |2 , (9.15)
cos ω cos ω ′ |sen(ϕ′ − ϕ)| Vcel

ver dedução na Nota 9.3, é diferente daquela na eq. (9.14). Os ângulos nesta expressão são
definidos em relação ao eixo de rotação, Fig. 9.9. Na particular situação do plano de incidência
ser perpendicular ao eixo de rotação, ω = ω ′ = 0 e ϕ′ − ϕ = 2θhkl , o que resulta na eq. (9.14).

Os valores das muitas intensidades coletadas automaticamente, quer seja com detetor unidi-
mensional ou detetor de área, consiste no conjunto de dados experimentais disponíveis para se
11
Dispositivo de Carga Acoplada ou CCD (charge-coupled device).

201
desvendar as coordenadas fracionárias dos átomos na célula unitária. Modelamento estrutural,
viável para estruturas simples, e mapas da densidade eletrônica são os métodos utilizados para
se resolver a estrutura de um cristal [17].

Nota 9.3: Intensidade integrada, método do cristal rotativo [51]. Sejam

⃗k = k[cos ω cos ϕ, cos ω senϕ, senω] e ⃗k ′ = k[cos ω ′ cos ϕ′ , cos ω ′ senϕ′ , senω ′ ]

os vetores de onda incidente e difratado, respectivamente, descritos em coordenadas esféri-


cas com relação ao eixo de rotação ϕ, Fig. 9.9. Seguindo procedimento análogo ao utilizado
no ex. 9.2(b), a área sob a curva da intensidade em função do ângulo de rotação é
∫ ∫∫∫
1 ⃗ hkl )|2 cos ω ′ dω ′ dϕ′ dϕ ,
Ahkl = ∆t I(ϕ) dϕ = ∆t Ie 2 |Fhkl | 2
|W (Q
⃗ −Q
Vcel

cujo elemento de volume é calculado pela Jacobiana da transformação: Q ⃗ = ⃗k ′ − ⃗k e


( )
∂Q
⃗ ⃗ ⃗
∂ Q ∂ Q
dVQ = · × dω ′ dϕ′ dϕ = k 3 cos ω cos ω ′ |sen(ϕ′ − ϕ)| cos ω ′ dω ′ dϕ′ dϕ ,
∂ϕ ∂ϕ′ ∂ω ′

ou seja, cos ω ′ dω ′ dϕ′ dϕ = dVQ /k 3 cos ω cos ω ′ |sen(ϕ′ − ϕ)|, resultando em

N λ3
Ahkl = Ie |Fhkl |2 ∆t .
cos ω cos ω ′ |sen(ϕ′ − ϕ)| Vcel

Da condição de Bragg, ŝ · ŝ′ = cos 2θhkl = cos ω cos ω ′ cos(ϕ′ − ϕ) + senω senω ′ .

···

Ex. 9.5: Goniômetros de monocristais orientam espacialmente os vetores de difração da


amostra a partir da matriz de orientação. (a) Escolhidas duas direções cristalográficas A =
[A1 A2 A3 ] e B = [B1 B2 B3 ],12 encontre a matriz de orientação e os vetores base da rede cristalina,
i.e. os vetores arestas ⃗a, ⃗b e ⃗c, num sistema de coordenadas xyz onde a direção A coincide com
o eixo z e a direção B esteja contida no plano xz. (b) Numa rede monoclínica, α = γ = 90◦ e
β ̸= 90◦ , qual a matriz de orientação para as direções A = [100] e B = [010]? (c) Sendo ⃗k = kẑ
12
Símbolo de igualdade usado apenas para associar letra/rótulo a uma direção cristalográfica, cujos índices
são dados entre colchetes.

202
Figura 9.10: Célula unitária monoclínica orientada no sistema de coordenadas xyz do lab-
oratório. (a) Rotações nulas, matriz de orientação definida com a direção A = [100] par-
alela ao feixe de raios X incidente e a direção B = [010] contida no plano de incidência
xz. (b,c) Vetor recíproco Q ⃗ 002 em condição de difração, rotações (b) RY (θ002 ) RZ (−90◦ ) e
(c) RY (90◦ + θ002 ) RX (90◦ ). Parâmetros de rede: a = 9, 462 Å, b = 8, 392 Å, c = 5, 221 Å,
α = γ = 90◦ e β = 110, 18◦ . λ = 1, 540562 Å e θ002 = 18, 3227◦ . Vetores A,
⃗ B ⃗ eQ ⃗ indicados
por setas com comprimentos arbitrários. [orientcryst.m]

o vetor de onda incidente, quais as rotações necessárias para a reflexão 002 difratar no plano

de incidência xz?

⃗ = A1⃗a + A2⃗b + A3⃗c e B


Resp. (a): As direções A e B correspondem aos vetores A ⃗ = B1⃗a +

B2⃗b + B3⃗c. Os vetores arestas, em notação matricial ⃗a = [a1 , a2 , a3 ] = [ai ], ⃗b = [bi ] e ⃗c = [ci ],

são definidos arbitrariamente desde que mantida a geometria da célula unitária (ver ex. 8.2).
A partir das direções A e B, cria-se a base ortonormal

ê1 = ê2 × ê3 , ⃗ × B/|


ê2 = A ⃗ A ⃗ × B|
⃗ e ê3 = A/|
⃗ A|⃗ . (9.16)

A matriz de orientação M = [eij ] formada pelos coeficientes dos versores êi = [ei1 , ei2 , ei3 ],
projeta os vetores aresta na base ortonormal, i.e. ⃗a = eij aj êi , ⃗b = eij bj êi e ⃗c = eij cj êi .13 Na
ausência de rotações, êi = [δij ] onde δij = 1 (ou 0) se i = j (ou i ̸= j) e as componentes dos
vetores arestas, em notação de matriz linha, ficam representadas por ⃗a = [e1j aj , e2j aj , e3j aj ] =
[eij aj ], ⃗b = [eij bj ] e ⃗c = [eij cj ].
13
∑3
Convenção de Einstein para soma, por exemplo ⃗a = eij aj êi = i,j=1 eij aj êi = (e11 a1 + e12 a2 + e13 a3 )ê1 +
(e21 a1 + e22 a2 + e23 a3 )ê2 + (e31 a1 + e32 a2 + e33 a3 )ê3 = (⃗a · ê1 )ê1 + (⃗a · ê2 )ê2 + (⃗a · ê3 )ê3 .

203
Resp. (b): Partindo da base arbitrária ⃗a = a[senβ, 0, cos β], ⃗b = b[0, 1, 0] e ⃗c = c[0, 0, 1]
⃗ = ⃗b implicam em,
⃗ = ⃗a e B
(ex. 8.2). A

 
0 1 0
M =  − cos β 0 senβ  ,
senβ 0 cos β
resultando na nova base ⃗a = a[0, 0, 1], ⃗b = b[1, 0, 0] e ⃗c = c[0, senβ, cos β] onde ⃗a (direção A) ∥
ẑ e ⃗b (direção B) ∈ xz, Fig. 9.10(a).

Resp. (c): Sejam RX (θx ), RY (θy ), e RZ (θz ) as operações de rotação da amostra, cujos senti-
dos seguem a regra da “mão direita”. Reorientando a base ortonormal pela matriz R = [Rij ],
êi = [Rij ], e substituindo no resultado do item (a), tem-se ⃗a = [eij aj Rik ], ⃗b = [eij bj Rik ] e
⃗ 002 = 2⃗c ∗ = ( 4π )[0, 1, 0] são as coordenadas inici-
⃗c = [eij cj Rik ]. Com rotações nulas, Q c senβ

ais do vetor de difração. Colocá-lo no plano xz requer uma rotação de −90◦ em torno do

eixo z, seguida de uma rotação de θ002 em torno do eixo y para chegar na exata condição de
⃗ 002 = ( 4π )[cos θ002 , 0, −senθ002 ], gerando o feixe difratado ⃗k ′ = Q
difração. Assim, Q ⃗ 002 + ⃗k =
c senβ

k[sen2θ002 , 0, cos 2θ002 ] no plano xz. A matriz de rotações é

 
0 cos θ002 senθ002
R = RY (θ002 ) RZ (−90◦ ) =  −1 0 0  ,
0 −senθ002 cos θ002
Fig. 9.10(b). Alternativamente, rotações RY (90◦ + θ002 ) RX (90◦ ) também colocam o vetor Q
⃗ 002

na condição de difração, Fig. 9.10(c).

Ex. 9.6: Método do cristal rotativo. Calcule as coordenadas esféricas dos vetores de onda na
reflexão hkl em função do eixo rotativo pré-selecionado.

Resp.: Eixo rotativo e direção de referência especificados pelas direções cristalográfica A e


B, respectivamente. Na base ortonormal êi , eq. (9.16), ⃗k = k[cos ω cos ϕ, cos ω senϕ, senω] e
⃗k ′ = k[cos ω ′ cos ϕ′ , cos ω ′ senϕ′ , senω ′ ], Fig. 9.9. O ângulo ω é fixo e determinado pelo arranjo

experimental: eixo rotativo posicionado a 90◦ − ω da direção do vetor de onda incidente. O


⃗ da reflexão em questão. Projetando o vetor na base
ângulo ϕ depende do vetor de difração Q

204
hkl αQ ϕQ ω ϕ ω′ ϕ′ |sen(ϕ′ − ϕ)|
204 53,432 -90,000 -18,894 174,045 0,000 199,778 0,434
5,955 340,222 0,434
137 50,613 -18,435 -18,894 232,318 14,056 274,521 0,672
90,812 48,609 0,672
222 75,304 -45,000 -18,894 209,993 -9,318 247,170 0,604
60,007 22,830 0,604
226 51,804 -45,000 -18,894 209,993 9,318 247,170 0,604
60,007 22,830 0,604
040 90,000 0,000 0,000 244,117 0,000 295,883 0,786
115,883 64,117 0,786

Tabela 9.1: Coordenadas esféricas dos vetores ⃗k e ⃗k ′ , Fig. 9.9. Eixo rotativo [001], direção de
referência [010], λ = 1, 480506 Å, rede tetragonal, a = b = 6, 783 Å e c = 18, 288 Å. [rotatcryst.m]

⃗ · êi ] = Q[senαQ cos ϕQ , senαQ senϕQ , cos αQ ], o ângulo ϕ é obtido da


⃗ e = [Q
ortonormal, Q

eq. (9.1),

⃗ e = −kQ senθ ⇒ cos(ϕ − ϕQ ) = cos(∆ϕ) = − senθ + senω cos αQ .


⃗k · Q
cos ω senαQ

Note que, numa rotação completa de 360◦ , o nó recíproco de uma reflexão cruza a esfera de

espalhamento duas vezes, correspondendo às posições ϕ = ϕQ ±∆ϕ. Em cada uma das posições,
⃗k ′ = [k ′ ] = Q
⃗ e + ⃗k. Então, senω ′ = k ′ /k e tan ϕ′ = k ′ /k ′ . Ver exemplos na Tabela 9.1.
i 3 2 1

···

O fluxo de raios X obtido com fontes compactas impõem um limite ao tamanho mínimo
dos cristais a serem estudados. Mesmo utilizando ótica de focalização otimizada para ganho
de fluxo, os cristais precisam ter dimensões acima de várias dezenas de micra para que seja
possível coletar intensidades de um número significante de reflexões. Em cristais com dimensões
superiores a algumas micra, os valores relativos das intensidades experimentais podem divergir
dos valores previstos pela Teoria Cinemática. Correções por atenuação linear do feixe são
factíveis, mas corrigir os dados por efeitos de difração dinâmica é, na prática, inviável. Existem
vários aspectos que tornam o cálculo dinâmico complexo, mas a maior dificuldade reside na falta
de uma abordagem exata para cristais que não sejam perfeitos e nem idealmente imperfeitos

205
[51, 42], ou seja, para cristais reais. Assim, por falta de alternativas viáveis, analisa-se os dados
dentro da aproximação cinemática, eq. (9.14) ou (9.15), tendo ciência de que efeitos dinâmicos
são um fator a mais —além das dificuldades intrínsecas oriundas da ausência de informações
das fases dos fatores de estrutura— comprometendo a resolução das estruturas.

9.3.2 Com radiação policromática

O grande ganho de fluxo proporcionado por fontes síncrotrons certamente permitem cole-
tar intensidades difratadas por cristais muito pequenos. Porém, além do alto fluxo, essas

fontes oferecem um espectro contínuo intenso, o que favorece enormemente a difratometria de

monocristais com radiação policromática onde as reflexões ocorrem simultaneamente e as in-


tensidades integradas obtidas sem a necessidade de rotacionar a amostra. Esta combinação

de facilidades viabilizam experimentos com resolução temporal, disponíveis em alguns lab-


oratórios síncrotrons. Por outro lado, o pífio espectro contínuo das fontes compactas, co-

mumente chamado de Bremsstrahlung, restringem o uso do método, o qual é mundialmente

conhecido como método de Laue [47], a aplicações simples como verificação do estado cristal-

ino de amostras naturais ou sintéticas, identificação das simetrias dos eixos cristalográficos e
experimentos para fins didáticos.

···

Ex. 9.7: Qual a potência difratada por um nó hkl quando experimentos de difração em
monocristais são realizados com radiação policromática e direção de incidência fixa?

Resp.: Cálculo similar ao da intensidade integrada com radiação monocromática, ex. 9.2(b). A
diferença está no fato do volume do nó recíproco ser varrido por infinitas esferas de espalhamento
associadas ao contínuo de comprimentos de onda da radiação incidente. Seja

⃗ = ⃗k ′ − ⃗k = k[cos θ′ − 1, senθ′ senφ′ , senθ′ cos φ′ ]


Q (9.17)

206
o conjunto de vetores recíprocos sobre a esfera de espalhamento de raio k = 2π/λ, passando
pelo máximo do nó hkl.14 θ′ = 2θ é o ângulo de espalhamento em relação à direção [1, 0, 0]
do feixe incidente. Para representar a variação do comprimento de onda, cria-se uma variável
adimensional ϵ, tal que k → (1 + ϵ)k. Então,

∫ ∫ 2π ∫ π
I(ϵ) = ⃗ dΩ′ = IT h 1 |Fhkl |2
Ihkl (Q) |W (Q ⃗ hkl )|2 senθ′ dθ′ dφ′
⃗ −Q
2
Vcel 0 0

é a intensidade espalha no comprimento de onda λ/(1 + ϵ), e a intensidade total difratada


(detetor aberto)

∫ ∫∫∫
1 ⃗ hkl )|2 senθ′ dθ′ dφ′ dϵ ,
Ahkl = ∆t I(ϵ) dϵ = ∆t Ie 2 |Fhkl |2 |W (Q
⃗ −Q (9.18)
Vcel

é análoga à área sob a curva de intensidade que, neste caso, é em função da variável adimensional

ϵ. Usando a Jacobiana da transformação de variáveis, o elemento de volume no espaço recíproco


( )
∂Q
⃗ ∂ Q ∂ Q ′ ′
⃗ ⃗

dVQ = · × ′ dθ dφ dϵ = 2k 3 sen2 θ senθ′ dθ′ dφ′ dϵ ,
∂ϵ ∂φ ′ ∂θ

é escrito em termos das variáveis θ′ , φ′ e ϵ. Somente a derivada parcial ∂ Q/∂ϵ


⃗ ⃗ é diferente
=Q

das utilizadas no dedução da eq. (9.6). Substituindo na eq. (9.18)

dVQ
senθ′ dθ′ dφ′ dϵ =
2k 3 sen2 θ


e lembrando que |W (∆Q)|
⃗ 2 dVQ = (2π)3 V , eq. (9.5), obtém-se a potência difratada

( )
Ahkl N λ3 2λ d2hkl
Phkl (λ) = = Ie |Fhkl |2 = Ie N |Fhkl |2 . (9.19)
∆t 2 sen2 θhkl Vcel Vcel

O valor de λ, satisfazendo a condição de difração para uma dada reflexão hkl, muda com a
orientação do vetor de difração em relação a direção do feixe incidente, e.g. ex. 9.1. Além
disso, existe a variação do fluxo com o comprimento de onda, Φ(λ) = w(λ)Φmax , cuja função
14
Não confundir módulo k do vetor de onda com índice k da reflexão hkl, os quais são diferenciados pelo
contexto em que aparecem no texto.

207
Figura 9.11: Padrão de difração policromática, cristal espodumênio. Orientação: A = [100],
B = [001] e R = RX (10◦ ) RY (90◦ ). Reflexões da família 00l, com l > 0, contribuem no ponto
indicado 1. [spodumencoordfrac.m, lauemethod.m]

peso w(λ), depende da particularidade de cada fonte de radiação. Na maioria dos casos, esta
⃗ ′ )|2 ⟩ r2 Φmax .
variação implica apenas em Ie → w(λ) Ie na eq. (9.19), sendo que Ie = ⟨|P(ŝ e

Ex. 9.8: O metal lítio (Li) tem papel impar na tecnologia de bateriais automotivas e telefônia
móvel, além do uso em medicina. A mais importante fonte natural de Li é o mineral es-
podumênio, LiAl(SiO3 )2 , muitas vezes encontrado na forma cristalina, sistema monoclínico.15
Sobre um filme de raios X, obtenha o padrão de difração policromática do espodumênio numa
orientação qualquer. [Obs.: despreze atenuação linear, espalhamento Compton e efeitos de
reespalhamento (difração dinâmica).]
15
COD ID: 2003129 [25].

208
⃗ hkl da rede recíproca no sistema de
Resp.: Numa dada orientação do cristal, os vetores Q
referência xyz do laboratório são obtidos a partir da base ⃗a = [eij aj Rik ], ⃗b = [eij bj Rik ] e
⃗c = [eij cj Rik ], ver ex. 9.5(c). Sendo ŝ a direção de incidência (sentido do fluxo de fótons),

⃗ hkl · ŝ < 0 e λ = −4π Q


Q ⃗ hkl · ŝ/Q2 ∈ [λmin , λmax ]
hkl

são as condição de difração da reflexão hkl. O feixe difratado terá direção ŝ′ = (λ/2π) Q
⃗ hkl + ŝ

e potência relativa dada pela eq. (9.19), i.e.

λ |Fhkl |2
Phkl ∝ w(λ) ⟨|P(ŝ′ )|2 ⟩ .
Q2hkl

No caso de um filme cilindrico de raio D, com eixo ao longo da direção y, e feixe incidente

paralelo à direção z (ŝ = [0, 0, 1]), Fig. 9.11 (inserção), as coordendas (Xf , Yf ) das intensidades

difratadas sobre o filme são dadas por

Xf = D arctan(−s′1 /s′3 ) e Yf = D tan[arcsen(s′2 )] .

⃗ 00l a 10◦ da direção de


A Fig. 9.11 mostra o padrão de difração com os vetores recíprocos Q

incidência (170◦ de ŝ). No exemplo, λmax = 2λmin = 2 Å, e o espectro tem peso constante no
intervalo dado, i.e. w(λ) = 1 se λmin ≤ λ ≤ λmax ou w(λ) = 0 caso contrário. Índices de

algumas reflexões na Fig. 9.11, rotina lauemethod.m:

spodumen.in, A = [ 1 0 0], B = [ 0 0 1], TH = [10.000 90.000 0.000]


|-------------|-----------------|----------|--------------------------------|
| h k l | |Fhkl|^2 | wl(A) | Phkl X(mm) Y(mm) |
|-------------|-----------------|----------|--------------------------------|
| -2 -2 1 | 15679.2(100.0%) | 1.414618 | 163960.8 -140.745 19.482 |
| 0 2 0 | 5467.6( 34.9%) | 1.457256 | 123872.3 -157.080 -18.199 |
| 3 -1 0 | 9752.6( 62.2%) | 1.466306 | 106920.3 132.351 10.299 |
| 5 3 1 | 13401.2( 85.5%) | 1.606282 | 30197.4 93.953 -25.506 |
| -3 1 1 | 1784.0( 11.4%) | 1.746826 | 24652.4 -127.186 -9.068 |
| -2 4 1 | 8237.9( 52.5%) | 1.439858 | 24103.1 -136.616 -42.121 |
| 1 -1 0 | 480.9( 3.1%) | 1.306717 | 22767.4 150.059 8.217 |
| 5 -3 1 | 13136.7( 83.8%) | 1.167313 | 20555.7 117.719 28.233 |
| -3 -1 1 | 1758.9( 11.2%) | 1.070540 | 15076.0 -139.580 7.168 |
| -3 3 1 | 3389.4( 21.6%) | 1.256694 | 14815.1 -134.311 -23.363 |
| -6 0 4 | 5751.4( 36.7%) | 1.547614 | 11698.1 -84.180 7.934 |
| 4 0 0 | 1518.6( 9.7%) | 1.508597 | 11274.8 122.467 2.037 |

209
| 0 0 6 | 2040.1( 13.0%) | 1.608684 | 1933.2 0.000 18.199 |
| 0 0 8 | 327.5( 2.1%) | 1.206513 | 130.9 0.000 18.199 |
|-------------|-----------------|----------|--------------------------------|

···

9.4 Cristais de proteínas

Células unitárias grandes, com dimensões de várias dezenas de Angstroms, têm espaços recípro-
cos com alta densidade de nós, algo em torno de 1000 vezes a densidade observada nos cristais
inorgânicos. A Fig. 9.12 mostra uma situação onde aproximadamente 3000 reflexões difratam

dentro do pequeno ângulo sólido compreendido pela área plana de 10 cm de diâmetro do detetor

posicionado a 60 cm da amostra. A baixa simetria do eixo rotativo permite que cada reflexão

contribua separadamente na imagem simulada com resolução angular de 0,2 mrad.


Quando se trabalha com cristais de proteínas é comum salvar as informações estruturais,

i.e. as posições atômicas, em coordenadas métricas (Xa , Ya , Za ) ao ínves de coordenadas fra-

cionárias (xa , ya , za ). A matriz de conversão S, entre coordenadas métricas e fracionárias é

definida a partir do vetor posição

⃗ra = xa⃗a + ya⃗b + za⃗c = Xa x̂ + Ya ŷ + Za ẑ

de um átomo qualquer na célula unitária do cristal, escrito em ambos sistemas de coordenadas,


de modo que

     
xa Xa ⃗
⃗a · x̂ b · x̂ ⃗c · x̂
 ya  = S  Ya   
onde S−1 =  ⃗a · ŷ ⃗b · ŷ ⃗c · ŷ  (9.20)
za Za ⃗a · ẑ ⃗b · ẑ ⃗c · ẑ
é determinada pelos vetores arestas da célula unitária.

210
Figura 9.12: Método do cristal rotativo, imagem simulada do padrão de difração da insulina
cristalizada (PDB ID: 1TRZ), radiação caracteristica λ = 1, 540562 Å. Eixo rotativo A = [5 1 0],
na orientação θy = 60◦ e θz = 30◦ . Detetor de área plana posicionado a 60 cm da amostra no
azimute ϕd = −30◦ e elevação nula θd = 0, pixeis de 125 µm. Nota 9.4. [pdbcoordfrac.m,
rotcrystmethod.m]

211
Nota 9.4: Simulação método do cristal rotativo
Os vetores de onda ⃗k ′ = [ki′ ]e dos feixes difratados são facilmente descritos na base ortonor-
mal êi atrelada ao eixo rotativo A, ⃗ eq. (9.16) e ex. 9.6. Contudo, a simulação do método
requer as direções dos feixes difratados no sistema de coordenadas xyz do laboratório. Se-
jam ⃗k = k[0, 0, 1] o vetor de onda incidente, ŝd = [ senθd , − cos θd senϕd , cos θd cos ϕd ] o
versor apontando para o centro da área plana do detetor, e R(θz , θy ) = RZ (θz ) RY (θy ) a
matriz de rotações orientando o eixo rotativo no sistema do laboratório, Fig. 9.12 (inserção).
Calculado o azimute ϕ no qual uma dada reflexão difrata, e.g. Tabela 9.1, as componentes
do vetor ⃗k ′ = kŝ′ = [ki′ ] no sistema do laboratório serão

[ki′ ] = R(θz , θy ) RZ (180◦ − ϕ) [kj′ ]te .

O feixe difratado atingira o detetor quando arccos(ŝ′ ·ŝd ) for menor que o ângulo de aceitação
do detetor. As potências relativas dos feixes difratados seguem da eq. (9.15),

⃗ ′ )|2 ⟩ |Fhkl |2
Phkl ∝ ⟨|P(ŝ .
cos ω cos ω ′ |sen(ϕ′ − ϕ)|

⃗ ′ )|2 ⟩ = (1 + cos2 2θ)/2 onde cos(2θ) = k3′ /k. O


No caso de radiação não polarizada, ⟨|P(ŝ
procedimento aqui descrito está implementado na rotina rotcrystmethod.m, usada para gera
o padrão mostrado na Fig. 9.12 e a lista de reflexões parcialmente reproduzida abaixo.
Cristal: 1TRZ.in
Energia = 8048.04 eV (1.540562 A)
Eixo rotativo A = [ 5 1 0], orientação thy = 60.000 e thz = 30.000
Área do detetor, raio Rd = 50.0 mm
Distância amostra-detetor, D = 600.0 mm
Elevação e azimute do detetor, thd = 0.000 e phid = -30.000
|----------------|----------------------|---------------------------------------|
| h, k, l | |Fhkl|^2 | Phkl X(mm) Y(mm) |
|----------------|----------------------|---------------------------------------|
| 12,-23, -1 | 919422.70(100.0%) | 2667065.73 -47.515 13.476 | 1
| 3, 19, -1 | 694493.92( 75.5%) | 1876024.97 -37.151 0.957 | 2
| 10,-21, 7 | 770889.27( 83.8%) | 1839258.43 -16.195 -19.746 | 3
| 13,-24, -2 | 643284.58( 70.0%) | 1794722.38 -32.784 23.814 | 4
| 11,-23, 1 | 618235.38( 67.2%) | 1724044.52 -47.218 -3.445 | 5
| 11,-23, -2 | 621384.64( 67.6%) | 1705207.66 -43.754 -4.239 | 6
| 2, 19, 1 | 592249.67( 64.4%) | 1603440.13 -45.486 -13.758 | 7
| 0, 22, 2 | 689227.01( 75.0%) | 1590654.36 -18.511 -41.785 | 8
| 3, 17, 4 | 548023.93( 59.6%) | 1520421.00 -46.116 -3.699 | 9
| 11,-19, 6 | 522253.31( 56.8%) | 1513256.49 -48.902 10.404 | 10
| . . . | . . . | . . . . . . . . . |
| 5, 1, 12 | 0.00( 0.0%) | 0.01 -9.564 -30.612 | 2959
|----------------|----------------------|---------------------------------------|

No processo de cristalização, as células unitárias podem conter várias unidades funcionais


biológicas —complexos moleculares que caracterizam a forma ativa da proteína nos organis-
mos. As unidades funcionais se agrupam formando unidades assimétricas e estas as células
unitárias. Operações de simetrias cristalográficas [21] descrevem a distribuição espacial das

212
unidades assimétricas na célula unitária. Portanto, as informações essenciais sobre o cristal
de uma proteína são: i) a matriz de conversão S contendo as informações dos parâmetros de
rede; ii) as coordenadas métricas da unidade assimétrica, e.g. registros "ATOM" e "HET-
ATM" nos arquivos *.pdb, § 5.3.1; e iii) as operações de simetria que aplicadas às coordenadas
fracionárias da unidade assimétrica fornecem as coordenadas fracionárias de todos os outros
átomos na célula unitária. Com essas informações em mãos, a difração de raios X no cristal
pode ser calculada e comparada com resultados experimentais.

···

Ex. 9.9: Monômeros e hexâmeros são conformações da insulina encontradas no corpo hu-

mano, sendo a primeira forma ativa. A estrutura dos cristais de insulina varia, dependendo do
processo de cristalização. Em geral, as unidades assimétricas são dímeros da unidade funcional

(monômero), e a célula unitária hexagonal composta por 3 hexâmeros (grupos de 3 dímeros).

(a) Dados os parâmetros de rede de um cristal de insulina, a = b = 80, 638 Å, c = 37, 782 Å,

α = β = 90◦ e γ = 120◦ , encontre a matriz de conversão S. (b) Na unidade assimétrica, um


átomo tem coordenadas métricas [X, Y, Z] = [8, 209, 20, 582, 3, 556] Å. Quais as coordenadas

fracionárias [x, y, z] dos 9 átomos equivalentes? Obs.: usar operações de simetria do grupo

espacial 146 para eixos hexagonais [21].

Resp. (a): Numa base ortogonal arbitrária, ⃗a = a[1, 0, 0], ⃗b = b[cos γ, senγ, 0] e ⃗c = c[0, 0, 1]
(ex. 8.2). A matriz de conversão é obtida substituindo-se esses vetores na eq. (9.20) e calculando
a matriz inversa, i.e.,

   
a b cos γ 0 0, 012401 0, 007160 0, 000000
S−1 =  0 b senγ 0  ⇒ S =  0, 000000 0, 014320 0, 000000  .
0 0 c 0, 000000 0, 000000 0, 026468

Resp. (b): Desde que as coordenadas métricas sejam dadas na mesma base ortonormal
dos vetores arestas, as coordenadas fracionarias do átomo escolhido na unidade assimétrica
valem [x, y, z] = [X, Y, Z] St = [0, 24916, 0, 29472, 0, 09412]. As operações de simetria sem

213
translações formam o hexâmero 1, enquanto que as translações [2/3, 1/3, 1/3] e [1/3, 2/3, 2/3]
formam os hexâmeros 2 e 3. Assim,

hexâmero 1 hexâmero 2 hexâmero 3


x, y, z x + 2/3, y + 1/3, z + 1/3 x + 1/3, y + 2/3, z + 2/3
−y, x − y, z −y + 2/3, x − y + 1/3, z + 1/3 −y + 1/3, x − y + 2/3, z + 2/3
−x + y, −x, z −x + y + 2/3, −x + 1/3, z + 1/3 −x + y + 1/3, −x + 2/3, z + 2/3

são as posições equivalentes do átomo em cada um dos hexâmeros da célula unitária.

Nota 9.5: A rotina pdbcoordfrac.m lê arquivos *.pdb e lista as coordenadas fracionárias


dos átomos na célula unitária, incluindo fatores de ocupação e de temperatura.

···

Resumo

— Esfera de espalhamento e cone de Bragg

⃗ + ⃗k|2 = k 2
|Q ou ⃗k · Q
⃗ = −Q2 /2

— Potência da reflexão hkl num cristalito, eixo de rotação ⊥ plano de incidênia

|Fhkl |2
Phkl = Ie K , K = N λ3 /Vcel
sen2θhkl

— Potência difratada (intensidade integrada), método do pó

∑ |Fhkl |2 −1
P (Q) = Ie K Q δ(Q − Qhkl ) , K = Nc ⟨N ⟩λ2 dθ ∆φ/2 Vcel
hkl
sen2θhkl hkl

— Potência da reflexão hkl, método cristal rotativo (radiação monocromática)

|Fhkl |2
Phkl = Ie K , K = N λ3 /Vcel
cos ω cos ω ′ |sen(ϕ′ − ϕ)|

— Potência da reflexão hkl, método de Laue (radiação policromática)

λ|Fhkl |2
Phkl (λ) = Ie K w(λ) , K = 8πN/Vcel
Q2hkl

214
Capítulo 10

Noções de difração dinâmica

Qual a validade da aproximação cinemática?. . . Como efeitos de difração dinâmica afetam as

intensidades relativas de um cristal?. . . Quão estreitas são as curvas de difração em monocristais


perfeitos?. . . Eis algumas perguntas recorrentes em cristalografia de raios X. Neste capítulo,

a abordagem mais simples da difração dinâmica, conhecida como teoria dinâmica de Darwin-

Prins [42, 1], será revisitada. Embora restrita a geometria de reflexão simétrica, ela permite

compreender princípios básicos do fenômeno, contribuindo no desenvolvimento de rotinas de

cálculo de fácil implementação, sem delongadas incursões pela complexa abordagem da teoria
geral da difração dinâmica [16, 6, 43, 3].

215
Figura 10.1: (a) Topografia de raios X em lâmina de silício com face (111) e espessura de
100 µm. O contraste advém da diferença de intensidade entre difração cinemática e dinâmica.
Na área ampliada, o zig-zag das linhas indicam reações entre defeitos na rede cristalina [31].
(b) Geometria de transmissão da câmera topográfica de Laue usada no experimento: filme
registra feixe difratado-transmitido durante translação da amostra. Cortesia de S.L. Morelhão
e S. Mahajan, em estudo realizado na Carnegie Mellon University, Pittsburgh (1995).

Dentro do vasto universo de aplicações modernas da radiação X, a difração dinâmica tem


nichos bem definidos onde o domínio de abordagens gerais são imprescindíveis. Para quem
necessita trabalhar nesses nichos, literaturas mais específicas são indicadas. 1) Nas técnicas de
imageamento por difração, o contraste observado nas imagens tem origem na diferença entre
as intensidades cinemáticas e dinâmicas, e.g. Fig. 10.1. A matriz cristalina perfeita exper-
imenta difração dinâmica, enquanto que pequenas regiões deformadas, difratando no regime
cinemático, produzem contribuições mais intensas [7, 3]. 2) Em ótica de raios X, monocristais

216
são frequentemente empregados no condicionamento de feixes intensos. Após interagir com um
monocristal perfeito, as exatas propriedades do feixe, tais como banda de energia passante e
polarização, são descritas pela teoria dinâmica da difração de raios X [1, 3]. 3) Nos dispositivos
nanostruturados, por exemplo, como os utilizados em optoeletrônica, as regiões ativas de baixa
dimensionalidade são muitas vezes depositadas/crescidas sobre substratos monocristalinos. A
caraterização estrutural de alta resolução da região ativa pode ser concluída dentro da aproxi-
mação cinemática. Mas, em geral, a difração dinâmica ocorrendo no substrato também precisa
ser levada em conta [7, 36]. 4) Métodos de onda estacinária (standing waves). No regime de

difração dinâmica, um padrão de ondas estacionárias se forma dentro do cristal. Variando a


posição deste padrão através do ângulo de incidência é possível estimar a localização de átomos

ressonantes na estrutura [3]. 5) O único método existente capaz de medir experimentalmente

fases de tripleto, ver ex. 8.6, se baseia na interferência de múltiplas ondas difratadas dentro do

cristal. Efeito intrinsecamente dinâmico [9, 43].

10.1 Equações recursivas

O divisior de águas entre as teorias dinâmica e cinemática é considerar ou não as modificações


que as ondas de raios X sofrem ao se propagarem no meio cristalino. Sejam r e t os coeficientes

de reflexão e tramissão do campo elétrico por um único plano da rede cristalina de espessura d.

Como os planos cristalográficos de uma reflexão hkl subentendem vários planos atômicos, e.g.
Fig. 8.3, esses coeficientes dependem de qual lado o plano é iluminado. Assim, r̄ e t̄ serão os
coeficiente quando o plano é iluminado pelo lado oposto, Fig. 10.2(a). Dentro da aproximação
de onda plana, com área iluminada de dimensões muito maiores que a espessura d, a reflexão é
especular, ou seja, as ondas incidente e refletida fazem o mesmo ângulo θ com o plano cristalino.
Do ponto de vista teórico, existem várias diferenças entre difração dinâmica e cinemática
mesmo no caso da difração por cristais tão finos quanto a esspessura de apenas dois planos, i.e.
cristais de espessura 2d. Levando em conta o campo confinado pelas múltiplas reflexões entre

217
Figura 10.2: Coeficientes de reflexão e transmissão para ondas de raios X por (a) um plano e
(b) dois planos cristalográficos.

os planos, Fig. 10.2(b), os coeficientes de reflexão e transmissão ficam sendo


∞ ( ) ∑

n tt̄ tt
R2 = r + trt̄ (r̄r) = r 1 + e T2 = tt (r̄r)n = . (10.1)
n=0
1 − r̄r n=0
1 − r̄r

Da teoria de Darwin-Prins,1 tem-se os coeficientes

r = −ig(Q)
⃗ eiϕ , r̄ = −ig(−Q)
⃗ eiϕ e t = t̄ = [1 + ig(0)] eiϕ (10.2)

dados em função de
⃗ = re λ d ⃗ = Γ C F (Q)

g(Q) C F (Q) (10.3)
senθ Vcel

e da fase ϕ = −kd senθ. F (Q)


⃗ é o fator de estrutura para o vetor de difração Q,
⃗ cuja direção

é normal aos planos, e tendo módulo Q = 2k senθ onde k = 2π/λ. O fator de polarização
C = ⟨|P(ε̂,
⃗ 2θ)|2 ⟩1/2 vale 1 somente no caso da polarização σ, ou quando 2θ = 0 (coeficiente de

transmissão), na polarização π vale | cos(2θ)|, § 1.1.



Na aproximação cinemática, as múltiplas reflexões são desprezadas, n=0 (r̄r)
n
→ 1, e
os campos transmitidos ficam inalterados, apenas a evolução da fase da onda ao atravessar
1
Os campos refletido e transmitido por planos de átomos com espessura comparável ao comprimento de onda
são deduzidos em muitos livros textos, veja por exemplo refs. [28, 42, 1].

218
cada plano é levada em conta, i.e. t = t̄ = eiϕ . Isso resulta em R2 = r + trt̄ = r(1 + e2iϕ )
e T2 = e2iϕ . A interferência construtiva entre os campos refletidos ocorre quando ϕ = mπ,
condição equivalente à lei de Bragg, 2d senθ = mλ.
O tratamento dinâmico, além de considerar o re-espalhamento pelos planos —irrelevantes
em cristais muito finos—, os campos transmitidos são corrigidos pelo termo ig(0), o qual agrega
dois efeitos importantes: absorção fotoelétrica e deslocamento do ângulo de Bragg. Mais pre-
cisamente,
( )
∑ ∑ ∑
1 + ig(0) = 1 − Γ fa′′ + iΓ [fa (0) + fa′ ] ≃ 1−Γ fa′′ ei∆ (10.4)
a a a

uma vez que Γ ≈ 10−5 − 10−7 . O termo real negativo é responsável por reduzir a amplitude

da onda transmitida, enquanto que o termo imaginário causa uma pequena variação ∆ na fase

e, portanto, na condição de interferência construtiva que passa a ser ϕ + ∆ = mπ, ou

2d senθ = λ(m + ∆/π) . (10.5)

Ambos efeitos são acentuados em cristais espessos, onde a largura da curva de difração é da
ordem do deslocamento no ângulo de Bragg e o perfil da curva susceptível à absorção.
Tendo em mãos os coeficientes de reflexão e transmissão por um conjunto de N/2 planos, a

eq. (10.1) pode ser utilizada recursivamente para se obter os coeficientes de N planos, ou seja,

2
TN/2
RN = RN/2 (1 + TN ), R̄N = R̄N/2 (1 + TN ) e TN = . (10.6)
1 − R̄N/2 RN/2

Na Fig. 10.3 são mostrados exemplos de curvas de refletividade, |RN (θ)|2 , calculadas através
destas equações recursivas para cristais com diferentes números de planos. Quando N → ∞ a
curva converge para um perfil com características peculiares: perfil assimétrico com refletividade
máxima menor ou igual a 1 ocorrendo à esquerda da largura do pico, cujo centro está deslocado
do exato ângulo de Bragg por ∆θ ≃ λ∆/2d cos θ, eq. (10.5).

A assimetria da curva de refletividade em cristais espessos tem origem na absorção fo-

219
Figura 10.3: Curvas de refletividade em cristais com N planos, eq. (10.6). Reflexão simétrica
220 Ge (COD ID: 9011999), d220 = 2, 000 Å, raios X de 10 keV e polarização σ. ∆θ = θ − θ220 .
[rcdarwinprins.m, rcdarwinplot.m]

toelétrica. Na situação hipotética de total ausência de absorção, a curva seria simétrica com

reflexão total (máximo igual a 1) ocorrendo dentro de um intervalo angular da ordem da própria

FWHM,2 a qual pode ser estimada pela expressão

2√ 2 √
Wdin ≃ |rr̄| tan θ = Γ C |Fhkl Fh̄k̄l̄ | tan θ . (10.7)
3 3

O fato de Wdin ser uma função de |Fhkl Fh̄k̄l̄ | implica que as reflexões hkl e h̄k̄¯l têm mesma

FWHM, independemente das condições de ressonância e do cristal ter ou não centro de simetria.
A fórmula recursiva, eq. (10.6), permite checar a acurácia da eq. (10.7), válida no limite N →
∞.
2
A FWHM da curva de difração no regime dinâmico, cristal espesso, é ligeiramente diferente da largura
intrínseca, ou largura de Darwin, e.g. ref. [1], pp 184.

220
Figura 10.4: Redução da aceitação angular nos ombros das curvas de refletividade em
monocristais sulcados. [rcdarwinprins.m]

···

Ex. 10.1: Blocos monocristalinos sulcados são frequentemente empregados em ótica de raios
X. Investigue a aceitação angular da condição de difração em função do número n de batidas
que o feixe de raios X realiza dentro do canal sulcado.

Resp.: Estando os planos cristalográficos de cada lado do sulco perfeitamente paralelos, a


refletividade do conjunto será |R∞ (θ)|2n . Como a refletividade é próxima de 100% dentro
da largura Wdin , a região central da curva é pouco afetada pelo número de batidas, mas as
intensidades nos ombros da curva são fortemente reduzidas. Por exemplo, se num dado ∆θ
a refletividade vale 1% na reflexão simples (n = 1), ela valerá 0,01% e 0,0001% para cristais
sulcados de 2 e 3 batidas, respectivamente, Fig. 10.4.

221
Figura 10.5: Curvas de refletividade das reflexões 117 e 1̄1̄7̄ em cristais de GaAs (COD ID:
9008845) com faces (117) e espessuras de (a) 324 nm (N = 212 planos) e (b) 1 cm (N = 227
planos). Polarização σ, raios X nas energias indicadas ao lado das curvas, as quais estão
deslocada no eixo ∆θ para melhor visualização. Simulações usando fórmula recursiva, eq. (10.6).
[rcdarwinprins.m, exsinalanomalo.m]

Ex. 10.2: No regime de difração cinemática, as intensidades são proporcionais aos módulos
quadrados dos fatores de estrutura, i.e. Ihkl ∝ |Fhkl |2 , de modo que a diferença nos fatores de

222
estrutura de um par de Friedel gera o sinal anômalo

Ihkl − Ih̄k̄l̄ |Fhkl |2 − |Fh̄k̄l̄ |2


Λ= = .
Ihkl + Ih̄k̄l̄ |Fhkl |2 + |Fh̄k̄l̄ |2

Sinais não nulos indicam ausência de centro de simetria na estrutura do cristal, ver ex. 8.4 e
ex. 8.5. Comparando as curvas de refletividade dinâmica das reflexões de um par de Friedel onde
Λ ̸= 0, responda: pode o valor de Λ ser determinado via difração dinâmica em monocristais
perfeitos?

Resp.: Tomando como exemplo o par de reflexões 117/1̄1̄7̄ da estrutura do GaAs, abaixo e acima
da borda de absorção do Ga em 10367 eV. No regime cinemático, a forma do perfil é definada

pela espessura do cristal, 324 nm no caso mostrado na Fig. 10.5(a). Apenas as intensidades

das curvas mudam, uma aumentando e a outra diminuindo ao se ir para uma energia acima

da borda, refletindo o fato da intensidade cinemática ser proporcional ao módulo quadrado do


fator de estrutura.
No regime dinâmico, Fig. 10.5(b), as intensidades das curvas de refletividade abaixo da

borda (10300 eV) são próximas do valor 1. Consequentemente, na energia acima da borda

(10400 eV), a intensidade de uma das curvas fica praticamente inalterada, enquanto que a

intensidade da outra curva diminui. Há também alteração na forma dos perfis abaixo e acima
da borda. Mas, apesar da alteração da forma e do fato das curvas não serem mais diretamente
proporcionais aos módulos quadrados do fatores de estrutura, a razão entre as curvas segue a

razão |F117 |2 /|F1̄1̄7̄ |2 = 2, 383. Portanto, o sinal anômalo Λ, que neste caso vale 41%, é um valor
mensurável independentemente do regime de difração.

10.1.1 Ondas estacionárias

A fase do coeficiente de reflexão

RN (θ) = |RN (θ)| ei[Ω(θ)+φhkl ] , (10.8)

223
Figura 10.6: Variação da fase dinâmica Ω(θ), em função da curva de refletivida (escala à direita).
Silício 111, energia 8 keV. [rcdarwinswaves.m]

na eq. (10.6), contém dois termos: a fase dinâmica Ω(θ) que varia com o ângulo de incidência θ;
e a fase φhkl do fator de estrutura Fhkl = |Fhkl | exp(iφhkl ). No regime de difração dinâmica —

cristais espessos—, a fase Ω varia de 180◦ a 0 através da curva de refletividade, Fig. 10.6. Como
a refletividade é próxima de 1, a interferência entre as ondas incidente e refletida formam um

padrão de onda estacionária dentro do cristal. Quando Ω = 180◦ , a fase φhkl posiciona os máx-

imos do padrão de onda estacionária na região de menor densidade eletrônica dos planos (hkl).
Por outro lado, com a fase dinâmica variando para Ω = 0, os máximos do padrão se deslocam
para a região de maior densidade eletrônica, aumentando assim a absorção fotoelétrica.3
O deslocamento do padrão de onda estacionária é responsável pela assimetria das curvas de
refletividade dinâmica. Em geral, quanto maior o gradiente de densidade através da espessura
do plano cristalográfico, maior a assimetria da curva de refletividade. Por exemplo, em cristais
com estrutura tipo diamante, e.g. Si e Ge, ou do tipo blenda de zinco, e.g. GaAs e InAs, a
densidade eletrônica de planos (220) está concentrada em um único plano de átomos. Motivo
3
Consulte ref. [3], cap. 16, para discussão detalhada sobre o fenômeno de ondas estacionárias.

224
pelo qual a curva de refletividade na Fig. (10.3) apresenta um máximo acentuado à esquerda
do centro da curva. O mesmo não ocorre para planos (111), os quais são formados por dois
planos de átomos ligeiramente deslocados, e.g. Fig. 8.3(b), tornando o gradiente de densidade
menos abrupto e suavisando a variação da refletividade através do centro da curva, tal como
se vê na Fig. 10.6.
Nos cristais de proteínas, o grande número de átomos por célula unitária tende a homo-
geneizar a densidade eletrônica através da espessura do plano cristalográfico. Consequente-
mente, as curvas de refletividade em cristais perfeitos têm máximos arredondados mesmo nos

casos de reflexões fortes, e.g. inserção da Fig. 10.7(a), perdendo a típica assimetria observada
nos cristais com células unitárias pequenas. Contudo, medir perfis intrínsecos em cristais per-

feitos de proteínas, apresentando FWHM ínfimas (Wdin < 1 µrad) devido ao enorme volume

das células unitárias, consistem num desafio instrumental considerável.

10.2 Limite cinemático

A potência das reflexões na Teoria Cinemática, cap. 9, sempre é proporcional ao número de

células unitárias no cristal (volume difratante), eqs. (9.14), (9.15) e (9.19). Isso significa que,
num monocristal em geometria de reflexão, a intensidade integrada da curva de refletividade,

ou apenas refletividade integrada,


PN = |RN (θ)|2 dθ , (10.9)

aumenta linearmente com o número de planos cristalográficos dentro do limite de validade da


aproximação cinemática. O desvio deste comportamento linear serve, a princípio, de critério
separador entre os regimes de difração cinemática e dinâmica. Simulação computacional da
difração dinâmica —via fórmula recursiva— oferece um recurso simples para graficar a re-
fletividade integrada PN , em função da espessura N d do cristal, ou do número de planos
N . A Fig. 10.7 ilustra o comportamento de PN nos casos de reflexões fortes e fracas. Ver
Nota 10.1 para converter a progressão geométrica da espessura, eq. (10.6), na progressão arit-

225
mética necessária à análise do comportamento de PN .

Figura 10.7: Refletividade integrada (difração dinâmica) em função da espessura, eq. (10.9).
Cristal de lisozima (PDB ID: 2LYZ), reflexões (a) 6 12 4 e (b) 3 9 7, λ = 1, 033208 Å (12 keV),
e polarização σ. Linhas tracejadas verticais indicam 10% de desvio do comportamento linear
(difração cinemática). Inserções: curvas de refletividade no regime dinâmico, refletividade
integrada P∞ = 100%. [rcdarwinIdynIkin.m]

226
Nota 10.1: Coeficientes de reflexão e transmissão para cristais de qualquer espessura.
Considere um esquema semelhante ao mostrado na Fig. 10.2(b) onde os planos representam
sistemas contendo números diferentes de planos cristalográficos idênticos: sistema A, plano
de cima, com coeficientes RA , R̄A e TA ; e sistema B, plano de baixo, com coeficientes
RB , R̄B e TB . Levando em conta as múltiplas reflexões na interface entre os sistemas, os
coeficientes do sistema composto AB serão

TA2 TB2 TA TB
RAB = RA + RB , R̄AB = R̄B + R̄A e TAB = . (10.10)
1 − R̄A RB 1 − R̄A RB 1 − R̄A RB
A refletividade de N planos, quando log2 (N ) ̸∈ N∗ , é obtida escrevendo o número N na base
binária, calculando os coeficientes das espessuras correspondentes aos dígitos “ 1 ” através
da eq. (10.6), e compondo os coeficientes das diferentes espessuras com a eq. (10.10). Por
exemplo, N = 100 equivale a 1100100 na base binária, então os coeficientes para 26 , 25 e 22
planos seguem da eq. (10.6), enquanto que para 96 e 100 planos os coeficientes são obtidos
da eq. (10.10). Procedimento implementado na rotina rcdarwinprins.m.

···

Ex. 10.3: Investigue o limite cinemático em função do tamanho da célula unitária, da ener-

gia, da absorção fotoelétrica e da potência das reflexões. Quais as condições mais favoráveis
para que o tratamento cinemático das intensidade difratadas por um monocristal perfeito seja

satisfatório?

Resp.: Usando como referência de limite cinemático o desvio de PN do comportamento linear, os

diversos fatores afetando a validade da aproximação cinemática são analisados na Tabela 10.1.
Cristais com células unitárias grandes, tais como cristais de proteínas, têm limites cinemáticos
extendidos, em geral, duas ordens de grandeza maiores que os cristais inorgânicos. O aumento
da energia dos raios X tende a extender o limite cinemático, exceto quando excita uma borda
de absorção como ocorre no GaAs. Na maioria dos casos, reflexões fortes apresentam limite
cinemático inferior às reflexões fracas. Portanto, em termos gerais, o tratamento cinemático
deverá fornecer resultados satisfatórios quando, para uma dada energia, a maior dimensão do
cristal for inferior ao limite cinemático da mais intensa reflexão medida.

···

227
N d (µm)
cristal (h, k, l) 8 keV 12 keV
lisozima (6,12,4)∗ 17,1 25,4
lisozima (3,9,7)† 24,6 59,4
GaAs (4,0,0)∗ 0,64 0,38
GaAs (2,0,0)† 0,88 0,32
insulina (3,17,4)∗ 24,1 40,3
insulina (6,8,13)† 34,7 69,4
LaMnO3 (0,0,4)∗ 0,25 0,32
LaMnO3 (2,1,0)† 0,28 0,44

Tabela 10.1: Limiar de validade da aproximação cinemática para diversos cristais, reflexões
fortes (∗ ) e fracas († ). Critério: espessura, N d, na qual a intensidade integrada desvia 10% do
comportamento linear, e.g. Fig. 10.7. [rcdarwinIdynIkin.m, LaMnO3coordfrac.m]

228
Referências Bibliográficas

[1] J. Als-Nielsen and D. McMorrow, Elements of modern x-ray physics, John Wiley & Sons,
2001.

[2] G. Arfken, Mathematical methods for physicists, Academic Press, 1985.

[3] A. Authier, Dynamical theory of x-ray diffraction, Oxford University Press (revised edi-

tion), 2004.

[4] A. Authier (ed.), International tables for crystallography, vol. D, online edition, 2006,

http://onlinelibrary.wiley.com/book/10.1107/97809553602060000001/toc.

[5] L. R. S. Barbosa, Estudo de sistemas de relevância biológica por espalhamento de raios

x a baixos ângulos, Ph.D. thesis, Instituto de Física, Universidade de São Paulo, 2008,
http://www.teses.usp.br/teses/disponiveis/43/43134/tde-20032009-101046/pt-br.php.

[6] B. W. Batterman and H. Cole, Dynamical diffraction of x-rays by perfect crystals, Rev.
Mod. Phys. 36 (1964), 681–717.

[7] D. K. Bowen and B. K. Tanner, High resolution x-ray diffractometry and topography, Taylor
& Francis, London, 1998.

[8] M. S. D. Cattani, X-ray scattering by atoms: basic equations, Instituto de Físcia, Univer-
sidade de São Paulo, 2011, http://publica-sbi.if.usp.br/PDFs/pd1668.pdf.

[9] S.-L. Chang, Multiple diffraction of x-rays in crystals, Springer Verlag, Berlim, 1984.

[10] C. Cohen-Tannoudji, B. Diu, and F. Laloë, Quantum mechanics, vol. 2, John Wiley &
Sons, 1978.

229
[11] P. Coppens, International tables for crystallography, vol. B, online edition, 2010, cap. 1.2,
pp. 10–23, http://onlinelibrary.wiley.com/book/10.1107/97809553602060000001/toc.

[12] A. Craievich, Small-angle x-ray scattering by nanostructured materiais, Handbook of Sol-


Gel Science and Technology: processing, characterization and applications (S. Sakka, ed.),
vol. II, Kluwer Academic Publishers, 2002, pp. 161–189.

[13] B. D. Cullity and S. R. Stock, Elements of x-ray diffraction, 3rd. ed., Prentice-Hall Inc.,
2001.

[14] T. Egami and S. J. L. Billinge (eds.), Underneath the bragg peaks, Pergamon Press, 2003.

[15] H.N. Chapman et al., Femtosecond x-ray protein nanocrystallography, Nature 470 (2011),
73–77.

[16] P. P. Ewald, Introduction to the dynamical theory of x-ray diffraction, Acta Cryst. A 25

(1969), 103–108.

[17] C. Giacovazzo (ed.), Fundamentals of crystallography, Oxford University Press (2nd edi-

tion), 2002.

[18] O. Glatter and O. Kratky (eds.), Small angle scattering of x-rays, Academic Press, 1982.

[19] A. Guinier, X-ray diffraction: in crystals, imperfect crystals, and amorphous bodies, Dover

Publications, 1994.

[20] A. Guinier and G. Fournet, Small-angle scattering of x-rays, John Wiley & Sons, 1955.

[21] Th. Hahn (ed.), International tables for crystallography, vol. A, online edition, 2006,
http://onlinelibrary.wiley.com/book/10.1107/97809553602060000001/toc.

[22] R. Haight, F. M. Ross, J. B. Hannon, and L. C. Feldman (eds.), Handbook of instru-


mentation and techniques for semiconductor nanostructure characterization, vol. 2, World
Scientific, 2012, cap. 6, pp. 225.

230
[23] J.-P. Hansen and I. R. McDonald, Theory of simple liquids, Academic Press (2nd edition),
1990.

[24] M. Holt, Z. Wu, Hawoong Hong, P. Zschack, P. Jemian, J. Tischler, Haydn Chen, and
T.-C. Chiang, Determination of phonon dispersions from x-ray transmission scattering:
the example of silicon, Phys. Rev. Lett. 83 (1999), 3317–3319.

[25] http://www.crystallography.net/ ou http://bdec.dotlib.com.br/.

[26] J. H. Hubbell, Wm. J. Veigele, E. A. Briggs, R. T. Brown, D. T. Cromer, and R. J.

Howerton, Atomic form factors, incoherent scattering functions, and photon scattering
cross sections, J. Phys. Chem. Ref. Data 4 (1975), 471–538.

[27] G. Hura, D. Russo, R.M. Glaeser, T.H.-Gordon, M. Krack, and M. Parrinello, Water

structure as a function of temperature from x-ray scattering experiments and ab initio

molecular dynamics, Phys. Chem. Chem. Phys. 5 (2003), 1981–1991.

[28] R. W. James, The optical principles of the diffraction of x-rays, G. Bell & Sons ltd. (1st

edition), 1948.

[29] P. Lindner and Th. Zemb (eds.), Neutrons, x-rays and light: Scattering methods applied to

soft condensed matter, Elsevier, 2002.

[30] S. W. Lovesey and S. P. Collins, X-ray scattering and absorption by magnetic materials,
Oxford University Press, 1996.

[31] S. L. Morelhão, J. Härtwig, and D. L. Meier, Dislocations in dentritic web silicon, J. Cryst.
Growth 213 (2000), 288–298.

[32] S. L. Morelhão, C. M. R. Remédios, R. O. Freitas, and A. O. dos Santos, X-ray phase


measurements as a probe of small structural changes in doped nonlinear optical crystals,
J. Appl. Cryst. 44 (2011), 93–101.

[33] J. Stöhr, Nexasf spectroscopy, Springer Verlag, 1992.

231
[34] W. H. McMaster, N. Kerr Del Grande, J. H. Mallett, and J. H. Hubbell, Compilation of x-
ray cross sections, Lawrence Livermore National Laboratory Report UCRL-50174 Section
II Revision I (1969), available from National Technical Information Services L-3, U.S. Dept.
of Commerce, http://cars9.uchicago.edu/∼newville/mcbook/.

[35] M. Newville, Fundamentals of xasf, http://xafs.org/Tutorials.

[36] U. Pietsch, V. Holý, and T. Baumbach, High-resolution x-ray scattering: from thin films
to lateral nanostructures, Springer-Verlag, New York, 2nd edition, 2004.

[37] M. H. Pirenne, The diffraction of x-rays and electrons by free molecules, Cambridge Univ.
Press, 1946.

[38] E. Prince (ed.), International tables for crystallography, vol. C, online edition, 2006,

http://onlinelibrary.wiley.com/book/10.1107/97809553602060000001/toc.

[39] J. Teixeira, Small-angle scattering by fractal systems, J. Appl. Cryst. 21 (1988), 781–785.

[40] D. J. Vocadlo, G. J. Davies, R. Laine, and S. G. Withers, Catalysis by hen egg-white

lysozyme proceeds via a covalent intermediate, Nature 412 (2001), 835–838.

[41] J. H. Vuolo, Fundamentos da teoria de erros, editora Edgard Blucher (2a. edição).

[42] B. E. Warren, X-ray diffraction, Dover Books on Physics, 1990.

[43] E. Weckert and K. Hümmer, Multiple-beam x-ray diffraction for physical determination of
reflection phases and its applications, Acta Cryst. A 53 (1997), 108–143.

[44] www.lnls.br, www.nsls.bnl.gov, www.chess.cornell.edu, www.diamond.ac.uk, www.esrf.eu,


www.spring8.or.jp, and dentre outros.

[45] www.nobelprize.org/nobel_prizes/chemistry/laureates/1985/.

[46] www.nobelprize.org/nobel_prizes/medicine/laureates/1962/.

[47] www.nobelprize.org/nobel_prizes/physics/laureates/1914/.

232
[48] www.nobelprize.org/nobel_prizes/physics/laureates/1915/.

[49] www.pdb.org.

[50] Z. Yi, J. Ye, N. Kikugawa, T. Kako, S. Ouyang, H. Stuart-Williams, H. Yang, J. Cao,


W. Luo, Z. Li, Y. Liu, and R. L. Withers, An orthophosphate semiconductor with photoox-
idation properties under visible-light irradiation, Nat. Mater. 9 (2010), 559–564.

[51] W. H. Zachariasen, Theory of x-ray diffraction in crystals, John Wiley & Sons, 1945.

233
Apêndice A

Rotinas em MatLab

MatLab, ou Laboratório de Matrizes, é um ambiente de computação numérica com linguagem

de programação de 4a geração. Simples e compacta a linguagem permitiu que as mais de


80 rotinas utilizadas na elaboração deste livro fossem aqui anexadas. Outras vantagens de

MatLab são a fácil manipulação de matrizes e interfaces gráficas, e a possibilidade de chamada

programas escritos em outras linguagens tais como C, C++, Java e Fortran. Um exemplo de

programa em C++ é fornecido, rotina saxc.c. Para mais informações sobre MatLab, consulte

http://www.mathworks.com/products/matlab/.

Material de apoio para execução das rotinas disponível no site


http://fap.if.usp.br/∼morelhao/afisicaderaiosx.html.

Rotina 1: exsphere.m
function M=exsphere
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Espalhamento por esfera de densidade uniforme %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
uhalf = 1.8149;
alpha = log(2)/uhalf^2;
U = 0:0.01:20; U(1) = 1e-6;
Y = tfsphere(U);
Y = Y.*Y;
Z = exp(-alpha*(U.*U));
hf1=figure(1);
clf

234
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(U,Z,’r--’,U,Y,’b’,[1.815],[0.5],’ko’,’LineWidth’,2,’MarkerFaceColor’,’w’,’MarkerSize’,9)
set(gca,’FontSize’,14,’Color’,[0.854902 0.701961 1],’LineWidth’,1)
xlabel(’Qa’,’FontSize’,18)
ylabel(’I(Qa) / I(0)’,’FontSize’,18)
text(0.35,0.505,’Qa = 1,8149 \rightarrow’,’FontSize’,18)
axis([0 5 0 1.01])
ha2=axes(’Position’,[.48 .48 .4 .4]);
plot(U,log10(Z),’r--’,U,log10(Y),’b’,’LineWidth’,1)
set(ha2,’FontSize’,14,’Color’,[0.9 0.9 1])
xlabel(’Qa’)
ylabel(’log(I)’)
axis([0 20 -5 0.02])
M = [U; Y; Z]’;

function Z=tfsphere(u);
u3 = u.*u.*u;
Z = 3*((sin(u)-u.*cos(u))./u3);

Rotina 2: excompton.m
function M=excompton(wl)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Intensidades coerentes e incoerentes espalhadas por um único %
% elétron, considerando duas densidades de probabilidades: %
% I) |psi(r)|^2 = constantes dentro esfera de raio a=0,5A %
% II) |psi(r)|^2 do orbital 1s do hidrogênio %
% wl = comprimento de onda (Angstrom) ou energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (wl < 100) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
a = 0.53; % raio de Bohr (Angstrom)
tth = (0:0.005:1)*pi;
tth(1)=1e-6;
x = cos(tth);
P2 = 0.5*(1+x.*x);
Qa = (4*pi*a/wl)*sin(0.5*tth);
tth = tth * (180/pi);
x2 = Qa.*Qa;
x = 3*(sin(Qa)-Qa.*cos(Qa))./(x2.*Qa);
fI2 = x.*x;
Icoer1 = P2.*fI2;
Icomp1 = P2.*(1-fI2);
x = 1+0.25*x2;
x = 1./(x.*x);
fII2 = x.*x;
Icoer2 = P2.*fII2;
Icomp2 = P2.*(1-fII2);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(tth,Icoer1,’b’,tth,Icoer2,’r’,’LineWidth’,2)
hold on
plot(tth,Icomp1,’b--’,tth,Icomp2,’r--’,tth,Icoer1+Icomp1,’k-.’,’LineWidth’,1.5)
hold off
set(gca,’FontSize’,14,’Color’,[0.854902 0.701961 1],’LineWidth’,1,’YTick’,[0 0.2 0.4 0.6 0.8 1.0])
ylabel(’I(Q) / \Phi r_e^2 d\Omega’,’FontSize’,18)
xlabel(’2\theta (\circ)’,’FontSize’,18)
axis tight
text(40,0.8,’ \leftarrow I_{Th}’,’FontSize’,18,’Color’,’k’)
M = [tth; Icoer1; Icomp1; Icoer2; Icomp2]’;
X=(0:0.01:4)*a;
XX = X.*X;
Y1 = (3/a^3)*XX(find(X<=a));
n = size(Y1,2)+1;
Y1(n) = 0;
Y2 = (4/a^3)*(XX.*exp(-(2/a)*X));
ha2=axes(’Position’,[.70 .25 .19 .37]);
plot(X(1:n),Y1,’b’,X,Y2,’r’,’LineWidth’,2)
set(ha2,’FontSize’,14,’Color’,[0.9 0.9 1])

235
ylabel(’4\pir^2|\psi(r)|^2 (A^{-1})’,’FontSize’,14)
xlabel(’r (A)’,’FontSize’,14)
axis tight
text(0.5,4,’ \leftarrow I’,’FontSize’,18,’Color’,’b’,’FontName’,’Times’)
text(0.8,1,’ \leftarrow II’,’FontSize’,18,’Color’,’r’,’FontName’,’Times’)

Rotina 3: asfQ.m
function f=asfQ(atom,x);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcula fatores de espalhamento atomico, f0 %
% %
% atom = símbolo elemento, e.g. ’Ga’ %
% x = sen(th)/lambda = 0.25Q/pi (matriz m-por-n) %
% reforna f = f0 fator de espalhamento atômico %
% formato vetor linha com m*n valores %
% %
% f0(x) = c + sum_i ai * exp(-bi*x^2) i=1,2,3,4 %
% para x < 2 A^{-1}. %
% %
% A tabela dos coeficiente a1, a2, a3, a4, b1, b2, b3, %
% b4 e c foi extraída do arquivo f0_CromerMann.dat %
% disponível (em 03/03/2013) na URL: %
% http://staff.chess.cornell.edu/~smilgies/x-rays/ %
% %
% Sugestão: para raios X duros, 2 < x < 6 A^{-1}, use %
% %
% f0(x) = exp(sum_i ci * x^i) i = 0,1,2,3 %
% %
% Tabela dos coeficiente c0, c1, c2, e c3 disponível na %
% International Tables for Crystallography, volume C, %
% cap 6.1, pp. 581. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = x.*x;
sizeA = size(atom,2);
mmax = cromermann(0);
m = 1; CM=zeros(1,9); ctr = 1;
while ((ctr == 1) && (m < mmax + 1))
line = cromermann(m);
aux = find(line(1:8)==’ ’);
n = aux(1);
if (n==sizeA+1)
X = line(1:n-1);
if (X==atom)
CM = sscanf(line(9:size(line,2)),’%f’)’;
ctr = 0;
end;
end;
m = m + 1;
end;
if (ctr==1) disp([’ Elemento ’ atom ’ não encontrado!!!’]); return; end;
f = CM(1)*exp(-CM(5)*x) + CM(2)*exp(-CM(6)*x) + CM(3)*exp(-CM(7)*x) + CM(4)*exp(-CM(8)*x) + CM(9);

function line=cromermann(nn);
M = [
’C 2.310000 1.020000 1.588600 0.865000 20.843900 10.207500 0.568700 51.651200 0.215600’;
’Ga 15.235400 6.700600 4.359100 2.962300 3.066900 0.241200 10.780500 61.413500 1.718900’;
’Ga3+ 12.692000 6.698830 6.066920 1.006600 2.812620 0.227890 6.364410 14.412200 1.535450’;
’As 16.672300 6.070100 3.431300 4.277900 2.634500 0.264700 12.947900 47.797200 2.531000’];
if (nn==0) line = size(M,1);
else line = M(nn,:);
end;

Rotina 4: exasf.m
function exasf
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

236
% Gera gráfico em coordenadas polares dos %
% fatores de espalhamento atômicos %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tth = (0:2:360)*(pi/180);
S1=asfxQ(20000,’Ga’,tth);
S2=asfxQ(20000,’Ga3+’,tth);
S3=asfxQ(8000,’Ga’,tth);
S4=asfxQ(8000,’Ga3+’,tth);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(S1(:,1),S1(:,2),’b’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
hold on
plot(S2(:,1),S2(:,2),’r’,’LineWidth’,1)
plot(S3(:,1),S3(:,2),’bo’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1)
plot(S4(:,1),S4(:,2),’ro’,’MarkerFaceColor’,’w’,’MarkerSize’,4,’LineWidth’,1)
hold off
xlabel(’vetor recíproco, Q (A^{-1})’,’FontSize’,18)
ylabel(’fator de espalhamento atômico, f(Q)’,’FontSize’,18)
axis([0 21 5 32])
legend(’Ga (20kev)’,’Ga^{3+} (20kev)’,’Ga (8kev)’,’Ga^{3+} (8kev)’)
text(7.6,14,’ \downarrow’,’FontSize’,24,’Color’,’k’)
text(8.2,15,’ 8keV’,’FontSize’,24,’Color’,’k’)
text(19.6,7,’ \downarrow’,’FontSize’,24,’Color’,’k’)
text(16.5,8,’ 20keV’,’FontSize’,24,’Color’,’k’)
hf1=figure(2);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(S2(:,3),S2(:,4),’--r’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
hold on
plot(S1(:,3),S1(:,4),’b’,’LineWidth’,2)
plot(S4(:,3),S4(:,4),’--r’,’LineWidth’,2)
plot(S3(:,3),S3(:,4),’b’,’LineWidth’,2)
plot([-1 1],[0 0],’k’,[0 0],[1 -1],’k’,’LineWidth’,1)
hold off
xlabel(’x’,’FontSize’,18)
ylabel(’y’,’FontSize’,18)
xmin=min(S3(:,3));
xmax=max(S3(:,3));
ymin=min(S3(:,4));
ymax=max(S3(:,4));
axis(1.12*[xmin xmax ymin ymax])
text(-10,8,’ \leftarrow 8keV’,’FontSize’,18,’Color’,’k’)
text(-4.5,-3,’ \leftarrow 20keV’,’FontSize’,18,’Color’,’k’)
text(30.5,4,’\downarrow’,’FontSize’,18,’Color’,’b’)
text(30,7,’Ga’,’FontSize’,18,’Color’,’b’)
text(20,0.5,’ Ga^{3+} \rightarrow’,’FontSize’,18,’Color’,’r’)
grid
fprintf(1,’ Escalar para x/y: %1.3f (W=8,H=6.4)\n’,(xmax-xmin)/(ymax-ymin));

function S=asfxQ(wl,atom,tth)
if (wl > 100) wl = 12398.5 / wl; end;
x = sin(0.5*tth)/wl;
S(:,1) = (4*pi) * x;
F = asfQ(atom,x);
S(:,2) = F;
S(:,3) = F .* cos(tth);
S(:,4) = F.* sin(tth);

Rotina 5: sgrayleigh.m
function Z=sgrayleigh(A,E);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Seçao-de-choque do %
% espalhamento coerente (Rayleigh) %
% %
% A = símbolo elemento, e.g. ’Ca’ %

237
% E = valores de energia em eV (E < 100 => E = 1000*E) %
% retorna Z = [E sgr] %
% | | %
% | seção-de-choque Rayleigh (barn) %
% energia (eV) %
% %
% A tabela dos coeficiente c0, c1, c2 e c3 %
% foi extraída do arquivo CrossSec-Rayleigh_McMaster.dat %
% disponível (em 03/03/2013) na URL: %
% http://ftp.esrf.eu/pub/scisoft/xop2.3/DabaxFiles/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (E(1)<100) E = 1000*E; end;
sizeA = size(A,2);
m = 1; C=zeros(1,4); ctr = 1;
while ((ctr == 1) && (m < 93))
line = mcmaster(m);
aux = find(line(1:7)==’ ’);
n = aux(1);
if (n==sizeA+1)
X = line(1:n-1);
if (X==A)
C = sscanf(line(7:size(line,2)),’%f’)’;
ctr = 0;
end;
end;
m = m + 1;
end;
X = log(0.001*E);
X2 = X.*X;
X = C(1) + C(2)*X + C(3)*X2 + C(4)*(X2.*X);
X = exp(X);
nn = size(E);
for n=1:nn(1)*nn(2) Z(n,:) = [E(n) X(n)]; end;

function line=mcmaster(nn);
M = [
’C 3.10859990 -0.26058000 -0.27197000 0.01351800’;
’O 3.77239990 -0.14854001 -0.30712000 0.01673000’];
line = M(nn,:); % completar matriz M para outros átomos

Rotina 6: exsgr.m
function M=exsgr(atom,Emin,Emax,Np);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Seções-de-choque do espalhamento coerente (Rayleigh) %
% %
% atom = símbolo elemento, e.g. ’Ga’ %
% Emin,Emax = energias mínima e máxima (eV ou keV) %
% Rotinas segundárias: asfQ.m e sgrayleigh.m %
% Np = númeo de pontos na curva de sg_R x E %
% Retorna M = [E sg1 sg2] %
% | | | %
% | | seção-de-choque Rayleigh, solução analítica (barn) %
% | seção-de-choque Rayleigh, interpolação linear (barn) %
% energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Emin = abs(Emin); Emax = abs(Emax);
if (Emax < Emin) E = Emax; Emax = Emin; Emin = E; end;
if (Emin>500) Emin = 0.001*Emin; Emax = 0.001*Emax; end;
if (Emin<2) Emin = 2; end;
if (Emax>70) Emax = 70; end;
Emin=1000*Emin; Emax=1000*Emax;
if (Np<2) Np=2; end;
dE = (Emax-Emin)/(Np-1);
E = Emin:dE:Emax;
NE = size(E,2);
rad = pi/180;
re = 2.817940285e-15; % (m)
hc = 12398.5; % (eV.A)

238
invWL = E/hc;
dtth = 0.2; % (deg)
TTH = 0:dtth:180; % (deg)
X = TTH * rad;
dx = dtth * rad;
aux1 = pi * re * re * dx * 1e+28;
Ntth = size(X,2);
SinG = sin(X);
PSinG = (2-SinG.*SinG).*SinG;
for nn = 1:NE
f = asfQ(atom,invWL(nn)*sin(0.5*X));
f = f.*f;
M(nn,1) = E(nn);
M(nn,2) = aux1*sum(PSinG.*f);
end;
S = sgrayleigh(atom,E);
M(:,3) = S(:,2);
Y=0.001*E;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Y,M(:,3),’k’,’LineWidth’,2)
hold on
plot(Y,M(:,2),’-.bo’,’MarkerFaceColor’,’w’,’MarkerSize’,8,’LineWidth’,1.5)
hold off
set(gca,’FontSize’,14,’Color’,[0.854902 0.701961 1],’LineWidth’,1)
ylabel(’\sigma_R (barn)’,’FontSize’,18)
xlabel(’Energia (keV)’,’FontSize’,18)
axis tight; grid
legend(’solução analítica’,’integração numérica’,1)
n = round(0.5*NE);
text(Y(n),M(n,3),atom,’FontSize’,36,’Color’,[0.98 0.98 0.98],’FontWeight’,’bold’)

Rotina 7: benzeneonpsp.m
function I=benzeneonpsp(thx,thy,thz,D,L,pixel,wl)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Intensidade espalhada por uma molécula 6C sobre filme cilíndrico %
% Orientação da molécula R(thx,thy,thz), filme de raio D (mm), %
% comprimento 2L (mm) com pixeis de tamanho pixel (mm) %
% wl = comprimento de onda (Angstroms) ou energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
name=’benzeneonpsp’;
rad = pi / 180;
deg = 1/rad;
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
aux = 2 * pi / wl;
s = [1 0 0];
e = [0 0 1];
dz = pixel;
n = floor(2*L/dz);
LimZ = 0.5*n*dz;
Z = -LimZ:dz:LimZ;
Nz = size(Z,2);
dphi = pixel / D;
n = floor(pi/dphi);
LimPhi = 0.5*(2*n-1)*dphi;
phi = -LimPhi:dphi:LimPhi;
Nphi = size(phi,2);
D2 = D*D;
aux1 = D2*dz*dphi;
c0 = fix(clock);
hora = [num2str(c0(4)) ’:’ num2str(c0(5)) ’:’ num2str(c0(6))];
disp([name ’ started at ’ hora])
Rn = benzene([thx thy thz]*rad);
for nz = 1:Nz
z = Z(nz);
invr = 1/sqrt(z*z+D2);
DOmega = aux1*invr*invr*invr;

239
X(1:Nphi,nz)=z;
for np = 1:Nphi
y = phi(np);
cphi = cos(y);
sphi = sin(y);
sprime = invr*[D*cphi D*sphi z];
p = cross(sprime,cross(e,sprime));
p = p * p’;
Q = aux * (sprime - s);
F = Fbenzene(Q,Rn);
Ic(np,nz)= p*F*conj(F)*DOmega;
Y(np,nz)= y*deg;
end;
end;
I = real(Ic);
Imin = min(min(I));
Ic = I + Imin;
c1 = fix(clock);
hora = [num2str(c1(4)) ’:’ num2str(c1(5)) ’:’ num2str(c1(6))];
disp([name ’ ended at ’ hora])
Dc = c1-c0;
if (Dc(6)<0) Dc(6)=60+Dc(6); Dc(5)=Dc(5)-1; end;
if (Dc(5)<0) Dc(5)=60+Dc(5); Dc(4)=Dc(4)-1; end;
if (Dc(4)<0) Dc(4)=24+Dc(4); end;
hora = [num2str(Dc(4)) ’:’ num2str(Dc(5)) ’:’ num2str(Dc(6))];
disp([’ Time delay = ’ hora ’ (h:m:s)’])
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
surf(X,Y,log10(Ic))
axis image
shading interp
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
set(gca,’YTick’,[-180 -120 -60 0 60 120 180],’ZTick’,[],’DataAspectRatio’,[1 1 0.3])
colormap(jet)
colorbar(’XColor’,’k’,’FontSize’,14,’Location’,’East’,’LineWidth’,1)
xlabel(’eixo do filme, z (mm)’,’FontSize’,18,’Rotation’,21)
ylabel(’2\theta ({\circ})’,’FontSize’,18)
text(-1160,-2020,400,’Log(I)’,’FontSize’,14)

function Rn=benzene(Or);
thx = Or(1);
thy = Or(2);
thz = Or(3);
ra=1.4;
th = [0 60 120 180 240 300] * (pi/180) + thx;
r = ra*[zeros(1,6); cos(th); sin(th)]’;
cthz = cos(thz);
sthz = sin(thz);
cthy = cos(thy);
sthy = sin(thy);
Ry = [cthy 0 -sthy; 0 1 0; sthy 0 cthy];
Rz = [cthz -sthz 0; sthz cthz 0; 0 0 1];
Rn = Rz*Ry*r’;

function F=Fbenzene(Q,Rn);
CM = [2.31 1.02 1.5886 0.865 20.8439 10.2075 0.5687 51.6512 0.2156];
Z = i*(Q*Rn);
x = 0.25*sqrt(Q*Q’)/pi;
f = CM(1)*exp(-CM(5)*x) + CM(2)*exp(-CM(6)*x) + CM(3)*exp(-CM(7)*x) + CM(4)*exp(-CM(8)*x) + CM(9);
F = f * sum(exp(Z));

Rotina 8: photonsonpsp.m
function I=photonsonpsp(thx,thy,thz,D,L,pixel,wl,Nphotons)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Nphotons fótons espalhados por molécula 6C sobre filme cilíndrico %
% Orientação da molécula R(thx,thy,thz), filme de raio D (mm), %
% comprimento 2L (mm) com pixeis de tamanho pixel (mm) %

240
% wl = comprimento de onda (Angstroms) ou energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
name=’photonsonpsp’;
rad = pi / 180;
deg = 1/rad;
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
aux = 2 * pi / wl;
s = [1 0 0];
e = [0 0 1];
dz = pixel;
n = floor(2*L/dz);
LimZ = 0.5*n*dz;
Z = -LimZ:dz:LimZ;
Nz = size(Z,2);
dphi = pixel / D;
n = floor(pi/dphi);
LimPhi = 0.5*(2*n-1)*dphi;
phi = -LimPhi:dphi:LimPhi;
Nphi = size(phi,2);
D2 = D*D;
aux1 = D2*dz*dphi;
c0 = fix(clock);
hora = [num2str(c0(4)) ’:’ num2str(c0(5)) ’:’ num2str(c0(6))];
disp([name ’ started at ’ hora])
Rn = benzene([thx thy thz]*rad);
for nz = 1:Nz
z = Z(nz);
invr = 1/sqrt(z*z+D2);
DOmega = aux1*invr*invr*invr;
for np = 1:Nphi
y = phi(np);
cphi = cos(y);
sphi = sin(y);
sprime = invr*[D*cphi D*sphi z];
p = cross(sprime,cross(e,sprime));
p = p * p’;
Q = aux * (sprime - s);
F = Fbenzene(Q,Rn);
Ic(np,nz)= p*F*conj(F)*DOmega;
end;
end;
W = real(Ic);
Wmin = min(min(W));
W = W + Wmin;
I=photonstatistic(W,Nphotons)+1;
c1 = fix(clock);
hora = [num2str(c1(4)) ’:’ num2str(c1(5)) ’:’ num2str(c1(6))];
disp([name ’ ended at ’ hora])
Dc = c1-c0;
if (Dc(6)<0) Dc(6)=60+Dc(6); Dc(5)=Dc(5)-1; end;
if (Dc(5)<0) Dc(5)=60+Dc(5); Dc(4)=Dc(4)-1; end;
if (Dc(4)<0) Dc(4)=24+Dc(4); end;
hora = [num2str(Dc(4)) ’:’ num2str(Dc(5)) ’:’ num2str(Dc(6))];
disp([’ Time delay = ’ hora ’ (h:m:s)’])
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
imagesc([-LimZ LimZ],[-1 1]*D*pi,log10(I))
axis image
set(gca,’FontSize’,14,’LineWidth’,1,’YTick’,[-150 -100 -50 0 50 100 150])
colormap(hot)
colorbar(’XColor’,’k’,’YColor’,’k’,’FontSize’,14,’Location’,’East’,’LineWidth’,1)
xlabel(’eixo do filme, z (mm)’,’FontSize’,18)
ylabel(’perímetro do filme (mm)’,’FontSize’,18)
text(0,0,5000,’Log(número de fótons / pixel)’,’FontSize’,18,’Rotation’,90,’Color’,’k’)

function Rn=benzene(Or);
thx = Or(1);
thy = Or(2);
thz = Or(3);
ra=1.4;

241
th = [0 60 120 180 240 300] * (pi/180) + thx;
r = ra*[zeros(1,6); cos(th); sin(th)]’;
cthz = cos(thz);
sthz = sin(thz);
cthy = cos(thy);
sthy = sin(thy);
Ry = [cthy 0 -sthy; 0 1 0; sthy 0 cthy];
Rz = [cthz -sthz 0; sthz cthz 0; 0 0 1];
Rn = Rz*Ry*r’;

function F=Fbenzene(Q,Rn);
CM = [2.31 1.02 1.5886 0.865 20.8439 10.2075 0.5687 51.6512 0.2156];
Z = i*(Q*Rn);
x = 0.25*sqrt(Q*Q’)/pi;
f = CM(1)*exp(-CM(5)*x) + CM(2)*exp(-CM(6)*x) + CM(3)*exp(-CM(7)*x) + CM(4)*exp(-CM(8)*x) + CM(9);
F = f * sum(exp(Z));

function Z=photonstatistic(M,N);
soma = sum(sum(M));
rand(’state’,sum(100*clock));
Z = zeros(size(M));
for np = 1:N
aux = 0; photon = soma*rand; nn = 0;
while (aux<photon)
nn = nn + 1;
aux = aux + M(nn);
end;
Z(nn) = Z(nn) + 1;
end;

Rotina 9: csfQ.m
function S=csfQ(atom,X)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Rotina de interpolação linear das funções %
% S(x,Z) de espalhamento incoerente (Compton) %
% %
% atom = símbolo elemento, e.g. ’Ga’, de ’H’ a ’Cs’ (Z de 1 a 55) %
% X = valores sin(th)/lambda = 0.25*Q/pi (intervalo: 0 a 2 A^{-1}) %
% e.g. X=0:0.05:2; %
% retorna S = [x f] %
% | | %
% | função de espalhamento Compton (# elétrons) %
% sen(th)/lambda (A^{-1}) %
% %
% A tabela das funções S(x,Z) foi obtida da International Tables %
% for Crystallography (2006), volume C, cap. 7.4, pp. 658 %
% http://onlinelibrary.wiley.com/book/10.1107/97809553602060000001/toc %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X(find(X<0))=0;
X(find(X>2))=2;
s=size(X); NofX=s(1)*s(2);
sizeA = size(atom,2);
W(1,:) = [.1 .2 .3 .4 .5 .6 .7 .8 .9 1.0 1.5 2.0];
m = 1; W(2,:)=zeros(1,12); ctr = 1;
while ((ctr == 1) && (m < 56))
line = hubbell(m);
aux = find(line(1:8)==’ ’);
n = aux(1);
if (n==sizeA+1)
A = line(1:n-1);
if (A==atom)
W(2,:) = sscanf(line(9:size(line,2)),’%f’)’;
ctr = 0;
end;
end;
m = m + 1;
end;
if (ctr==1)

242
disp([’ Elemento ’ atom ’ não encontrado!!! Calculando Compton para o Cs.’]);
W(2,:) = sscanf(line(9:size(line,2)),’%f’)’;
end;
NofW = 12;
for nx = 1:NofX
x = X(nx);
x2 = 0; f = 0;
nw = 1;
while (nw <= NofW)
x1 = x2; y = f;
x2 = W(1,nw); f = W(2,nw);
if (x2 > x)
f = (f - y) * (x - x1) / (x2 - x1) + y;
nw = NofW;
end;
nw = nw + 1;
end;
S(nx,:) = [x f];
end;

function line=hubbell(m)
M = [
’C 1.039 2.604 3.643 4.184 4.478 4.690 4.878 5.051 5.208 5.348 5.781 5.930’;
’Cs 4.320 9.615 14.217 17.753 20.612 23.228 25.691 27.981 30.064 31.914 38.232 42.129’];
line=M(m,:); % completar matriz M para outros átomos...

Rotina 10: sgcompton.m


function Z=sgcompton(A,E)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Seçao-de-choque do %
% espalhamento incoerente (Compton) %
% %
% A = símbolo elemento, e.g. ’Ca’ %
% E = valores de energia em eV (E < 100 => E = 1000*E) %
% retorna Z = [E sgc] %
% | | %
% | seção-de-choque Compton (barn) %
% energia (eV) %
% %
% A tabela dos coeficiente c0, c1, c2 e c3 %
% foi extraída do arquivo CrossSec-Compton_McMaster.dat %
% disponível (em 03/08/2011) na URL: %
% http://ftp.esrf.eu/pub/scisoft/xop2.3/DabaxFiles/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (E(1)<100) E = 1000*E; end;
sizeA = size(A,2);
m = 1; C=zeros(1,4); ctr = 1;
while ((ctr == 1) && (m < 93))
line = mcmaster(m);
aux = find(line(1:7)==’ ’);
n = aux(1);
if (n==sizeA+1)
X = line(1:n-1);
if (X==A)
C = sscanf(line(7:size(line,2)),’%f’)’;
ctr = 0;
end;
end;
m = m + 1;
end;
X = log(0.001*E);
X2 = X.*X;
X = C(1) + C(2)*X + C(3)*X2 + C(4)*(X2.*X);
X = exp(X);
nn = size(E);
for n=1:nn(1)*nn(2) Z(n,:) = [E(n) X(n)]; end;

function line=mcmaster(nn);

243
M = [
’Ca -0.0982419998 1.3283000000 -0.2137500050 0.0077306000’;
’Cs 0.1848600060 1.5003000500 -0.2133300010 0.0062425998’];
line = M(nn,:); % completar matriz M para outros átomos...

Rotina 11: exsgc.m


function M=exsgc(atom,Emin,Emax,Np)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Seções-de-choque do espalhamento incoerente (Compton) %
% %
% atom = símbolo elemento, e.g. ’Ga’, de ’H’ a ’Cs’ (Z de 1 a 55) %
% Emin,Emax = energias mínima e máxima (eV ou keV), até 25keV %
% Rotinas segundárias: csfQ.m e sgcompton.m %
% Np = númeo de pontos na curva de sg_C x E %
% Retorna M = [E sg1 sg2] %
% | | | %
% | | seção-de-choque Compton, solução analítica (barn) %
% | seção-de-choque Compton, interpolação linear (barn) %
% energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Emin = abs(Emin); Emax = abs(Emax);
if (Emax < Emin) E = Emax; Emax = Emin; Emin = E; end;
if (Emin>500) Emin = 0.001*Emin; Emax = 0.001*Emax; end;
if (Emin<1) Emin = 1; end;
if (Emax>25) Emax = 25; end;
Emin=1000*Emin; Emax=1000*Emax;
if (Np<2) Np=2; end;
dE = (Emax-Emin)/(Np-1);
E = Emin:dE:Emax;
NE = size(E,2);
rad = pi/180;
re = 2.817940285e-15; % (m)
hc = 12398.5; % (eV.A)
invWL = E/hc;
dtth = 0.2; % (deg)
TTH = 0:dtth:180; % (deg)
X = TTH * rad;
dx = dtth * rad;
aux1 = pi * re * re * dx * 1e+28;
Ntth = size(X,2);
SinG = sin(X);
PSinG = (2-SinG.*SinG).*SinG;
for nn = 1:NE
S = csfQ(atom,invWL(nn)*sin(0.5*X));
M(nn,1) = E(nn);
M(nn,2) = aux1*sum(PSinG.*(S(:,2)’));
end;
S = sgcompton(atom,E);
M(:,3) = S(:,2);
Y=0.001*E;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Y,M(:,3),’k’,’LineWidth’,2)
hold on
plot(Y,M(:,2),’-.bo’,’MarkerFaceColor’,’w’,’MarkerSize’,8,’LineWidth’,1.5)
hold off
set(gca,’FontSize’,14,’Color’,[0.854902 0.701961 1],’LineWidth’,1)
ylabel(’\sigma_C (barn)’,’FontSize’,18)
xlabel(’Energia (keV)’,’FontSize’,18)
axis tight; grid
legend(’solução analítica’,’interpolação linear’,4)
n = round(0.5*NE);
text(Y(n),M(n,3),atom,’FontSize’,36,’Color’,[0.98 0.98 0.98],’FontWeight’,’bold’)

Rotina 12: excsf.m

244
function excsf(atom,E1,E2,p)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Espalhamento coerente e incoerente por um átomo, comparação %
% em coordenadas polares para duas energias diferentes %
% %
% atom = símbolo elemento, e.g. ’Ca’ %
% E1,E2 = valores de energia em eV (E < 100 => E = 1000 * E) %
% p = 0, 1, 2 (polarização) %
% | | | %
% | | não polarizado %
% | polarização pi %
% polarização sigma %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (E1<100) E1 = 1000*abs(E1); end;
if (E2<100) E2 = 1000*abs(E2); end;
labelE1 = [num2str(round(0.001*E1)) ’keV’];
labelE2 = [num2str(round(0.001*E2)) ’keV’];
tth = (0:1:360)*(pi/180);
if (p==1)
P2 = cos(tth)’;
P2 = P2.*P2;
labelP = ’polarização \pi’;
elseif (p==2)
P2 = cos(tth)’;
P2 = 0.5*(1+P2.*P2);
labelP = ’radiação não polarizada’;
else
P2 = ones(size(tth,2),1);
labelP = ’polarização \sigma’;
end;
S1=asfxQ(E1,atom,tth,P2);
S2=csfxQ(E1,atom,tth,P2);
S3=asfxQ(E2,atom,tth,P2);
S4=csfxQ(E2,atom,tth,P2);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(S1(:,3),S1(:,4),’b’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93],’LineWidth’,1,’Position’,[0.13 0.02 0.775 0.9])
hold on
plot(S2(:,3),S2(:,4),’--b’,’LineWidth’,1)
plot(S3(:,3),S3(:,4),’r’,’LineWidth’,2)
plot(S4(:,3),S4(:,4),’--r’,’LineWidth’,1)
plot([-1 1],[0 0],’k’,[0 0],[1 -1],’k’,’LineWidth’,1)
hold off
xlabel(’x’,’FontSize’,18)
ylabel(’y’,’FontSize’,18)
axis image
if (atom==’C’ & E2==8000 & E1==20000)
axis([-8 38 -9 9])
text(-7.5,6.7,’C’,’FontSize’,36,’Color’,[0.855 0.702 1],’FontWeight’,’bold’)
end;
grid
legend([’coerente ’ labelE1],[’compton ’ labelE1],[’coerente ’ labelE2],[’compton ’ labelE2])
title([atom ’, ’ labelP],’FontSize’,18)

function S=asfxQ(wl,atom,tth,P2)
if (wl > 100) wl = 12398.5 / wl; end;
x = sin(0.5*tth)/wl;
S(:,1) = (4*pi) * x;
F = asfQ(atom,x)’;
F2(:,1) = F.*F.*P2;
S(:,2) = F2;
S(:,3) = F2 .* cos(tth’);
S(:,4) = F2 .* sin(tth’);

function S=csfxQ(wl,atom,tth,P2)
if (wl > 100) wl = 12398.5 / wl; end;
x = sin(0.5*tth)/wl;
S(:,1) = (4*pi) * x;
Y = csfQ(atom,x);

245
F = Y(:,2).*P2;
S(:,2) = F;
S(:,3) = F .* cos(tth’);
S(:,4) = F .* sin(tth’);

Rotina 13: fpfpp.m


function M=fpfpp(A,EE)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Rotina de interpolação linear dos %
% fatores de espalhamento anômalo %
% %
% A = símbolo elemento, e.g. ’Ga’ %
% EE = valores de energia, de 1000 e 70000 eV, %
% e.g. EE=8000:5:11000; %
% retorna M = [E fa1 fa2 sg] %
% | | | | %
% | | | seção-de-choque de absorção (barn) %
% | | f" (# elétrons) %
% | f’ (# elétrons) %
% energia (eV) %
% %
% A tabela dos fatores de espalhamento anômalo foi extraída %
% do arquivo f1f2_CromerLiberman.dat disponível (04/03/2013) %
% na URL: http://ftp.esrf.eu/pub/scisoft/xop2.3/DabaxFiles/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
s=size(EE); NofE=s(1)*s(2);
if (EE(NofE)<500) EE = 1000*EE; end;
aux = 2000 * 2.818 * 12398.5;
W = dispersion(atomnm(A));
NofW = size(W,1);
if (NofW == 1)
disp([’ Elemento ’ A ’ desconhecido!!!’]);
M = 0;
return;
end;
EE(find(EE<=0)) = 0.1;
for ne = 1:NofE
E = EE(ne);
nw = 1; ctr = 0;
E2 = 0; fa1 = W(nw,2); fa2 = W(nw,3);
while (nw <= NofW)
E1 = E2; x = fa1; y = fa2;
E2 = W(nw,1); fa1 = W(nw,2); fa2 = W(nw,3);
if (E2 > E)
fa1 = (fa1 - x) * (E - E1) / (E2 - E1) + x;
fa2 = (fa2 - y) * (E - E1) / (E2 - E1) + y;
nw = NofW; ctr = 1;
end;
nw = nw + 1;
end;
if (ctr==0) fa1 = W(nw-1,2); fa2 = W(nw-1,3); end;
M(ne,:) = [E fa1 fa2 aux*fa2/E];
end;

function nm=atomnm(A)
M = [
’Li 1 1024’;
’Be 1025 2048’;
’B 2049 3072’;
’C 3073 4096’]; % matriz M a ser completada para outros átomos....
if (size(A,2)==1) A = [A ’ ’]; end;
nm = [1 1];
n = 1;
while (n<=96)
if (A(1)==M(n,1) && A(2)==M(n,2))
nm = sscanf(M(n,3:14),’%f’);
n = 96;
end;
n = n + 1;

246
end;

function Z=dispersion(nm)
M = [
% para cada elemento na function atomnm (acima),
% introduzir na mesma sequência 1024 linhas com os valores de energia (eV), f’ e f’’....
];
Z=M(nm(1):nm(2),:);

Rotina 14: exfpfpp.m


function Z=exfpfpp(atom,Emin,Emax)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Estimativa das seções-de-choque do espalhamento coerente (Rayleigh) %
% %
% atom = símbolo elemento, e.g. ’Ga’ %
% Emin,Emax = energias mínima e máxima, de 1 a 70 keV %
% Rotinas segundárias: fpfpp.m e asfQ.m %
% Retorna Z = [E fa1 fa2 sga sge sgr] %
% | | | | | | %
% | | | | | seção-de-choque de espalhamento (com ress., barn) %
% | | | | seção-de-choque de espalhamento (sem ress., barn) %
% | | | seção-de-choque de absorção (barn) %
% | | f" (# elétrons) %
% | f’ (# elétrons) %
% energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Emin = abs(Emin); Emax = abs(Emax);
if (Emax < Emin) E = Emax; Emax = Emin; Emin = E; end;
if (Emin>500) Emin = 0.001*Emin; Emax = 0.001*Emax; end;
if (Emin<1) Emin = 1; end;
if (Emax>70) Emax = 70; end;
Emin=1000*Emin; Emax=1000*Emax;
if (Emax-Emin<20) E = [Emin Emin+10]; dE = 10;
else E = Emin:10:Emax; dE = E(3)-E(2);
end;
NE = size(E,2);
M = fpfpp(atom,E);
rad = pi/180;
re = 2.818e-15; % (m)
hc = 12398.5; % (eV.A)
invWL = E/hc;
dtth = 0.2; % (deg)
TTH = 0:dtth:180; % (deg)
X = TTH * rad;
dx = dtth * rad;
aux1 = pi * re * re * dx * 1e+28;
aux2 = 8 * pi * re * re / 3 *1e+28;
Ntth = size(X,2);
SinG = sin(X);
PSinG = (2-SinG.*SinG).*SinG;
for nn = 1:NE
fres = M(nn,2:3);
f = asfQ(atom,invWL(nn)*sin(0.5*X));
fr = f.*(f + 2*fres(1));
f = f.*f;
I(nn) = aux1*sum(PSinG.*f);
Ir(nn) = aux1*sum(PSinG.*fr) + aux2*sum(fres.*fres);
end;
Z = M;
c = size(Z,2);
Z(:,c+1:c+2) = [I; Ir]’;
Y=0.001*E;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Y,I,’k--’,Y,Ir,’k’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[0.854902 0.701961 1],’LineWidth’,1)
ylabel(’\sigma_R (barn)’,’FontSize’,18)

247
xlabel(’Energia (keV)’,’FontSize’,18)
axis tight
legend(’sem ress.’,’com ress.’,3)
n=find(M(:,2)==min(M(:,2)));
if isempty(n)
n1 = 1; n2 = NE; n = (n1+n2)/2;
else
Eedge = E(n);
if (Eedge-E(1) > 5000)
n1 = find(abs(E-Eedge+5000)<dE);
else n1 = 1;
end;
if (E(NE)-Eedge > 5000)
n2 = find(abs(E-Eedge-5000)<dE);
else n2 = NE;
end;
end
n1 = n1(1); n2 = n2(1);
ha2=axes(’Position’,[.48 .45 .4 .4]);
plot(Y(n1:n2),M(n1:n2,2),’b’,Y(n1:n2),M(n1:n2,3),’r’,’LineWidth’,2)
set(ha2,’FontSize’,14,’Color’,[0.93 0.93 0.93])
ylabel(’Amplitudes de ressonância’,’FontSize’,14)
xlabel(’Energia (keV)’,’FontSize’,14)
axis tight
legend(’f \prime’,’f \prime\prime’,4)

Rotina 15: exabscs.m


function exabscs(atom,Emin,Emax)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% atom = símbolo do elemento, e.g. ’Ag’ %
% Emin,Emax = energias mínima e máxima, de 1 a 70 keV %
% Rotinas segundárias: fpfpp.m %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
re = 2.818e-15; % (m)
hc = 12398.5; % (eV.A)
if (Emin<100) Emin = 1000*Emin; end;
if (Emax<100) Emax = 1000*Emax; end;
if (Emin<1000) Emin = 1000; end;
if (Emax>70000) Emax = 70000; end;
E = Emin:10:Emax;
NE = size(E,2);
M = fpfpp(atom,E);
Y = M(:,4)’; %barn
Np = 1:20:NE;
X = 0.001*E(Np);
X0 = 0.001*E;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
loglog(X,Y(Np),’-.ko’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
ylabel(’\sigma_a (barn)’,’FontSize’,18)
xlabel(’Energia (keV)’,’FontSize’,18)
axis tight; grid
n=find(M(:,2)==min(M(:,2)));
dE = E(3)-E(2);
if isempty(n) n1 = 1; n2 = NE; n = (n1+n2)/2;
else
Eedge = E(n);
if (Eedge-E(1) > 5000) n1 = find(abs(E-Eedge+5000)<dE);
else n1 = 1;
end;
if (E(NE)-Eedge > 5000) n2 = find(abs(E-Eedge-5000)<dE);
else n2 = NE;
end;
end
n1 = n1(1); n2 = n2(1);
if (n-n1 < 12) disp(’ Emin muito próximo da borda!!!’); return; end;

248
if (n2-n < 12) disp(’ Emax muito próximo da borda!!!’); return; end;
Xb = log(X0(1:n-10)); Xa = log(X0(n+10:NE));
Yb = log(Y(1:n-10)); Ya = log(Y(n+10:NE));
Ybi = interp1(Xb,Yb,Xb);
Ab = (Ybi(2)-Ybi(1))/(Xb(2)-Xb(1));
labelAb = [’ \leftarrow {\it n} = ’ num2str(0.01*round(100*Ab))];
Yai = interp1(Xa,Ya,Xa);
Aa = (Yai(2)-Yai(1))/(Xa(2)-Xa(1));
labelAa = [’ \leftarrow {\it n} = ’ num2str(0.01*round(100*Aa))];
hold on
loglog(exp(Xb),1.1*exp(Ybi),’b’,exp(Xa),1.1*exp(Yai),’r’,’LineWidth’,2)
hold off
nb = round(0.2*(1+n-10));
na = round(0.3*(n+10+NE));
text(X0(nb),Y(nb),labelAb,’FontSize’,18,’Color’,’b’)
text(X0(na),Y(na),labelAa,’FontSize’,18,’Color’,’r’)
fprintf(’\n Edge = %0.3f keV\n’,0.001*Eedge)
Bbi = Y(n-10)/X0(n-10)^(Ab);
fprintf(’ below edge: %0.5gE^{%0.5f}\n’,Bbi,Ab);
Bai = Y(n+10)/X0(n+10)^(Aa);
fprintf(’ above edge: %0.5gE^{%0.5f}\n\n’,Bai,Aa);

Rotina 16: exexafsmap.m


function exexafsmap
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% EXAFS c/ 4 vizinhos %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
E = 200; % eV
R = 5; % Angstroms
rad = pi / 180;
k = 0.512315*sqrt(E);
dr = R / 100;
M = -R:dr:R;
Np = size(M,2);
xy = [0 0; 0.5 0.5; -0.5 -0.5; 0.3 -0.3; -0.3 0.3] * R;
for n = 1:5 modR(n) = sqrt(xy(n,:)*xy(n,:)’); end;
psh = k * modR;
an = 0.1; kan = k * an;
A = [1 i i i i]./[1 modR(2:5)];
for n = 1:Np
y = M(n);
for m = 1:Np
x = M(m);
for nn = 1:5
ra2 = [x y] - xy(nn,:);
ra = sqrt(ra2*ra2’);
if (ra<an) ra = an; end;
kr = k * ra;
arg = kr + psh(nn);
den = kan / kr;
psi(nn) = A(nn) * exp(i*arg) * den;
end;
z = sum(psi);
Z(n,m) = z*conj(z);
X(n,m) = x; Y(n,m) = y;
end;
end;
logZ = log10(Z);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
surf(X,Y,logZ)
axis tight
shading interp
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
set(gca,’ZTick’,[],’DataAspectRatio’,[.15 .15 1])
colormap(jet)
view(150,30)

249
xlabel(’x (A)’,’FontSize’,18,’Rotation’,18)
ylabel(’y (A)’,’FontSize’,18,’Rotation’,-45 )
colorbar(’XColor’,’k’,’FontSize’,14,’Location’,’East’,’LineWidth’,1)
text(0,0,1,’log(P)’,’FontSize’,18,’Rotation’,90)

Rotina 17: exexafs.m


function exexafs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% EXAFS c/ 4 vizinhos %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M = fpfpp(’Mn’,6000:2:9000);
E = M(:,1)’;
NE = size(M,1);
Sga = 0.001*M(:,4)’;
nb = find(M(:,2)==min(M(:,2)));
Eb = M(nb,1);
K = E(nb:NE)-Eb; % energia cinética do fotoelétron em eV
co = 0.512315; % unidade A^{-1}/sqrt{eV}
ke = co * sqrt(K);
ke(1) = 1e-6;
ke2 = ke.*ke;
ke3 = ke2.*ke;
Nk = size(ke,2);
kmax = 5;
aux = exp(2) / kmax^2;
Rke = (aux*ke2).*exp((-2/kmax)*ke);
Rke_ke = Rke./ke;
pke = 2*(exp((-0.05)*ke)-1.1);
R = 5; % posições atômicas (Angstroms)
xy = [0.5 0.5; -0.5 -0.5; 0.3 -0.3; -0.3 0.3] * R;
Nat = size(xy,1);
for n = 1:Nat
rn = sqrt(xy(n,:)*xy(n,:)’);
chi(n,:) = Rke_ke.*sin((2*rn)*ke + pke)/(rn*rn);
chi10(n,:) = Rke_ke.*sin((2*rn)*ke + 10*pke)/(rn*rn);
Rn(n) = rn;
end;
Chi = sum(chi,1);
Chi10 = sum(chi10,1);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(ke,Chi.*ke3,’r’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[1 0.95 0.87],’LineWidth’,1)
xlabel(’k_e (A^{-1})’,’FontSize’,18)
ylabel(’k_e^3 \chi(k_e)’,’FontSize’,18)
axis tight
Sgp = [Sga(1:nb-1) Sga(nb:NE).*(1+Chi)];
E=0.001*E;
hf2=figure(2);
clf
set(hf2,’InvertHardcopy’, ’off’,’Color’,’w’)
loglog(E,Sga,’-.k’,E(nb:NE),Sgp(nb:NE),’r’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[1 0.95 0.87],’LineWidth’,1)
set(gca,’XTick’,[6 7 8 9],’YTick’,[6 8 10 20 40])
xlabel(’Energia (keV)’,’FontSize’,18)
ylabel(’\sigma_a (10^3 barn)’,’FontSize’,18)
text(8.6,37.5,’Mn’,’FontSize’,36,’Color’,[0.871 0.49 0],’FontWeight’,’bold’)
axis tight
grid
ha1=gca;
navg = round((nb+NE)/3);
ha2=axes(’Position’,[.35 .18 .4 .4]);
loglog(E(nb-3:navg),Sga(nb-3:navg),’-.k’,E(nb:navg),Sgp(nb:navg),’r’,’LineWidth’,2)
set(ha2,’FontSize’,14,’Color’,[0.973 0.973 0.973])
axis tight
set(ha2,’XTick’,[],’YTick’,[])

250
xx = get(ha2,’XLim’)*[1 0 0 1 1; 0 1 1 0 0];
yy = get(ha2,’YLim’)*[1 1 0 0 1; 0 0 1 1 0];
axes(ha1);
hold on
plot(xx,yy,’k’,’LineWidth’,1)
hold off
axes(ha2)
dx = R/500;
X = 0:dx:R;
Nx = size(X,2);
twoiX = (2*i)*X;
dk = [ke(2:Nk)-ke(1:Nk-1) ke(Nk)-ke(Nk-1)];
chidk = ke3.*Chi.*dk;
chi10dk = ke3.*Chi10.*dk;
for nx = 1:Nx
Z = exp(twoiX(nx)*ke);
rho(nx) = sum(Z.*chidk);
rho10(nx) = sum(Z.*chi10dk);
end;
rho = sqrt(rho.*conj(rho));
irmax = 1/max(rho);
rho10 = sqrt(rho10.*conj(rho10));
hf3=figure(3);
clf
set(hf3,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(X,irmax*rho,’k’,X,irmax*rho10,’--b’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[.961 .922 .922],’LineWidth’,1,’YTickLabel’,[])
xlabel(’distância interatômica, u (A)’,’FontSize’,18)
ylabel(’F(u) (unid. arb.)’,’FontSize’,18)
axis tight
grid
legend(’pequena variação, \delta_n ’,’grande variação, 10\delta_n’)
hold on
for n=1:Nat
plot([Rn(n) Rn(n)],[0 1],’r’,’LineWidth’,1)
end;
hold off
hf4=figure(4);
clf
set(hf4,’InvertHardcopy’, ’off’,’Color’,’w’)
ha4a=axes(’Position’,[0.1 0.2 0.38 0.6]);
set(ha4a,’FontSize’,14,’Color’,[.961 .922 .922],’LineWidth’,1);
plot(ke,pke,’r’,’LineWidth’,2)
xlabel(’k_e (A^{-1})’,’FontSize’,18)
ylabel(’\delta_n (radianos)’,’FontSize’,18)
axis tight; grid
ha4b=axes(’Position’,[0.6 0.2 0.38 0.6]);
set(ha4b,’FontSize’,14,’Color’,[.961 .922 .922],’LineWidth’,1);
plot(ke,Rke,’r’,’LineWidth’,2)
set(ha4b,’YTick’,[0 .2 .4 .6 .8])
xlabel(’k_e (A^{-1})’,’FontSize’,18)
ylabel(’R_n (A)’,’FontSize’,18)
axis tight
grid

Rotina 18: exkk.m


clear
%function exkk(atom)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Efeitos de exafs nas amplitudes de ressonância f’ e f’’ %
% modelo com 4 vizinhos %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
atom=’Fe’;
dE = 2; % eV
E=0:dE:70000; % eV
NE = size(E,2);
M = fpfpp(atom,E);

251
nb = find(M(:,2)==min(M(:,2)));
Eb = M(nb,1);
K = E(nb:NE)-Eb; % energia cinética do fotoelétron em eV
co = 0.512315; % unidade A^{-1}/sqrt{eV}
ke = co * sqrt(K);
ke(1) = 1e-6;
Nk = size(ke,2);
kmax = 5;
aux = exp(2) / kmax^2;
Rke_ke = aux*(ke.*exp((-2/kmax)*ke));
pke = 2*(exp((-0.05)*ke)-1.1);
xy = [0.5 0.5; -0.5 -0.5; 0.3 -0.3; -0.3 0.3] * 5; % posições atômicas (Angstroms)
Nat = size(xy,1);
for n = 1:Nat
rn = sqrt(xy(n,:)*xy(n,:)’);
chi(n,:) = Rke_ke.*sin((2*rn)*ke + pke)/(rn*rn);
end;
Chi = sum(chi,1);
fpp0 = M(:,3)’;
fpp = [fpp0(1:nb-1) fpp0(nb:NE).*(1+Chi)];
Dfpp = fpp - fpp0;
W = E(1:NE-1) + 0.5*dE;
W2 = W.*W;
xDfppdx = (E.*Dfpp)*(-2*dE/pi);
E2 = E.*E;
for nw=1:NE-1;
X = E2-W2(nw);
Dfp(nw)=sum(xDfppdx./X);
end;
nearedge = find(abs(E-(Eb+250))<1000);
X = 0.001*E(nearedge);
Xw = 0.001*W(nearedge);
fp0 = M(nearedge,2)’;
fpp0 = fpp0(nearedge);
fpp1 = fpp(nearedge);
fp1 = 0.5*(fp0+M(nearedge+1,2)’) + Dfp(nearedge);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(X,fp0,’-.w’,X,fpp0,’-.w’,Xw,fp1,’b’,X,fpp1,’r’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[0.854902 0.701961 1],’LineWidth’,1)
ylabel(’Amplitudes de ressonância’,’FontSize’,14)
xlabel(’Energia (keV)’,’FontSize’,14)
axis tight
legend(’f\prime átomo isolado’,’f\prime\prime átomo isolado’,’f\prime \chi(E) \neq 0’,’f\prime\prime \chi(E) \neq 0’,4)
text(0.001*Eb,0,atom,’FontSize’,36,’Color’,[0.93 0.93 0.93],’FontWeight’,’bold’)

Rotina 19: benzenesaxs.m


function benzenesaxs(D,L,pixel,wl)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Espalhamento a baixo ângulo (SAXS), %
% sistema disperso de moléculas 6C %
% %
% Filme cilíndrico de raio D (distância amostra-filme, mm) %
% largura 2L (mm) e pixel (mm) %
% wl = comprimento de onda (Angstroms) ou energia (eV) %
% %
% Exemplo: benzenesaxs(50,50,2,20000) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
d = 1.4; % distância C-C (Angstroms)
s = [1 0 0]; % direção feixe incidente
e = [0 0 1]; % polarização (direção campo E)
dz = pixel;
n = floor(2*L/dz);
LimZ = 0.5*n*dz;
Z = -LimZ:dz:LimZ;

252
Nz = size(Z,2);
dphi = pixel / D;
n = floor(pi/dphi);
LimPhi = 0.5*(2*n-1)*dphi;
phi = -LimPhi:dphi:LimPhi;
Nphi = size(phi,2);
D2 = D*D;
aux1 = D2*dz*dphi;
c0 = fix(clock);
hora = [num2str(c0(4)) ’:’ num2str(c0(5)) ’:’ num2str(c0(6))];
disp([’benzenesaxs started at ’ hora])
for nz = 1:Nz
z = Z(nz);
invr = 1/sqrt(z*z+D2);
DOmega = aux1*invr*invr*invr;
X(1:Nphi,nz)=z;
for np = 1:Nphi
y = phi(np);
Y(np,nz)= D*y;
cphi = cos(y);
sphi = sin(y);
sprime = invr*[D*cphi D*sphi z];
p = cross(sprime,cross(e,sprime));
P2(np,nz) = (p * p’)*DOmega;
Q(np,nz) = norm(sprime - s); % |s’-s|
end;
end;
Q(find(Q==0))=1e-8;
f=asfQ(’C’,(0.5/wl)*Q); % (1/4pi)*(2pi/wl)*|s’-s|
f = 6*(f.*f);
S=csfQ(’C’,(0.5/wl)*Q);
nphalf = round(0.5*Nphi);
for nz = 1:Nz
for np = 1:nphalf
m = (nz-1)*Nphi + np;
f2(np,nz)=f(m);
fc(np,nz)=6*S(m,2);
end;
for np=nphalf+1:Nphi
m = (nz-1)*Nphi + np;
f2(np,nz)=f(m);
fc(np,nz)=0;
end;
end;
Qd = (2*pi*d/wl)*Q;
SdeQ = sin(Qd)./Qd;
Qd = (2*pi*d*sqrt(3)/wl)*Q;
SdeQ = SdeQ + sin(Qd)./Qd;
Qd = (4*pi*d/wl)*Q;
SdeQ = 1+ 2*SdeQ + sin(Qd)./Qd;
A = f2.*SdeQ;
I = P2.*(A + fc);
nz0 = round(0.5*Nz);
IzS = (1/6)*A(1:nphalf,nz0);
IzC = (1/6)*fc(1:nphalf,nz0);
c1 = fix(clock);
hora = [num2str(c1(4)) ’:’ num2str(c1(5)) ’:’ num2str(c1(6))];
disp([’benzenesaxs ended at ’ hora])
Dc = c1-c0;
if (Dc(6)<0) Dc(6)=60+Dc(6); Dc(5)=Dc(5)-1; end;
if (Dc(5)<0) Dc(5)=60+Dc(5); Dc(4)=Dc(4)-1; end;
if (Dc(4)<0) Dc(4)=24+Dc(4); end;
hora = [num2str(Dc(4)) ’:’ num2str(Dc(5)) ’:’ num2str(Dc(6))];
disp([’ Time delay = ’ hora ’ (h:m:s)’])
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
surf(X,Y,log10(I))
axis image
shading interp
view(90,90)

253
set(gca,’Position’,[0.165 0.5 0.775 0.45],’FontSize’,14,’LineWidth’,1)
set(gca,’YTick’,[-150 -120 -90 -60 -30 0 30 60 90 120 150],’ZTick’,[],’DataAspectRatio’,[1 1 0.3])
box on
colormap(hot)
colorbar(’XColor’,’k’,’FontSize’,14,’Location’,’NorthOutside’,’LineWidth’,1,’Position’,[0.54 0.405 0.38 0.05])
xlabel(’largura do filme (mm)’,’FontSize’,18)
ylabel(’2\theta ({\circ})’,’FontSize’,18)
text(0,0,500,’Log(I)’,’FontSize’,14)
hf2=figure(2);
clf
set(hf2,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(-Y(1:nphalf,nz0),IzS,’k’,-Y(1:nphalf,nz0),IzC,’--r’,’LineWidth’,2)
set(gca,’FontSize’,14,’Color’,[1 0.95 0.87],’LineWidth’,1)
xlabel(’2\theta ({\circ})’,’FontSize’,18)
ylabel(’|f_C(Q)|^2S(Q)’,’FontSize’,18)
text(90,8,’Compton \downarrow’,’Color’,’r’,’FontSize’,18)
axis tight
grid

Rotina 20: benzenesaxsb.m


function M=benzenesaxsb(wl)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Curvas de baixo ângulo, padrões de interferências na molécula 6C %
% wl = comprimento de onda (Angstroms) ou energia (eV) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
d = 1.4; % distância C-C em Ansgtroms
Qmax = (4*pi/wl);
dQ = Qmax/1000;
Q = 0:dQ:Qmax;
Q(1) = 1e-8;
Qd1 = d*Q;
Qd2 = (d*sqrt(3))*Q;
Qd3 = (2*d)*Q;
SdeQ1 = sin(Qd1)./Qd1;
SdeQ2 = sin(Qd2)./Qd2;
SdeQ3 = sin(Qd3)./Qd3;
SdeQ = 1+2*(SdeQ1+SdeQ2)+SdeQ3;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(Q,2+SdeQ1,’--m’,Q,1.5+SdeQ2,’--r’,Q,1+SdeQ3,’--b’,’LineWidth’,1)
legend(’ 140pm’,’ 243pm’,’ 280pm’)
hold on
semilogy(Q,SdeQ,’k’,’LineWidth’,1.5);
hold off
set(gca,’FontSize’,14,’Color’,[1 0.95 0.87],’LineWidth’,1,’YTick’,[0.7 0.8 0.9 1 1.5 2 2.5 3])
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’S(Q)’,’FontSize’,18)
axis([0 Qmax 0.98*min(SdeQ) 3.2])
grid
M = [Q; SdeQ; SdeQ1; SdeQ2; SdeQ3]’;

Rotina 21: saxs.c (em C++)


//----------------------------------------------------------------
// Calcula P(Q)usando todos os registros "ATOM" e/ou "HETATM"
// listados num arquivo *.pdb. Havendo várias unidades biológicas
// funcionais na lista de registros, separadas por registros
// "TER", restrinja lista à unidade biológica para a qual
// se deseja calcular P(Q).
//
// Fatores de espalhamento atômico: f(Q) lidos dos arquivos X.cm
// (coeficientes de Cromer-Mann), f’(E) e f’’(E) lido dos arquvos
// X.dat onde X é o símbolo do elemento químico.
//

254
// X.cm arquivos de 1 linha e 9 colunas, coeficientes a1, a2, a3,
// a4, b1, b2, b3, b4, c, na mesma sequência usada na rotina asfQ.m
//
// X.dat arquivos com 3 colunas: energia (eV), f’ e f’’
// Exemplo: Fe.dat
// 1000.000 -3.883686 11.72093
// 1100.000 -2.540634 10.27219
// 1200.000 -1.683888 9.094141
// 1300.000 -1.115846 8.105280
// ... ... ...
// 24700.00 0.2589039 0.4449462
// 24800.00 0.2576380 0.4415328
// 24900.00 0.2563753 0.4381573
//----------------------------------------------------------------

#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <complex.h>

#define MAXLINE 100 /* Line maximum size */


#define MAXNofATOMS 20 /* Maximum number of different atoms in the molecule */
#define MAXNofE 1000 /* Maximum number of lines in file Atom.dat */
#define MAXNofP 10000 /* Maximum number of points in Q-scan */
#define PLANKxLIGHTSPEED 12398.5 /* value of hc/e [eV.A] */

typedef complex<double> double_complex;

double RAD = M_PI/180.0;


void tag();
FILE *fp;

class atom {
public:
int num;
int atname;
double X,Y,Z;
atom *prox;
};

atom *insere(atom *inicio, int n, int atsym, double X, double Y, double Z){

atom *newatom;
newatom = new atom();

newatom -> num = n;


newatom -> atname = atsym;
newatom -> X = X;
newatom -> Y = Y;
newatom -> Z = Z;
newatom -> prox = inicio;

return newatom;
}

double Cm(double x, double cm[9]){


double sum1, x2;
int i;

x2 = x*x;
sum1 = 0.0;
for (i=0; i<4; i++) sum1 += cm[i] * exp(-x2*cm[i+4]);
sum1 += cm[8];
return sum1;
}

int readln(char s[], int maxln){


int c, i;

255
for (i=0; i < (maxln-1) && (c = getc(fp)) != EOF && c !=’\n’; ++i) s[i] = c;
if (c==’\n’){s[i] = c; ++i;}
s[i] = ’\0’;
return i;
}

double f_1_2(double E, char names[][2], double f_1_2[][2], int n_atoms){


double fa1, fa2, E1, E2, x, y;
char Adat[8];
char enter;
char line[MAXLINE];
int i;
int n;

for (i=0; i<n_atoms; i++)


{Adat[0]=names[i][0];
if (names[i][1]==’ ’) {Adat[1]=’.’; Adat[2]=’d’; Adat[3]=’a’; Adat[4]=’t’; Adat[5]=’\0’;}
else {Adat[1]=tolower(names[i][1]); Adat[2]=’.’; Adat[3]=’d’; Adat[4]=’a’; Adat[5]=’t’; Adat[6]=’\0’;}
if ((fp = fopen(Adat,"r")) == NULL){printf("\n Could not open/find file %s !!! \n\n",&Adat); return 0;}

n = 0; E2 = 1.0; fa1 = 0.0; fa2 = 0.0;


while (readln(line, MAXLINE)>0 && n < MAXNofE && E2 < E){
if (line[0] != ’#’){
E1 = E2; x = fa1; y = fa2;
if (sscanf(line,"%lf %lf %lf",&E2,&fa1,&fa2) == 3) n++;
else {printf("\n Invalid data format in file %s \n\n",&Adat); fclose(fp); return 0;}
}
}
fclose(fp);
if (E2 > E){
fa1 = (fa1 - x) * (E - E1) / (E2 - E1) + x;
fa2 = (fa2 - y) * (E - E1) / (E2 - E1) + y;
}
f_1_2[i][0] = fa1;
f_1_2[i][1] = fa2;
}
}

double ctod(char s[])


{
int i, j, n;
double sg, m;
char c;
n = 0; j=0; sg = 1.0;
if (s[0] == ’-’) {sg = -1.0; j++;}
for (i=j; (c = s[i]) >= ’0’ && c <= ’9’; ++i)
n = 10*n + (c - ’0’);
if (c == ’.’)
{j = i+1;
m = 0.0;
for (i = j; (c = s[i]) >= ’0’ && c <= ’9’; ++i)
m = 10.0*m + (double) (c - ’0’);
j = i - j;
for (i = 0; i < j; i++) m = 0.1*m;
return sg * ((double) n + m);
} else return sg * (double) n;
}

int ctoi(char s[]){


int i, j, n, sg;
char c;

n = 0; j = 0; sg =1;
if (s[0] == ’-’){sg =-1; j++;}
for (i=j; (c=s[i]) >= ’0’ && c <= ’9’; i++)
n =10*n + (c - ’0’);

return sg*n;
}

//------------------------------------------------------

256
// program begins here
//------------------------------------------------------
int main (int argc, char *argv[]){
double wl, E, tthmin, tthmax, Qi, Qf, dQ;
double Natoms, xi, yi, zi, xij, yij, zij;
double soma1, soma2, PdeQ, SdeQ;
double F12[MAXNofATOMS][2], cm[MAXNofATOMS][9];
double Q[MAXNofP], fQ2[MAXNofP], x, aux, Qrab;
double_complex fQ[MAXNofATOMS][MAXNofP], ic, fa, fb;
int N, i, j, n, atnum, atcod, atcounter[MAXNofATOMS];
char xyz[24], c[2], Acm[6];
char line[MAXLINE], elem[MAXNofATOMS][2];
atom *matrix;
atom *auxm1;
atom *auxm2;

ic = double_complex (0.,1.);

matrix = new atom();


matrix -> prox = NULL;

if (argc != 6) {tag(); return 0;}

if ((wl = ctod(argv[1])) <= 0.0) {printf("\n Negative or null Energy/wavelength value!!!\n"); tag(); return 0;}
if (wl > 100.0){E = wl; wl = PLANKxLIGHTSPEED/wl;}
else E = PLANKxLIGHTSPEED/wl;

if ((tthmin = ctod(argv[2])) <= 0.0) tthmin *= -RAD;


else tthmin *= RAD;
if ((tthmax = ctod(argv[3])) <= 0.0) tthmax *= -RAD;
else tthmax *= RAD;
if (tthmax > M_PI) tthmax = M_PI;
if (tthmax <= tthmin) {printf("\n Negative or null angular range!!!\n"); tag(); return 0;}

if ((N = ctoi(argv[4])) <= 0) {printf("\n Negative or null number of points!!!\n"); tag(); return 0;}
if (N > MAXNofP) {printf("\n Maximum number of points is 10000!!!\n"); tag(); return 0;}

Qi = (4.0 * M_PI / wl) * sin(0.5*tthmin);


if (Qi==0.0) Qi = 1.0e-08;
Qf = (4.0 * M_PI / wl) * sin(0.5*tthmax);
if (N==1) dQ = Qf-Qi;
else dQ = (Qi-Qf)/(1.0 - (double) N);
printf("\n wl = %8.6fA, E = %7.2feV, tthmin = %4.2fdeg, tthmax = %4.2fdeg",wl,E,tthmin/RAD,tthmax/RAD);
printf(", N = %d, Qi = %e rsu, Qf = %e rsu, dQ = %e rsu\n",N,Qi,Qf,dQ);

//------------------------------------------------------
// reading atoms and positions from file molecule.dat
//------------------------------------------------------
if ((fp = fopen(argv[5],"r")) == NULL)
{printf("\n Could not open/find file %s!!!\n\n",argv[5]); return 0;}
n = 0; atnum = 0;
while (readln(line,MAXLINE)>0)
// {if (line[1] == ’T’ || (line[0] == ’H’ && line[4] == ’T’))
{if (line[1] == ’T’)
{for (i=0; i<24; i++) xyz[i]=line[i+30];
if (sscanf(xyz,"%lf %lf %lf",&xi,&yi,&zi) == 3)
{n++;
if (line[76] == ’ ’) {c[0] = line[77]; c[1] = ’ ’;}
else {c[0] = line[76]; c[1] = line[77];}
if (n == 1) {matrix -> num = n;
matrix -> atname = atnum;
matrix -> X = xi;
matrix -> Y = yi;
matrix -> Z = zi;
elem[atnum][0] = c[0];
elem[atnum][1] = c[1];
atcounter[atnum] = 1;
atnum++;
}
else {atcod = 1000; i = 0;
while (atcod==1000 && i<atnum)

257
{if (c[0] == elem[i][0] && c[1] == elem[i][1])
{atcod = i; atcounter[i]++;}
i++;
}
if (atcod == 1000) {elem[atnum][0] = c[0];
elem[atnum][1] = c[1];
atcod = atnum;
atcounter[atnum] = 1;
atnum++;
}
matrix = insere(matrix, n, atcod, xi, yi, zi);
}
}
else {printf("\n Invalid data format in %s \n\n",argv[5]); fclose(fp); return 0;}
}
}
fclose(fp);
Natoms = (double) n;
//------------------------------------------------------

//------------------------------------------------------
// printing out atomic positions
//------------------------------------------------------
/*
auxm1 = matrix;
while (auxm1 != NULL)
{printf("%d %d %lf %lf %lf\n", auxm1 -> num,
auxm1 -> atname,
auxm1 -> X,
auxm1 -> Y,
auxm1 -> Z);
auxm1 = auxm1 -> prox;
}
*/
//------------------------------------------------------

//------------------------------------------------------
// reading anomalous scattering factors in F12
//------------------------------------------------------
f_1_2(E, elem, F12, atnum);
/*
printf("\n");
for (i=0; i<atnum; i++) printf(" %d f1 = %7.5f, f2 = %7.5f\n",i+1,F12[i][0],F12[i][1]);
*/
//------------------------------------------------------

//---------------------------------------------------
// reading Cromer-Mann coefficients
//---------------------------------------------------
for (i=0; i<atnum; i++)
{Acm[0]=elem[i][0];
if (elem[i][1]==’ ’) {Acm[1]=’.’; Acm[2]=’c’; Acm[3]=’m’; Acm[4]=’\0’;}
else {Acm[1]=tolower(elem[i][1]); Acm[2]=’.’; Acm[3]=’c’; Acm[4]=’m’; Acm[5]=’\0’;}
if ((fp = fopen(Acm,"r")) == NULL)
{printf("\n Could not open/find file %s!!! \n\n",&Acm); return 0;}
fscanf(fp,"%lf %lf %lf %lf %lf %lf %lf %lf %lf\n",&cm[i][0],&cm[i][1],&cm[i][2],&cm[i][3],
&cm[i][4],&cm[i][5],&cm[i][6],&cm[i][7],
&cm[i][8]);
fclose(fp);
/*
printf(" %s ",&Acm);
for (j=0; j<9; j++) printf(" %8.5f ",cm[i][j]);
printf("\n");
*/
}
//---------------------------------------------------

//---------------------------------------------------

258
// storing f(Q) of all elements
//---------------------------------------------------
aux = 0.25 / M_PI;
for (n=0; n < N; n++)
{Q[n] = Qi + dQ * (double) n;
x = aux*Q[n]; soma1 = 0.0;
for (i=0; i<atnum; i++)
{fa = Cm(x,cm[i]) + F12[i][0] + ic * F12[i][1];
fQ[i][n] = fa;
soma1 += real(fa*conj(fa)) * (double) atcounter[i];
}
fQ2[n] = soma1;
}
/*
if ((fp = fopen("fQ.out","w")) == NULL) {printf("Could not open output file!!!\n"); return 0;}
for (n=0; n < N; n++)
{fprintf(fp," %11.8f ",Q[n]);
printf(" %11.8f ",Q[n]);
for (i=0; i<atnum; i++)
{x = sqrt(real(fQ[i][n]*conj(fQ[i][n])));
fprintf(fp," %9.6f ",x);
printf(" %9.6f ",x);
}
fprintf(fp,"\n");
printf("\n");
}
fclose(fp);
*/
//---------------------------------------------------

//---------------------------------------------------
// root mean squared radius, Rg
//---------------------------------------------------
auxm1 = matrix;
soma1 = 0.0;
while (auxm1 != NULL)
{xi = auxm1 -> X; yi = auxm1 -> Y; zi = auxm1 -> Z;
auxm2 = auxm1 -> prox;
while (auxm2 != NULL)
{xij = auxm2 -> X - xi;
yij = auxm2 -> Y - yi;
zij = auxm2 -> Z - zi;
soma1 += xij*xij + yij*yij + zij*zij;
auxm2 = auxm2 -> prox;
}
auxm1 = auxm1 -> prox;
}

for (i=0; i<atnum; i++)


{Acm[0] = elem[i][0];
if (elem[i][1]==’ ’) Acm[1] = ’\0’;
else {Acm[1] = tolower(elem[i][1]); Acm[2] = ’\0’;}
printf(" %d %s ",atcounter[i],&Acm);
}
printf("\n Natoms = %4.0f, Rg = %4.2f\n",Natoms,sqrt(soma1)/Natoms);
//---------------------------------------------------

//---------------------------------------------------
// molecule scattering calculation
//---------------------------------------------------
if ((fp = fopen("saxs.out","w")) == NULL) {printf("Could not open output file!!!\n"); return 0;}
for (n=0; n < N; n++)
{x = Q[n];
auxm1 = matrix;
soma1 = 0.0; soma2 = 0.0;
while (auxm1 != NULL)
{xi = auxm1 -> X; yi = auxm1 -> Y; zi = auxm1 -> Z;
fa = fQ[auxm1 -> atname][n];
auxm2 = auxm1 -> prox;

259
while (auxm2 != NULL)
{xij = auxm2 -> X - xi;
yij = auxm2 -> Y - yi;
zij = auxm2 -> Z - zi;
Qrab = x*sqrt(xij*xij + yij*yij + zij*zij);
fb = fQ[auxm2 -> atname][n];
soma1 += real(fa*conj(fb))*sin(Qrab)/Qrab;
auxm2 = auxm2 -> prox;
}
soma2 += real(fa*conj(fa));
auxm1 = auxm1 -> prox;
}
PdeQ = 2.0*soma1 + soma2;
SdeQ = PdeQ / fQ2[n];
fprintf(fp," %11.8f %e %e\n",x,PdeQ,SdeQ);
printf("%d %11.8f %e %e\n",n+1,x,PdeQ,SdeQ);
}
fclose(fp);
//---------------------------------------------------

return 0;
} /* main */

void tag()
{
printf("\n USAGE:\n");
printf(" saxs [wl or energy] [tthmin] [tthmax] [N] [protein.pdb(*)] > [file.out(**)]\n");
printf(" | | | | \n");
printf(" | | | number of points \n");
printf(" | | final 2theta value (deg) \n");
printf(" | initial 2theta value (deg) \n");
printf(" wavelength (Angstrom) or energy (eV) \n");
printf(" (*) standard pdb format (http://www.wwpdb.org/docs.html)\n");
printf(" (**) file.out is a 3 column file: Q P(Q) S(Q) \n\n");
printf(" Obs: limited to molecules with a maximum of 20 different atomic species\n\n");
printf(" Developed by S.L. Morelhao\n");
printf(" Institute of Physics - University of Sao Paulo, Brazil\n");
printf(" morelhao@if.usp.br\n");
printf(" Last change: September 13, 2011\n\n");
return;
}

Rotina 22: ex1N5U.m


function ex1N5U
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Curva de espalhamento a baixo ângulo calculada pela %
% rotina saxs.c e salva no arquivo ’saxs1N5U_0a30E8keV.dat’ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M = load(’saxs1N5U_0a30E8keV.dat’);
Q = M(:,1)’;
P = M(:,2)’;
S = M(:,3)’;
Rg = 27.8916;
alpha = -Rg^2/3;
N=find(Q<=0.2);
jmax = size(N,2);
m = 5;
Q2 = Q(N(1:m:jmax)).*Q(N(1:m:jmax));
Ps = log10(P(N(1:m:jmax)));
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Q2,Ps,’bo’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1.5)
hold on
plot([0 0.02],log10(P(1)*[1 exp(alpha*0.02)]),’r--’,’LineWidth’,1.5)
hold off
axis([0 .04 7 9.1]); grid
legend(’P(Q)’,’P(0)exp(-R_g^2Q^2/3)’,’Location’,’SouthWest’)

260
set(gca,’FontSize’,14,’Color’,[0.855 0.702 1],’LineWidth’,1)
set(gca,’YTick’,[7 7.5 8 8.5 9])
xlabel(’Q^2 (A^{-2})’,’FontSize’,14);
ylabel(’log(P)’,’FontSize’,14);
text(0.017,log10(1.4e+7),’R_g = 27.9 A’,’FontSize’,16,’Color’,’r’)
ha2=axes(’Position’,[.391 .496 .497 .403]);
semilogy(Q,P,’b’,’LineWidth’,2)
hold on
semilogy([.2 .2],[1e+5 1.2e+9],’--k’,’LineWidth’,1)
hold off
set(ha2,’FontSize’,14,’Color’,[0.973 0.973 0.973],’LineWidth’,1)
set(ha2,’YTick’,[1e+5 1e+6 1e+7 1e+8 1e+9])
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’P(Q)’,’FontSize’,18)
axis tight
text(.5,1e+8,’1N5U’,’FontSize’,36,’Color’,[0.7 0.7 0.7],’FontWeight’,’bold’)

Rotina 23: assintotic.m


function Z=assintotic(a,b,c,Qi,Qf,N,Na)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Curvas de espalhamento a baixo ângulo por partículas com %
% dimensões a x b x c. Interfalo de Qi a Qf (A^{-1}). %
% N = número de pontos na curva %
% Na = número de posições aleatórias dentro do volume da partícula %
% %
% Exemplo: Z=assintotic(10,10,100,0.008,2.0,200,1000); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N = fix(N);
if (N>1) dQ = (Qf-Qi)/N; else disp(’ >>> N < 1, número de pontos insuficiente!!!’); end;
Q = Qi:dQ:Qf;
Nq = size(Q,2);
R = [a*rand(Na,1) b*rand(Na,1) c*rand(Na,1)];
I = zeros(1,Nq);
for n=1:Na
for m = n+1:Na
Rnm = R(m,:)-R(n,:);
QR = sqrt(Rnm*Rnm’)*Q;
I = I + sin(QR)./QR;
end;
end;
% loglog(Q,abs(I),’m’,’LineWidth’,2)
% grid
Z = [Q; I]’;

Rotina 24: exlognormal.m


function M=exlognormal(a0,sn,sg,Nmin,Npt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% a0 = raio mais provável das partículas [Angstroms] %
% sn = desvio padrão da escala logarítmica, %
% distribuição log-normal [adimensional] %
% sg = desvio padrão da distribuição gaussiana [Angstroms] %
% Nmin = número de mínimos visíveis na curva de espalhamento %
% da partícula de raio a0 %
% Npt = número de pontos da curva de espalhamento %
% Exemplo: exlognormal(80,.1,15,5,500); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Wg = 2*sg*sqrt(2*log(2));
agmin = a0-2*Wg;
if (agmin<0) agmin = 1; end;
agmax = a0+2*Wg;
Wn = 2*sn*sqrt(2*log(2));
b = a0*exp(sn*sn);
logb = log(b);
amin = exp(logb-Wn);
amax = exp(logb+Wn);

261
Wn = exp(logb+0.5*Wn)-exp(logb-0.5*Wn);
if (agmin<amin) amin = agmin; end;
if (agmax>amax) amax = agmax; end;
Qmax = Nmin * (5*pi/2) / (2*a0);
dx = (amax-amin)/100;
aux = 0.8*pi/Qmax;
if (dx > aux) dx = aux; end;
a = amin:dx:amax;
X = a-a0;
logX = log(a/b);
logX2 = logX.*logX;
auxn1 = -1/(2*sn*sn);
auxn2 = dx/(sn*sqrt(2*pi));
L = auxn2*(exp(auxn1*logX2)./a);
Ng = size(L,2);
dQ = Qmax/Npt;
Q = 0:dQ:Qmax; Q(1) = 1e-8;
aux = 4*pi/3;
for n = 1:Ng
aj = a(n);
vj = aux * aj * aj * aj;
u = aj*Q;
x = vj*tfsphere(u);
Y(n,:) = x.*x;
end;
I = L*Y;
Imax = max(I);
Imin = min(I);
v0 = aux * a0 * a0 * a0;
u = a0 * Q;
x = v0 * tfsphere(u);
I0 = (x.*x);
aux = -1.0 / (2*sg*sg);
G = exp(aux *(X.*X));
sumG = sum(G);
G = (1/sumG)*G;
Ig = G*Y;
res = sum(abs(Ig-I)./I);
Igmax = max(Ig)/Imax;
if (Igmax < 1.2) Igmax = 1.2; else Igmax = 1.2*Igmax; end;
x = -3*log(I(3)/I(2))/(Q(3)*Q(3)-Q(2)*Q(2));
x = sqrt(x);
y = -3*log(Ig(3)/Ig(2))/(Q(3)*Q(3)-Q(2)*Q(2));
y = sqrt(y);
a2 = a.*a;
vp2 = (4*pi/3) * (a2.*a);
vp2 = vp2.*vp2;
RgL = 0.6*sum(L.*vp2.*a2)/sum(L.*vp2);
RgL = sqrt(RgL);
RgG = 0.6*sum(G.*vp2.*a2)/sum(G.*vp2);
RgG = sqrt(RgG);
AsL = (4*pi)*sum(L.*a2);
AsG = (4*pi)*sum(G.*a2);
fprintf(’\n log-normal: Rg = %3.1f(%3.1f)A, As = %5.3eA^2,fwhm=%3.1fA\n’,RgL,x,AsL,Wn)
fprintf(’ gaussiana: Rg = %3.1f(%3.1f)A, As = %5.3eA^2,fwhm=%3.1fA\n’,RgG,y,AsG,Wg)
fprintf(’ resíduo = %3.1f\n’,res)
Npt5 = 1:5:Npt;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(Q,I0/Imax,’y--’,’LineWidth’,2)
hold on
semilogy(Q(Npt5),I(Npt5)/Imax,’-ro’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1)
semilogy(Q,Ig/Imax,’k’,’LineWidth’,1.5)
hold off
axis([0 max(Q) 0.8*Imin/Imax Igmax])
set(gca,’FontSize’,18,’Color’,[0.854902 0.701961 1])
ylabel(’I(Q) / I(0)’,’FontSize’,18)
xlabel(’Q (A^{-1})’,’FontSize’,18)
legend(’esfera’,’log-normal’,’gaussiana’,4)
M = [Q; I; Ig]’;

262
ha1=axes(’Position’,[.46 .532 .38 .37]);
hb=bar(0.1*a,L,1);
hold on;
plot(0.1*a,G,’w’,’LineWidth’,1.5);
hold off;
colormap cool
set(ha1,’FontSize’,14,’Color’,[0.9 0.9 1])
ylabel(’{\it p(a)}’,’FontSize’,14)
xlabel(’raio, a (nm)’,’FontSize’,14)
axis tight
legend(’log-n’,’gaus’)

function Z=tfsphere(u);
u3 = u.*u.*u;
Z = 3*((sin(u)-u.*cos(u))./u3);

Rotina 25: exesfoca.m


function S=exesfoca(a,b,rhoa,rhob)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Função distribuição de distâncias entre pares (PDDF) %
% em partículas esféricas ocas %
% %
% a,b = raios externo e interno da partícula (A) %
% rhoa: densidade entre b < r < a %
% rhob: densidade entre 0 < r < b %
% clear; a = 500; b = 375; rhoa = 2; rhob = -1; %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (b==a) b = 0.5 * a; elseif (b>a) c = a; a = b; b = c; end;
M=PdeQ(a,b,rhoa,rhob,5);
Q = M(1,:);
P0 = M(2,:);
dQ = Q(3)-Q(2);
Umax = 2.4*a;
du = Umax/1000;
U = 0:du:Umax;
U(1) = 1e-6;
Nu = size(U,2);
A = (dQ/(2*pi*pi))*(P0.*Q);
for n=1:Nu
u = U(n);
p(n) = sum(A.*sin(Q*u))*u;
end;
pnu=pdeunum(U,a,b,rhoa,rhob);
Nat = 4000;
rand(’state’,sum(100*clock));
X = 2*rand(Nat,3)-1;
X2 = sum(X.*X,2);
N = find(X2<=1);
R = X(N,:);
r = sqrt(X2(N));
N = size(R,1);
R = a*R;
ps = rhoa*ones(1,N);
ps(find(r<=b/a))=rhob;
ph=zeros(1,Nu);
for n=1:N
for m=n+1:N
D = R(m,:)-R(n,:);
d = sqrt(D*D’);
k = floor(d/du)+1;
ph(k) = ph(k)+ps(m)*ps(n);
end;
end;
ph = 2*ph;
Nmax = find(pnu==max(pnu));
pnumax = sum(pnu(Nmax-10:Nmax+10))/20;
pmax = sum(p(Nmax-10:Nmax+10))/20;

263
phmax = sum(ph(Nmax-10:Nmax+10))/20;
pnu = pnu/pnumax;
p = p/pmax;
ph = ph/phmax;
N = 1:7:Nu;
Nh = 1:5:Nu;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
bar(U(Nh),ph(Nh),’b’)
hold on
plot(U(N),p(N),’ro’,’MarkerFaceColor’,’w’,’MarkerSize’,4,’LineWidth’,1)
plot(U,pnu,’k’,’LineWidth’,1)
hold off
set(gca,’FontSize’,18,’Color’,[.7 .78 1])
axis tight
ylabel(’p(u)’,’FontSize’,18)
xlabel(’u (A)’,’FontSize’,18)
legend(’ hist.’,’ TF inv.’,’ vl. num.’)
ha1=axes(’Position’,[.14 .532 .3 .37]);
semilogy(Q,P0,’r’,’LineWidth’,2)
set(ha1,’FontSize’,14,’Color’,[0.9 0.9 1])
ylabel(’P(Q)’,’FontSize’,14)
xlabel(’Q (A^{-1})’,’FontSize’,14)
axis([Q(1) max(Q) 0.9*min(P0) 1.1*max(P0)])
S = [U; pnu; p; ph]’;

function M=PdeQ(a,b,rhoa,rhob,Nmin)
Qmax = Nmin * (5*pi/2) / (2*a);
dQ = Qmax/2000;
Q = 0:dQ:Qmax;
Q(1) = 1e-8;
Va = 4*pi*a*a*a/3;
Vb = 4*pi*b*b*b/3;
F = (Va*rhoa) * tfsphere(Q*a) - (Vb*(rhoa-rhob)) * tfsphere(Q*b);
P = F.*conj(F);
M = [Q; P];

function Z=tfsphere(u)
u3 = u.*u.*u;
Z = 3*((sin(u)-u.*cos(u))./u3);

function Z=photonstatistic(M,N);
soma = sum(sum(M));
rand(’state’,sum(100*clock));
Z = zeros(size(M));
for np = 1:N
aux = 0; photon = soma*rand; nn = 0;
while (aux<photon)
nn = nn + 1;
aux = aux + M(nn);
end;
Z(nn) = Z(nn) + 1;
end;

function M=pdeunum(U,a,b,rhoa,rhob)
Rmax = 1.1*a;
dr = Rmax/1000;
R = 0:dr:Rmax;
Nr = size(R,2);
invw = 10 / dr;
Y = rhoef(R,a,b,rhoa,rhob,invw);
Nu = size(U,2);
rhoRdr = (pi*dr)*(R.*Y);
for n=1:Nu
u = U(n);
for m=1:Nr
r = R(m);
z1 = (r-u); z1 = z1*z1;
z2 = (r+u); z2 = z2*z2;
dz = (z2-z1) / 400;

264
Z = z1:dz:z2;
Yz = rhoef(sqrt(Z),a,b,rhoa,rhob,invw);
A(m) = dz * sum(Yz);
end;
C(n) = sum(rhoRdr.*A)/u;
end;
M = C.*U.*U;

function Y = rhoef(R,a,b,rhoa,rhob,invw)
Y = (1./(1 + exp(invw*(R - a)))).*((rhoa-rhob)./(1 + exp(invw*(b - R)))+rhob);

Rotina 26: saxs.m


function M=saxs(fname,Qf,Nq)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% fname = arquivo *.pdb ou *.ndu %
% Qf = valor final em Q (Angstroms^{-1}) %
% Nq = número de pontos na curva P(Q) %
% Retorna Q x P(Q) %
% %
% Exemplo: fname = ’1N5U.pdb’; Qf = 0.35; Nq = 1000; %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
S=histograma(fname)’;
U = S(1,:);
p = S(2,:);
Nu = size(U,2);
du = (U(Nu)-U(1))/(Nu-1);
if (U(1)==0) U(1) = 1e-8; end;
dQ = Qf/Nq;
Q = 0:dQ:Qf; Q(1) = 1e-8;
Nq = size(Q,2);
aux = 4*pi*du;
for n=1:Nq
Qu = Q(n)*U;
P(n) = aux * sum(p.*(sin(Qu)./Qu));
end;
M = [Q; P]’;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(Q,P,’k’,’LineWidth’,2);
axis tight
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93])
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’P(Q) / P(0)’,’FontSize’,18)

Rotina 27: histograma.m


function M=histograma(fname)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% fname = arquivo *.pdb ou *.ndu %
% se *.pdb gera histograma, salva no arquivo *.ndu %
% se *.ndu mostra histogram já salvo %
% %
% Exemplo: fname = ’1N5U.pdb’; %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M = [0 0];
n = regexp(fname,’.pdb’);
if isempty(n)
if isempty(regexp(fname,’.ndu’))
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
else
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;

265
end;
M = load(fname);
U = M(:,1)’;
p = M(:,2)’;
Nu = size(U,2);
du = (U(Nu)-U(1))/(Nu-1);
soma = sum(p);
N = round(sqrt(soma));
RgII = sqrt(0.5*sum(p.*U.*U)/soma);
RgI = 0;
fclose(fidin);
end;
else
fout = [fname(1:n-1) ’.ndu’];
fidin = fopen(fname,’r’);
line = fgets(fidin);
n = 0;
while (line~=-1)
switch line(1:5)
case {’ATOM ’} % usar "case {’ATOM ’,’HETAT’}" para ler registros "ATOM" e "HETATM"
n = n + 1;
R(n,:) = sscanf(line(31:54),’%f’)’;
A(n,:) = line(77:78);
end;
line = fgets(fidin);
end;
fclose(fidin);
N = size(R,1); Nchem = 0; AA = zeros(N,1); NA = 1;
while ~isempty(NA)
n = NA(1);
Mn = find(A(n,1)==A(:,1) & A(n,2)==A(:,2));
Nchem = Nchem + 1;
AA(Mn) = Nchem;
Atom(Nchem,:) = A(n,:);
NA = find(AA==0);
end;
for n=1:Nchem fprintf(’ %1.0f %s’,size(find(AA==n),1),Atom(n,:)); end;
fprintf(’\n’);
Umax = 0;
for n=1:N
for m=n+1:N
r = R(m,:)-R(n,:);
r2 = r*r’;
if (r2>Umax) Umax = r2; end;
end;
end;
Umax = 1.02*sqrt(Umax);
du = 0.01;
U = 0:du:Umax;
Nu = size(U,2);
p=zeros(1,Nu);
soma = 0;
for n=1:N
for m=n+1:N
r = R(m,:)-R(n,:);
r2 = r*r’;
soma = soma + r2;
k = floor(sqrt(r2)/du)+1;
p(k) = p(k)+1;
end;
end;
p = 2*p; p(1)=N;
RgI = sqrt(soma)/N;
RgII = sum(U.*U.*p)/sum(p);
RgII = sqrt(0.5*RgII);
M = [U; p]’;
save(fout,’M’,’-ascii’);
end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)

266
plot(U(2:Nu),p(2:Nu),’b’,’LineWidth’,1)
axis([0 U(Nu) [-0.02 1.02]*max(p(2:Nu))])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’N(u)’,’FontSize’,18)
fprintf(’ Proteína: %s\n’,fname(1:find(fname==’.’)-1))
if (RgI==0) fprintf(’ Nat = %1.0f, Rg = %3.1fA\n’,N,RgII);
else fprintf(’ Nat = %1.0f, Rg = %3.1f(%3.1f)A\n’,N,RgI,RgII);
end;

Rotina 28: exlysozyme.m


function exlysozyme
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara soluções de baixo ângulo com solução exatas %
% geradas pela rotina saxs.c (C++): %
% - saxs2LYZ_0a180E20keV.dat %
% - saxs2LYZ_0a40E8keV.dat %
% Arquivo 2LYZ.ndu gerado pela rotina histograma.m %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M=saxs(’2LYZ.ndu’,2,80);
M(:,2)=M(:,2)*(1/max(M(:,2)));
Qmax = max(M(:,1));
Pmin = min(M(:,2));
S=load(’saxs2LYZ_0a180E20keV.dat’);
smax = max(S(:,2));
Ns=find(S(:,1)<=Qmax);
ymin = S(max(Ns),2)/smax;
if (Pmin<ymin) ymin=Pmin; end;
X=M(:,1)*(0.25/pi);
fmQ = 193*asfQ(’N’,X)+613*asfQ(’C’,X)+185*asfQ(’O’,X)+10*asfQ(’S’,X);
fmQ = fmQ.*fmQ;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(M(:,1),M(:,2),’-bo’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1)
hold on
semilogy(M(:,1),(fmQ.*M(:,2))/fmQ(1),’--b’,’LineWidth’,1.5)
semilogy(S(:,1),S(:,2)/smax,’k’,’LineWidth’,1.5)
hold off
axis([0 Qmax 0.9*ymin 1.1])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’YTick’,[0.001 0.01 0.1 1],’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’P(Q) / P(0)’,’FontSize’,18)
legend(’f_m^2(0), baixo ângulo’,’f_m^2(Q)’,’solução exata’,1)
text(0.45,0.5,’2LYZ’,’FontSize’,36,’Color’,[0.855 0.702 1.0],’FontWeight’,’bold’)
N=tfinvpdeq(’saxs2LYZ_0a40E8keV.dat’,0.75,52,1000);
H=load(’2LYZ.ndu’);
n = size(H,1);
du = H(3,1)-H(2,1);
Hsum = sum(H(2:n,2))*du;
Hmax = max(H(2:n,2));
hf2=figure(2);
clf
set(hf2,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(H(2:n,1),H(2:n,2),’b’,’LineWidth’,1)
hold on
plot(N(:,1),Hsum*N(:,2),’--k’,’LineWidth’,1.5)
hold off
axis([0 H(n,1) [-0.02 1.02]*Hmax])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’N(u)du’,’FontSize’,18)
text(8,250,’ \leftarrow p(u)’,’Color’,’k’,’FontSize’,18)

Rotina 29: tfinvpdeq.m

267
function M=tfinvpdeq(fname,Qf,Umax,Nu)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% fname = curva P(Q) (teórica ou experimental), Qf = valor de %
% corte (final) em Q (Angstroms^{-1}), Umax = valor limite da %
% PDDF (Angstroms), Nu = número de pontos na PDDF %
% %
% Exemplo: fname = ’saxs2LYZ_0a40E8keV.dat’; (gerado rotina saxs.c) %
% Qf = 0.8; Umax = 52; Nu = 1000; %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
S=load(fname)’;
Q = S(1,:);
P = S(2,:);
Nq = size(Q,2);
dQ = Q(3)-Q(2);
if (Qf < Q(Nq))
n = find(abs(Q-Qf)<=0.5*dQ);
Q = S(1,1:n);
P = S(2,1:n);
end;
du = Umax/Nu;
U = 0:du:Umax;
Nu = size(U,2);
aux = dQ / (2*pi*pi);
for n = 1:Nu
u = U(n);
Qu = u*Q;
p(n) = aux*sum(P.*Qu.*sin(Qu));
end;
pint = sum(p)*du;
p = (1/pint)*p;
M=[U; p]’;

Rotina 30: goldnano.m


function M=goldnano(D,desord)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera histograma das distâncias interatômicas numa %
% nanopartícula de Au com diâmetro D (Angstroms) %
% %
% desord = desordem nas posições atômicas, %
% porcentagem (%) em relação à distância %
% interatômica Au-Au mínima (2,88 A) %
% %
% M = [U; p]’; %
% | | %
% | ocorrência no intervalo U e U+du %
% separação entre átomos de Au %
% %
% Exemplo: M=goldnano(20,5); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (D>100) disp(’Diâmetro máximo: 100 Angstroms’); return; end;
a=4.0782; % parâmetro de rede Au metálico (Angstroms)
if (D<a) D = a; end;
N = fix(D/a)+1;
Nc = 0;
for m=0:N-1
for n=0:N-1
for p=0:N-1
Nc = Nc + 1;
R(Nc,:) = [m n p]; % Posições na Rede
end;
end;
end;
if (Nc==0) Nc = 1; R(1,:) = [0 0 0]; end;
R=a*R;
X = a*[0 0 0; .5 .5 0; .5 0 .5; 0 .5 .5]; % posições na célula unitária
Nx = size(X,1);
for n=2:Nx
for m=1:Nc

268
R((n-1)*Nc+m,:) = R(m,:) + X(n,:);
end;
end;
Nat = size(R,1);
Cm = sum(R(:,1))/Nat;
X = R - Cm*ones(Nat,3);
X2 = sum(X.*X,2);
NN = find(X2<0.25*D*D);
R = X(NN,:);
Nat = size(R,1);
R = R + (0.01*desord*a/sqrt(2))*(1-2*rand(Nat,3));
c0 = fix(clock);
hora = [num2str(c0(4)) ’:’ num2str(c0(5)) ’:’ num2str(c0(6))];
disp([’goldnano started at ’ hora])
Umax=1.02*D;
du = 0.01;
U = 0:du:Umax;
Nu = size(U,2);
p=zeros(1,Nu);
for n=1:Nat
for m=n+1:Nat
r = R(n,:)-R(m,:);
k=fix(sqrt(r*r’)/du)+1;
p(k) = p(k) + 1;
end;
end;
p = 2*p;
p(1) = Nat;
plot(U,p,’r’,’LineWidth’,2)
M = [U; p]’;
c1 = fix(clock);
hora = [num2str(c1(4)) ’:’ num2str(c1(5)) ’:’ num2str(c1(6))];
disp([’ goldnano ended at ’ hora])
Dc = c1-c0;
if (Dc(6)<0) Dc(6)=60+Dc(6); Dc(5)=Dc(5)-1; end;
if (Dc(5)<0) Dc(5)=60+Dc(5); Dc(4)=Dc(4)-1; end;
if (Dc(4)<0) Dc(4)=24+Dc(4); end;
hora = [num2str(Dc(4)) ’:’ num2str(Dc(5)) ’:’ num2str(Dc(6))];
disp([’ Time delay ’ hora ’ (h:m:s)’])

Rotina 31: exgoldnano0.m


function MM=exgoldnano0(fname,Qf)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Aumentando o valor de final do vetor recíproco, Qf, %
% aumenta a resolução com que a estrutura pode ser %
% determinada. Para fótons com energia E[keV], %
% o valor máximo possível de Qf é aproximadamente %
% E[1/A], i.e., E=40keV => Qf(máximo)~40 A^{-1} %
% fname = arquivo do histograma geradopela rotina %
% goldnano.m %
% %
% Exemplo: M=goldnano(10,0.05); %
% save(’goldnano10.pdu’,’M’,’-ascii’) %
% MM=exgoldnano0(’goldnano10.pdu’,40); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M=load(fname)’;
U = M(1,:);
p = M(2,:);
if (U(1)==0) U(1) = 1e-8; end;
dQ = Qf/5000;
Q = 0:dQ:Qf;
Q(1) = 1e-8;
Nq = size(Q,2);
for n=1:Nq
Qu = Q(n)*U;
S(n) = sum(p.*(sin(Qu)./Qu));
end;
S = (1/p(1))*S;
Nu = size(U,2);

269
F = (2*dQ/pi)*((S-1).*Q);
for n = 1:Nu
u = U(n);
h(n) = sum((u*F).*sin(u*Q));
end;
du = U(3)-U(2);
wl = 2*pi/Qf;
Nw = floor(0.5*wl/du);
for n=1:Nu
nmin = n-Nw;
nmax = n+Nw;
if (nmin<1) Pu(n) = sum(h(1:nmax))/nmax;
elseif (nmax>Nu) Pu(n) = sum(h(nmin:Nu))/(Nu-nmin+1);
else Pu(n) = sum(h(nmin:nmax))/(2*Nw+1);
end;
end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(U,h,’--k’,’LineWidth’,1)
hold on
plot([2-wl 2 2 2-wl 2-wl],[0 0 1 1 0]*(10/wl),’r’,’LineWidth’,1)
plot(U,Pu,’Color’,[0 0 .5],’LineWidth’,1.5)
hold off
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
set(gca,’YTick’,[])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’p(u)’,’FontSize’,18)
legend(’ sem conv.’,’ função conv. (x10)’,’ com conv.’)
axis([1.5 9.5 min(h) max(h)])
MM = [U; h; Pu]’;

Rotina 32: exgoldnano1.m


function exgoldnano1(Qf)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara as curvas P(Q) das nanopartículas de Au %
% cujas p(u) foram geradas pela rotina goldnano.m %
% e salvas em arquivo com extensão *.pdu %
% %
% Exemplo: M=goldnano(10,5); %
% save(’goldnano10r5.pdu’,’M’,’-ascii’) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M10=goldnanopdq(’goldnano10r5.pdu’,Qf);
M20=goldnanopdq(’goldnano20r5.pdu’,Qf);
M40=goldnanopdq(’goldnano40r5.pdu’,Qf);
M41=goldnanopdq(’goldnano40r1.pdu’,Qf);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(M10(:,1),M10(:,2),’k’,’LineWidth’,1.5)
hold on
semilogy(M20(:,1),M20(:,2),’b’,’LineWidth’,1.5)
semilogy(M41(:,1),M41(:,2),’--m’,’LineWidth’,1)
semilogy(M40(:,1),M40(:,2),’r’,’LineWidth’,1.5)
hold off
axis([-0.01*Qf Qf 0.9*min(M41(:,2)) 1.1])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
set(gca,’YTick’,[1e-4 1e-2 1])
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’P(Q) / P(0)’,’FontSize’,18)
legend(’ 1 nm’,’ 2 nm’,’ ’,’ 4 nm’)

function M=goldnanopdq(fname,Qf)
S=load(fname)’;
U = S(1,:);
p = S(2,:);
if (U(1)==0) U(1) = 1e-8; end;
dQ = Qf/5000;

270
Q = 0:dQ:Qf; Q(1) = 1e-8;
Nq = size(Q,2);
f = asfQ(’Au’,(0.25/pi)*Q);
f = f.*f;
for n=1:Nq
Qu = Q(n)*U;
Y(n) = f(n) * sum(p.*(sin(Qu)./Qu));
end;
Y = (1/max(Y))*Y;
Y(find(Y<1e-6)) = 1e-6;
M = [Q; Y]’;

Rotina 33: exgoldnano2.m


function exgoldnano2(fname,Qf1,Qf2,Nph)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara curvas p(u) extraídas de P(Q) com Qf1 e Qf2. %
% A curva P(Q), com estatística de Nph fótons, é %
% obtida do histograma N(u)du gerado pela rotina %
% goldnano.m e salvo no arquivo *.pdu (fname) %
% %
% Exemplo: exgoldnano2(’goldnano40r5.pdu’,10,20,1e+6); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
G=load(fname)’;
U = G(1,:);
p = G(2,:);
Nu=size(U,2);
M1 = goldnanopdu(fname,Qf1,Nph);
Pu1 = M1(:,2)’;
Pu1max = max(Pu1);
M2 = goldnanopdu(fname,Qf2,Nph);
Pu2 = M2(:,2)’;
Pu2max = max(Pu2);
if (Pu1max>Pu2max)
Pu2 = (Pu1max/Pu2max)*Pu2;
pmax = Pu1max/max(p(2:Nu));
else
Pu1 = (Pu2max/Pu1max)*Pu1;
pmax = Pu2max/max(p(2:Nu));
end;
N = max(find(U<10.2));
Pu1max = max(Pu1(1:N));
Pu2max = max(Pu2(1:N));
Pu1min = min(Pu1(1:N));
Pu2min = min(Pu2(1:N));
if (Pu1max>Pu2max) Ymax = Pu1max;
else Ymax = Pu2max;
end;
if (Pu1min<Pu2min) Ymin = Pu1min;
else Ymin = Pu2min;
end;
DY = Ymax-Ymin;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(U(1:N),Pu1(1:N)+0.5*DY,’b’,’LineWidth’,1.5)
hold on
plot(U(1:N),Pu2(1:N)+0.25*DY,’k’,’LineWidth’,1.5)
plot(U(2:N),pmax*p(2:N),’r’,’LineWidth’,1.0);
hold off
axis([1.5 U(N) [Ymin Ymax]+[-0.02 1.02]*DY])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
set(gca,’YTick’,[])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’p(u)’,’FontSize’,18)
legend([’ ’ num2str(Qf1) ’ keV’],[’ ’ num2str(Qf2) ’ keV’],’ hist.’)
pmax = max(p);
ha1=axes(’Position’,[.2 .532 .38 .35]);
plot(U,p,’Color’,[.5 .5 .5],’LineWidth’,1);

271
set(ha1,’FontSize’,14,’Color’,[1 .8 0])
ylabel(’N(u)du (x1000)’,’FontSize’,14)
xlabel(’u (A)’,’FontSize’,14)
axis([1.2 max(U) -0.03*pmax 1.02*pmax])
hold on
plot(U(2:N),p(2:N),’r’,’LineWidth’,1);
plot([1.5 10.25 10.25 1.5 1.5],[-0.015 -0.015 0.85 0.85 -0.015]*pmax,’--r’,’LineWidth’,1)
hold off
text(0.8*max(U),0.8*pmax,’Au’,’FontSize’,36,’Color’,[1 1 0],’FontWeight’,’bold’)

function PdeU=goldnanopdu(fname,Qf,Nph)
M=load(fname)’;
U = M(1,:);
p = M(2,:);
if (U(1)==0) U(1) = 1e-8; end;
dQ = Qf/5000;
Q = 0:dQ:Qf;
Q(1) = 1e-8;
Nq = size(Q,2);
f = asfQ(’Au’,(0.25/pi)*Q);
f = f.*f;
for n=1:Nq
Qu = Q(n)*U;
P(n) = f(n)*sum(p.*(sin(Qu)./Qu));
end;
Ps=photonstatistic(P,Nph);
S = f(1)*(Ps./f);
Nu = size(U,2);
F = (2*dQ/pi)*((S-1).*Q);
for n = 1:Nu
u = U(n);
h(n) = sum((u*F).*sin(u*Q));
end;
du = U(3)-U(2);
wl = 2*pi/Qf;
Nw = floor(0.5*wl/du);
for n=1:Nu
nmin = n-Nw;
nmax = n+Nw;
if (nmin<1) Pu(n) = sum(h(1:nmax))/nmax;
elseif (nmax>Nu) Pu(n)= sum(h(nmin:Nu))/(Nu-nmin+1);
else Pu(n) = sum(h(nmin:nmax))/(2*Nw+1);
end;
end;
PdeU = [U; Pu]’;

function Z=photonstatistic(M,N)
soma = sum(sum(M));
Z = zeros(size(M));
for np = 1:N
aux = 0; photon = soma*rand; nn = 0;
while (aux<photon)
nn = nn + 1;
aux = aux + M(nn);
end;
Z(nn) = Z(nn) + 1;
end;

Rotina 34: debye.m


function M=debye(ct,Qf,rab,sg)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Comparação numérica da solução de TF{G(u-rab)} com: %
% ct = 1; G(u-rab).sin(Qu)/Qu %
% ct = 2; G(u-rab).sin(Qu) %
% ct = 3; G(u-rab).cos(Qu) %
% Qf : valor limite de Q (A^{-1}) %
% rab : uma distância interatomica, e.g. 2 Angstrom %
% sg : desvio padrão (em Angstroms) da gaussina %

272
% G(u-rab) = exp[-(u-rab)^2/2sg^2] %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (sg < 0.005)
disp(’ desvio padrão muito pequeno, use sg > 0.005 A!!!’)
M=[];
return;
end;
if (rab >= 50)
disp(’ distância interatômica muito grande, use rab < 50 A!!!’)
M=[];
return;
end;
Nu = 10000;
Umax = 200;
du = Umax/Nu;
U = 0:du:Umax;
U(1) = 1e-8;
Nu = size(U,2);
Nq = 500;
dq = Qf/Nq;
Q = 0:dq:Qf;
Q(1)=1e-8;
Nq = size(Q,2);
G = (du/(sg*sqrt(2*pi)))*exp((-0.5/sg^2)*(U-rab).^2);
if (ct==1)
for n = 1:Nq
Qu = Q(n)*U;
Y(n) = sum(G.*sin(Qu)./Qu);
end;
Qrab = rab*Q;
dqm = sg/sqrt(2);
Y2 = exp(-(dqm^2*(Q.*Q))).*(sin(Qrab)./Qrab);
ytext = ’TF\{G(u-rab)/4\piu^2\}’;
elseif (ct==2)
for n = 1:Nq
Qu = Q(n)*U;
Y(n) = sum(G.*sin(Qu));
end;
Qrab = rab*Q;
dqm = sg/sqrt(2);
Y2 = exp(-(dqm^2*(Q.*Q))).*sin(Qrab);
ytext = ’imag[TF\{G(u-rab)\}]’;
else
for n = 1:Nq
Qu = Q(n)*U;
Y(n) = sum(G.*cos(Qu));
end;
Qrab = rab*Q;
dqm = sg/sqrt(2);
Y2 = exp(-(dqm^2*(Q.*Q))).*cos(Qrab);
ytext = ’real[TF\{G(u-rab)\}]’;
end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Q,Y,’r’,Q,Y2,’-.b’,’LineWidth’,2)
axis tight
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(ytext,’FontSize’,18)
legend(’ solução numérica’,’ aproximação DW’)
M=[Q; Y; Y2]’;

Rotina 35: polymerchain.m


function polymerchain(Nm,jct)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Cria polímero com Nm monômeros --H2C--CH2-- %
% jct == 1; modelo de cadeia com junção limitada %

273
% jct ~= 1; modelo de cadeia com junção livre %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L = 0.154;
if (jct==1)
phi = [-1 0 1]*(2*pi/3);
T = [(71+2*(2*rand(Nm,1)-1))*(pi/180) phi(fix(2.99999999999*rand(Nm,1))+1)’];
else
T = [pi*rand(Nm,1) (2*pi)*rand(Nm,1)];
end;
R(1,:) = [0 0 0];
M = eye(3);
for n=1:Nm
st = sin(T(n,1));
ct = cos(T(n,1));
sp = sin(T(n,2));
cp = cos(T(n,2));
M = [ct*cp ct*sp -st; -sp cp 0; st*cp st*sp ct]*M;
R(n+1,:) = R(n,:) + L*M(3,:);
end;
Nm = Nm + 1;
rc = sum(R)/Nm;
R(:,1) = R(:,1)-rc(1);
R(:,2) = R(:,2)-rc(2);
R(:,3) = R(:,3)-rc(3);
n=24;
Ncor = 0.02*(0:1:n)’;
n = n + 1;
C = [zeros(n,1) zeros(n,1) 1-Ncor;
Ncor zeros(n,1) 0.5*ones(n,1);
0.5*ones(n,1) zeros(n,1) 0.5-Ncor;
0.5+Ncor zeros(n,1) zeros(n,1)];
x = Nm/100;
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
plot3(R(1,1),R(1,2),R(1,3),’b.’)
hold on
for n=2:Nm
plot3(R(n-1:n,1),R(n-1:n,2),R(n-1:n,3),’Color’,C(fix((n-1)/x)+1,:),’LineWidth’,1.2)
end;
plot3(R(Nm,1),R(Nm,2),R(Nm,3),’r.’)
hold off
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’Box’,’on’,’LineWidth’,1)
axis image
axis tight; grid
xlabel(’X (nm)’,’FontSize’,18)
ylabel(’Y (nm)’,’FontSize’,18)
zlabel(’Z (nm)’,’FontSize’,18)

Rotina 36: polymer.m


function M=polymer(fname,Nm,nord,jct)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera cadeia de Nm monômeros (comprimento L = 0,154nm) %
% nord == 0; calcula o raio de giro da cadeia e %
% compara com Nm*L*L/6 %
% nord >0 (inteiro); calcula S(Q) e salva no arquivo %
% fname_nord.dat %
% jct == 1; modelo de cadeia com junção limitada %
% jct ~= 1; modelo de cadeia com junção livre %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nord = round(abs(nord));
c=clock; fprintf(’ %2.0fh%2.0fm%2.0fs’,c(4:6))
L = 1.54;
if (jct==1)
phi = [-1 0 1]*(2*pi/3);
T = [(71+2*(2*rand(Nm,1)-1))*(pi/180) phi(fix(2.99999999999*rand(Nm,1))+1)’];
else
T = [pi*rand(Nm,1) (2*pi)*rand(Nm,1)];

274
end;
R(1,:) = [0 0 0];
M = eye(3);
for n=1:Nm
st = sin(T(n,1));
ct = cos(T(n,1));
sp = sin(T(n,2));
cp = cos(T(n,2));
M = [ct*cp ct*sp -st; -sp cp 0; st*cp st*sp ct]*M;
R(n+1,:) = R(n,:) + L*M(3,:);
end;
Nm = Nm + 1;
rc = sum(R)/Nm;
R(:,1) = R(:,1)-rc(1);
R(:,2) = R(:,2)-rc(2);
R(:,3) = R(:,3)-rc(3);
Rg2 = Nm*L*L/6;
if (nord~=0)
Qmax = 18/sqrt(Rg2);
dq = Qmax/100;
Q = 0:dq:Qmax;
Q(1) = 1e-8;
Nq = size(Q,2);
S = zeros(1,Nq);
for jj=1:Nm
rj = R(jj,1);
for kk = jj+1:Nm
rjk = R(kk,1)-rj;
S = S + cos(rjk*Q);
end;
end;
S = 2*S;
M = [Q; S]’;
save([fname ’_’ num2str(fix(nord)) ’.dat’],’M’,’-ascii’);
else M=[];
end;
Rg2c = sum(sum(R.*R))/Nm;
fprintf(’ Nm= %5.0f Rg2= %6.4e (%6.4e)’,Nm-1,Rg2c,Rg2)
c=clock; fprintf(’ %2.0fh%2.0fm%2.0fs\n’,c(4:6))

Rotina 37: expolymer.m


function expolymer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gráficos das curvas de espalhamento por polímeros %
% virtuais gerados pela rotina polymer.m e salva nos %
% arquivos polymer*.dat %
% %
% Exemplo: %
% N=500; %
% Nm = 2000; %
% fname = ’polymer2k’; %
% for n=1:N %
% M=polimer(fname,Nm,n,0); %
% Y(n,:)=M(:,2)’; %
% end; %
% S = sum(Y)/N; %
% Q = M(:,1)’; %
% M = [Q; S]’; %
% save([fname ’_1a500.dat’],’M’,’-ascii’) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fna = ’polymer2k_1a500.dat’; Nma = 2000;
fnb = ’polymer6k_1a500.dat’; Nmb = 6000;
fnc = ’polymer10k_1a500.dat’; Nmc = 10000;
M = load(fna)’;
Qa=M(1,:);
Sa=M(2,:);
M = load(fnb)’;
Qb=M(1,:);

275
Sb=M(2,:);
M = load(fnc)’;
Qc=M(1,:);
Sc=M(2,:);
L = 1.54;
Rg2a = 770; %Nma*L*L/6;
Rg2b = 2200; %Nmb*L*L/6;
Rg2c = 3730; %Nmc*L*L/6;
Ua = Rg2a*(Qa.*Qa);
Ub = Rg2b*(Qb.*Qb);
Uc = Rg2c*(Qc.*Qc);
Ya = 2*(exp(-Ua)-1+Ua)./(Ua.*Ua);
Ya(1) = 1;
Ya = Ya*Sa(1);
Yb = 2*(exp(-Ub)-1+Ub)./(Ub.*Ub);
Yb(1) = 1;
Yb = Yb*Sb(1);
Yc = 2*(exp(-Uc)-1+Uc)./(Uc.*Uc);
Yc(1) = 1;
Yc = Yc*Sc(1);
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
N=1:1:size(Qa,2);
Ur=sqrt(Ua(N));
Q2 = Qa(N).^2;
plot(Ur,Sa(N).*Q2,’-bo’,Ur,Ya(N).*Q2,’--k’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1.5)
N=1:1:size(Qb,2);
Ur=sqrt(Ub(N));
Q2 = Qb(N).^2;
hold on
plot(Ur,Sb(N).*Q2,’-md’,Ur,Yb(N).*Q2,’--k’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1.5)
N=1:1:size(Qc,2);
Ur=sqrt(Uc(N));
Q2 = Qc(N).^2;
plot(Ur,Sc(N).*Q2,’-rs’,Ur,Yc(N).*Q2,’--k’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1.5)
hold off
set(gca,’FontSize’,18,’Color’,[0.894 0.941 0.902],’LineWidth’,1)
xlabel(’QR_g’,’FontSize’,18)
ylabel(’N_m^2Q^2S(Q)’,’FontSize’,18)
text(13,47000,’N_m = 10000’,’FontSize’,18,’Color’,’r’)
text(13,26000,’N_m = 6000’,’FontSize’,18,’Color’,’m’)
text(13,5000,’N_m = 2000’,’FontSize’,18,’Color’,’b’)
axis([0 17.5 0 5.9e+4])

Rotina 38: polymerRg.m


function polymerRg
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara distribuições estatísticas dos raios de giro de %
% 20000 polímeros com Nm=10000 monômeros cada. %
% Arquivos *.txt obtidos a partir da rotina polymer.m. %
% %
% Exemplo: após executar o comando %
% >> for n=1:20000 polymer(’qualquernome’,10000,0,0); end; %
% salvar a tela no aquivo raiosdegiro10k20000.txt. %
% Repetir o procedimento com %
% "polymer(’qualquernome’,10000,0,1);" e salvar a tela no %
% arquivo raiosdegiro10k20000wl.txt. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fid = fopen(’raiosdegiro10k20000.txt’,’r’);
line = fgets(fid);
n = 0;
while (line~=-1)
n = n + 1;
Z(n,1) = sscanf(line(29:41),’%f’)’;
line = fgets(fid);
end;
fclose(fid);

276
Ra=0.01*Z(:,1);
fid = fopen(’raiosdegiro10k20000wl.txt’,’r’);
line = fgets(fid);
n = 0;
while (line~=-1)
n = n + 1;
Z(n,1) = sscanf(line(29:41),’%f’)’;
line = fgets(fid);
end;
fclose(fid);
Rb=0.01*Z(:,1);
du = 20/8;
N = size(Ra,1);
Umax = max(Ra);
Ua = 0:du:Umax;
p = zeros(size(Ua));
for n=1:N
k = fix(Ra(n)/du)+1;
p(k) = p(k) + 1;
end;
pa = (100/du) * p / sum(p);
Rg2a = sum(Ra)/N;
xa=find(abs(Ua-Rg2a)<du);
N = size(Rb,1);
Umax = max(Rb);
Ub = 0:du:Umax;
p = zeros(size(Ub));
for n=1:N
k = fix(Rb(n)/du)+1;
p(k) = p(k) + 1;
end;
pb = (100/du) * p / sum(p);
Rg2b = sum(Rb)/N;
xb=find(abs(Ub-Rg2b)<du);
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
plot([Rg2a Rg2a],[0 pa(xa(1))],’--k’,Ua,pa,’-k.’,’LineWidth’,2)
hold on
plot([Rg2b Rg2b],[0 pb(xb(1))],’--b’,Ub,pb,’-b.’,’LineWidth’,2)
hold off
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
xlabel(’R_g^2 (nm^2)’,’FontSize’,18)
ylabel(’No. ocorrências (%/nm^2)’,’FontSize’,18)
text(Rg2a,pa(xa(1)),’ \leftarrow livre’,’FontSize’,18,’Color’,’k’)
text(Rg2b,pb(xb(1)),’ \leftarrow limitada’,’FontSize’,18,’Color’,’b’)
axis([0 2e+2 0 2.8])

Rotina 39: tfhdeu.m


function tfhdeu(N,d,sphsqr,ordem);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Transformada de Fourier da função h(u) de uma distribuição %
% volumétrica contendo aprox. (2N+1)x(2N+1)x7 partículas. %
% d = grau de correlação ao longo da direção X, i.e. separação %
% entre partículas adjacentes vale Da/a = 1 + d*(2*rand - 1). %
% sphsqr == 1 distribuição cilíndrica %
% sphsqr ~= 1 distribuição retangular %
% ordem = 1, 2, 3, ... (identificação arquivo de saída) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dy = 0.1*d;
NN = 2*N + 1;
X = zeros(NN,NN,NN);
Y = zeros(NN,NN,NN);
Z = zeros(NN,NN,NN);
X(:,:,1) = d*(2*rand(NN)-1);
Y(:,:,1) = dy*(2*rand(NN)-1);
Z(:,:,1) = zeros(NN);
h = 0;

277
if (N>0)
X(:,:,2) = X(:,:,1) + 1 + d*(2*rand(NN)-1);
X(:,:,3) = X(:,:,1) - 1 + d*(2*rand(NN)-1);
Y(:,:,2) = Y(:,:,1) + 1 + dy*(2*rand(NN)-1);
Y(:,:,3) = Y(:,:,1) - 1 + dy*(2*rand(NN)-1);
Z(:,:,2) = Z(:,:,1) + 1;
Z(:,:,3) = Z(:,:,1) - 1;
h = [0 1 -1];
if (N>1)
for n = 2:N
X(:,:,2*n) = X(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);
X(:,:,2*n+1) = X(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);
Y(:,:,2*n) = Y(:,:,2*(n-1)) + 1 + dy*(2*rand(NN)-1);
Y(:,:,2*n+1) = Y(:,:,2*(n-1)+1) - 1 + dy*(2*rand(NN)-1);
Z(:,:,2*n) = Z(:,:,2*(n-1)) + 1;
Z(:,:,2*n+1) = Z(:,:,2*(n-1)+1) - 1;
h(2*n:2*n+1) = [n -n];
end;
end;
end;
N0 = N+1;
nn = 0;
for n=1:NN
for m=1:NN
for p=1:NN
nn = nn + 1;
R(nn,:) = [X(N0-h(p),N0+h(m),n) Y(N0-h(p),N0-h(n),m) Z(N0+h(n),N0+h(m),p)];
end;
end;
end;
clear X Y Z;
R = 10*R;
if (sphsqr == 1)
raio2 = max(max(R));
raio2 = raio2*raio2;
R = R(find(sum(R.*R,2)<raio2),:);
end;
R = R(find(R(:,3).*R(:,3)<1000),:);
Nr = size(R,1);
twopi_wl = 2*pi/1;
A = 150;
pixel = 0.5;
X = -A:pixel:A;
Y = A:-pixel:-A;
Nx = size(X,2);
for n=1:Nx
XX(n,:) = X;
YY(:,n) = Y’;
end;
for n=1:Nx
for m=1:Nx
S = [XX(1,n) YY(m,1) 600];
S = S / sqrt(S*S’) - [0 0 1];
Q(m,n,:) = twopi_wl*S;
end;
end;
clock
I = zeros(size(Q,1),size(Q,2));
for n=1:Nr
for m=n+1:Nr
r = R(m,:)-R(n,:);
I = I + cos(Q(:,:,1)*r(1)+Q(:,:,2)*r(2)+Q(:,:,3)*r(3));
end;
end;
I = 2*I + Nr;
clock
surf(XX,YY,log(I))
shading interp
axis image
view(-14,30)
if (sphsqr == 1)

278
save([’tfhdeu_N’ num2str(N) ’d’ num2str(100*d) ’sphere’ num2str(ordem) ’.dat’],’I’,’-ascii’);
else
save([’tfhdeu_N’ num2str(N) ’d’ num2str(100*d) ’square’ num2str(ordem) ’.dat’],’I’,’-ascii’);
end;

Rotina 40: tfhdeuplotmap.m


function [Qx,Qy,I]=tfhdeuplotmap(fname,N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Motra mapa de TF{h(u)} em função de Qx e Qy. %
% fname = nome série de arquivos *.dat gerados pela rotina tfhdeu.m %
% N = número de arquivos na série. %
% %
% Exemplo: [Qx,Qy,I]=tfhdeuplotmap(’tfhdeu_N8d20sphere’,20); %
% lê os arquivos tfhdeu_N8d20sphere1.dat %
% tfhdeu_N8d20sphere2.dat %
% ... %
% tfhdeu_N8d20sphere20.dat %
% obtidos por tfhdeu(8,0.2,1,n); onde n=1,2,...,20. %
% Mapa = valor médio dos arquivos. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nr = 1685; % número médio de partículas nas N distribuições
A = 150; pixel = 0.5; % mesmo valores na rotina tfhdeu.m
Q = 20*sin(0.5*atan((-A:pixel:A)/600));
for n=1:size(Q,2)
Qx(n,:) = Q;
Qy(:,n) = -Q’;
end;
I = zeros(size(Qx));
for n=1:N
In = load([fname num2str(n) ’.dat’]);
I = I + In;
end
I = (1/(N*Nr))*I;
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
surf(Qx,Qy,log10(I))
shading interp
axis image
view(-14,30)
set(gca,’Position’,[0.05 0.07 0.85 0.9],’LineWidth’,1)
set(gca,’FontSize’,14,’Color’,[0.93 0.93 0.93])
set(gca,’ZTick’,[],’DataAspectRatio’,[0.03 0.03 0.4])
set(gca,’YTick’,[-2 -1 0 1 2],’XTick’,[-2 -1 0 1 2])
colormap(jet)
colorbar(’XColor’,’k’,’FontSize’,14,’Location’,’East’,’LineWidth’,1)
xlabel(’n_x’,’FontSize’,18)
ylabel(’n_y’,’FontSize’,18)
text(2,0,0,’Log(TF\{h(u)\})’,’FontSize’,16,’Rotation’,90)

Rotina 41: exgdeu1.m


function M=exgdeu1(d,N,prt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Retorna função g(u) para correlação Da/a = 1 + d*(2*rand - 1), com 2N-1 %
% pontos ao longo da direção de correlação e com estatística de (2N-1)^2 %
% repetições por ponto. Se prt = 1 salva arquivo exgedu.dat %
% %
% Exemplo: M=exgdeu1(.2,100,0); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NN = 2*N + 1;
X = zeros(NN,NN,NN); % valor máximo de NN limitado pela mémoria disponível
X(:,:,1) = d*(2*rand(NN)-1);
if (N>0)
X(:,:,2) = X(:,:,1) + 1 + d*(2*rand(NN)-1);
X(:,:,3) = X(:,:,1) - 1 + d*(2*rand(NN)-1);
if (N>1)

279
for n = 2:N
X(:,:,2*n) = X(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);
X(:,:,2*n+1) = X(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);
end;
end;
end;
V = (sum(sum(X(:,:,NN-1)))-sum(sum(X(:,:,NN))))/NN^2;
xmin=min(min(X(:,:,NN)));
xmax=max(max(X(:,:,NN-1)));
Umax = 1.02*(xmax-xmin)/2;
du = 0.01;
U = 0:du:Umax;
px = zeros(1,size(U,2));
for n=1:NN
for m=1:NN
r0 = X(n,m,1);
for l=1:NN
k = fix(abs(X(n,m,l)-r0)/du) + 1;
px(k) = px(k) + 1;
end;
end;
end;
g = (1/(2*du*px(1)))*px;
Nu = size(px,2);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(U(2:Nu),g(2:Nu),’r’,’LineWidth’,2)
axis tight
grid
set(gca,’FontSize’,18,’Color’,[1 0.949 0.867],’LineWidth’,1)
xlabel(’u/a’,’FontSize’,18)
ylabel(’g(u)’,’FontSize’,18)
M=[10*U(2:Nu); g(2:Nu)]’; %fator de escala: a = 10A
if (prt==1) save(’exgdeu.dat’,’M’,’-ascii’); end;

Rotina 42: exgdeu2.m


function exgdeu2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara dados simulados, salvos em tfhdeu_N8d20sphere1a20.dat, com a %
% solução numérica obtida a partir da função g(u), arquivo exgdeu.dat. %
% %
% Exemplo: [Qx,Qy,I]=tfhdeuplotmap(’tfhdeu_N8d20sphere’,20); I = 1685*I; %
% save(’tfhdeu_N8d20sphere1a20.dat’,’I’,’-ascii’); %
% exgdeu1(.2,200,1); para gerar exgdeu.dat %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I = load(’tfhdeu_N8d20sphere1a20.dat’);
A = 150; pixel = 0.5; wl = 1; % mesmo valores na rotina tfhdeu.m
Nr = 1685; % número médio de partículas por amostra
Qx = (2*pi/wl)*sin(atan((-A:pixel:A)/600));
detc = 500; if (detc>300) detc = 300; end;
Ix = sum(I(301-detc:301+detc,:))/(2*detc+1);
M = find(Qx>0);
Ix = Ix(M)/Nr;
Qx = Qx(M);
M=find(Qx>.1);
Ixmin = min(Ix(M));
DIx = max(Ix(M))-Ixmin;
M=load(’exgdeu.dat’)’;
U=M(1,:);
g=M(2,:);
Nu = size(U,2);
twopi = 2*pi;
dq = 0.005;
Q=0.1:dq:2;
Nq = size(Q,2);
du = U(3)-U(2);
G = g-1;

280
for nq = 1:Nq
q = Q(nq);
S(nq) = sum(G.*cos(q*U));
end;
rho = 0.17;
S = 1 + (rho*du)*S;
aux=5/pi;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(aux*Qx,Ix,’-ko’,’MarkerFaceColor’,’w’,’MarkerSize’,3,’LineWidth’,1)
hold on
semilogy(aux*Q,S,’-r’,’LineWidth’,1.5)
hold off
axis([0.1 3.14 .1 6.4])
set(gca,’FontSize’,18,’Color’,[1 0.97 0.92],’LineWidth’,1)
xlabel(’n_x’,’FontSize’,18)
ylabel(’S(Q_x)’,’FontSize’,18)
grid
legend(’simulação’,’solução numérica’)
text(.1,1.3,’ \leftarrow contrib. volume’,’FontSize’,16)

Rotina 43: exwaterSdeQ.m


function M=exwaterSdeQ(Qf,prt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Função estrutural da água calculada a partir da g(u) disponível %
% em artigos científicos, %
% e.g. http://pubs.rsc.org/en/content/articlepdf/2003/cp/b301481a, %
% e salva no arquivo gdeuwater.dat. %
% Qf = vetor recíproco (módulo) final %
% prt == 1; abre figura %
% prt ~= 1; retorna %
% M=[Q; I]’; %
% | | %
% | intensidade normalizada: I(Q)/NI_{TH} = P(Q)S(Q) % %
% módulo vetor recíproco %
% %
% Exemplo: exwaterSdeQ(20,1); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
GdeU=watergdeuinterp(’gdeuwater.dat’);
U = GdeU(1,:);
g = GdeU(2,:);
clear GdeU;
g(find(g<0))=0;
U(1) = 1e-8;
du = U(3)-U(2);
dq = Qf/1000;
Q = 0:dq:Qf;
Q(1) = 1e-8;
Nq = size(Q,2);
alpha = max(U)^3 / (3*sum(g.*U.*U)*du);
rho = 1e-24 * 6.022e+23 / 18 / alpha;
Gudu = (4*pi*rho*du)*(g-1).*U;
for n=1:Nq
q = Q(n);
S(n) = 1 + sum(Gudu.*sin(q*U))/q;
end;
S(find(S<0))=0;
f = asfQ(’O2-.’,(0.25/pi)*Q);
f2 = f.*f;
if (prt==1)
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Q,S,’b’,’LineWidth’,2)
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
hold on
plot(Q,f2/f2(1),’--k’,’LineWidth’,1)

281
hold off
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’S(Q)’,’FontSize’,18)
text(2.5,.4,’ \leftarrow P(Q)/P(0)’,’FontSize’,14,’Color’,’k’)
axis([0 Qf 0 1.02*max(S)])
ha1=axes(’Position’,[.481 .282 .38 .38]);
plot(U,g,’y’,’LineWidth’,2);
set(ha1,’FontSize’,14,’Color’,[.85 .7 1])
set(ha1,’XTick’,[2 3 4 5 6 7 8 9])
ylabel(’g(u)’,’FontSize’,14)
xlabel(’u (A)’,’FontSize’,14)
axis([1.5 9.5 -.05 2.95])
text(5,2,’H_2O’,’FontSize’,36,’Color’,[.93 .93 .93],’FontWeight’,’bold’)
grid
M=[0 0];
else
M=[Q; f2.*S]’;
end;

function MM=watergdeuinterp(fname)
GxU = load(fname)’;
X=GxU(1,:);
Y=GxU(2,:);
Nx = size(X,2);
Umax = max(X);
du = 0.01;
U = 0:du:Umax;
Nu = size(U,2);
for n=1:Nu
u=U(n);
m=1;
u2 = X(m);
y2=Y(m);
while (m<Nx)
m = m + 1;
u1 = u2;
u2 = X(m);
y1 = y2;
y2 = Y(m);
if (u2>u)
g(n) = (y2-y1) * (u - u1) / (u2-u1) + y1;
m=Nx;
end;
end;
end;
MM = [U; g];

Rotina 44: exwaterccd.m


function I=exwaterccd(E,Qf,N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera padrao difracao da agua num CCD fictício com %
% área de 60x60 cm e pixel de 5 mm %
% E = energia (eV ou keV) %
% Qf = vetor recíproco (A^{-1}) limitado pela mínima %
% distância amostra-CCD (D = 5 cm) %
% N > 999, padrão com estatística de N fótons %
% %
% Exemplo: I=exwaterccd(12,4,5e+6); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A = 300; % 4A^2 = área detetor CCD (mm^2)
pixel = 5; % tamanho pixel (mm)
if (E>500) E = E/1000; end; % converte energia de eV para keV
Qfmax = E*sin(0.5*atan(30/5));
if (Qf>Qfmax) Qf = Qfmax; end; % limita Qf talque mínimo D = 5 cm
M = exwaterSdeQ(Qf,0)’;
Q = M(1,:);
PS = M(2,:);
D = A / tan(2*asin(Qf/E));

282
X = 0:pixel:A;
Y = -A:pixel:0;
Nx = size(X,2);
twopi_wl = 2*pi*E/12.3985;
for n=1:Nx
for m=1:Nx
v = [X(n) Y(m) D];
v = v / sqrt(v*v’);
cg = v(3);
v = v - [0 0 1];
q = twopi_wl*sqrt(v*v’);
DQ = abs(Q-q);
nn=find(DQ==min(DQ)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I(m,n) = PS(nn(1))* cg*cg*cg; % --> % redução tamanho efetivo do pixel %
end; % R*sin(2th)dphi = pixel %
end; % R*d(2th) = pixel * cos(2th) %
beye=zeros(Nx); % dOmega = (pixel/D)^2*cos(2th)^3 %
for n=1:Nx %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beye(n,Nx+1-n) = 1;
end;
I = [I*beye I];
I = [I; beye*I];
if (N>999) I = photonstatistic(I,N); end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
set(gca,’FontSize’,14,’Color’,’k’,’LineWidth’,1)
imagesc([-A A],[-A A],I)
blackbluemap = [zeros(1,64) 0:1/63:1; zeros(1,64) 0:1/63:1; 0:1/63:1 ones(1,64)]’;
colormap(blackbluemap)
axis image
view(0,90)
colorbar(’YColor’,’k’,’FontSize’,14,’Location’,’East’,’LineWidth’,1)
xlabel(’X (mm)’,’FontSize’,18)
ylabel(’Y (mm)’,’FontSize’,18)
text(0,0,200,’N^{o.} fótons/pixel’,’FontSize’,16,’Rotation’,90)

function Z=photonstatistic(M,N);
soma = sum(sum(M));
rand(’state’,sum(100*clock));
Z = zeros(size(M));
for np = 1:N
aux = 0; photon = soma*rand; nn = 0;
while (aux<photon)
nn = nn + 1;
aux = aux + M(nn);
end;
Z(nn) = Z(nn) + 1;
end;

Rotina 45: exrdf.m


function exrdf(fname,R0,d,N,nord)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Distribuição aleatória de aprox. N/2 posições num volume %
% esférico de raio R0. Elimina uma de cada duas posições %
% cuja separação seja menor que d (modelo esfera dura). %
% Se nord~=0 gera arquivo [fname num2str(nord) ’.dat’] %
% %
% Exemplo: exrdf(’exrdf’,100,2,4000,0) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c=clock; fprintf(’ %1.0fh%1.0fm%1.0fs\n’,c(4:6))
NN=N;
d2 = d*d;
R02 = R0*R0;
R = R0*(2*rand(N,3)-1);
R2 = sum(R.*R,2);
R = R(find(R2<=R02),:);
N = size(R,1);
for n=1:N

283
rn = R(n,:);
for m=n+1:N
rmn = R(m,:) - rn;
rmn2 = rmn * rmn’;
if (rmn2<d2)
R(m,:) = R(m,:) + 4*R0;
end;
end;
end;
R2 = sum(R.*R,2);
R = R(find(R2<=R02),:);
N = size(R,1);
V = (4*pi/3)*R0^3;
rho = N / V;
Umax = 2*R0;
du = 0.1;
U = 0:du:Umax;
U(1) = 1e-8;
Nu = size(U,2);
p = zeros(1,Nu);
R2 = sum(R.*R,2);
Mj = find(R2<0.25*R02); % 0.25 => rn < 50A ou 0.49 => rn < 70A
Nj = size(Mj,1);
for nn=1:Nj
n = Mj(nn);
rn = R(n,:);
for m=1:n-1
rmn = R(m,:) - rn;
k = fix(sqrt(rmn * rmn’)/du)+1;
p(k) = p(k) + 1;
end;
for m=n+1:N
rmn = R(m,:) - rn;
k = fix(sqrt(rmn * rmn’)/du)+1;
p(k) = p(k) + 1;
end;
end;
g = p./(4*pi*rho*Nj*du*(U.*U));
plot(U/d,g,’r’)
grid
if (nord~=0)
ffname = [fname num2str(fix(nord)) ’.dat’];
M = [U; g]’;
save(ffname,’M’,’-ascii’);
end;
fprintf(’ N=%1.0f, n=%1.0f, Nj=%1.0f, rho=%10.8f\n’,NN,N,Nj,rho)
c=clock;
fprintf(’ %1.0fh%1.0fm%1.0fs\n’,c(4:6))

Rotina 46: exrdffitting.m


function exrdffiting(a,b)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Interpolação da curva de Nf versus Ni %
% %
% a,b = valores do parâmetro de ajuste das curvas para %
% d = 2 e 3 Angstroms, respectivamente %
% exemplo: a = 0.7e-5 e b = 2.1e-5 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (a==0 || b==0) disp(’ a = 0 ou b = 0, valores não permitidos!!!’); return; end;
%-------------------------------------------------------------------------%
% Dados obtidos da rotina exrdfd.m, e.g. exrdf(’qualquernome’,100,d,N,0); %
N=[ 2 4 8 10 20 40 60 80 100 120 200]*1000;
n(1,:)=[1013 2047 4098 5171 10065 19451 27886 35914 43662 50446 74620];
n(2,:)=[1028 2019 3997 4864 9219 16403 22345 26913 31125 34530 44749];
%-------------------------------------------------------------------------%
R0 = 100;

284
V = (4*pi/3) * R0^3;
d = [2 3];
vp = (pi/6)*(d.*d.*d);
N = N * (pi/6);
X=0:1000:110000;
na = 1/a;
Ya = na*(1-exp(-a*X));
nb = 1/b;
Yb = nb*(1-exp(-b*X));
fprintf(’ rho(2)=%5.3f/v_p e rho(3)=%5.3f/v_p\n’,(na/V)*vp(1),(nb/V)*vp(2))
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
plot(N,n(1,:),’bo’,N,n(2,:),’ks’,N,N,’--r’,’MarkerFaceColor’,’w’,’MarkerSize’,8,’LineWidth’,1.5)
legend(’ d = 0,2nm’,’ d = 0,3nm’,’ referência: N_f = N_i’,2)
hold on
plot(X,Ya,’b’,X,Yb,’k’,’LineWidth’,2)
hold off
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
axis tight
xlabel(’N_i’,’FontSize’,18)
ylabel(’N_f’,’FontSize’,18)

Rotina 47: exrdfplot.m


function M=exrdfplot
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Grafico das RDFs geradas pela rotina exrdf.m %
% Exemplos: %
% for n=1:10 exrdf(’exrdfd2d’,100,2,1e+5,n); end; %
% for n=1:10 exrdf(’exrdfd3d’,100,3,1e+5,n); end; %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fname1 = ’exrdfd2d’; N1 = 10;
fname2 = ’exrdfd3d’; N2 = 10;
fname3 = ’exrdfd2c’; N3 = 10;
for n=1:N1
S=load([fname1 num2str(n) ’.dat’])’;
Un(n,:) = S(2,:);
end;
g1 = sum(Un,1)/N1;
U1 = S(1,:);
clear Un;
for n=1:N2
S=load([fname2 num2str(n) ’.dat’])’;
Un(n,:) = S(2,:);
end;
g2 = sum(Un,1)/N2;
U2 = S(1,:);
clear Un;
for n=1:N3
S=load([fname3 num2str(n) ’.dat’])’;
Un(n,:) = S(2,:);
end;
g3 = sum(Un,1)/N3;
U3 = S(1,:);
clear Un;
M = [U1; g1; U2; g2]’;
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
plot(U2,g2,’-ks’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1.5)
hold on
plot(U1,g1,’-bo’,’MarkerFaceColor’,’w’,’MarkerSize’,6,’LineWidth’,1.5)
hold off
set(gca,’FontSize’,18,’Color’,[0.85 0.7 1],’LineWidth’,1)
axis([0 10 0 1.39])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’g(u)’,’FontSize’,18)
legend(’ d = 3A’,’ d = 2A’)

285
grid
ha1=axes(’Position’,[.481 .24 .38 .38]);
plot(U2,g2,’k’,U1,g1,’b’,’LineWidth’,2);
hold on
plot(U3,g3,’--b’,’LineWidth’,1)
hold off
set(ha1,’FontSize’,16,’Color’,[.93 .93 .93])
ylabel(’g(u)’,’FontSize’,16)
xlabel(’u (A)’,’FontSize’,16)
axis([0 150 0 1.39])
text(70,0.85,’ \leftarrow volume finito’,’FontSize’,16)
grid

Rotina 48: exdimer1GUP.m


function exdimer1GUPb
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara curvas de espalhamento por monômeros e dímeros da %
% enzima mutante H166G (PDB ID: 1GUP). %
% Sistemas dispersos com número constante de monômeros. %
% Monômero: registros "ATOM" de 1 a 2784, arquivo 1GUPmono.pdb %
% Dímero: registros "ATOM" de 1 a 5551, arquivo 1GUPdime.pdb %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
d = 54; % distância de exclusão (Angstroms)
rhov = 0.08; % fator de empacotamento
S=saxs(’1GUPmono.pdb’,2,1000)’;
Qm = S(1,:);
Pm = S(2,:);
invPmax = 1/max(Pm);
Pm = Pm * invPmax;
PmS = Pm.*(1-(8*rhov)*tfsphere(d*Qm));
S=saxs(’1GUPdime.pdb’,2,1000)’;
Qd = S(1,:);
Pd = (0.5*invPmax)*S(2,:);
N=1:4:size(Qd,2);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(Qd(N),Pd(N),’-ro’,Qm,Pm,’k’,Qm,PmS,’-.k’,’LineWidth’,2,’MarkerSize’,7,’MarkerFaceColor’,’w’);
axis tight
set(gca,’FontSize’,18,’Color’,[0.890196 0.941176 0.901961],’Box’,’on’,’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’I(Q)/I(0)’,’FontSize’,18)
legend(’ dímeros’,’ monômeros’,’ alta conc.’)
axis([-0.01 .52 8e-4 2.4])

function Z=tfsphere(u);
u(find(u<=0))=1e-8;
u3 = u.*u.*u;
Z = 3*((sin(u)-u.*cos(u))./u3);

Rotina 49: exhsphere.m


function exhsphere(d,x)
d = abs(d); x = abs(x); if (x>0.4) x = 0.4; end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Solução de Percus-Yevick (PY) para a equação de %
% Ornstein-Zernick, potencial de esferas duras. %
% %
% Fonte: %
% "Neutrons, x-rays and light: Scattering methods %
% applied to soft condensed matter" %
% P. Lindner and Th. Zemb (Elsevier, 2002) %
% Capítulo 14: Interacting Colloidal Suspensions, %
% por Rudolf Klein. pp. 360-361, eqs. (49) a (58). %
% %
% d = distância de máxima aproximação entre as %
% partículas %

286
% x = fração de empacotamento (de 0 até 0.4) %
% %
% Rotina compara S(Q) da soluções PY com %
% S(Q) = 1-8*rho*vp*TH(Qd) (solução de Debye) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vp = (pi/6)*d^3; % volume ocupado por cada partícula
rho = x/vp; % densidade de partículas
Umax = 5*d;
du = d/100;
U = 0:du:Umax;
U(1)=1e-8;
Ud = U/d;
Nu = size(U,2);
aux1 = (1-x)^4;
aux2 = -(1+0.5*x)^2 / aux1;
aux1 = (1+2*x)^2 / aux1;
C = (-0.5*x*aux1)*(Ud.*Ud.*Ud) - (6*x*aux2)*Ud - aux1;
C(find(U>d)) = 0;
Qmax = 6 * (5*pi/2) / (2*d);
dq = Qmax/2000;
Q = 0:dq:Qmax;
Q(1) = 1e-8;
Nq = size(Q,2);
G = (4*pi*du)*C.*U;
for n=1:Nq
q = Q(n);
TFC(n) = sum(G.*sin(q*U))/q;
end;
S = 1./(1-rho*TFC);
Y = rho*(TFC.*TFC).*S;
F = (dq/(2*pi*pi))*Y.*Q;
for n=1:Nu
u=U(n);
TFinvY(n) = sum(F.*sin(u*Q))/u;
end;
g = TFinvY + C + 1;
g(find(U<d))=0;
Qd = Q*d;
T = tfsphere(Qd);
Sp = 1-(8*rho*vp)*T;
Smin = min(Sp);
Smax = max(S);
dS = Smax-Smin;
Smin = Smin-0.05*dS;
Smax = Smax+0.05*dS;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Qd,Sp,’--k’,Qd,S,’r’,’LineWidth’,2)
set(gca,’FontSize’,18,’Color’,[0.89 0.94 0.9],’FontName’,’Arial’,’LineWidth’,1)
legend(’ Debye’,’ Percus-Yevick’,’Location’,’SouthWest’)
xlabel(’Qd’,’FontSize’,18);
ylabel(’S(Q)’,’FontSize’,18);
axis([0 max(Qd) Smin Smax])

ha2=axes(’Position’,[.533 .251 .338 .4]);


plot(Ud,g,’b’,’LineWidth’,2)
set(ha2,’FontSize’,14,’Color’,[0.729 0.831 0.957],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’u/d’,’FontSize’,18)
ylabel(’g(u)’,’FontSize’,18)
gmax = max(g);
axis([0 max(Ud) 0 1.05*gmax])
grid

function Z=tfsphere(u);
u(find(u<=0))=1e-8;
u3 = u.*u.*u;
Z = 3*((sin(u)-u.*cos(u))./u3);

287
Rotina 50: quartzR.m
function quartzR(N,d,ctr)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Volume contendo aproximadamente (2N+1)^3 unidades %
% de repetição da estrutura periódica. %
% %
% d = grau de correlação a longo das arestas da %
% unidade de repeticao (3Si+6O), i.e. %
% Da/a = 1 + d*(2*rand - 1); %
% %
% ctr == 1; vista plano (001) %
% ctr ~= 1; perspectiva 3D %
% %
% Exemplo: N = 4; d=0.001; ctr=0; %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NN = 2*N + 1;
X = zeros(NN,NN,NN);
Y = zeros(NN,NN,NN);
Z = zeros(NN,NN,NN);
X(:,:,1) = d*(2*rand(NN)-1);
Y(:,:,1) = d*(2*rand(NN)-1);
Z(:,:,1) = d*(2*rand(NN)-1);
h = 0;
if (N>0)
X(:,:,2) = X(:,:,1) + 1 + d*(2*rand(NN)-1);
X(:,:,3) = X(:,:,1) - 1 + d*(2*rand(NN)-1);
Y(:,:,2) = Y(:,:,1) + 1 + d*(2*rand(NN)-1);
Y(:,:,3) = Y(:,:,1) - 1 + d*(2*rand(NN)-1);
Z(:,:,2) = Z(:,:,1) + 1 + d*(2*rand(NN)-1);
Z(:,:,3) = Z(:,:,1) - 1 + d*(2*rand(NN)-1);
h = [0 1 -1];
if (N>1)
for n = 2:N
X(:,:,2*n) = X(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);
X(:,:,2*n+1) = X(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);
Y(:,:,2*n) = Y(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);
Y(:,:,2*n+1) = Y(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);
Z(:,:,2*n) = Z(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);;
Z(:,:,2*n+1) = Z(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);;
h(2*n:2*n+1) = [n -n];
end;
end;
end;
N0 = N+1;
nn = 0;
for n=1:NN
for m=1:NN
for p=1:NN
nn = nn + 1;
R(nn,:) = [X(N0-h(p),N0+h(m),n) Y(N0-h(p),N0-h(n),m) Z(N0+h(n),N0+h(m),p)];
end;
end;
end;
clear X Y Z;
Nr = size(R,1);
a = 4.9134;
c = 5.4052;
G = [0.5*a -sqrt(3)*a/2 0; 0.5*a +sqrt(3)*a/2 0; 0 0 c];
Vc = G(3,:)*cross(G(1,:),G(2,:))’;
rhoSi = 3/Vc;
rhoOx = 6/Vc;
R = R*G;
H = [2*N:-2:0 1:2:(2*N-1)];
n=0; NN2 = NN*NN;
for jz = 1:NN
for jx = 1:NN
for jy = 1:NN
n = n + 1;
S(n) = H(jz)+1 + H(jx)*NN2 + H(jy)*NN;
end;
end;

288
end;

%-----------------------------------------
% posições fracionárias: 3Si + 6O
%-----------------------------------------
Rfrac = [ 0.4699 0.0000 0.66666667;
0.0000 0.4699 0.33333333;
1-0.4699 1-0.4699 0.00000000;
0.4141 0.2681 0.78540000;
1-0.2681 0.1460 0.45206667;
1-0.1460 1-0.4141 0.11873333;
0.2681 0.4141 1-0.78540000;
1-0.4141 1-0.1460 1-0.11873333;
0.1460 1-0.2681 1-0.45206667];
%-----------------------------------------

Nat = size(Rfrac,1);
mm = 0; ncell = 0;
for jz = 1:NN-1
Az = NN2*(jz-1);
for jx = 1:NN-1
Ax = NN*(jx-1);
for jy = 1:NN-1;
n = Az+Ax+jy;
R0 = R(S(n),:);
M = [R(S(NN+n),:)-R0; R(S(n+1),:)-R0; R(S(NN2+n),:)-R0];
for nn = 1:Nat
mm = mm + 1;
RR(mm,:) = Rfrac(nn,:)*M + R0;
end;
ncell = ncell + 1;
atot = (ncell-1)*Nat;
aux = (ncell-1)*3;
Nsi(1+aux:3+aux) = (1:1:3) + atot;
Nox(1+2*aux:6+2*aux) = (4:1:9) + atot;
end;
end;
end;
clear R;
Nr = size(RR,1);

if (ctr==1)
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,[.95 .97 .95])
Ra = RR(Nsi,:);
Ra=Ra(find(Ra(:,3)<5),:);
RSi=Ra(find(Ra(:,3)>-0.1),:);
Ra = RR(Nox,:);
Ra=Ra(find(Ra(:,3)<5),:);
ROx=Ra(find(Ra(:,3)>-0.1),:);
plot3(RSi(:,1),RSi(:,2),RSi(:,3),’bo’,’MarkerFaceColor’,’c’,’MarkerSize’,9,’LineWidth’,1)
hold on
plot3(ROx(:,1),ROx(:,2),ROx(:,3),’ro’,’MarkerFaceColor’,’y’,’MarkerSize’,7,’LineWidth’,1)
hold off
axis image
axis([-10 10 -10 10 -0.1 5])
view(0,90)
axis off
legend(’ Si’,’ O’)
hold on
plot3([3.5 8.5],[-10 -10],[5 5],’m’,’LineWidth’,3)
hold off
text(5.5,-10,5,’0,5 nm’)
else
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
set(gca,’FontSize’,16,’FontName’,’Arial’,’LineWidth’,1)
plot3(RR(Nsi,1),RR(Nsi,2),RR(Nsi,3),’bo’,’MarkerFaceColor’,’c’,’MarkerSize’,5,’LineWidth’,.6)
hold on

289
plot3(RR(Nox,1),RR(Nox,2),RR(Nox,3),’ro’,’MarkerFaceColor’,’y’,’MarkerSize’,3,’LineWidth’,.6)
hold off
xlabel(’x (A)’,’FontSize’,14)
ylabel(’y (A)’,’FontSize’,14)
zlabel(’z (A)’,’FontSize’,14)
legend(’ Si’,’ O’)
grid
axis image
view(60,20)
set(gca,’Color’,[.97 .97 .97],’Box’,’on’)
end;

Rotina 51: quartzrdf.m


function quartzrdf(fname,N,d,nord)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcula as RDFs gab(u) para um volume contendo %
% aproximadamente (2N+1)^3 unidades de repetição %
% da estrutura periódica. %
% %
% d = grau de correlação a longo das arestas da %
% unidade de repeticao (3Si+6O), i.e. %
% Da/a = 1 + d*(2*rand - 1); %
% %
% Para nord ~= 0; salva as RDFs no arquivo %
% [fname num2str(fix(nord)) ’.dat’] %
% %
% Exemplo: quartzrdf(’quartzN4d008_’,4,0.08,0) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cc=clock; fprintf(’ %1.0fh%1.0fm%1.0fs\n’,cc(4:6))
NN = 2*N + 1;
X = zeros(NN,NN,NN);
Y = zeros(NN,NN,NN);
Z = zeros(NN,NN,NN);
X(:,:,1) = d*(2*rand(NN)-1);
Y(:,:,1) = d*(2*rand(NN)-1);
Z(:,:,1) = d*(2*rand(NN)-1);
h = 0;
if (N>0)
X(:,:,2) = X(:,:,1) + 1 + d*(2*rand(NN)-1);
X(:,:,3) = X(:,:,1) - 1 + d*(2*rand(NN)-1);
Y(:,:,2) = Y(:,:,1) + 1 + d*(2*rand(NN)-1);
Y(:,:,3) = Y(:,:,1) - 1 + d*(2*rand(NN)-1);
Z(:,:,2) = Z(:,:,1) + 1 + d*(2*rand(NN)-1);
Z(:,:,3) = Z(:,:,1) - 1 + d*(2*rand(NN)-1);
h = [0 1 -1];
if (N>1)
for n = 2:N
X(:,:,2*n) = X(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);
X(:,:,2*n+1) = X(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);
Y(:,:,2*n) = Y(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);
Y(:,:,2*n+1) = Y(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);
Z(:,:,2*n) = Z(:,:,2*(n-1)) + 1 + d*(2*rand(NN)-1);;
Z(:,:,2*n+1) = Z(:,:,2*(n-1)+1) - 1 + d*(2*rand(NN)-1);;
h(2*n:2*n+1) = [n -n];
end;
end;
end;
N0 = N+1;
nn = 0;
for n=1:NN
for m=1:NN
for p=1:NN
nn = nn + 1;
R(nn,:) = [X(N0-h(p),N0+h(m),n) Y(N0-h(p),N0-h(n),m) Z(N0+h(n),N0+h(m),p)];
end;
end;
end;
clear X Y Z;
Nr = size(R,1);

290
a = 4.9134;
c = 5.4052;
G = [0.5*a -sqrt(3)*a/2 0; 0.5*a +sqrt(3)*a/2 0; 0 0 c];
Vc = G(3,:)*cross(G(1,:),G(2,:))’;
rhoSi = 3/Vc;
rhoOx = 6/Vc;
R = R*G;
H = [2*N:-2:0 1:2:(2*N-1)];
n=0; NN2 = NN*NN;
for jz = 1:NN
for jx = 1:NN
for jy = 1:NN
n = n + 1;
S(n) = H(jz)+1 + H(jx)*NN2 + H(jy)*NN;
end;
end;
end;
%--------------------------------------------
% posições fracionárias: 3Si + 6O
%--------------------------------------------
Rfrac = [ 0.4699 0.0000 0.66666667;
0.0000 0.4699 0.33333333;
1-0.4699 1-0.4699 0.00000000;
0.4141 0.2681 0.78540000;
1-0.2681 0.1460 0.45206667;
1-0.1460 1-0.4141 0.11873333;
0.2681 0.4141 1-0.78540000;
1-0.4141 1-0.1460 1-0.11873333;
0.1460 1-0.2681 1-0.45206667];
%--------------------------------------------
Nat = size(Rfrac,1);
mm = 0; ncell = 0;
for jz = 1:NN-1
Az = NN2*(jz-1);
for jx = 1:NN-1
Ax = NN*(jx-1);
for jy = 1:NN-1;
n = Az+Ax+jy;
R0 = R(S(n),:);
M = [R(S(NN+n),:)-R0; R(S(n+1),:)-R0; R(S(NN2+n),:)-R0];
for nn = 1:Nat
mm = mm + 1;
RR(mm,:) = Rfrac(nn,:)*M + R0;
end;
ncell = ncell + 1;
atot = (ncell-1)*Nat;
aux = (ncell-1)*3;
Nsi(1+aux:3+aux) = (1:1:3) + atot;
Nox(1+2*aux:6+2*aux) = (4:1:9) + atot;
end;
end;
end;
clear R;

Nr = size(RR,1);
Raio2 = 0.6*N*a*cos(pi/6);
Raio2 = Raio2*Raio2;
R2 = sum(RR(Nsi,:).*RR(Nsi,:),2);
Naux = find(R2<=Raio2);
RSi = RR(Nsi(Naux),:);
NSi_ref = size(RSi,1);
R2 = sum(RR(Nox,:).*RR(Nox,:),2);
Naux = find(R2<=Raio2);
ROx = RR(Nox(Naux),:);
NOx_ref = size(ROx,1);
NSi_tot = size(Nsi,2);
NOx_tot = size(Nox,2);

Raux = max(RR)-min(RR);
Umax = 0.6*sqrt(Raux*Raux’);
du = 0.005;

291
U = 0:du:Umax;
U(1)=1e-8;
fourpiduU2 = 4*pi*du*(U.*U);
p = zeros(size(U));
for m = 1:NSi_ref
R = RSi(m,:);
for n = 1:NSi_tot
dR = RR(Nsi(n),:)-R;
k = fix(sqrt(dR*dR’)/du) + 1;
p(k) = p(k) + 1;
end;
end;
p(1)=0;
gsi = p./(rhoSi*NSi_ref*fourpiduU2);

p = zeros(size(U));
for m = 1:NOx_ref
R = ROx(m,:);
for n = 1:NOx_tot
dR = RR(Nox(n),:)-R;
k = fix(sqrt(dR*dR’)/du) + 1;
p(k) = p(k) + 1;
end;
end;
p(1)=0;
gox = p./(rhoOx*NOx_ref*fourpiduU2);

p = zeros(size(U));
for m = 1:NSi_ref
R = RSi(m,:);
for n = 1:NOx_tot
dR = RR(Nox(n),:)-R;
k = fix(sqrt(dR*dR’)/du) + 1;
p(k) = p(k) + 1;
end;
end;
gsiox = p./(rhoOx*NSi_ref*fourpiduU2);

p = zeros(size(U));
for m = 1:NOx_ref
R = ROx(m,:);
for n = 1:NSi_tot
dR = RR(Nsi(n),:)-R;
k = fix(sqrt(dR*dR’)/du) + 1;
p(k) = p(k) + 1;
end;
end;
goxsi = p./(rhoSi*NOx_ref*fourpiduU2);

figure(1)
plot(U,gsi,’b’,U,gox,’r’,U,gsiox,’--m’,U,goxsi,’--c’,’LineWidth’,1)
xlabel(’u (A)’,’FontSize’,18)
ylabel(’g_{\alpha\beta}(u)’,’FontSize’,18)
grid
legend(’ gsi’,’ gox’,’ gsiox’,’ goxsi’)
if (nord~=0)
ffname = [fname num2str(fix(nord)) ’.dat’];
M = [U; gsi; gox; gsiox; goxsi]’;
save(ffname,’M’,’-ascii’);
end;
fprintf(’ N=%1.0f, d=%4.2f, Nr=%1.0f, NSi_ref=%1.0f, NOx_ref=%1.0f\n’,N,d,Nr,NSi_ref,NOx_ref)
cc=clock; fprintf(’ %1.0fh%1.0fm%1.0fs\n’,cc(4:6))

Rotina 52: quartzplotrdf.m


function M=quartzplotrdf(fname,N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Obtém a RDF média das N RDFs nos arquivos *n.dat (n = 1...N) %
% gerados pela rotina quartzrdf.m %

292
% %
% Exemplo: gerar os arquivos *.dat com o comando %
% for n=1:10 quartzrdf(’quartzN12d008_’,12,0.08,n); end; %
% e depois executar M=quartzplotrdf(’quartzN12d008_’,10); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for n=1:N
S=load([fname num2str(n) ’.dat’])’;
if (n==1)
Nmax = round(0.9*size(S,2));
gsi = zeros(1,Nmax);
gox = zeros(1,Nmax);
gsiox = zeros(1,Nmax);
goxsi = zeros(1,Nmax);
end;
gsi = gsi + S(2,1:Nmax);
gox = gox + S(3,1:Nmax);
gsiox = gsiox + S(4,1:Nmax);
goxsi = goxsi + S(5,1:Nmax);
end;
U = S(1,1:Nmax);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% função de ajuste das gab(u) para que %
% no limite de u --> infinito gab(u) = 1 %
% valores de Uc, w e (U-Uc).^2.505 válidos para %
% estruturas geradas pela rotina %
% quartzrdf.m com N=12, ou seja (2N+1)^3 = 15625 %
% unidades de repetição, aprox. 140 mil átomos %
%------------------------------------------------%
Uc = 21.07;
w = 0.000052;
y = exp(-w*(U-Uc).^2.505);
y(find(U<Uc))=1;
y = 1 - y;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
gsi = (1/N)*gsi + y;
gox = (1/N)*gox + y;
gsiox = (1/N)*gsiox + y;
goxsi = (1/N)*goxsi + y;
gsi(1:3)=zeros(1,3);
gox(1:3)=zeros(1,3);
gsiox(1:3)=zeros(1,3);
goxsi(1:3)=zeros(1,3);
M = [U; gsi; gox; gsiox; goxsi]’;
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
plot(U,gsi,’b’,U,gox,’r’,U,gsiox,’m’,’LineWidth’,2)
legend(’ Si-Si’,’ O-O’,’ Si-O’)
set(gca,’FontSize’,18,’Color’,[.85 .7 1])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’g_{\alpha\beta}(u)’,’FontSize’,18)

Rotina 53: quartzIdeQ.m


function M=quartzIdeQ(fname,N,E,tthmax)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcula S(Q) e I(Q) a partir das RDFs geradas pela rotina %
% quartzrdf.m, salvas em *n.dat (n = 1...N) %
% Retorna M(:,3)=[Q I(Q) S(Q)]’; %
% Obs.: inclui ressonância e Compton %
% E = energia da radiação em keV %
% tthmax = ângulo máximo de espalhamento (graus) %
% %
% Exemplo: gerar os arquivos *.dat com o comando %
% for n=1:10 quartzrdf(’quartzN12d008_’,12,0.08,n); end; %
% e depois executar M=quartzIdeQ(’quartzN12d008_’,10,8,80); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
hc = 12.3985;

293
rad = pi/180;
E=E(1);
if (E>100)
disp(’Energia em keV!!!’);
return;
end;
Qmax = (4*pi/hc)*E;
if (tthmax<10)
disp(’Espalhamento de alto ângulo, de 10 a 180 graus!!!’)
return;
elseif (tthmax>180)
tthmax = 180;
end;
Qf = Qmax*sin(0.5*tthmax*rad);
for n=1:N
Z=load([fname num2str(n) ’.dat’])’;
if (n==1)
Nmax = round(0.9*size(Z,2));
gsi = zeros(1,Nmax);
gox = zeros(1,Nmax);
gsiox = zeros(1,Nmax);
goxsi = zeros(1,Nmax);
end;
gsi = gsi + Z(2,1:Nmax);
gox = gox + Z(3,1:Nmax);
gsiox = gsiox + Z(4,1:Nmax);
goxsi = goxsi + Z(5,1:Nmax);
end;
U = Z(1,1:Nmax);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% função de ajuste das gab(u) para que %
% no limite de u --> infinito gab(u) = 1 %
% valores de Uc, w e (U-Uc).^2.505 válidos para %
% estruturas geradas pela rotina %
% quartzrdf.m com N=12, ou seja (2N+1)^3 = 15625 %
% unidades de repetição, aprox. 140 mil átomos %
%------------------------------------------------%
Uc = 21.07;
w = 0.000052;
y = exp(-w*(U-Uc).^2.505);
y(find(U<Uc))=1;
y = 1 - y;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
gsi = (1/N)*gsi + y;
gox = (1/N)*gox + y;
gsiox = (1/N)*gsiox + y;
goxsi = (1/N)*goxsi + y;
Vc = 113.01; % volume unidade de repetição, A^3
rhoSi = 3/Vc;
rhoOx = 6/Vc;
rho = rhoSi + rhoOx;
dQ = Qf/2000;
Q = 0:dQ:Qf;
Q(1) = 1e-8;
Nq = size(Q,2);
Z = fpfpp(’Si’,E);
fSi = asfQ(’Si’,(0.25/pi)*Q) + Z(1,2) + i*Z(1,3);
Z = fpfpp(’O’,E);
fOx = asfQ(’O’,(0.25/pi)*Q) + Z(1,2) + i*Z(1,3);
ASi = real(fSi.*conj(fSi));
AOx = real(fOx.*conj(fOx));
fm2 = (3/9)*ASi + (6/9)*AOx;
ASi = (rhoSi*rhoSi)*ASi;
AOx = (rhoOx*rhoOx)*AOx;
ASiOx = (rhoSi*rhoOx)*real(fSi.*conj(fOx));
AOxSi = (rhoOx*rhoSi)*real(fOx.*conj(fSi));
w2 = (ASi + AOx + ASiOx + AOxSi);
n=1;
g0 = (ASi(n)*gsi + AOx(n)*gox + ASiOx(n)*gsiox + AOxSi(n)*goxsi)/w2(n);
du = U(3)-U(2);
aux = 4*pi*du/rho;

294
for n=1:Nq
q = Q(n);
g = (ASi(n)*gsi + AOx(n)*gox + ASiOx(n)*gsiox + AOxSi(n)*goxsi)/w2(n);
S(n) = 1 + (aux/q)*(w2(n)/fm2(n))*sum((g - 1).*sin(q*U).*U);
end;
Np = find(Q>0.7);
Q = Q(Np); S=S(Np); fm2=fm2(Np);
TTh = (2/rad)*asin(Q/Qmax);
C = (1/3)*csfQ(’Si’,(0.25/pi)*Q)+(2/3)*csfQ(’C’,(0.25/pi)*Q);
I = fm2.*S + C(:,2)’; %return;
Imin = min(I);
Imax = max(I);
DI = 0.02*(Imax-Imin);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(TTh,I,’k’,’LineWidth’,2)
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’2\theta (graus)’,’FontSize’,18);
ylabel(’intensidade (cps)’,’FontSize’,18);
axis([TTh(1) tthmax Imin-DI Imax+DI])
Nu = find(U>0.1); U=U(Nu);
ha2=axes(’Position’,[.45 .4 .43 .48]);
plot(U,g0(Nu),’k’,’LineWidth’,2)
set(ha2,’FontSize’,14,’Color’,[0.779 0.881 0.999],’FontName’,’Arial’,’LineWidth’,1)
grid
set(gca,’FontSize’,18,’Color’,[1 1 1])
xlabel(’u (A)’,’FontSize’,18)
ylabel(’g(u)’,’FontSize’,18)
axis([0.1 13.1 0 1.02*max(g0(Nu))])
M=[Q; I; S]’;

Rotina 54: quartzgdeu.m


function M=quartzgdeu(fname,N,E,tthmax,conv)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcula S(Q) e I(Q) a partir das RDFs geradas pela %
% rotina quartzrdf.m, as quais foram salvas em %
% [fname num2str(n) ’.dat’] com n = 1...N. %
% Retorna M(:,2)=[U g0 g]’; %
% | | | %
% | | g(u) a partir de TF{S(Q)-1} %
% | g(u) teórica [quartzrdf.m] %
% distância interatômicas (A) %
% %
% tthmax = ângulo máximo de espalhamento (graus) %
% E = energia da radiação em keV %
% conv==1; convoluciona g(u) com função retangular %
% de área unitária e largura 2*pi/Qf %
% %
% Exemplo: %
% M=quartzgdeu(’quartzN12d002_’,10,30,180,0); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
hc = 12.3985;
rad = pi/180;
E=E(1);
if (E>100)
disp(’Energia em keV!!!’);
return;
end;
Qmax = (4*pi/hc)*E;
if (tthmax<10)
disp(’Espalhamento de alto ângulo, de 10 a 180 graus!!!’)
return;
elseif (tthmax>180)
tthmax = 180;
end;
Qf = Qmax*sin(0.5*tthmax*rad);
for n=1:N
Z=load([fname num2str(n) ’.dat’])’;

295
if (n==1)
Nmax = round(0.9*size(Z,2));
gsi = zeros(1,Nmax);
gox = zeros(1,Nmax);
gsiox = zeros(1,Nmax);
goxsi = zeros(1,Nmax);
end;
gsi = gsi + Z(2,1:Nmax);
gox = gox + Z(3,1:Nmax);
gsiox = gsiox + Z(4,1:Nmax);
goxsi = goxsi + Z(5,1:Nmax);
end;
U = Z(1,1:Nmax);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% função de ajuste das gab(u) para que %
% no limite de u --> infinito gab(u) = 1 %
% valores de Uc, w e (U-Uc).^2.505 válidos para %
% estruturas geradas pela rotina %
% quartzrdf.m com N=12, ou seja (2N+1)^3 = 15625 %
% unidades de repetição, aprox. 140 mil átomos %
%------------------------------------------------%
Uc = 21.07;
w = 0.000052;
y = exp(-w*(U-Uc).^2.505);
y(find(U<Uc))=1;
y = 1 - y;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

gsi = (1/N)*gsi + y;
gox = (1/N)*gox + y;
gsiox = (1/N)*gsiox + y;
goxsi = (1/N)*goxsi + y;
Vc = 113.01; % volume unidade de repetição, A^3
rhoSi = 3/Vc;
rhoOx = 6/Vc;
rho = rhoSi + rhoOx;
dQ = Qf/5000;
Q = 0:dQ:Qf;
Q(1) = 1e-8;
Nq = size(Q,2);
Z = fpfpp(’Si’,E);
fSi = asfQ(’Si’,(0.25/pi)*Q) + Z(1,2) + i*Z(1,3);
Z = fpfpp(’O’,E);
fOx = asfQ(’O’,(0.25/pi)*Q) + Z(1,2) + i*Z(1,3);
ASi = real(fSi.*conj(fSi));
AOx = real(fOx.*conj(fOx));
fm2 = (3/9)*ASi + (6/9)*AOx;
ASi = (rhoSi*rhoSi)*ASi(1);
AOx = (rhoOx*rhoOx)*AOx(1);
ASiOx = (rhoSi*rhoOx)*real(fSi(1).*conj(fOx(1)));
AOxSi = (rhoOx*rhoSi)*real(fOx(1).*conj(fSi(1)));
w2 = (ASi + AOx + ASiOx + AOxSi);
g0 = (ASi*gsi + AOx*gox + ASiOx*gsiox + AOxSi*goxsi)/w2;
du = U(3)-U(2);
aux = 4*pi*du*rho;
for n=1:Nq
q = Q(n);
S(n) = 1 + (aux/q)*sum((g0 - 1).*sin(q*U).*U);
end;
Nu = find(U>0.1); U=U(Nu); g0=g0(Nu);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(U,g0,’-ro’,’LineWidth’,1)
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’u (A)’,’FontSize’,18)
ylabel(’g(u)’,’FontSize’,18)
Nu = size(U,2);
Np = find(Q>0.7);
Q = Q(Np); S=S(Np); fm2=fm2(Np);

296
dQ = (Q(3)-Q(2))/(2*pi*pi*rho);
for n=1:Nu
u=U(n);
g(n) = 1+(dQ/u)*sum((S-1).*Q.*sin(Q*u));
end;

if (conv==1)
wl = 2*pi/Qf;
Nw = floor(0.5*wl/du);
for n=1:Nu
nmin = n-Nw;
nmax = n+Nw;
if (nmin<1) gexp(n) = sum(g(1:nmax))/nmax;
elseif (nmax>Nu) gexp(n) = sum(g(nmin:Nu))/(Nu-nmin+1);
else gexp(n) = sum(g(nmin:nmax))/(2*Nw+1);
end;
end;
g=gexp;
end;
hold on
plot(U,g,’k’,’LineWidth’,1.5)
hold off
gmax = max(g0);
aux = max(g);
if (aux>gmax) gmax=aux; end;
gmin = min(g);
if (gmin>0) gmin=0; end;
dg = 0.02*(gmax-gmin);
axis([0.1 13.1 gmin-dg gmax+dg])
TTh = (2/rad)*asin(Q/Qmax);
C = (1/3)*csfQ(’Si’,(0.25/pi)*Q)+(2/3)*csfQ(’C’,(0.25/pi)*Q);
I = fm2.*S + C(:,2)’;
Imin = min(I);
Imax = max(I);
DI = 0.02*(Imax-Imin);
tthmax = (2/rad)*asin(7/Qmax);
ha2=axes(’Position’,[.4 .45 .48 .43]);
plot(TTh,I,’k’,’LineWidth’,2)
set(ha2,’FontSize’,14,’Color’,[0.779 0.881 0.999],’FontName’,’Arial’,’LineWidth’,1)
grid
set(gca,’FontSize’,18,’Color’,[1 1 1])
xlabel(’2\theta (graus)’,’FontSize’,18);
ylabel(’intensidade (cps)’,’FontSize’,18);
axis([TTh(1) tthmax Imin-DI Imax+DI])
N = find(Q>2.12);
alpha = 0.75*Imax/max(I(N));
hold on;
plot(TTh(N),alpha*I(N)+0.25*Imax,’b’,’LineWidth’,2)
hold off
text(tthmax-2,0.25*Imax,[’ x’ num2str(0.1*round(10*alpha))],’FontSize’,18,’Color’,’b’)
M = [U; g0; g]’;

Rotina 55: bragg.m


function M=bragg(wl,A,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Converte comprimento de onda em energia, %
% ou vice-versa: wl(A) <--> E(eV). %
% Retorna M = [ E wl 0; %
% d thB 2thB] %
% | | | %
% | | 2thetha Bragg %
% | theta Bragg %
% distância interplanar %
% para as reflexões H = [h1 k1 l1; h2 k2 l2; ...]. %
% Parâmetros de rede A = [a b c alpha beta gamma]. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
deg = 1/rad;
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;

297
fprintf(’ Energia = %6.2feV (%8.6f A)\n’,E,wl);
if isempty(A) M = [E wl]; return; else M(1,:) = [E wl 0]; end;
nm = size(A);
if (nm(1)*nm(2)==1)
A(1:3) = A(1)*ones(1,3);
A(4:6) = [90 90 90];
elseif (nm(1)*nm(2)==2)
A(1:3) = [A(1) A(1) A(2)];
A(4:6) = [90 90 90];
end;
A(4:6) = A(4:6)*rad;
cosphi = cos(A(6)) - cos(A(5))*cos(A(4));
cosphi = cosphi / (sin(A(5))*sin(A(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = A(1) * [sin(A(5)) 0 cos(A(5))];
a2 = A(2) * [sin(A(4))*cosphi sin(A(4))*sinphi cos(A(4))];
a3 = A(3) * [0 0 1];
a1r = cross(a2,a3);
Vc = a1r*a1’;
a1r = a1r/Vc;
a2r = cross(a3,a1)/Vc;
a3r = cross(a1,a2)/Vc;
Nr = size(H,1);
for n=1:Nr
q = H(n,1)*a1r + H(n,2)*a2r + H(n,3)*a3r;
d = 1/sqrt(q*q’);
sinth = 0.5*wl/d;
if (sinth > 1)
fprintf(’ d(%d,%d,%d) = %7.5f A (reflexão não permitida para esta energia!!!)\n’,H(n,1),H(n,2),H(n,3),d);
M(n+1,:) = [d 0 0];
else
th = asin(sinth)*deg;
tth = 2*th;
fprintf(’ d(%d,%d,%d) = %7.5f A, thB = %6.4f graus, 2thB = %6.4f graus\n’,H(n,1),H(n,2),H(n,3),d,th,tth);
M(n+1,:) = [d th tth];
end;
end;

Rotina 56: sfactor.m


function Fhkl=sfactor(wl,fname,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcula Fatores de Estrutura %
%---------------------------------------------------------------%
% wl = comprimento de onda (Angstroms) ou energia (eV) %
% fname = arquivo *.in %
% H = [h1 k1 l1; h2 k2 l2;...] %
% Retorna Fhkl=[Fh1k1l1; Fh2k2l2;...] %
% %
% Exemplo comando: %
% sfactor(10400,’AsGa.in’,[0 0 2; 0 0 4; 1 1 1; -1 -1 -1]) %
% %
% Formato arquivo *.in %
% 1a. linha: %
% a b c alpha beta gamma %
% 2a. linha em diante: %
% At xa ya za foc fdw %
% | | | | | | %
% | | | | | fator de desordem térmica, 8*pi^2*<u^2> %
% | | | | fator de ocupação %
% | | | coordenada fracionário ao longo da aresta c %
% | | coordenada fracionário ao longo da aresta b %
% | coordenada fracionário ao longo da aresta a %
% símbolo do elemento químico, tal como específicado %
% nas rotinas asfQ.m e fpfpp.m %
% Exemplo arquivo *.in: GaAs.in %
% 5.6534 5.6534 5.6534 90.0 90.0 90.0 %
% Ga 0.0 0.0 0.0 1.0 0.0 %
% Ga 0.5 0.5 0.0 1.0 0.0 %
% Ga 0.0 0.5 0.5 1.0 0.0 %

298
% Ga 0.5 0.0 0.5 1.0 0.0 %
% As 0.25 0.25 0.25 1.0 0.0 %
% As 0.75 0.75 0.25 1.0 0.0 %
% As 0.75 0.25 0.75 1.0 0.0 %
% As 0.25 0.75 0.75 1.0 0.0 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
n = regexp(fname,’.in’);
if isempty(n)
disp(’Arquivo tipo desconhecido!!!’)
return;
end;
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;
end;
line = fgets(fidin);
P = sscanf(line,’%f’)’;
if (size(P,2)~=6)
disp(’ >>>> Linha 1: a b c alpha beta gamma’);
return;
end;
n = 0;
line = fgets(fidin);
while (line~=-1)
n = n + 1;
w = find(line==’ ’); w = w(1);
atm(n,:) = ’ ’;
atm(n,1:w-1) = line(1:w-1);
if isempty(regexp(’abcdefghijklmnopqrstuvwxyz’,atm(n,2)))
atomsym(n,:)=[1 w-1];
else atomsym(n,:)=[2 w-1]; end;
R(n,:) = sscanf(line(w+1:size(line,2)),’%f’)’;
line = fgets(fidin);
end;
fclose(fidin);
Nat = n; Nchem = 0; A = zeros(Nat,1); NA = find(A==0);
while ~isempty(NA)
n = NA(1);
M = find(atm(n,1)==atm(:,1) & atm(n,2)==atm(:,2) & atm(n,3)==atm(:,3) & atm(n,4)==atm(:,4));
Nchem = Nchem + 1;
A(M) = Nchem;
NA = find(A==0);
acod(Nchem,:) = atm(n,:);
asym(Nchem,:) = atomsym(n,:);
end;
clear atm atomsym;
P(4:6) = P(4:6)*rad;
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
a1r = cross(a2,a3);
Vc = a1r*a1’;
a1r = a1r/Vc;
a2r = cross(a3,a1)/Vc;
a3r = cross(a1,a2)/Vc;
hmax = 2.0 / (wl * sqrt(a1r*a1r’));
kmax = 2.0 / (wl * sqrt(a2r*a2r’));
lmax = 2.0 / (wl * sqrt(a3r*a3r’));
for n=1:Nchem
aux = fpfpp(acod(n,1:asym(n,1)),E);
fres(n) = aux(2)+i*aux(3);
end;
if isempty(H)
F=0;
for n=1:Nchem

299
NA=find(A==n); m = sum(R(NA,4));
F = F + m * (asfQ(acod(n,1:asym(n,2)),0) + fres(n));
end;
Fhkl = F;
return;
end;
twopii = 2*pi*i;
Nhkl = size(H,1);
for m=1:Nhkl
h = H(m,1); k = H(m,2); l = H(m,3);
if (hmax>abs(h) && kmax>abs(k) && lmax>abs(l))
q = h*a1r + k*a2r + l*a3r;
x = 0.5*sqrt(q*q’);
x2 = x*x;
F = 0;
for n=1:Nchem
fn = asfQ(acod(n,1:asym(n,2)),x) + fres(n);
NA=find(A==n);
F = F + fn*sum(exp(R(NA,1:3)*(twopii*[h; k; l])).*R(NA,4).*exp((-x2)*R(NA,5)));
end;
else F=0; end;
Fhkl(m,:) = F;
end;

Rotina 57: exrlp3Dretang.m


function exrlp3Dretang(L,T,vlevel)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera visualização 3D dos pontos da rede recíproca %
% para um cristal com formato retangular plano %
% L = lateral maior (nm), área da base LxL %
% T = espessura (nm) %
% vlevel = valor da curva de nível da superfície de %
% visualização, intervalo de 0 a 1; %
% Exemplo: exrlp3Dretang(200,100,0.038) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nc = 6;
dQ = 1 / 2^Nc;
QrangeXY = (-1:dQ:1)*(40/L);
QrangeZ = (-1:dQ:1)*(30/T);
[Qx,Qy,Qz]=meshgrid(QrangeXY, QrangeXY, QrangeZ);
Qx(find(Qx==0))=1e-8;
Qy(find(Qy==0))=1e-8;
Qz(find(Qz==0))=1e-8;
L=L/2;
T=T/2;
W = sin(L*Qx)./(L*Qx);
W = W.*sin(L*Qy)./(L*Qy);
W = W.*sin(T*Qz)./(T*Qz);
W = sqrt(W.*W);
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
P = patch(isosurface(Qx,Qy,Qz,W,vlevel),’FaceColor’,’red’,’EdgeColor’,’none’);
isonormals(Qx,Qy,Qz,W,P)
view(3)
daspect([1 1 1])
axis tight
camlight
camlight(-80,-10)
lighting phong
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’Box’,’on’,’LineWidth’,1,’FontName’,’Arial’)
grid
view(-30,25)
xlabel(’Q_X (nm^{-1})’,’FontSize’,18)
ylabel(’Q_Y (nm^{-1})’,’FontSize’,18)
zlabel(’Q_Z (nm^{-1})’,’FontSize’,18)

Rotina 58: exrlp3Ddisc.m

300
function exrlp3Ddisc(D,T,vlevel)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera visualização 3D dos pontos da rede recíproca %
% para um cristal com formato de disco: %
% D = diâmetro (nm) %
% T = espessura (nm) %
% vlevel = valor da curva de nível da superfície de %
% visualização, intervalo de 0 a 1; %
% Exemplo: exrlp3Dretang(200,100,0.038) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nc = 6;
dQ = 1 / 2^Nc;
QrangeXY = (-1:dQ:1)*(40/D);
QrangeZ = (-1:dQ:1)*(30/T);
[Qx,Qy,Qz]=meshgrid(QrangeXY, QrangeXY, QrangeZ);
Qx(find(Qx==0))=1e-8;
Qy(find(Qy==0))=1e-8;
Qz(find(Qz==0))=1e-8;
R=i*D/2;
T=T/2;
Nq = size(Qx,1);
dphi = pi/500;
phi=0:dphi:2*pi-dphi;
cphi=cos(phi);
cphi(find(cphi==0))=1e-8;
Qxy = sqrt(Qx(:,:,1).*Qx(:,:,1)+Qy(:,:,1).*Qy(:,:,1));
for n=1:Nq
for m=1:Nq
a = Qxy(n,m)*cphi;
x = a*R;
x = exp(x).*(1-x)-1;
x = x ./ (a.*a);
Wxy(n,m) = sum(x)*dphi;
end;
end;
Wxy = (1/(pi*R*conj(R)))*Wxy;
W = cat(3,Wxy,Wxy);
for n=1:Nc W = cat(3,W,W); end;
W = cat(3,W,Wxy);
W = W.*sin(T*Qz)./(T*Qz);
W = sqrt(W.*conj(W));
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
P = patch(isosurface(Qx,Qy,Qz,W,vlevel),’FaceColor’,’red’,’EdgeColor’,’none’);
isonormals(Qx,Qy,Qz,W,P)
view(3)
daspect([1 1 1])
axis tight
camlight
camlight(-80,-10)
lighting phong
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’Box’,’on’,’LineWidth’,1,’FontName’,’Arial’)
grid
view(-30,25)
xlabel(’Q_X (nm^{-1})’,’FontSize’,18)
ylabel(’Q_Y (nm^{-1})’,’FontSize’,18)
zlabel(’Q_Z (nm^{-1})’,’FontSize’,18)

Rotina 59: sincfunction.m


function sincfunction
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara função sinc, sin(x)/x, com a função %
% lorentziana 1/(1+x^2). %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a = 5.4309; % parâmetro de rede (usar qualquer valor)
Nq = 1000; % número de pontos no gráfico
dq = 1/Nq;

301
L = -1:dq:1; % índice L das reflexões HKL
Qz = (2*pi/a)*L; % componente z do vetor de difração
Nq = size(Qz,2);
Qz(find(Qz==0))=1e-8;
N=10; % N células unitárias ao longo da espessura t do cristal
t = N*a;
Qt = 0.5*t*Qz;
Z10 = 1./(1 + Qt.*Qt);
Y = sin(Qt)./Qt;
Y10 = Y.*Y;
N=500;
t = N*a;
Qt = 0.5*t*Qz;
Z500 = 1./(1 + Qt.*Qt);
Y = sin(Qt)./Qt;
Y500 = Y.*Y;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(L,Y10,’b’,L,Y500,’b’,’LineWidth’,1)
hold on
semilogy(L,Z10,’k’,L,Z500,’k’,’LineWidth’,1.5)
hold off
axis([L(1) L(Nq) 0.5*min(Z500) 1])
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’FontName’,’Arial’,’Box’,’on’,’LineWidth’,1)
xlabel(’\Deltal’,’FontName’,’CMU Classical Serif’,’FontSize’,24);
ylabel(’intensidade normalizada’,’FontSize’,18);
text(.4,0.01,’t = 10a’,’FontSize’,16);
text(.4,.6e-6,’t = 500a’,’FontSize’,16,’Color’,’w’);

Rotina 60: sincinterference.m


function sincinterference
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Interferência das funções sinc no intervalo %%
%% entre os nós L-1, L e L+1 %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NL = 1000; % número de pontos no gráfico
dl = 1/NL;
DL = -1:dl:1; % variação do índice L das reflexões HKL
N=20; % N células unitárias ao longo da espessura t do cristal
Ya = curva(DL,N);
N=100;
Yb = curva(DL,N);
N=500;
Yc = curva(DL,N);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
semilogy(DL,Ya(3,:),’r’,DL,Ya(1,:),’b’,’LineWidth’,1)
legend(’ B(\Deltal)’,’ A(\Deltal)’)
hold on
semilogy(DL,Ya(4,:),’k’,DL,Ya(2,:),’k’,’LineWidth’,1)
semilogy(DL,Yb(3,:),’r’,DL,Yb(4,:),’k’,DL,Yb(1,:),’b’,DL,Yb(2,:),’k’,’LineWidth’,1)
semilogy(DL,Yc(3,:),’r’,DL,Yc(4,:),’k’,DL,Yc(1,:),’b’,DL,Yc(2,:),’k’,’LineWidth’,1)
hold off
axis([DL(1) max(DL) .6e-6 1])
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’FontName’,’Arial’,’Box’,’on’,’LineWidth’,1)
xlabel(’\Deltal’,’FontName’,’CMU Classical Serif’,’FontSize’,24);
ylabel(’intensidade normalizada’,’FontSize’,18);
text(.42,0.004,’t = 20a’,’FontSize’,16);
text(.42,5e-5,’t = 100a’,’FontSize’,16);
text(.42,2e-6,’t = 500a’,’FontSize’,16,’Color’,’w’);

function Y=curva(DL,N)
N=2*floor(0.5*N); % sin(x)/x = 1/(1+ix) válida para N par
aux = pi*N;

302
DQzt_2 = aux*(DL+1);
L = sncltz(DQzt_2);
DQzt_2 = aux*DL;
C = sncltz(DQzt_2);
DQzt_2 = aux*(DL-1);
R = sncltz(DQzt_2);
A = L(1,:)+C(1,:)+R(1,:);
Y(1,:) = A.*A;
A = L(2,:)+C(2,:)+R(2,:);
Y(2,:) = A.*conj(A);
Y(3,:) = L(1,:).*L(1,:) + C(1,:).*C(1,:) + R(1,:).*R(1,:);
Y(4,:) = L(2,:).*conj(L(2,:)) + C(2,:).*conj(C(2,:)) + R(2,:).*conj(R(2,:));

function M=sncltz(x)
x(find(x==0))=1e-8;
M(1,:) = sin(x)./x;
M(2,:) = 1./(1+i*x);

Rotina 61: kdpcoordfrac.m


function kdpcoorfrac(etaP,etaK,etaO,fname,p)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera arquivo *.in para a rotina sfactor.m para %
% os valores dados da raiz do desvio quadrático %
% médio (rms) dos átomos P, K e O. %
% %
% etaP, etaK, etaO: rms(A) dos átomos P, K e O %
% se p = 1, gera arquivo fname.in %
% se p ~= 1, mostra coordenadas na tela %
% %
% Dados cristalográficos do KDP: %
% Fórmulas por célula unitária: 4 x (KH2PO4) %
% Parâmetros: a = b = 7.4521; c = 6.9740; %
% alpha = beta = gamma = 90.000 %
% Grupo espacial: ’I -4 2 d’ (# 122) %
% Sítios atômicos: %
% P 0.0000 0.0000 0.0000 1.0 4 a %
% K 0.0000 0.0000 0.5000 1.0 4 b %
% O 0.1484 0.0826 0.1259 1.0 16 e %
% H 0.1476 0.2258 0.1210 0.5 16 e %
% %
% COD ID: 9007582 %
% http://www.crystallography.net/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
etaP = etaP*etaP; etaK = etaK*etaK; etaO = etaO*etaO;
a = 7.4521; b = a; c = 6.974;
alpha=90.0; beta=90.0; gamma=90.0;
% 4 átomos P
Rf(1:4,:) = [0 0 0;
1/2 0 3/4;
1/2 1/2 1/2;
0 1/2 1/4];
% 4 átomos K
Rf(5:8,:) = [0 0 1/2;
1/2 0 1/4;
1/2 1/2 0;
0 1/2 3/4];
% 16 átomos O
x = 0.1484; y = 0.0826; z = 0.1259;
Rf(9:16,:) = [x, y, z;
-x, -y, z;
y, -x, -z;
-y, x, -z;
-x + 1/2, y, -z + 3/4;
x + 1/2, -y, -z + 3/4;
-y + 1/2, -x, z + 3/4;
y + 1/2, x, z + 3/4];
Rf(17:24,:) = Rf(9:16,:)+0.5*ones(8,3);
Nat = size(Rf,1);
N = find(Rf>1);

303
Rf(N) = Rf(N) - 1;
N = find(Rf<0);
Rf(N) = Rf(N) + 1;
OcupFactor = ones(Nat,1);
Bfactor = (8*pi*pi)*[etaP*ones(4,1); etaK*ones(4,1); etaO*ones(16,1)];
if (p == 1) fid = fopen([fname ’.in’], ’w’);
else fid = 1; fprintf(’\n’);
end;
fprintf(fid,’%6.4f %6.4f %6.4f %7.4f %7.4f %7.4f\n’,a,b,c,alpha,beta,gamma);
for m=1:4
fprintf(fid,’P %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=5:8
fprintf(fid,’K %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=9:24
fprintf(fid,’O2-. %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
if (p == 1) fclose(fid);
else fprintf(’\n’);
end;

Rotina 62: agpcoordfrac.m


function agpcoorfrac(x,etaAg,etaP,etaO,fname,p)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera arquivo *.in para a rotina sfactor.m para %
% os valores dados d raiz do desvio quadrático %
% médio (rms) dos átomos Ag, P e O. %
% %
% x coordenada fracionária do átomo Ag %
% etaAg, etaP, etaO: rms(A) dos átomos Ag, P e O %
% se p = 1, gera arquivo fname.in %
% se p ~= 1, mostra coordenadas na tela %
% %
% Dados cristalográficos do ortofostato de prata: %
% Fórmulas por célula unitária: 2 x (Ag3PO4) %
% Parâmetros: a = b = c = 6.004; %
% alpha = beta = gamma = 90.000 %
% Grupo espacial: ’P -4 3 n’ (# 218) %
% Sítios atômicos: %
% Ag 0.2310 0.0000 0.5000 0.5 12 h %
% P 0.0000 0.0000 0.0000 1.0 2 a %
% O 0.1480 0.1480 0.1480 1.0 8 e %
% %
% COD ID: 1007043 %
% http://www.crystallography.net/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
etaAg=etaAg*etaAg; etaP=etaP*etaP; etaO=etaO*etaO;
a = 6.004; b = a; c = a;
alpha=90.0; beta=90.0; gamma=90.0;
% 12 átomos Ag (fator ocupação 1/2)
Rf(1:12,:) = [x, 0, 1/2; -x, 0, 1/2; 1/2, x, 0; 1/2, -x, 0;
0, 1/2, x; 0, 1/2, -x; 1/2, x + 1/2, 0; 1/2, -x + 1/2, 0;
x + 1/2, 0, 1/2; -x + 1/2, 0, 1/2; 0, 1/2, x + 1/2; 0, 1/2, -x + 1/2];
% 2 átomos P
Rf(13:14,:) = [0 0 0; .5 .5 .5];
% 8 átomos O
x = 0.148;
Rf(15:18,:) = [x, x, x; -x, -x, x; -x, x, -x; x, -x, -x];
Rf(19:22,:) = Rf(15:18,:) + 0.5*ones(4,3);
Nat = size(Rf,1);
N = find(Rf>1);
Rf(N) = Rf(N) - 1;
N = find(Rf<0);
Rf(N) = Rf(N) + 1;
OcupFactor = [0.5*ones(12,1); ones(10,1)];
Bfactor = (8*pi*pi)*[etaAg*ones(12,1); etaP*ones(2,1); etaO*ones(8,1)];
if (p == 1) fid = fopen([fname ’.in’], ’w’);

304
else fid = 1; fprintf(’\n’);
end;
fprintf(fid,’%6.4f %6.4f %6.4f %7.4f %7.4f %7.4f\n’,a,b,c,alpha,beta,gamma);
for m=1:12
fprintf(fid,’Ag %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=13:14
fprintf(fid,’P %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=15:22
fprintf(fid,’O %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
if (p == 1) fclose(fid);
else fprintf(’\n’);
end;

Rotina 63: diffraction.m


function M=diffraction(wl,fname)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Histograma e indexação das distância interplanares ponderadas por |Fhkl|^2 %
% %
% wl = comprimento de onda (Angstroms) ou energia (eV) %
% fname = arquivo *.in ou *.sft %
% Se extensão .in: gerar indexação, arquivo *.sft, e retorna histograma em função de Q %
% Se extensão .sft: retorna histograma em função de Q %
% Retorna M = [Q; tth; p]’; (histograma em função de 2theta) %
% %
% Formato arquivo *.sft (exemplo): %
% X-ray photon energy = 10000.0eV (wavelength = 1.239850A) %
%|-------------|---------|---------------------------------------|--------------------------| %
%| h k l | Ihkl(%) | FH |FH| phase | th tth dhkl | %
%|-------------|---------|---------------------------------------|--------------------------| %
%| 1 1 -2 | 100.0 | 101.694 41.021i 109.656 22.0 | 12.3089 24.6179 2.9080 | %
%| -1 -1 -2 | 100.0 | 101.694 41.021i 109.656 22.0 | 12.3089 24.6179 2.9080 | %
%| 1 -1 2 | 100.0 | 101.694 41.021i 109.656 22.0 | 12.3089 24.6179 2.9080 | %
%| -1 1 2 | 100.0 | 101.694 41.021i 109.656 22.0 | 12.3089 24.6179 2.9080 | %
%| . . . | . . . | . . . | . . . | %
%| -8 2 6 | 0.0 | 0.321 -0.237i 0.399 -36.4 | 60.3341 120.6683 0.7134 | %
%|-------------|---------|---------------------------------------|--------------------------| %
%F000 = 266.913 4.345i %
%12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012 %
% 1 2 3 4 5 6 7 8 9 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
M = [0 0];
n = regexp(fname,’.in’);
if isempty(n)
if isempty(regexp(fname,’.sft’))
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
else
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;
end;
for n=1:6 line = fgets(fidin); end;
n = 0;
while (line(2)==’ ’)
n = n + 1;
F2(n,1) = sscanf(line(47:57),’%f’)^2;
Dhkl(n,1) = sscanf(line(84:91),’%f’);
line = fgets(fidin);
end;
fclose(fidin);
Nd = n;
end;

305
else
fout = [fname(1:n-1) ’E’ num2str(round(E)) ’.sft’];
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;
end;
line = fgets(fidin);
P = sscanf(line,’%f’)’;
if (size(P,2)~=6)
disp(’ >>>> Linha 1: a b c alpha beta gamma’);
fclose(fidin);
return;
end;
fclose(fidin);
P(4:6) = P(4:6)*rad;
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
a1r = cross(a2,a3);
Vc = a1r*a1’;
a1r = a1r/Vc;
a2r = cross(a3,a1)/Vc;
a3r = cross(a1,a2)/Vc;
hmax = floor(2.0 / (wl * sqrt(a1r*a1r’)));
kmax = floor(2.0 / (wl * sqrt(a2r*a2r’)));
lmax = floor(2.0 / (wl * sqrt(a3r*a3r’)));
H = [-hmax:-1 1:hmax];
K = [-kmax:-1 1:kmax 0];
L = [-lmax:-1 1:lmax 0];
m = 0; two_wl = 2/wl;
for nh = 1:2*hmax
for nk = 1:2*kmax+1
for nl = 1:2*lmax+1
h = H(nh); k = K(nk); l = L(nl);
q = h*a1r + k*a2r + l*a3r;
modq = sqrt(q*q’);
if (modq<two_wl)
m = m + 1;
HKL(m,:) = [h k l];
thBragg(m,1) = asin(0.5*modq*wl)/rad;
Dhkl(m,1) = 1.0 / modq;
end;
end;
end;
end;
h=0;
for nk = 1:2*kmax
for nl = 1:2*lmax+1
k = K(nk); l = L(nl);
q = k*a2r + l*a3r;
modq = sqrt(q*q’);
if (modq<two_wl)
m = m + 1;
HKL(m,:) = [h k l];
thBragg(m,1) = asin(0.5*modq*wl)/rad;
Dhkl(m,1) = 1.0 / modq;
end;
end;
end;
k = 0;
for nl = 1:2*lmax
l = L(nl);
q = l*a3r;
modq = sqrt(q*q’);
if (modq<two_wl)
m = m + 1;
HKL(m,:) = [h k l];

306
thBragg(m,1) = asin(0.5*modq*wl)/rad;
Dhkl(m,1) = 1.0 / modq;
end;
end;
Nr = m;
F = sfactor(wl,fname,[HKL; 0 0 0]);
F0 = F(Nr+1);
F = F(1:Nr);
F2 = real(F.*conj(F));
NF = find(F2>0.1);
F2 = F2(NF); F = F(NF); HKL = HKL(NF,:); thBragg = thBragg(NF); Dhkl = Dhkl(NF);
Nr = size(F2,1);
clear NF;
invF2max = 100/max(F2);
X = F2;
Nmax = [];
for m=1:Nr
Nmax = [Nmax; find(X==max(X))];
X(Nmax)=0;
end;
Nmax=Nmax(1:Nr);
HKL = HKL(Nmax,:);
Dhkl = Dhkl(Nmax);
F = F(Nmax);
F2 = F2(Nmax);
thBragg = thBragg(Nmax);
clear Nmax X;
fidout = fopen(fout,’w’);
fprintf(fidout,’\n X-ray photon energy = %6.1feV (wavelength = %8.6fA)\n’,E,wl);
fprintf(fidout,’|-------------|---------|---------------------------------------|--------------------------|\n’);
fprintf(fidout,’| h k l | Ihkl(%%) | FH |FH| phase | th tth dhkl |\n’);
fprintf(fidout,’|-------------|---------|---------------------------------------|--------------------------|\n’);
for m=1:Nr
x = real(F(m,1));
y = imag(F(m,1));
ph = atan2(y,x)/rad;
th = thBragg(m);
fprintf(fidout,’| %3d %3d %3d | %5.1f | %9.3f %9.3fi %9.3f %6.1f | %7.4f %8.4f %7.4f |\n’,...
HKL(m,1),HKL(m,2),HKL(m,3),invF2max*F2(m),x,y,sqrt(F2(m)),ph(1),th,2*th,Dhkl(m,1));
end;
fprintf(fidout,’|-------------|---------|---------------------------------------|--------------------------|\n’);
fprintf(fidout,’F000 = %5.3f %5.3fi\n’,real(F0),imag(F0));
fclose(fidout);
end;
Nr = size(Dhkl,1);
Umax = 1.5*max(Dhkl);
du = 0.0002;
U = 0:du:Umax;
p = zeros(size(U));
for n=1:Nr
k = floor(Dhkl(n)/du)+1;
p(k) = p(k) + F2(n);
end;
dmin = 0.5*wl;
Nth = find(U>dmin);
Q = (2*pi)./U(Nth);
p = p(Nth)/max(p(Nth));
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Q,p,’b’,’LineWidth’,3)
axis([0.98*min(Q) 1.02*max(Q) -0.02 1.02])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’intensidade relativa’,’FontSize’,18)
Qmax = 4*pi/wl;
tth = (2/rad)*asin(Q/Qmax);
M = [Q; tth; p]’;

Rotina 64: kdpplot1.m

307
function kdpplot1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Plota e compara histogramas |Fhkl|^2 x Q %
% %
% Arquivos *.sft gerados pela rotina diffraction.m %
% com raios X de energia E (eV) e rms eta (A) %
% %
% Exemplo: kdpcoorfrac(0,0,0,’KDP0’,1); %
% M=diffraction(10000,’KDP0.in’); %
% para gerar o arquivo ’KDP0E10000.sft’ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
E = 10000;
fname1 = ’KDP0E10000.sft’; eta1 = 0;
fname2 = ’KDP10E10000.sft’; eta2 = 0.1;
fname3 = ’KDP15E10000.sft’; eta3 = 0.15;
fname4 = ’KDP20E10000.sft’; eta4 = 0.2;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
I = readsft(E,fname1);
Q = I(:,1)’;
p = I(:,2)’;
pmax = max(p);
p = p/pmax;
plot(Q,p,’w’,’LineWidth’,3)
axis([0.98*min(Q) 1.02*max(Q) -0.02 1.02])
set(gca,’FontSize’,18,’Color’,[0.85 0.7 1.0],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’\Sigma|F_{hkl}|^2 (unid. relat.)’,’FontSize’,18)
hold on
I = readsft(E,fname2);
Q = I(:,1)’;
p = I(:,2)’/pmax;
plot(Q,p,’r’,’LineWidth’,3)
I = readsft(E,fname3);
Q = I(:,1)’;
p = I(:,2)’/pmax;
plot(Q,p,’y’,’LineWidth’,3)
I = readsft(E,fname4);
Q = I(:,1)’;
p = I(:,2)’/pmax;
plot(Q,p,’b’,’LineWidth’,3)
legend([’ \eta = ’ num2str(eta1) ’ A’],...
[’ \eta = ’ num2str(eta2) ’ A’],...
[’ \eta = ’ num2str(eta3) ’ A’],...
[’ \eta = ’ num2str(eta4) ’ A’])
plot(Q,ones(size(Q)),’--w’,’LineWidth’,1)
aux = -eta2*eta2;
plot(Q,exp(aux*Q.*Q),’--r’,’LineWidth’,1)
aux = -eta3*eta3;
plot(Q,exp(aux*Q.*Q),’--y’,’LineWidth’,1)
aux = -eta4*eta4;
plot(Q,exp(aux*Q.*Q),’--b’,’LineWidth’,1)
hold off
text(5.5,.85,’KDP’,’FontSize’,36,’Color’,[.93 .93 .93],’FontWeight’,’bold’)

function I=readsft(wl,fname)
hc = 12398.5;
if (wl < 1000) E = hc / wl;
else E = wl; wl = hc / E;
end;
I = [0 0];
n = regexp(fname,’.sft’);
if isempty(n)
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
else
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;

308
end;
for n=1:6 line = fgets(fidin); end;
n = 0;
while (line(2)==’ ’)
n = n + 1;
F2(n,1) = sscanf(line(47:57),’%f’)^2;
Dhkl(n,1) = sscanf(line(84:91),’%f’);
line = fgets(fidin);
end;
fclose(fidin);
end;
Nr = n;
Umax = 1.5*max(Dhkl);
du = 0.001;
U = 0:du:Umax;
p = zeros(size(U));
for n=1:Nr
k = floor(Dhkl(n)/du)+1;
p(k) = p(k) + F2(n);
end;
dmin = 0.5*wl;
Nth = find(U>dmin);
Q = (2*pi)./U(Nth);
p = p(Nth); %/max(p(Nth));
I = [Q; p]’;

Rotina 65: kdpplot2.m


function kdpplot2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Varição relativa nos valores de |Fhkl|^2 %
% %
% Arquivos *.sft gerados pela rotina diffraction.m %
% com raios X de energia E (eV) e rms eta (A) %
% %
% Exemplo: kdpcoorfrac(0.1,0.1,0.15,’KDP15Ox’,1); %
% M=diffraction(10000,’KDP15Ox.in’); %
% para gerar o arquivo ’KDP15OxE10000.sft’ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fname1 = ’KDP10E10000.sft’; %etaK=etaP=etaO=0.1 (referência)
fname2 = ’KDP15E10000.sft’; %etaK=etaP=etaO=0.15
fname3 = ’KDP15OxE10000.sft’; %etaK=etaP=0.1; etaO=0.15;
E = 10000;
eta1 = 0.1;
eta2 = 0.15;
I = readsft(E,fname1); if (size(I,1)==1) return; end;
Q = I(:,1)’;
N = find(I(:,2)>100);
p1 = I(N,2)’;
pmax = max(p1);
p1 = p1/pmax;
I = readsft(E,fname2); if (size(I,1)==1) return; end;
p2 = I(N,2)’/pmax;
Dp21 = 100*(p1-p2)./p1;
aux = -(eta2^2-eta1^2);
Y21 = 100*(1-exp(aux*Q.*Q));
p = zeros(size(Q));
p(N) = Dp21;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
ha1 = axes(’Position’,[0.13 0.14 0.775 0.38]);
plot(Q,p,’k’,Q,Y21,’k’,’LineWidth’,2)
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’FontName’,’Arial’,’Box’,’on’,’LineWidth’,1)
axis tight
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’variação relativa (%)’,’FontSize’,18)
text(1,63,’(b)’,’FontSize’,24)
text(2,63,’\eta_O = \eta_P = \eta_K = 0.15 A’,’FontName’,’Arial’,’FontSize’,24)

309
text(1.18,38.06,’100*(1-e^{-Q^2\eta^2}) \rightarrow ’,’FontSize’,24)
hold on
I = readsft(E,fname3); if (size(I,1)==1) return; end; disp(size(I));
p3 = I(N,2)’/pmax;
Dp31 = 100*(p1-p3)./p1;
p = zeros(size(Q));
p(N) = Dp31;
ha2 = axes(’Position’,[0.13 0.52 0.775 0.46]);
plot(Q,p,’r’,’LineWidth’,2)
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’FontName’,’Arial’,’XTick’,[],’Box’,’on’,’LineWidth’,1)
axis([min(Q) max(Q) -50 max(p)])
hold off
text(1,66,’(a)’,’FontSize’,24)
text(2,66,’\eta_O = 0.15 A, \eta_P = \eta_K = 0.10 A’,’FontName’,’Arial’,’FontSize’,24)

function I=readsft(wl,fname)
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
I = [0 0];
n = regexp(fname,’.sft’);
if isempty(n)
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
else
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;
end;
for n=1:6 line = fgets(fidin); end;
n = 0;
while (line(2)==’ ’)
n = n + 1;
F2(n,1) = sscanf(line(47:57),’%f’)^2;
Dhkl(n,1) = sscanf(line(84:91),’%f’);
line = fgets(fidin);
end;
fclose(fidin);
end;
Nr = n;
Umax = 1.5*max(Dhkl);
du = 0.001;
U = 0:du:Umax;
p = zeros(size(U));
for n=1:Nr
k = floor(Dhkl(n)/du)+1;
p(k) = p(k) + F2(n);
end;
dmin = 0.5*wl;
Nth = find(U>dmin);
Q = (2*pi)./U(Nth);
p = p(Nth);
I = [Q; p]’;

Rotina 66: exintint.m


function exintint(Lx,Ly,Lz,vlevel)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera visualização 3D dos pontos da rede recíproca %
% para um cristal com dimensões (Lx,Ly,Lz) maiores %
% de 500nm. %
% vlevel = valor da curva de nível da superfície de %
% visualização, intervalo de 0 a 1; %
% %
% Exemplo: exintint(500,500,500,0.01) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (Lx<500) Lx = 500; end;
if (Ly<500) Ly = 500; end;
if (Lz<500) Lz = 500; end;
dQ = 1 / 60;

310
QrangeX = (-1:dQ:1)*(40/Lx);
QrangeY = (-1:dQ:1)*(40/Ly);
QrangeZ = (-1:dQ:1)*(40/Lz);
[Qx,Qy,Qz]=meshgrid(QrangeX, QrangeY, QrangeZ);
Qx(find(Qx==0))=1e-8;
Qy(find(Qy==0))=1e-8;
Qz(find(Qz==0))=1e-8;
W = 1./(1+(0.25*Lx*Lx)*Qx.*Qx);
W = W./(1+(0.25*Ly*Ly)*Qy.*Qy);;
W = W./(1+(0.25*Lz*Lz)*Qz.*Qz);;
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
P = patch(isosurface(Qx,Qy,Qz,W,vlevel),’FaceColor’,’red’,’EdgeColor’,’none’);
isonormals(Qx,Qy,Qz,W,P)
view(3)
daspect([1 1 1])
axis tight
camlight
camlight(-80,-10)
lighting phong
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’Box’,’on’,’LineWidth’,1,’FontName’,’Arial’)
grid
view(-30,15)
xlabel(’Q_X (nm^{-1})’,’FontSize’,18)
ylabel(’Q_Y (nm^{-1})’,’FontSize’,18)
zlabel(’Q_Z (nm^{-1})’,’FontSize’,18)

Rotina 67: rockingcurve.m


function S=rockingcurve(wl,a0,H,Nph)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Curva de varredura theta, reflexões simétricas e assimétricas, %
% cristais finos com espessura máxima de 500 nm. %
% wl = comprimento de onda (Angstrons) ou energia (eV) %
% a0 = parâmetro de rede (Angstrons), cristais cúbicos, ex: GaSb %
% H = [h k l]; índices da reflexão %
% Nph > 1000 gera estatística de Nph fótons %
% %
% Exemplo: S=rockingcurve(1.540562,6.0966,[2 2 4],1); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
thn = acos(H(3)/sqrt(H*H’)); % ângulo entre vetor de difração e a normal à face do cristal
M = bragg(wl,a0,H);
if (M(2,2)==0) return; end;
M(2,2) = M(2,2)*rad;
A0 = wl^3/sin(2*M(2,2));
R1=curve(M,thn,a0);
Z1=photonstatistic(R1(:,2),Nph);
aux1 = max(Z1)/max(R1(:,2));
if (thn<rad)
ctr=1;
S = R1;
else ctr=2;
R2=curve(M,-thn,a0);
Z2=photonstatistic(R2(:,2),Nph);
aux2 = max(Z2)/max(R2(:,2));
S = [R1 R2(:,2)];
end;
dth = R1(2,1)-R1(1,1);
A1=sum(R1(:,2))*dth;
R1(:,2) = R1(:,2) * aux1;
if (ctr==1)
fprintf(’ area_integrada/volume = %4.2f (A^3), wl^3/sen(2thB) = %4.2f (A^3)\n’,A1,A0);
else
A2=sum(R2(:,2))*dth;
R2(:,2) = R2(:,2) * aux2;
fprintf(’ area_integrada/volume = %4.2f (A^3), wl^3/sen(2thB) = %4.2f (A^3)\n’,...
0.5*(A1+A2),A0);
end;

311
X = R1(:,1)*(1/rad);
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
if (ctr==1)
semilogy(X,R1(:,2),’-k’,X,Z1,’ko’,’LineWidth’,1);
else
semilogy(X,R1(:,2),’-k’,X,Z1,’ko’,X,R2(:,2),’-r’,X,Z2,’ro’,’LineWidth’,1);
end;
axis tight
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’Box’,’on’,’LineWidth’,1,’FontName’,’Arial’)
xlabel(’\theta (^o)’,’FontSize’,18)
if (Nph>1000)
ylabel(’número de fótons’,’FontSize’,18)
else
ylabel(’intensidade (unid. arb.)’,’FontSize’,18)
end;

function R=curve(M,thn,a0)
wl = M(1,2);
d = M(2,1);
thB = M(2,2);
tthB = 2*thB;
k = 2*pi/wl;
Qmax = 2*k;
Qmod = 2*pi/d;
cthn = cos(thn);
sthn = sin(thn);
L=20000; % dimensões laterais do cristal (em Angstrons)
T=5000; % espessura (em Angstrons)
if (L<10000) L = 10000; end;
if (T>5000) T = 5000; end;
Qrange = 100/T;
x = (Qmod-Qrange)/Qmax;
thmin = asin(x);
x = (Qmod+Qrange)/Qmax;
if (x<1)
thmax = asin(x);
else
thmax = 0.5*pi;
end;
dth = (thmax-thmin)/250;
TH = thmin:dth:thmax;
a = 0.05;
b = 10;
Dth = (thmin:a*dth:thmax)-thB;
Dth = b*Dth; dthp = (a*b)*dth;
Nth = size(TH,2);
ksth = k*sin(TH);
kcth = k*cos(TH);
T_2 = 0.5*T;
Lx_2 = 0.5*L;
for n=1:Nth
THp = TH(n) + Dth;
sTHp = sin(THp);
DQz = k*sTHp+ksth(n)-Qmod;
DQx = k*cos(THp)-kcth(n);
DQxc = Lx_2*(DQx*cthn - DQz*sthn);
DQzc = T_2*(DQx*sthn + DQz*cthn);
Z = sin(DQzc)./DQzc;
Z = (Z.*Z)./(1+(DQxc.*DQxc));
Y(n) = sum(Z);
end;
V = L*L*T;
N = V/a0^3;
Y = (N*N*wl*dthp/L)*Y;
R = [TH; Y]’;

function Z=photonstatistic(M,N);
soma = sum(sum(M));

312
rand(’state’,sum(100*clock));
Z = zeros(size(M));
if (N>1000)
for np = 1:N
aux = 0; photon = soma*rand; nn = 0;
while (aux<photon)
nn = nn + 1;
aux = aux + M(nn);
end;
Z(nn) = Z(nn) + 1;
end;
else
Z = M;
end;

Rotina 68: siliconnano.m


function M=siliconnano(D,desord,sph)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PDDF de uma nanopartícula de Si %
% %
% D = tamanho (em Angstroms) da nanopartícula %
% desord = desordem nas posições atômicas, %
% porcentagem (%) em relação à distância %
% interatômica Si-Si mínima (2,35 A) %
% sph == 1; cristalito esférico (diâmetro D) %
% sph ~= 1; cristalito cúbico (aresta 0.8*D) %
% %
% Exemplo: M=siliconnano(200,2,1); %
% gera o arquivo siliconnanoD200r2.pdu %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (D>500)
disp(’Tamanho máximo: 500 Angstroms’);
M = 0;
return;
end;
if (sph~=1) D = 0.8*D; end;
a=5.4309; % parâmetro de rede Si cristal (Angstroms)
if (D<a) D = a; end;
N = fix(D/a)+1;
Nc = 0;
for m=0:N-1
for n=0:N-1
for p=0:N-1
Nc = Nc + 1;
R(Nc,:) = [m n p]; % Posições na rede
end;
end;
end;
if (Nc==0) Nc = 1; R(1,:) = [0 0 0]; end;
R=a*R;
X = a*[ 0 0 0;
.5 .5 0;
.5 0 .5;
0 .5 .5;
.25 .25 .25;
.75 .75 .25;
.75 .25 .75;
.25 .75 .75]; % Posições na célula unitária
Nx = size(X,1);
for n=2:Nx
for m=1:Nc
R((n-1)*Nc+m,:) = R(m,:) + X(n,:);
end;
end;
Nat = size(R,1);
Cm = sum(R(:,1))/Nat;
X = R - Cm*ones(Nat,3);
if (sph==1)
X2 = sum(X.*X,2);

313
NN = find(X2<0.25*D*D);
R = X(NN,:);
Nat = size(R,1);
Umax = 1.02*D;
fname = [’siliconnanoD’ num2str(round(D)) ’r’ num2str(round(desord)) ’.pdu’];
else
Umax = (1.732*1.05)*D;
fname = [’siliconnanoL’ num2str(round(D)) ’r’ num2str(round(desord)) ’.pdu’];
end;
R = R + (0.01*desord*a*sqrt(3)/4)*(1-2*rand(Nat,3));
c0 = fix(clock);
hora = [num2str(c0(4)) ’:’ num2str(c0(5)) ’:’ num2str(c0(6))];
disp([’siliconnano started at ’ hora])
du = 0.001;
U = 0:du:Umax;
Nu = size(U,2);
p=zeros(1,Nu);
for n=1:Nat
for m=n+1:Nat
r = R(n,:)-R(m,:);
k=fix(sqrt(r*r’)/du)+1;
p(k) = p(k) + 1;
end;
end;
p = 2*p;
p(1) = Nat;
plot(U,p,’b’,’LineWidth’,2)
M = [U; p]’;
save(fname,’M’,’-ascii’);
c1 = fix(clock);
hora = [num2str(c1(4)) ’:’ num2str(c1(5)) ’:’ num2str(c1(6))];
disp([’ siliconnano ended at ’ hora])
Dc = c1-c0;
if (Dc(6)<0) Dc(6)=60+Dc(6); Dc(5)=Dc(5)-1; end;
if (Dc(5)<0) Dc(5)=60+Dc(5); Dc(4)=Dc(4)-1; end;
if (Dc(4)<0) Dc(4)=24+Dc(4); end;
hora = [num2str(Dc(4)) ’:’ num2str(Dc(5)) ’:’ num2str(Dc(6))];
disp([’ Time delay ’ hora ’ (h:m:s)’])

Rotina 69: siliconpdq.m


function S=siliconpdq(wl,fname,bckg,N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera difratograma sistema disperso de nanopartículas %
% de silício cristalino apartir do arquivo fname, %
% extensão *.pdu, gerado pela rotina siliconnano.m. %
% Estatística de N fótons (N > 1000) e ruído bckg (%I0) %
% wl = comprimento de onda (A) ou energia (eV) %
% %
% Exemplo: M=siliconnano(200,2,1); %
% para gerar arquivo siliconnanoD200r2.pdu e %
% S=siliconpdq(1,’siliconnanoD200r2.pdu’,bckg,N); %
% para salvar o difratograma, %
% save(’siliconanoD200r2.dat’,’S’,’-ascii’). %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n = regexp(fname,’.pdu’);
if isempty(n)
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
end;
E=bragg(wl,[],[]);
Qf = 1.0135e-3*E(1);
wl = E(2);
M=pdq(fname,Qf);
NN = find(M(:,1)>1);
Q = M(NN,1);
Y = M(NN,2);
if ((N>1000) && (bckg>0))
bckg = 0.01*bckg;
Y = Y + max(Y)*bckg/(1-bckg);

314
Y=photonstatistic(Y,N);
ylabeltext = ’número de fótons’;
else
Y = Y * (1/max(Y));
ylabeltext = ’intensidade relativa’;
end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Q,Y,’r’,’LineWidth’,2);
axis([Q(1) Qf 0 1.02*max(Y)])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(ylabeltext,’FontSize’,18)
tth = (360/pi)*asin(Q/Qf);
S=[Q tth Y];

function YY=pdq(fname,Qf)
S=load(fname)’;
U = S(1,:);
p = S(2,:);
U(find(U==0)) = 1e-8;
dQ = Qf/5000;
Q = 0:dQ:Qf; Q(1) = 1e-8;
Nq = size(Q,2);
fres = fpfpp(’Si’,Qf/1.0135e-3);
f = asfQ(’Si’,(0.25/pi)*Q) + fres(2) + i*fres(3);
f2 = real(f.*conj(f));
for n=1:Nq
Qu = Q(n)*U;
Y(n) = f2(n) * sum(p.*(sin(Qu)./Qu));
end;
YY = [Q; Y]’;

Rotina 70: siliconcameradebye.m


function siliconcameradebye(fname,D,L,pixel,wl,N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Padrão de difração sobre filme, geometria da câmara de Debye-Scherrer %
% D = raio da câmara (mm), perímetro do filme 2piD %
% L = largura do filme (mm) %
% pixel = tamanho do pixel (mm) %
% wl = comprimento de onda (Angstroms) ou energia (eV) %
% N>1000, padrão com estatística de N fótons %
% fname = arquivo *.pdu gerado pela rotina siliconnano.m %
% %
% Exemplo: %
% siliconcameradebye(’siliconnanoD200r2.pdu’,100,40,1,1,5e+6) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n = regexp(fname,’.pdu’);
if isempty(n)
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
end;
E=bragg(wl,[],[]);
wl = E(2);
E = E(1);
s = [1 0 0]; % direção feixe incidente
e = [0 1 0]; % polarização (direção campo E)
dy = pixel;
n = floor(L/dy);
LimY = 0.5*n*dy;
Y = -LimY:dy:0;
Ny = size(Y,2);
dphi = pixel / D;
n = floor(pi/dphi);
LimPhi = 0.5*(2*n-1)*dphi;
phi = 0:dphi:LimPhi;
Nphi = size(phi,2);

315
D2 = D*D;
aux1 = D2*dy*dphi;
for ny = 1:Ny
y = Y(ny);
invr = 1/sqrt(y*y+D2);
DOmega = aux1*invr*invr*invr;
YY(ny,1:Nphi)=y;
for np = 1:Nphi
z = phi(np);
XX(ny,np)= D*z;
cphi = cos(z);
sphi = sin(z);
sprime = invr*[D*cphi y D*sphi];
p = cross(sprime,cross(e,sprime));
P2(ny,np) = (p * p’)*DOmega;
Q(ny,np) = norm(sprime - s); % |s’-s|
end;
end;
Q = (2*pi/wl)*Q;
Q(find(Q==0))=1e-8;
S=load(fname)’;
U = S(1,:);
p = S(2,:);
U(find(U==0)) = 1e-8;
Nn = size(Q);
M = zeros(Nn(1),Nn(2));
Nq = Nn(1)*Nn(2);
fres = fpfpp(’Si’,E);
f = asfQ(’Si’,(0.25/pi)*Q) + fres(2) + i*fres(3);
f2 = real(f.*conj(f));
for n=1:Nq
Qu = Q(n)*U;
M(n) = f2(n) * sum(p.*(sin(Qu)./Qu));
end;
M(find(Q<.5))=0;
I = M.*P2;
beye=zeros(Ny-1);
for n=1:Ny-1 beye(n,Ny-n) = 1; end;
I = [I; beye*I(1:Ny-1,:)];
XX = [XX; beye*XX(1:Ny-1,:)];
YY = [YY; -beye*YY(1:Ny-1,:)];
if (N>1000)
I=photonstatistic(I,N);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
imagesc([0 D*pi],[-LimY LimY],log10(I))
axis image
set(gca,’FontName’,’Arial’,’FontSize’,18,’LineWidth’,1)
colormap hot;
colorbar(’XColor’,’k’,’FontSize’,14,’Location’,’NorthOutside’,’LineWidth’,1,’Position’,[0.54 0.405 0.38 0.05])
ylabel(’eixo do filme (mm)’)
xlabel(’perímetro do filme (mm)’)
text(0,0,5000,’Log(número de fótons / pixel)’)
else
I = I*(100/max(max(I)));
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
surf(XX,YY,log10(I))
axis image
shading interp
view(0,90)
set(gca,’FontName’,’Arial’,’FontSize’,18,’LineWidth’,1)
colormap(hot)
colorbar(’XColor’,’k’,’FontSize’,14,’Location’,’NorthOutside’,’LineWidth’,1,’Position’,[0.54 0.405 0.38 0.05])
ylabel(’eixo do filme (mm)’)
xlabel(’perímetro do filme (mm)’)
text(0,0,5000,’Log(100*I/I0)’,’FontSize’,18)
end;

316
Rotina 71: diffractogram.m
function M=diffractogram(fname,Rg,xpv,I100,bckg,plt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Difratograma de amostras policristalinas %
% %
% Retorna difratograma calculado com os fatores de estrutura no %
% arquivo *.sft (fname, gerado pela rotina diffraction.m): %
% M = [Q; tth; I; pF]’; %
% | | | | %
% | | | histograma de |Fhkl|^2 normalizado %
% | | intensidade relativa %
% | ângulo de espalhamento 2th (graus) %
% módulo vetor recíproco (1/A) %
% %
% Rg = raio de giro dos cristalitos (Angstrons) %
% Perfil de linha pseudo-Voigt: %
% xpv = 1 --> Gaussiana %
% xpv = 0 --> Lorentziana %
% I100: valor efetivo do pico mais intenso %
% bckg: ruído de fundo em relação a I100 %
% plt == 1 abre janela gráfica %
% %
% Exemplo: M=diffractogram(’SiE12399.sft’,82,0.5,1,0,0); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
M = [0 0];
if isempty(regexp(fname,’.sft’))
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
else
fid = fopen(fname,’r’);
if (fid==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;
end;
line = fgets(fid);
line = fgets(fid);
N1=find(line==’=’);
N2=find(line==’.’);
E = sscanf(line(N1(1)+1:N2(1)+1),’%f’);
wl = sscanf(line(N1(2)+1:N2(2)+6),’%f’);
for n=1:4 line = fgets(fid); end;
n=0;
while (line(2)==’ ’)
n = n + 1;
F2(n,1) = sscanf(line(47:57),’%f’)^2;
d(n,1) = sscanf(line(84:91),’%f’);
tth(n,1) = sscanf(line(74:83),’%f’);
line = fgets(fid);
end;
fclose(fid);
end;
Nr = n;
A = d.*F2./sin(tth*rad);
Qhkl = (2*pi)./d;
Qmax = (4*pi/wl);
dQ = Qmax/5000;
Q = 0:dQ:Qmax;
p = zeros(size(Q)); pF = p;
for n=1:Nr
k = floor(Qhkl(n)/dQ)+1;
p(k) = p(k) + A(n);
pF(k) = pF(k) + F2(n);
end;
Qmin = 0.5*min(Qhkl);
N = find(Q>Qmin);
Q = Q(N);

317
p = p(N);
pF = pF(N) * (1/max(pF));
Nq = size(Q,2);
sg = sqrt(1.5)/Rg;
bq = sqrt(12*log(2))/Rg;
if (bq<2*dQ) I = p;
else
m = floor(10*bq/dQ);
X = (-m:m)*dQ;
Nx = 2*m+1;
X2 = X.*X;
PV = (xpv/(sg*sqrt(2*pi)))*exp((-1/(2*sg*sg))*X2);
PV = PV + (2*(1-xpv)*bq/pi)./(4*X2+bq*bq);
pt = [p(1)*ones(1,m) p p(Nq)*ones(1,m)];
for n=1:Nq
I(n) = sum(PV.*pt(n:2*m+n));
end;
end;
clear pt;
I = I*((I100-bckg)/max(I)) + bckg;
if (plt==1)
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(Q,I,’k’,’LineWidth’,2)
axis([Qmin Qmax -0.02 1.02*I100])
set(gca,’FontSize’,18,’Color’,[0.93 0.93 0.93],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’Q (A^{-1})’,’FontSize’,18)
ylabel(’intensidade (unid. arb.)’,’FontSize’,18)
end;
tth = (2/rad)*asin(Q*(1/Qmax));
M = [Q; tth; I; pF]’;

Rotina 72: siliconxrdpattern.m


function siliconxrdpattern
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara difratogramas simulados: 1) a partir da PDDF do %
% do cristalito (siliconnano.m e siliconpdq.m) e salvo no %
% arquivo fname1 (*.dat); e 2) a partir dos fatores de %
% estrutura salvos no arquivo fname2 (*.sft) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fname1 = ’siliconpdqD200r2.dat’;
fname2 = ’SiE12399.sft’;
rad = pi/180;
S = load(fname1);
Qx5 = 9.1;
Qf = max(S(:,1));
Y = S(:,3);
n = 1; % n == 1 --> I(Q) ou n ~= 1 --> I(2th)
if (n == 1)
xlabeltext = ’Q (A^{-1})’;
V = [Qx5 Qx5];
x5 = Qx5 + .1;
else
xlabeltext = ’2\theta (^o)’;
V = [1 1]*(2*asin(Qx5/Qf)/rad);
x5 = 2*asin((Qx5+0.1)/Qf)/rad;
end;
M = diffractogram(fname2,85,.4,1,0,0);
N10 = find(S(:,1)>Qx5);
Y(N10,1)=5*Y(N10,1);
N10 = find(M(:,1)>Qx5);
M(N10,3)=5*M(N10,3);

318
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(S(:,n),Y,’-ko’,’MarkerSize’,6,’MarkerFaceColor’,’r’,’MarkerEdgeColor’,’auto’,’LineWidth’,1)
hold on
plot(M(:,n),M(:,3),’y’,’LineWidth’,1.5)
plot(V,[0 .25],’--k’,’LineWidth’,1.5)
hold off
axis([min([S(:,n); M(:,n)]) max([S(:,n); M(:,n)]) 0 1])
set(gca,’FontSize’,18,’Color’,[0.7 0.78 1],’LineWidth’,1)
xlabel(xlabeltext,’FontSize’,18)
ylabel(’intensidade relativa’,’FontSize’,18)
text(x5,.23,’x5’,’FontSize’,16)
text(x5,.20,’\rightarrow’,’FontSize’,16)
ha2=axes(’Position’,[.435 .49 .45 .40]);
plot(M(:,1),M(:,4),’r’,’LineWidth’,3)
set(ha2,’FontSize’,16,’Color’,[1 1 1],’FontName’,’Arial’,’LineWidth’,1)
grid
xlabel(’Q (A^{-1})’);
ylabel(’\Sigma|F_{hkl}|^2 (unid. relat.)’)
axis tight
text(Qx5,0.75,’Si’,’FontSize’,36,’Color’,[0.6 0.6 0.6],’FontWeight’,’bold’)

Rotina 73: siliconpeakfit.m


function siliconpeakfit(q0,Rg1,xpv1,Rg2,xpv2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ajuste por função pseudo-Voigh do pico de difração na %
% posição q0 dos difratogramas IxQ salvos nos arquivos %
% fname1 e fname2 (arquivos *.dat gerados pelas rotinas %
% siliconnano.m e siliconpdq.m). %
% Rg1, Rg2: raios de giro (A) %
% xpv1, xpv2: pseudo-Voigt (1-0 => Gaussiana-Lorentziana) %
% Exemplo: siliconpeakfit(3.27,82,0.8,88,0.55) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fname1 = ’siliconpdqD200r2.dat’; % cristalito esférico diâmetro 200A
fname2 = ’siliconpdqL160r2.dat’; % cristalito cúbido aresta 160A
dq = 2*sqrt(12*log(2))/Rg1;
x1 = q0-dq;
x2 = q0+dq;
Sa = load(fname1);
Sb = load(fname2);
n1 = max(find(Sa(:,1)<x1));
n2 = max(find(Sa(:,1)<x2));
Qa = Sa(n1:n2,1)-Sa(find(Sa(n1:n2,3)==max(Sa(n1:n2,3)))+n1-1,1);
Ia = Sa(n1:n2,3);
Ia = Ia / max(Ia);
Ya = pseudovoigt(Qa,Rg1,xpv1);
d = Ia-Ya;
gof1 = sum(d.*d)/size(Qa,1);
gof1text = [’\chi^2 = ’ num2str(1e-3*round(1e+6*gof1))];
n1 = max(find(Sb(:,1)<x1));
n2 = max(find(Sb(:,1)<x2));
Qb = Sb(n1:n2,1)-Sb(find(Sb(n1:n2,3)==max(Sb(n1:n2,3)))+n1-1,1);
Ib = Sb(n1:n2,3);
Ib = Ib / max(Ib);
Yb = pseudovoigt(Qb,Rg2,xpv2);
d = Ib-Yb;
gof2 = sum(d.*d)/size(Qb,1);
gof2text = [’\chi^2 = ’ num2str(1e-3*round(1e+6*gof2))];
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
subplot(1,2,1)
set(gca,’Position’,[0.09 0.16 0.4 0.83])
plot(Qa,Ia,’ro’,Qa,Ya,’k’,’LineWidth’,2)
axis([min(Qa) max(Qa) 0 1.02])
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’LineWidth’,1)
xlabel(’\DeltaQ (A^{-1})’,’FontSize’,18)
ylabel(’intensidade (unid. arb.)’,’FontSize’,18)

319
text(0.2*max(Qa),.9,gof1text,’FontSize’,16)
text(0.9*min(Qa),.95,’(a)’,’FontSize’,24)
subplot(1,2,2)
set(gca,’Position’,[0.55 0.16 0.4 0.83])
plot(Qb,Ib,’ro’,Qb,Yb,’k’,’LineWidth’,2)
axis([min(Qb) max(Qb) 0 1.02])
set(gca,’YTickLabel’,[],’FontSize’,18,’Color’,[0.97 0.97 0.97],’LineWidth’,1)
xlabel(’\DeltaQ (A^{-1})’,’FontSize’,18)
text(0.2*max(Qb),.9,gof2text,’FontSize’,16)
text(0.9*min(Qb),.95,’(b)’,’FontSize’,24)

function Y=pseudovoigt(Q,Rg,xpv)
xpv = abs(xpv);
if (xpv>1) xpv = 1; end;
sg = sqrt(1.5)/Rg;
bq = sqrt(12*log(2))/Rg;
dQ = Q(2)-Q(1);
X2 = Q.*Q;
Y = (xpv/(sg*sqrt(2*pi)))*exp((-1/(2*sg*sg))*X2);
Y = Y + (2*(1-xpv)*bq/pi)./(4*X2+bq*bq);
Y = Y * (1/max(Y));

Rotina 74: orientcryst.m


function orientcryst(wl,P,A,B,TH,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Orientação de monocristais. Direção cristalográfica A = [A1,A2,A3] %
% alinhada com eixo z e direção de referência B = [B1,B2,B3] no plano xz %
% Se TH = [thx,thy,thz], aplica a matrix de orientação R=Rx(thx)Ry(thy)Rz(thz) %
% Se TH = [1] orienta reflexão H=[h k l] usando R=Ry(thy)Rz(thz), alinhamento chi %
% Se TH = [ ] orienta reflexão H=[h k l] usando R=Ry(thy)Rx(thz), alinhamento phi %
% wl = comprimento de onda (Angstroms) ou energia (eV) %
% Parâmetros de rede P = [a b c alpha beta gamma] %
% Exemplos: %
% orientcryst(1.540562,[9.4620 8.3920 5.2210 90.00 110.180 90.00],[1 0 0],[0 1 0],[0 0 0],[0 0 2]); %
% orientcryst(1.540562,[9.4620 8.3920 5.2210 90.00 110.180 90.00],[1 0 0],[0 1 0],[],[0 0 2]); %
% orientcryst(1.540562,[9.4620 8.3920 5.2210 90.00 110.180 90.00],[1 0 0],[0 1 0],[1],[0 0 2]); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
if isempty(P) L = [E wl]; return; end;
nm = size(P);
if (nm(1)*nm(2)==1)
P(1:3) = P(1)*ones(1,3);
P(4:6) = [90 90 90];
elseif (nm(1)*nm(2)==2)
P(1:3) = [P(1) P(1) P(2)];
P(4:6) = [90 90 90];
end;
P(4:6) = P(4:6)*rad;
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
vecA = A(1)*a1 + A(2)*a2 + A(3)*a3;
vecB = B(1)*a1 + B(2)*a2 + B(3)*a3;
e3 = vecA/norm(vecA);
e2 = cross(vecA,vecB);
e2 = e2/norm(e2);
e1 = cross(e2,e3);
M = [e1; e2; e3]’;
a = a1*M;
b = a2*M;
c = a3*M;
a1r = cross(b,c);
Vc = a1r*a’;
a1r = a1r/Vc;
a2r = cross(c,a)/Vc;

320
a3r = cross(a,b)/Vc;
Q = H(1,1)*a1r + H(1,2)*a2r + H(1,3)*a3r;
modQ = norm(Q);
if (size(TH,2)==3)
thx = TH(1)*rad;
thy = TH(2)*rad;
thz = TH(3)*rad;
Rx = [1 0 0; 0 cos(thx) -sin(thx); 0 sin(thx) cos(thx)];
Ry = [ cos(thy) 0 sin(thy); 0 1 0; -sin(thy) 0 cos(thy)];
Rz = [cos(thz) -sin(thz) 0; sin(thz) cos(thz) 0; 0 0 1];
R = Rx*Ry*Rz;
else
thbragg = asin(0.5*wl*modQ);
if isempty(TH)
thy = pi/2-acos(Q(3)/modQ) + thbragg;
x = Q(1); y = Q(2);
thz = -atan2(y,x);
Rz = [cos(thz) -sin(thz) 0; sin(thz) cos(thz) 0; 0 0 1];
Ry = [ cos(thy) 0 sin(thy); 0 1 0; -sin(thy) 0 cos(thy)];
R = Ry*Rz;
fprintf(’ Alinhamento chi: R = RyRz, thz = %9.4f, thy = %9.4f, thBragg = %9.4f\n’,thz/rad,thy/rad,thbragg/rad)
else
thy = acos(Q(1)/modQ) + thbragg;
x = Q(2); y = Q(3);
thx = 0.5*pi - atan2(y,x);
Rx = [1 0 0; 0 cos(thx) -sin(thx); 0 sin(thx) cos(thx)];
Ry = [ cos(thy) 0 sin(thy); 0 1 0; -sin(thy) 0 cos(thy)];
R = Ry*Rx;
fprintf(’ Alinhamento phi: R = RyRx, thx = %9.4f, thy = %9.4f, thBragg = %9.4f\n’,thx/rad,thy/rad,thbragg/rad)
end;
end;
MR = M*R’;
a = a1*MR;
b = a2*MR;
c = a3*MR;
a1r = cross(b,c);
Vc = a1r*a’;
a1r = a1r/Vc;
a2r = cross(c,a)/Vc;
a3r = cross(a,b)/Vc;
Q = H(1,1)*a1r + H(1,2)*a2r +H(1,3)*a3r;
O = [0 0 0];
d = a + b + c;
A = b + c;
B = a + c;
C = a + b;
D = 0.5*d;
modD = 1.5*norm(D);
vecA = modD*e3*MR;
vecB = modD*e1*MR;
Q = modD*(Q/norm(Q));
hf1 = figure(1);
clf
set(hf1,’InvertHardcopy’,’off’,’Color’,’w’)
vetor(O,a,-D,’b’,1,’ a’);
hold on
vetor(O,b,-D,’b’,1,’ b’);
vetor(O,c,-D,’b’,1,’ c’);
vetor(O,[0 0 1.5*modD],[0 0 0],’r’,2,’\uparrow raios X’);
vetor(O,Q,[0 0 0],’m’,2,’ Q’);
vetor(O,vecB,[0 0 0],’k’,2,’ B’);
vetor(O,vecA,[0 0 0],’k’,2,’ A’);
vetor(B,a,-D,’b’,1,[]);
vetor(B,c,-D,’b’,1,[]);
vetor(B,d,-D,’b’,1,[]);
vetor(C,a,-D,’b’,1,[]);
vetor(C,b,-D,’b’,1,[]);
vetor(C,d,-D,’b’,1,[]);
vetor(A,b,-D,’b’,1,[]);
vetor(A,c,-D,’b’,1,[]);
vetor(A,d,-D,’b’,1,[]);

321
plot3(modD*[1 -1 -1 -1 -1 1],modD*[-1 -1 1 1 -1 -1],modD*[1 1 1 -1 -1 -1],’k’,’LineWidth’,1 )
plot3(modD*[-1 -1],modD*[-1 -1],modD*[1 -1],’k’,’LineWidth’,1 )
plot3(-D(1),-D(2),-D(3),’b.’)
axis image
axis(modD*[-1 1 -1 1 -1 1])
hold off
text(0,0,0,’O’)
set(gca,’FontSize’,18,’Color’,[0.97 0.97 0.97],’LineWidth’,1)
grid
xlabel(’X (A)’,’FontSize’,18)
ylabel(’Y (A)’,’FontSize’,18)
zlabel(’Z (A)’,’FontSize’,18)
view(164,18)

function vetor(A,B,T,cor,linha,nome)
V = [(A+T)’ (B+T)’];
plot3(V(1,:),V(2,:),V(3,:),cor,’LineWidth’,linha)
if ~isempty(nome)
text(V(1,2),V(2,2),V(3,2),nome,’Color’,cor,’FontSize’,18)
end;

Rotina 75: rotatcryst.m


function L=rotatcryst(wl,P,A,B,omega,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcula coordenadas polares dos vetores de onda. Comprimento de onda wl, %
% eixo de rotação A, posicionado a 90-omega (graus) do feixe incidente, %
% e direção de referência B. %
% Retorna L = [ hkl w phi w’ phi’] %
% | | | | | %
% | | | | azimute k’ %
% | | | polar vetor k’ %
% | | azimute vetor k %
% | omega, polar vetor k %
% índice reflexão %
% para as reflexões H = [h1 k1 l1; h2 k2 l2; ...]. %
% Parâmetros de rede P = [a b c alpha beta gamma]. %
% Exemplos: %
% L=rotatcryst(8374.5,[6.7830 18.2880],[0 0 1],[0 1 0],-18.8941,[2 0 4]); %
% L=rotatcryst(8374.5,[6.7830 18.2880],[0 0 1],[0 1 0],0,[0 4 0]); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
deg = 1/rad;
hc = 12398.5;
if (wl < 1000) E = hc / wl;
else E = wl; wl = hc / E;
end;
if isempty(P) L = [E wl]; return; end;
nm = size(P);
if (nm(1)*nm(2)==1)
P(1:3) = P(1)*ones(1,3);
P(4:6) = [90 90 90];
elseif (nm(1)*nm(2)==2)
P(1:3) = [P(1) P(1) P(2)];
P(4:6) = [90 90 90];
end;
P(4:6) = P(4:6)*rad;
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
a1r = cross(a2,a3);
Vc = a1r*a1’;
a1r = a1r/Vc;
a2r = cross(a3,a1)/Vc;
a3r = cross(a1,a2)/Vc;
Nr = size(H,1);

322
w0 = omega*rad;
vecA = A(1)*a1 + A(2)*a2 + A(3)*a3;
vecB = B(1)*a1 + B(2)*a2 + B(3)*a3;
e3 = vecA/norm(vecA);
e2 = cross(vecA,vecB);
e2 = e2/norm(e2);
e1 = cross(e2,e3);
M = [e1; e2; e3]’;
m = 0;
fprintf(’\n’ );
fprintf(’ ----hkl-------alphaQ-------phiQ-----omega-------phi----omega´------phi´--\n’);
for n=1:Nr
Q = H(n,1)*a1r + H(n,2)*a2r +H(n,3)*a3r;
modQ = norm(Q);
sinth = 0.5*wl*modQ;
if (sinth <= 1)
Qe = Q*M;
cosalphaQ = Qe(3)/modQ;
alphaQ = acos(cosalphaQ)*deg;
sinalphaQ = sqrt(1-cosalphaQ^2);
x = Qe(1); y = Qe(2);
phiQ = atan2(y,x);
cw = cos(w0);
sw = sin(w0);
x = sinth+sw*cosalphaQ;
x = -x/(cw*sinalphaQ);
if (abs(x)<=1)
x = acos(x);
phi = phiQ + [-x x];
phi = atan2(sin(phi),cos(phi));
cphi = cos(phi);
sphi = sin(phi);
if (phi(1)<0) phi(1) = 2*pi + phi(1); end;
if (phi(2)<0) phi(2) = 2*pi + phi(2); end;
k = (1/wl)*[cw*cphi’ cw*sphi’ sw*ones(2,1)];
kp = k(1,:) + Qe;
wp1 = asin(wl*kp(3));
x = kp(1); y = kp(2);
phip1 = atan2(y,x);
if (phip1<0) phip1 = 2*pi + phip1; end;
kp = k(2,:) + Qe;
wp2 = asin(wl*kp(3));
x = kp(1); y = kp(2);
phip2 = atan2(y,x);
if (phip2<0) phip2 = 2*pi + phip2; end;
m = m + 1;
L(m,:) = [H(n,:) alphaQ phiQ*deg omega phi(1)*deg wp1*deg phip1*deg];
m = m + 1;
L(m,:) = [H(n,:) alphaQ phiQ*deg omega phi(2)*deg wp2*deg phip2*deg];
end;
end;
end;
Nm = m; m = 0;
while (m<Nm-1)
m = m + 1;
fprintf(’ (%3.0f,%3.0f,%3.0f): %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f\n’,...
L(m,1),L(m,2),L(m,3),L(m,4),L(m,5),L(m,6),L(m,7),L(m,8),L(m,9));
m = m + 1;
fprintf(’ %9.4f %9.4f\n’,L(m,7),L(m,9));
fprintf(’ ----------------------------------------------------------------------------\n’);
end;

Rotina 76: spodumencoordfrac.m


function spodumencoorfrac(fname,eta,p)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera arquivo *.in para a rotina sfactor.m %
% %
% eta: rms (em A), igual para todos os átomos %

323
% se p = 1, gera arquivo fname.in %
% se p ~= 1, mostra coordenadas na tela %
% %
% Dados cristalográficos espodumênio: %
% Fórmulas por célula unitária: 4 x LiAl(SiO3)2 %
% Parâmetros: [a b c alpha beta gamma] = %
% = [9.462 8.392 5.221 90.000 110.180 90.000] %
% Grupo espacial: ’C 1 2/c 1’ (# 15) %
% Sítios atômicos: %
% Li 0.0000 0.27467 0.25000 %
% Al 0.0000 0.90667 0.25000 %
% Si 0.2941 0.09347 0.25592 %
% O1 0.1097 0.08232 0.14056 %
% O2 0.3647 0.26713 0.30048 %
% O3 0.3566 0.98674 0.05827 %
% %
% COD ID: 2003129 %
% http://www.crystallography.net/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
eta=eta*eta;
a = 9.462; b = 8.392; c = 5.221;
alpha=90.0; beta=110.18; gamma=90.0;
% 4 átomos Li
x = 0.0000; y = 0.27467; z = 0.25000;
Rf(1:4,:) = [ x, y, z; -x, -y, -z; x+1/2, y+1/2, z; -x+1/2, -y+1/2, -z];
% 4 átomos Al
x = 0.0000; y = 0.90667; z = 0.25000;
Rf(5:8,:) = [ x, y, z; -x, -y, -z; x+1/2, y+1/2, z; -x+1/2, -y+1/2, -z];
% 8 átomos Si
x = 0.2941; y = 0.09347; z = 0.25592;
Rf(9:16,:) = [x, y, z; x+1/2, y+1/2, z; -x, y, -z+1/2; -x+1/2, y+1/2, -z+1/2;
-x, -y, -z; x, -y, z+1/2; -x+1/2, -y+1/2, -z; x+1/2, 1/2-y, z+1/2];
% 8 átomos O1
x = 0.1097; y = 0.08232; z = 0.14056;
Rf(17:24,:) = [x, y, z; x+1/2, y+1/2, z; -x, y, -z+1/2; -x+1/2, y+1/2, -z+1/2;
-x, -y, -z; x, -y, z+1/2; -x+1/2, -y+1/2, -z; x+1/2, 1/2-y, z+1/2];
% 8 átomos O2
x = 0.3647; y = 0.26713; z = 0.30048;
Rf(25:32,:) = [x, y, z; x+1/2, y+1/2, z; -x, y, -z+1/2; -x+1/2, y+1/2, -z+1/2;
-x, -y, -z; x, -y, z+1/2; -x+1/2, -y+1/2, -z; x+1/2, 1/2-y, z+1/2];
% 8 átomos O3
x = 0.3566; y = 0.98674; z = 0.05827;
Rf(33:40,:) = [x, y, z; x+1/2, y+1/2, z; -x, y, -z+1/2; -x+1/2, y+1/2, -z+1/2;
-x, -y, -z; x, -y, z+1/2; -x+1/2, -y+1/2, -z; x+1/2, 1/2-y, z+1/2];
Nat = size(Rf,1);
N = find(Rf>1);
Rf(N) = Rf(N) - 1;
N = find(Rf<0);
Rf(N) = Rf(N) + 1;
OcupFactor = ones(Nat,1);
Bfactor = (8*pi*pi)*eta*ones(Nat,1);
if (p == 1) fid = fopen([fname ’.in’], ’w’);
else fid = 1; fprintf(’\n’);
end;
fprintf(fid,’%6.4f %6.4f %6.4f %7.4f %7.4f %7.4f\n’,a,b,c,alpha,beta,gamma);
for m=1:4
fprintf(fid,’Li %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=5:8
fprintf(fid,’Al %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=9:16
fprintf(fid,’Si %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=17:40
fprintf(fid,’O %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
if (p == 1) fclose(fid);
else fprintf(’\n’);
end;

324
Rotina 77: lauemethod.m
function lauemethod(fname,A,B,TH)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Método de Laue %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Direção cristalográfica A = [A1,A2,A3] alinhada com eixo z, %
% direção de referência B = [B1,B2,B3] no plano xz. %
% TH = [thx,thy,thz] a matrix de rotação R=Rx(thx)Ry(thy)Rz(thz). %
% Salva arquivo *.laue das intensidades e coordenadas do pontos de %
% difração sobre filme para raios X. %
% %
% Exemplos: %
% lauemethod(’spodumen.in’,[1 0 0],[0 0 1],[10 90 0]) %
% lauemethod(’Si.in’,[1 1 1],[-1 -1 2],[0 0 0]) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
wlmin = 1; wlmax = 2; % espectro contínuo, aproximação intensidade constante,
% comprimentos de onda entre wlmin e wlmax (A)
Lg = 75; % metade da largura do filme (mm)
D = 50; % raio do filme cilíndrico (mm),
e = [0 1 0]; % polarização linear ao longo do eixo do cilíndro
pix = .2; % tamanho do pixel (mm)
sg = 2*pix; % tamanho do ponto de difração dado pela
% meia largura a 61% do máximo
rad = pi / 180;
twopii = 2*pi*i;
hc = 12398.5;
c0 = fix(clock);
code = [num2str(c0(1)) num2str(c0(2)) num2str(c0(3)) num2str(c0(4)) num2str(c0(5)) num2str(c0(6))];
n = regexp(fname,’.in’);
if isempty(n) disp(’Arquivo tipo desconhecido!!!’); return; end;
fidin = fopen(fname,’r’);
if (fidin==-1) disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’]); return; end;
fout = [fname(1:n-1) code ’.laue’];
line = fgets(fidin);
P = sscanf(line,’%f’)’;
if (size(P,2)~=6) disp(’ >>>> Linha 1: a b c alpha beta gamma’); return; end;
n = 0;
line = fgets(fidin);
while (line~=-1)
n = n + 1;
w = find(line==’ ’); w = w(1);
atm(n,:) = ’ ’;
atm(n,1:w-1) = line(1:w-1);
if isempty(regexp(’abcdefghijklmnopqrstuvwxyz’,atm(n,2)))
atomsym(n,:)=[1 w-1];
else atomsym(n,:)=[2 w-1]; end;
Rat(n,:) = sscanf(line(w+1:size(line,2)),’%f’)’;
line = fgets(fidin);
end;
fclose(fidin);
Nat = n; Nchem = 0; AA = zeros(Nat,1); NA = find(AA==0);
while ~isempty(NA)
n = NA(1);
M = find(atm(n,1)==atm(:,1) & atm(n,2)==atm(:,2) & atm(n,3)==atm(:,3) & atm(n,4)==atm(:,4));
Nchem = Nchem + 1;
AA(M) = Nchem;
NA = find(AA==0);
acod(Nchem,:) = atm(n,:);
asym(Nchem,:) = atomsym(n,:);
end;
clear atm atomsym;
P(4:6) = P(4:6)*rad;
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
vecA = A(1)*a1 + A(2)*a2 + A(3)*a3;
vecB = B(1)*a1 + B(2)*a2 + B(3)*a3;
e3 = vecA/norm(vecA);

325
e2 = cross(vecA,vecB);
e2 = e2/norm(e2);
e1 = cross(e2,e3);
M = [e1; e2; e3]’;
thx = TH(1)*rad;
thy = TH(2)*rad;
thz = TH(3)*rad;
Rx = [1 0 0; 0 cos(thx) -sin(thx); 0 sin(thx) cos(thx)];
Ry = [ cos(thy) 0 sin(thy); 0 1 0; -sin(thy) 0 cos(thy)];
Rz = [cos(thz) -sin(thz) 0; sin(thz) cos(thz) 0; 0 0 1];
R = Rx*Ry*Rz;
MR = M*R’;
a = a1*MR;
b = a2*MR;
c = a3*MR;
a1r = cross(b,c);
Vc = a1r*a’;
a1r = a1r/Vc;
a2r = cross(c,a)/Vc;
a3r = cross(a,b)/Vc;
hmax = floor(2.0 / (wlmin * norm(a1r)));
kmax = floor(2.0 / (wlmin * norm(a2r)));
lmax = floor(2.0 / (wlmin * norm(a3r)));
H = [-hmax:hmax];
K = [-kmax:kmax];
L = [-lmax:lmax];
m = 0;
for nh = 1:2*hmax+1
for nk = 1:2*kmax+1
for nl = 1:2*lmax+1
h = H(nh); k = K(nk); l = L(nl);
q = h*a1r + k*a2r + l*a3r;
if (q(3)<0)
q2 = q*q’;
wl = -2*q(3)/q2;
if ((wl<wlmax) && (wl>wlmin))
sp = wl*q + [0 0 1];
z = D*tan(asin(sp(2)));
if (z*z<Lg*Lg)
m = m + 1;
HKL(m,:) = [h k l];
WL(m,1) = wl;
Yf(m,1) = z;
Xf(m,1) = D*atan2(sp(1),-sp(3));
Fhkl2(m,1) = sfactorQ(Nchem,acod,asym,hc/wl,sqrt(q2),AA,twopii,Rat,[h k l]);
p = cross(sp,cross(e,sp));
p = p * p’;
Ahkl(m,1) = p*wl*Fhkl2(m)/q2;
end;
end;
end;
end;
end;
end;
Nrefl = m;
X = Ahkl;
Nmax = [];
while (sum(X)>0)
NN = find(X==max(X));
X(NN) = 0;
Nmax = [Nmax; NN];
end;
Nrefl = size(Nmax,1);
HKL = HKL(Nmax,:);
WL = WL(Nmax);
Yf = Yf(Nmax);
Xf = Xf(Nmax);
Fhkl2 = Fhkl2(Nmax);
Ahkl = Ahkl(Nmax);
clear Nmax X;
invF2max = 100/max(Fhkl2);

326
invAmax = 100/max(Ahkl);
fidout = fopen(fout,’w’);
fprintf(fidout,’\n %s, A = [%2d %2d %2d], B = [%2d %2d %2d], TH = [%5.3f %5.3f %5.3f]\n’,...
fname,A(1),A(2),A(3),B(1),B(2),B(3),TH(1),TH(2),TH(3));
fprintf(fidout,’|-------------|-----------------|----------|--------------------------------|\n’);
fprintf(fidout,’| h k l | |Fhkl|^2 | wl(A) | Phkl X(mm) Y(mm) |\n’);
fprintf(fidout,’|-------------|-----------------|----------|--------------------------------|\n’);
for m=1:Nrefl
fprintf(fidout,’| %3d %3d %3d | %7.1f(%5.1f%%) | %8.6f | %9.1f %9.3f %9.3f |\n’,HKL(m,1),HKL(m,2),HKL(m,3),...
Fhkl2(m),invF2max*Fhkl2(m),WL(m),Ahkl(m),Xf(m),Yf(m));
end;
fprintf(fidout,’|-------------|-----------------|----------|--------------------------------|\n’);
fclose(fidout);

Nx = floor(pi*D/pix);
Ny = floor(Lg/pix);
perimetro = Nx*pix;
largura = Ny*pix;
Z = zeros(2*Ny+1,2*Nx+1);
for m=1:Nrefl
nx = fix(Xf(m)/pix)+Nx+1;
ny = fix(Yf(m)/pix)+Ny+1;
Z(ny,nx) = Z(ny,nx) + Ahkl(m);
end;
Ng = floor(10*sg/pix);
Xg = (-Ng:Ng)*pix;
Xg = Xg.*Xg;
for nx=1:2*Ng+1
for ny=1:2*Ng+1
Xg2(ny,nx) = Xg(ny) + Xg(nx);
end;
end;
G = (1/(sg*sg*2*pi))*exp((-1/(2*sg*sg))*Xg2);
Zg = [zeros(2*Ny+1+2*Ng,Ng) [zeros(Ng,2*Nx+1); Z; zeros(Ng,2*Nx+1)] zeros(2*Ny+1+2*Ng,Ng)];
for nx=1:2*Nx+1
for ny=1:2*Ny+1
Z(ny,nx) = sum(sum(G.*Zg(ny:2*Ng+ny,nx:2*Ng+nx)));
end;
end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
imagesc(perimetro*[-1 1],largura*[-1 1],log10(Z+1))
axis image
set(gca,’YDir’,’normal’,’FontName’,’Arial’,’FontSize’,18,’LineWidth’,1)
colormap jet;
colorbar(’FontSize’,14,’Location’,’EastOutside’,’LineWidth’,1)
ylabel(’largura do filme (mm)’)
xlabel(’perímetro do filme (mm)’)
text(1.274*perimetro,-largura/3,5000,’Log(I) (unid. arb.)’,’FontSize’,14,’Rotation’,90)

function F2 = sfactorQ(Nchem,acod,asym,E,Q,AA,twopii,R,H)
for n=1:Nchem
aux = fpfpp(acod(n,1:asym(n,1)),E);
fres(n) = aux(2)+i*aux(3);
end;
x = 0.5*Q;
x2 = x*x;
F = 0;
for n=1:Nchem
fn = asfQ(acod(n,1:asym(n,2)),x) + fres(n);
NA=find(AA==n)’;
F = F + fn*sum(exp(twopii*(R(NA,1:3)*H’)).*R(NA,4).*exp((-x2)*R(NA,5)));
end;
F2 = F*conj(F);

Rotina 78: pdbcoordfrac.m


function pdbcoordfrac(fname,OP)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

327
% Gera arquivo *.in para cálculo dos fatores de %
% estrutura pela rotina sfactor.m %
% %
% fname = arquivo *.pdb %
% OP: códico operações de simetria a serem aplicadas %
% aos registros ’ATOM’ e ’HETATM’ da unidade %
% assimétrica da proteína cristalizada %
% %
% Exemplos: %
% pdbcoordfrac(’4FOJ.pdb’,18) %
% pdbcoordfrac(’2LYZ.pdb’,96) %
% pdbcoordfrac(’1TRZ.pdb’,146) %
% pdbcoordfrac(’3CNR.pdb’,169); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n = regexp(fname,’.pdb’);
if isempty(n)
disp(’ >>>> Arquivo tipo desconhecido!!!’)
return;
end;
fout = [fname(1:n-1) ’.in’];
fidin = fopen(fname,’r’);
line = fgets(fidin);
n=0; m=0;
while (line~=-1)
switch line(1:5)
case {’CRYST’}
P = sscanf(line(7:54),’%f’)’;
case {’SCALE’}
m = m + 1;
SC(m,:) = sscanf(line(11:40),’%f’)’;
case {’ATOM ’,’HETAT’}
n = n + 1;
Rf(n,:) = [(SC*sscanf(line(31:54),’%f’))’ sscanf(line(55:66),’%f’)’];
A(n,:) = line(77:78);
end;
line = fgets(fidin);
end;
fclose(fidin);
N = size(Rf,1); Nchem = 0; Achem = zeros(N,1); NA = 1;
while ~isempty(NA)
n = NA(1);
Mn = find(A(n,1)==A(:,1) & A(n,2)==A(:,2));
Nchem = Nchem + 1;
OCF(Nchem) = sum(Rf(Mn,4));
Achem(Mn) = Nchem;
if (A(n,1)~=’ ’) Atom(Nchem,:) = [A(n,1) lower(A(n,2))];
else Atom(Nchem,:) = [A(n,2) ’ ’];
end;
NA = find(Achem==0);
end;
for n=1:Nchem
% fprintf(’ %1.0f %s’,size(find(Achem==n),1),Atom(n,:))
fprintf(’ %4.2f %s’,OCF(n),Atom(n,:))
end;
fprintf(’\n’);

fid = fopen(fout,’w’);
fprintf(fid,’%6.4f %6.4f %6.4f %6.4f %6.4f %6.4f\n’,P(1),P(2),P(3),P(4),P(5),P(6));
for n=1:N
R = symop(OP,Rf(n,1:3));
for m=1:size(R,1)
fprintf(fid,’%s %8.4f %8.4f %8.4f %6.3f %6.2f\n’,Atom(Achem(n),:),R(m,1),R(m,2),R(m,3),Rf(n,4),Rf(n,5));
end;
end;
fclose(fid);

function R=symop(OP,Rf)
X=Rf(1); Y=Rf(2); Z=Rf(3);
switch OP
case {4}
R(1,:) = [X,Y,Z];

328
R(2,:) = [-X,Y+1/2,-Z];
case {18}
R(1,:) = [X,Y,Z];
R(2,:) = [-X,-Y,Z];
R(3,:) = [-X+1/2,Y+1/2,-Z];
R(4,:) = [X+1/2,-Y+1/2,-Z];
case {96}
R = [ X,Y,Z;
-X,-Y,Z+1/2;
-Y+1/2,X+1/2,Z+3/4;
Y+1/2,-X+1/2,Z+1/4;
-X+1/2,Y+1/2,-Z+3/4;
X+1/2,-Y+1/2,-Z+1/4;
Y,X,-Z;
-Y,-X,-Z+1/2];
case {146}
R(1,:) = [X,Y,Z];
R(2,:) = [-Y,X-Y,Z];
R(3,:) = [-X+Y,-X,Z];
R(4,:) = [X+2/3,Y+1/3,Z+1/3];
R(5,:) = [-Y+2/3,X-Y+1/3,Z+1/3];
R(6,:) = [-X+Y+2/3,-X+1/3,Z+1/3];
R(7,:) = [X+1/3,Y+2/3,Z+2/3];
R(8,:) = [-Y+1/3,X-Y+2/3,Z+2/3];
R(9,:) = [-X+Y+1/3,-X+2/3,Z+2/3];
case {169}
R = [ X,Y,Z;
-Y,X-Y,Z+1/3;
-X+Y,-X,Z+2/3;
-X,-Y,Z+1/2;
Y,-X+Y,Z+5/6;
X-Y,X,Z+1/6];
case {197}
R(1,:) = [X,Y,Z];
R(2,:) = [-X,-Y,Z];
R(3,:) = [-X,Y,-Z];
R(4,:) = [X,-Y,-Z];
R(5,:) = [Z,X,Y];
R(6,:) = [Z,-X,-Y];
R(7,:) = [-Z,-X,Y];
R(8,:) = [-Z,X,-Y];
R(9,:) = [Y,Z,X];
R(10,:) = [-Y,Z,-X];
R(11,:) = [Y,-Z,-X];
R(12,:) = [-Y,-Z,X];
R(13,:) = [X+1/2,Y+1/2,Z+1/2];
R(14,:) = [-X+1/2,-Y+1/2,Z+1/2];
R(15,:) = [-X+1/2,Y+1/2,-Z+1/2];
R(16,:) = [X+1/2,-Y+1/2,-Z+1/2];
R(17,:) = [Z+1/2,X+1/2,Y+1/2];
R(18,:) = [Z+1/2,-X+1/2,-Y+1/2];
R(19,:) = [-Z+1/2,-X+1/2,Y+1/2];
R(20,:) = [-Z+1/2,X+1/2,-Y+1/2];
R(21,:) = [Y+1/2,Z+1/2,X+1/2];
R(22,:) = [-Y+1/2,Z+1/2,-X+1/2];
R(23,:) = [Y+1/2,-Z+1/2,-X+1/2];
R(24,:) = [-Y+1/2,-Z+1/2,X+1/2];
% case {...} % incluir outros "case" para completar
% as operações de simetria dos 230 grupos espaciais
% "International Tables for Crystallography (2006).
% Vol. A, ch. 7.1, pp. 112-717
otherwise R(1,:) = [X,Y,Z];
end;

Rotina 79: rotcrystmethod.m


%function rotcrystmethod(wl,fname,A,TH,THd)

329
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Método do cristal rotativo %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% A = [A1,A2,A3] direção cristalográfica do eixo rotativo. %
% TH = [thy,thz] matrix de rotação R=Rz(thz)Ry(thy), orienta eixo %
% rotativo A talque omega = 90-thy. %
% THd = [th1,th2], th1 elevação centro da área do detetor a partir %
% do plano yz, th2 azimute em torno eixo x (graus) %
% wl = comprimento de onda (A) ou energia (eV). %
% fname: arquivo *.in das coordenadas fracionárias, no caso de %
% cristais de proteínas ver rotina pdbcoordfrac.m. %
% Salva arquivo *.rcm das intensidades e coordenadas do pontos de %
% difração sobre a área do detetor. %
% %
% Exemplo: %
% rotcrystmethod(1.540562,’1TRZ.in’,[5 1 0],[60 30],[0 -30]) %
% rotcrystmethod(1.540562,’2LYZ.in’,[1 1 2],[60 30],[0 -20]) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
wl = 8000.68;
fname = ’dalanine.in’;
A = [1 2 0.001];
TH = [90+10.3405 -90];
THd = [0 20.6809];
rad = pi / 180;
D = 110; % distância amostra-detetor (mm)
Rd = 50; % raio do detetor (mm)
pix = Rd/1024; % tamanho do pixel (mm)
sg = 2*pix; % tamanho do ponto de difração, meia largura a 61% do máximo
osc = 180 * rad; % intervalor total da precessão: 2osc
if (wl<1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
invwl = 1/wl;
if (sum(abs(A))==0) disp(’ >>>> Eixo de rotação inválido!!!’); return;
else B=A; B(find(abs(B)==min(abs(B)),1))=50;
end;
cthD = cos(atan(Rd/D));
thD = THd(1)*rad;
phiD = THd(2)*rad;
sD = [sin(thD) -cos(thD)*sin(phiD) cos(thD)*cos(phiD)];
xD = D*[0 cos(phiD) sin(phiD)];
yD = D*[cos(thD) sin(thD)*sin(phiD) -sin(thD)*cos(phiD)];
c0 = fix(clock);
code = [num2str(c0(1)) num2str(c0(2)) num2str(c0(3)) num2str(c0(4)) num2str(c0(5)) num2str(c0(6))];
n = regexp(fname,’.in’);
if isempty(n) disp(’ >>>> Arquivo tipo desconhecido!!!’); return; end;
fidin = fopen(fname,’r’);
if (fidin==-1) disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’]); return; end;
fout = [fname(1:n-1) ’E’ num2str(round(E)) ’eV’ code ’.rcm’];
line = fgets(fidin);
P = sscanf(line,’%f’)’;
if (size(P,2)~=6) disp(’ >>>> Linha 1: a b c alpha beta gamma’); return; end;
n = 0;
line = fgets(fidin);
while (line~=-1)
n = n + 1;
w = find(line==’ ’); w = w(1);
atm(n,:) = ’ ’;
atm(n,1:w-1) = line(1:w-1);
if isempty(regexp(’abcdefghijklmnopqrstuvwxyz’,atm(n,2)))
atomsym(n,:)=[1 w-1];
else atomsym(n,:)=[2 w-1]; end;
Rat(n,:) = sscanf(line(w+1:size(line,2)),’%f’)’;
line = fgets(fidin);
end;
fclose(fidin);
Nat = n; Nc = 0; Ac = zeros(Nat,1); NA = find(Ac==0);
while ~isempty(NA)
n = NA(1);
Mc = find(atm(n,1)==atm(:,1) & atm(n,2)==atm(:,2) & atm(n,3)==atm(:,3) & atm(n,4)==atm(:,4));
Nc = Nc + 1;
Ac(Mc) = Nc;

330
NA = find(Ac==0);
acod(Nc,:) = atm(n,:);
asym(Nc,:) = atomsym(n,:);
end;
clear atm atomsym;
P(4:6) = P(4:6)*rad;
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
a1r = cross(a2,a3);
Vc = a1r*a1’;
a1r = a1r/Vc;
a2r = cross(a3,a1)/Vc;
a3r = cross(a1,a2)/Vc;
vecA = A(1)*a1 + A(2)*a2 + A(3)*a3;
vecB = B(1)*a1 + B(2)*a2 + B(3)*a3;
e3 = vecA/norm(vecA);
e2 = cross(vecA,vecB);
e2 = e2/norm(e2);
e1 = cross(e2,e3);
M = [e1; e2; e3]’;
thy = TH(1)*rad;
thz = TH(2)*rad;
Ry = [ cos(thy) 0 sin(thy); 0 1 0; -sin(thy) 0 cos(thy)];
Rz = [cos(thz) -sin(thz) 0; sin(thz) cos(thz) 0; 0 0 1];
wlR = wl*(Rz*Ry);
Rzphi = eye(3);
w0 = 0.5*pi - thy;
hmax = floor(2.0 / (wl * norm(a1r)));
kmax = floor(2.0 / (wl * norm(a2r)));
lmax = floor(2.0 / (wl * norm(a3r)));
H = [-hmax:hmax];
K = [-kmax:kmax];
L = [-lmax:lmax];
Lt = zeros(1,6);
m = 0;
for nh = 1:2*hmax+1
for nk = 1:2*kmax+1
for nl = 1:2*lmax+1
h = H(nh); k = K(nk); l = L(nl);
Q = h*a1r + k*a2r + l*a3r;
modQ = norm(Q);
sinth = 0.5*wl*modQ;
if (sinth <= 1 && sinth > 0)
Qe = Q*M;
cosalphaQ = Qe(3)/modQ;
sinalphaQ = sqrt(1-cosalphaQ^2);
x = Qe(1); y = Qe(2);
phiQ = atan2(y,x);
cw = cos(w0);
sw = sin(w0);
x = sinth+sw*cosalphaQ;
y = cw*sinalphaQ;
if (abs(x)<=abs(y))
phi = phiQ + [-1 1]*acos(-x/y);
phi = atan2(sin(phi),cos(phi));
cphi = cos(phi);
sphi = sin(phi);
veck = invwl*[cw*cphi’ cw*sphi’ sw*ones(2,1)];
kp = veck(1,:) + Qe;
thz = pi - phi(1); cthz = cos(thz); sthz = sin(thz);
Rzphi(1:2,:) = [cthz -sthz 0; sthz cthz 0];
kpxy = kp*(wlR*Rzphi)’;
ckpsD = kpxy*sD’;
if (ckpsD>cthD & abs(phi)<osc)
m = m + 1;
x = wl*kp(3);
g = cw*sqrt(1-x*x);

331
x = kp(1); y = kp(2);
g = g*abs(sin(atan2(y,x)-phi(1)));
g = 0.5*(1+kpxy(3)*kpxy(3))/g;
Lt(m,:) = [h k l g (1/ckpsD)*[kpxy*xD’ kpxy*yD’]];
end;
kp = veck(2,:) + Qe;
thz = pi - phi(2); cthz = cos(thz); sthz = sin(thz);
Rzphi(1:2,:) = [cthz -sthz 0; sthz cthz 0];
kpxy = kp*(wlR*Rzphi)’;
ckpsD = kpxy*sD’;
if (ckpsD>cthD & abs(phi)<osc)
m = m + 1;
x = wl*kp(3);
g = cw*sqrt(1-x*x);
x = kp(1); y = kp(2);
g = g*abs(sin(atan2(y,x)-phi(2)));
g = 0.5*(1+kpxy(3)*kpxy(3))/g;
Lt(m,:) = [h k l g (1/ckpsD)*[kpxy*xD’ kpxy*yD’]];
end;
end;
end;
end;
end;
end;
if (m==0) disp(’ >>>> Nenhuma reflexão disponível!!!’); return; end;
Nrefl = m;
X = sfactor(wl,fname,Lt(:,1:3));
Fhkl2 = X.*conj(X);
Phkl = Fhkl2.*Lt(:,4);
clear X;
X = Phkl;
Nmax = [];
while (sum(X)>0);
NN = find(X==max(X));
X(NN) = 0;
Nmax = [Nmax; NN];
end;
Nrefl = size(Nmax,1);
Lt = Lt(Nmax,:);
Fhkl2 = Fhkl2(Nmax);
Phkl = Phkl(Nmax);
clear Nmax X;
invF2max = max(Fhkl2);
if (invF2max>1e-8) invF2max = 100/invF2max; else disp(’ >>>> Somente reflexões proibidas!!!’); return; end;
c0=clock;
fidout = fopen(fout,’w’);
fprintf(fidout,’\nCristal: %s\n’,fname);
fprintf(fidout,’Data e hora: %d/%d/%d - %d:%d:%4.2f\n’,c0(3),c0(2),c0(1),c0(4),c0(5),c0(6));
fprintf(fidout,’Energia = %6.2f eV (%8.6f A)\n’,E,wl);
fprintf(fidout,’Eixo rotativo A = [%5.3f %5.3f %5.3f], orientação thy = %5.3f e thz = %5.3f\n’,A(1),A(2),A(3),TH(1),TH(2));
fprintf(fidout,’Área do detetor, raio Rd = %5.1f mm\n’,Rd);
fprintf(fidout,’Distância amostra-detetor, D = %5.1f mm\n’,D);
fprintf(fidout,’Elevação e azimute do detetor, thd = %5.3f e phid = %5.3f\n’,thD/rad,phiD/rad);
fprintf(fidout,’|----------------|--------------------|-----------------------------------|\n’);
fprintf(fidout,’| h k l | |Fhkl|^2 | Phkl X(mm) Y(mm) |\n’);
fprintf(fidout,’|----------------|--------------------|-----------------------------------|\n’);
m = 1;
while (Phkl(m)>1 && m < Nrefl)
fprintf(fidout,’| %3.0f %3.0f %3.0f | %5.3e(%5.1f%%) | %5.3e %10.3f %10.3f | %d\n’,...
Lt(m,1),Lt(m,2),Lt(m,3),Fhkl2(m),invF2max*Fhkl2(m),Phkl(m),Lt(m,5),Lt(m,6),m);
m = m + 1;
end;
fprintf(fidout,’|----------------|--------------------|-----------------------------------|\n’);
fclose(fidout);
Xf = Lt(:,5); Yf = Lt(:,6);
Nx = floor(Rd/pix); Ny = Nx;
Ld = (2*Nx+1)*pix;
Z = zeros(2*Nx+1);
for m=1:Nrefl
nx = fix(Xf(m)/pix)+Nx+1;
ny = fix(Yf(m)/pix)+Ny+1;

332
Z(ny,nx) = Z(ny,nx) + Phkl(m);
end;
Ng = floor(10*sg/pix);
Xg = (-Ng:Ng)*pix;
Xg = Xg.*Xg;
for nx=1:2*Ng+1
for ny=1:2*Ng+1
Xg2(ny,nx) = Xg(ny) + Xg(nx);
end;
end;
G = (1/(sg*sg*2*pi))*exp((-1/(2*sg*sg))*Xg2);
Zg = [zeros(2*Ny+1+2*Ng,Ng) [zeros(Ng,2*Nx+1); Z; zeros(Ng,2*Nx+1)] zeros(2*Ny+1+2*Ng,Ng)];
for nx=1:2*Nx+1
for ny=1:2*Ny+1
Z(ny,nx) = sum(sum(G.*Zg(ny:2*Ng+ny,nx:2*Ng+nx)));
end;
end;
thc = (1:360)*rad;
Xc = Rd * cos(thc);
Yc = Rd * sin(thc);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
imagesc(Ld*[-.5 .5],Ld*[-.5 .5],log10(Z+1))
hold on
plot(Xc,Yc,’k’,’LineWidth’,1)
plot([-5 5],[0 0],’r-’,[0 0],[-5 5],’r-’,’LineWidth’,2)
hold off
axis image
set(gca,’YDir’,’normal’,’FontName’,’Arial’,’FontSize’,18,’Box’,’on’,’LineWidth’,1)
Ni = 64; VFLIP = zeros(Ni,Ni);
for n = 1:Ni m = Ni - (n-1); VFLIP(n,m) = 1; end;
colormap(VFLIP*gray);
colorbar(’FontSize’,14,’Location’,’manual’,’Position’,[.84 .11 .05 .725],’LineWidth’,1)
ylabel(’Y (mm)’)
xlabel(’X (mm)’)
text(0,0,5000,’Log(I) (unid. arb.)’,’FontSize’,14,’Rotation’,90)

Rotina 80: rcdarwinprins.m


function M=rcdarwinprins(wl,fname,H,N,plt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Curva refletividade dinâmica %
% Reflexão H=[h k l] em cristais contendo N planos e área infinita %
% fname = arquivo *.in da estrutura do cristal, %
% ver rotina sfactor.m %
% wl = comprimento de onda (A) ou energia (eV) %
% plt = 1 abre janela gráfica %
% Retorna M = [X; R; R_; T]’; %
% | | | | %
% | | | coef. transmissão %
% | | coef. reflexão -H %
% | coef. reflexão H %
% theta (arcsec) %
% Se N=0, retorna Vcell (A^3) e d (A) %
% %
% exemplo: M=rcdarwinprins(10400,’GaAs.in’,[1 1 1],30,1); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rad = pi / 180;
re = 2.818e-5;
if (wl < 1000) E = 12398.5 / wl;
else E = wl; wl = 12398.5 / E;
end;
M=vcell(fname,H);
V = M(1);
d = M(2);
if (N==0) return; end;
sinthB = 0.5*wl/d;
if (sinthB>1) disp(’ Reflexão inacessível!!!’); return; end;
thB = asin(sinthB);

333
C = 1; % polarização sigma, C = abs(cos(2*thB)); polarização pi
Gamma = re*wl*d/(sinthB*V); %disp(Gamma)
F = sfactor(wl,fname,[H; -H; 0 0 0]);
if (F(1).*conj(F(1))<1) disp(’ Reflexão proibida ou muito fraca!!!’); return; end;
r = -i*Gamma*C*F(1);
r_ = -i*Gamma*C*F(2);
t = 1+i*Gamma*F(3);
% disp([r; r_; t])
thC = asin(0.5*(1+angle(t)/pi)*wl/d);
Dth = thC-thB;
Nd = d*N; % espessura do cristal
Dw = (2/3)*tan(thB)*sqrt(abs(r*r_)); % largura dinâmica
CurveWidth = wl / (2.0 * cos(thB) * Nd); % largura cinemática
if (CurveWidth<Dw) CurveWidth = Dw; end;
Range = 20 * CurveWidth;
if (Range<Dth) Range = 2*abs(Dth); end;
dth = CurveWidth / 100;
TH = thC + [-Range:dth:Range];
TH=TH(find(TH>0 & TH<0.5*pi));
expPHI = exp((-2*pi*d*i/wl)*sin(TH));
R1 = r*expPHI;
R1_ = r_*expPHI;
T1 = t*expPHI;
bin=dec2bin(N);
Nn = size(bin,2)-find(bin==’1’);
RT = coef(R1,R1_,T1,Nn(1));
R = RT(1,:);
R_ = RT(2,:);
T = RT(3,:);
for nn=2:size(Nn,2)
RT = coef(R1,R1_,T1,Nn(nn));
RB = RT(1,:);
RB_ = RT(2,:);
TB = RT(3,:);
Z = 1./(1 - R_ .* RB);
R = R + RB .* T .* T .* Z;
R_ = RB_ + R_ .* TB .* TB .*Z;
T = T .* TB .* Z;
end;
X = (TH-thB)*(3600/rad);
M = [X; R; R_; T].’;
if (plt==1)
Y = R.*conj(R);
Ymax = max(Y);
n2 = find(X==min(X(find(Y>0.5*Ymax)))); n1 = n2-1;
if (n1>0) x1 = (X(n2)-X(n1))*(0.5*Ymax-Y(n1))/(Y(n2)-Y(n1))+X(n1);
else x1 = 0;
end;
n1 = find(X==max(X(find(Y>0.5*Ymax)))); n2 = n1+1;
if (n2<size(X,2)+1) x2 = (X(n2)-X(n1))*(0.5*Ymax-Y(n1))/(Y(n2)-Y(n1))+X(n1);
else x2 = 0;
end;
Yb = R_.*conj(R_);
Ybmax = max(Yb);
if (Ybmax>Ymax) ratio = Ybmax/Ymax; Ymax = Ybmax;
else ratio = Ymax/Ybmax;
end;
Xmax = max(X);
Xmin = min(X);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(X,Y,’-k’,X,Yb,’--k’,’LineWidth’,2)
hold on
plot([0 0],[0 1.05*Ymax],’--k’,’LineWidth’,.5)
hold off
axis([Xmin Xmax 0 1.05*Ymax])
set(gca,’FontSize’,18,’Color’,[0.7 0.78 1],’LineWidth’,1)
xlabel(’\Delta\theta (arcsec)’,’FontSize’,18)
ylabel(’refletividade, |R_N(\theta)|^2’,’FontSize’,18)
title([fname ’, E = ’ num2str(E) ’eV’],’FontSize’,18)

334
reflH = [’ (’ num2str(H(1)) ’,’ num2str(H(2)) ’,’ num2str(H(3)) ’)’];
reflHb = [’ (’ num2str(-H(1)) ’,’ num2str(-H(2)) ’,’ num2str(-H(3)) ’)’];
legend(reflH,reflHb);
fprintf(’ Espessura total (%d planos) = %4.2e um\n’,N,Nd/10000)
fprintf(’ Largura dinâmica = %5.3f", FWHM = %5.3f" (%4.2f urad)\n’,...
Dw*3600/rad,abs(x2-x1),abs(x2-x1)*(rad*1e+6/3600))
fprintf(’ Deslocamento do pico = %5.3f"\n’,Dth*3600/rad)
fprintf(’ Razão das refletividades = %8.6f\n’,ratio)
fprintf(’ Sinal anômalo = %5.2f%% (%5.2f%%)\n’,...
100*(ratio-1)/(ratio+1),100*(F(1)*conj(F(1))-F(2)*conj(F(2)))/(F(1)*conj(F(1))+F(2)*conj(F(2))))
end;

function V=vcell(fname,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% fname = arquivo *.in %
% lê 1a. linha: a b c alpha beta gamma %
% H = [h k l] %
% Retorna volume célula unitária e dhkl %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n = regexp(fname,’.in’);
if isempty(n)
disp(’Arquivo tipo desconhecido!!!’)
return;
end;
fidin = fopen(fname,’r’);
if (fidin==-1)
disp([’ >>>> Arquivo ’ fname ’ não encontrado!!!’])
return;
end;
line = fgets(fidin);
P = sscanf(line,’%f’)’;
if (size(P,2)~=6)
disp(’ >>>> Linha 1: a b c alpha beta gamma’);
return;
end;
fclose(fidin);
P(4:6) = P(4:6)*(pi/180);
cosphi = cos(P(6)) - cos(P(5))*cos(P(4));
cosphi = cosphi / (sin(P(5))*sin(P(4)));
sinphi = sqrt(1-cosphi*cosphi);
a1 = P(1) * [sin(P(5)) 0 cos(P(5))];
a2 = P(2) * [sin(P(4))*cosphi sin(P(4))*sinphi cos(P(4))];
a3 = P(3) * [0 0 1];
a1r = cross(a2,a3);
Vc = a1r*a1’;
a1r = a1r/Vc;
a2r = cross(a3,a1)/Vc;
a3r = cross(a1,a2)/Vc;
q = H(1)*a1r + H(2)*a2r + H(3)*a3r;
V = [Vc 1/sqrt(q*q’)];

function RT=coef(R,R_,T,m)
n=0;
while (n<m)
n = n + 1;
T = (T.*T)./(1 - R.*R_);
aux = 1 + T;
R = R.*aux;
R_ = R_.*aux;
end;
RT = [R; R_; T];

Rotina 81: rcdarwinplot.m


function rcdarwinplot
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compara curva de refletividade para 3 cristais com %
% diferentes números de N planos (espessura N*d) %

335
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
E = 10000; % energia (eV)
fname = ’Ge.in’; % cristal
H = [2 2 0]; % reflexão índices
Nn = [12 13 22]; % números de planos: N = 2^Nn
M1=rcdarwinprins(E,fname,H,2^Nn(1),0);
M2=rcdarwinprins(E,fname,H,2^Nn(2),0);
M3=rcdarwinprins(E,fname,H,2^Nn(3),0);
Y1 = M1(:,2).*conj(M1(:,2));
Y2 = M2(:,2).*conj(M2(:,2));
Y3 = M3(:,2).*conj(M3(:,2));
n = find(Y1==max(Y1));
Xmin = 0.2*min(M3(:,1));
Xmax = -Xmin + 2*M1(n,1);
Ymax = max(Y3);
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(M1(:,1),Y1,’-r’,’LineWidth’,2)
hold on
plot(M2(:,1),Y2,’-b’,’LineWidth’,2)
plot(M3(:,1),Y3,’-k’,’LineWidth’,2)
hold off
axis([Xmin Xmax 0 1])
set(gca,’FontSize’,18,’Color’,[0.97 0.97 .97],’LineWidth’,1)
xlabel(’\Delta\theta (arcsec)’,’FontSize’,18)
ylabel(’refletividade, |R_N(\theta)|^2’,’FontSize’,18)
title([fname ’, E = ’ num2str(E) ’eV, H = (’ num2str(H(1)) ’,’ num2str(H(2)) ’,’ num2str(H(3)) ’)’],’FontSize’,18)
legend([’N = ’ num2str(2^Nn(1))],[’N = ’ num2str(2^Nn(2))],[’N = ’ num2str(2^Nn(3))])

Rotina 82: exsinalanomalo.m


function exsinalanomalo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Curvas refletividade abaixo e acima da borda do Ga (@ 10360eV) %
% para cristal fino com N = 4096 planos (figura 1) e %
% espesso com N > 1e+9 (figura 2) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
S=rcdarwinprins(10300,’GaAs.in’,[1 1 7],4096,0).’;
X1=S(1,:);
N = find(X1>-180 & X1<180);
X1=X1(N);
Y1=S(2,N).*conj(S(2,N));
Y1b=S(3,N).*conj(S(3,N));
S=rcdarwinprins(10400,’GaAs.in’,[1 1 7],4096,0).’;
X2=S(1,:);
N = find(X2>-180 & X2<180);
X2=X2(N);
Y2=S(2,N).*conj(S(2,N));
Y2b=S(3,N).*conj(S(3,N));
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
area(X1-180,Y1,’EdgeColor’,’k’,’FaceColor’,’w’,’LineWidth’,2)
hold on
area(X1-180,Y1b,’EdgeColor’,’b’,’FaceColor’,[.04 .52 .78],’LineWidth’,2)
area(X2+180,Y2,’EdgeColor’,’k’,’FaceColor’,’w’,’LineWidth’,2)
area(X2+180,Y2b,’EdgeColor’,’b’,’FaceColor’,[.04 .52 .78],’LineWidth’,2)
hold off
axis([-360 400 0 3e-3])
set(gca,’FontName’,’Arial’,’FontSize’,18,’Color’,[.97 .97 .97],’LineWidth’,1)
xlabel(’\Delta\theta’,’FontSize’,24)
ylabel(’refletividade, |R_N(\theta)|^2’,’FontSize’,18)
legend(’ ( 1, 1, 7)’,’ (-1,-1,-7)’)

S=rcdarwinprins(10300,’GaAs.in’,[1 1 7],2^30,0)’;
X1=S(1,:);
N = find(X1>-1 & X1<8);
X1=X1(N);
Y1=S(2,N).*conj(S(2,N));

336
Y1b=S(3,N).*conj(S(3,N));
S=rcdarwinprins(10400,’GaAs.in’,[1 1 7],2^30,0)’;
X2=S(1,:);
N = find(X2>-1 & X2<8);
X2=X2(N);
Y2=S(2,N).*conj(S(2,N));
Y2b=S(3,N).*conj(S(3,N));
hf2=figure(2);
clf
set(hf2,’InvertHardcopy’, ’off’,’Color’,’w’)
area(X1-3,Y1,’EdgeColor’,’k’,’FaceColor’,’w’,’LineWidth’,2)
hold on
area(X1-3,Y1b,’EdgeColor’,’b’,’FaceColor’,[.04 .52 .78],’LineWidth’,2)
area(X2+3,Y2,’EdgeColor’,’k’,’FaceColor’,’w’,’LineWidth’,2)
area(X2+3,Y2b,’EdgeColor’,’b’,’FaceColor’,[.04 .52 .78],’LineWidth’,2)
hold off
axis([-4 11 0 1])
set(gca,’FontName’,’Arial’,’FontSize’,18,’Color’,[.97 .97 .97],’LineWidth’,1)
xlabel(’\Delta\theta’,’FontSize’,24)
ylabel(’refletividade, |R_N(\theta)|^2’,’FontSize’,18)
legend(’ ( 1, 1, 7)’,’ (-1,-1,-7)’)

Rotina 83: rcdarwinswaves.m


function rcdarwinswaves(wl,fname,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Variação da fase dinâmica em função da curva de refletividade %
% wl = comprimento de onda (A) ou energia (eV) %
% fname = ’file.in’ arquivo coord. frac. %
% H = [h k l] indices da reflexão %
% %
% Exemplo: rcdarwinswaves(8000,’Si.in’,[1 1 1]) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
deg = 180/pi;
if (wl < 1000) E = 12398.5 / wl;
else E = wl; wl = 12398.5 / E;
end;
F = sfactor(E,fname,H);
if (F.*conj(F)<1)
disp(’ Reflexão proibida ou muito fraca!!!’);
return;
end;
S=rcdarwinprins(E,fname,H,2^30,0).’;
X=S(1,:);
Y = S(2,:).*conj(S(2,:));
xc = sum(X.*Y)/sum(Y);
range = sum(abs(X-xc).*Y)/sum(Y);
Xmin = xc-3*range;
Xmax = xc+3*range;
Yr = real(S(2,:));
Yi = imag(S(2,:));
W = atan2(Yi,Yr)*deg;
F = sfactor(E,fname,H);
Fr = real(F);
Fi = imag(F);
phi = atan2(Fi,Fr)*deg;
if (W(1)<0) N = find(W<0); W(N) = W(N) + 360; end;
W = W-phi;
N = find(W<-90); W(N) = W(N) + 360;
Wmin = min(W);
if (Wmin>0) Wmin = 0; end;
Wmax = max(W);
Ymax = max(Y);
if (Ymax>0.5) Ymax = 1;
else Ymax = 1.02*Ymax;
end;
if (Wmax<180) Wmax = 180; end;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)

337
plot(X,Y*(Wmax/Ymax),’-k’,X,W,’-r’,’LineWidth’,2)
axis([Xmin Xmax Wmin Wmax])
set(gca,’FontSize’,18,’Color’,[.7 .78 1],’LineWidth’,1)
xlabel(’\Delta\theta (arcsec)’,’FontSize’,18)
ylabel(’\Omega(\theta) (graus)’,’FontSize’,18)
legend(’ refletividade’,’ fase dinâmica’)

Rotina 84: rcdarwinIdynIkin.m


function Z=rcdarwinIdynIkin(wl,fname,H)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Intensidade integrada da curva de refletividade dinâmica %
% wl = comprimento de onda (A) ou energia (eV) %
% fname = ’file.in’ arquivo coord. frac. %
% H = [h k l] indices da reflexão %
% %
% Exemplo: rcdarwinIdynIkin(10000,’GaAs.in’,[1 1 1]) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (wl < 1000) E = 12398.5 / wl; else E = wl; wl = 12398.5 / E; end;
M = rcdarwinprins(E,fname,H,0,0);
V = M(1);
d = M(2);
if (V>1000) N = [1 2]*2^8; else N = [1 2]*2^7; end;
S=rcdarwinprins(E,fname,H,N(1),0).’;
Idyn(1) = sum(S(2,:).*conj(S(2,:)))*(S(1,2)-S(1,1));
S=rcdarwinprins(E,fname,H,N(2),0).’;
Idyn(2) = sum(S(2,:).*conj(S(2,:)))*(S(1,2)-S(1,1));
alpha = (Idyn(2)-Idyn(1))/(N(2)-N(1));
Sd=rcdarwinprins(E,fname,H,2^30,0).’;
maxIdyn = sum(Sd(2,:).*conj(Sd(2,:)))*(Sd(1,2)-Sd(1,1));
Nkin = maxIdyn/alpha;
dN = Nkin/12;
N = [N (1:1:48)*dN];
m = size(N,2);
dN = Nkin/2;
N = [N N(size(N,2))+(1:1:12)*dN];
for n=3:size(N,2)
S=rcdarwinprins(E,fname,H,N(n),0).’;
Idyn(n) = sum(S(2,:).*conj(S(2,:)))*(S(1,2)-S(1,1));
end;
Idyn = Idyn*(100/maxIdyn);
X = N*(d/10000);
alpha = (Idyn(2)-Idyn(1))/(X(2)-X(1));
Ikin = alpha*X;
Nk = find(Ikin<120);
DI = 100*(Ikin-Idyn)./Idyn;
n = min(find(DI>10));
if (n>1)
Xc = ((X(n)-X(n-1))/(DI(n)-DI(n-1)))*(10-DI(n-1)) + X(n-1);
else Xc = d*Nkin/20000;
end;
Z = [X; Idyn]’;
hf1=figure(1);
clf
set(hf1,’InvertHardcopy’, ’off’,’Color’,’w’)
plot(X,Idyn,’-bo’,X(Nk),Ikin(Nk),’k’,[Xc Xc],[0 alpha*Xc],’--k’,’LineWidth’,2)
axis([0 max(X) 0 120])
set(gca,’FontSize’,18,’Color’,[.97 .97 .97],’LineWidth’,1)
xlabel(’espessura (\mum)’)
ylabel(’refletividade integrada (%)’)
legend(’ dinâmico’,’ cinemático’)
fprintf(’ Desvio 10%% em %6.3fum\n’, Xc)
text(Xc,10,[’ \leftarrow ’ num2str(round(Xc*100)/100) ’\mum’],’FontSize’,18)
ha2=axes(’Position’,[.47 .25 .4 .40]);
X=Sd(1,:);
Y = Sd(2,:).*conj(Sd(2,:));
xc = sum(X.*Y)/sum(Y);
range = sum(abs(X-xc).*Y)/sum(Y);
Xmin = xc-3*range;
Xmax = xc+3*range;

338
plot(X,Y,’-b’,’LineWidth’,2)
axis([Xmin Xmax 0 1.02*max(Y)])
set(ha2,’FontSize’,16,’Color’,[1 1 1],’FontName’,’Arial’,’LineWidth’,1)
xlabel(’\Delta\theta (arcsec)’,’FontSize’,16)
ylabel(’refletividade, N \rightarrow \infty’,’FontSize’,16)
nlabel=fname(1:find(fname==’.’)-1);
rlabel=[’(’ num2str(H(1)) ’,’ num2str(H(2)) ’,’ num2str(H(3)) ’)’];
text(xc+0.7*range,0.75*max(Y),nlabel,’FontSize’,36,’Color’,[0.86 0.86 0.86],’FontWeight’,’bold’)
text(xc+0.6*range,0.55*max(Y),rlabel,’FontSize’,36,’Color’,[0.86 0.86 0.86],’FontWeight’,’bold’)

Rotina 85: LaMnO3coordfrac.m


function LaMnO3coorfrac(etaLa,etaMn,etaO1,etaO2,fname,p)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gera arquivo *.in para a rotina sfactor.m para %
% os valores dados da raiz do desvio quadrático %
% médio (rms) dos átomos La, Mn e O. %
% %
% etaLa, etaMn, etaO1, etaO2: rms (em A) dos %
% átomos La, Mn e O (4c & 8d) %
% se p = 1, gera arquivo fname.in %
% se p ~= 1, mostra coordenadas na tela %
% %
% Dados cristalográficos do LaMnO3: %
% Fórmulas por célula unitária: 4 x (LaMnO3) %
% Parâmetros: a = 5.53649; %
% b = 5.74713; %
% c = 7.69259; %
% alpha = beta = gamma = 90.000 %
% Grupo espacial: ’P b n m’ (# 62) %
% Sítios atômicos: %
% La 0.99232 0.04908 0.2500 1.0 4 c %
% Mn 0.0000 0.50000 0.0000 1.0 4 b %
% O 0.0743 0.4873 0.2500 1.0 4 c %
% O 0.72563 0.30660 0.03842 1.0 8 d %
% %
% COD ID: 1100167 %
% http://www.crystallography.net/ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
etaLa = etaLa*etaLa; etaMn = etaMn*etaMn;
etaO1 = etaO1*etaO1; etaO2 = etaO2*etaO2;
a = 5.53649; b = 5.74713; c = 7.69259;
alpha=90.0; beta=90.0; gamma=90.0;
% 4 átomos La
x=0.99232; y=0.04908; z=0.2500;
Rf(1:4,:) = [ x,y,z;
-x+1/2,y+1/2,z;
-x,-y,z+1/2;
x+1/2,-y+1/2,z+1/2];
% 4 átomos Mn
Rf(5:8,:) = [0 1/2 0;
1/2 0 0;
0 1/2 1/2;
1/2 0 1/2];
% 4 átomos O
x=0.0743; y=0.4873; z=0.2500;
Rf(9:12,:) = [ x,y,z;
-x+1/2,y+1/2,z;
-x,-y,z+1/2;
x+1/2,-y+1/2,z+1/2];

% 8 átomos O
x=0.72563; y=0.3066; z=0.03842;
Rf(13:20,:) = [ x,y,z;
x+1/2,-y+1/2,-z;
-x+1/2,y+1/2,-z+1/2;
-x,-y,z+1/2;
-x,-y,-z;
-x+1/2,y+1/2,z;

339
x+1/2,-y+1/2,z+1/2;
x,y,-z+1/2];
Nat = size(Rf,1);
N = find(Rf>1);
Rf(N) = Rf(N) - 1;
N = find(Rf<0);
Rf(N) = Rf(N) + 1;
OcupFactor = ones(Nat,1);
Bfactor = (8*pi*pi)*[etaLa*ones(4,1); etaMn*ones(4,1); etaO1*ones(4,1); etaO2*ones(8,1)];
if (p == 1) fid = fopen([fname ’.in’], ’w’);
else fid = 1; fprintf(’\n’);
end;
fprintf(fid,’%6.4f %6.4f %6.4f %7.4f %7.4f %7.4f\n’,a,b,c,alpha,beta,gamma);
for m=1:4
fprintf(fid,’La %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=5:8
fprintf(fid,’Mn %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=9:12
fprintf(fid,’O %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
for m=13:20
fprintf(fid,’O %6.4f %6.4f %6.4f %4.2f %6.3f\n’,Rf(m,1),Rf(m,2),Rf(m,3),OcupFactor(m,1),Bfactor(m,1));
end;
if (p == 1) fclose(fid);
else fprintf(’\n’);
end;

340
Apêndice B

Radiação de dipolo elétrico por 1 elétron

Das equações de Maxwell, os campos elétrico e magnético,

E ⃗ × r̂
⃗ = cB ⃗ =∇×A
e B ⃗, (B.1)

da radiação gerada por uma densidade de corrente J⃗ qualquer são descritos a partir do potencial
vetor ∫ ⃗ ′ ′ ∫
1 J(⃗r , t ) ′ 1 ⃗ r ′ , t ′ )dV ′ .

A(⃗r, t) = dV ≃ J(⃗ (B.2)
4πϵ c2 |⃗r − ⃗r ′ | 4πϵ c2 r
A simplificação |⃗r − ⃗r ′ | ≃ r é válida para fontes localizadas, ou muito distantes, em relação ao
ponto ⃗r = rr̂ de observação da radiação no instante t = t ′ + r/c. No caso de um único elétron
oscilando com velocidade ⃗v em torno da origem, a integral acima se reduz a

⃗ r ′ , t ′ )dV ′ = −e⃗v (t ′ ) .
J(⃗ (B.3)

Definindo ẑ com a direção de oscilação do elétron, i.e. ⃗v = vẑ,

−ev(t ′ )
Ax (⃗r, t) = 0, Ay (⃗r, t) = 0, Az (⃗r, t) = e
4πϵ c2 r

B ⃗ = x̂ ∂Az − ŷ ∂Az .
⃗ =∇×A (B.4)
∂y ∂x
As derivadas parciais são obtidas como segue
[ ( ) ] [ ]
∂Az −e ∂ 1 1 ∂v −e v ∂r 1 ∂v ∂t ′
= v + = − 2 + (B.5)
∂x 4πϵ c2 ∂x r r ∂x 4πϵ c2 r ∂x r ∂t ′ ∂x

onde
( √ )
∂r ∂ (√ 2 ) x ∂t ′ ∂ x2 + y 2 + z 2 1x
= x + y2 + z2 = e = t− =− . (B.6)
∂x ∂x r ∂x ∂x c cr

Portanto,
[ ]
∂Az −e vx x v̇ e v̇ x ∂Az e v̇ y
= 2
− 3 − 2 ≃ e ≃ , (B.7)
∂x 4πϵ c r cr 4πϵ c3 r2 ∂y 4πϵ c3 r2

341
sendo a derivada em y obtida por dedução análoga. Substituíndo as eqs. (B.7) nas eqs. (B.1),

⃗ = e v̇ yx̂ − xŷ −e v̇ ẑ × r̂
B 3 2
= e (B.8)
4πϵ c r 4πϵ c3 r

⃗ × r̂ =
⃗ = cB e v̇ r̂ × ẑ × r̂
E . (B.9)
4πϵ c2 r
Em termo gerais, representando a direção de oscilação do elétron por ε̂ e a direção de obserção
da radiação por ŝ ′ , chega-se a
′ ′
⃗ r, t) = ŝ ′ × ε̂ × ŝ ′ e v̇(t ) = P(ŝ
E(⃗ ⃗ ′ ) e v̇(t ) (B.10)
4πϵ r c2 4πϵ r c2
⃗ ′ ) = ŝ ′ × ε̂ × ŝ ′ é o fator de polarização vetorial introduzido na § 1.1, eq. (1.5). O
onde P(ŝ
outro termo da eq. (B.10) é o campo de radiação dado na eq. (1.8), com R e z̈ no lugar de r e
v̇, respectivamente.

342

Você também pode gostar