Documente Academic
Documente Profesional
Documente Cultură
Simulação de um espectrómetro
XRF planar
Aluno: Orientador:
João Fonseca Prof.Pedro Amaro
27 de Fevereiro de 2018
.
Conteúdo
1 Introdução 2
2 Tarefas 2
2.1 Tarefas Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Tarefas Individuais . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Implementação de um módulo de amostra . . . . . . . 4
2.2.2 Analise de seis elementos puros . . . . . . . . . . . . . 8
3 Conclusão 11
1
1 Introdução
Este estágio tem como objetivo simular um espectrómetro de fluorescência
de raios X.
Para a construção da simulação, isto é, simular computacionalmente os
fenómenos físicos inerentes ao aparelho, recorreu-se ao software Geant 4 [1]
que através das suas bibliotecas em c++ permitiu construir todos os fenó-
menos físicos e geometrias do espectrómetro, detetor e amostras. Quanto à
análise de dados foi utilizado como ferramenta o programa ROOT [2], que
permitiu obter os espetros caraterísticos dos elementos devido á transição
dos eletrões entre os níveis atómicos de energia.
Este estágio abriu algumas portas quer para o mundo da física experi-
mental, quer para o mundo da física computacional. Física experimental
pela necessidade de compreender os conceitos básicos da espetroscopia de
fluorescência de raios X e física computacional a partir da aprendizagem do
programa de simulação Geant 4 [1] (com decurso de todo o estágio), que
depois de consolidados alguns conhecimentos em c++, permitiu a simulação
do exemplo B1 fornecido pelo Geant 4 [1] e posteriormente a construção das
geometrias do tubo de raios X, amostra e detetor. Consequentemente e com
auxílio do programa ROOT [2] conseguiu-se obter os histogramas típicos da
fluorescência de raios X. O programa GIT [3] também foi uma ferramenta ful-
cral permitindo a coordenação das diferentes versões de código pertencentes
aos elementos dos grupo.
No decorrer dos trabalhos, o grupo juntamente com o professor responsá-
vel optou por separar o volume de trabalho em dois, sendo que parte seria rea-
lizada pelos diferentes membros em conjunto e outra parte seria sub-dividida
e atribuída como trabalho individual para cada um dos membros do grupo
apesar da cooperação entre membros nas tarefas individuais.
2 Tarefas
2.1 Tarefas Gerais
Nesta secção farei uma breve descrição dos trabalhos realizados em con-
junto durante as semanas.
• Semana 1:
Iniciou-se o trabalho com os básicos, isto é :
2
– Aprendizagem da linguagem de programação c++, sendo que grande
parte da informação proveio da plataforma online SoloLearn.
– Aprendizagem dos conceitos básicos do programa Geant 4 [1], a
maior parte dos conteúdos proveio do documento Book For Appli-
cation Developers. Encontram-se no livro as informações necessá-
rias para correr o exemplo B1 e compreender melhor as classes e
os respetivos métodos necessários para utilizar o programa.
– Aprendizagem introdutória do programa ROOT [2] através do li-
vro A ROOT Guide For Beginners.
– Simulação do exemplo B1.
3
• Semana 2:
• Semana 3:
• Semana 4:
4
II Ficheiros
Os ficheiros a tratar apresentam a seguinte forma :
• struct Info
Variáveis :
– G4double thickness: Espessura da camada.
– G4String matFileName: Nome do ficheiro que contém a
composição da camada.
– G4String matFilePath: Path para o ficheiro da composi-
ção.
• struct Amostra
Variáveis:
– G4Material* material : Objecto do tipo G4Material.
– G4double densidade: Densidade da camada.
5
– G4int numeroElementos: Número de elementos presentes
na camada.
• G4int getNumeroDeAmostras():
Retorna o número de amostras.
• G4double getThickness(int numeroDaAmostra):
Retorna a espessura da amostra retornando o vetor infoA-
mostras[numeroDaAmostra].matFileName;
• G4String getMatFileName(int numeroDaAmostra):
Retorna o nome do ficheiro com os materiais de forma análoga
ao método anterior.
• G4String getMatFilePath(int numeroDaAmostra) :
Retorna o path do ficheiro de materiais.
• G4Material* GetMaterial(int numeroDoMaterial):
Retorna o G4Material.
• void abreAmostras(G4String nomeDoFicheiro):
Função que recebe como parâmetro um ficheiro, especifica-
mente o ficheiro onde estão as informações a passar para a
struct Info.
• void criaMateriais():
É criado um novo material associado a cada camada da amos-
tra.
6
IV Métodos e variáveis da classe XRFDetectorConstruction
Na classe XRFDetectorConstruction foi criada uma estrutura
privada :
• struct World
Variáveis :
• G4Material* worldMaterial ;
• G4Box* solidWorld ;
• G4LogicalVolume* logicWorld ;
• G4VPhysicalVolume* physWorld ;
Os métodos criados foram :
• void criaWorld(G4NistManager* nist);
Cria o primeiro mundo.
• void criaPosicoes(XRFMaterials obj);
Função que cria as posições das amostras.
• void criaGeometriaAmostras(XRFMaterials obj,G4LogicalVolume*
logicWorld);
Função que cria a geometria das amostras.
V Conclusão
Feitas estas alterações, é apenas necessário alterar no topo da
página do header file XRFMaterials.h a constante NUMERODE-
AMOSTRAS para o numero de amostras que se pretende e inserir
como parâmetro da função void abreAmostras(G4String nomeDo-
Ficheiro) o nome do ficheiro que contém a(s) espessura(s) da(s)
camada(s).
7
2.2.2 Analise de seis elementos puros
I Introdução
Na fluorescência de raios X gerados por uma fonte, estes irradiam em
direção a uma amostra. Neste caso, a fonte é um tubo de raio X.
Os elementos presentes na amostra vão emitir radiação X fluorescente,
com energias discretas características de cada elemento. Através da medição
das energias emitidas pela amostra é possível determinar que elementos estão
presentes.
O modelo clássico do átomo prevê um núcleo positivamente carregado
com protões e partículas sem carga, os neutrões, rodeados por eletrões agru-
pados em orbitais discretas. As energias dos eletrões dependem da órbita
que ocupam e do elemento a que pertencem. Quando um átomo é bombar-
deado por partículas como os fotões da radiação X, se a energia for suficiente
é possível expelir um eletrão do átomo. A orbital fica com uma lacuna e o
átomo, de modo a restaurar a configuração original, substitui a lacuna por
um eletrão de uma camada exterior.
Os raios X emitidos pela amostra dependem da diferença de energia entre
a lacuna e a orbital do eletrão que a preenche. Cada elemento possui níveis de
energia característicos, porém os espetros obtidos diferem de elemento para
elemento, pretendendo-se assim verificar se as diferenças nos picos e fundo
dependem de Z ou da densidade.
8
Figura 3: Absorção versus energia
9
III Analise de seis elementos puros
Através do programa Geant 4 [1], foram simuladas seis amostras de ele-
mentos puros para o mesmo perfil de tubo. Confirma-se que elementos mais
leves como o alumínio e o magnésio possuem um fundo maior e é difícil de-
tetar os picos de fluorescência. Todavia, os elementos mais pesados possuem
espetros mais bem definidos, com menor fundo e picos caraterísticos fáceis
de observar.
10
3 Conclusão
Os objetivos delineados foram alcançados. A simulação encontra-se fun-
cional, produzindo espectros que traduzem corretamente os modelos físicos
e geometrias presentes. São realizados histogramas que revelam valores pró-
ximos dos valores tabelados.
Foi possível consolidar vários conceitos, como a linguagem de progra-
mação c++ e a espetroscopia de fluorescência de raio X. Esta simulação
permite planear previamente os resultados de experiências, facilitando o pla-
neamento das mesmas. A aprendizagem dos programas ROOT [2] e Geant 4
[1] mostrou-se desafiante na medida em que se inseria numa área pouco tra-
balhada ao longo do percurso académico até ao momento. Os conhecimentos
adquiridos na área da Física Computacional são indubitavelmente uma mais
valia nos dias de hoje.
11
Referências
[1] Geant4.web.cern.ch. (2018). Geant4 Book For Ap-
plication Developers — Book For Application De-
velopers 10.4 documentation. [online] Available at:
http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/
12