Você está na página 1de 107

UNIVERSIDADE ESTADUAL DE SANTA CRUZ – UESC

ERIK DE SOUZA LAGO

MODELAGEM COMPUTACIONAL MULTIFÍSICA DE REATORES NUCLEARES


DE PEQUENO PORTE ATRAVÉS DO ACOPLAMENTO DOS CÓDIGOS SERPENT
E FLUENT

ILHÉUS – BAHIA
2023
1
ERIK DE SOUZA LAGO

MODELAGEM COMPUTACIONAL MULTIFÍSICA DE REATORES NUCLEARES


DE PEQUENO PORTE ATRAVÉS DO ACOPLAMENTO DOS CÓDIGOS SERPENT
E FLUENT

Dissertação apresentada ao programa de pós-graduação


em Modelagem Computacional em Ciência e Tecnologia
para obtenção do título de Mestre em Modelagem
Computacional em Ciência e Tecnologia.
Área de concentração: Modelagem Computacional
Orientador: Prof. Dr. Dany Sanchez Dominguez
Co-orientador: Prof. Dr. Leorlen Yunier Rojas Mazaíra

ILHÉUS – BAHIA
2023

2
ERIK DE SOUZA LAGO

MODELAGEM COMPUTACIONAL MULTIFÍSICA DE REATORES NUCLEARES


DE PEQUENO PORTE ATRAVÉS DO ACOPLAMENTO DOS CÓDIGOS SERPENT
E FLUENT

Dissertação de mestrado apresentada à Universidade


Estadual de Santa Cruz para obtenção do título de
Mestre em Modelagem Computacional em Ciência
e Tecnologia.

Ilhéus, 27 de março de 2023.

Prof. Dr. Dany Sanchez Dominguez


UESC
(Orientador)

Prof. Dr. Francisco Bruno Souza Oliveira


UESC

Prof. Dr. Hermes Alves Filho


UERJ

3
Resumo da tese apresentada à PPGMC/UESC como parte dos requisitos
necessários para a obtenção do grau de Mestre em Modelagem Computacional em
Ciência e Tecnologia.

MODELAGEM COMPUTACIONAL MULTIFÍSICA DE REATORES NUCLEARES DE


PEQUENO PORTE ATRAVÉS DO ACOPLAMENTO DOS CÓDIGOS SERPENT E
FLUENT

Erik de Souza Lago

Março/2023

Orientadores: Dany Sanchez Dominguez


Leorlen Yunier Rojas Mazaíra
Programa: Modelagem Computacional em Ciência e Tecnologia

O estudo da energia nuclear utilizando códigos computacionais vêm sendo


amplamente explorado por pesquisadores de engenharia nuclear através de diversos
cálculos ao longo dos anos, em destaque para os cálculos neutrônicos e termo-
hidráulicos. O IAEA (International Atomic Energy Agency) possui o objetivo de
assegurar que os estudos desenvolvidos em energia nuclear não são de ordem militar,
mas relacionadas a atividades que buscam o desenvolvimento e avanço da energia
na forma de cooperação tecnológica. A necessidade de projetar um modelo de reator
que produzisse uma grande quantidade de energia com menor custo por MWh
evidenciou a importância dos reatores SMR (Small Modular Reactor). O presente
trabalho visa realizar um estudo relacionado ao acoplamento de dois códigos
computacionais, SERPENT e ANSYS FLUENT, utilizando como modelo um reator
SMR PWR Integral (Pressurized Water Reactor) da empresa B&W Generation,
denominado mPower, estudado primordialmente nos Estados Unidos. Foi realizado a
modelagem da geometria de um pin do reator mPower e submetido a análises
neutrônicas (código SERPENT) e termo-hidráulicas (código FLUENT), construindo um
algoritmo de acoplamento entre as duas ferramentas de simulação para automatizar
o processo de obtenção de condições operacionais no funcionamento efetivo do

4
reator. A simulação multífisica, considerando a interação entre os fenômenos
neutrônicos e térmicos, oferece uma visão aprimorada da operação do reator.

5
Abstract thesis presented to PPGMC/UESC as part of the modeling requirements for
obtaining the degree of Computational Master in Science and Technology.

MULTIPHYSICAL COMPUTER MODELING OF SMALL NUCLEAR REACTORS BY


COUPLING OF SERPENT AND FLUENT CODES

Erik de Souza Lago

March/2023

Advisors: Dany Sanchez Dominguez


Leorlen Yunier Rojas Mazaíra
Program: Computational Modeling in Science and Technology

The study of nuclear energy using computational codes has been widely
explored by nuclear engineering researchers through various calculations over the
years, especially neutronic and thermo-hydraulic calculations. The International
Atomic Energy Agency (IAEA) aims to ensure that studies developed in nuclear energy
are not military, but related to activities that seek the development and advancement
of energy in the form of technological cooperation. The need to design a reactor model
that produced a large amount of energy with lower cost by MWH showed the
importance of SMR (Small Modular Reactor) reactors. The present work aims to
conduct a study related to the coupling of two computational codes, SERPENT and
ANSYS FLUENT, using as a model reactor reactor B&W Generation, called
MPOWER, studied primarily in the United States. The geometry modeling of an
MPOWER reactor PIN was performed and subjected to neutronic and thermo-
hydraulic (FLUENT) code, building a coupling algorithm between the two simulation
tools to automate the operating conditions process in the effective operation of the
reactor. The multiphysical simulation, considering the interaction between neutronic
and thermal phenomena, offers an enhanced view of the reactor operation.of obtaining
ideal conditions for the effective operation of the reactor.

6
LISTA DE FIGURAS

Figura 1 – Representação da reação em cadeia que ocorre dentro do reator nuclear


de fissão.....................................................................................................................18

Figura 2 – Principais componentes de uma usina nuclear refrigerada à


água...........................................................................................................................19

Figura 3 – Principais elementos do vaso de pressão de reator PWR...........................25

Figura 4 – A evolução do projeto JEFF......................................................................35

Figura 5 – Diagrama do núcleo e do conjunto de combustível.....................................40

Figura 6 – Disposição dos materiais e geometria do pin do conjunto combustível do


reator mPower............................................................................................................42

Figura 7 – Geometria do pin do reator em ANSYS DesignModeler.............................43

Figura 8 – Malha produzida para o pin do reator mPower com elementos


hexaédricos................................................................................................................44

Figura 9 – Interface do código de acoplamento...........................................................45

Figura 10 – Distribuição de temperatura no pin...........................................................46

Figura 11 – Distribuição de temperatura na entrada do pin.........................................49

Figura 12 – Fluxograma representando o acoplamento automatizado........................51

Figura 13 – Interface do acoplamento.........................................................................53

Figura 14 – Distribuição de temperatura no pin...........................................................55

Figura 15 – Distribuição de temperatura do refrigerante na entrada do pin.................56

Figura 16 – Distribuição de temperatura na saída do pin (a) Temperatura na região


superior esquerda em azul escuro do pin (b) Temperatura na região superior central
em azul claro do pin....................................................................................................56

Figura 17 – Distribuição de temperatura dos materiais ao longo da altura z no pin


simulado.....................................................................................................................57

7
Figura 18 – Comparativo das distribuições de potência obtidas nas simulações
neutrônicas (a) Simulação neutrônica passo 1 (b) Simulação neutrônica passo
2..................................................................................................................................59

Figura 19 – Comparativo das distribuições de temperatura obtida nas simulações


termo-hidráulicas (a) Simulação termo-hidráulica iteração 1 (b) Simulação termo-
hidráulica iteração 2....................................................................................................60

Figura 20 – Comparativo das distribuições de potência gerada nas simulações


neutrônicas (a) Simulação neutrônica iteração 2 (b) Simulação neutrônica iteração
3..................................................................................................................................61

Figura 21 – Comparativo das simulações termo-hidráulicas (a) Simulação termo-


hidráulica 2 (b) Simulação termo-hidráulica 3.............................................................62

Figura 22 – Interface gráfica de usuário do acoplamento automatizado......................64

Figura 23 – Resultados da primeira iteração utilizando automação em Python...........65

Figura 24 – Distribuição de potência ao longo do pin na ferramenta de acoplamento..66

8
LISTA DE TABELAS

Tabela 1 – Dados do pin do conjunto combustível do reator mPower usado como


modelo geométrico de simulação...............................................................................41

Tabela 2 – Propriedades físicas dos materiais que compõem o domínio


computacional............................................................................................................46

Tabela 3 – Equações das propriedades dos materiais do domínio computacional em


função da temperatura................................................................................................47

Tabela 4 – Temperatura média das regiões materiais do pin após a primeira simulação
termo-hidráulica..........................................................................................................58

Tabela 5 – Comparativo da temperatura média das regiões materiais do pin na


iteração 1 e 2..............................................................................................................60

Tabela 6 – Comparativo das temperaturas médias das regiões materiais do pin na


iteração 2 e 3..............................................................................................................62

Tabela 7 – Temperaturas das regiões materiais em 10 iterações...............................66

Tabela 8 – Erro relativo da temperatura média nas regiões materiais do pin a cada
iteração do acoplamento com a ferramenta em Python..............................................67

9
LISTA DE SIGLAS

SMR Small Modular Reactors

iPWR Integral Pressurized Water Reactor

LWR Light Water Reactor

IAEA International Atomic Energy Agency

GIF Generation IV International Forum

CFD Computational Fluid Dynamics

PIUS Process Inherent Ultimate Safety

MAP Minimum Attention Plant

SIR Safe Integral Reactor

TRR Tehran Research Reactor

LOCA Loss of Coolant Accident

LOFA Loss of Flow Accident

MCNP Monte Carlo N-Particle

nTOF Neutron Time Of Flight

CERN Centre Européen pour la Recherche Nucléaire

IRMM Institute for Reference Materials and Measurements

CC Condições de Contorno

VSCode Visual Studio Code

10
SUMÁRIO

1. INTRODUÇÃO.......................................................................................................13

2. REVISÃO BIBLIOGRÁFICA..................................................................................17

2.1. Reatores nucleares..............................................................................................17

2.1.1. Reator de água pressurizada (PWR) ................................................................20

2.1.2. Reator de água pesada (HWR) ........................................................................21

2.2. Reatores SMR .....................................................................................................22

2.3. Reator de água pressurizada integral (iPWR) .....................................................23

2.4. Simulação multifísica...........................................................................................25

2.4.1. Análise termo-hidráulica e neutrônica...............................................................26

3. MODELAGEM MATEMÁTICA...............................................................................32

3.1. Transporte de Nêutrons usando SERPENT.........................................................32

3.2. Fluído Dinâmica Computacional usando FLUENT...............................................36

4. MODELAGEM COMPUTACIONAL.......................................................................40

4.1. Simulação neutrônica..........................................................................................40

4.2. Simulação termo-hidráulica.................................................................................43

4.3. Acoplamento das simulações termo-hidráulica e neutrônica................................51

5. RESULTADOS E DISCUSSÃO..............................................................................54

5.1. Análise neutrônica...............................................................................................54

5.2. Análise termo-hidráulica......................................................................................54

5.3. Acoplamento manual...........................................................................................58

5.4. Acoplamento automatizado com Python..............................................................63

6. CONCLUSÕES E TRABALHOS FUTUROS..........................................................68

7. REFERÊNCIAS......................................................................................................70

11
ANEXOS....................................................................................................................63

ANEXO I – Definição das propriedades materiais usando UDFs (User Define


Functions) do FLUENT...............................................................................................77

ANEXO II - Código SERPENT do Pin do Reator mPower.........................................81

ANEXO III – Algoritmo de produção da expressão da potência em grau 6..................86

ANEXO IV – Código do acoplamento automatizado com Python................................88

ANEXO V – Manual de utilização da GUI..................................................................101

12
1. INTRODUÇÃO

Devido ao crescimento populacional e o desenvolvimento da economia, a


demanda energética cresce proporcionalmente, elementos que são característicos de
uma sociedade moderna. Com o incremento da demanda, os problemas e impactos
ambientais relacionados ao efeito estufa se apresentam como um grande desafio para
a humanidade.

Nesse mesmo sentido, as formas de produção de energia têm afetado


diretamente a natureza, contribuindo para o crescimento de concentração na
atmosfera do dióxido de carbono e outros gases contribuintes para o efeito estufa,
colocando o desafio de encontrar uma fonte de energia que não esteja contribuindo
para o aumento da temperatura média global do planeta Terra.

Estudos comprovam que a produção de energia nuclear e suas aplicações na


indústria, devem desenvolver um papel relevante na geração de energia nas próximas
décadas, de forma a ter uma contribuição importante no processo de descarbonização
de energia como uma alternativa sustentável aos combustíveis fósseis como fonte de
geração de energia.

Se destacam como referência essencial para a produção energética nuclear


nos próximos anos os reatores modulares de pequeno porte, mais conhecidos como
SMR (Small Modular Reactors). Rodrigues (2022) afirma que os reatores pequenos
têm a vantagem de atender às necessidades das comunidades locais, não exigem
altos investimentos em comparação com uma usina nuclear convencional e não
precisam de um sistema de transmissão de energia caro.

Chatzis (2020) afirma que pequenos reatores modulares podem fornecer


energia com baixíssimas emissões de carbono, o que por si só são adequados para
a transição energética. Pelo tanto, devido ao seu pequeno tamanho, flexibilidade e
baixo custo, podem ser utilizados em pequenas redes elétricas e em áreas remotas,
ou seja, em regiões onde os grandes reatores não estão operando.

Harvey (2020) afirma que a maioria das fontes renováveis são de natureza
intermitente, ou seja, não conseguem atender a demanda sem interrupção e, sob
certas condições, não são controláveis. Nesse sentido, as energias solares e eólicas
precisam de fontes complementares de energia e a nuclear pode ser uma solução,

13
pois pode produzir energia 24 horas por dia e 7 dias por semana de forma ininterrupta.
Assim, a energia nuclear, além de ser de baixo carbono, traz segurança energética.

O desenvolvimento de reatores de pequeno porte composto de um ou mais


módulos vem crescendo no mercado de geração energética, aumentando a produção
nuclear em diversos lugares, com investimento de capital reduzido e com grande
aceitação por diversos grupos de pesquisa e empresas.

Entre as várias aplicações dos reatores estão a produção de energia elétrica e


processos industriais que necessitam de fontes de calor massivas como a
dessalinização de água do mar ou a produção de hidrogênio.

Dentre os diversos projetos em desenvolvimento, está o projeto da família do


reator de água pressurizada integral, iPWR (Integral Pressurized Water Reactor),
desenvolvido pelo Departamento de Energia dos Estados Unidos (DOE-US). Esses
reatores aproveitam a experiência operacional gerada pelos reatores de água leve,
LWR (Light Water Reactor), um elemento que favorece a construção desses reatores
em um futuro próximo.

No final do ano de 2019, o IAEA (International Atomic Energy Agency) possuía


em seu sistema aproximadamente 456 reatores, gerando cerca de 2586GWh de
energia, valor que representa ao torno de 10% de energia produzida no mesmo ano,
e que é também 1/3 das fontes de geração de energia que não contribuíram para o
efeito estufa. A IAEA afirma que no ano de 2022 a geração de energia por meios
nucleares permanece como a segunda fonte de energia de baixo carbono, sendo
ultrapassada apenas pela geração hidráulica.

Ainda em 2019, a usina central de Angra alcançou um novo recorde,


produzindo cerca de 16.128.826MWh de energia, segundo a Eletronuclear (2020),
recorde esse que é suficiente para atender estados do tamanho de Pernambuco. A
usina de Angra 1 atinge também o fator de capacidade de 98,21% (fator que relaciona
a energia produzida pela usina com sua capacidade instalada), número que
surpreende em comparação as outras usinas de todos os modelos de geração do
Brasil.

Em 2020, segundo o Balanço Energético Nacional da Empresa de Pesquisa


Energética, o Brasil teve 2,5% da produção de energia através de instalações

14
nucleares. Observando isso o governo federal investe no término da construção da
usina de Angra 3 atualmente, com 65% de construção e previsão de finalização em
2027.

Observando o avanço da energia nuclear a nível nacional e também mundial,


podemos observar que esse tipo de geração de energia tem ocupado um papel de
destaque e que se consolidará nos próximos anos, mas ainda existem alguns entraves
que necessitam de ser solucionados nos novos projetos de reatores.

O Generation IV International Forum (GIF) (MONGELLI, 2006), afirma que se


deve investir em quatro pilares fundamentais para o desenvolvimento de novos
sistemas nucleares avançados, sendo eles:

 Busca da sustentabilidade;
 Melhora dos indicadores econômicos;
 Aumento da segurança e confiabilidade;
 Redução dos riscos de proliferação de armas nucleares.

Nesse sentido, destacam-se os reatores nucleares modulares de pequeno


porte, sendo uma alternativa para estimular as pesquisas e o desenvolvimento da
energia nuclear.

Diversos grupos empresariais estão aderindo ao investimento em novos


reatores compactos construídos a partir de um ou mais módulos, e projetados para o
mercado de energia de pequeno ou grande porte, o que possibilita a criação de novos
locais para produção de energia nuclear, e que acarreta um investimento de capital,
de certa forma reduzido.

O presente trabalho vem trazendo o estudo de simulações multifísicas de um


reator SMR, onde se considera o acoplamento neutrônico e termo-hidráulico,
buscando avaliar situações ideais de funcionamento utilizando dióxido de urânio (UO2)
como combustível. Existem diversas pesquisas relacionadas a modelagem e
simulação de reatores SMR, porém este trabalho se fundamenta e se diferencia pelas
ferramentas a serem utilizadas, sendo elas o código neutrônico SERPENT, o código
termo-hidráulico ANSYS FLUENT e o desenvolvimento de um algoritmo em Python
do acoplamento automático entre os dois.

15
Tendo em vista o projeto do iPWR, o foco nesse trabalho envolve a simulação
multifísica de reatores SMR considerando o acoplamento das simulações neutrônicas
e termo-hidráulicas observando os fenômenos físicos e térmicos.

Os objetivos específicos deste trabalho são:

 Execução de simulações neutrônicas de um pin do reator SMR do tipo iPWR


utilizando o código SERPENT que usa um método de Monte Carlo;
 Executar simulações termo hidráulicas deste mesmo modelo, utilizando o
código de Fluído Dinâmico Computacional (CFD – Computational Fluid
Dynamics) ANSYS FLUENT;
 Desenvolver uma metodologia computacional para realizar o acoplamento
externo do código SERPENT e FLUENT, objetivando a simulação multifísica
do reator usando da linguagem de programação Python.

O seguinte capítulo dedicado a revisão bibliográfica apresenta os reatores


nucleares e as suas características, com o enfoque no reator SMR do tipo iPWR, tendo
em vista sua utilização no caso de estudo nas simulações neutrônicas e termo
hidráulicas. Em seguida, resume as simulações que serão abordadas nesse trabalho
e o acoplamento multifísico.

No capítulo de modelagem matemática, iremos demonstrar a formulação


matemática do acoplamento proposto entre as simulações do SERPENT e do
FLUENT e discuti-las detalhadamente.

No capítulo metodologia computacional temos a descrição das etapas de


simulação de cada um dos códigos e a integração entre o SERPENT e o FLUENT.

