Index CÓDIGO COMPUTACIONAL LTSN - 1A VERSÃO Gilberto Orengo(1,2), Marco T. Vilhena(1) , Daniel Beck(1) e Glênio Gonçalves(1) (1) Departamento de Engenharia Nuclear - DENUC Programa de Pós-Graduação em Engenharia Mecânica - PROMEC Universidade Federal do Rio Grande do Sul – UFRGS (2) Endereço para correspondência: Rua do Rosário, 132 97010-430 Santa Maria, RS, Brasil E-mail: [email protected] RESUMO O objetivo deste trabalho consiste em apresentar a primeira versão de um código computacional para resolver problemas em teoria de transporte utilizando a formulação do método LTSN, em geometria plana. O código incorpora todos os avanços atuais do método LTSN, tais como, capacidade de resolver problemas de transporte, tanto direto quanto adjunto, com fonte arbitrária, para elevada ordem de quadratura em multigrupos. Cálculo de criticalidade, como keff e dimensão crítica. Além do código em si, são propostos alguns avanços para o método, entre eles o uso do método iterativo para solução do sistema de equações condições de contorno, que reduziu consideravelmente o tempo computacional. Foram utilizados todos os recursos modernos da linguagem Fortran(Fortran 90/95), permitindo com isto uma otimização dos algoritmos, bem como facilidade de atualização do mesmo. Para validar os resultados, alguns resultados numéricos são apresentados. Keywords: LTSN method, transport theory. I. INTRODUÇÃO No estudo da teoria de transporte o interesse é determinar a distribuição de partículas (nêutrons e/ou fótons) num meio, levando em conta o movimento das mesmas e suas interações com o meio. As raízes da teoria de transporte estão na equação de Boltzmann [1,2], inicialmente formulada para o estudo da teoria cinética dos gases. Nos anos 40, com S. Chandrasekhar [3], o estudo de transporte de radiação em atmosferas estelares teve seu início, especialmente na procura de técnicas de solução da equação de transporte de radiação. Estes e outros fatos históricos que apresentam a relevância e avanços em teoria de transporte podem ser encontrados nas referências[4-6], bem como nas acima citadas. Uma importante contribuição foi incorporada ao estudo de fenômenos de transporte no início dos anos 90: o surgimento do método LTSN [7,8], que resolve de forma analítica a aproximação SN do problema de transporte, aplicando a transformada de Laplace na variável espacial em um domínio finito. O método LTSN consiste, basicamente, na aplicação da transformada de Laplace no sistema de equações diferenciais ordinárias gerado pela aproximação SN. Disto resulta um sistema de equações algébricas, cuja matriz dos coeficientes contém a variável “s”. Então, fazendo-se a inversão desta matriz, seguida da aplicação inversão da transformada de Laplace, encontra-se a expressão para o fluxo angular. Para a inversão da matriz dos coeficientes, vários métodos foram desenvolvidos com o objetivo de encontrar uma fórmula analítica. Primeiramente, Barichello [9] propôs um algoritmo utilizando a estrutura da matriz LTSN linearmente anisotrópica e o conceito de matriz inversa. A seguir, esta formulação foi generalizada para o caso anisotrópico por Oliveira [10]. Uma aproximação alternativa para este procedimento foi desenvolvida por Streck [11], que usou o método de Trzaska [12] para a inversão de uma matriz do tipo (sA + B), na resolução do método PN. Mas estes métodos tinham uma limitação, só forneciam boas respostas em problemas com pequena ordem de quadratura (N < 22) ou pequeno grau de anisotropia [13]. Para contornar esta dificuldade, inicialmente Cardona [14] usou o método de particionamento para inverter a matriz LTSN associada a um problema isotrópico. Este método foi implementado por Brancher [13], chegando a N=400. Mais tarde, surgiu a Index idéia de um método recursivo [15-17] para inverter uma matriz simbólica (sI + A), combinando a decomposição de Schur e o método do particionamento, com ordem de quadratura N até 400 em um supercomputador (CRAY YMP/2E e/ou J9/32). Levando em conta que a matriz A associada à matriz simbólica (sI + A) é não degenerada, Segatto, Vilhena e Gomes [18] fizeram a decomposição de A em uma matriz diagonal, que propiciou trabalhar com problemas com ordem de quadratura muito elevada (N ≈ 1000), em um microcomputador tipo PC. Para evitar o problema de overflow devido ao caráter exponencial da solução LTSN para problemas envolvendo elevadas ordens de quadratura ou grandes espessuras de placas, Barichello [19] propôs uma mudança de base na solução, trocando x por x - a para os termos exponenciais positivos, onde a é a espessura da placa. Este procedimento funciona muito bem para problemas homogêneos, mas é ineficiente para problemas não homogêneos porque há uma transferência do problema de overflow para o termo de fonte. Recentemente, Gonçalves[20,21] propôs uma nova formulação para a solução LTSN que leva em conta a propriedade de invariância das direções discretas. Fisicamente isto significa considerar equivalentes partículas deslocando-se da direita para a esquerda (µi < 0) e partículas deslocando-se da esquerda para a direita (µi > 0). Com isso, o problema de overflow foi completamente eliminado. Outra importante contribuição foi de Pazos [22-24], que provou a convergência do método LTSN. Com isso o controle na precisão é possível, isto é, à medida que a ordem de quadratura (N) cresce, o resultado obtido se aproxima do valor exato, a menos de erros inerentes a problemas computacionais (arredondamentos e/ou truncamentos). Uma comparação dos métodos de inversão matricial para problemas (sA + B) em problemas de transporte, pode ser encontrado no trabalho de Gomes [25] e uma revisão atualizada e detalhada sobre o método LTSN no recente trabalho de Segatto e Vilhena [26]. Existe uma grande quantidade de estudos realizados, e em andamento, quanto à aplicação do método LTSN, mostrando com isso que o método é eficiente na solução de problemas como: 1) resolução de problemas unidimensionais com meio homogêneo e heterogêneo [27], 2) com multigrupos de energia [28], 3) com espalhamento anisotrópico[15] e, com e sem simetria azimutal [16,29], 4) transferência radiativa [16,26], 5) criticalidade (keff e espessura crítica)[30-32], 6) função importância, através do cálculo adjunto [20], 7) dosimetria. Portanto, o estágio atual de desenvolvimento do método LTSN motivou a construção de um código computacional reunindo todas as vantagens proporcionadas pelo método, dentre as quais se ressalta o caráter semianalítico, que proporciona cálculos com controle de erro. Neste sentido, este trabalho relata o desenvolvimento de uma primeira versão do código Código LTSN (ou LTSN Code), para cálculo de transporte unidimensional utilizando a formulação LTSN. O restante deste artigo está dividido da seguinte forma: a seguir será apresentado a formulação LTSN para problemas envolvendo transporte de nêutrons; logo após será abordado os avanços propostos para o método LTSN, bem como a descrição do Código LTSN. Finalmente serão apresentados os resultados numéricos e as conclusões. II. O MÉTODO LTSN Para formalizar o método LTSN, partimos da equação de transporte na forma SN-multigrupos: Σt d 1 G N L ψ gi ( x) + g ψ gi ( x) = ∑∑ Σ g´gϖ jψ g´ j ( x) dx µi 2µ i g ´=1 j =1 N x g ( x) 1 G S gi ( x) , (1) + v Σ ∑ g ´ f g ´ ∑ ω jψ g ´ j ( x ) + 2k eff µ i g ´=1 µi j =1 onde ψgi é o fluxo na direção i e energia g na posição x, Σtg é a seção de choque macroscópica total para o grupo g, µi e ωi são, respectivamente, as raízes e os pesos da quadratura angular, Σg´g é a seção de choque macroscópica de espalhamento, Σf é a seção de choque macroscópica de fissão Sgi representa o termo de fonte externa, χg é o espectro de fissão para o grupo g e νg´ o número médio de nêutrons oriundos d fissão. Esta equação fornece um conjunto de GN equações diferenciais ordinárias de primeira ordem, com as condições de contorno N ⇔µ >0 2 N ψ g ( n + N − 2) (a ) = g gn , n = 1 : ⇔ µ < 0. 2 ψ gn (0) = f gn , n = 1 : (1a) (1b) que na forma matricial assume a forma: d Φ( x) + B Φ ( x) = Q( x) , ~ dx ~ ~ (2) com as condições de contorno, agora escritas como Φ(0) = f ~ Φ (a) = g , e ~ ~ (2a) ~ onde B é uma matriz GN x GN, cujos elementos armazenam os dados nucleares do problema, e.g., as seções de choque. Aplicando a transformada de Laplace à Eq. (2) e fazendo uma simples manipulação, temos que o fluxo transformado é: Φ( s ) = ( s I − A) −1 Φ(0) + ( s I − A) −1 Q( s ), ~ ~ ~ ~ ~ ~ ~ (3) Index onde I é a matriz identidade e A = -B. O fluxo angular é obtido pela inversa da transformada de Laplace, ou seja: { } { } Φ ( x) = L−1 ( s I − A) −1 Φ (0) + L−1 ( s I − A) −1 * Q( x), (4) ~ ~ ~ ~ ~ ~ ~ onde o asterisco denota a convolução. Uma formulação semelhante é obtida para a função adjunta (ou fluxo adjunto), basicamente trocando-se o µ por -µ. Uma descrição detalhada desta parte do método LTSN se encontra nas Ref. [26,33]. O estudo de criticalidade (fator de multiplicação efetivo e dimensão crítica) através do método LTSN é também possível. Para tanto é necessário resolver uma equação transcedental obtida pela aplicação das condições de contorno[30-32]. A aplicação da formulação LTSN num problema de placa plana heterogênea (multi-regiões) de K regiões, sujeita a G grupos de energia e à aplicação das condições de contorno do tipo vácuo e de continuidade dos fluxos angulares, nas interfaces entre regiões origina o sistema homogêneo, AΦ k* ~ ~ GN [] (0) = 0 k , (5) ~ GN onde k = 1:K e Φk*GN(0) é o vetor de KGN componentes que representam os fluxos angulares modificados nas k regiões e g grupos de energia, em cada uma das regiões e, A é a matriz (KGN x KGN) obtida pela aplicação das condições de contorno e de continuidade para o fluxo angular nas interfaces do problema. O sistema linear homogêneo acima apresenta solução não-trivial se, e somente se, det( A) = 0 . ~ (6) ~ Para outros tipos de condições de contorno homogêneas aplica-se o mesmo procedimento acima. III. AVANÇOS AO MÉTODO LTSN E O CÓDIGO LTSN O vetor condição de contorno Φ(0) não está completamente determinado, porque somente N/2 componentes, referentes a µ > 0, são conhecidas. As outras N/2 condições para µ < 0 devem ser obtidas através da solução de um sistema algébrico de equações lineares a partir das condições de contorno em x =a. O Método de Eliminação Gaussiana é utilizado para solução deste sistema de equações. O esforço computacional deste método é obtido somando-se o número de operações necessárias para resolver um sistema triangular. Assim, na aplicação do Método de Eliminação Gaussiana na resolução de um sistema com n equações e n incógintas, o número total de operações é da ordem n3 para n grande. Se o sistema não é triangular, no método de eliminação são necessárias mais que 68 vezes o exigido no caso triangular. O peso maior no esforço computacional do método deve-se às operações realizadas na eliminação, pois o processo de eliminação é responsável pelo termo cúbico do esforço computacional. Com isso, a propagação de erros de arredondamentos também cresce da ordem n3. No sentido de avançar mais no método LTSN, foi proposto a substituição do Método de Eliminação Gaussiana por um método iterativo, tendo em vista que a matriz LTSN tornase grande para altos valores de N e g. Em geral, os métodos iterativos são convenientes para sistemas grandes e/ou esparsos. Outra consideração importante é que o Método de Eliminação Gaussiana pode destruir faixas de zero, enquanto o método iterativo preserva os zeros do sistema. Mas, como nem tudo é perfeito, existem algumas condições para garantir a convergência da sequência de aproximações, calculadas por métodos iterativos. O método iterativo escolhido foi o Método “Reiniciado” Resíduo Mínimo Generalizado (Restarted Generalized Minimum RESisdual -- RGMRES). O principal motivo desta escolha foi que o mesmo satisfaz a solução esperada e está presente no pacote computacional PIM [34,35], na versão Linux, sistema operacional no qual foi construído a primeira versão do código. Além deste avanço, é importante ressaltar que outra modificação foi executada, na varredura em busca da mudança do sinal do determinante da matriz dos coeficientes, antes da entrada no Método da Bissecção no cálculo de criticalidade. Estes dois avanços fecham o método LTSN, para estudos de criticalidade, com autovalores reais (ou imaginários puros) utilizando o Método da Bissecção. O Código LTSN: o código foi desenvolvido em Fortran 90/95, inicialmente para uma plataforma Linux. A parte principal do código é o programa LTSN, que está dividido em três módulos, que são: 1. LTSN1.f90: onde estão as sub-rotinas para leitura dos dados de entrada; 2. LTSN2.f90: é o núcleo (kernel) do código, é onde se localizam todas as sub-rotinas de cálculo - caso dos fluxos angulares e escalares, tanto direto como adjuntos; e problemas de criticalidade. 3. LTSN3.f90: módulo que contém as sub-rotinas de saída de dados. Estes três módulos são compilados juntos para gerar o executável do código LTSN. As sub-rotinas usadas para a inversão da matriz (sI A) foram extraídas da LAPACK [36] e reunidas numa biblioteca a parte, chamada libltsn.for. Foram utilizados os recursos mais modenos da liguagem Fortran, tais como, MODULE, INTERFACE, ALLOCATABLE, entre outros. A saída de dados contemplará, além dos resultados formatados e localizados num arquivo de saída "OUTPUT", saídas formatadas para uso em LaTeX e em softwares de manipulação para geração de gráficos. Os gráficos terão uma saída especial através da biblioteca DISLIN[37], que permite a visualização de gráficos a partir do Fortran. Index IV. RESULTADOS NUMÉRICOS E CONCLUSÕES Dentre os vários problemas resolvidos em neutrônica, um foi escolhido para ser, para mostrar o uso do código LTSN, a reprodução parcial dos resultados do problema resolvido da Ref.[33]. Este demonstra a convergência numérica da solução LTSN para problemas adjuntos de transporte, neste exemplo é calculada a solução adjunta escalar, em uma posição fixa (x = 15 cm), para várias ordens de quadratura. O problema a ser resolvido é monoenergético, com espessura de placa x0 = 150cm e com fonte adjunta exponencial (Q*(x) = e-0,5x), delta e gaussiana (Q*(x) = e-0,5(x-75)**2). A seção de choque macroscópica total é Σt = 2,9664cm-1 e os coeficientes do kernel de espalhamento são Σs0 = 2,8876cm-1 e Σs1 = 1,2781cm-1. Os resultados são mostrados na Tabela 1. Os cálculos foram realizados num computador tipo PC Pentium III-866MHz/256MB. TABELA 1. Resultados Numéricos para Fontes Exponencial, Delta e Gaussiana, na Solução Adjunta N Fonte Exponencial Fonte Delta 2 4 10 20 30 40 50 80 100 200 300 400 500 0,016279468 0,016419778 0,016422130 0,016422425 0,016422480 0,016422482 0,016422492 0,016422507 0,016422508 0,016422508 0,016422510 0,016422511 0,016422511 Fonte Gaussiana 0,170275165 0,170490076 0,170489518 0,170489519 0,170489529 0,170489575 0,170489634 0,170489624 0,170489630 0,170489640 0,170489641 0,170489642 0,170489642 0,520868678 0,519563301 0,519554154 0,519555191 0,519555211 0,519555210 0,519555224 0,519555255 0,519555264 0,519555272 0,519555275 0,519555275 0,519555275 [3] CHANDRASEKHAR, S., Radiative Transfer, Dover Publications, Inc., New York, 1960. [4] DUDERSTADT, J.J., Martin, W.R., Transport Theory, John Wiley & Sons, Inc., New York, 1979. [5] DUDERSTADT, J. J., HAMILTON, L. J., Nuclear Reactor Analysis, John Wiley & Sons, New York, 1976. [6] Stamm'ler, R. J.J., Abbate, M.J., Methods of Steady-StateRreactor Physics in Nuclear Design, Academic Press, London, 1983. [7] Vilhena, M. T., Barichello, L.B., A New Analytical Approach to Solve the Neutron Transport Equation, Kerntechnick, v. 56, n. 5, p. 334-336, 1991. [8] Vilhena, M. T., Barichello, L.B., Segatto, C.F., Estudo Comparativo de Métodos de Solução da Aproximação SN da Equação de Transporte Linear, XVI Congresso Nacional de Matemática Aplicada e Computacional - XVI CNMAC, 1994. [9] Barichello, L.B., Formulação Analítica Para Solução do Problema de Ordenada Discreta Unidimensional, Tese de doutorado, Porto Alegre, RS, Brasil, Programa de Pós-Graduação em Engenharia Mecânica (PROMEC), Universidade Federal do Rio Grande do Sul, 1992. [10] Oliveira, J. V.P., Formulação LTSN Para o Problema de Ordenada Discreta com Anisotropia, Diss. Mestrado, Porto Alegre, RS, Brasil, Programa de PósGraduação em Matemática da Universidade Federal do Rio Grande do Sul, 1993. [11] Vilhena, M. T., Streck, E., An Approximated Solution of the One-Group Neutron Transport Equation, Kerntechnick, v. 57, p. 196, 1992. [12] Trzaska, Z., An Efficient Algorithm for Partial Fraction Expansion of the Linear Matrix Pensil Inverse, Journal of the Franklin Inst., v.324, p. 465, 1987. AGRADECIMENTOS [13] Brancher, J.D., Cardona, A.V., Vilhena, M. T., A Recursive Method to Invert the LTSN Matrix, Progress in Nuclear Energy, v. 33, n. 4, p. 393-401, 1998. Os autores são gratos ao CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) e CNEN(Comissão Nacional de Energia Nuclear) pelo suporte parcial a este trabalho. [14] Cardona A.V., Vilhena, M. T., A Solution of Linear Transport Equation Using Walsh Function and Laplace Transform, Annals of Nuclear Energy, v. 21, n. 8, p. 495505, 1994. REFERÊNCIAS [15] Segatto, C.F., Vilhena, M. T., Brancher, J. D., The One-Dimensional LTSN Formulation For High Degree of Anisotropy, Journal of Quantitative Spectroscopy and Radiative Transfer, v. 61, p. 39, 1999. [1] Lewis, E. E., Miller, W.F., Computational Methods of Neutron Transport, John Wiley & Sons, New York, 1984. [2] Bell, G.I., GLASSTONE, S., Nuclear Reactor Theory, Krieger Publishing Company,Malabar, Florida, 1985. [16] Brancher, J.D., Segatto, C.F., Vilhena, M. T., The LTSN Solution for Radiative Transfer Problem Without Azimuthal Symmetry With Severe Anisotropy, Journal of Quantitative Spectroscopy and Radiative Transfer, v. 62, p. 743-753, 1999. Index [17] Segatto, C.F., Vilhena, M. T., Solução Genérica da Equação deTtransporte Unidimensional Para Elevadas Ordens de Quadraturas, Anais do XI ENFIR- Encontro Nacional de Física de Reatores e Termohidráulica-Poços de Caldas - MG, v. 1, p. 238-242, 1997. [18] Segatto, C.F., Vilhena, M. T., Gomes, M.G., The One-Dimensional LTSN Solution in A Slab With High Degree of Quadrature, Annals of Nuclear Energy, v. 26, p. 925-934, 1999. [19] Barichello, L.B., Comunicação Pessoal, 1996. [20] Gonçalves, G.A., Solução LTSN da Equação Adjunta de Transporte de Nêutrons com Fonte Arbitrária para Elevada Ordem de Quadratura Numa Placa Homogênea, Diss. Mestrado, Porto Alegre, RS, Brasil, Programa de Pós-Graduação em Engenharia Mecânica (PROMEC), Universidade Federal do Rio Grande do Sul, Fevereiro 1999. [21] Gonçalves, G.A., Segatto, C.F., Vilhena, M. T., The LTSN Particular Solution in A Slab For An Arbitrary Source and Large Order of Quadrature, Journal of Quantitative Spectroscopy and Radiative Transfer, v. 66, p. 271-276, 2000. [22] Pazos, R.P., Vilhena, M. T., Convergence of the LTSN Method: Approach of C0 Semi-Groups, Progress in Nuclear Energy, v. 34, n. 1, p. 77-86, 1998. [23] Pazos, R.P., Vilhena, M. T., Convergence in Transport Theory, Applied and Numerical Mathematics, v. 30, p. 1-14, 1998. [24] Pazos, R.P., Vilhena, M. T., Convergence of the Spectral Approximations for Steady-State TwoDimensional Transport Problem, Mathematics and Computation, Reactor Physics and Environmental Analysis in Nuclear Applications--International Conference, Madrid, Spain, v. 2, p. 1965-1976, Sep. 1999. [25] Graça Gomes, M., Métodos de Inversão Matricial para (sA + B) em Problemas de Transporte de Nêutrons, Diss. Mestrado, Porto Alegre, RS, Brasil, Programa de PósGraduação em Matemática da Universidade Federal do Rio Grande do Sul, Fevereiro 1999. [26] Segatto, C.F., Vilhena, M. T., The State-Of-The-Art of the LTSN Method, Mathematics and Computation, Reactor Physics and Environmental Analysis in Nuclear Applications--International Conference, Madrid, Spain, v. 2, p. 1618-1631, September 1999. [27] Barichello, L.B., Vilhena, M. T., A General Approach to One Group One Dimensional Transport Equation, Kerntechnick, v. 58, n. 3, p. 182-184, 1993. [28] Vilhena, M. T., Barichello, L.B., An analytical Solution for the Multigroup Slab Geometry Discrete Ordinates Problem, Transport Theory and Statistical Physics, v. 24, n. 9, p. 1337-1352, 1995. [29] Segatto, C.F., Vilhena, M. T., Extension Of The LTSN Formulation for Discrete Ordinates Problem Without Azimuthal Symmetry, Annals of Nuclear Energy, v. 21, n. 11, p. 701-710, 1994. [30] Batistela, C. H.F., Vilhena, M. T., Borges, V., Cálculo do Fator de Multiplicação keff pelo Método LTSN, EGATEA-Revista da Escola de Engenharia /UFRGS, v. 24, n. 01, p. 101--111, 1996. [31] Batistela, C. H.F., Vilhena, M. T., Borges, V., Criticality By The LTSN Method, Journal of Nuclear Science and Technology, v. 34, n. 6, p. 603-606, 1997. [32] Derivi, A.G., Código Computacional para Cálculos de Criticalidade em Placas pelo Método LTSN. Diss. Mestrado, Porto Alegre, RS, Brasil, Programa de PósGraduação em Engenharia Mecânica (PROMEC), Universidade Federal do Rio Grande do Sul, 1999. [33] Gonçalves, G.A., Orengo, G., Vilhena, M. T. , Graça, C.O., LTSN Solution of the Adjoint Neutron Transport Equation With Arbitrary Source For High Order Of Quadrature In A Homogeneous Slab, Annals of Nuclear Energy, v. 29, p. 561-569, 2002. [34] Cunha, R.D., Hopkins, T.R., A Parallel Implementation of the Restarted GMRES Iterative Method for Nonsymmetric Systems of Linear Equations, Advanceds In Computacional mathematics, v. 3, n. 2, p. 261--277, April 1994, Also as TR-7-93, Computing Laboratory, University of Kent at Canterbury. [35] Cunha, R.D., Hopkins, T.R., PIM 2.2-The Parallel Iterative Methods Package for Systems of Linear Equations, Instituto de Matemática e Centro Nacional de Supercomputação, UFRGS - Brasil. [36] Lapack95 -http://www.netlib.org/lapack user's [37] http://www.linmpi.mpg.de/dislin, fevereiro de 2002. guide, último 2000. acesso: ABSTRACT The aim of this work consists to present the first version of a code to solve problems in transport theory using the formulation of the LTSN method, in slab geometry. The code incorporates all the current progresses of the LTSN method, such as, capacity to solve transport problems, so much direct as adjoint, with arbitrary source, for high order quadrature in multigroups. The criticality calculation, as keff and critical dimension is available. Also, are some proposed progresses for the method, the use of the iterative method for solution of the system of boundary condition equations, that reduced the computational time considerably. The Fortran 90 language were used. To validate the results, some numeric results are presented.