O capítulo de resultados apresenta a validação da modelagem proposta,


utilizando comparações entre os resultados obtidos, a análise física e a comparação
com a literatura do acoplamento SERPENT-FLUENT.

Por fim, no capítulo de conclusões temos a descrição dos resultados obtidos,


as conclusões da pesquisa e estímulos para os desdobramentos futuros percebidos
ao longo do desenvolvimento deste trabalho.

16
2. REVISÃO BIBLIOGRÁFICA

Esse capítulo apresenta uma revisão sobre os reatores nucleares e as suas


características de funcionamento, tendo em vista que a capacidade do modelo
matemático de reprodução do comportamento esperado é essencial para sua
aplicabilidade.

Trazemos uma revisão dos reatores nucleares conceituais propostos na


literatura, e como os trabalhos que utilizaram metodologia semelhante a utilizada
nesta pesquisa realizaram a simulação de reatores similares.

Resume-se as diferentes abordagens para descrever a reação nuclear dentro


do reator e o estudo de simulações multifísicas para realizar o acoplamento
SERPENT-FLUENT em reatores SMR iPWR.

2.1. Reatores nucleares

A energia nuclear se fundamenta pela da união de prótons e nêutrons no núcleo


do átomo, mantendo a estrutura do próprio. Para extrair essa energia são utilizadas
técnicas de fusão de átomos de hidrogênio ou fissão nuclear de elementos pesados,
tais como o Urânio (SILVA, 2012).

A técnica de fissão nuclear é a utilizada para geração de energia nos reatores


nucleares, no qual os nêutrons que migram no núcleo do reator colidem com os
átomos físseis presentes do combustível nuclear. Com a colisão, o átomo pesado se
torna instável, ocorrendo a divisão do núcleo e gerando dois átomos menores, e é
nessa divisão que ocorre a liberação de energia (CARDOSO, 2012).

A partir da colisão de um único nêutron com um átomo físsil do elemento


combustível, geralmente, urânio, ocorre uma reação em cadeia de sucessivas
quebras do núcleo de urânio dentro do reator, os produtos da reação de fissão são
diferentes, a liberação de energia e mais um nêutron livre que poderá colidir com
outros átomos de urânio, realizando novas reações de fissão e liberando mais energia,
e mais nêutrons livres, iniciando assim a reação em cadeia autossustentável conforme
ilustrado na Figura 1.

17
Figura 1 - Representação da reação de fissão em cadeia autossustentável que ocorre dentro do
núcleo do reator (CARDOSO, 2012).

As usinas nucleares são usinas que produzem energia elétrica sem o auxílio
de combustíveis fósseis como fonte primária de calor, mas sim a energia procedente
da fissão de elementos pesados como o urânio. No interior dos reatores nucleares
refrigerados a água, o combustível nuclear é disposto em centenas de varetas
contendo isótopos de urânio e outros átomos físseis que podem ser fissionados, a
energia cinética dos fragmentos de fissão é liberada em forma calor. O calor liberado
no núcleo do reator é extraído pelo fluido refrigerante e utilizado para produzir vapor
que é encaminhado a uma turbina para produzir energia elétrica (CARDOSO, 2012).

Os principais componentes de uma usina nuclear refrigerada a água são


mostrados na Figura 2.

18
Figura 2 – Principais componentes de uma usina nuclear refrigerada à água (Adaptada de
AREASEG, 2020).

Os componentes principais de uma usina nuclear e suas funções são:

 Contenção do reator: componente responsável por manter a integridade


estrutural do reator e isolar o ambiente externo da radiação;
 Reator: vaso de pressão onde é disposto o combustível nuclear, nele acontece
a reação de fissão em cadeia para sustentar a produção de energia elétrica;
 Pressurizador: nesse dispositivo é realizada a estabilização e controle da
pressão do fluido refrigerante do circuito primário;
 Circuito Primário: integrado pelo vaso de pressão, pressurizador, tubulações,
bombas de circulação de água e por tubulações internas dos geradores de
vapor;
 Circuito Secundário: composto pela carcaça dos geradores de vapor,
tubulações, turbina, carcaça do condensador ou torre de resfriamento e bomba
de circulação de água;
 Turbina: esse componente recebe o vapor superaquecido que advém do
gerador de vapor e que também realiza trabalho no eixo mecânico do gerador
elétrico;

19
 Gerador elétrico: é o componente que realiza a conversão de energia mecânica
que vem da turbina em energia elétrica;
 Gerador de vapor: é responsável por converter a água que circula pelo circuito
primário do reator nuclear em vapor, que em seguida é utilizado para
movimentar as turbinas geradoras de energia elétrica.
 Condensador ou torre de resfriamento: é um circuito de recirculação de água,
geralmente é um grande reservatório como um lago ou o mar, com a finalidade
de resfriar o vapor aquecido que vem da turbina e retornando ao mesmo estado
liquido para ser bombeado novamente ao circuito secundário.

Como podemos verificar, para realizar o aproveitamento de energia elétrica através


de reatores nucleares, é necessário a construção de uma usina composta por
equipamentos com alta complexidade tecnológica.

2.1.1. Reator de água pressurizada (PWR)

Este modelo de reator de água pressurizada tem como principal característica


a utilização de água a alta pressão como refrigerante e moderador no circuito primário.
É o modelo de reator nuclear mais utilizado em usinas nucleares em todo mundo, e
atualmente existem cerca de 230 reatores PWR fabricados com essa tecnologia.

O reator PWR foi fabricado para ser utilizado na área de engenharia naval em
submarinos nucleares. Eles utilizam como combustível, o urânio levemente
enriquecido. Esse modelo de reator pode ser classificado como um reator de água
leve ou água pesada.

A operação do PWR pode ser dividida em quatro momentos:

 O núcleo do reator produz calor por meio das reações de fissão;


 A água em alta pressão presente no circuito primário conduz a energia
térmica para o gerador de vapor;
 No gerador de vapor, o calor emanado do circuito primário realiza a
conversão da água do circuito secundário em vapor;
 O vapor produzido aciona a turbina pela energia mecânica e gera
eletricidade.

20
Neste ciclo, o PWR converte a energia nuclear gerada pela fissão do urânio em
energia elétrica. A partir disso, o ciclo se repete: o vapor residual é convertido em água
líquida novamente através do condensador, e este coloca a água para o circuito
secundário em contato com um terceiro circuito, no qual faz a troca térmica com a
água do meio externo, uma vez realizada a conversão, ele retorna ao gerador de
vapor.

2.1.2. Reator de água pesada (HWR)

O Reator de Água Pesada é um tipo de reator nuclear que utiliza água pesada
(D2O) como moderador de nêutrons e como refrigerante. O moderador é uma
substância que desacelera os nêutrons produzidos pela fissão nuclear, permitindo que
eles possam ser capturados pelos núcleos dos átomos de urânio e manter a reação
em cadeia. O refrigerante é uma substância que retira o calor gerado pela fissão
nuclear e o transfere para um sistema de produção de energia elétrica.

O HWR foi desenvolvido no Canadá na década de 1950, em resposta ao


embargo imposto pelos Estados Unidos ao urânio enriquecido. Desde então, o HWR
tem sido utilizado em várias usinas nucleares no mundo, incluindo a Usina Nuclear de
CANDU (Canadian Deuterium Uranium), que é a mais conhecida usina nuclear que
utiliza água pesada como moderador e refrigerante.

De acordo com a World Nuclear Association (2022), o HWR é um dos tipos de


reatores nucleares mais seguros em operação atualmente. Isso se deve em parte ao
fato de que a água pesada como moderador permite um controle mais preciso da
reação em cadeia, o que reduz o risco de acidentes nucleares.

Outra vantagem do HWR é que ele pode utilizar urânio natural como
combustível, dispensando a necessidade de enriquecimento. Além disso, o HWR
apresenta uma maior eficiência na utilização do combustível nuclear em comparação
com outros tipos de reatores, o que reduz a quantidade de resíduos nucleares
produzidos.

No entanto, a produção de água pesada é um processo complexo e caro, o que


torna o HWR mais caro para construir e operar do que outros tipos de reatores
nucleares. Além disso, a utilização de água pesada como moderador e refrigerante

21
torna o reator mais complexo e requer mais manutenção do que outros tipos de
reatores.

O HWR é um tipo de reator nuclear que utiliza água pesada como moderador
e refrigerante, apresentando vantagens como maior segurança e eficiência na
utilização do combustível, mas com a desvantagem de ser mais complexo e caro de
construir e operar. No entanto, seu uso tem sido amplamente difundido em diversos
países, como Canadá, Argentina, Coréia do Sul, entre outros.

2.2. Reatores SMR

Desde o início de 1950 os reatores nucleares pequenos tem se desenvolvido


com destaque na área naval, sendo utilizados como fonte de energia para submarinos
nucleares. Esses reatores são também conhecidos como SMR (Small Modular
Reactor) e estão se tornando bastante populares e comuns por serem de pequena
potência, cerca de 10 a 300MWe e não requerem um investimento elevado para
aplicações industriais, geração de energia, entre outros (IAEA, 2018).

Esse reator modular pequeno tem esse nome porque ele pode fornecer a
quantidade desejada de vapor aquecido usado como fonte primária de energia a
fissão nuclear, sendo sua unidade construída com um ou mais submódulos. Esses
módulos podem ser ajustados e sequenciados de acordo com a necessidade,
podendo ser utilizado conforme a necessidade econômica industrial. Embora a
construção em módulo não seja uma particularidade dessa classe de reatores, eles
são mais fáceis de serem construídos devido ao seu pequeno porte.

Atualmente, ao redor do mundo existem três tipos de tecnologia em estudo que


desenvolvem esse tipo de projeto nos países como EUA, Coréia, China, Japão,
Rússia, entre outros. O primeiro tipo se apoia nos conceitos de reatores de água leve,
o segundo utiliza o conceito de reatores SMRs resfriados a gás a altas temperaturas
utilizando o TRISO como combustível. O último estuda os reatores SMRs resfriados
por metal líquido avançado.

Desses três tipos de estudo de tecnologia, o último é o mais complexo de obter


aprovação e licenciamento devido à ausência de reatores similares e a necessidade
de realizar testes para validar sua esta tecnologia.

22
Ao redor do mundo existem cerca de 50 projetos de reatores SMRs em
andamento com diferentes objetivos e perspectivas (IAEA, 2020). Sendo três em
estado de finalização, um na Argentina (CAREM) de água pressurizada, outro na
China (HTR-PM), do modelo de leito de bolas resfriado a gás de alta temperatura e o
último na Rússia (KLT40s), do tipo usina flutuante. Os demais ainda estão em fases
iniciais ou intermediárias de projeto e construção.

2.3. Reator de água pressurizada integral (iPWR)

Na classe de reatores de pequeno porte refrigerados por água leve, estão os


reatores integrais de água pressurizada, mais conhecidos por iPWR. São reatores
bastante relevantes por serem bastante seguros e baratos (CARELLI, 2003), e
acumulam a experiência dos reatores PWR de grande porte.

Nos modelos de projeto apresentados do reator iPWR, temos o gerador de


vapor e pressurizador localizados dentro do vaso de pressão do reator, o que
simplifica o projeto, pela eliminação de falhas da linha de circulação principal, sistemas
de resfriamento de emergência com circulação natural e sistemas de injeção de água
por gravidade, o que torna possível a expulsão do calor residual com a água em
estoque no local, utilizando forças passivas da natureza como a condensação,
evaporação e a gravidade. Projetos desse reator também trazem a redução do
número de equipamentos utilizados (BETANCOURT, 2021).

Os reatores iPWRs são bastantes utilizados em submarinos de propulsão


nuclear, e seu primeiro modelo comercial foi utilizado antes de 1964 em um navio de
carga alemão de propulsão nuclear, utilizado para o teste de viabilidade de energia
nuclear para função pública, ficando conhecido por Otto Hahn (CARELLI;
INGERSOLL, 2015). O PIUS (Process Inherent Ultimate Safety), reator sueco
produzido na década de 80, foi o primeiro iPWR terrestre que veio com o objetivo de
modificar o sistema de segurança ativo por um inerente ou passivo. Ele era formado
por uma piscina de água borada e um vaso de pressão feito de concreto junto ao
subsolo, o que acarretava em um resfriamento por circulação natural no núcleo
(CARELLI; INGERSOLL, 2015).

Em 1980, foi produzido o MAP (Minimum Attention Plant), um reator de água


leve auto-pressurizado com plena circulação natural e diversos geradores de vapor

23
em uma única passagem dentro do vaso do reator. Este reator teve seu
desenvolvimento interrompido devido ao surgimento do SIR (Safe Integral Reactor),
que surge ao final dos anos 80 e continua em desenvolvimento ao redor do mundo,
em países como Rússia, Argentina, Coréia e China (CARELLI; INGERSOLLI, 2015).

A configuração dos projetos de reatores integrais de água pressurizada se


baseia nos conceitos já vistos de PWR convencional. Como nos reatores de água
pressurizada a água é submetida à uma pressão de 15MPa (MURRAY, 2009),
aproximadamente, seu combustível é o dióxido de urânio (UO2), enriquecido de 2% a
5% de U235 (LEWIS, 2008). O ponto de fusão do UO2 é cerca de 2800°C, em material
cerâmico no formato de pastilhas cilíndricas, com diâmetro de 1cm e altura 2cm
(LAMARSH, 2001).

As pastilhas são embutidas em tubos de aço de inox, zircaloy-3 ou zircaloy-4,


e esses tubos servem para que o material combustível se aloje, mas também fazem
com que os produtos de fissão gasosos não escapem para o material refrigerante, já
que os produtos de fissão são liberados quando o reator está em fase de operação
(MURRAY, 2009).

Cerca de 200 barras de combustível são agrupadas em um feixe que se


denomina de elemento combustível com aproximadamente 20cm de lado.
Aproximadamente de 180 elementos combustíveis são agrupadas em uma matriz
cilíndrica para a formação do núcleo do reator, e toda essa estrutura é alojada em um
vaso de pressão de aço, com diâmetro externo de 5m, 12m de altura e paredes de
30cm de espessura (MURRAY, 2009). O controle da reatividade durante a operação
é feito usando elementos absorvedores de nêutrons, dentre eles, as barras de
controles, os absorventes queimáveis, e átomos dissolutos no refrigerante. Na Figura
3 podemos visualizar os componentes do vaso de pressão de um reator do tipo PWR.

24
Figura 3 – Principais elementos do vaso de pressão de reator PWR (LAMARSH e BARATTA, 2001).

2.4. Simulação multifísica

No campo da modelagem computacional, a simulação multifísica é classificada


como a simulação simultânea de diferentes aspectos de um ou mais sistemas físicos
e suas interações (ZHEN, 2018). Por exemplo, simular simultaneamente o estresse
físico em um objeto, a distribuição de temperatura do objeto e a expansão térmica
resultando em diferentes distribuições de estresse e temperatura seria considerada
uma simulação multifísica. A simulação multifísica está relacionada à simulação
multiescala, que é a simulação simultânea de um único processo em várias escalas
de tempo ou distância (GROEN et al., 2014).

25
Como um campo interdisciplinar, a simulação multifísica pode abranger muitas
disciplinas da ciência e da engenharia. Os métodos de simulação normalmente
incluem análise numérica, equações diferenciais parciais e análise tensorial.
A implementação de uma simulação mutifísica segue uma série de etapas, tais
como a identificação de vários aspectos do sistema a ser simulado, o que inclui
processos físicos, condições de inicialização e de acoplamento ou limite entre os
processos. Deve-se criar modelos matemáticos discretos do sistema, resolver esse
modelo numericamente e processar os dados resultantes.
O modelo matemático usado em uma simulação multifísica geralmente é um
conjunto de equações acopladas. As equações podem ser divididas em três
categorias de acordo com sua natureza e função pretendida: equações governantes,
equações auxiliares e condições de contorno iniciais. As equações governantes
descrevem um mecanismo ou processo físico importante. As simulações multifísicas
usam métodos de discretização para computação numérica, como elementos finitos,
diferenças finitas ou métodos de volume finito (BAGWELL et al., 2017).
De um modo geral, a simulação multifísica é muito mais difícil do que todos os
aspectos individuais do processo físico. A principal questão adicional é como combinar
os múltiplos aspectos do processo e lidar adequadamente com as interações entre
eles. Este problema torna-se bastante difícil quando diferentes tipos de métodos
numéricos são usados para modelar um único aspecto físico.

2.4.1. Análise termo-hidráulica e neutrônica

O estudo da dinâmica de reatores inclui modelagem matemática, análise e


simulação de seus sistemas físicos. Entender como esses parâmetros variam ao
longo do tempo é muito importante para prever o comportamento do núcleo e de
outras partes do reator, durante sua operação normal ou mesmo durante períodos
transitórios causados por distúrbios no sistema, estudar o comportamento em
condições de emergência ou acidente pode representar um grande desafio.
Em geral, as análises acopladas de fenômenos térmicos (termo-hidráulicos) e
fenômenos neutrônicos em reatores nucleares é estudada usando códigos
computacionais complexos. Dentre os códigos usados na simulação termo-hidraulica
temos o RELAP, RETRAN, COBRA, que resolvem equações de transporte de energia,

26
escoamento bifásico e propriedades térmicas de seus componentes. Para simulação
neutrônica são usados códigos probabilísticos, como o MCNPX, Geant4 ou
SERPENT, ou códigos determinísticos baseados em modelos de balanço de nêutrons
como a equação de transporte, equação de difusão ou equações da cinética. Nas
simulações podem ser usados modelos geométricos unidimensionais ou
multidimensionais (2D ou 3D), o que influi fortemente na complexidade e custo
computacional do problema. Esses códigos são amplamente utilizados não apenas
durante a fase de projeto de instalações nucleares, mas também ao longo de sua vida
útil em diversos modelos, destinados tanto para análise de segurança quanto para
situações de teste.
A utilização desses códigos exige muito esforço computacional e
conhecimento, principalmente no que diz respeito ao processamento das informações
necessárias para a simulação, ou seja, parâmetros de entrada, além da interpretação
de seus resultados (HOUSIADAS, 2002). Por outro lado, nas últimas décadas, tem-se
observado um grande esforço no desenvolvimento de ferramentas computacionais
simples para simular o comportamento de reatores em condições transientes reais ou
hipotéticas, como destaca KAZEMINEJAD (2012), principalmente em termos de
modelagem de reatores de pesquisa.
Além disso, há o fato de que muitos códigos utilizados para análise de
transientes em reatores de potência não são adequados para reatores de pesquisa e,
embora alguns tenham sido adaptados para esse fim, o uso de modelos simples é
suficiente na maioria dos casos (GAHEEN et. al., 2007).
HOUSIADAS (2000) desenvolveu um modelo para determinar os limites de
estabilidade do escoamento bifásico em função das condições iniciais do reator, uma
vez que a instabilidade do escoamento é o mecanismo básico que causa danos para
o núcleo neste tipo de transiente. Portanto, usou o código PARET (termo-hidráulico
unidimensional) acoplado com cálculos cinéticos para modelar o reator de pesquisa
grego GRR-1. A pesquisa contribuiu para um melhor entendimento dos mecanismos
de risco de perda de vazão, podendo ser utilizada como referência na avaliação de
segurança de eventos deste tipo, incluindo a especificação de limites de segurança.
Um modelo simplificado para estudar o comportamento de um reator de
pesquisa foi desenvolvido por HOUSIADAS (2002). O modelo unidimensional utilizou
parâmetros termo-hidráulicos e neutrônicos concentrados para o acoplamento,

27
levando em consideração os efeitos de realimentação contínua devido às
temperaturas do combustível e do refrigerante. O modelo numérico foi implementado
e validado contra resultados analíticos conhecidos, além de ser aplicado a diferentes
condições de reatividade. Ele provou ser moderadamente preciso no cálculo, desde
que a temperatura do núcleo esteja abaixo da temperatura de saturação do
refrigerante.
FARHADI et al. (2007) estudaram o comportamento da bomba de refrigeração
durante a condição de partida desenvolvendo um modelo baseado nas equações de
vazão do fluido na tubulação e no movimento das partes rotativas da bomba. O modelo
foi utilizado na análise de segurança do reator de pesquisa TRR (Tehran Research
Reactor) e os valores obtidos foram verificados experimentalmente comparando-os
com as curvas características da bomba do reator, o que destaca a importância de
observar a avaliação de transientes gerados durante a partida da bomba.
O acoplamento termo-hidráulico e neutrônico foi estudado por KHATER et al.
(2007) cujo objetivo era desenvolver o código para um reator egípcio ETRR-2 para
pesquisa e simulação dos riscos de reatividade no reator. O modelo considerou a
presença de dois canais: quente e médio. O canal foi dividido ao longo do eixo
longitudinal e a equação de transporte de energia da água foi resolvida
numericamente usando o método das diferenças finitas. O código desenvolvido,
ETRR2-RIA, foi validado contra o benchmark do reator IAEA MTR 10 MW, mostrando
boa concordância. Em seguida, diferentes transientes da reatividade foram analisados
no reator ETRR-2, mostrando que o código foi capaz de prever o comportamento do
reator com precisão satisfatória. Em seguida, ABOU-EL-MAATY (2008) utilizou esse
mesmo código, ETRR2-RIA, para avaliar o risco de remoção descontrolada das barras
de controle do sistema de desligamento de emergência do reator desativado.
ZARE et al. (2010) usaram os códigos neutrônicos WIMS & CITATION e código
termo-hidráulico COBRA-EM acoplados pelo Fortran 90 para obter distribuições
precisas de potência e temperatura no núcleo do reator de pesquisa VVR-S. Os
valores obtidos na simulação são comparados com os resultados experimentais que
validam o modelo proposto.
BARATI e SETAYESHI (2013) desenvolveram um modelo para estudar o reator
de pesquisa, levando em consideração os principais fatores físicos que controlam o
núcleo, incluindo os efeitos de realimentação devido às temperaturas do combustível

28
e do refrigerante, coeficientes de reatividade variáveis, de xenônio, samário e -boro,
queima de combustível, além da termo-hidráulica. Eles usaram os códigos WIMS e
CITIVAP para encontrar as seções de choque e realizar o cálculo do fluxo inical de
nêutrons, para tornar o modelo o mais próximo possível da realidade. Os valores
obtidos pelo modelo foram comparados com os resultados de experimentos,
simulações de reatividade transiente e estado estacionário relatados na literatura de
reator de pesquisa TRR. Embora o código não permita simular todo o comportamento
do reator, ele rapidamente fornece uma boa aproximação do comportamento cinético
que ocorre com a combustão do combustível.
CHATZIDAKIS et al. (2013) utilizaram o código RELAP5/MOD3.3 para simular
a resposta do sistema às perdas transitórias de vazão nos reatores de pesquisa da
Indonésia, RSG-GAS e Egito, ETRR-2, para analisar, por meio de modelagem
detalhada, a resposta do código e comparar com os resultados de testes realizados
em condições de perda de fluxo semelhantes. Como resultado, verificaram o
desempenho do RELAP5/MOD3.3 na análise de cenários de perda de vazão.
Um estudo sobre o reator de pesquisa grego GRR-1 para a investigação
fenomenológica do comportamento termo-hidráulico durante o acidente de perda de
refrigerante - LOCA (Loss of Coolant Accident) foi realizado por CHATZIDAKIS e
IKONOMOPOULOS (2013) usando o código RELAP5/MOD3.3. Confirmaram a
importância da localização do ponto de fratura e a severidade, uma vez que foram
observadas diferentes condições termo-hidráulicas para a ruptura das tubulações de
entrada e saída, e neste caso não foi observado o desenvolvimento da circulação
natural. Com os resultados de diferentes cenários LOCA, eles propuseram um mapa
termo-hidráulico para facilitar o entendimento da evolução do perigo em termos de
tamanho e tempo de erupção.
EL-KHATIB et al. (2013) produziram um modelo termo-hidráulico de um reator
de pesquisa padrão, incluindo o núcleo, um trocador de calor e uma torre de
resfriamento. O modelo foi validado com um código PARET de estado estacionário e
dados de um reator de estado transitório, para que pudesse ser usado para simular
perdas secundárias de resfriamento. O modelo previu ações de redução de energia e
desligamentos do sistema de segurança. Eles observaram que as altas temperaturas
alcançadas na estação quente têm um limite seguro contra saturação, ebulição
nucleada e danos ao revestimento.

29
Os eventos que ocasionam a perca de vasão – LOFA (Loss of Flow Accident)
de RMB foram analisados por SOARES et al. (2014) usando RELAP5. Três cenários
de perda de fluxo foram simulados no sistema de resfriamento primário. As simulações
do RELAP5 mostram que, após os eventos iniciais, o reator atinge um novo estado
estacionário seguro, que mantém a integridade e segurança do núcleo.
KHATER et al. (2015) usaram o CFD (Computational Fluid Dynamics) FLUENT
acoplado com as equações de cinéticas pontual para simular o risco de perda de fluxo
de refrigerante sem desligamento de emergência (SCRAM) no reator de pesquisa
MTR, que é utilizado para avaliação de segurança, com a finalidade de determinar os
limites de estabilidade do escoamento bifásico em função das condições iniciais do
reator. O código integrado é utilizado até que o reator atinja o ponto de ebulição
nucleado (ONB), quando o código PARET é utilizado na sequência de simulação não
apenas para completar a análise durante a ebulição a frio, mas também para validar
o modelo CFD. Com este modelo foi possível prever o ponto de ebulição nucleado e
o ponto de instabilidade do escoamento (OFI).
RAIS et al. (2015) realizaram acoplamento termo-hidráulico e de neutrônico
para o reator de pesquisa CROCUS. Eles usaram o código SERPENT 2 para gerar
parâmetros neutrônicos de grupo que foram usados no código PARCS. O modelo
neutrônico foi então integrado ao código termo-hidráulico TRACE para análises
transientes.
CASTRO, FRANÇOIS e GARCÍA (2020) apresentam uma análise acoplada
Monte Carlo-CFD de fenômenos de transferência de calor em um conjunto de
combustível de um reator de água supercrítica. Os autores utilizam uma metodologia
que combina o código Monte Carlo MCNP5 com o software de CFD ANSYS FLUENT
para simular o comportamento do fluxo de calor no conjunto de combustível em
condições supercríticas de água. Os resultados obtidos mostram que a metodologia
proposta é capaz de prever com precisão os padrões de fluxo de calor no conjunto de
combustível e as temperaturas locais de pico, o que é fundamental para o projeto e
operação segura de reatores de água supercrítica.
Este presente trabalho visa o acoplamento termo-hidráulico e neutrônico para
o reator de pesquisa mPower, onde, para análise dos fenômenos neutrônicos, está
sendo utilizado o software SERPENT-2, o qual se baseia em códigos que utilizam
bibliotecas de seção transversal de formato ACE baseada em bibliotecas de dados

30
nucleares JEF-2.2, JEFF-3.1, JEFF-3.1.1, ENDF/B-VI.8 e ENDFB/B-VII (SERPENT,
2019). Os dados das bibliotecas estão disponíveis para 432 núcleos diferentes em 6
níveis de temperatura, entre 300 e 1800K. Para análise dos fenômenos termo-
hidráulicos está sendo utilizado o software CFD FLUENT, que utiliza um método
computacional para analisar sistemas envolvendo escoamento de fluidos,
transferência de calor e fenômenos relacionados, como reações químicas, combustão
e mudanças de fase. O método transforma uma equação diferencial (definida em um
domínio contínuo) em um sistema de equações algébricas em um domínio dividido
por um número finito de subdomínios que formam uma malha de pequenos elementos
(volumes de controle), a fim de encontrar uma solução discreta (PALMIEIRI et al.,
2013).

31
3. MODELAGEM MATEMÁTICA

3.1. Transporte de Nêutrons usando SERPENT

O fenômeno físico de transporte de nêutrons é modelado neste trabalho usando


uma abordagem probabilística via código SERPENT. LEPPÄNEN et al. (2015) define
o SERPENT como um código contínuo de Monte Carlo para transporte de partículas
de energia desenvolvido no Centro de Pesquisa Técnica VTT na Finlândia. Em seu
desenvolvimento, tornou-se a ferramenta mais completa e versátil para análise
neutrônica de reatores nucleares. Ele usa uma definição de geometria baseada no
universo que move a simulação de cada contexto para geometrias bi e tridimensionais.
Ele pode resolver uma variedade de problemas, desde a produção de geometrias
básicas até o cálculo da queima de ciclos de combustível.

O cálculo para analisar o ciclo de combustível é realizado em sub-rotinas


exclusivas do SERPENT, sem a necessidade de acoplamentos externos, com a
divisão de zonas de queima de combustível ilimitada, dependo apenas da memória
disponível no computador. Os dados de saída são fáceis de serem controlados. Ele
ainda possui uma grande quantidade de isótopos de produtos de fissão, considerando
cadeias de decaimento e produtos de ativação. A potência do reator pode ser
adequada conforme necessidade, taxas de reação podem ser normalizadas para
potência, densidade ou fluxo de nêutrons (BETANCOURT, 2021).

O SERPENT utiliza códigos com bibliotecas de seção transversal conforme


citado anteriormente e pode ser configurado da forma que seja necessário,
respeitando as condições de contorno.

O SERPENT se baseia no método de Monte Carlo, que é um método numérico


que pode resolver problemas físicos e matemáticos na simulação de variáveis
aleatórias (SOBOL, 1994). O código SERPENT inspirou-se no código MCNP.

O método de Monte Carlo é uma técnica estatística que utiliza a geração


aleatória de valores para resolver problemas complexos que envolvem cálculos de
probabilidades e estatísticas. Ele foi desenvolvido na década de 1940 por cientistas
nucleares, que o utilizaram para simular o comportamento de partículas em explosões
nucleares. Desde então, o método tem sido amplamente utilizado em diversas áreas,
como finanças, engenharia, física, biologia e química.

32
Segundo ROBERT e CASELLA (2010), o método de Monte Carlo funciona por
meio da geração de um grande número de valores aleatórios que são utilizados para
simular o comportamento de um sistema. Esses valores são então utilizados para
calcular estatísticas do sistema, como a média e a variância. Quanto mais valores
aleatórios são gerados, mais precisos são os resultados obtidos. O método de Monte
Carlo tem sido utilizado em diversas áreas, como finanças, para simular o
comportamento de preços de ativos financeiros, e em física, para simular o
comportamento de partículas em experimentos.

Uma das principais vantagens do método de Monte Carlo é a sua flexibilidade.


Segundo KROESE et al. (2014), ele pode ser aplicado a uma grande variedade de
problemas e não requer uma solução analítica para a equação do sistema. Além disso,
ele pode ser implementado em computadores de alto desempenho, permitindo a
simulação de sistemas complexos em grande escala. No entanto, o método de Monte
Carlo pode ser computacionalmente intensivo e requer um grande número de
iterações para obter resultados precisos.

O erro estimado (R) nesse método consiste na precisão estatística como a


resultante da fração da média estimada:

𝑆𝑥̅ (1)
𝑅=
𝑥̅

onde:

R: precisão estatística;

Sx: desvio padrão;

x: quantidade de amostras.

Esse erro é utilizado para formar intervalos de confiança da média estimada. O


teorema do limite central diz que para um N(número de tentativas independentes)
suficientemente grande, existe cerca de 68% de chance de que o resultado final esteja
no intervalo 𝑥̅ ± 𝑥̅ 𝑅 e 95% de chance de estar no intervalo 𝑥̅ ± 2𝑥̅ 𝑅 . Os intervalos de
confiança se referem à precisão do próprio Monte Carlo e não à exatidão do resultado
quando são comparados com valores físicos reais. A declaração relativa à essa
exatidão requer um estudo detalhado das incertezas em dados físicos, modelagem,
técnicas de amostragem, etc. utilizadas nos cálculos (BRIESMEISTER, 2000).
33
A interpretação da qualidade dos intervalos de confiança é realizada pelos
vários valores numéricos de R. A recomendação do MCNP para o intervalo de erro
estimado são:

i. Valores entre 0,5 e 1,0 não são aceitáveis;


ii. Valores entre 0,20 e 0,50 não são recomendáveis;
iii. Valores entre 0,10 e 0,20 são questionáveis;
iv. Valores menores que 0,10 são confiáveis (BRIESMEISTER, 2000).

A diversidade e o aspecto funcional do MCNP para diferentes problemas faz


com que ele seja aceito na comunidade científica que trabalham com problemas de
transporte de partículas com enfoque em nêutrons e fótons (GENTLE, 2003).

O código de transporte de partículas SERPENT é um dos códigos mais


utilizados para simulações de física de reatores nucleares. Ele usa dados nucleares
da biblioteca JEFF para realizar as simulações de transporte de partículas.

De acordo com a IAEA, a biblioteca JEFF é amplamente utilizada em


simulações de física de reatores nucleares. Ela é considerada uma das principais
bibliotecas de dados nucleares disponíveis para essa finalidade, e é usada em uma
ampla variedade de códigos de simulação de reatores, incluindo o SERPENT. O
SERPENT é um código de transporte de partículas que usa dados nucleares da
biblioteca JEFF para simular o comportamento de reatores nucleares em detalhes.
Ele é capaz de simular uma ampla variedade de reatores, desde reatores de pesquisa
até reatores comerciais de grande escala.

A relação entre a biblioteca JEFF e o código SERPENT é, portanto,


fundamental para a simulação de reatores nucleares. A biblioteca JEFF fornece os
dados nucleares necessários para as simulações, enquanto o código SERPENT é
responsável por realizar as simulações em si. Juntos, esses recursos permitem que
os engenheiros nucleares simulem o comportamento de reatores nucleares com um
alto grau de precisão e confiabilidade

Em nossa pesquisa foi utilizada a biblioteca de dados nucleares JEFF-3.1, pois


enquanto o objetivo da biblioteca JEF-2.2 (1992) era alcançar melhor desempenho
para reatores e ciclos de combustível existentes, seu sucessor, o projeto JEFF-3, visa
fornecer aos usuários um conjunto mais extenso de dados para uma ampla gama de

34
aplicações. Enquanto reatores e ciclos de combustível existentes continuam a ser as
áreas de aplicação essenciais da biblioteca de dados nucleares, conceitos inovadores
de reatores (sistemas Gen-IV), transmutação de resíduos radioativos, fusão,
aplicações industriais, e várias aplicações industriais não relacionadas à energia são
agora também consideradas como áreas de aplicação científica que farão uso dos
dados do JEFF (KONING et al., 2006).

A Figura 4 ilustra a evolução do projeto JEFF, incluindo a última versão do


JEFF-3.1.

Figura 4 – A evolução do projeto JEFF (KONING et al., 2006).

A versão JEFF-3.1 consiste nas seguintes bibliotecas:

 Uso geral de nêutrons;


 Dispersão térmica;
 Ativação de nêutrons;
 Dados de decaimento;
 Dados de rendimento de fissão;
 Propósito especial de prótons.

Várias atividades de dados nucleares experimentais ocorreram durante o


desenvolvimento do JEFF-3.1. O programa na instalação nTOF (Neutron Time Of
Flight) no CERN (Centre Européen pour la Recherche Nucléaire) incluiu medições de
captura e seção transversal de fissão, incluindo isótopos de relevância para o ciclo do
combustível de tório e vários isótopos trans-urânicos. O programa de medição no
IRMM (Institute for Reference Materials and Measurements) Geel cobriu
principalmente dados de nêutrons relacionados à transmutação de resíduos e outros

35
conceitos inovadores, bem como dados básicos de física nuclear e padrões (KONING
et al., 2006).

3.2. Fluído Dinâmica Computacional usando FLUENT

A fluidodinâmica computacional, ou no inglês, Computational Fluid Dynamics


(CFD), é uma maneira de estudar e analisar problemas relacionados à transferência
de calor e massa, podendo ser descrita como uma simulação de todos os processos
que envolvem efeitos e processos físicos e químicos com escoamento de fluídos.

Dentro dessa área de estudo envolvem-se a análise de velocidade, pressão,


temperatura e o tipo de fluxo (laminar ou turbulento) que varia com o número de
Reynolds.

Os fenômenos físicos no escoamento do fluido são descritos pelos princípios


de conservação de massa, energia e quantidade de movimento no espaço e tempo, e
para realizar essas análises, utiliza-se como modelo matemático a equação de
continuidade, conservação de energia e as equações de Navier-Stokes.

De forma independente, deduzidas por Claude Louis Marie Henri Navier e


George G. Stokes, as equações de Navier-Stokes pertencem a um grupo de equações
diferenciais parciais não lineares de segunda ordem em escoamento incompressível,
descrevendo o movimento de fluidos, relacionando com a pressão, velocidade e
densidade do fluído.

Os sistemas de equações encontrados pelas leis de conservação e pelas


equações de Navier Stokes podem ser utilizados, em teoria, para resolver problemas
de fluidodinâmica, entretanto pela complexidade das equações, não podem ser
resolvidas de forma analítica.

Atualmente existem métodos capazes de resolver o sistema de equações


através de uma variedade de técnicas como o método de diferenças finitas e volume
finito de elementos (Pritchard e Mitchell, 2015). Como a área de estudo desse trabalho
está na área de fluidodinâmica, iremos descrever as principais equações utilizadas
pelo pacote FLUENT.

As equações de Navier Stokes para fluidos incompressíveis são baseadas nas


leis de balanço do momento linear. As equações que governam o problema

36
hidrodinâmico de um fluido newtoniano incompressível incluem as equações de
Navier-Stokes e a equação de conservação de massa e são descritas por

𝜕𝑣 (2)
𝜌 + 𝜌𝑣 ∗ ∇𝑣 − µ∆𝑣 + 𝛻𝑝 = 𝑓
𝜕𝑡
(3)
𝛻 · 𝑣 = 0

unidas a uma condição inicial para o campo de velocidade e condições de contorno


adequadas, onde:

v: velocidade do fluído;

ρ: densidade;

t: tempo;

μ: viscosidade do fluído em um determinado ponto;

p: pressão;

f: forças que atuam no corpo (como a gravidade).

PRITCHARD (2015) obtém a equação diferencial dos momentos espaciais,


onde forças dFx, dFy e dFz agem sobre um elemento de massa dm, e as equações
diferenciais de movimento aparecem na forma:

𝜕𝜎𝑥𝑥 𝜕𝜏𝑦𝑥 𝜕𝜏𝑧𝑥 𝜕𝑢 𝜕𝑢 𝜕𝑢 𝜕𝑢 (4)


𝜌𝑔𝑥 + + + = 𝜌( +𝑢 +𝑣 +𝑤 )
𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧
𝜕𝜏𝑥𝑦 𝜕𝜎𝑦𝑦 𝜕𝜏𝑧𝑦 𝜕𝑣 𝜕𝑣 𝜕𝑣 𝜕𝑣
𝜌𝑔𝑦 + + + = 𝜌( +𝑢 +𝑣 +𝑤 ) (5)
𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧

𝜕𝜏𝑥𝑧 𝜕𝜏𝑦𝑧 𝜕𝜎𝑧𝑧 𝜕𝑤 𝜕𝑤 𝜕𝑤 𝜕𝑤


𝜌𝑔𝑧 + + + = 𝜌( +𝑢 +𝑣 +𝑤 ) (6)
𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧

Em problemas independentes do tempo, x, y, z são variáveis independentes,


as variáveis dependentes P (pressão), ρ (densidade) e as três componentes do vetor
velocidade; u (componente na direção x), v (componente na direção y), w
(componente na direção z), como funções de três variáveis independentes.

Essas equações são equações diferenciais de movimento para qualquer fluido


que satisfaça a suposição do contínuo. Antes de utilizar as equações para resolver u,

37
v e w, expressões adequadas para as tensões devem ser obtidas em termos de
velocidade e pressão.

O termo do lado esquerdo da equação do momento é chamado de termo de


convecção, que é um processo físico que transfere energia térmica por meio do
movimento de um fluido em um campo de temperatura ou pressão diferente.

O termo do lado direito da equação do momento multiplicado pelo inverso do


número de Reynolds é chamado de termo de difusão, que é um processo físico no
qual a transferência de certas propriedades do fluido ocorre através do movimento
aleatório das moléculas do fluido. Esta difusão está relacionada com a tensão
mecânica e viscosa do fluido. A turbulência e as camadas limite são criadas como
resultado da difusão no fluxo.

Adicionalmente, temos a equação de continuidade que relacionam as


componentes de velocidade u, v e w com a pressão p do fluido. Para um fluido
incompressível, ρ = constante; a densidade não é uma função das coordenadas do
espaço nem uma função do tempo. Para um fluido incompressível, a equação de
continuidade aparece como:

𝜕𝑢 𝜕𝑣 𝜕𝑤 (7)
+ + =0
𝜕𝑥 𝜕𝑦 𝜕𝑧

PRITCHARD (2015) observa a conservação de energia de fluidos


incompressíveis, a partir da equação de Navier-Stokes, se obtém a equação 7:

𝜕𝑢ℎ 𝜕𝑣ℎ 𝜕𝑤ℎ 𝜕 𝜕𝑇 𝜕 𝜕𝑇 𝜕 𝜕𝑇


+ + = (𝜆 ) + (𝜆 ) + (𝜆 )
𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜕𝑥 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑧 𝜕𝑧
(8)
𝜕 𝜇 𝑇 𝜕ℎ 𝜕 𝜇 𝑇 𝜕ℎ 𝜕 𝜇 𝑇 𝜕ℎ
+ (𝜆 )+ (𝜆 ) + (𝜆 ) + 𝜓 + 𝑆𝑇
𝜕𝑥 𝑃𝑟𝑇 𝜕𝑥 𝜕𝑦 𝑃𝑟𝑇 𝜕𝑦 𝜕𝑧 𝑃𝑟𝑇 𝜕𝑧

A equação 7 é derivada da primeira lei da termodinâmica, onde a taxa de


variação de energia é igual a soma da taxa líquida de calor inserida no sistema mais
a taxa líquida de trabalho realizado pelo sistema em um volume controle. O trabalho
realizado em um volume de controle é considerado o produto das forças de superfície
pela componente velocidade. Os fluxos de energia podem ser arranjados aplicando a
lei de Fourier para condução de calor, que relaciona o fluxo de calor com o gradiente
de temperatura local. Os efeitos provenientes de tensões viscosas são representados
38
através da função dissipação ( ), que demonstra uma fonte de energia provocada

pelo trabalho de deformação no fluido. A energia de um fluido é definida como a soma


das energias internas, cinética e potencial gravitacional (ZINGG, 1999).

As equações de balanço dos momentos (3, 4 e 5), a equação de balanço de


massa (6), e a equação de conservação da energia, em conjunto com as condições
de contorno compõem o modelo matemático do problema de fluidodinâmica. A
resolução numérica deste sistema é implementada no código FLUENT através do
método de volumes finitos.

39
4. MODELAGEM COMPUTACIONAL

Para realização da modelagem computacional da análise dos fenômenos


termo-hidráulicos foi utilizado o FLUENT, o qual é utilizado para realizar estudos do
comportamento do fluxo, resfriamento, pressão e distribuição de temperatura.

Para análise dos fenômenos neutrônicos, foi utilizado o software SERPENT-2,


o qual se baseia em códigos que utilizam bibliotecas de seção transversal de formato
ACE baseada em bibliotecas de dados nucleares.

4.1. Simulação neutrônica

O reator em análise é constituído por 69 conjuntos de combustível dispostos


em uma rede quadrada com passo de 21,5 cm. O núcleo apresenta configuração
geométrica com um quarto de simetria (GARCÍA et al, 2018). A Figura 5 ilustra a
distribuição radial dos conjuntos de combustível no núcleo e seus enriquecimentos em
U-235. A potência térmica do núcleo é de 530 MWt, com dimensões equivalentes a
altura e diâmetro de 240 e 200 cm, respectivamente.

Figura 5 - Diagrama do núcleo e do conjunto de combustível (Adaptado de GARCÍA et al, 2018).

Nas simulações, o domínio computacional utiliza o modelo de um pin do reator


mPower, suas características aparecem na Tabela 1.

40
Tabela 1 – Dados do pin do conjunto combustível do reator mPower usado como modelo geométrico
de simulação (Próprio autor, 2022).

Dados principais do pin


0,4096
Raio da haste de combustível
cm
Raio interno do revestimento 0,418 cm
Raio externo do revestimento 0,475 cm
Passo de rede dos elementos 1,26 cm
Material UO2
Material do revestimento Zircaloy-4
Raio interno do tubo guia 0,561 cm
Raio externo do tubo guia 0,602 cm
Raio interno do tubo de
0,559 cm
instrumentação
Raio externo do tubo de
0,605 cm
instrumentação
Material do tubo Zircaloy-4
Espaçamento entre conjuntos 0,04 cm
Material do gás de enchimento Hélio
Altura do pin 240cm

O modelo geométrico do reator de pesquisa com base nas condições de


operação do mPower tem como refrigerante e transportador de calor, a água, por ser
disponível na natureza, fazer o papel de controlar a temperatura do núcleo do reator
e produzir vapor que se transforma em energia mecânica na turbina.
A Figura 6 ilustra a disposição dos materiais de geometria do pin do elemento
combustível. A liga de zircalloy é composta de Zr; 1,5%Sn; 0,2%Fe; 0,1%Cr, essa liga
oferece excelente resistência a corrosão no reator, excelente estabilidade à radiação
e 100% de revestimento contra corrosão galvânica proveniente do combustível.
O hélio em seu estado gasoso é utilizado no reator para cumprir o papel de
reduzir a temperatura dos produtos de fissão e o óxido de urânio tem a função de
gerar calor a partir da reação de fissão pela colisão de um único nêutron.

41
Zircalloy

Hélio

Dióxido de Urânio

Figura 6 – Disposição dos materiais e geometria do pin do conjunto combustível do reator mPower
(Próprio Autor, 2022)

Foi construído o arquivo de entrada da simulação contendo o modelo do pin,


conforme indicado no Nuclear Engineering Handbook (2009), no qual contém as
especificações do mPower com suas propriedades e dimensões associadas a ele,
com código SERPENT (vide anexo). Para realização da simulação foi necessário
informar as temperaturas de operação do reator, onde segundo IAEA (2012), temos
que a temperatura para o UO2 é 950K, para o zircaloy, temos 650K e a temperatura
da água 580K. Foi necessário definir as respectivas densidades conforme o código no
anexo I e as devidas bibliotecas associadas as temperaturas, para temperaturas entre
300-600K, temos a biblioteca 03c, para temperatura entre 601-900K, temos 06c, e
para temperaturas entre 900-1100K, temos a biblioteca 09c, cada uma delas
associada ao número atômico e os isótopos dos elementos.

A geometria foi modelada conforme os raios informados através da Tabela 1 e


a potência térmica do reator foi uniformemente distribuída a cada pin. Onde temos
530MW / 69 conjuntos / 264 pins, resultando em 31565,65W em cada pin. Para o
estudo realizado nesse trabalho, utilizou-se o pin de maior potência presente no
mPower, 56318,20W (BETANCOURT, 2021). Foi adicionado um detector de potência
na direção axial, com 100 divisões, possibilitando no resultado da simulação verificar
a distribuição de potência na direção vertical.

42
A condição de contorno escolhida foi a reflexiva; nessa condição, toda vez que
uma partícula atinge uma superfície, ela é refletida de volta para dentro da geometria
com uma energia e direção opostas àquelas com que atingiu a superfície. A condição
de contorno reflexiva é uma aproximação razoável para superfícies altamente
refletoras, como espelhos de nêutrons, e bastante aplicada para simular refletores em
torno de um reator.

Após realizado os ajustes da simulação em SERPENT, foi feita a execução


(desenvolvimento do código é mostrado em anexo II) com os resultados apresentados
no próximo capítulo.

4.2. Simulação termo-hidráulica

A geometria do pin foi produzida a partir do ANSYS DesignModeler, um


software de modelagem 3D baseado em geometria paramétrica que permite que os
usuários criem e editem modelos 3D complexos para uso em simulações e análises
de engenharia. Ele é frequentemente usado em conjunto com outros softwares
ANSYS, como o ANSYS FLUENT, para criar modelos de geometria complexa para
simulações CFD (dinâmica de fluidos computacional), e com o ANSYS Mechanical,
para simulações estruturais. Podemos ver a geometria do pin a partir da Figura 7.

Figura 7 – Geometria do pin do reator em ANSYS DesignModeler (Próprio Autor, 2023).

Na construção da malha foi utilizada a ferramenta Meshing do software Ansys,


onde foi estudado a geometria do pin no quesito refinamento de malha, locais onde

43
existe uma maior distribuição de temperatura e requerem maior refinamento a fim de
alcançar uma malha aceitável para obter resultados consistentes.

A malha construída poderia ser construída utilizando dois tipos de elementos,


tetraédricos ou hexaédricos, sendo que os tetraédricos são utilizados para estudo de
geometrias mais complexas e possuem menos acurácia quando se compara com
elementos hexaédricos, tanto no cálculo das integrais e interpolação para se chegar
ao resultado, assim apresentam uma qualidade de malha inferior.
Os elementos hexaédricos por sua vez não são aplicados a geometrias
complexas, mas seus resultados de integração e interpolação são mais precisos,
possuindo qualidade de malha superior.
Para se construir a malha do pin, foi escolhida os elementos de geometria
hexaédricos. A malha é gerada pelos métodos multizone e sizing, que se baseia no
entrelaçamento de zonas independentes, proporcionando uma decomposição
automática da geometria em regiões de varredura e regiões livres, o que resultou na
malha mostrada na Figura 8.

Figura 8 – Malha produzida para o pin do reator mPower com elementos hexaédricos (Próprio autor,
2022).

44
A Figura 8a mostra a distribuição de elementos na entrada do pin (inlet), a
Figura 8b mostra a distribuição na saída (outlet), e a Figura 8c demonstra a
distribuição de elementos hexaédricos ao longo do pin. O pin possui 4563772 nós e
4177375 elementos e a métrica usada para analisar a qualidade da malha foi o
Skewness, onde segundo ANSYS (2021), valores inferiores a 0.5 sugerem elementos
de boa qualidade. Os resultados do parâmetro de qualidade da malha Skewness são
mostrados na Figura 9.

Figura 9 – Parâmetros de qualidade de malha para a malha construída (Próprio autor, 2022).

Podemos perceber que essa malha possui elementos com Skewness entre 0 e
0,50, com os piores elementos localizados em alguns pontos ao redor na malha e
poucos no centro do domínio, onde foi necessário um tratamento mais detalhado. Os
valores aceitáveis de Skewness variam de acordo com a aplicação e com o software
utilizado. No entanto, como regra geral, os valores de Skewness devem estar
próximos de zero ou negativos, preferencialmente abaixo de 0,5 ou 0,7 para
elementos tetraédricos. Para elementos hexaédricos, os valores aceitáveis devem
estar abaixo de 0,9 (GONZÁLEZ-FERNÁNDEZ et al., 2018).
A qualidade ortogonal da malha é uma medida de quão perpendicular as
arestas da malha são em relação à superfície da geometria e também definem o quão
excelente a malha pode ser. Em outras palavras, quanto mais próximas as arestas da
malha estiverem de serem perpendiculares à superfície da geometria, melhor será a
qualidade ortogonal da malha. A qualidade ortogonal da malha é importante em muitas
aplicações de simulação numérica, pois afeta a precisão e a estabilidade das soluções
(ANSYS, 2021). A qualidade ortogonal da malha em estudo pode ser analisada na
Figura 10.

45
Figura 10 – Parâmetros de qualidade ortogonal de malha referente a malha construída (Próprio autor,
2022).

A qualidade ortogonal da malha é geralmente expressa em uma escala de 0 a


1, onde 1 representa uma malha perfeitamente ortogonal, ou seja, todas as arestas
da malha são perpendiculares à superfície da geometria. Quanto mais próximo de 1
for o valor da qualidade ortogonal da malha, melhor será a qualidade da malha em
relação à ortogonalidade (LIU, ZHANG e YU, 2020). Assim podemos afirmar que a
malha do pin possui qualidade elevada, já que a grande parte dos elementos possuem
qualidade ortogonal próximos de 1.

Para a realização da simulação do modelo geométrico no código FLUENT, se


faz necessário realizar a configuração de parâmetros materiais do pin. Devemos
definição os materiais de cada seção do pin, sendo eles apresentados na Tabela 2.

Tabela 2 – Propriedades físicas dos materiais que compõem o domínio computacional (Próprio autor,
2022).

Material Densidade Calor Condutividade Viscosidade


(kg/m³) específico térmica (kg/m*s)
(J/kg*K) (W/m*K)
Água 998,2 4182 0,6 0,001003
Zircaloy C C C -
Helio 0,1785 5193 C -
Dióxido de C C C -
Urânio

46
As constantes C indicadas são valores que provenientes de equações
semiempirícas fornecidas por ÇENGEL (2015). Algumas propriedades são
consideradas constantes e outras variam conforme ocorrem mudanças de
temperatura ÇENGEL (2014) no reator, é necessário desenvolver funções que
implementem esse comportamento, e o FLUENT permite a união com código em
linguagem C para especificar essas propriedades (o desenvolvimento das funções são
mostradas no anexo I). Sendo assim, podemos apresentar na Tabela 3 as equações
que descrevem cada uma dessas propriedades em função da temperatura.

Tabela 3 – Equações das propriedades dos materiais do domínio computacional em função da


temperatura (Çengel, 2014).

Material Zircaloy
Densidade
Se T<= 1080K, 𝜌 = (6595,2 − 0,1417𝑇)
(kg/m³)
Se T<= 1800K, 𝜌 = (6690 − 0,1855𝑇)

Se T>1800K, 𝜌 = (6595,2 − 0,1417𝑇)

Calor Se T<=1093K, 𝑐𝑝 = (260,85 + 0,1371𝑇)


específico (𝑇−1163)2
−( )
(J/kg*K) Se T<=1173K, 𝑐𝑝 = (260,85 + 0,1371𝑇 + 565𝑒 1100 )

(𝑇−1183)2
4 2 −( )
Se T<=1293K, 𝑐𝑝 = (634,6 − 0,4𝑇 + 1,6 ∗ 10 𝑇 + 530𝑒 2390 )

Se T<=2000K, 𝑐𝑝 = (634,6 − 0,4𝑇 + 1,6 ∗ 104 𝑇 2 )

Condutividade 𝑘 = (12,767 − 5,4348 ∗ 10−4 𝑇 + 8,9818 ∗ 106 𝑇²)


térmica
(W/m*K)
Material Hélio
Condutividade 𝑇
𝑘 = (2,517 ∗ 10−3 ∗ )
térmica 10,72

(W/m*K)
Material Dióxido de Urânio

47
Densidade Se T<= 923K, 𝜌 = (10,250 ∗ (0,99734 + 9,802 ∗ 10−6 𝑇 − 2,705 ∗
10−10 𝑇 2 + 4,291 ∗ 10−13 𝑇 3 )−3 )
(kg/m³)
Se T<=3120K, 𝜌 = (10,250 ∗ (0,99672 + 1,179 ∗ 10−5 𝑇 − 2,429 ∗
10−9 𝑇 2 + 1,219 ∗ 10−12 𝑇 3 )−3 ∗ 10,250)

Calor 𝑇 𝑇 2
𝑐𝑝 = (52,1743 + 87,951 ∗ − 84,2411 ∗ ( ) + 31,542
específico 1000 1000
3 4
𝑇 𝑇
(J/kg*K) ∗( ) − 2,6334 ∗ ( ) + 0,71391
1000 1000
𝑇 −2
∗( ) )/270,03
1000

Condutividade 100
𝑘=( )
térmica 7,5408 + 17,692 ∗ 0,001 ∗ 𝑇 + 3,6142 ∗ (0,001𝑇)2

(W/m*K)
6400
+( 16,35 )
5/2 −
0,001𝑇 ∗ 𝑒 0,001𝑇

Seguindo o modelo de reator escolhido e coletando as informações do Nuclear


Engineering Handbook (2009), temos que a potência desse reator é de 530MW,
porém após estudos realizados por (SANTOS et al, 2021), utilizando o SERPENT
auxiliado do MATLAB, pode-se construir por um ajuste polinomial usando o método
do mínimos quadrados da distribuição uniforme com passo de 0,24cm na direção axial
e cada potência associada aos pontos, um polinômio de grau 6 que descreve a
distribuição de potência no pin do reator em função da altura. O polinômio de ajuste é
utilizado para acoplarmos a distribuição de potência obtido no SERPENT ao cálculo
termo-hidráulico; uma representação do polinômio é oferecida na Figura 11.

48
Figura 11 – Representação da distribuição de potência do pin em função da altura z (Próprio
autor, 2022).

A potência inicial em função da altura z é descrita pela expressão:

𝑃1(𝑧) = (−147297,44627𝑧^6 + 1072375,764𝑧^5 − 2561593,4986𝑧^4 + 2038809,9342𝑧^3 −


(9)
1072789,4076z^2 + 2355435,7277z +2023488,9411)𝑊/𝑚³

Com a potência térmica estabelecida, é necessário definir as condições de


contorno do problema. Em problemas de fluxo, relaciona-se velocidade e pressão em
dois pontos em um fluxo constante descrito pela equação de Bernoulli
(NUSSENZVEING, 2014). Foi definida a taxa de fluxo de massa constante de
0,062kg/s no sentido normal do contorno do pin com temperatura de 563,65K na
entrada (inlet). No encontro entre o combustível e o hélio, hélio e o zircaloy-4, zircaloy-
4 e a água, foram definidas CC (condições de contorno) de interface, que se baseiam
no princípio de que dois corpos que estão em contato devem ter a mesma temperatura
na área de contato e no princípio de que uma interface não armazena energia, assim
a condução de calor na superfície do primeiro material é igual à condução de calor na
superfície do segundo material (CONNOR, 2022).

O FLUENT define de forma automatizada as condições de contorno do tipo wall


nas paredes de cada material devido que as velocidades e fluxo de massa nesses
locais são nulos. Da mesma forma, o FLUENT define a condição de contorno do tipo
symmetry para o volume ocupado pela água, essa condição de contorno é aplicada
em um plano ou eixo de simetria do modelo. A condição de contorno de simetria define
que a solução para o problema deve ser simétrica em relação a esse plano ou eixo, o
49
que permite reduzir o tamanho do modelo que precisa ser simulado. Em outras
palavras, apenas metade do modelo precisa ser simulado, com a outra metade sendo
uma imagem espelhada da metade simulada. Isso pode reduzir significativamente o
tempo de computação necessário para obter uma solução precisa do problema.
(ANSYS, 2021).

Na saída (outlet) foi definida a condição de contorno de pressure-outlet,


aplicada quando existe uma taxa de fluxo baseada numa saída a alta pressão e
temperatura controlada. Utilizou um multiplicador de pressão de 0.05 e temperatura
de saída de 592,05K.
O método de solução numérica foi definido como a Coupled, médodo de
solução acoplado. Embora outras soluções numéricas tenham sido testadas, não
apresentaram discrepâncias relevantes. O método Coupled utiliza o acoplamento da
pressão e a taxa de fluxo de massa para obter a solução e geralmente oferece maior
estabilidade do que os outros métodos (ANSYS, 2021).

Como os esquemas de discretização definem como o solver do FLUENT


calcula gradientes e interpola variáveis para locais não armazenados, as
configurações padrões são adequadas para a maioria dos casos. Como esquema de
acoplamento foi escolhido o pseudo-transiente, que introduz uma melhora na
estabilidade da simulação auxiliando na convergência.

A turbulência k-epsilon foi o modelo de turbulência utilizado, e consiste na


abordagem de modelo de turbulência de duas equações que utiliza duas variáveis
para descrever a turbulência: energia cinética turbulenta k e a taxa de dissipação de
energia turbulenta épsilon. O modelo k-epsilon assume que a turbulência é
homogênea e isotrópica, o que significa que a turbulência é a mesma em todas as
direções e em todos os pontos de um fluxo. Ele também considera que a turbulência
é essencialmente governada pelo gradiente local de velocidade e pela viscosidade do
fluido (ANSYS, 2021).

Na simulação do pin, o modelo k-epsilon é usado para prever os campos de


velocidade e pressão em uma solução de fluxo turbulento.

Para deter o método interativo e critério de convergência foi utilizado resíduos


na ordem de 10-6 para a energia e 10-3 para as demais variáveis (continuidade,
velocidade em x, y, e z, energia cinética k e taxa de dissipação de energia turbulenta

50
épsilon). A simulação foi proposta com 1000 iterações, chegando a convergência em
cerca de 265 iterações e alcançando os resíduos pré-estabelecidos.

4.3. Acoplamento das simulações termo-hidráulica e neutrônica

Para realização do acoplamento foi desenvolvido um código em linguagem


Python, responsável pela interação automática entre os códigos.

As rotinas de cálculo acopladas no SERPENT foram projetadas com os


cálculos multifísicos no estilo de iteração de Picard. Neste tipo de iteração, os
solucionadores separados podem ser iterados subsequentemente para um
determinado ponto de estado até que uma convergência seja alcançada, após o que
a simulação passará para o próximo ponto de tempo. O número máximo de iterações
em cada ponto de tempo pode ser especificado pelo usuário.
O acoplamento é representado pelo fluxograma presente na Figura 12:

Figura 12 – Fluxograma representando o acoplamento automatizado (Próprio Autor, 2022).

51
1: Iniciar a simulação no SERPENT: Potência (P), s0, ∅𝟎
Os valores iniciais e as variáveis de entrada são definidos nesta linha (Arquivo
entrada do SERPENT). O valor de P representa a potência total necessária do reator.
O valor inicial s0 é o tamanho da amostra. A distribuição inicial de fluxo de nêutrons
(ou potência) ∅0 deve ser normalizada para que a potência total correspondente seja
igual a P.
𝑇0 ; 𝜌0 → 𝑃0
A distribuição inicial da densidade de potência é obtida com um cálculo de
criticidade:
For n=1,2,3...
2: Ler a distribuição de potência obtida no SERPENT
Abrir arquivo de saída file_core0.m
𝑃𝑛−1 = [ … ]
3: Executar o ajuste polinomial de grau n da distribuição de potência

𝑃𝑛−1 = [ … ] → 𝑃𝑝𝑜𝑙𝑦 𝑛−1 = [… ]

4: 𝑭𝒍𝒖𝒆𝒏𝒕(𝑷𝒑𝒐𝒍𝒚 𝒏−𝟏 ) → 𝑻𝒏 ; 𝝆𝒏

A distribuição resultante é passada para o FLUENT para obter a nova


distribuição de temperatura (combustível e líquido refrigerante) e a nova densidade
(líquido refrigerante), em cada iteração, a distribuição de potência é atualizada com o
valor obtido na iteração anterior.
5: Abrir o arquivo de entrada SERPENT e atualizar os valores de temperatura e
densidade obtidos no FLUENT.
𝑇𝑛−1 ; 𝜌𝑛−1 → 𝑇𝑛 ; 𝜌𝑛
6: Executar a simulação no SERPENT com os novos valores
𝑇𝑛 ; 𝜌𝑛 → 𝑃𝑛
A distribuição de densidade de potência é avaliada. As propriedades do
combustível e do refrigerante nos cálculos de transporte de nêutrons são atualizadas
com as novas seções transversais e densidade. É importante observar que as
dimensões dos componentes não são alteradas.
5: If (converged ou nmax ) STOP, else CONTINUE
O algoritmo é parado de acordo com um critério a ser escolhido. Embora nem
a convergência nem o número máximo de iterações (nmax) tenha sido alcançado, o
padrão é repetido.
Para o desenvolvimento do código de acoplamento entre as duas simulações,
foi utilizado a linguagem de programação Python, que permite a realização de

52
automação interativa entre diversos softwares de forma autônoma. O software
escolhido para realizar o desenvolvimento do código foi o VSCode (Visual Studio
Code), o qual permite a integração de qualquer linguagem. Para realizar a captura de
telas e automatizar as tarefas em outros softwares, foi utilizado a ferramenta Python
denominada de BotStudio, ao qual permite através de capturas de telas realizar
execução de tarefas.
Foi produzido uma tela interativa para facilitar a inicialização da simulação e
observar os resultados gerados a cada iteração, conforme a Figura 13.

Figura 13 – Interface do acoplamento (Próprio autor, 2023)

O código em Python foi desenvolvido e pode ser analisado através do anexo


IV. Os resultados do código de automação em Python são discutidos no próximo
capítulo.

53
5. RESULTADOS E DISCUSSÃO

5.1. Análise neutrônica

O SERPENT produz um arquivo resultado do tipo .core0 com os pontos de


potência em cada seção da altura do pin escolhido; foi pré-definido 100 divisões na
altura, com passo de 2,4cm. Foi realizado uma regressão não linear através do
software MATLAB, conforme anexo III, para se obter uma curva que descrevesse a
potência do reator em função da altura (z) e gerasse uma expressão um polinômio de
6ª ordem para ser introduzida no acoplamento. A distribuição de potência é mostrada
na Figura 8, assim como a expressão analítica obtida (necessária para realizar a
simulação termo-hidráulica). Da análise da Figura 8 nota-se que a distribuição de
potência é consistente com problema físico. A distribuição é simétrica com o máximo
localizado na região central do pin.

Foi realizado a plotagem da geometria produzida pelo SERPENT conforme a


Figura 5, demonstrando a disposição dos materiais no pin. É importante ressaltar que
a potência produzida no pin coincide com a potência estabelecida para o
funcionamento do reator, tendo em vista que foi feita uma distribuição uniforme da
potência nominal para inicialização da simulação neutrônica.

5.2. Análise termo-hidráulica

Utilizando a distribuição de potência gerada no SERPENT, foi realizada a


simulação termo-hidráulica utilizando o código ANSYS FLUENT, podemos visualizar
os resultados da simulação com 1000 iterações e conversão em torno de 265
iterações com resíduos em torno de 10-6 em todas variáveis, exceto a energia (10-3).
O modelo de reator escolhido nos fornece a temperatura de entrada de 563,65K e
temperatura de saída, 592,05K, o que coincide com a temperatura nestes contornos;
na Figura 14 podemos verificar os resultados gerais de temperatura em todo o pin,
com temperatura mínima de 563,65K (presente no Zircaloy) e máxima de 1214,81K
(no interior do UO2).

54
Figura 14 – Distribuição de temperatura no pin (Próprio autor, 2022).

A Figura 15 mostra a representação da temperatura na entrada da geometria


(inlet), com o valor esperado de 563,65K em todas as áreas do canal composto por
água, o que satisfaz a condição de contorno.

55
Figura 15 – Distribuição de temperatura do refrigerante na entrada do pin (Próprio autor, 2022).

Na Figura 16, podemos verificar a distribuição de temperatura na saída do canal


(outlet), com uma temperatura variante na face do mesmo. Podemos perceber que
em (a) temos o valor de 588,88K. Já em (b), temos o valor temperatura de 590,98K,
de forma que a temperatura média em outlet é em torno de 590,93K.

(a) (b)

Figura 16 – Distribuição de temperatura na saída do pin (a) Temperatura na região superior esquerda
em azul escuro do pin (b) Temperatura na região superior central em azul claro do pin (Próprio autor,
2022).

Observando as temperaturas médias em 100 pontos ao longo da altura do pin,


temos que na região do combustível temos 802,15K, no hélio, 621,92K, para o zircaloy
temos 600,89K, e para a água a temperatura média é de 577,87K. Ao analisarmos a
56
distribuição de temperatura dos componentes do pin, podemos fazer a plotagem da
curva de distribuição de temperatura dos elementos presentes na Figura 17. A análise
da Figura 17 nos permite afirmar que as distribuições de temperatura são consistentes
com o problema físico. O fluxo de calor é gerado no combustível onde aparecem as
maiores temperaturas. Observando-se a diminuição da temperatura na direção do
refrigerante (água). Os valores máximos aparecem na região central, onde são
geradas maiores potências.

Figura 17 – Distribuição de temperatura dos materiais ao longo da altura z no pin simulado (Próprio
autor, 2022).

Um fator relevante a ser mencionado é em relação a conservação do fluxo


mássico, sendo a vazão mássica de entrada de 0,06199kg/s e 0,06200kg/s na saída,
resultando em uma vazão mássica neta de -8.1488e-07, temos a conservação do fluxo
de massa, o que implica na validação da equação de continuidade, onde temos a
passagem de um material com a mesma densidade, fluxo de massa e velocidade
constante por uma mesma área.

57
5.3. Acoplamento manual

Para inicializar a automatização do processo de acoplamento, realizamos


primeiramente o acoplamento de forma manual para validar o fluxograma
representado na Figura 12.

Iniciando com uma potência de 56318,2W no pin e simulando essa potência


para uma população de 50000 nêutrons por ciclo, 200 ciclos ativos e 30 inativos,
obtendo a distribuição de potência representada na Figura 8.

Utilizando o polinômio produzido pelo SERPENT como potência térmica no


FLUENT, realizamos a simulação termo-hidráulica obtendo a distribuição de
temperatura no pin, representada na Figura 18 com as temperaturas de cada região
material apresentadas na Tabela 4.

Tabela 4 – Temperatura média das regiões materiais do pin após a primeira simulação termo-
hidráulica (Próprio autor, 2022).

Material Temperatura (K)


Dióxido de Urânio 802,15
Helio 621,92
Zircaloy 600,89
Água 577,87

A partir das temperaturas obtidas, foi realizada a atualização destes valores no


SERPENT e realizada uma nova simulação neutrônica, alcançando o comparativo
entre as distribuições de potência apresentado na Figura 18.

58
(a) (b)

Figura 18 – Comparativo das distribuições de potência obtidas nas simulações neutrônicas (a)
Simulação neutrônica passo 1 (b) Simulação neutrônica passo 2 (Próprio autor, 2022).

Podemos observar que as simulações neutrônicas 1 e 2 apresentam valores


com erro relativo baixo sendo a media erro inferior a 3%, conforme mostrado a seguir.

∑100
1 𝛿 (10)
𝛿𝑚é𝑑𝑖𝑜 =
100
(11)
𝛿𝑚é𝑑𝑖𝑜 = 2,68%

Eles percorrem intervalos de potências próximos e sem discrepâncias


significativas. Com auxílio do MATLAB, o polinômio de ajuste de potência P2 é
descrito pela expressão:

𝑃2(𝑧) = (−245439,14768𝑧 6 + 1667453,2607𝑧 5 − 3789803,5428𝑧 4 + 2890638,2827𝑧 3


(12)
− 891889,33569𝑧 2 + 2166304,7529𝑧 + 1901393,0313) 𝑊/𝑚³

Da mesma forma, foi utilizado o polinômio P2 como potência da simulação termo-


hidráulica, fornecendo o comparativo da distribuição de temperatura entre a primeira
e segunda iteração representado na Figura 19.

59
(a) (b)

Figura 19 – Comparativo das distribuições de temperatura obtida nas simulações termo-hidráulicas


(a) Simulação termo-hidráulica iteração 1 (b) Simulação termo-hidráulica iteração 2 (Próprio autor,
2022).

Ambas simulações apresentam a distribuição de temperatura semelhantes em


todos os materiais não havendo diferenças relevantes, o que mostra que o método
pode se convergir com um número pequeno de iterações. A Tabela 5 apresenta o
comparativo entre as temperaturas médias dos materiais em cada iteração.

Tabela 5 – Comparativo da temperatura média das regiões materiais do pin na iteração 1 e 2 (Próprio
autor, 2022).

Iteração 1 Iteração 2
Material Temperatura (K) 𝛿(%)
Dióxido de Urânio 803,26 803,21 0,006
Helio 622,61 622,47 0,071
Zircaloy-4 601,51 601,36 0,025
Água 578,41 578,26 0,026

Podemos verificar que as temperaturas médias em cada material não sofrem


alterações muito grandes, sendo a diferença inferiro a 1R em todos os materiais. O
que sugere que com poucas iterações pode-se chegar a convergência do
acoplamento.

60
Foi realizada a terceira e última iteração para validar o acoplamento manual e
iniciar o desenvolvimento do processo automatizado. Aplicando na simulação
neutrônica as temperaturas encontradas através da última simulação termo-
hidráulica, podemos fazer o comparativo entre as duas últimas simulações
neutrônicas, conforme a Figura 20.

(a) (b)

Figura 20 – Comparativo das distribuições de potência gerada nas simulações neutrônicas (a)
Simulação neutrônica iteração 2 (b) Simulação neutrônica iteração 3 (Próprio autor, 2022).

Também pode-se observar que as simulações neutrônicas 2 e 3 apresentam


valores de distribuições de potência muito próximos, com valor médio do erro relativo
baixo.
(13)
𝛿𝑚é𝑑𝑖𝑜 = 3,98%

Percorrendo intervalos de potências próximos e sem discrepâncias significativas, com


auxílio do MATLAB obtemos o polinômio de ajuste P3 é apresentado pela expressão:

𝑃3(𝑧) = −97350,829547𝑧 6 + 574421,96085𝑧 5 − 691432,95118𝑧 4 − 1299837,9415𝑧 3 (14)


+ 1759067,3693𝑧 2 + 1483039,3571𝑧 + 1999575,7861)𝑊/𝑚³

Utilizamos polinômio P3 como potência térmica da simulação termo-hidráulica,


fornecendo o comparativo das distribuições de temperatura entre a segunda e terceira
simulação representado na Figura 21.

61
(a) (b)

Figura 21 – Comparativo das simulações termo-hidráulicas (a) Simulação termo-hidráulica 2 (b)


Simulação termo-hidráulica 3 (Próprio autor, 2022).

Podemos verificar que a distribuição de temperatura da água, hélio e zircaloy-


4 não houve alterações relevantes, mas quando olhamos para a distribuição do UO 2
observamos uma alteração na região central do pin, mas que não traz impacto na
temperatura média representada pela Tabela 6.

Tabela 6 – Comparativo das temperaturas médias das regiões materiais do pin na iteração 2 e 3
(Próprio autor, 2022).

Iteração 2 Iteração 3
Material Temperatura (K) 𝛿(%)
Dióxido de Urânio 803,21 801,69 0,189
Helio 622,47 621,89 0,093
Zircaloy 601,36 600,91 0,074
Água 578,26 578,94 0,11

Na Tabela 6, observamos uma variação na ordem de 1K no combustível, hélio


e no zircaloy, e de menos de 1K na água. Pode-se observar que os resultados obtidos
nas três primeiras iterações realizadas a modo manual apresentam temperaturas
próximas, o que sugere que não serão necessárias muitas iterações para se alcançar
a convergência desejada.

62
5.4. Acoplamento automatizado com Python

Python é uma linguagem de programação de alto nível, interpretada e orientada


a objetos que vem sendo amplamente utilizada na área de automação devido à sua
simplicidade e eficiência. Através da criação de scripts e programas em Python, é
possível automatizar diversas tarefas repetitivas e complexas em diferentes áreas,
como a automação de testes, a automação de processos administrativos, a coleta e
análise de dados, dentre outras.

A automação com Python pode ser aplicada em diferentes cenários, desde a


automação de tarefas simples como o envio de e-mails em massa até a automação
de processos mais complexos, como a criação de fluxos de trabalho automatizados
para análise de dados em larga escala. Além disso, a utilização de Python em
automação também traz benefícios como a redução de erros humanos, a otimização
do tempo gasto em tarefas repetitivas e a melhoria na eficiência de processos em
diferentes áreas de atuação. Por esses motivos, Python foi a linguagem escolhida
automatizar o acoplamento.

Para a interação entre a simulação neutrônica e termo-hidráulica foi utilizado o


BotCity, uma plataforma de desenvolvimento de chatbots baseada na nuvem que
permite a criação de bots conversacionais de maneira simples e rápida, sem a
necessidade de conhecimentos avançados em programação. A plataforma oferece
uma interface visual amigável que permite aos usuários criar fluxos de conversa
personalizados, adicionar respostas predefinidas, integrar com ferramentas de
terceiros, entre outras funcionalidades.

Para a criação da interface gráfica, foi utilizada a biblioteca Tkinter, uma


biblioteca padrão do Python que permite criar interfaces gráficas de usuário (GUIs) de
maneira simples e intuitiva. Com Tkinter, é possível desenvolver janelas, botões,
menus, caixas de diálogo, dentre outros elementos visuais, além de criar layouts
personalizados para as aplicações. A GUI criada pode é apresentada na Figura 22 e
todo código e manual pode ser consultada no anexo IV e V, respectivamente.

63
Figura 22 – Interface gráfica de usuário do acoplamento automatizado (Próprio Autor, 2023).

No desenvolvimento do código, foram utilizadas 532 linhas em sua totalidade,


contemplando a inserção das bibliotecas, manipulação de arquivos (.cas.h5, .det0.m),
produção da expressão de potência, ciclo de repetição while e a elaboração da GUI.

Foi definido um número máximo de 10 iterações como suficientes para se


alcançar um resultado aceitável, observando que os resultados de temperatura
obtidos na seção anterior sempre estão com erro relativo inferior a 1%.

A Figura 23 apresenta os resultados da primeira iteração utilizando a


automação do acoplamento em Python.

64
Figura 23 – Resultados da primeira iteração utilizando automação em Python (Próprio autor, 2023)

Sabendo que a temperatura do hélio não é relevante por se tratar de um gás,


ela não foi apresentada na tela interativa. Podemos visualizar as quatro informações
mais relevantes: polinômio de ajuste da distribuição de potência (W/m³), temperaturas
da água, zircaloy e dióxido de urânio (as temperaturas são médias, considerando toda
região material).

Quando a simulação neutrônica é finalizada a ferramenta apresenta a distribuição de


potência de forma gráfica, a fim de verificar se o comportamento da potência térmica
gerada ao longo do pin está coerente com o problema físico. A representação gráfica
é ilustrada na Figura 24.

65
Figura 24 – Distribuição de potência ao longo do pin na ferramenta de acoplamento (Próprio autor,
2023).

Após realizada as 10 iterações, pode-se construir a Tabela 7 com as


temperatuas médias das regiões de água, zircaloy e UO2.

Tabela 7 – Temperaturas das regiões materiais em 10 iterações (Próprio autor, 2023)

Iteração Temp. da Água(K) Temp. do Temp. do UO2(K)


Zircaloy(K)
0 580,00 650,00 950,00
1 578,09 601,35 804,39
2 578,12 601,06 801,77
3 578,45 601,91 806,50
4 577,96 601,22 804,28
5 578,07 601,03 801,03
6 578,46 601,70 804,58
7 578,28 601,47 804,04
8 578,19 601,28 803,07
9 578,58 602,04 806,61
10 578,25 601,50 804,46

66
Observando a Tabela 7 pode-se verificar que as temperaturas ao longo das 10
iterações mostram valores que convergem para uma região de estabilidade,
apresentando um erro relativo pequeno, conforme mostra a Tabela 8.

Tabela 8 – Erro relativo da temperatura média nas regiões materiais do pin a cada iteração do
acoplamento com a ferramenta em Python (Próprio autor, 2023).

Iteração Erro Relativo da Erro Relativo da Erro Relativo da


Temp. da Água(%) Temp . do Temp. do UO2(%)
Zircaloy(%)
0 - - -
1 0,33 7,48 15,33
2 0,01 0,05 0,33
3 0,06 0,14 0,59
4 0,08 0,11 0,28
5 0,02 0,03 0,40
6 0,07 0,11 0,44
7 0,03 0,04 0,07
8 0,02 0,03 0,12
9 0,07 0,13 0,44
10 0,06 0,09 0,27

Na Tabela 8 é perceptível que o erro relativo é baixo, inferior a 1%, e divergiu


ao longo das iterações. Esse comportamento sugere que o mecanismo de
acoplamento é efetivo. Evidenciando a convergência das temperaturas para um valor
constante.

67
6. CONCLUSÕES E TRABALHOS FUTUROS

Diante do exposto, foi realizado simulações de um pin de reator de potência


mPower com potência térmica de 530MWt e dimensões de altura e diâmetro de 240
e 200 cm, respectivamente. Cada pin do reator possui 31565,65Wt e o pin de maior
potência presente no mPower é de 56318,20W. A princípio, fora realizado simulações
de forma independente, neutrônica e em seguida termo-hidráulica.

Na simulação neutrônica pode-se verificar a consistência com o problema físico


e obter a potência térmica para utilização na simulação termo-hidráulica. Através
dessa última, verificou-se a distribuição de temperatura em cada região material diante
da geometria proposta para o pin do mPower.

Ambas simulações são complementares, fazendo desse método multifísico,


sendo possível realizar o acoplamento, onde a distribuição de potência por volume
produzida pela simulação neutrônica é aplicada na simulação termo-hidráulica, e a
temperatura de cada elemento encontrada na simulação termo-hidráulica é aplicada
para uma nova iteração da simulação neutrônica.

Foi realizado três iterações através do acoplamento manual e percebeu-se um


erro relativo médio (δmédio) menor que 3% para a distribuição de potência e erro relativo
(δ) menor que 1% para a distribuição de temperatura, sendo a diferença inferior a 1R
em todos os materiais, sugerindo poucas iterações para alcançar a convergência do
acoplamento.

Foi possível construir uma metodologia computacional que automatiza ambas


simulações para se obter uma melhor aproximação das variáveis envolvidas na
linguagem de programação Python. As iterações ficaram a critério do usuário,
definindo como 10 iterações suficientes para alcançar uma aproximação com erro
relativo abaixo de 1%.

Uma interface foi produzida para facilitar a utilização do usuário com a


simulação multifísica e otimizar a visualização dos resultados finais, onde pode-se
verificar a expressão da distribuição de potência, um gráfico a fim de verificar a
consistência com o problema físico, e ao final as temperaturas das regiões materiais
que compõem o pin.

68
O acoplamento automatizado em Python pode ser explorado de forma mais
profunda, realizando simulação multifísica (neutrônica e termo-hidráulica) de um
núcleo do reator completo e não apenas de um pin, utilizando o erro relativo como
critério para deter o método.

69
7. REFERÊNCIAS

ABOU-EL-MAATY, T., Uncontrolled withdrawal of a control rod without scram,


Annals of Nuclear Energy, v. 35, n. 1, pp. 11-17, 2008.

AGÊNCIA INTERNACIONAL DE ENERGIA ATÔMICA - IAEA, “Escala Internacional


de Eventos Nucleares” - INES, Viena, 1990.

AGÊNCIA INTERNACIONAL DE ENERGIA ATÔMICA - IAEA, SAFETY SERIES 110,


“The Safety of Nuclear Installations”, Viena, 1993.

AGÊNCIA INTERNACIONAL DE ENERGIA ATÔMICA - IAEA, SAFETY SERIES 72,


“Principles for Establishing Intervention Levels for the Protection of the Public
in the Event of a Nuclear Accident or Radiological Emergency”, Viena, 1985.

ANSYS, ANSYS Fluent User’s Guide. 2021.

BAGWELL, S., LEDGER, P. D., GIL, A. J., MALLETT, M., KRUIP, M. "Uma estrutura
de elementos finitos hp linearizada para acoplamento acústico-magneto-
mecânico em scanners de ressonância magnética axissimétricos". Revista
Internacional de Métodos Numéricos em Engenharia. 112 (10): 1323-1352. doi :
10.1002/nme.5559, 2017.

BARATI, R., & SETAYESHI, S., A model for nuclear research reactor dynamics.
Nuclear Engineering and Design, 262, 251–263, 2013.

BETANCOUNT, M. C., MAZAIRA, L. R., HERNÁNDEZ, C. R. G., DOMINGUEZ, D, S.,


LIRA, C. A. B. O., Simulação Neutrônica do Núcleo de um Reator Nuclear do Tipo
iPWR Usando o Código Serpent, Vetor, Rio Grande, vol. 31, no. 1, pp. 84–93, 2021.

BETANCOURT, M. C.; HERNÁNDEZ, C. R. G.; MAZAIRA, L. Y. R.; LIRA, C. A. B. O.;


GARCÍA, J. A. R.; IGLESIAS S. M., Mixed-oxide fuel strategies in an integral
pressurized water reactor. Progress in Nuclear Energy, 139, 103844, 2021.

BRIESMEISTER, J.F., MCNPTM – A general Monte Carlo n-particle transport code


version 4C. Manual LA–13709–M, Los Alamos, 2000

CANAL ENERGIA, “Energia nuclear atinge recorde de geração no Brasil”, 2020.


Disponível em: https://canalenergia.com.br/noticias/53123857/energia-nuclear-
atinge-recorde-de-geracao-no-brasil

70
CARDOSO, E. M., A energia nuclear - 3.ed.- Rio de Janeiro: CNEN, 2012. (Apostila
educativa), 52 p.

CARELLI, M. D.; INGERSOLL, D. T. Handbook of Small Modular Nuclear Reactor.


Woodhead Publishing Ltd. p. 536, 2015.

CARELLI, M. D.; PETROVIC, B.; CAVLINA, N.; GRGIC, D. IRIS (International


Reactor Innovative and Secure) – design overview and deployment prospects.
In: International Conference Nuclear Energy for New Europe 2005, Blend, Slovenia, 5-
8 Setembro, 2005.

CASTRO, L., FRANÇOIS, J.-L., & GARCÍA, C., Coupled Monte Carlo-CFD analysis
of heat transfer phenomena in a supercritical water reactor fuel assembly. Annals
of Nuclear Energy, 141, 107312, 2020.

ÇENGEL, YUNUS A.; CIMBALA, JOHN M.. Mecânica dos fluídos: fundamentos e
aplicações. 3. ed. ed. Porto Alegre: AMGH, 2015.

CHATZIDAKIS, S., IKONOMOPOULOS, A., & RIDIKAS, D., Evaluation of


RELAP5/MOD3 behavior against loss of flow experimental results from two
research reactor facilities. Nuclear Engineering and Design, 255, 321–329, 2013.

CHATZIS, I. (2020). Small Reactos, Great Potential. IAEA Bulletin – Nuclear Power
and the Clean Energy Transition, vol 61 (3). Setembro de 2020.

COLLINGS, B. J., & SOBOL, I. M. (1997). A Primer for the Monte Carlo Method.
Journal of the American Statistical Association, 92(440), 1648.

COMISSÃO NACIONAL DE ENERGIA NUCLEAR, NORMA CNEN NE-3.01,


“Diretrizes Básicas de Radioproteção”, Rio de Janeiro, 2005.

CONNOR, N., Whats is interface boundary condition, Thermal Engineering, 2022.

COSTA, E. M. E MONTEIRO, I. A., “Controle Regulatório sobre os Efluentes


Radiativos da CNAAA-I”, Anais do III Encontro Nacional de Aplicações Nucleares –
III ENAN, Águas de Lindóia, 1995.

COSTA, E. M. E MONTEIRO, I. A., “Experiência e Perspectivas da Atuação da


CNEN no Licenciamento Ambiental de Reatores Nucleares”, Anais do VI
Congresso Geral de Energia Nuclear - CGEN, Rio de Janeiro, 1996.

71
D. S. SIQUEIRA, J. A. MEYSTRE, M. Q. HILÁRIO, D. H. D. ROCHA, G. J. MENON,
AND R. J. SILVA, “Current Perspectives on Nuclear Energy as a Global Climate
Change Mitigation Option,” Mitigation and Adaptation Strategies for Global Change,
vol. 24, no. 5, pp. 749–777, 2019.

ELETRONUCLEAR, Central nuclear de Angra bate recorde de geração em 2019.


2020. Disponível em: https://www.eletronuclear.gov.br/Imprensa-e-
Midias/Paginas/Central-nuclear-de-Angra-bate-recorde-de-gera%C3%A7%C3%A3o-
em-2019.aspx.

EL-KHATIB, H., EL-MORSHEDY, S. E.-D., HIGAZY, M. G., & EL-SHAZLY, K.,


Modeling and simulation of loss of the ultimate heat sink in a typical material
testing reactor. Annals of Nuclear Energy, 51, 156–166, 2013.

FARHADI, K., BOUSBIA-SALAH, A., & D’AURIA, F., A model for the analysis of
pump start-up transients in Tehran Research Reactor. Progress in Nuclear Energy,
49(7), 499–510, 2007.

G. CHEN, Z. ZHANG, Z. TIAN, L. LI, AND X. DONG, “Challenge Analysis and


Schemes Design for the CFD Simulation of PWR,” Science and Technology of
Nuclear Installations, vol. 2017, article ID 5695809, 2017.

GAHEEN, M. A., ELARABY, S., NAGUIB ALY, M., & NAGY, M. S., Simulation and
analysis of IAEA benchmark transients. Progress in Nuclear Energy, 49(3), 217–
229, 2007.

GONZÁLEZ-FERNÁNDEZ, A., GONZÁLEZ, J. J., & JARDON, A. Finite Element


Analysis of Mechanical Systems. Springer. 2018.

GROEN, D., ZASADA, S. J., COVENEY, P. V., "Survey of Multiscale and


Multiphysics Applications and Communities". Computing in Science &
Engineering. 16 (2): 34–43. arXiv:1208.6444. doi:10.1109/mcse.2013.47. ISSN 1521-
9615, 2014.

HARVEY, S. (2020). Smart, Stable, Reliable. IAEA Bulletin – Nuclear Power and the
Clean Energy Transition, vol 61 (3). Setembro de 2020.

HEALTH AND SAFETY EXECUTIVE - HSE, “The Tolerability of Risk from Nuclear
Power Stations”, Londres, 1992.
72
HOUSIADAS, C., Lumped parameters analysis of coupled kinetics and thermal-
hydraulics for small reactors, Annals of Nuclear Energy, v. 29, n. 11, pp. 1315-1325,
2002.

HOUSIADAS, C., Simulation of loss-of-flow transients in research reactors.


Annals of Nuclear Energy, 27(18), 1683–1693. 2000.

IAEA, “Advances in Small Modular Reactor Technology Developments,” A Suppl.


to IAEA Adv. React. Inf. Syst., 2018.

IAEA, 2020. Disponível em: https://pris.iaea.org

INSTITUTO BRASILEIRO DO MEIO AMBIENTE E DOS RECURSOS NATURAIS


RENOVÁVEIS - IBAMA, “Avaliação do Impacto Ambiental: Agentes Sociais,
Procedimentos e Ferramentas”, Brasília, 1995.

J. A. ROSALES GARCÍA, M. CECILIA BETANCOURT, L. ROJAS, J. D. L. BEZERRA,


C. A. B. D. O. LIRA, E C. R. GARCÍA HERNÁNDEZ, “New stage on the neutronics
and thermal hydraulics analysis of a small modular reactor core,” International
Journal of Nuclear Energy Science and Technology, vol. 12, no. 4, p. 400, 2018.
Disponível em:
https://www.inderscienceonline.com/doi/abs/10.1504/IJNEST.2018.097201.

J. LEPPÄNEN, “Serpent – a Continuous-energy Monte Carlo Reactor Physics


Burnup Calculation Code. VTT Technical Research,” Cent. Finl., 2019. Disponível
em: http://serpent.vtt.fi/mediawiki/index.php/Main.

KAZEMINEJAD, H., Thermal–hydraulic modeling of reactivity insertion in a


research reactor. Annals of Nuclear Energy, 45, 59–67, 2012.

KHATER, H., ABU-EL-MATY, T., & EL-MORSHDY, S. E.-D., Thermal-hydraulic


modeling of reactivity accident in MTR reactors. Annals of Nuclear Energy, 34(9),
732–742, 2007.

KHATER, H., ABU-EL-MATY, T., EL-MORSHDY, S. E.-D., Thermalhydraulic


modeling of reactivity accident in MTR reactors, Annals of Nuclear Energy, v. 34,
n. 9, pp. 732-742, 2007.

KNIEF, R. A. Nuclear Engineering Handbook (2nd ed.). CRC Press. 2009.

73
KONING, A., FORREST, R., KELLETT, M., MILLS, R., HENRIKSSON, H., RUGAMA,
Y., The JEFF-3.1 Nuclear Data Library, NUCLEAR ENERGY AGENCY, 2006.

KROESE, D. P., TAIMRE, T., & BOTEV, Z. I. Handbook of Monte Carlo methods.
John Wiley & Sons. 2014.

LAMARSH, J. R., BARATTA, A. J., Introduction to Nuclear Engineering, Third


Edition, Prentice Hall, Upper Saddle River, New Jersey 07458, 2001.

LEPPÄNEN, M. PUSA, T. VIITANEN, V. VALTAVIRTA, E T. KALTIAISENAHO, “The


Serpent Monte Carlo code: Status, development and applications in 2013,”
Annals of Nuclear Energy, vol. 82, pp. 142–150, 2015

LEWIS, E. E. Fundamentals of Nuclear Reactor Physics. Academic Press. 1 ed.


2008.

LIU, X., ZHANG, Y., & YU, G. Orthogonal quality-based adaptive mesh refinement
for discontinuous Galerkin method. Journal of Computational Physics, 414, 109429.
2020.

LIU, ZHEN (2018). Multifísica em Materiais Porosos. Cham, Suíça: Springer. ISBN
978-3-319-93028-2. OCLC 1044733613.

M. D. CARELLI, “IRIS: A global approach to nuclear power renaissance”, Nuclear


News, pp. 32-42, 2003. Disponível em:
http://www3.ans.org/pubs/magazines/nn/pdfs/2003-9-3.pdf

MCCULLOUGH, B. D., Random Number Generation and Monte Carlo Methods.


Technometrics, 46(2), 252–253, 2004.

MONGELLI, S. T., Geração Núcleo-Elétrica: Retrospectiva, Situação Atual e


Perspectivas Futura. Instituto de Pesquisas Energéticas e Nucleares, USP, 2006.

MURRAY, R. L. Nuclear energy: an introduction to the concepts, systems, and


applications of nuclear processes. 6 ed. United States of America: Butterworth-
Heinemann, 2009.

NUSSENZVEIG, H. M., Curso de Física Básica 2, 5ª ed. Editora Edgard Blucher


Ltda, 2014.

74
ORGANIZAÇÃO MUNDIAL DE SAÚDE - OMS, “Nuclear Power, The Environment
and Man”, 1982.

PALMIEIRI, B. L., SANTOS, A. A. C., SCHWEIZER, F. L. A., REZENDE, H. C.,


Avaliação de modelos numéricos de CFD para o estudo do escoamento de água
da piscina do RMB, International Nuclear Atlantic Conference - INAC 2013.

PRITCHARD, P. E MITCHELL, J., Fox and McDonald’s Introduction to Fluid


Mechanics, 9th Edition. Wiley, 2015.

RAIS, A., SIEFMAN, D., GIRARDIN, G., HURSIN, M., & PAUTZ, A., Methods and
Models for the Coupled Neutronics and Thermal-Hydraulics Analysis of the
CROCUS Reactor at EFPL. Science and Technology of Nuclear Installations, 2015,
1–9.

REIS, P. A. L., COSTA, A. L., PEREIRA, C., VELOSO, M. A. F., & MESQUITA, A. Z.,
Simulation of a TRIGA Reactor Core Blockage Using RELAP5 Code. Science and
Technology of Nuclear Installations, 2015, 1–10.

ROBERT, C. P., & CASELLA, G. Monte Carlo statistical methods. Springer Science
& Business Media. 2010.

RODRIGUES, N. (2022). RAEDER, F. Avaliando o potencial dos Small Modular


Reactors (SMRs) para a indústria nuclear. Ensaio Energético, 12 de julho, 2022.

SILVA, F. C., “Avaliação Neutrônica da Inserção de Trasurânicos em Reatores


Nucleares Tipo VHTR”, Programa de Pós-Graduação em Ciências e Técnicas
Nucleares da Escola de Engenharia da Universidade Federal de Minas Gerais, Belo
Horizonte, 2012.

SILVA, M. A. B.; LIRA, C. A. B. O.; BARROSO, A. C. O. Determination of a test


section parameters for IRIS nuclear reactor pressurizer. Progress in Nuclear
Energy. v. 53, p. 1181-1184, 2011.

SOARES, H. V., ARONNE, I. D., COSTA, A. L., PEREIRA, C., & VELOSO, M. A. F.,
Analysis of Loss of Flow Events on Brazilian Multipurpose Reactor Using the
Relap5 Code. International Journal of Nuclear Energy, 2014, 1–12, 2014.

T. L. SCHULZ, “Westinghouse AP1000 Advanced Passive Plant,” Nuclear


Engineering and Design, vol. 236, no. 14–16, pp. 1547–1557, 2006.
75
WORLD NUCLEAR ASSOCIATION. Heavy Water Reactors. 2022. Disponível em:
https://www.world-nuclear.org/information-library/nuclear-fuel-cycle/nuclear-power-
reactors/heavy-water-reactors.aspx

Z.-Y. HUNG, Y.-M. FERNG, W.-S. HSU, B.-S. PEI, AND Y.-S. CHEN, “Analysis of
AP1000 Containment Passive Cooling System during a Loss-of-Coolant
Accident,” Annals of Nuclear Energy, vol. 85, pp. 717–724, 2015.

ZARE, N., FADAEI, A. H., RAHGOSHAY, M., FADAEI, M. M., & KIA, S., Introducing
and validating a new method for coupling neutronic and thermal-hydraulic
calculations. Nuclear Engineering and Design, 240(11), 3727–3739, 2010.

ZINGG D.W., Fundamentals of Computational Fluid Dynamics, NASA Ames


Research Center, University of Toronto Institute for Aerospace Studies, Toronto, CN,
1999.

76
ANEXOS

ANEXO I – Propriedades físicas dos materiais que variam com a temperatura no pin
do reator

Material Zircaloy
Densidade #include "udf.h"
(kg/m³) DEFINE_PROPERTY(cell_densidad_zirlo, cell, thread){
real densidad_zirlo;
real T = C_T(cell, thread);
if(T<=1080){
(6595.2-0.1417*T);
}
if(T<=1800){
(6690-0.1855*T);
}
if(T>1800){
(6595.2-0.1417*T);
}
return densidad_zirlo;
}
Calor #include "udf.h"
específico #include "math.h"
(J/kg*K) DEFINE_SPECIFIC_HEAT(cell_cp_zirlo, T, Tref, h, yi){
real cp_zirlo;
real cp_z1;
real cp_z2;
real cp_z3;
real cp_z4;
real F1, F2;
F1 = 565*exp(-pow((T-1163),2)/1100);
F2 = 530*exp(-pow((T-1183),2)/2390);
cp_z1 = (260.85+0.1371*T);
cp_z2 = (260.85+0.1371*T+F1);

77
cp_z3 = (634.6-0.4*T+1.6*pow(10,-4)*pow(T,2)+F2);
cp_z4 = (634.6-0.4*T+1.6*pow(10,-4)*pow(T,2));
if(T<=1093){
cp_zirlo = cp_z1;
}
if(T<=1173){
cp_zirlo = cp_z2;
}
if(T<=1293){
cp_zirlo = cp_z3;
}
if(T<=2000){
cp_zirlo = cp_z4;
}
if(T>2000){
cp_zirlo = cp_z1;
}
return cp_zirlo;
}
Condutividad #include "udf.h"
e térmica #include "math.h"
(W/m*K) DEFINE_PROPERTY(cell_k_zirlo, cell, thread){
real k_zirlo;
real T = C_T(cell,thread);
k_zirlo = (12.767-5.4348*pow(10,-4)*T+8.9818*pow(10,-
6)*pow(T,2));
return k_zirlo;
}
Material Hélio
Condutividad #include "udf.h"
e térmica #include "math.h"
(W/m*K) DEFINE_PROPERTY(cell_k_he, cell, thread){
real k_he;

78
real T = C_T(cell,thread);
k_he = (2.517*pow(10,-3)*pow(T,0.72));
return k_he;
}
Material Dióxido de Urânio
Densidade #include "udf.h"
(kg/m³)
DEFINE_PROPERTY(cell_densidad_uo2, cell, thread){
real densidad_uo2;
real T = C_T(cell, thread);
real L1, L2;

if(T<=923){
L1 = 1/(((0.99734 + 0.000009802*T) -
(0.0000000002705*T*T) +
(0.0000000000004291*T*T*T))*((0.99734 + 0.000009802*T) -
(0.0000000002705*T*T) +
(0.0000000000004291*T*T*T))*((0.99734 + 0.000009802*T) -
(0.0000000002705*T*T) + (0.0000000000004291*T*T*T)));
densidad_uo2 = 0.935*10.963*L1;
}
if(T<=3120){
L2 = 1/(((0.99672+0.00001179*T) - (0.000000002459*T*T) +
(0.000000000001219*T*T*T))*((0.99672+0.00001179*T) -
(0.000000002459*T*T) +
(0.000000000001219*T*T*T))*((0.99672+0.00001179*T) -
(0.000000002459*T*T) + (0.000000000001219*T*T*T)));
densidad_uo2 = 0.935*10.963*L2;
}
if(T>3120){
densidad_uo2 = 0.935*10.963;
}
return densidad_uo2;

79
}
Calor #include "udf.h"
específico
(J/kg*K) DEFINE_SPECIFIC_HEAT(cell_cp_uo2, T, Tref, h, yi){
real cp_uo2;
cp_uo2 = (52.1743 + 87.951*(T/1000) -
84.2411*(T/1000)*(T/1000) + 31.542*(T/1000)*(T/1000)*(T/1000) -
2.6334*(T/1000)*(T/1000)*(T/1000)*(T/1000) +
0.71391/((T/1000)*(T/1000)))/270.03;
return cp_uo2;
}
Condutividad #include "udf.h"
e térmica #include "math.h"
(W/m*K) DEFINE_PROPERTY(cell_K_uo2, cell, thread){
real k_uo2;
real T = C_T(cell,thread);
real T1 = T/1000;
k_uo2 =
(100/(7.5408+17.692*T1+3.6142*pow(T1,2))+(6400/pow(T1,(5/2)))*
exp(-16.35/T1));
return k_uo2;
}

80
ANEXO II - Código SERPENT do pin do reator mPower

/************************ * Material definitions * ************************/

% U235

mat fuel -10.1 vol 126.43 tmp 950 rgb 255 255 150 burn 1

92235.06c -0.02644492

92238.06c -0.85505247

8016.06c -0.11850261

mat helio -0.0001785 vol 131.738 rgb 255 255 255

2004.06c 1

% --- Material de revestimento Zircaloy

mat zirlo -6.56000E+00 vol 170.03 tmp 650 rgb 200 200 200

8016.06c -1.19276E-03

24050.06c -4.16117E-05

24052.06c -8.34483E-04

24053.06c -9.64457E-05

24054.06c -2.44600E-05

26054.06c -1.12572E-04

26056.06c -1.83252E-03

26057.06c -4.30778E-05

81
26058.06c -5.83334E-06

40090.06c -4.97862E-01

40091.06c -1.09780E-01

40092.06c -1.69646E-01

40094.06c -1.75665E-01

40096.06c -2.89038E-02

50112.06c -1.27604E-04

50114.06c -8.83732E-05

50115.06c -4.59255E-05

50116.06c -1.98105E-03

50117.06c -1.05543E-03

50118.06c -3.35688E-03

50119.06c -1.20069E-03

50120.06c -4.59220E-03

50122.06c -6.63497E-04

50124.06c -8.43355E-04

mat water -0.709 tmp 580 moder lwtr 1001 rgb 0 200 255

O-16.03c 1

H-1.03c 2

therm lwtr 580 lwj3.11t lwj3.13t

82
/**************************

* Definição da Geometria *

**************************/

% --- Definição das regiões materiais do pin

pin p1

fuel 0.4096

helio 0.4180

zirlo 0.4750

water

% --- Superfície quadrada com lado de 1,26 cm centrado em (x,y) = (0,0)

surf s1 sqc 0.0 0.0 0.63

% --- A célula c1 pertence ao universo base 0, é ocupada com o pino p1

% e cobre tudo dentro da superfície s1

cell c1 0 fill p1 -s1

% --- A célula c2 pertence ao universo base 0, é definida como uma célula "externa"

% e cobre tudo fora da superfície s1

cell c2 0 outside s1

83
/**************************

* Parâmetros de execução *

**************************/

% --- População de nêutrons: 50.000 nêutrons por ciclo, 200 ciclos ativos / 30 inativos

set pop 50000 200 30

%--- Condição de contorno(1 = preto, 2 = reflexivo, 3 = periódico)

set bc 2

% --- A potência do pino é 56318,20W

set power 56318.2

% Parâmetros de potência

det fuel dr -8 void dz -120 120 100

% --- Gráficos de geometria

% Os dois primeiros gráficos são perpendiculares ao eixo z, ou seja, gráficos xy

% --- O primeiro gráfico tem 700 por 700 pixels e cobre toda a geometria: -0,63 < (x,y)
< 0,63

plot 3 700 700

84
% --- O segundo gráfico é de 700 por 700 pixels, da altura axial z = 0,0

% e abrange mais do que toda a geometria: -1,89 < (x,y) < 1,89

plot 3 700 700 0.0 -1.89 1.89 -1.89 1.89

% --- O terceiro gráfico é perpendicular ao eixo y, ou seja, um gráfico xz

plot 2 350 1400

% --- Malha de 200 por 200 pixels que cobre toda a geometria: -0.63 < (x,y) < 0.63

mesh 3 700 700

85
ANEXO III – Algoritmo de produção da expressão da potência em grau 6

clear all

clc

% Dados de Entrada

x =
[0.024,0.048,0.072,0.096,0.12,0.144,0.168,0.192,0.216,0.24,0.264,0.288,0.312,0.33
6,0.36,0.384,0.408,0.432,0.456,0.48,0.504,0.528,0.552,0.576,0.6,0.624,0.648,0.672,
0.696,0.72,0.744,0.768,0.792,0.816,0.84,0.864,0.888,0.912,0.936,0.96,0.984,1.008,
1.032,1.056,1.08,1.104,1.128,1.152,1.176,1.2,1.224,1.248,1.272,1.296,1.32,1.344,1.
368,1.392,1.416,1.44,1.464,1.488,1.512,1.536,1.56,1.584,1.608,1.632,1.656,1.68,1.
704,1.728,1.752,1.776,1.8,1.824,1.848,1.872,1.896,1.92,1.944,1.968,1.992,2.016,2.
04,2.064,2.088,2.112,2.136,2.16,2.184,2.208,2.232,2.256,2.28,2.304,2.328,2.352,2.
376,2.4];

y1 = [Pontos de potência produzida pelo SERPENT a cada iteração];

y=y1';

V = (3.141592654*0.004096^2*2.4);

for i =1:1:100

P = y/V;

end

% Ajuste da curva a um polinômio

p6 = polyfit(x,P,6);

% Impressão dos Resultados

disp(['Polinômio de ordem 6'])

disp(['Coeficientes: ' num2str(p6)])

% Plotagem dos gráficos

plot(x,P,'r.')

86
hold on

plot(x,polyval(p6,x),'k-')

xlabel('z(m)')

ylabel('Power(W/m³)')

87
ANEXO IV – Código do acoplamento automatizado com Python

from tkinter import *


from tkinter import filedialog
from tkinter import messagebox
from botcity.core import DesktopBot
import numpy as np
import matplotlib.pyplot as plt
import os
import time
import pyautogui
import pyperclip

n=0
def diretorio():
dirpath = filedialog.askopenfilename(initialdir=r"C:\Program Files\ANSYS
Inc\v212\fluent\ntbin\win64")
return dirpath

def ubuntu():
dirpath = filedialog.askopenfilename(initialdir=r"C:\Program
Files\WindowsApps\CanonicalGroupLimited.Ubuntu_2004.4.4.0_x64__79rhkp1fndgsc")
dir_ubuntu = dirpath
return dir_ubuntu

def det0():
dirpath =
filedialog.askopenfilename(initialdir=r"C:\Users\erikl\AppData\Local\Packages\
CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\rootfs\home")
det0_ubuntu = dirpath
return det0_ubuntu

def iteracao():
n = entrada.get()
return int(n)

def simulacao():

class Bot(DesktopBot):
def action(self, execution=None):
# Uncomment to silence Maestro errors when disconnected
# if self.maestro:
# self.maestro.RAISE_NOT_CONNECTED = False

# Fetch the Activity ID from the task:


# task = self.maestro.get_task(execution.task_id)
# activity_id = task.activity_idcd reactor

88
#Exclusão dos Arquivos de Saída da Simulação Termohidráulica para Executar uma
nova Simulação:
n = iteracao()
messagebox.showinfo('Orientação 1', 'Entre com o arquivo .cas')
simulacao_termo = diretorio()[0:100]
simulacao_termohidraulica = simulacao_termo[0:100]
caminho_procura = simulacao_termo[0:50]
termo_procura = 'pin_results'
termo_procura1 = 'report-press-outlet-rfile'
termo_procura2 = 'report-temp-inlet-rfile'
termo_procura3 = 'temp_med_fuel-rfile'
termo_procura4 = 'temp_med_helio-rfile'
termo_procura5 = 'temp_med_water-rfile'
termo_procura6 = 'temp_med_zirlo-rfile'
for raiz, diretorios, arquivos in os.walk(caminho_procura):
for arquivos in arquivos:
if termo_procura in arquivos:
os.remove(caminho_procura+"\\pin_results.dat.h5")
if termo_procura1 in arquivos:
os.remove(caminho_procura+"\\report-press-outlet-
rfile.out")
if termo_procura2 in arquivos:
os.remove(caminho_procura+"\\report-temp-inlet-
rfile.out")
if termo_procura3 in arquivos:
os.remove(caminho_procura+"\\temp_med_fuel-rfile.out")
if termo_procura4 in arquivos:
os.remove(caminho_procura+"\\temp_med_helio-
rfile.out")
if termo_procura5 in arquivos:
os.remove(caminho_procura+"\\temp_med_water-
rfile.out")
if termo_procura6 in arquivos:
os.remove(caminho_procura+"\\temp_med_zirlo-
rfile.out")
#Execução da Simulação Neutrônica:
messagebox.showinfo('Orientação 2', 'Insira o arquivo executável
do Ubuntu para iniciar a Simulação Neutrônica')
num_iteracao["text"] = "Iteração nº: 1"
status_simulacao["background"] = "red"
status_simulacao["text"] = "Simulação Neutrônica em Andamento"
v_ubuntu = ubuntu()[0:100]
var_ubuntu = v_ubuntu[0:100]
self.execute(var_ubuntu)
if not self.find( "clickUbuntu", matching=0.97,
waiting_time=27000000):
self.not_found("clickUbuntu")
self.click()

89
self.kb_type("cd reactor")
self.enter()
self.kb_type("chmod 777 -R pin")
self.enter()
self.kb_type("dos2unix pin")
self.enter()
self.kb_type("sss2 pin")
self.enter()
if not self.find( "end_simulation_neutronic", matching=0.97,
waiting_time=27000000):
self.not_found("end_simulation_neutronic")
self.click()
self.kb_type("exit")
self.enter()

#Geração da Potência de ordem 6:


messagebox.showinfo('Orientação 3', 'Insira o arquivo .det0 para
produzir a expressão de ordem 6')
v_det0 = det0()[0:1000]
var_det0 = v_det0[0:1000]
with open(var_det0) as arquivo:
V: float = (3.141592654*0.0004096*0.0004096*2.4)
P = []
linhas = arquivo.readlines()
for l in range(2,102,1):
string = (linhas[l])
valor = (string[52:63])
y = float(valor)/V
P.append(y)
x = [0.024, 0.048, 0.072, 0.096, 0.12, 0.144, 0.168, 0.192, 0.216,
0.24, 0.264, 0.288, 0.312, 0.336, 0.36,
0.384, 0.408, 0.432, 0.456, 0.48, 0.504, 0.528, 0.552, 0.576,
0.6, 0.624, 0.648, 0.672, 0.696, 0.72,
0.744, 0.768, 0.792, 0.816, 0.84, 0.864, 0.888, 0.912, 0.936,
0.96, 0.984, 1.008, 1.032, 1.056, 1.08,
1.104, 1.128, 1.152, 1.176, 1.2, 1.224, 1.248, 1.272, 1.296,
1.32, 1.344, 1.368, 1.392, 1.416, 1.44,
1.464, 1.488, 1.512, 1.536, 1.56, 1.584, 1.608, 1.632, 1.656,
1.68, 1.704, 1.728, 1.752, 1.776, 1.8,
1.824, 1.848, 1.872, 1.896, 1.92, 1.944, 1.968, 1.992, 2.016,
2.04, 2.064, 2.088, 2.112, 2.136, 2.16,
2.184, 2.208, 2.232, 2.256, 2.28, 2.304, 2.328, 2.352, 2.376,
2.4]
mod_linear = np.polyfit(x,P,6)
parcela1 = str(mod_linear[0])
parcela2 = str(mod_linear[1])
parcela3 = str(mod_linear[2])
parcela4 = str(mod_linear[3])

90
parcela5 = str(mod_linear[4])
parcela6 = str(mod_linear[5])
parcela7 = str(mod_linear[6])
if(mod_linear[0]>0):
parcela1 = "+"+parcela1[0:14]
else:
parcela1 = parcela1[0:15]
if(mod_linear[1]>0):
parcela2 = "+"+parcela2[0:14]
else:
parcela2 = parcela2[0:15]
if(mod_linear[2]>0):
parcela3 = "+"+parcela3[0:14]
else:
parcela3 = parcela3[0:15]
if(mod_linear[3]>0):
parcela4 = "+"+parcela4[0:14]
else:
parcela4 = parcela4[0:15]
if(mod_linear[4]>0):
parcela5 = "+"+parcela5[0:14]
else:
parcela5 = parcela5[0:15]
if(mod_linear[5]>0):
parcela6 = "+"+parcela6[0:14]
else:
parcela6 = parcela6[0:15]
if(mod_linear[6]>0):
parcela7 = "+"+parcela7[0:14]
else:
parcela7 = parcela7[0:15]
Pot =(parcela1+"[W m^-9]*z^6"+parcela2+"[W m^-8]*z^5"+parcela3+"[W
m^-7]*z^4"+parcela4+"[W m^-6]*z^3"+parcela5+"[W m^-5]*z^2"+parcela6+"[W m^-
4]*z"+parcela7+"[W m^-3]")
Pot_legenda =
(parcela1+"z^6"+parcela2+"z^5"+parcela3+"z^4"+parcela4+"z^3"+parcela5+"z^2"+pa
rcela6+"z"+parcela7)
texto_potencia["text"] = Pot
print(Pot)
fig, ax = plt.subplots(figsize = (10, 5))
plt.title('Distribuição de Potência')
ax.set_xlabel('Z(m)\n'+Pot_legenda, color = 'r')
ax.set_ylabel('Potência(W/m³)', color = 'r')
ax.plot(x, P, "go", color = 'g')
ax.plot(x, P, color = 'r')
plt.show()
pyperclip.copy(Pot)
status_simulacao["background"] = "green"

91
status_simulacao["text"] = "Simulação Neutrônica Finalizada"
#Atribuição da Potência ao Arquivo .cas.h5:
self.execute(simulacao_termohidraulica)
if not self.find( "select_pot", matching=0.97,
waiting_time=10000):
self.not_found("select_pot")
self.click()
for a in range(8):
pyautogui.press('right')
for b in range(183):
pyautogui.press('delete')
pyautogui.hotkey('ctrl', 'v')
for c in range(237):
pyautogui.press('left')
pyautogui.hotkey('ctrl', 's')
time.sleep(5)
pyautogui.hotkey('alt', 'f4')
#Execução da Simulação Termohidráulica:
status_simulacao["background"] = "red"
status_simulacao["text"] = "Sim. Termohidráulica em Andamento"
os.startfile("cmd")
if not self.find( "select_CFD", matching=0.97,
waiting_time=10000):
self.not_found("select_CFD")
self.click()

self.kb_type("cd /d C:\Program Files\ANSYS


Inc\\v212\\fluent\\ntbin\win64")
self.enter()
if not self.find( "executeCFD", matching=0.97,
waiting_time=10000):
self.not_found("executeCFD")
self.click()
self.kb_type("fluent 3ddp -g -t4 -i pin")
self.enter()
if not self.find( "exit_fluent", matching=0.97,
waiting_time=7200000):
self.not_found("exit_fluent")
self.click()
self.kb_type("exit")
self.enter()
status_simulacao["background"] = "green"
status_simulacao["text"] = "Sim. Termohidráulica Finalizada"
#Substituição das Temperaturas no Arquivo pin em Serpent:
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_fuel-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()

92
last_line = file_lines[len(file_lines) - 1]
temp_fuel = last_line[4:15]
texto_fuel["text"] = temp_fuel
print(temp_fuel)
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_helio-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]
print(last_line[4:15])
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_zirlo-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]
temp_zirlo = last_line[4:15]
texto_zircaloy["text"] = temp_zirlo
print(temp_zirlo)
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_water-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]
temp_water = last_line[4:15]
texto_water["text"] = temp_water
print(temp_water)
with
open('C:\\Users\\erikl\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu
_79rhkp1fndgsc\\LocalState\\rootfs\\home\\eslago\\reactor\\pin', 'r',
encoding='utf-8') as file:
data = file.readlines()
data[3] = "mat fuel -10.1 vol 126.43 tmp "+temp_fuel+" rgb
255 255 150 burn 1\n"
data[13] = "mat zirlo -6.56000E+00 vol 170.03 tmp
"+temp_zirlo+" rgb 200 200 200\n"
data[39] = "mat water -0.709 tmp "+temp_water+" moder lwtr
1001 rgb 0 200 255\n"
data[43] = "therm lwtr "+temp_water+" lwj3.11t lwj3.13t\n"
with
open('C:\\Users\\erikl\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu
_79rhkp1fndgsc\\LocalState\\rootfs\\home\\eslago\\reactor\\pin', 'w',
encoding='utf-8') as file:
file.writelines(data)
#Segunda iteração sem inserção dos diretórios
#Exclusão dos Arquivos de Saída da Simulação Termohidráulica para Executar uma
nova Simulação:
time.sleep(180)
i=0

93
while i<(n-1):
numero = str(i+2)
num_iteracao["text"] = "Iteração nº: "+numero
termo_procura = 'pin_results'
termo_procura1 = 'report-press-outlet-rfile'
termo_procura2 = 'report-temp-inlet-rfile'
termo_procura3 = 'temp_med_fuel-rfile'
termo_procura4 = 'temp_med_helio-rfile'
termo_procura5 = 'temp_med_water-rfile'
termo_procura6 = 'temp_med_zirlo-rfile'
for raiz, diretorios, arquivos in os.walk(caminho_procura):
for arquivos in arquivos:
if termo_procura in arquivos:
os.remove(caminho_procura+"\\pin_results.dat.h5")
if termo_procura1 in arquivos:
inicio = open(caminho_procura+'\\report-press-
outlet-rfile.out', 'r')
inicio.close()
os.remove(caminho_procura+"\\report-press-outlet-
rfile.out")
if termo_procura2 in arquivos:
inicio = open(caminho_procura+'\\report-temp-
inlet-rfile.out', 'r')
inicio.close()
os.remove(caminho_procura+"\\report-temp-inlet-
rfile.out")
if termo_procura3 in arquivos:
inicio = open(caminho_procura+'\\temp_med_fuel-
rfile.out', 'r')
inicio.close()
os.remove(caminho_procura+"\\temp_med_fuel-
rfile.out")
if termo_procura4 in arquivos:
inicio = open(caminho_procura+'\\temp_med_helio-
rfile.out', 'r')
inicio.close()
os.remove(caminho_procura+"\\temp_med_helio-
rfile.out")
if termo_procura5 in arquivos:
inicio = open(caminho_procura+'\\temp_med_water-
rfile.out', 'r')
inicio.close()
os.remove(caminho_procura+"\\temp_med_water-
rfile.out")
if termo_procura6 in arquivos:
inicio = open(caminho_procura+'\\temp_med_zirlo-
rfile.out', 'r')
inicio.close()

94
os.remove(caminho_procura+"\\temp_med_zirlo-
rfile.out")
#Execução da Simulação Neutrônica:
status_simulacao["background"] = "red"
status_simulacao["text"] = "Simulação Neutrônica em Andamento"
self.execute(var_ubuntu)
if not self.find( "clickUbuntu", matching=0.97,
waiting_time=27000000):
self.not_found("clickUbuntu")
self.click()
self.kb_type("cd reactor")
self.enter()
self.kb_type("chmod 777 -R pin")
self.enter()
self.kb_type("dos2unix pin")
self.enter()
self.kb_type("sss2 pin")
self.enter()
if not self.find( "end_simulation_neutronic", matching=0.97,
waiting_time=27000000):
self.not_found("end_simulation_neutronic")
self.click()
self.kb_type("exit")
self.enter()
#Geração da Potência de ordem 6:
with open(var_det0) as arquivo:
V: float = (3.141592654*0.0004096*0.0004096*2.4)
P = []
linhas = arquivo.readlines()
for l in range(2,102,1):
string = (linhas[l])
valor = (string[52:63])
y = float(valor)/V
P.append(y)
x = [0.024, 0.048, 0.072, 0.096, 0.12, 0.144, 0.168, 0.192,
0.216, 0.24, 0.264, 0.288, 0.312, 0.336, 0.36,
0.384, 0.408, 0.432, 0.456, 0.48, 0.504, 0.528, 0.552,
0.576, 0.6, 0.624, 0.648, 0.672, 0.696, 0.72,
0.744, 0.768, 0.792, 0.816, 0.84, 0.864, 0.888, 0.912,
0.936, 0.96, 0.984, 1.008, 1.032, 1.056, 1.08,
1.104, 1.128, 1.152, 1.176, 1.2, 1.224, 1.248, 1.272,
1.296, 1.32, 1.344, 1.368, 1.392, 1.416, 1.44,
1.464, 1.488, 1.512, 1.536, 1.56, 1.584, 1.608, 1.632,
1.656, 1.68, 1.704, 1.728, 1.752, 1.776, 1.8,
1.824, 1.848, 1.872, 1.896, 1.92, 1.944, 1.968, 1.992,
2.016, 2.04, 2.064, 2.088, 2.112, 2.136, 2.16,
2.184, 2.208, 2.232, 2.256, 2.28, 2.304, 2.328, 2.352,
2.376, 2.4]

95
mod_linear = np.polyfit(x,P,6)
parcela1 = str(mod_linear[0])
parcela2 = str(mod_linear[1])
parcela3 = str(mod_linear[2])
parcela4 = str(mod_linear[3])
parcela5 = str(mod_linear[4])
parcela6 = str(mod_linear[5])
parcela7 = str(mod_linear[6])
if(mod_linear[0]>0):
parcela1 = "+"+parcela1[0:14]
else:
parcela1 = parcela1[0:15]
if(mod_linear[1]>0):
parcela2 = "+"+parcela2[0:14]
else:
parcela2 = parcela2[0:15]
if(mod_linear[2]>0):
parcela3 = "+"+parcela3[0:14]
else:
parcela3 = parcela3[0:15]
if(mod_linear[3]>0):
parcela4 = "+"+parcela4[0:14]
else:
parcela4 = parcela4[0:15]
if(mod_linear[4]>0):
parcela5 = "+"+parcela5[0:14]
else:
parcela5 = parcela5[0:15]
if(mod_linear[5]>0):
parcela6 = "+"+parcela6[0:14]
else:
parcela6 = parcela6[0:15]
if(mod_linear[6]>0):
parcela7 = "+"+parcela7[0:14]
else:
parcela7 = parcela7[0:15]
Pot =(parcela1+"[W m^-9]*z^6"+parcela2+"[W m^-
8]*z^5"+parcela3+"[W m^-7]*z^4"+parcela4+"[W m^-6]*z^3"+parcela5+"[W m^-
5]*z^2"+parcela6+"[W m^-4]*z"+parcela7+"[W m^-3]")
Pot_legenda =
(parcela1+"z^6"+parcela2+"z^5"+parcela3+"z^4"+parcela4+"z^3"+parcela5+"z^2"+pa
rcela6+"z"+parcela7)
texto_potencia["text"] = Pot
print(Pot)
pyperclip.copy(Pot)
status_simulacao["background"] = "green"
status_simulacao["text"] = "Simulação Neutrônica Finalizada"

96
#Atribuição da Potência ao Arquivo .cas.h5:

self.execute(simulacao_termohidraulica)
if not self.find( "select_pot", matching=0.97,
waiting_time=10000):
self.not_found("select_pot")
self.click()
for a in range(8):
pyautogui.press('right')
for b in range(183):
pyautogui.press('delete')
pyautogui.hotkey('ctrl', 'v')
for c in range(237):
pyautogui.press('left')
pyautogui.hotkey('ctrl', 's')
time.sleep(5)
pyautogui.hotkey('alt', 'f4')
#Execução da Simulação Termohidráulica:
status_simulacao["background"] = "red"
status_simulacao["text"] = "Sim. Termohidráulica em Andamento"
os.startfile("cmd")
if not self.find( "select_CFD", matching=0.97,
waiting_time=10000):
self.not_found("select_CFD")
self.click()
self.kb_type("cd /d C:\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64")
self.enter()
if not self.find( "executeCFD", matching=0.97,
waiting_time=10000):
self.not_found("executeCFD")
self.click()
self.kb_type("fluent 3ddp -g -t4 -i pin")
self.enter()
if not self.find( "exit_fluent", matching=0.97,
waiting_time=7200000):
self.not_found("exit_fluent")
self.click()
self.kb_type("exit")
self.enter()
status_simulacao["background"] = "green"
status_simulacao["text"] = "Sim. Termohidráulica Finalizada"
#Substituição das Temperaturas no Arquivo pin em Serpent:
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_fuel-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]

97
temp_fuel = last_line[4:15]
texto_fuel["text"] = temp_fuel
print(temp_fuel)
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_helio-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]
print(last_line[4:15])
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_zirlo-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]
temp_zirlo = last_line[4:15]
texto_zircaloy["text"] = temp_zirlo
print(temp_zirlo)
with open(r'C:\\Program Files\ANSYS
Inc\\v212\\fluent\\ntbin\win64\\temp_med_water-rfile.out') as arquivo:
file_lines = arquivo.readlines()
arquivo.close()
last_line = file_lines[len(file_lines) - 1]
temp_water = last_line[4:15]
texto_water["text"] = temp_water
print(temp_water)
with
open('C:\\Users\\erikl\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu
_79rhkp1fndgsc\\LocalState\\rootfs\\home\\eslago\\reactor\\pin', 'r',
encoding='utf-8') as file:
data = file.readlines()
data[3] = "mat fuel -10.1 vol 126.43 tmp "+temp_fuel+"
rgb 255 255 150 burn 1\n"
data[13] = "mat zirlo -6.56000E+00 vol 170.03 tmp
"+temp_zirlo+" rgb 200 200 200\n"
data[39] = "mat water -0.709 tmp "+temp_water+" moder lwtr
1001 rgb 0 200 255\n"
data[43] = "therm lwtr "+temp_water+" lwj3.11t lwj3.13t\n"
with
open('C:\\Users\\erikl\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu
_79rhkp1fndgsc\\LocalState\\rootfs\\home\\eslago\\reactor\\pin', 'w',
encoding='utf-8') as file:
file.writelines(data)
i+=1

def not_found(self, label):


print(f"Element not found: {label}")

if __name__ == '__main__':

98
Bot.main()

janela = Tk()
janela.title("Acoplamento Neutrônico-Termohidráulico PPGMC")
janela.geometry("580x600")
janela.minsize(1366, 768)
janela.maxsize(1366, 768)

image=PhotoImage(file=".\\resources\\reator_ipwr.png")
image=image.subsample(1,1)
labelimage=Label(image=image)
labelimage.place(x=0,y=0, relwidth=1.0, relheight=1.0)

texto_orientacao = Label(janela, text="ACOPLAMENTO NEUTRÔNICO-TERMOHIDRÁULICO


- PPGMC", font="Arial 14", bd=1, relief="solid")
texto_orientacao.grid(column=0, row=0, padx=400, pady=10)

texto_orientacao0 = Label(janela, text="Digite o número de iterações


desejado:", font="Calibri 12")
texto_orientacao0.grid(column=0, row=1, padx=10, pady=10)

entrada = Entry(janela)
entrada.grid(column=0, row=2, padx=10, pady=10)

botao1 = Button(janela, text="Confirmar", command = iteracao, font="Calibri


12")
botao1.grid(column=0, row=3, padx=10, pady=10)

botao = Button(janela, text="Clique para iniciar a simulação",


command=simulacao, font="Calibri 12")
botao.grid(column=0, row=4, padx=10, pady=10)

texto_orientacao2 = Label(janela, text="Distribuição de Potência(W/m³):",


font="Calibri 12")
texto_orientacao2.grid(column=0, row=5, padx=10, pady=10)

texto_potencia = Label(janela, text='', font="Calibri 12")


texto_potencia.grid(column=0, row=6, padx=10, pady=10)

texto_orientacao3 = Label(janela, text="Temperatura da Água(K):",


font="Calibri 12")
texto_orientacao3.grid(column=0, row=7, padx=10, pady=10)

texto_water = Label(janela, text='', font="Calibri 12")


texto_water.grid(column=0, row=8, padx=10, pady=10)

texto_orientacao4 = Label(janela, text="Temperatura do Zircaloy(K):",


font="Calibri 12")

99
texto_orientacao4.grid(column=0, row=9, padx=10, pady=10)

texto_zircaloy = Label(janela, text='', font="Calibri 12")


texto_zircaloy.grid(column=0, row=10, padx=10, pady=10)

texto_orientacao5 = Label(janela, text="Temperatura do UO2(K):", font="Calibri


12")
texto_orientacao5.grid(column=0, row=11, padx=10, pady=10)

texto_fuel = Label(janela, text='', font="Calibri 12")


texto_fuel.grid(column=0, row=12, padx=10, pady=10)

num_iteracao = Label(janela, text='', font="Calibri 12")


num_iteracao.grid(column=0, row=13, padx=10, pady=10)

status_simulacao = Label(janela, text='', font="Calibri 12")


status_simulacao.grid(column=0, row=14, padx=10, pady=10)

janela.mainloop()

100
ANEXO V – Manual de utilização da GUI

MANUAL DE UTILIZAÇÃO DO GUI “ACOPLAMENTO NEUTRÔNICO-


TERMOHIDRÁULICO – PPGMC”
_______________________________________________________________
REQUISITOS MÍNIMOS PARA UTILIZAÇÃO DO SOFTWARE:
16GB de Memória RAM
1TB de HD
Processor Intel Core i5 8th Gen
Windows 7

Para utilização do software se faz necessário primordialmente ter instalado em


seu computador dois outros softwares: ANSYS e SERPENT, ao qual farão a
simulação termohidráulica e neutrônica, respectivamente, compondo assim a
simulação multifísica.
O software orienta o usuário a localizar seus arquivos fontes para inicializar a
simulação, sendo eles, o arquivo .cas.h5 ou .cas, ao qual contém todos os parâmetros
de simulação elaborado em ANSYS; a localização do Ubuntu, ferramenta necessária
para simulação neutrônica, e por fim o arquivo det0.m para produzir a expressão de
distribuição de potência necessária na simulação multifísica.
Ao executar o software, temos a seguinte tela:

Pode-se perceber que é necessário inserir o número de iterações que se deseja


realizar e clicar no botão confirmar. Caso isso não seja realizado, e o usuário tente
clicar no botão “Clique aqui para iniciar a simulação”, a simulação não será executada.

101
Após digitar o número de iterações desejada, pode-se clicar no botão “Clique
aqui para iniciar a simulação”. Surgirá uma caixa de mensagem conforme a Figura
abaixo:

O usuário deve buscar o arquivo .cas.h5 ou .cas e seleciona-lo.

Após isso, outra caixa de mensagem surgirá, indicando que o usuário deve
buscar a ferramenta de execução da simulação neutrônica.

102
O usuário deve realizar a busca e selecionar o executável. Após isso, a
simulação neutrônica será inicializada com um aviso em tela informando o número
atual da iteração e status da simulação atual.

Conforme Figura abaixo, pode-se perceber que a interface do Ubuntu é


mostrada, realizando a simulação neutrônica.

103
Ao final da simulação neutrônica, a janela do Ubuntu será fechada
automaticamente e uma caixa de mensagem surgirá solicitando ao usuário a
localização do arquivo resultado de potência .det0.m.

O usuário deve localizar o arquivo e selecioná-lo.

104
Nesse momento, a distribuição de potência irá surgir, apresentando-se em tela
de forma gráfica e em expressão.

O gráfico é mostrado apenas na primeira iteração a fim de o usuário verificar


se a simulação está de acordo com o esperado. Ao fechar a janela do gráfico, a
simulação neutrônica é concluída e o status alterado.

105
Em seguida, a expressão de distribuição de potência é inserida no arquivo .cas
ou .cas.h5, ao qual abrirá uma janela no Notepad fazendo a substituição na devida
linha.

O notepad é fechado automaticamente após a substituição e a simulação


termohidráulica é inicializada com atualização no status do software.

106
A janela do ANSYS é inicializada durante a execução da simulação
termohidráulica e ao final fechada de forma automática, realizando alteração no status
da simulação e surgimento das temperaturas em cada elemento do pin.

Dessa forma, inicializará uma nova iteração até chegar ao final da simulação
multifísica completa.

107

Você também pode gostar