You are on page 1of 281

MONOGRAFA FINAL DE LA MATERIA

INTRODUCCIN AL MTODO DE ELEMENTOS FINITOS


Difusin de neutrones en mallas no estructuradas:
comparacin entre volmenes y elementos nitos
Mg. Ing. Germn Theler
Facultad de Ingeniera
Universidad Nacional
de Buenos Aires
Instituto Balseiro
Universidad Nacional de Cuyo
Comisin Nacional de Energa Atmica
Buenos Aires, Argentina
Diciembre de 2013
Resumen
Difusin de neutrones en mallas no estructuradas:
comparacin entre volmenes y elementos nitos
Mg. Ing. Germn Theler
El objetivo principal de esta monografa es resolver numricamente una ecuacin matemti-
ca que eventualmente puede llegar a tener aplicaciones de interstanto acadmicas como
industrialespara analizar, estudiar y optimizar reactores nucleares. Para ello hemos desarro-
llado un cdigo computacional llamado milonga y distribuido libremente bajo los trminos de
la Licencia Pblica General GNU. En el presente trabajo, primero introducimos dos esquemas
numricos para resolver la ecuacin de difusin de neutrones multigrupo sobre una malla no
estructurada, uno basado en el mtodo de volmenes nitos y otro basado en el mtodo de ele-
mentos nitos. Luego resolvemos algunos problemas sencillosy otros no tantoutilizando
ambos esquemas y comparamos los resultados obtenidos. Introducimos primero los conceptos
matemticos bsicos relacionados con la ecuacin de difusin de neutrones multigrupo y luego
desarrollamos las ideas de ambos esquemas numricos, que son los que hemos programado en
la versin actual del cdigo milonga y que utilizamos para resolver problemas introducidos en
orden de complejidad creciente, haciendo especial nfasis en la comparacin entre volmenes
y elementos nitos.
Difusin de neutrones en mallas no estructuradas: comparacin entre
volmenes y elementos nitos by jeremy theler is licensed under a
Creative Commons Attribution-ShareAlike 4.0 International License.
Abstract
Neutron diffusion on unstructured grids:
comparison between nite volumes and nite elements
Mg. Ing. Germn Theler
The main objective of this monograph is to numerically solve a mathematical equation that
eventually can have applications of interestboth in the academia and in the industryto
analyze, study and optimize nuclear reactors. In order to do that, we have developed a compu-
tational code named milonga which is freely distributed under the terms of the GNU General
Public License. INthis work, we rst introduce two numerical schemes to solve the multigroup
neutron diffusion equation over an unstructured meshone based on the nite volumes met-
hod and the other one based on the nite element method. Then we solve some simpleand
others no to simpleusing both schemes and we compare the obtained results. We introduce
rst the basic mathematical concepts related to the multigroup neutron diffusion equation and
the we develop the ideas of both numerical schemes, which are the ones that are programmed
in the current version of the milonga, used to solve the problems hereby discussed. The ca-
ses are presented in increasing order of complexity, paying special attention to the comparison
between nite volumes and nite elements.
Difusin de neutrones en mallas no estructuradas: comparacin entre
volmenes y elementos nitos by jeremy theler is licensed under a
Creative Commons Attribution-ShareAlike 4.0 International License.
Contenidos
1. Introduccin 1
2. La ecuacin de difusin de neutrones 7
2.1. Marco fsico-matemtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Difusin de neutrones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1. Grupos de energa discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2. Condiciones de contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.3. El problema de autovalores . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. La ecuacin de difusin discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3. Volmenes nitos 21
3.1. Esquema basado en volmenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1. Reacciones totales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.2. Fisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.3. Scattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4. Fugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2. Formulacin matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4. Elementos nitos 34
4.1. Residuos ponderados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1. Ecuacin escalar en una dimensin . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.2. Ecuacin escalar en varias dimensiones . . . . . . . . . . . . . . . . . . . . 42
4.1.3. Ecuacin vectorial en varias dimensiones . . . . . . . . . . . . . . . . . . . 46
4.2. El mtodo de elementos nitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.1. Ensamble de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2. Funciones de forma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3. Formulacin dbil de la ecuacin de difusin de neutrones . . . . . . . . . . . . . 74
4.4. Esquema basado en elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.1. Fisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.4.2. Remociones y scattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.4.3. Fugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.4.4. Condiciones de contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.5. Equivalencia con el mtodo de Galerkin . . . . . . . . . . . . . . . . . . . . . . . . 92
4.6. Formulacin matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5. Resultados 100
5.1. Slabs unidimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.1.1. Slabs desnudos con propiedades homogneas . . . . . . . . . . . . . . . . 103
5.1.2. Slab a dos zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.1.3. Slabs reejados a dos grupos . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.1.4. Slab con distribucin continua de propiedades . . . . . . . . . . . . . . . . 159
5.2. Problemas en dos dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.2.1. Crculo desnudo homogneo . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.2.2. Corte transversal de un reactor con barras inclinadas . . . . . . . . . . . . 199
5.2.3. El problema de los pescaditos . . . . . . . . . . . . . . . . . . . . . . . . . . 225
5.2.4. Two-dimensional PWR IAEA Benchmark . . . . . . . . . . . . . . . . . . . 235
6. Conclusiones 262
6.1. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
A. Algunos resultados de la geometra del plano 265
A.1. La normal a un segmento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
A.2. El rea del tringulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
A.3. El rea del cuadrngulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
A.4. Pertenencia de un punto a un tringulo . . . . . . . . . . . . . . . . . . . . . . . . 267
A.5. Pertenencia de un punto a un cuadrngulo . . . . . . . . . . . . . . . . . . . . . . 267
B. Identidades de Green 269
C. Cuadratura de Gauss 271
C.1. Una dimensin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
C.2. Dos dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

CAPTULO I
Introduccin
[director] Sabs por qu trabajo de lo que trabajo?
[ tesista ] Por la diversin (en el sentido de for the fun).
[director] Exacto.
Dilogo entre el autor de este trabajo
y su director de tesis de maestra, 2008
En diciembre de 1942, geogrcamente bajo las tribunas del viejo estadio abandonado de ftbol
americano de la Universidad de Chicago y orgnicamente bajo el ala del proyecto Manhattan,
Enrico Fermi mostr experimentalmente que era posible lograr una reaccin de sin nuclear
autosostenida. La facilidad conocida como Chicago Pile-1 consista en una verdadera pila com-
puesta por ladrillos de diferentes materialesdixido de uranio como combustible y grato
como moderadorsimplemente apoyados uno contra otros dejando algunos lugares libres por
donde podan deslizar barras recubiertas de cadmio que actuaban como reguladoras. Fermi
pudo, resolviendo la ecuacin de difusin de neutrones con lpiz y papel, predecir cuntos la-
drillos hacan falta para lograr la masa crtica y estimar a qu altura se deban extraer las barras
de control para lograr la primera cadena de siones autosostenidas inducidas por el hombre.
Figura 1.1 Representacin artstica de la Chicago Pile-1 donde Enrico Fermi logr la primera reaccin nuclear de
sin autosostenida de la historia en diciembre 1942. University of Chicago Photographic Archive, [apf2-00503],
Special Collections Research Center, University of Chicago Library.
Las mismas ecuaciones que utiliz Fermi para disear la CP-1 hace ms de setenta aos
siguen siendo las ms empleadas en el diseo y en el anlisis de reactores nucleares de sin,
tanto en el ambiente acadmico como en la industria, ya que presenta ciertas ventajas que la
hacen bastante atractiva frente a otras formulaciones matemticas. Estas ecuaciones son bsi-
camente un conjunto de ecuaciones diferenciales en derivadas parciales acopladas, donde los
operadores diferenciales son de segundo orden y se aplican slo a las coordenadas espaciales.
La ecuacin de difusin es una simplicacin de la ecuacin de transporte de Boltzmannque
a su vez se basa en la suposicin de que los neutrones se comportan en forma determinstica
y que, como todos los modelos matemticos, es aplicable con una precisin razonable slo en
algunos casos. Adems, la ecuacin de difusin se utiliza principalmente en clculos a nivel
de ncleoen contraposicin de los llamados clculos a nivel de celda. Por todos estos mo-
tivos, aunque la difusin de neutrones resulte atractiva desde el punto de vista matemtico,
su aplicacin a sistemas fsicos reales y la interpretacin de los resultados obtenidos deben ser
realizadas con un cuidadoso criterio ingenieril.
Si bien el espritu de la ingeniera en general es resolver problemas prcticos de la mejor
manera y con el menor costo posible, en particular este trabajo se centra solamente en la mate-
mtica involucrada detrs de la resolucin de la ecuacin de difusin de neutrones multigrupo.
Es decir, el objetivo es resolver un sistema de ecuaciones en derivadas parciales. Sabemos que
de alguna manera, los mtodos y resultados obtenidos pueden ser aplicados a sistemas fsicos
reales. Pero el alcance de esta monografa se limita a estudiar, analizar y entender la matemti-
ca que yace detrs de la ecuacin de difusin de neutrones multigrupo en estado estacionario.
Es en este sentido en el cual deben ser entendidos las ideas introducidas y los resultados obte-
nidos.
Usualmente, en clculos de ncleo a nivel industrial, la ecuacin de difusin de neutrones
se resuelve utilizando esquemas numricos basados en diferencias sobre una malla estructu-
rada. Sin embargo, en ciertas ocasiones es interesante resolver el mismo problema de varias
maneras para analizar los errores introducidos por las diferentes aproximaciones utilizadas al
transformar una ecuacin diferencial continua en una cantidad nita de ecuaciones algebraicas.
Sucede que, por un lado, en la literatura de reactores nucleares donde el problema de difu-
sin de neutrones es casi central, las las mallas no estructuradas no son muy tratadas princi-
palmente porque su aplicacin en la industria es ms bien escasa. Y, por otro lado, los libros de
mtodos numricos que s muestran cmo resolver ecuaciones sobre mallas no estructuradas
no hablan sobre neutrnica ya que es un tema demasiado particular que no tiene una audien-
cia lo sucientemente grande como para ser objeto de ejemplos de elementos nitos.
1
Ms an,
aunque matemticamente la ecuacin de difusin de neutrones es similar a otras ecuaciones de
difusin, como por ejemplo la ecuacin de conduccin del calorque s es extensamente trata-
da en la literatura de elementos nitosusualmente los coecientes de los ejemplos resueltos
se toman constantes. Los casos de inters de la ecuacin de difusin de neutrones involucran
varios materiales y, usualmente, una dependencia continua de los coecientes de la ecuacin
con la posicin espacial, an para un mismo material. Sucede tambin que los libros clsicos
que introducen los conceptos de elementos nitos para resolver problemas de ingeniera se en-
focan ms en resolver ejemplos cannicos del problema elstico lineal y de mecnica de uidos
que en explicar las caractersticas matemticas los mtodos numricos involucrados, dejando
afuera otro tipo de ecuaciones como las de Maxwell o la de Schredinger, que bien podran
servir para introducir e ilustrar ideas generales aplicables a cualquier tipo de problemas. Slo
a modo de ejemplo, la referencia [1] indica en su ttulo que debera tratar sobre procedimien-
1
Lo que coloquial y e incorrectamente se suele llamar masa crtica, congurando una paradjica situacin en
la que dicho trmino coloquial ha encontrado ms aplicacin en la comunidad cientca que la fsica de reactores
propiamente dicha.
:
tos relacionados a elementos nitos y se trata en verdad de un libro sobre la resolucin de
problemas de ingeniera civil utilizando mtodos numricos, arribando a algunos resultados
puramente matemticos slo luego de resolver ejemplos prcticos que tienen inters slo para
ingenieros estructuralistas en lugar de desarrollar una teora slida a partir de axiomas mate-
mticos sencillos.
El objeto principal de estudio es la comparacin de los resultados obtenidos al resolver la
ecuacin de difusin de neutrones a pocos grupos de energa en estado estacionario con vo-
lmenes nitos por un lado y por elementos nitos por el otro. Siendo estos dos esquemas
numricos en su naturaleza, es de esperar que su implementacin prctica se haga en algn
tipo de computadora digital. El paradigma actual de la computacin cientca al momento de
escribir estas lneas (Diciembre de 2013) consiste en la utilizacin de computadoras con repre-
sentacin binaria, memoria accesible a travs de un at address space con diferentes niveles
de cache con direcciones de tamao jo [2]. Cada una de estas computadores digitales posee
varios ncleos de microprocesadores tipo CISC y usualmente estn conectadas entre s a travs
de una red tipo Ethernet formando clsters de clculo que distribuyen la carga computacional
entre sus nodos. Por una serie de razones tcnicas que no viene al caso enumerar [2, 3], el sis-
tema operativo estndar para estas conguraciones es alguna variante de GNU/Linux. Ahora
bien, adems de las razones tcnicas sucede que el proyecto GNUque consiste en escribir un
sistema operativo completamente libreest basado en la ideas fundamentales de libertades
individuales y colectivas. Particularmente, en trminos de software esto implica que, dado un
cierto programa, cualquier persona debe poseer simultneamente las libertades de
0. ejecutarlo para cualquier propsito dentro de las reglas de la tica
1. estudiar cmo funciona y cambiarlo para que haga lo que esa persona necesite
que haga
2. redistribuir copias del software original para compartirlo con la comunidad
3. redistribuir copias de las versiones modicadas para compartirlas con la co-
munidad
Estas cuatro libertadas bsicas no son linealmente dependientes como podra parecer a pri-
mera vista, y tomadas como una base generan el subespacio del software libre, cuyas implica-
ciones y discusin detallada podemos encontrar en literatura especializada [4]. De todas ma-
neras, el concepto de free softwarecon el adjetivo usado como en free speech y no como en free
beer [5]es tremendamente importante para el desarrollo de la ciencia y la tecnologa como
ilustra el humilde ejemplo del cdigo computacional desarrollado y utilizado para resolver los
problemas propuestos en esta monografa.
Por otra serie de razones, usualmente los programas de clculo suelen ser software pri-
vativo que, adems de estar involucrar costos casi siempre inalcanzables para un estudiante
promedio, priva a los usuarios de las cuatro libertades bsicas. Casi todos los cdigos enla-
tados con los que me top durante mis pocas de estudiante y luego como profesional son
entregados en forma binaria para una cierta arquitectura sin que podamos ejecutarlos como
quisiera (libertad 0). El cdigo fuente original rara vez es entregado para que podamos estu-
diar cmo funciona y mucho menos modicarlo para agregarle funcionalidades (libertad 1).
No tenemos permitido regalar una copia del programa a algn amigo que podra beneciarse
con l (libertad 3), y de yapa nos calican con un remoquete propio de gente que atraca bar-
cos para robar su cargamento (sic). En estas condiciones, ni siquiera es necesario decir que no
podemos distribuir versiones modicadas (libertad 4). Desde el punto de vista acadmico de
distribucin del conocimiento existente y de generacin de nuevo conocimiento, el software
libre toma una importancia central. Cualquier software privativo est justamente privando a la

comunidad del acceso al conocimiento y diculta la generacin de nuevo conocimiento y debe


ser evitadopor no usar una palabra ms fuertepor las comunidades acadmicas, cientcas
y tecnolgicas.
Comenc a desarrollar el cdigo neutrnico milonga desde cero en 2010 como una herra-
mienta computacional de soporte a mi tesis de Doctorado en Ingeniera Nuclear con las pre-
misas del software libre desde la concepcin de sus bases de diseo [6]. A mediados de 2011
la primera versin de milonga es liberada bajo la licencia GNU General Public License [7]. En
la versin 0.1, milonga es capaz de resolver el problema de difusin de neutrones multigrupo
en estado estacionario en una y dos dimensiones usando un mtodo de discretizacin espa-
cial basado en volmenes nitos sobre mallas estructuradas (y las bibliotecas PETSc [8, 9] y
SLEPc [10] para resolver el problema de autovalores). Cuando en el segundo semestre de 2011
curs la materia Introduccin a Elementos Finitos a cargo del Dr. Sergio Ferro en la Universi-
dad de Buenos Aires como parte de mi plan de formacin, el paso siguiente era tan obvio como
inevitable: incorporar la capacidad de resolver el problema de difusin de neutrones multigru-
po en mallas no estructuradas utilizando el mtodo de elementos nitos. Es esta monografa
entonces hija de esta conjuncin de condiciones, a saber, un cdigo numrico basado en vol-
menes nitos sobre mallas estructuradas y el cursado de una materia que trata sobre elementos
nitos en mallas no estructuradas. La consecuencia es, adems de un documento de varias p-
ginas en formato A4, la versin 0.2 del cdigo libre milonga. Esta versin ser liberada pblica
y ocialmente una vez que la documentacin sea actualizada en forma acorde a los cambios
introducidos en el cdigo fuente. En el captulo 6 discutimos las caractersticas deseadas de las
versiones futuras de milonga, pero el objetivo es llegar a una versin 1.0 que sea capaz de re-
solver problemas tridimensionales con geometras y propiedades de reactores reales de inters
industrial. Sin perjuicio de ello, volvemos a repetir que este trabajo se trata de resolver ecuacio-
nes matemticas utilizando diferentes mtodos numricos para tratar de arribar a conclusiones
estrictamente matemticas. Los juicios ingenieriles estn fuera del presente alcance.
Siendo lo que es, un trabajo nal de una materia de posgrado, es innegable que la exten-
sin del documento es un tanto excesiva y seguramente su lectura resultar tediosa y aburrida.
Sucede que, tal como en la cita con la que comienza el captulo, me gusta hacer lo que hago, tra-
bajar de lo que trabajo y escribir lo que escribo. As que lo que comenz como un escueto trabajo
prctico se fue transformando en una larga monografa, rayana a una tesis en s misma, cuya
escritura demand un ao y medio a lo largo del cual fueron apareciendo conceptos e ideas
que fui creyendo conveniente incluir. En el nterin, entre volmenes y elementos alcancy
sobrepasalgunos milestones en mi vida tal como el casamiento con mi hermosa esposa.
Sabr entonces entender el amable lector que estas hojas abrochadaso el correspondiente ar-
chivo electrnico de varios megabytes de tamaoesconde un trasfondo ms complejo que
una monografa larga. Algunos pasajes y la aparicin de chistes como notas al pie reejan vai-
venes de humor y emociones, propios de un ao y medio en la vida de un ingeniero. No slo
cambia el estilo narrativo sino su agudeza y exigencia matemtica, por lo que si ciertos prrafos
parecen escritos por diferentes personas es porque lo son. Uno fue escrito por un soltero y otro
por un casado.
Con el objetivo de intentar hacer lo ms autosostenida posible la presentacin, en el cap-
tulo 2 introducimos algunas ideas generales y muy bsicas sobre la naturaleza del problema
a resolver. Luego pasamos a describir los dos esquemas numricos con los que discretizamos
espacialmente la ecuacin de difusin de neutrones. En el captulo 3 desarrollamos un mtodo
basado en volmenes nitos, que es una generalizacin a mallas no estructuradas del esque-
ma usado en la primera versin de milonga sobre mallas estructuradas. El captulo 4 es donde
aplicamos el mtodo de elementos nitos a la difusin de neutrones. Su longitud fue creciendo

a medida que era necesario justicar algunos pasos matemticos que fueron implementados
en el cdigo, especialmente en relacin con las condiciones de contorno. En su forma nal, el
desarrollo va desde lo general a lo particular introduciendo ejemplos sobre cmo aplicar los
conceptos de complejidad creciente que vamos introduciendo para resolver ecuaciones senci-
llas y puramente matemticas, es decir, sin una aplicacin fsica o ingenieril directa. En el caso
general de sistemas de ecuaciones en varias dimensiones a veces es necesario realizar opera-
ciones sobre escalares, vectores, matrices y tensores lo que acarrea consigo la utilizacin de
ndices, subndices, suprandices y tipografas especiales para indicar los tipos de operaciones
y operandos. Principalmente para lograr que entender yo mismo qu ecuaciones era las que
estaba programando en milonga, es que decid reemplazar las expresiones generales en fun-
cin de una cantidad de grupos genrica G y una dimensin espacial 1 arbitraria, tomar casos
particulares jando G y 1, escribir explcitamente los elementos de matrices y vectores llevan-
do las expresiones a operaciones escalares para luego generalizar los resultados para cualquier
cantidad de grupo y dimensiones espaciales. Esto deja un captulo 4 bastante largo pero que
ha resultado de especial inters por un lado para saber cabalmente qu es lo que se esconde
detrs del mtodo de elementos nitos y por otro para utilizar como referencia para cuando
hayan pasado algunos aos y me pregunte cul es la relacin entre el operador gradiente del
ujo neutrnico y la matriz jacobiana de las funciones de forma de los elementos.
Cabe aclarar que si bien el captulo 3 se llama Volmenes nitos y el captulo 4 se llama
Elementos nitos, su contenido no reeja otra cosa ms que dos de los muchos posibles es-
quemas de discretizacin espacial basados en dichos mtodos. Es ms, dichos captulos reejan
ideas y conceptos de lo que yo entiendo por volmenes y elementos nitos, los cuales deberan
ser tomados con un especial juicio crtico.
En el captulo 5 es donde resolvemos una cantidad de problemas, tambin de complejidad
creciente. Comenzamos con casos cannicos como slabs unidimensionales con propiedades
uniformes y vamos avanzando hacia problemas cada vez ms complicados. Todos los proble-
mas son resueltos utilizando ambos esquemas y los resultados son comparados a la luz de las
ideas desarrolladas en los captulos 3 y 4. Aunque arribamos a algunos resultados generales y
conclusiones interesantestal como la notable ecuacin (5.7), la gura 5.21 o la discusin de la
pgina 227an hay muchas ms conclusiones por sacar. Es posible que debido a la muestra
de problemas elegidos para resolver y estudiar, muchos de los resultados sean consecuencias
de los casos particulares tomados. Quedan an muchas preguntas abiertas, problemas por re-
solver y conclusiones por obtener. Incluso solamente hemos tratado problemas en una y dos
dimensiones debido a una limitacin del cdigo milonga. Es de esperar que en problemas tri-
dimensionales aparezcan efectos que no hemos podido observar en los casos estudiados.
Hemos intentado analizar y discutir los problemas dentro de un alcance razonable. De to-
das maneras, hay muchas conclusiones que puede ser obtenidas a partir del estudio de las
guras resultantes que quedan a cargo del lector. En lo posible, hemos intentado incluir sola-
mente guras vectoriales para que sea posible ilustrar los detalles sin prdida de calidad en
medios digitales. De cualquier manera, el diseo del documento fue pensado para representar
un soporte en papel por lo que en caso de ser necesario, es posible proveer las guras en sus for-
matos originales. O, mejor an, un conjunto de scripts que utilizando el cdigo milonga, crean
no slo nuevamente las guras desde cero sino que dan como resultado el captulo 5 completo
tal cual lo presentamos. De hecho fue sta la forma en la cual lo generamos: un script ejecu-
ta sucesivamente a una serie de programasincluyendo las llamadas a milonga para resolver
los problemasy genera un input de L
A
T
E
X listo para ser incluido como captulo de en un do-
cumento maestro. Mientras tanto, milonga usa el cdigo gmsh como mallador y genera datos
que pueden ser post-procesados con el mismo gmsh o con herramientas de gracacin como
pyxplot o gnuplot. En todos los casos, se trata de software libre segn la discusin anterior.

Por ltimo, en el captulo 6 discutimos las conclusiones que nos dejaron los tres captu-
los anteriores y proponemos una lista de ejes sobre los cules deberamos basar algunos de
los trabajos futuros relacionados a resolver ms y mejor algunas ecuaciones matemticas con
aplicacin directa a problemas de inters industrial.
No es cierto que este trabajo venga a llenar ningn tipo de gap en la literatura ni a su-
plir deciencias acadmicas de ndole alguna. Ni siquiera estoy cierto de que las haya. Por el
contrario, debe tomarse cabalmente como lo que es: una monografa nal de una materia uni-
versitaria de introduccin al mtodo de elementos nitos a nivel de posgrado escrita por un
estudiante que trabaja en la industria nuclear y que al mismo tiempo cursa un doctorado en
background. Es por eso que solicito desde un principio piedad en los requerimientos tcnicos
y acadmicos por parte del lector. Cualquier enunciado que pertenezca a este texto debe ser
entendido como dicho pidindole permiso a los que saben. Correcciones, sugerencias y todo
tipo de comentarios son bienvenidos.
6
CAPTULO II
La ecuacin de difusin de neutrones
Mathematics, rightly viewed, possesses not only truth,
but supreme beautya beauty cold and austere,
like that of sculpture, without appeal
to any part of our weaker nature,
without the gorgeous trappings of painting or music,
yet sublimely pure, and capable of a stern perfection
such as only the greatest art can show.
Bertrand Russel, The Study of Mathematics, 1902
El presente trabajo consiste bsicamente en resolver en forma numrica un problema de auto-
valores formulado a travs de una ecuacin en derivadas parciales. Si bien es ste un trabajo
estrictamente matemtico, la ecuacin continua que es luego discretizada y resuelta numri-
camente tiene ciertas aplicaciones en ingeniera nuclear que hacen que los desarrollos mate-
mticos usuales se realicen de una cierta manera particular. Es por eso que para que aquellos
lectores que no estn familiarizados con la neutrnica y el anlisis de reactores de sin obser-
ven cules son las motivaciones, la importancia, el signicado fsico y las razones de por qu
desarrollamos la ecuacin de cierta manera y no de otra, antes de pasar a introducir la ecuacin
y a explicar sus parmetros, la seccin siguiente contiene un marco terico a modo de pequeo
preludio a las ecuaciones propiamente dichas. La deduccin y el desarrollo de la ecuacin cen-
tral objeto de estudio desde primeros principios est fuera del alcance del trabajo. Los detalles
fsicos, matemticos e ingenieriles se dan como referencias [11, 12, 13, 14].
2.1. Marco fsico-matemtico
El diseo y anlisis de reactores nucleares de sin se basa en estudiar las colisiones que se dan
entre los neutrones y los materiales que componen el ncleo (core) del reactor. Los neutrones
interactan con los ncleos (nuclei) de los tomos de los materiales circundantes de una mane-
ra estocstica. Para jar ideas, supongamos que si un neutrn colisiona con un ncleo de un
tomo (nucleus), entonces tiene una probabilidad j de ser absorbido y (1 j) de dispersarse.
Sin embargo, dada la enorme poblacin de neutrones que se encuentra normalmente en los n-
cleos de los reactores nuclearesdel orden de 10
15
es correcto considerar que se comportan
de manera determinista y, del total de neutrones que colisionan con dicho ncleo, exactamente
una fraccin j son absorbidos y (1 j) son dispersados.
Un neutrn est caracterizado por su posicin espacial x R
3
, por su energa 1 y por
la direccin en la que viaja (gura 2.1). La probabilidadtcnicamente denida como una
seccin ecazde que dicho neutrn sufra cierto tipo de interaccin con la materia tambin
Figura 2.1 Un neutrn clsico (bola celeste) se puede caracterizar por una posicin x en el espacio, una direccin
de vuelo y una energa E, que se relaciona con la velocidad de acuerdo a la frmula clsica E = mv
2
/2.
depende de la posicin espacial de los ncleos blanco (el uranio ocupa un cierto espacio y
el agua pesada otro), de la energa de los neutrones incidentes (el uranio siona con mucha
ms probabilidad si es bombardeado con neutrones lentos que con neutrones rpidos) y de la
direccin de los neutrones incidentes, aunque en mucho menor medida.
1
En este sentido, es posible realizar un balance de neutrones con una idea similar a la ecua-
cin de conservacin de partculas de Maxwell para la teora cintica de los gases, teniendo en
cuenta los diferentes mecanismos particulares de aparicin, desaparicin y migracintanto
en el espacio como en el dominio de las energasde neutrones. La ecuacin de transporte re-
sultante describe el comportamiento del campo de neutrones (x, 1, , t) en funcin de siete
variables independientes: tres para la posicin espacial x, una para la energa 1, dos para la
direccin y eventualmente una para el tiempo t en problemas transitorios.
Este trabajo trata slo con la obtencin de estados estacionarios, por lo que en lo que resta
del desarrollo no volvemos a hacer referencia al tiempo. Por otro lado, la dependencia en la
direccin de vuelo no suele interesar a efectos de los clculos de reactor, ya que es sucien-
te conocer slo los ritmos de reaccin en funcin del espacio dados por el producto del ujo
integrado (x, 1) por la seccin ecaz macroscpica (x) correspondiente a la reaccin de in-
ters. Luego, si integramos de la ecuacin estacionaria de transporte con respecto al ngulo
slido en 4 obtenemos una versin integral de la ecuacin de Maxwell para el ujo integra-
do (x, 1). En verdad esta magnitud es un artefacto matemtico que utilizamos como medio
para calcular ritmos de reaccin en funcin de la posicin x. De cualquier manera, esto implica
que, a menos que utilicemos mtodos continuos como Monte Carlo, debamos discretizar tanto
el dominio espacial como el dominio de las energas para obtener resultados numricos tiles.
Los parmetros que caracterizan la interaccin de los neutrones con ncleo individuales se
llaman secciones ecaces microscpicas, se simbolizan con la letra griega , tienen unidades
rea y dan una medida de la probabilidad que tiene un cierto ncleo blanco de interactuar con
neutrones. Estas secciones ecaces dependen, para cada uno de los posibles istopos blanco,
de la energa del neutrn incidente y de la temperatura del material que es bombardeado. De-
bido a efectos cunticos dentro de los ncleos, se producen resonancias a ciertas energas que
1
En la mayora de los casos de aplicacin de la ecuacin de difusin de neutrones, incluyendo este trabajo,
se asume que los materiales son istropos y difunden de la misma manera en cualquier direccin. En este caso,
se puede utilizar un coeciente de direccin ecalar. En caso de tener materiales anistropos, se debe formular la
ecuacin utilizando un tensor de coecientes de difusin.
8
10
4
1 10000
10
8
energa del neutr o incidente E [eV]
10
5
1
10
5
s
e
c
c
i
o
n
e

c
a
z
m
i
c
r
o
s
c
o
p
i
c
a
d
e
a
b
s
o
r
c
i
o
n

a
[
b
a
r
n
s
=
1
0

2
4
c
m

2
]
1
H
2
H
56
Fe
235
U
10
B
135
Xe
Figura 2.2 Secciones ecaces microscpicas de absorcin para algunos istopos a 293 K de temperatura en
funcin de la energa del neutrn incidente para el rango de energas tpicas en un reactor de sin trmico. Notar
los rdenes de cambio de magnitud tanto para un mismo istopo en funcin de la energa como para los diferentes
istopos a la misma energa. Un barn es igual a 10
24
cm
2
(as big as a barn!). Datos tomados de la referencia [15].
hacen que esta dependencia en energa y en temperatura sean bastante marcadas e irregulares.
A modo de ilustracin, la gura 2.2 muestra la seccin ecaz microscpicas de absorcin para
algunos istopos normalmente encontrados en el ncleo de un reactor nuclear. Existen seccio-
nes ecaces para todos los posibles tipos de interacciones neutrn-ncleo, tales como absorcin
total, absorcin con emisin , absorcin con emisin , sin, dispersin (scattering) elstica e
inelstica, etc.
La ecuacin de transporte de Maxwell no utiliza directamente las secciones ecaces micros-
cpicas en su formulacin, sino que aparecen secciones ecaces macroscpicas que resultan
de multiplicar la seccin ecaz microscpica por la densidad volumtrica de ncleos blanco,
obteniendo as unidades de longitud inversa para .
Ahora bien, el hecho de que dentro del ncleo de un reactor nuclear conviven usualmen-
te un gran nmero de materiales diferentes, cada uno de ellos normalmente constituido por
diferentes clases de tomoscuyas concentraciones van cambiando a medida que el uranio
se quema y aparecen productos de siny a distintas temperaturas, sumado a la compleja
dependencia de las secciones ecaces con las variables independientes hace que el clculo del
ujos de neutrones (x, 1) requiera una discretizacin espacial y en energa tan na que los
sistemas discretos resultantes sean rdenes de magnitud ms grandes que lo que pueden resol-
ver hoy en da las ms grandes supercomputadoras.
2
Por lo tanto, el clculo se divide en dos
2
Aunque por supuesto hay gente que lo intenta. Utilizando una supercomputadora con 150.000 ncleos [17]
han logrado realizar este tipo de clculos en Argonne National Laboratory. De todas maneras, la industria nuclear
seguir trabajando de la manera indicada en el presente trabajo por varios aos ms.

etapas. La primera, llamada clculo de celda, consiste en obtener secciones ecaces macroscpi-
cas homogeneizadas para ciertas celdas tpicas [18]. Esto quiere decir, que suponemos que una
celda bidimensional compuesta por ciertos materiales heterogneos se comporta como si fuera
un meta-material caracterizado por un juego de secciones ecaces macroscpicasuna
a
de
absorcin, una
f
de sin, una
s
de scattering, etc. La gura 2.3 muestra la geometra de
algunas celdas tpicas para tres tipos de reactores.
El clculo de celda utiliza ciertos mtodos particulares para resolver el transporte de neu-
trones bidimensional dentro de la celda teniendo en cuenta bibliotecas de secciones ecaces
microscpicas con una discretizacin na en espacio (longitudes caractersticas del orden del
tamao de la geometra ms pequea que aparezca dentro de la celda) y en energa (del orden
de cientos de grupos de energa). El output principal de este paso es la generacin de seccio-
nes macroscpicas homogeneizadas en el espacio y con una discretizacin gruesa en energa,
en funcin de las temperaturas y densidades de los diferentes materiales que componen las
celdas, que alimentan la siguiente etapa llamada clculo de ncleo.
En esta segunda etapa, se resuelve la ecuacin de transporteo alguna variacin tal co-
mo la ecuacin de difusinutilizando las secciones ecaces macroscpicas homogeneizadas
obtenidas en el clculo de celda con discretizaciones gruesas tanto en espaciales (longitudes
caractersticas del orden del tamao de la celda) como en energa (un par de grupos de ener-
ga). Es sobre el clculo de ncleo que se aplican los resultados objeto del este trabajo, as que
a partir de ahora haremos especial nfasis en esta etapa del clculo. Suponemos que el clculo
de celda ya fue realizado y todas las secciones ecaces macroscpicas necesarias para realizar
el clculo de ncleo son datos conocidos.
2.2. Difusin de neutrones
Antes de introducir la ecuacin de difusin de neutrones continua tanto en el dominio espa-
cial como en el de la energa, discutimos dos particularidades que posee esta ecuacin y que
inuyen en las discretizaciones necesarias para su solucin numrica, sea que utilicemos un
esquema de volmenes nitos o uno basado en elementos nitos.
La primera es que, en ausencia de fuentes de neutrones externas, los neutrones nacen sola-
mente a partir de la sin de ciertos ispotoscomo por ejemplo
235
U o
239
Puque, adems
(a) PWR (b) BWR (c) CANDU
Figura 2.3 Celdas tpicas para un reactor tipo PWR, para un tipo BWR y para un CANDU. La salida del clculo
de celda consiste en secciones ecaces macroscpicas homogeneizadas para la celda completa en funcin de las
temperaturas y densidades de los diferentes materiales que la componen. Imgenes tomadas del sitio web del
cdigo de celda basado en Monte Carlo Serpent [16].
1o
de sin
neutrn
es absorbido
se fuga
combustible
material
en otro
en el
captura
sin
Figura 2.4 Ilustracin simplicada de la vida de un neutrn nacido por sin. Para obtener un reactor crtico, por
cada neutrones producidos por sin, 1 deben fugarse o producir absorciones espurias y uno debe producir
una nueva sin.
de proveer la energa til que luego se transformar en energa elctrica en las centrales nuclea-
res, genera una cierta cantidad 2 < < 3 de neutrones en promedio. Un neutrn nacido en una
sin, tiene una vida que esquematizamos en la gura 2.4: o bien se fuga o bien se absorbe den-
tro del ncleo. Si se absorbe, puede hacerlo en el combustible o en otro material. Si lo hace en
el combustible, puede producir una captura radiativa o generar una nueva sin. Para lograr
un estado estacionario, es necesario que de los neutrones nacidos en una sin, exactamente
1 se fuguen o sean absorbidos en forma espuria para que exactamente uno genere una nueva
sin. En este estado, decimos que el reactor est crtico y la poblacin neutrnica se mantiene
constante en el tiempo, dando lugar a una solucin estacionaria.
La consecuencia matemtica de esta particularidad fsica es que, dada una geometra y
una cierta distribucin de materiales, la probabilidad de que el reactor resultante est crtico es
cero. Una forma de lidiar con este inconveniente es trabajar con lo que se llama el reactor crtico
asociado en /, que consiste en dividir todas las fuentes de sin por un nmero real /
eff
que es
tambin una de las incgnitasde forma tal de forzar el estado estacionario. De esta manera,
si resulta /
eff
< 1 el reactor real es subcrtico y si /
eff
1 el reactor real es supercrtico. Sin
embargo, en cualquier caso, el reactor asociado siempre resulta crtico y es posible encontrar
una solucin estacionaria para cualquier geometra y distribucin de materiales.
La segunda particularidad es que la ecuacin de transporte de neutrones tiene una estruc-
tura similar a la ecuacin de conduccin de calor en el sentido de que se trata de una ecuacin
de conservacin de una magnitud principal (la poblacin de neutrones en un caso y la tempe-
ratura en el otro) involucrando una magnitud derivada (la corriente neta de neutrones en un
caso y el ujo de calor en el otro), por lo que se obtienen dos incgnitas con una sola ecuacin.
Al dar una relacin explcita entre la magnitud principal y la derivada, obtenemos la segunda
ecuacin necesaria para arribar a un problema matemtico bien denido.
En el caso de la ecuacin de difusin de neutrones, se propone utilizar una relacin similar a
la ley de Fick para la difusin de especies qumicas en un medio, donde se relaciona la corriente
vectorial neta de neutrones J(x, 1) con el gradiente del ujo integrado (x, 1) mediante un
coeciente de difusin 1(x, 1)
J(x, 1) = 1(x, 1) (x, 1) (2.1)
donde el operador gradiente opera slo sobre las variables espaciales y cuya validez se discute
ampliamente en la bibliografa de fsica de neutrones [19, 20, 21].
Luego de haber discutido esta dos particularidades, introducimos a continuacin la ecua-
cin continua de difusin neutrones en estado estacionario, que es la ecuacin central del tra-
bajo y es la cual discretizamos y resolvemos en forma numrica:
11
0 = div
_
1(x, 1) grad
_
(x, 1)

_

t
(x, 1) (x, 1)
+
_

0

s
(x, 1

1) (x, 1

) d1

+ (1)
_

0

f
(x, 1

)
/
eff
(x, 1

) d1

(2.2)
Nuevamente, los operadores divergencia y gradiente operan sobre las coordenadas espa-
ciales de las funciones argumento. En forma muy simplicada, la explicacin de los trminos y
parmetros que aparecen es la que sigue. Para un mayor detalle, referirse a Henry [11], Glass-
tone y Bell [12] y Duderstadt y Hamilton [13].
El primer trmino es el llamado trmino de fugas, y es el que le da el nombre a la ecuacin.
Involucra al coeciente de difusin 1(x, 1) y al gradiente del ujo (x, 1). El segundo trmino
es el ritmo total de reaccin, igual al producto entre la seccin ecaz macroscpica total
t
(x, 1)
y el ujo (x, 1). El tercer trmino es la fuente de neutrones debido a dispersiones provenien-
tes de otras energas, y se obtiene de integrar la seccin ecaz de scattering
s
(x, 1

1) que
matemticamente es un ncleo (kernel) e indica la probabilidad de que un neutrn de ener-
ga 1

quede con una energa 1 luego de una colisin.


3
Finalmente, el ltimo trmino repre-
senta la fuente de neutrones de sin. Como hemos discutido, se divide la seccin ecaz de
sin
f
(x, 1)que ya tiene en cuenta el nmero promedio de neutrones que se generan
por cada sin individualpor un nmero real /
eff
, que junto a (x, 1) es una de las incgni-
tas. El ritmo de sin se integra en todas las energas y el espectro de sin (1) indica qu
fraccin del total nace en la energa 1.
4
Tal como est escrita, la ecuacin (2.2) es una ecuacin lineal ya que los coecientes slo
dependen de las variables independientes x y 1y no del ujo (x, 1) mismo. En la mayora
de los casos de aplicacin ingenieril, esto no es cierto y la ecuacin se transforma en no-lineal,
dado que suele suceder que las secciones ecaces dependan de la temperatura local de los ma-
teriales, que a su vez dependen de la potencia local generada, que depende del ujo neutrnico,
que nuevamente depende de la seccin ecaz. El otro caso tpico de no linealidad involucra el
istopo
135
Xe, que es un producto de sin y como tal, su concentracin depende del nivel de
ujo. Pero como ilustramos en la gura 2.2, una pequea cantidad de xenn puede generar
grandes cambios en la secciones ecaces macroscpicas, por lo que se obtiene una ecuacin
donde los coecientes que la denen dependen de la solucin misma requiriendo una solucin
iterativa. Sin embargo, se puede mostrar que es posible tomar la ecuacin (2.2) como lineal, al
menos en cada una de las iteraciones de un clculo iterativo [7, cap. 2]. Por lo tanto, estudiar
la ecuacin de difusin lineal tiene una aplicacin prctica incluso an en casos donde no es
aplicable directamente. De todas maneras, para el alcance de este trabajo vamos a suponer en
todos los casos que las secciones ecaces dependen solamente de la posicin y de la energa en
una forma conocida, dando lugar a una ecuacin lineal.
Por otro lado, el hecho de que la ecuacin (2.2) adems de lineal sea homognea y con
condiciones de contorno homogneas (ver seccin 2.2.2), es decir sin trminos independientes,
hace que si
1
(x, 1) es una solucin, entonces
2
(x, 1) =
1
(x, 1) tambin lo sea. Luego, la
solucin nal queda determinada a menos de una constante multiplicativa. Esta caracterstica
matemtica implica, adems de ciertos efectos fsicos e ingenieriles que no vienen al caso traer
a colacin, que es necesario normalizar de alguna manera las soluciones para, primero obtener
3
En el sentido matemtico estricto deberamos hablar de distribuciones y tomar intervalos [E

, E

+ dE

] y
[E, E + dE] para estudiar densidades de ritmos de reaccin, pero no es la intencin de este captulo incurrir en
complicaciones que no son necesarias para el objeto del trabajo. En el captulo dos de la documentacin del cdigo
milonga [7] se dan ciertos detalles pueden ser complementarias a esta seccin.
4
Ibid
1:
Figura 2.5 Particin del rango de energa 0 < E < E
0
en G grupos discretos. Figura tomada de la documentacin
del cdigo milonga [7]
resultados tiles y segundo, para poder comparar soluciones obtenidas con diferentes mtodos
o discretizaciones, que es justamente el objetivo de este trabajo.
2.2.1. Grupos de energa discreta
Siendo la ecuacin (2.2) una expresin en funcin del espacio x y la energa 1, es necesario
discretizar ambas variables para resolver numricamente la ecuacin utilizando elementos o
volmenes nitos. Si bien desde el punto de vista matemtico tanto la energa como el espacio
son dos dominios equivalentes, el hecho de separar la solucin en clculo de celda y de ncleo
hace que los cdigos de cada etapa deban utilizar discretizaciones compatibles. Luego, aunque
se pueda aplicar el mtodo de elementos nitos para resolver la dependencia con la energa 1,
en la prctica se utiliza en los cdigos de ncleo una discretizacin que resulta conveniente para
los cdigos de celda ya que mantiene los ritmos de reaccin de las ecuaciones continuas en las
ecuaciones discretas. Este proceso consiste en dividir el dominio de la energa en G grupos
no necesariamente equiespaciados tales que 0 = 1
G
< 1
G1
< . . . < 1
1
< 1
0
, donde 1
0
es la mayor energa esperada. El grupo de energa p es el denido por el intervalo [1
g
, 1
g1
]
(gura 2.5).
Siguiendo un desarrollo que se puede encontrar en las referencias [7, 11], podemos obtener
la ecuacin de difusin de neutrones multigrupo estacionaria
0 = div
_
1
g
(x) grad
_

g
(x)

_

tg
(x)
g
(x)
+
G

=1

sg

g
(x)
g
(x) + (p)
G

=1

fg
(x)
/
eff

g
(x) (2.3)
que es la que vamos a resolver utilizando esquemas de volmenes y elementos nitos en la
coordenada espacial x l R
M
. La variable independiente p es un ndice entero entre 1 y G
inclusive, e indica la naturaleza vectorial de la expresin (2.3). Es decir, en verdad la ecuacin
de difusin multigrupo son G ecuaciones diferenciales en derivadas parciales sobre el espacio
acopladas. Consideramos a los parmetros 1
g
(x),
tg
(x),
sg

g
(x), (p) y
fg
(x) funciones
conocidas para todo x R
M
, p = 1, . . . , G Ny p

= 1, . . . , G N. Las incgnitas del problema


son por un lado los G ujos
g
(x) sobre algn dominio `-dimensional para ` = 1, 2 3 y por
otro el factor de multiplicacin efectivo /
eff
R.
La ecuacin (2.3) es la formulacin diferencial o fuerte del problema de difusin de neutro-
nes. Puesta de esta manera, la ecuacin requiere que la solucin sea dos veces diferenciable en
el dominio l. De ah la taxonoma de fuerte, ya que es sta una imposicin bastante restricti-
va dado que si el dominio l est compuesto por materiales diferentescmo usualmente lo
estes de esperar que las secciones ecaces macroscpicas sean discontinuas en las interfa-
ces. En este caso, la divergencia del primer trmino del miembro derecho de la ecuacin (2.3)
no est denida, y no es posible aplicar la ecuacin de difusin en los puntos ubicados sobre
1
Figura 2.6 Si dos materiales tienen coecientes de difusin diferentes en la interfaz, la conservacin de co-
rrientes implica que el ujo no es derivable en dicha interfaz.
la interfaz. Se reemplaza entonces, la ecuacin de difusin por la condicin de que la corriente
neta de neutrones calculada con la ecuacin (2.1) sea continua sobre la supercie interfaz
1
g
(x) grad
g
(x)

xS
+
= 1
g
(x) grad
g
(x)

xS

(2.4)
donde o
+
y o

representan los dos lados de la supercie interfaz. Notar que si los coecientes
de difusin de ambos materiales son diferentes como se espera que sean, entonces los gradien-
tes a ambos lados de la supercie o tambin lo sern y los ujos no son dos veces diferenciables
(gura 2.6). Este requerimiento matemtico implica fsicamente que todos los neutrones que
atraviesan la interfaz de un lado aparecen por el otro sin generarse o perderse neutrones en el
proceso.
2.2.2. Condiciones de contorno
La ecuacin (2.3) necesita condiciones de contorno sobre el borde l del dominio espacial l
para plantear un problema matemtico bien denido. stas pueden ser condiciones sobre el
ujo (Dirichlet), sobre la corriente (Neumann) o una combinacin lineal de ambas (Robin). Ms
an, puede darse un tipo de condicin de contorno sobre una parte del borde del dominio l
a
y otro tipo sobre otra parte l
b
de tal forma que l = l
a
l
b
. Sin embargo, en cada
porcin del borde del dominio, todos los grupos tienen que tener el mismo tipo de condicin
de contorno. Es decir, si en un cierto punto x l se especica que
1
= 0, no se puede pedir
que
2
,n sea cero.
La condicin de contorno ms general que se puede dar es el valor que toma una cierta
combinacin lineal del ujo y de la derivada en el borde del dominio
n
g
(x)
g
(x)

xU
+
g
(x)

g
n

xU
= n
g
(x)

xU
Para un p jo, de los tres coecientes reales n
g
,
g
y n
g
asociados, slo dos son indepen-
dientes. Adems, el valor n
g
que toma esta combinacin lineal debe ser igual a cero, ya que
la ecuacin de difusin sin fuente es homognea y su solucin est denida a menos de una
constante. Luego, esta expresin se reduce a

g
n

xU
= /
g
(x)
g
(x)

xU
1
Figura 2.7 Equivalencia entre la condicin de corriente entrante nula dada por la ecuacin (2.5) y la condicin
de ujo nulo en la longitud extrapolada d dada por la ecuacin (2.6). Si d D, entonces podemos asumir d = 0 y
tomar una condicin de contorno de Dirichlet (x) = 0 en lugar de requerir una condicin de Robin.
para algn coeciente /
g
. Si /
g
= 0, obtenemos una condicin de contorno de Neumann
g
,n =
0. Si /
g
= , el problema tiene una condicin de Dirichlet
g
= 0 y en cualquier otro caso, la
condicin de contorno es de tipo Robin.
Fsicamente, se supone que los neutrones que salen de un dominio convexo l no pueden
volver a ingresar al mismo. Segn la aproximacin de difusin, la corriente parcial que ingresa
a una supercie es [21]
J

g
(x)
1
4

g
(x) +
1
2
1
g
(x)

g
n
Si requerimos que esta corriente sea nula, debe ser

g
n

xU
=
1
21
g
(x)

g
(x)

xU
(2.5)
con lo que /
g
= (21
g
)
1
. Si extrapolamos linealmente el ujo
g
(x) hacia la direccin de la
normal externa a la frontera l mediante una expansin de Taylor a primer orden

g
(x + d
g
(x) n)

xU

g
(x)

xU
+

g
n
d
g
(x) (2.6)
vemos que si
d
g
(x) = 21
g
(x) =
1
/
g
(x)
entonces la extrapolacin del ujo se anula a una distancia d de la frontera (gura 2.7). Es decir,
la condicin de contorno (2.5) es equivalente, a primer orden, a la condicin
(x + d
g
(x) n, p)

xU
= 0 (2.7)
donde n es el vector normal unitario exterior a la supercie l. En este caso, d
g
(x) es la llamada
longitud de extrapolacin del grupo p, y dependiendo de cmo se realice la estimacin de la
corriente parcial J

, puede tomar diferentes valores en el rango


1
g
(x) < d
g
(x) < 31
g
(x)
1
Dado que usualmente los coecientes de difusin son sensiblemente menores que las dis-
tancias caractersticas que determinan el tamao del dominio l, se suele aproximar an ms
esta condicin de contorno y suponer que d
g
(x) = 0 para requerir directamente

g
(x)

xU
= 0
cambiando as una condicin de contorno de Robin por una condicin de Dirichlet.
Condiciones de reectividad dadas por un coeciente
g
de albedo tambin pueden de-
nirse como condiciones de contorno de Robin, deniendo el coeciente /
g
(x) como [21]
/
g
(x) =
1
21
g
(x)
1
g
1 +
g
En el caso particular en el que una parte de la frontera l represente una supercie de sime-
tra, entonces
g
= 1 para todos los grupos p y esta expresin se transforma en una condicin
de contorno de Neumann de derivada normal nula

g
n

xU
= 0
Esta condicin se suele aplicar a supercies planas de simetra, pero puede aplicarse tam-
bin a supercies curvas.
En haras de las simplicidad, dado que el coeciente /
g
(x) de las condiciones de contorno
discutidas involucra la inversa del coeciente de difusin del grupo p, utilizamos un nuevo
coeciente para denir condiciones de contorno de Robin
o
g
(x) = /
g
(x) 1
g
(x)
donde para la mayora de las aplicaciones prcticas de la ecuacin de difusin, el coeciente o
no depende ni de la posicin x ni del grupo p y vale 1,2 para supercies externas.
Resumiendo, las condiciones de contorno puede ser:
Dirichlet sobre supercies externas se requiere ujo nulo, siempre y cuando las dimensiones
del dominio l sean mucho mayores que los coecientes de difusin
Neumann sobre supercies de simetra se requiere derivada normal nula
Robin sobre supercie externas con condiciones de corriente entrante nula o de reectividad
dada por factores de albedo se requiere un factor que relacione el ujo con la derivada
normal
2.2.3. El problema de autovalores
Las G ecuaciones lineales (2.3) tienen la caracterstica de que se pueden escribir en forma ma-
tricial en funcin del vector incgnita
(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
como
16
!(x) (x) =
1
/
eff
T(x) (x) (2.8)
donde ! y T son matrices cuadradas de tamao GG, cuyos elementos son o bien funciones
u operadores diferenciales denidos sobre algn dominio l R
M
.
Puesta en esta forma, la ecuacin de difusin multigrupo continua en el espacio ms sus
condiciones de contorno dene un problema de autovalores y autovectores generalizado. En
efecto, podemos escribir la ecuacin (2.8) como un problema de autovalores estndar como
_
!
1
(x) T(x)

(x) = /
eff
(x) (2.9)
Es posible demostrar que !
1
existe para cualquier conjunto fsicamente posible de seccio-
nes ecaces [11], por lo que el problema de autovalorestanto denido por la ecuacin (2.8)
como por la ecuacin (2.9)est bien denido. Ahora, en general existen G pares de autovalo-
res y autovectores que satisfacen la formulacin problema. Puede darse el caso de que muchos
de los autovalores sean negativos, complejos o den lugar a ujos negativos. Sin embargo, pa-
ra conguraciones fsicamente realizables, es posible demostrar [11, seccin 3.3] que para el
problema estndar (2.9) se cumplen las siguiente propiedades
1. Hay un nico autovalor positivo real que es mayor en magnitud que el resto de los auto-
valores
2. Todos los elementos del autovector correspondiente a dicho autovalor son reales y tienen
el mismo signo
3. Todos los otros autovectores o bien tienen al menos un elemento igual a cero o tienen
elementos que dieren en su signo
Es justamente este autovalor el factor de multiplicacin /
eff
buscado, y los G elementos de
su correspondiente autovector los ujos solucin del problema de difusin de neutrones esta-
cionario del reactor crtico asociado en /. Como ya hemos discutido, la naturaleza homognea
del problema hace que el ujo neutrnico est denido a menos de una constante multiplicati-
va, que es una propiedad conocida del problema de autovectores.
Para jar ideas, supongamos que G = 2. En este caso, el ujo del grupo uno se llama ujo
rpido y el ujo del grupo dos se llama ujo trmico. Entonces la matriz de remocin es
! =
_
[1
1
] +
t1

s11

s21

s12
[1
2
] +
t2

s22
_
y la matriz de sin es
T =
_

1

f1

1

f2

2

f1

2

f2
_
donde todos los elementos de las matrices son funciones de la posicin x. Notar que la simetra
en la notacin no implica simetra en las matrices.
Usualmente no se tiene upscattering
s21
= 0, todas las siones se producen por el ujo
trmico
f1
= 0 y todos los neutrones de sin nacen rpidos
1
= 1 y
2
= 0. Adems, para
el grupo p, la diferencia entre la seccin ecaz total y la de self-scattering es la seccin ecaz de
remocin
1

rg
(x) =
tg
(x)
sgg
(x) =
ag
(x) +
G

=g

sgg
(x) (2.10)
Luego, el problema multigrupo continuo se simplica a
_
[1
1
] +
r1
0

s12
[1
2
] +
r2
_ _

1
(x)

2
(x)
_
=
1
/
eff
_
0
f2
0 0
_ _

1
(x)

2
(x)
_
2.3. La ecuacin de difusin discreta
Al discretizar el dominio espacial utilizando algn esquema numrico, en esencia lo que hace-
mos es representar la dependencia espacial de cada uno de los ujos
g
(x) mediante un conjun-
to nito de pares de valores [x
i
,
i
g
] para i = 1, . . . , 1 sobre una malla de tamao 1. El problema
central de la discretizacin de la ecuacin de difusin de neutrones multigrupoy por cierto
de este trabajoes entonces encontrar entonces dos matrices 1 y 1 de tamao 1G 1G tales
que
1

=
1
/
eff
1

(2.11)
donde el vector de incgnitas discretas es

=
_

1
1

1
2
.
.
.

1
G

2
1
.
.
.

2
G

3
1
.
.
.

I
G
_

_
(2.12)
A lo largo del trabajo denotamos con el sombrero los valores asociados a una celda en
volmenes nitos y a un nodo elementos nitos. El subndice indica el grupo de energa p =
1, . . . , G y el suprandice el nmero global de incgnita (i = 1, . . . , 1 para volmenes nitos
y / = 1, . . . , 1 para elementos nitos).
Es de esperar
5
que esquemas numricos consistentes, convergentes y estables las tres pro-
piedades del problema de autovalores continuo discutidas en la seccin 2.2.3 se trasladen al
problema discreto. Para tamaos de problema 1G de intersdel orden de centenas de miles
de incgnitases prohibitivo trabajar con el problema de autovalores estndar dado por la
ecuacin (2.9) ya que no slo involucra el clculo de la inversa de una matriz sino que tanto 1
como 1 son ralas, mientras que ni 1
1
ni 1
1
1 lo son. Por lo tanto, la resolucin del problema
estacionario de difusin de neutrones implica el clculo del autovalory su correspondiente
autovectorde menor valor absoluto utilizando la ecuacin (2.11), o bien el autovalor-y su
correspondiente autovectorde mayor valor absoluto de la ecuacin
5
Me falta una demostracin rigurosa de esta armacin.
18
1

= /
eff
1

(2.13)
En el captulo 3 utilizamos un esquema basado en volmenes nitos para encontrar 1 y 1
a partir de !y T, mientras en que el captulo 4 hacemos lo propio aplicando el mtodo de ele-
mentos nitos. Dependiendo de las caractersticas de las matrices involucradas y del mtodo
numrico utilizado para obtener la solucin, en ciertos casos es conveniente utilizar la formula-
cin dada por la ecuacin (2.11) y en otros la dada por la ecuacin (2.13). La discusin y anlisis
de la forma de calcular /
eff
y una vez obtenidas las matrices 1 y 1 estn fuera del alcance de
este trabajo y se da como referencia [22, 10, 23]. Sin embargo, es propicio notar lo que sigue.
Segn la documentacin de la biblioteca SLEPcque es la utilizada por el cdigo milonga
para resolver el problema de autovalores generalizadostodos los eigensolvers provistos son
de naturaleza iterativa, lo que quiere decir que (usualmente) las soluciones mejoran en cada
paso hasta que son lo sucientemente exactas como para considerarse convergidas. Esta con-
dicin de convergencia se dene a travs de una tolerancia sobre la norma de algn residuo.
El residuo ms sencillo es el absoluto, que obtenemos restando los dos miembros de la
ecuacin (2.11). Dado que en el paso n ni el autovalor 1,/
(n)
eff
ni el autovector

(n)
son iguales
a la solucin exacta, esta diferencia no es cero sino que es igual a un vector r
(n)
que llamamos
residuo absoluto
r
(n)
=
_
1
1
/
(n)
eff
1
_

(n)
La norma de este vector depende del tamao de las matrices 1 y 1 ya que mientras ms
grandes sean stas, ms elementos va a tener r
(n)
. Es decir, si bien al aumentar la nodalizacin
es de esperar que cada elemento del residuo absoluto sea ms pequeo, hay ms elementos en
el residuo y su norma puede aumentar. Es por ello que no es una buena idea denir el criterio
de convergencia de la solucin del problema de autovalores en funcin de |r
(n)
|. Una medida
apropiada para denir el criterio de convergencia sera calcular la integral en el dominio del
problema de la ecuacin de difusin multigrupo (2.3)
_
U
_
div
_
1
g
(x) grad
_

(n)
g
(x)

_

tg
(x)

(n)
g
(x)
+
G

=1

sg

g
(x)

(n)
g

(x) + (p)
G

=1

f
(x, p

)
/
eff

(n)
g

(x)
_
d
D
x
donde

(n)
g
(x) es una funcin continua denida a partir de la solucin numrica discreta calcu-
lada en el paso j. El valor absoluto de esta integral debera ser independiente del tamao de la
malla espacial. Sin embargo, el clculo de esta integral es muy demandante, y la evaluacin de
la condicin de convergencia sera computacionalmente muy cara. El cdigo milonga entonces
utiliza como medida para comparar contra la tolerancia de convergencia el residuo relativo a
las normas de las matrices, denido como

(n)
=
|r
(n)
|
|1| + 1,/
eff
|1|
que es fcil de evaluar a partir de los estados internos de la biblioteca SLEPc y que adems no
es tan dependiente de la malla como la normal vector absoluto |r
(n)
| ya que tanto numerador
1
como denominador varan con la cantidad de incgnitas de una forma ms o menos similar. De
esta forma, consideramos la solucin del problema de autovectores como convergido si para
algn paso j se cumple que

(n)
< c
para alguna tolerancia c prejada, del orden de 10
8
.
Quedan fuera del alcance de este trabajo otros temas computacionales de vital importancia,
tales como la lectura e interpretacin de la malla, la deteccin y resolucin de volmenes ve-
cinos, la lectura de las distribuciones espaciales de secciones ecacesque en general podran
ser dadas por expresiones algebraicas en funcin de r, j y . o interpoladas a partir de datos
discretos, eventualmente provenientes de otros cdigos de clculo en esquemas acopladosla
forma de almacenar matrices ralas de tamaos de orden 10
6
10
6
, los mtodos de integracin
numrica espacial y la evaluacin y presentacin de los resultados. Todos estos aspectos son
tenidos en cuenta por el cdigo neutrnico milonga desarrollado por el autor de este trabajo
en el marco de su tesis de doctorado, pero no son descriptos en esta monografa ya que no es-
tn directamente relacionado con la comparacin entre esquemas basados en volmenes y en
elementos.
:o
CAPTULO III
Volmenes nitos
No me asusta esta complicada integral del ncleo de scattering.
Lo que me asusta es el pequeo trmino de la divergencia.
Javier Fernandez, Doctor en Matemtica,
luego de mirar por primera vez la ecuacin
de difusin de neutrones, 2006
En este captulo proponemos un esquema numrico basado en volmenes nitos para resolver
la ecuacin de difusin de neutrones multigrupo. Existen varios esquemas posibles, algunos
ms ecientes que otros para cierto tipo de problemas. La discretizacin propuesta es slo
una de las tantas formas de encarar el problema utilizando volmenes nitos. En particular,
si dos celdas vecinas estn compuestas del mismo material entonces asumimos que, si bien
el coeciente de difusin puede variar con la posicin, lo hace en forma continua. Luego, el
ujo en la supercie que separa ambas celdas puede ser aproximado por el promedio de los
ujos en las celdas y mantener la condicin de continuidad de corriente al mismo tiempo. Por
el contrario, en caso de que dos celdas adyacentes estn compuestas de materiales diferentes,
esperamos que el coeciente de difusin tenga una discontinuidad en la interfaz. Es por ello,
que el ujo en la supercie debe ser calculado de una cierta manera particular para satisfacer
la conservacin de corriente de neutrones, ya que en estas condiciones su derivada no est
denita (pero las corrientes s). En el primer caso, los coecientes de la matriz resultantes son
ms fciles de calcular y, adems, la precisin de la aproximacin del operador diferencial es
un orden de magnitud mayor que en el segundo caso. Sin embargo, debemos tratar el caso de
celdas heterogeneas en forma particular, como ilustramos en el ejemplo de la seccin 5.1.2.2
donde observamos que no tener en cuenta este caso conduce a resultados incorrectos.
En general, tanto en este como en el captulo siguiente, los subndices estn indicados con
letras occidentales minsculas (como por ejemplo i para indicar la celda i-sima) y las cantida-
des totales con la correspondiente letra mayscula (1 indica la cantidad total de celdas).
3.1. Esquema basado en volmenes
La idea bsica del mtodo de los volmenes nitos es tomar el dominio continuo l R
M
don-
de aplica la ecuacin en derivadas parciales a resolver, y aproximarlo mediante una yuxtaposi-
cin de una cierta cantidad nita 1 de celdas `-dimensionales denidas por bordes planos, i.e.
segmentos en una dimensin, polgonos en dos dimensiones y poliedros en tres dimensiones.
En el contexto de volmenes nitos, la celda i-sima corresponde a un volumen \
i
R
M
. Los
vrtices de las 1 celdas denen 1 nodos. En la gura 3.1 mostramos un ejemplo de aproxima-
cin de un dominio l R
2
con celdas cuadrangulares. El anlisis del problema del mallado de
(a) Dominio U R
2
(b) Dominio

U =

I
i=1
V
i
U R
2
Figura 3.1 Un dominio bidimensional U es aproximado por la unin de I polgonos yuxtapuestos.
un dominio continuo est fuera del alcance de este trabajo. Suponemos que la discretizacin en
celdas y nodos es un dato conocido del problema de difusin de neutrones.
En el mtodo de los volmenes nitos las incgnitas del problema son los valores medios
de los ujos en las 1 celdas, a diferencia de lo que sucede en diferencias o elementos nitos
donde las incgnitas son los valores que toman los ujos sobre los 1 nodos. Denimos el ujo
del grupo p = 1, . . . , G en el volumen \
i
como

i
g
=
_
V
i

g
(x) d
M
x
_
V
i
d
M
x
(3.1)
De esta manera, el problema consiste en encontrar los 1G valores

i
g
, que son los elementos
del vector incgnita

denido en la ecuacin (2.12). Para ello, comenzamos integrando la
ecuacin de difusin multigrupo diferencial (2.3)
0 = div
_
1
g
(x) grad
_

g
(x)

_

tg
(x)
g
(x)
+
G

=1

sg

g
(x)
g
(x) +
g
G

=1

fg
(x)
/
eff

g
(x) (2.3)
sobre el i-simo volumen \
i
0 =
_
V
i
div
_
1
g
(x) grad
_

g
(x)

_
d
M
x
_
V
i

tg
(x)
g
(x) d
M
x
+
G

=1
_
V
i

sg

g
(x)
g
(x) d
M
x +
g
G

=1
_
V
i

fg
(x)
/
eff

g
(x) d
M
x (3.2)
::
y analizamos en las secciones que siguen cada trmino por separado para obtener expresiones
explcitas para los elementos de las matrices 1 y 1 del problema discreto, ambas de tama-
o 1G 1G. Notar que la ecuacin (2.3) implica que la ecuacin (3.2) es cierta, pero la arma-
cin inversa no es necesariamente cierta. Luego, la ecuacin (3.2) es una formulacin integral
pero no es una formulacin dbil equivalente a la formulacin fuerte dada por la ecuacin (2.3).
Volvemos sobre este punto en la seccin 4.3.
3.1.1. Reacciones totales
El segundo trmino del miembro derecho de la ecuacin (3.2), adems de ser el ms sencillo
de analizar, representa el ritmo total al cual los neutrones pertenecientes al grupo de energa p
interactan con los ncleos ubicados en todo el volumen \
i
. El objetivo es poder escribir este
trmino como el producto de un coeciente, que aparecer en algn elemento de la matriz 1,
por el ujo medio

i
g
, que corresponder a algn elemento del vector incgnita

. Es decir,
queremos escribir
_
V
i

tg
(x)
g
(x) d
M
x =

i
tg
\
i

i
g
(3.3)
Teniendo en cuenta la denicin dada por la ecuacin (3.1), la seccin ecaz macroscpica
total media del volumen \
i
debera ser

i
tg
=
_
V
i

tg
(x)
g
(x) d
M
x
_
V
i

g
(x) d
M
x
(3.4)
es decir, el valor medio de
tg
(x) en el volumen \
i
pesado con la distribucin continua de
ujo
g
(x), que por supuesto no conocemos.
Por un lado, en el caso particular de que
tg
(x) sea uniforme en \
i
, entonces la ecuacin (3.4)
da como resultado dicho valor uniforme. Por otro lado, si es el ujo el que resulta ser uniforme
en \
i
, la ecuacin (3.4) se reduce al valor medio sin pesar

i
tg
=
_
V
i

tg
(x) d
M
x
_
V
i
d
M
x
(3.5)
que aplica tanto para el caso de seccin ecaz uniforme en el volumen o de ujo uniforme en el
volumen. En el caso general, esta ecuacin ser solo una aproximacin. Sin embargo, an para
distribuciones arbitrarias de secciones ecaces, a medida que \
i
0 la aproximacin de ujo
uniforme en el volumen es cada vez ms exacta, y por lo tanto la ecuacin (3.5) tambin.
Aceptando entonces que vale la ecuacin (3.5) podemos generalizar la expresin que espe-
ramos escribir como un coeciente por el ujo medio de la celda aproximadamente como
_
V
i

tg
(x)
g
(x) d
M
x
__
V
i

tg
(x) d
M
x
_

i
g
(3.6)
De esta manera, evitamos tener que calcular la seccin ecaz media del volumen explcita-
mente para luego tener que volver a multiplicar dicho valor por el volumen \
i
, como hicimos
en la ecuacin (3.3). Dado que la distribucin espacial de secciones ecaces es un dato cono-
cido, es posible calcular la integral del miembro derecho de la ecuacin (3.6) numricamente
y obtener entonces el coeciente de

i
g
correspondiente al trmino de reaccin total del gru-
po p = 1, . . . , G en el volumen i = 1, . . . , 1.
:
3.1.2. Fisiones
El ltimo trmino del miembro derecho de la ecuacin (3.2) representa el ritmo de nacimiento
de neutrones de energa correspondiente al grupo p debido a siones en el volumen \
i
. Para
ello, calculamos el ritmo total de nacimientos en \
i
sumando las tasas de nu-siones
f
sobre
todos los grupos de energa del volumen y luego multiplicando por el espectro de sin
g
que indica la fraccin de neutrones que nacen con una energa correspondiente al grupo p.
Todas las secciones ecaces de sin se dividen por el factor de multiplicacin incgnita /
eff
para hacer crtico el reactor articialmente, como discutimos en la seccin 2.2. Debido a la
linealidad de los operadores suma e integracin, podemos extraer 1,/
eff
factor comn de la
suma sobre p

= 1, . . . , G, por lo que no lo tendremos en cuenta en el anlisis que sigue.


De la misma manera que en la seccin anterior, queremos escribir los ritmos de reaccin
como el producto entre una seccin ecaz macroscpica media, el volumen \
i
de la celda y el
ujo incgnita:
_
V
i

fg
(x)
g
(x) d
M
x =

i
fg
\
i

i
g
De manera anloga a la ecuacin (3.5), denimos el valor medio de la seccin ecaz de
nu-sin en el volumen \
i
para el grupo p como

i
fg
=
_
V
i

tg
(x) d
M
x
_
V
i
d
M
x
(3.7)
para nalmente escribir la tasa de nu-siones debidas a neutrones del grupo p en el volumen \
i
aproximadamente como
_
V
i

fg
(x)
g
(x) d
M
x
__
V
i

fg
(x) d
M
x
_

i
g
(3.8)
3.1.3. Scattering
El tercer trmino del miembro derecho de la ecuacin (3.2) representa el ritmo de aparicin
de neutrones en el volumen \
i
provenientes de colisiones elsticas de neutrones con ncleos
localizados en el volumen \
i
de tal manera que la energa resultante del neutrn dispersado
corresponde al grupo p. Para ello, sumamos los ritmos de scattering
s
que tienen como des-
tino el grupo p sobre todos los grupos de energa, incluyendo el ritmo de self-scattering que
indica el ritmo de neutrones de energa p que luego de una colisin an mantienen el grupo
de energa. Incluir este trmino como fuente de neutrones es necesario si escribimos el trmino
de reaccin total en funcin de la seccin ecaz totaltal como en la ecuacin (3.2)ya que
este trmino considera cualquier colisin como desaparicin de neutrones. Tambin podemos
utilizar la seccin ecaz de remocin introducida en la seccin 2.2.3

rg
(x) =
tg
(x)
sgg
(x) =
ag
(x) +
G

=g

sgg
(x) (2.10)
En cualquier caso, la seccin ecaz media de scattering entre el grupo p

y el p en el volu-
men \
i
es
:
Figura 3.2 Detalle del volumen bidimensional V
i
de la gura 3.1b. La supercie S
i
que lo delimita en este caso
est compuesta por cuatro segmentos, cada uno con un vector normal n diferente.

i
sg

g
=
_
V
i

sg

g
(x) d
M
x
_
V
i
d
M
x
(3.9)
y el ritmo de dispersiones del grupo p

al p en el volumen \
i
es aproximadamente
_
V
i

sg

g
(x)
g
(x) d
M
x
__
V
i

sg

g
(x) d
M
x
_

g
(i) (3.10)
3.1.4. Fugas
El primer trmino del miembro derecho de la ecuacin (3.2), con signo negativo, representa
el ritmo neto de fugas de neutrones de energa p a travs de la supercie que delimita el volu-
men \
i
.
1
Es en este trmino donde aparece el acople entre celdas espaciales y cobra importancia
el mtodo de volmenes nitos. Utilizando el teorema de la divergencia, podemos escribir
_
V
i
div
_
1
g
(x) grad
_

g
(x)

_
d
M
x =
_
S
i
_
1
g
(x) grad
_

g
(x)

_
ndo
donde o
i
representa la supercie que delimita el volumen \
i
que normalmente se compone
de varias supercies planasy n es el vector unitario normal al diferencial de supercie do
que apunta en en sentido externo al volumen \
i
, como ilustramos en la gura 3.2.
La forma de estimar la contribucin a la integral de supercie sobre o
i
de cada una de las
caras planas que dene el volumen \
i
depende de qu tipo de celda est yuxtapuesta a ste. Si
las dos celdas contienen el mismo material, entonces los parmetros nucleares son continuos
en el espacio y vale la ecuacin de difusin. Si las dos celdas son de diferente material y el
coeciente de difusin tiene una discontinuidad en la interfaz, entonces no vale la ecuacin de
difusin (2.3) y hay que plantear continuidad de corrientes dada por la ecuacin (2.4). Por otro
lado, si una cara del volumen \
i
est en el borde del dominio, hay que aplicar las condiciones
de contorno para evaluar la integral de supercie. A continuacin analizamos cada caso en
forma particular.
1
En el marco de la ecuacin de difusin, que es el alcance de este trabajo. En teora de transporte las fugas se
calculan utilizando otra expresin.
:
Figura 3.3 Dos volmenes vecinos V
i
y V
j
, la supercie S
ij
que los separa, la normal externa n
ij
con respecto
a V
i
, los baricentros x
i
y r
j
y el ngulo
ij
entre la normal y el segmento que une los baricentros.
3.1.4.1. Celdas homogneas
Dados dos volmenes vecinos \
i
y \
j
, sea o
ij
la supercie plana que los separa, como ilustra-
mos en la gura 3.3. En esta supercie, el versor normal n
ij
es uniforme y se puede calcular a
partir de las coordenadas de los nodos que denen los vrtices de la supercie o
ij
(ver apndi-
ce A). Asumimos que los volmenes \
i
y \
j
estn compuestos del mismo material y a lo sumo
tienen una variacin continua de propiedades tales como temperatura o densidad, y por lo
tanto una variacin continua de secciones ecaces macroscpicas. Suponemos que el gradiente
del ujo se mantiene uniforme a lo largo de la supercie o
ij
y tiene un mdulo igual a
_
_
_grad
_

g
(x)

_
_
_
xS
ij

j
g

i
g
|x
j
x
i
|
(3.11)
y est en la direccin del vector x
j
x
i
que une los baricentros x
j
y x
i
de los volmenes , e i
respectivamente (gura 3.3). Esta direccin forma un cierto ngulo
ij
con la normal n
ij
, que
podemos calcular geomtricamente a partir de las coordenadas de los nodos que denen la
supercie o
ij
y de las coordenadas de los baricentros x
i
y x
j
como
cos
ij
=
(x
j
x
i
) n
ij
|x
j
x
i
|
Luego la tasa neta de neutrones de energa p que cruzan la supercie o
ij
es aproximada-
mente
_
S
ij
_
1
g
(x) grad
_

g
(x)

_
n
ij
do
_
_
S
ij
1
g
(x) do
_

(x
j
x
i
) n
ij
|x
j
x
i
|
2

_

j
g

i
g
_
(3.12)
Podemos calcular la integral del coeciente de difusin numricamente a partir de la dis-
tribucin 1
g
(x) dada como dato, ya que hemos supuesto que 1
g
(x) es continua en o
ij
y por lo
tanto su integral est bien denida.
Notar que estimar el mdulo del gradiente del ujo en el borde del volumen segn la ecua-
cin (3.11) es equivalente a suponer que, dada una funcin continua (r), el punto c que cumple
el teorema del valor medio
:6
Figura 3.4 Representacin unidimensional de una funcin continua (x), con valores medios de volmenes
(cuadrados) y valores estimados en border (cruces). La estimacin de la derivada en los bordes a primeros vecinos
es de orden superior a la estimacin del valor de la funcin.

(c) =
(/) (o)
/ o
es c (/ o),2. Esta aproximacin es un orden r
2
(es exacta para una parbola), mientras
que la aproximacin

_
/ o
2
_

1
2
_
(o) + (/)

es de orden r (es exacta para una recta). Ilustramos la situacin en la gura 3.4, donde los
cuadrados representan los valores medios en los volmenes y las cruces los valores que tomara
el ujo en los bordes con una interpolacin lineal. Aproximar las derivadas en los bordes con
los valores medios es ms preciso que aproximar los ujos en los bordes con los valores medios
de los volmenes vecinos.
3.1.4.2. Celdas heterogneas
Si la supercie o
ij
coincide con una interfaz entre dos materiales que tienen coecientes de
difusin diferentes, entonces necesariamente el ujo debe tener derivada primera discontinua
de forma tal de que se cumpla la condicin de conservacin de corriente dada por la ecua-
cin (2.4). En este caso, aproximar el gradiente del ujo en la interfaz utilizando los valores
medios en los volmenes vecinos arroja una pobre estimacin, como ilustramos en la gura 3.5
(y en el ejemplo 5.1.2.2). Adems, necesitamos obtener un valor para el gradiente a un lado de
la interfaz y otro valor al otro lado de forma tal de satisfacer la ecuacin (2.4).
Conviene entonces, evaluar el gradiente del ujo a un lado de la supercie o
ij
partir del
valor medio (x
i
) (cuadrado) y de
g
(x
ij
) = (x
ji
) (cruz) y al otro ladoque llamamos o
ji
a
partir de
g
(x
j
) (cuadrado) y de
g
(x
ij
) (cruz). Debido a que el ujo
g
(x) debe ser continuo
en x, el valor en la supercie
g
(x
ij
) debe ser nico tanto visto desde el volumen i como desde
el volumen ,.
Proponemos entonces estimar el mdulo del gradiente del ujo sobre la supercie o
ij
ahora
como
_
_
_grad
_

g
(x)

_
_
_
xS
ij

g
(x
ij
)

i
g
|x
ij
x
i
|
(3.13)
:
Figura 3.5 Idem gura 3.4 para una interfaz material. La estimacin de la derivada en la interfaz utilizando va-
lores medios (cuadrados) es pobre. Conviene estimar el valor del ujo en la interfaz (cruz) y luego tomar derivadas
a cada lado de la supercie.
tomndolo en la direccin del vector x
ij
x
i
que une el baricentro x
ij
de la supercie o
ij
y el
baricentro x
i
del volumen i (gura 3.6). En la ecuacin (3.13) aparece el valor del ujo sobre la
cara (x
ij
) (cruz), que no es parte de las incgnitas del problema. Tenemos que estimarlo en
funcin de los valores

i
g
y

j
g
de tal manera de que se satisfaga la continuidad de corrientes.
Llamemos o
ij
la supercie orientada cuya normal exterior da al volumen i, y o
ji
la que da
al volumen ,. Podemos plantear una ecuacin de donde despejar
g
(x
ij
). En efecto, la conti-
nuidad de corrientes requiere que
_
S
ij
_
1
g
(x) grad
g
(x)
_
i
n
ij
do =
_
S
ji
_
1
g
(x) grad
g
(x)
_
j
n
ji
do
_
S
ij
1
i
g
(x) do

g
(x
ij
)

i
g
|x
ij
x
i
|
cos
ij
=
_
S
ji
1
j
g
(x) do
(x
ji
, p)

j
g
|x
ji
x
j
|
cos
ji
donde entendemos que la integral sobre o
ij
se tiene que realizar evaluando el coeciente de
difusin sobre el volumen i, y viceversa escribiendo los subndices i y , en el smbolo 1
g
(x).
Para simplicar el despeje de
g
(x
ij
) = (x
ji
, p) denimos los factores de peso
n
ij
=
_
_
S
ij
1
i
g
(x) do
_

(x
ij
x
i
) n
ij
|x
ij
x
i
|
2
(3.14)
n
ji
=
_
_
S
ji
1
j
g
(x) do
_

(x
ji
x
j
) n
ji
|x
ji
x
j
|
2
(3.15)
Entonces
n
ij
_

g
(x
ij
)

i
g
_
= n
ji
_

g
(x
ji
)

j
g
_
y el ujo
g
(x
ij
) en la interfaz es aproximadamente

g
(x
ij
)
n
ij
n
ij
+ n
ji

i
g
+
n
ji
n
ij
+ n
ji

j
g
(3.16)
Reemplazando la ecuacin (3.16) en la expresin (3.13) propuesta para el mdulo del gra-
diente, obtenemos
:8
Figura 3.6 Idem gura 3.3 para el caso en que la supercie S
ij
corresponda a una interfaz material. El punto x
ij
es el baricentro de la supercie S
ij
, y no necesariamente est sobre la direccin x
j
x
i
.
_
_
_grad
_

g
(x)

_
_
_
xS
ij

_
n
ji
n
ij
+ n
ji
_

j
g

i
g
|x
ij
x
i
|
_
La tasa neta de cruce de neutrones sobre la supercie o
ij
cuando sta coincide con una
interfaz material es aproximadamente
_
S
ij
_
1
g
(x) grad
_

g
(x)

_
n
ij
do
_
_
S
ij
1
g
(x) do
_

n
ji
n
ij
+ n
ji

(x
ij
x
i
) n
ij
|x
ij
x
i
|
2

_

j
g

i
g
_
(3.17)
donde la integral del coeciente de difusin tiene que tomarse sobre la cara orientada de o
ij
que da al volmen \
i
, es decir, con las propiedades del material de la celda i, y los factores de
peso n
ij
y n
ji
estn denidos en las ecuaciones (3.14) y (3.15).
Si bien la ecuacin (3.17) puede utilizarse an cuando los volmenes \
i
y \
j
tengan el mis-
mo material para estimar el trmino de fugas, la ecuacin (3.12) es ms precisa ya que la apro-
ximacin para el gradiente dada por la ecuacin (3.11) es de orden r
2
, mientras que la apro-
ximacin del gradiente dada por la ecuacin (3.13) es de orden r ya que se basa en estimar el
ujo en el borde de los volmenes, como ilustramos en la gura 3.4. Sin embargo, si o
ij
coinci-
de con una interfaz y el coeciente de difusin es discontinuo, la ecuacin (3.17) arroja mejores
resultados ya que tiene en cuenta el efecto mostrado en la gura 3.5. Luego, para minimizar
el error cometido por la discretizacin basada en el esquema de volmenes nitos propuesto,
si o
ij
no dene una interfaz, utilizamos la ecuacin (3.12) para calcular los coecientes que
formarn parte de la matriz de remocin 1. De otra manera, utilizamos la ecuacin (3.17).
:
3.1.4.3. Condiciones de contorno nulas
Si la supercie o
ij
est en el borde del dominio, entonces debemos calcular la integral de su-
percie
_
S
ij
_
1
g
(x) grad
_

g
(x)

_
ndo
teniendo en cuenta las condiciones de contorno del problema. Como discutimos en la sec-
cin 2.2.2, slo se pueden dar condiciones de contorno homogneas. En particular, si la super-
cie o
ij
tiene una condicin de contorno de Dirichlet, como mencionamos en la seccin 2.2.2,
sta debe ser deujo nulo. Luego,
g
(x
ij
) = 0 y
_
_
_grad
_

g
(x)

_
_
_
xS
ij

i
g
|x
ij
x
i
|
La tasa neta de cruce de neutrones sobre la supercie o
ij
cuando sta coincide con un borde
del dominio con condicin de contorno de ujo nulo es
_
S
ij
_
1
g
(x) grad
_

g
(x)

_
n
ij
do
_
_
S
ij
1
g
(x) do
_

(x
ij
x
i
) n
ij
|x
ij
x
i
|
2

_

i
g
_
(3.18)
3.1.4.4. Condiciones de contorno espejo
Para especicar supercies de simetra, se debe una condicin de contorno de Neumann con
derivada normal nula (seccin 2.2.2). Si o
ij
coincide con una de estas supercies, entonces el
mdulo del gradiente es cero y su integral tambin lo es. Por lo tanto, la tasa neta de cruce de
neutrones sobre la supercie o
ij
es cero y
_
S
ij
_
1
g
(x) grad
_

g
(x)

_
n
ij
do = 0 (3.19)
3.1.4.5. Condiciones de contorno de Robin
Si la supercie o
ij
pertenece a una zona de la frontera del dominio l con condiciones de
contorno de Robin (seccin 2.2.2), entonces
_
grad
_

g
(x)

n
_
xU
=

g
n

xU
=
o
g
(x)
1
g
(x)

g
(x)

xU
Asumiendo que
g
(x) para x l es aproximadamente igual a

i
g
, la tasa neta de cruce de
neutrones a travs de la supercie o
ij
es
_
S
ij
_
1
g
(x) grad
_

g
(x)

_
ndo o
ij
o
g
(x)
_

i
g
_
(3.20)
donde o
ij
es el rea de la supercie.
o
3.2. Formulacin matricial
Resumiendo las expresiones obtenidas a lo largo del captulo, para cada celda i = 1, . . . , 1
y para cada grupo de energa p = 1, . . . , G la ecuacin de difusin de neutrones en estado
estacionario discretizada con el mtodo de volmenes nitos propuesto implica que debemos
satisfacer simultneamente las 1G ecuaciones
__
V
i

tg
(x) d
M
x
_

i
g

=1
___
V
i

sg

g
(x) d
M
x
_

i
g

_
+
_
_

j vecinos
_
_
S
ij
1
g
(x) do
(x
j
x
i
) n
ij
|x
j
x
i
|
2
_
_
_

i
g

j vecinos
__
_
S
ij
1
g
(x) do
(x
j
x
i
) n
ij
|x
j
x
i
|
2
_

j
g
_
=
1
/
eff

=1
__

_
V
i

fg
(x) d
M
x
_

i
g

_
As escrita, esta ecuacin corresponde a una conguracin en la que los vecinos de la celda i
estn compuestos del mismo material. En caso de que algn vecino sea de otro material o
corresponda a una condicin de contorno, debemos reemplazar los trminos tres y cuatro por
expresiones apropiadas segn discutimos a lo largo del captulo. En cualquier caso, lo que
queremos mostrar es que estas 1G ecuaciones son lineales para los ujos

i
g
(si las secciones
ecaces dependen solamente de la posicin x y no del ujo, que es lo que supusimos) y que
podemos escribir el problema discretizado en forma matricial como
1

=
1
/
eff
1

(2.11)
para algn vector incgnita

de tamao 1 = 1G que contenga como elementos

i
g
para los
ndices i = 1, . . . , 1 y p = 1, . . . , G. Si en particular ordenamos los ujos como sigue

=
_

1
1

1
2
.
.
.

1
G

2
1
.
.
.

2
G

3
1
.
.
.

I
G
_

_
(2.12)
entonces el ujo incgnita

i
g
est en la posicin
/(i, p) = p + G (i 1) (3.21)
del vector

de tal forma que
1

(i,g)
=

i
g
De la misma manera, con 1
p,q
y 1
p,q
denotamos los elementos ubicados en la la j y en
la columna de las matrices 1 y 1 respectivamente. En la gura 3.7 mostramos el algoritmo
que utilizamos para construir las matrices 1 y 1 segn las ecuaciones desarrolladas en este
captulo, teniendo en cuenta las posibles combinaciones de tipos de vecinos que puede tener
cada celda, i.e. celdas homogneas, celdas heterogneas, condicin de contorno de ujo nulo,
condicin de contorno de simetra o condicin de contorno de Robin.
En la evaluacin del trmino de fugas para celdas vecinas heterogneas, denotamos con el
suprandice i en la expresin 1
i
g
(x) que el coeciente de difusin correspondiente al material
de la celda i y con 1
j
g
(x) el de la celda ,. Si las celdas fuesen homogneas la distincin no es
necesaria.
Podemos reemplazar las integrales sobre las celdas por el producto entre el valor del inte-
grando en el baricentro x
i
y el volumen \
i
de la celda i-sima
_
V
i
)(x) d
M
x )(x
i
) \
i
(3.22)
con una gran ganancia de eciencia a costa de una pequea prdida de precisin. De la misma
manera, podemos reemplazar las integrales sobre las supercies de las celdas por el producto
entre el coeciente de difusin evaluado en el centro de la cara multiplicado por el rea de la
misma, es decir
_
S
ij
1
g
(x) do 1
g
(x
ij
) o
ij
(3.23)
Las aproximaciones de las ecuaciones (3.22) y (3.23) son equivalentes a utilizar un nico
punto de Gauss en la cuadratura numrica (ver Apndice C) pero su cmputo es ms eciente
ya queal menos en una y dos dimensioneslos volmenes de las celdasque equivalen a
segmentos y a supercies planas respectivamentepueden ser calculados fcilmente a partir
de las coordenadas de los puntos que las denen (Apndice A). De hecho, si quisiramos usar
ms de un punto de Gauss deberamos recurrir a la evaluacin de jacobianos de funciones de
forma similares a las asociadas al mtodo de elementos nitos, aumentando sensiblemente el
esfuerzo computacional necesario sin asegurar siquiera una mejora en la estimacin del valor
de la integral.
En problemas unidimensionalesa menos que se especique lo contrario en el archivo
de entradalas integrales volumtricas que aparecen en el algoritmo de la gura 3.7 en una
dimensin son estimadas por el cdigo milonga como el producto del integrando evaluado en
el centro de la celda por la longitud de sta. De la misma manera, en dos dimensiones el cdigo
evala el integrando en el baricentro de la celda y lo multiplica por el rea, calculada segn los
resultados geomtricos discutidos en el apndice A. En una dimensin, todas las supercies
que separan celdas contiguas se asumen de rea uno y en dos dimensiones el rea resultante es
igual a la longitud de un segmento cuya longitud es trivial. Como indicamos en el captulo 6,
los problemas tridimensionales al momento de escribir este trabajo estn en el TODO-list y
quedan planteados como ejercicio a futuro.
:
inicializar 1 0, 1 0
para cada celda i = 1, . . . , 1
para cada grupo p = 1, . . . , G
j /(i, p) posicin en

ec. (3.21)
1
p,p

_
V
i

tg
(x) d
M
x absorcin ec. (3.6)
para cada grupo p

= 1, . . . , G
/(i, p

) posicin en

ec. (3.21)
1
p,q
1
p,q

_
V
i

sg

g
(x) d
M
x scattering ec. (3.10)
1
p,q

g

_
V
i

fg
(x) d
M
x sin ec. (3.8)
para cada supercie o
ij
de \
i
si \
j
entonces
/(,, p) posicin en

ec. (3.21)
si \
i
y \
j
tienen el mismo material entonces

_
_
S
ij
1
g
(x) do
_

(x
j
x
i
) n
ij
|x
j
x
i
|
2
fugas ec. (3.12)
sino
n
ij

_
_
S
ij
1
i
g
(x) do
_

(x
ij
x
i
) n
ij
|x
ij
x
i
|
2
n
ji

_
_
S
ji
1
j
g
(x) do
_

(x
ji
x
j
) n
ij
|x
ji
x
j
|
2

_
_
S
ij
1
i
g
(x) do
_

n
ji
n
ij
+ n
ji

(x
ij
x
i
) n
ij
|x
ij
x
i
|
2
fugas ec. (3.17)
1
p,p
1
p,p
+
1
p,q

sino
si o
ij
tiene condicin de contorno = 0 entonces fugas ec. (3.18)
1
p,p
1
p,p
+
_
_
S
ij
1
g
(x) do
_

(x
ij
x
i
) n
ij
|x
ij
x
i
|
2
sino si o
ij
tiene condicin ,n = 0 entonces fugas ec. (3.19)
no hay que hacer nada
sino si o
ij
tiene condicin ,n = o
g
(x) entonces fugas ec. (3.20)
1
p,p
1
p,p
+ o
ij
o
g
(x)
Figura 3.7 Construccin de las matrices R y F en volmenes nitos

CAPTULO IV
Elementos nitos
An alleged scientic discovery has no merit
unless it can be explained to a barmaid.
Ernest Rutherford
Variacin de la mal atribuida a Einstein pero superior cita:
You do not really understand something unless
you can explain it to your grandmother
En aquellos tiempos en los que ramos simpticos estudiantes de grado, tenamos con mi com-
paero de estudios una metodologa para mejor incorporar las nociones que infructuosamente
trataban de inculcarnos nuestros desdichados profesores. Basndonos en la cita con la que este
iniciamos este captulo, consista sta en explicarnos mutuamente cada uno una bolilla dife-
rente. De esta manera, ms que acercarse a los conceptos el que recibe la explicacin, es el
sujeto de enunciacin el que ejercita sus entendederas hasta el punto de internalizar los cono-
cimientos. Es en este sentido en el quedado que el tema central del presente trabajo consiste
en aplicar el mtodo de elementos nitos para resolver una cierta ecuacinen este captulo
adems de describir el esquema numrico elegido para la ecuacin de difusin de neutrones,
introducimos con bastante detalle los razonamientos y ecuaciones que llevan a la formula-
cin discretizada. Suponemos que el lector no est familiarizado con los mtodos matemticos
usuales de los elementos nitos ni con la notacin usual que combina operaciones vectoriales
y matriciales utilizada en la literatura, a favor de que el autor vuelva a derivar lo que otros
ya han hecho paratal como suceda en pretritas pocas mejoresobligarlo a entender la
matemtica involucrada a un nivel suciente como para que sea capaz de explicrsela a su
abuelitaparticularmente la forma de aplicar las condiciones de contorno del problema a la
formulacin basada en elementos nitos.
El mtodo de elementos nitos es un caso particular de una familia de herramientas mate-
mticas desarrolladas para atacar problemas planteados en ecuaciones diferenciales llamados
residuos ponderados. Comenzamos entonces planteando las bases matemticas que usamos
ms adelante al abordar la resolucin de la ecuacin de difusin de neutrones usando un es-
quema en elementos nitos, introduciendo las complicaciones inherentes del problema una a
una.
Tal como en el captulo anterior, indicamos los subndices con letras minsculas (esta vez i
es el elemento i-simo) y los totales con la correspondiente mayscula (la letra 1 indica el n-
mero total de elementos). Debemos notar que, aunque hemos intentado tener especial cuidado,
esta vez la utilizaciny mezclade diferentes subndices puede llegar a ser bastante confusa.
La teora y las ecuaciones que introducimos en este captulo que sirven de base de las que estn
programadas en milonga aparecen en forma similar a la resolucin de un problema implcito.
Pueden aparecen ideas que se necesiten utilizar sin antes poder desarrollarlas en detalle, ya
que este desarrollo puede necesitar conceptos que a su vez dependen de las primeras. Srva-
se el lector de releer el captulo varias veces y si, luego de n iteraciones an quedan ideas sin
cerrar, por favor reprtele los correspondientes errores al autor de la monografa.
4.1. Residuos ponderados
Sea A[(x)] un operador diferencial vectorial que representa un cierto sistema de Gecuaciones
diferenciales cuya solucin es una funcin vectorial (x) tal que
A[(x)] =
_

_
/
1
[(x)]
/
2
[(x)]
.
.
.
/
G
[(x)]
_

_
=
_

_
0
0
.
.
.
0
_

_
(4.1)
en un dominio `-dimensional l tal que x l R
M
. Queremos encontrar otra funcin vecto-
rial

(x,

) que aproxime la solucin exacta (x) en funcin de una cantidad nita 1 de par-
metros ajustables

k
. Dado que usualmente existen G 1 ecuaciones diferenciales acopladas y
el dominio l es usualmente es multidimensional con ` 1, para no confundir ni al lector ni al
autor abusando de la notacin matricial y vectorialincluso a veces hasta tensorialconviene
en este caso ir de lo particular a lo general. Comenzamos estudiando el caso ms sencillo con
G = 1 y ` = 1 para luego completar la formulacin general una vez comprendidos los fun-
damentos del mtodo. As mismo, para jar ideas recurrimos a la introduccin de ejemplos
sencillos que ilustran ciertas particularidades que pueden ayudar a entenderprincipalmente
al autorlos conceptos bsicos.
4.1.1. Ecuacin escalar en una dimensin
Sea la ecuacin diferencial a resolver
/[(r)] = 0 (4.2)
en el dominio o < r < /, y donde por ahora suponemos que el problema tiene condiciones de
contorno de Dirichlet (no necesariamente homogneas) en r = o y en r = /, es decir
_
(o) =
a
(/) =
b
(4.3)
El mtodo de los residuos ponderados consiste en aproximar la solucin real (r) por otra
funcion

(r) que pueda escribirse en funcin de 1 parmetros ajustables

k
como

(r) = /
0
(r) +
K

k=1
/
k
(r)

k
(4.4)
donde las /
k
(r) son funciones de forma conocidas que deben cumplir ciertas condiciones par-
ticulares que discutimos ms adelante, pero que adems exigimos que junto con la /
0
(r) sean
tales que las condiciones de contorno de Dirichlet dadas en la ecuacin (4.3) se cumplan para
cualquier conjunto de valores

k
.
Dado que en general (r) ,=

(r) y la solucin de la ecuacin diferencial (4.2) es nica,
entonces /[

(r)] ,= 0. Denimos este ltimo valor como el error residual cometido en el pun-
to r. El mtodo de los residuos ponderados propone obtener 1 ecuaciones de donde despejar

los parmetros

k
multiplicando el residuo por 1 funciones de peso n
k
(r) y requiriendo la
integral en el intervalo [o, /] de cada una de estas expresiones sea cero, es decir
_
b
a
n
k
(r) /
_
/
0
(r) +
K

k=1
/
k
(r)

k
_
dr = 0 para / = 1, . . . , 1
Ilustramos la utilizacin del mtodo, la eleccin de las funciones de forma, la importancia
de las funciones de peso y una particularidad de la formulacin integral en los ejemplos que
siguen.
Ejemplo 1 Resolver la ecuacin diferencial
d
2

dr
2
1 = 0
en el intervalo 1 < r < 1 con las condiciones de contorno
_
(1) = 0
(+1) = 0
aplicando el mtodo de los residuos ponderados proponiendo una solucin aproximada
con un nico parmetro

(r) = /
1
(r)

1
con una nica la funcin de prueba
/
1
(r) = 1 r
2
que satisface las condiciones de contorno y adems /
1
(0) = 1 y /
1
(r) < 1 en el resto del
dominio. De esta forma, el parmetro

1
es el valor de la funcin

(r) en un cierto valor
de r, en este caso r = 0. Esta caracterstica de las funciones de forma es ciertamente til ya
que los parmetros

i
pasan a ser valores nodales de la funcin incgnita.
> Requerimos que la integral pesada con una cierta funcin n(r) del residuo sea nula.
Entonces
0 =
_
1
1
n(r)
_
d
2

dr
2
1
_
dr
0 =
_
1
1
n(r)
_
d
2
/
1
dr
2

1
1
_
dr
0 =
_
1
1
n(r)
_
2

1
1
_
dr
-1
-0.5
0
0.5
1
-1 -0.5 0 0.5 1
Como la integral debe ser nula para cualquier funcin de peso n(r), entonces el corchete
debe anularse idnticamente. Luego
1
= 1,2 para cualquier funcin de peso n(r), y
recuperamos la solucin exacta de la ecuacin diferencial.
El ejemplo 1 ilustrano demuestraque si la eleccin de las funciones de forma es tal que
6
la solucin aproximada escrita de la forma (4.4) admite recuperar la solucin exacta, sta se
recupera independientemente de las funciones de peso. Es decir, el resultado es independiente
de la eleccin de las n
i
(r). Sin embargo, en general no es posible escribir la solucin exacta de
la forma (4.4), por lo que el resultado depende de las funciones de peso elegidas, como vemos
en el siguiente ejemplo.
Ejemplo 2 Resolver ahora la misma ecuacin diferencial y las mismas condiciones de con-
torno pero con la funcin continua a trozos
/
1
(r) = 1 [r[
a modo de funcin de prueba.
> Este tipo de funciones es muy utilizada ya que resulta la interpolacin ms simple
entre los valores nodales de las funciones solucin. Sin embargo, en r = 0 resulta que /
1
(r)
no tiene ni derivada primera ni derivada segunda, por lo que el residuo no se puede evaluar
en r = 0. Pero, a modo de retruque del adversativo, la formulacin integral de los residuos
ponderados hace posible encontrar una solucin en este caso, ya que si bien la estrictamente
derivada segunda no se puede evaluar, podemos escribirla en funcin de la delta de Dirac
como
d
2
/
1
dr
2
= 2(r)
ya que la derivada primera vale 1 para r 0 y +1 para r < 0, obteniendo una funcin
que puede ser integrada y pesada
0 =
_
1
1
n(r)
_
2

1
(r) 1
_
dr
0 = 2

1
n(0)
_
1
1
n(r) dr
para obtener

1
=
_
1
1
n(r) dr
2 n(0)
(4.5)
-1
-0.5
0
0.5
1
-1 -0.5 0 0.5 1
de donde vemos que la solucin depende de la eleccin de la funcin de peso n(r). Por
ejemplo, si n(r) es idnticamente igual a uno, resulta

1
= 1 y si n(r) = /
1
(r) entonces

1
= 1,2.
En forma alternativay ligeramente ms formalpodemos integrar por partes el tr-
mino de la derivada segunda
0 =
_
1
1
n(r)
_
d
2
/
1
dr
2

1
1
_
dr
0 =
_
1
1
dn
dr
d/
1
dr

1
dr +
_
n(r)
d/
1
dr

1
_
1
1

_
1
1
n(r) dr (4.6)

para observar explcitamente que se requiere que la funcin de prueba sea derivable slo
una vez en el dominio y puede no tener derivada denida en un conjunto de medida cero.
Este ltimo ejemplo ilustra varios puntos interesantes del mtodo de residuos ponderados
que son heredados por el mtodo de elementos nitos, como discutimos ms adelante. Por
un lado, la formulacin integral permite que los requerimientos de continuidad sobre las fun-
ciones de prueba sean ms laxos que en la formulacin diferencial. Hemos ejemplicado esta
caracterstica en el caso escalar unidimensional o bien integrando una delta de Dirac o bien
realizando una integracin por partes. Es posible generalizar estos procedimientos a ms di-
mensiones. Esta caracterstica de las formulaciones integrales o dbiles es particularmente til
en el caso de la ecuacin de difusin de neutrones cuando existen discontinuidades espaciales
en los coecientes de difusin.
Por otro lado, el ejemplo 2 muestra que los parmetros ajustables que arroja el mtodo en
general dependen de la eleccin de las funciones de peso usadas para ponderar los residuos. En
particular, si utilizamos las mismas funciones de prueba /
k
(r) como funciones de peso n
k
(r),
sucede que el residuo resultante es perpendicular a todas ellas en el espacio vectorial de todas
las posibles funciones continuas. Mientras ms funciones de prueba usemos, ms pequeo
en el sentido geomtrico de dicho espacio vectorialresulta el residuo. Por esta y por otras
propiedades [24], es sta la eleccin usual para las funciones de peso. Este caso tiene nombre
propio, y cuando n
k
(r) = /
k
(r) decimos que estamos aplicando el mtodo de Galerkin.
Finalmente, vemos en el ejemplo 2 que las condiciones de contorno aparecen directamente
en la formulacin fuerte, o bien en el coeciente de la delta o en el trmino de supercie al
realizar la integracin por partes, sin necesidad de incorporarlas como ecuaciones anexas. El
siguiente ejemplo ilustra con un poco ms de detalle cmo se incorporan las condiciones de
contorno del problema, que es uno de los conceptos ms sutiles del mtodo de elementos ni-
tos. De hecho fue el papel que juegan las condiciones de contorno en la formulacin dbil la que
gener la redaccin de este prolegmeno terico-divagativo antes de introducir la discretiza-
cin espacial de la ecuacin de difusin de neutrones multigrupo en un esquema en elementos
nitos. Ilustramos la diferencia entre el manejo de condiciones de contorno de Dirichlet y de
Neumann, y adems aprovechamos para introducir una primera notacin matricial para ma-
nejar el correspondiente sistema de ecuaciones que aparece al tener ms de una funcin de
prueba.
Ejemplo 3 Resolver una vez ms la ecuacin diferencial
d
2

dr
2
1 = 0
pero ahora con las condiciones de contorno
_
_
_
(1) = 1
d
dr

x=1
= 1
(4.7)
> Segn la ecuacin (4.4), las funciones de prueba deben ser tales que se satisfagan las
condiciones de Dirichlet del problema. En este caso, (1) = 1. Para resolver el problema,
8
vamos a suponer que tenemos tres funciones de prueba y tres parmetros, pero en verdad
hay uno que no es ajustable sino que lo jamos de forma tal de que se satisfaga la con-
dicin de contorno en r = 1. Lo que hacemos entonces es trabajar como si tuvisemos
tres incgnitaspor lo que necesitamos tres ecuacionesy antes de resolver el problema,
jamos el valor de una de ella para satisfacer la condicin de Dirichlet.
Proponemos

(r) = /
1
(r)

1
+ /
2
(r)

2
+ /
3
(r)

3
=
_
/
1
(r) /
2
(r) /
3
(r)

_
_

3
_
_
= H

0
0.2
0.4
0.6
0.8
1
-1 -0.5 0 0.5 1
La derivada es
d

dr
=
d/
1
dr

1
+
d/
2
dr

2
+
d/
3
dr

3
=
_
d/
1
dr
d/
2
dr
d/
3
dr
_
_
_

3
_
_
= 1

y las tres ecuaciones de los residuos ponderados a cumplir son


0 =
_
1
1
n
k
(r)
_
d
2

dr
1
_
dr
=
_
1
1
dn
k
dr

d

dr
dr +
_
n
k
(r)
d

dr
_
+1
1

_
1
1
n
k
(r) dr
para / = 1, 2, 3. En el mtodo de Galerkin, n
k
(r) = /
k
(r) y podemos escribirlas en notacin
matricial como
0 =
_
1
1
_
_
/

1
/

2
/

3
_
_
_
/

1
/

2
/

_
_

3
_
_
dr +
_
_
_
_
/
1
/
2
/
3
_
_
d

dr
_
_
+1
1

_
1
1
_
_
/
1
/
2
/
3
_
_
dr
0 =
_
_
_
_
1
1
_
_
/

1
(r)/

1
(r) /

1
(r)/

2
(r) /

1
(r)/

3
(r)
/

2
(r)/

1
(r) /

2
(r)/

2
(r) /

2
(r)/

3
(r)
/

3
(r)/

1
(r) /

3
(r)/

2
(r) /

3
(r)/

3
(r)
_
_
dr
_
_
_
_
_

3
_
_
+
_
_
/
1
(1)
/
2
(1)
/
3
(1)
_
_
d

dr

x=1

_
_
/
1
(1)
/
2
(1)
/
3
(1)
_
_
d

dr

x=1

_
1
1
_
_
/
1
(r)
/
2
(r)
/
3
(r)
_
_
dr

0 =
_

_
1
1
1
T
(r) 1(r) dr
_

+
_
H
T
(r)
d

dr
_
+1
1

_
1
1
H
T
(r) dr
En particular resulta
0 =
_
_
_

_
0
1
_
_
(1)(1) (1)(+1) (1) 0
(+1)(1) (+1)(+1) (+1) 0
0 (1) 0 (+1) 0 0
_
_
dr

_
1
0
_
_
0 0 0 (1) 0 (+1)
(1) 0 (1)(1) (1) (+1)
(+1) 0 (+1)(1) (+1) (+1)
_
_
dr
_
_
_
_
_

3
_
_
+
_
_
0
0
1
_
_
d

dr

x=1

_
_
1
0
0
_
_
d

dr

x=1

_
0
1
_
_
1 r
1 + r
0
_
_
dr
_
1
0
_
_
0
1 r
r
_
_
dr
y el sistema de ecuaciones de donde despejar los parmetros ajustables es
_

_
+1 1 0
1 +2 1
0 1 +1
_

_
_

3
_

_
=
_

dx

x=1

1
2

1
2

1
2
+
d

dx

x=1

1
2
_

_
Como dijimos al principio, para satisfacer la condicin de contorno de Dirichlet en r =
1 debe ser

1
= 1. Entonces reemplazamos la primera la de la matriz por un uno en la
diagonal y ceros en el resto de las columnas y el primer elemento del vector del miembro
derecho por el valor que haga que se satisfaga la condicin de contorno de Dirichlet (en este
caso 1), de tal modo de reemplazar la ecuacin del residuo ponderado correspondiente a la
funcin de forma /
1
(r) por la ecuacin

1
= +1:
_
_
+1 0 0
1 +2 1
0 1 +1
_
_
_
_

3
_
_
=
_

_
+1
1
d

dx

x=1

1
2
_

_
(4.8)
Finalmente, reemplazamos
d

dx

x=1
en el tercer elemento del vector independiente por
el valor dado por la condicin de contorno de Neumann (en este caso 1), para obtener
_
_
+1 0 0
1 +2 1
0 1 +1
_
_
_
_

3
_
_
=
_
_
+1
1
+
1
2
_
_
o
de donde resulta

1
= 1

2
= 1,2

3
= 1
0
0.2
0.4
0.6
0.8
1
-1 -0.5 0 0.5 1
Tal como habamos prometido, en este ejemplo ilustramos principalmente cmo lidiar con
las condiciones de contorno. El primer comentario es que las condiciones de contorno de Diri-
chlet se satisfacen o bien con la eleccin de las funciones de prueba como en los ejemplos 1 y 2
o bien reemplazando la ecuacin que calcula los parmetros ajustables que denen el valor de
la solucin en el contorno del dominio que tiene condiciones de Dirichlet. Estas dos maneras
de atacar el problema son esencialmente iguales, slo que la ltima tiene ventajas prcticas ya
que no requiere encontrar explcitamente la funcin /
0
(r) en la ecuacin (4.4) de antemano, y
matemticamente queda denida como una combinacin lineal de las funciones /
k
(r) para los
valores de / cuyos parmetros ajustables

k
son jados. La funcin aproximada

(r) cumple
exactamente las condiciones de contorno de Dirichlet del problema. En este marco, llamamos
a este tipo de condiciones de contorno condiciones esenciales.
El segundo comentario se reere a las condiciones de contorno de Neumann, que llamamos
condiciones naturales. stas aparecen en el trmino de supercie de la integracin por partes
con un smbolo d

,dr que denota la derivada de la funcin incgnita evaluada en la supercie.


Sin embargo, como vemos a continuacin, este smbolo debe tratarse diferente cuando aparece
en un trmino de supercie y cuando aparece en el integrando de una integral sobre el dominio.
Detengmonos por un momento en esta idea.
En el ejemplo 3, el valor de la derivada en r = 1 desapareci de la formulacin al reem-
plazar la ecuacin de la condicin esencial en ese punto, mientras que el valor de la derivada
en r = 1 era un dato del problema y lo incorporamos a las ecuaciones. Con respecto a las
condiciones de contorno naturales, debemos notar dos conceptos importantes, y que parecen
sutiles pero hacen a la formulacin general del mtodo de elementos nitos. Por un lado, cuan-
do aparezcan expresiones conteniendo la derivada de la funcin incgnita evaluada en una
frontera del dominio que tenga condiciones esenciales, no debemos prestar mayor atencin ya
que eventualmente la ecuacin donde sta aparece ser reemplazada por la ecuacin de la con-
dicin natural. Por otro lado, cuando aparezca una expresin conteniendo la derivada de la
funcin incgnita evaluada en una frontera del dominio que tenga condiciones naturales, de-
bemos reemplazar dicha expresin por el valor de la condicin natural del problema y no por
la expresin de la derivada de

(r) en funcin de las funciones de prueba y de los parmetros
ajustables.
Resumiendo el confuso prrafo anterior, cuando aparezca d

,dr evaluada en una supercie


con condiciones de contorno esenciales, podemos ignorar su valor ya que no formar parte
de la formulacin. Y cuando aparezca d

,dr en una supercie con condiciones de contorno


naturales, debemos reemplazarla por el valor numrico requerido en la condicin de Neumann,
y no por 1(r)

como s debemos hacer cuando la derivada aparece en algn integrando de


1
la formulacin dbil. Ms adelante demostramos este resultado para el caso particular de la
ecuacin de difusin de neutrones multigrupo.
Por ejemplo, si en la ecuacin (4.8) en lugar de reemplazar d

,dr en r = 1 por uno, que es


el valor de la condicin natural, hubisemos escrito
d

dr

x=1
=
d/
1
dr

x=1

1
+
d/
2
dr

x=1

2
+
d/
3
dr

x=1

3
=

2
+

3
entonces la ecuacin (4.8) quedara
_
_
+1 0 0
1 +2 1
0 1 +1
_
_
_
_

3
_
_
=
_
_
+1
1
1
2
_
_
+
_
_
0 0 0
0 0 0
0 1 +1
_
_
_
_

3
_
_
(4.9)
lo que dara lugar a un sistema de ecuaciones indeterminado, que es la versin aproximada
de la indeterminacin de una ecuacin diferencial continua a la que le faltan condiciones de
contorno.
Debemos notar que las condiciones de contorno naturales no se cumplen exactamente. Si
bien los valores nodalesen el ejemplo 3

1
en r = 1,

2
en r = 0 y

3
en r = 1de la
funcin aproximada

(r) coinciden con la solucin exacta
(r) =
1
2
(1 + r
2
)
la derivada en r = 1 de

(r) no es igual a uno sino a un medio. Esta es una caracterstica
del mtodo de residuos ponderados: las condiciones esenciales se satisfacen exactamentea
menos de la precisin numrica con la que podemos resolver el sistema de ecuaciones para los
parmetrosy las condiciones naturales se satisfacen aproximadamente, de la misma manera
que la funcin obtenida es slo una aproximacin de la solucin real en el dominio.
4.1.2. Ecuacin escalar en varias dimensiones
Estudiemos ahora el caso en el que la funcin incgnita es un campo escalar de varias variables.
En este caso
/[(x)] = 0
sobre algn dominio l R
M
, con condiciones de contornoo bien de Dirichlet o bien de
Neumannen la frontera l. De la misma manera que en la seccin anterior, aproximamos la
funcin solucin por una expresin aproximada

(x) = /
0
(x) +
K

k=1
/
k
(x)

k
donde introducimos /
0
(x) para satisfacer las condiciones de contorno de Dirichlet del proble-
ma, aunque la podemos incorporar a las /
k
(x) reemplazando algunos de los parmetros

k
por los valores que satisfacen dichas condiciones de contorno. Nuevamente ilustramos la apli-
cacin del mtodo de residuos ponderados con un ejemplo.
:
Ejemplo 4 Plantear el mtodo de Galerkin a la ecuacin diferencial de Poisson

2
(r, j) 1 = 0
en el dominio l = [1, 1] [1, 1] R
2
con
condiciones de contorno de Dirichlet
(x) =
a
si x l
utilizando cinco puntos de colocacin tal co-
mo ilustra la gura.
Como los cuatro puntos que estn en la frontera son singulares y no tienen normal,
evitar los problemas aparejados a las condiciones de Neumann y dejar el anlisis de la
incorporacin de este tipo de condiciones de contorno para ms adelante cuando aparezcan
dominios ms suaves.
> Sean /
k
(r, j) para / = 1, . . . , 5 funciones de forma cuya expresin explcita an no
discutimos en esta seccin pero que asumimos son apropiadas para resolver el problema.
Entonces proponemos

(r, j) =
5

k=1
/
k
(r, j)

k
=
_
/
1
(r, j) /
2
(r, j) /
3
(r, j) /
4
(r, j) /
5
(r, j)

5
_

_
= H

Notamos que

R
5
y H R
15
. El mtodo de Galerkin provee las cinco ecuaciones
que necesitamos para despejar los parmetros ajustables

k
utilizando como funciones de
peso n
k
(r, j) las cinco funciones de forma /
k
(r, j):
0 =
_
1
1
_
1
1
/
k
(r, j)
_

(r, j) 1
_
drdj para i = 1, . . . , 5
Podemos aprovechar la formulacin integral para reducir en uno el orden del operador
diferencial que aparece en la ecuacin utilizando las frmulas de Green (apndice B) como
sigue
0 =
_
1
1
_
1
1
/
k
(r, j)
2

(r, j) drdj
_
1
1
_
1
1
/
k
(r, j) drdj
=
_
1
1
_
1
1
/
k
(r, j)

(r, j) drdj +
_
U
/
k
(r, j)
_

(r, j) n
_
do

_
1
1
_
1
1
/
k
(r, j) drdj
donde debemos tener en cuenta que en este problema en particular no hay condiciones de
Neumann, por lo quesegn aprendimos en la seccin anteriortenemos que reemplazar
el smbolo

por

(r, j) =
_

,r

,j
_
=
_
/
1
,r /
2
,r /
3
,r /
4
,r /
5
,r
/
1
,j /
2
,j /
3
,j /
4
,j /
5
,j
_

5
_

_
= 1

Notamos que 1 R
25
y que adems podemos escribir el producto escalar entre los
gradientes /
k
(r, j) y

(r, j) como un producto matricial


/
k
(r, j)

(r, j) =
_
/
k
,r /
k
,j

,r

,j
_
=
_
/
k
,r /
k
,j

_
1

_
Entonces la /-sima ecuacin del sistema de cinco ecuaciones es
0 =
_
1
1
_
1
1
_
/
k
,r /
k
,j

_
1

_
drdj
+
_
U
/
k
(r, j)
__
1

_
n
_
do
_
1
1
_
1
1
/
k
(r, j) drdj
Podemos escribir las cinco ecuaciones en una sola expresin matricial como
0 =
_
1
1
_
1
1
_

_
/
1
,r /
1
,j
/
2
,r /
2
,j
/
3
,r /
3
,j
/
4
,r /
4
,j
/
5
,r /
5
,j
_

_
1

_
drdj
+
_
U
_

_
/
1
(r, j)
/
2
(r, j)
/
3
(r, j)
/
4
(r, j)
/
5
(r, j)
_

_
__
1

_
n
_
do
_
1
1
_
1
1
_

_
/
1
(r, j)
/
2
(r, j)
/
3
(r, j)
/
4
(r, j)
/
5
(r, j)
_

_
drdj

donde identicamos las transpuestas de las matrices H y 1, con lo que escribimos en forma
compacta
0 =
_
1
1
_
1
1
1
T

_
1

_
drdj
+
_
U
H
T

__
1

_
n
_
do
_
1
1
_
1
1
H
T
drdj
Notando que la multiplicacin de matrices es asociativa, podemos escribir el integrando
del primer trmino, que es un vector de tamao cinco, como
1
T

_
1

_
=
_
1
T
1
_

El integrando del segundo trmino tiene cierta complejidad ya que involucra un pro-
ducto escalar entre los vectores 1

y n, resultado escalar que a su vez multiplica a un


vector de tamao cinco. El producto escalar en forma de producto matricial es
_
1

_
n = n
T

_
1

_
y el integrando queda
__
1

_
n
_
=
_
H
T
n
T
1
_

Como el vector

no depende de la posicin x entonces puede salir fuera de las integra-
les, con lo que obtenemos un sistema lineal de cinco ecuaciones con cinco incgnitas
_

_
1
1
_
1
1
1
T
1 drdj +
_
U
H
T
n
T
1 do
_


=
_
1
1
_
1
1
H
T
drdj
al que an le falta ponerle las condiciones de contorno del problema reemplazando las
las de la matriz y los elementos del vector independiente que corresponden a aquellos
parmetros que estn en la frontera del dominio por las cannicas y por los valores de
la condicin de Dirichlet, respectivamente. En el caso del problema del ejemplo, debemos
reemplazar las primeras cuatro las y los primeros cuatro elementos del vector, quedando
slo la ltima la de la matriz y el ltimo elemento del vector segn la formulacin obte-
nida. Por lo tanto, de la segunda integral, slo debemos prestar atencin a la ecuacin que
involucra a /
5
(r, j) e ignorar las primeras. Pero sucede ademscomo discutimos en la
seccin 4.2.2que es condicin necesaria que /
5
(r, j) sea idnticamente cero en l. Luego
podemos ignorar la contribucin de la integral sobre la frontera porque las primeras cuatro
las del integrando sern luego reemplazadas al poner las condiciones de contorno, y la
ltima la contiene cinco ceros porque /
5
(r, j) = 0 en l.
Finalmente, el sistema de ecuaciones a resolver es
_

_
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
n
5,1
n
5,2
n
5,3
n
5,4
n
5,5
_

5
_

_
=
_

5
_

_
donde

n
k,k
=
_
1
1
_
1
1
_
/
k
r
/
k

r
+
/
k
j
/
k

j
_
drdj
y

k
=
_
1
1
_
1
1
/
k
(r, j) drdj
Como vemos, las ecuaciones y los desarrollos se hacen ms engorrosos y complicados a
medida que agregamos complejidades a los problemas a resolver. Desde el humilde punto de
vista de este que escribe, la dicultad que ms atencin necesita es discernir entre las diferentes
operaciones matriciales y vectoriales que aparecen, y en identicar qu expresiones son escala-
res, cules son vectores y cules son matrices. Es por eso que la escritura explcita de todos los
elementos en forma de matrices, si bien es tediosa y ocupa mucho lugar, ayuda a entender las
expresiones que aparecen en forma elegante y compacta cuando uno intenta leer libros sobre el
mtodo de elementos nitos.
En el ejemplo 4 obtenemos un sistema lineal de 5 5 donde cuatro ecuaciones son triviales
y corresponden a las condiciones de contorno. En problemas de inters con decenas de miles
de nodos, las ecuaciones que corresponden a las condiciones de contorno son muchas menos
que las que correspondan a la ecuacin diferencial en el interior del dominio. Sin embargo, si
no incorporamos las condiciones de contorno de esta manera, las matrices que representan el
sistema de ecuaciones resultan singulares y el problema discretizado no tiene solucin.
Notamos tambin que la incorporacin de las condiciones de contorno en la forma en que
lo hicimos en el ejemplo rompe la simetra de la matriz 1
T
1, y de alguna manera hace que
para resolver el problema se necesite ms esfuerzo computacional del que se necesitara si
efectivamente el problema fuese simtrico. Sin embargo, como el problema objeto del presente
trabajo es la ecuacin de difusin de neutrones multigrupo que en general no es simtrica, el
proceso de jar los valores de los parmetros ajustables que corresponde a nodos en la frontera
no introduce mayores inconvenientes, as que utilizamos la forma de denir las condiciones
de contorno de Dirichlet tal como lo hicimos en el ejemplo 4 en lugar de complicar an ms el
esquema numrico con el nico objetivo de obtener matrices globales simtricas.
Finalmente, observamos que el resultado obtenido en la seccin 4.1.1 concerniente a las
condiciones de contorno tambin vale para el caso multidimensional. Por un lado, no es nece-
sario calcular la contribucin de los trminos que correspondan a parmetros que estn sobre
la frontera del dominio que tiene condiciones de Dirichlet a la integral de supercie que resulta
de aplicar la frmula de Green, ya que estas contribuciones sern luego reemplazadas por el
proceso ilustrado de jacin de parmetros sobre dicha supercie. Y, adems, la contribucin
de los trminos que corresponden a parmetros que no estn sobre la supercie es nula ya que
las funciones de forma asociadas a dichos parmetros debe ser cero en la frontera. Luego, el
trmino de supercie de la frmula de Green sobre la parte de l que tiene condiciones de
Dirichlet usualmente puede ignorarse al aplicar el mtodo de Galerkin. Es este un detalle su-
til pero particularmente importante, que no es obvio y que es difcil de demostrar en forma
general.
4.1.3. Ecuacin vectorial en varias dimensiones
Volvamos a considerar ahora el caso general planteado al principio del captulo en la ecua-
cin (4.1)
6
A[(x)] =
_

_
/
1
[(x)]
/
2
[(x)]
.
.
.
/
G
[(x)]
_

_
=
_

_
0
0
.
.
.
0
_

_
(4.1)
en el que ` 1, G 1 y
(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
son las funciones incgnitas. Proponemos una funcin vectorial aproximada, en la que cada
componente est escrita en la forma (4.4)

(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
=
_

K
k=1
/
k
(x)

k
1

K
k=1
/
k
(x)

k
2
.
.
.

K
k=1
/
k
(x)

k
G
_

_
(4.10)
donde

k
g
es el /-simo parmetro ajustable correspondiente a la /-sima funcin incgnita,
con / = 1, . . . , 1 y p = 1, . . . , G, donde ya supusimos que no necesitamos ninguna funcin
de forma /
0
(r) para satisfacer las condiciones de Dirichlet sino que las tenemos en cuenta
en los parmetros ajustables

k
g
que jamos antes de resolver el sistema de ecuaciones. Para
escribir el vector aproximado de funciones incgnitas en forma matricial y poder operar de la
misma manera que en la seccin anterior, debemos construir un nico vector de parmetros
incgnita

de tamao 1 = 1G que contengaen algn ordentodos los parmetros

k
g
de
todas las funciones. Por ejemplo, si ordenamos las componentes del vector incgnita tal como
lo hicimos en la ecuacin (2.12) en el captulo 2

=
_

1
1

1
2
.
.
.

1
G

2
1

2
2
.
.
.

K
G
_

_
(2.12)
entonces podemos escribir la funcin vectorial aproximada como un producto matriz vector
como sigue:

(x) =
_

_
/
1
(x) 0 /
2
(x) 0 /
G
(x) 0 0
0 /
1
(x) 0 /
2
(x) 0 /
G
(x) 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 0 0 0 /
G
(x)
_

_
_

1
1

1
2
.
.
.

1
G

2
1

2
2
.
.
.

K
G
_

_
Este planteo, que es un verdadero abuso de notacin vectorial, queda ilustrado con el si-
guiente ejemplo.
Ejemplo 5 Plantear la solucin del sistema de ecuaciones diferenciales
_
0 =
2
(r, j) + (r, j)
0 =
2
(r, j) 1
en el dominio [1, 1] [1, 1] R
2
con condiciones de contorno de Dirichlet
_
(x) =
a
si x l
(x) =
a
si x l
utilizando cinco puntos de colocacin tal como ilustra la gura.
> Sean /
k
(r, j) para / = 1, . . . , 5 funciones de forma apropiadas, que pueden ser las
mismas que las del ejemplo 4 ya que la eleccin de las funciones de forma depende
excepto en casos muy particularesslo de la geometra del dominio l y no de la ecuacin
en s a resolver. El vector solucin aproximado

escrito como producto matriz-vector es
_
(r, j)

(r, j)
_
=
_
/
1
0 /
2
0 /
3
0 /
4
0 /
5
0
0 /
1
0 /
2
0 /
3
0 /
4
0 /
5
_
_

5
_

_
(4.11)

= H

8
Notamos que si G = 2 es la cantidad de funciones incgnita (igual a la cantidad de
ecuaciones del sistema) y 1 = 5 es la cantidad de puntos de colocacin del dominio, en-
tonces

R
KG
es un vector de dimensin 10 y H R
GKG
es una matriz de 2 10.
Tenemos entonces diez incgnitas y necesitamos diez ecuaciones. Segn Galerkin, stas
son
0 =
_
1
1
_
1
1
/
k
(r, j)
_

2
(r, j) +

(r, j)
_
drdj para i = /, . . . , 5
0 =
_
1
1
_
1
1
/
k
(r, j)
_

2

(r, j) 1
_
drdj para i = /, . . . , 5
que, segn el ya usual paso de aplicar la frmula de Green y no tener en cuenta el trmino
de supercie ya que no tenemos condiciones de Neumann, podemos escribir como
0 =
_
1
1
_
1
1
_
/
k
(r, j) (r, j) + /
k
(r, j)

(r, j)
_
drdj para i = /, . . . , 5
0 =
_
1
1
_
1
1
_
/
k
(r, j)

(r, j) /
k
(r, j)
_
drdj para i = /, . . . , 5
La idea es encontrar una forma de escribir estas diez ecuaciones en forma matricial en
funcin del vector de parmetros ajustables

. En particular, prestamos atencin al trmino
del producto interno de los gradientes de las /
k
(x) y de las funciones incgnita (x) y

(x).
Para simplicar el desarrollo que sigue, vamos a suponer que / = 1, 2 en lugar de ir de uno
hasta cinco. Queremos encontrar una expresin compacta para el vector
_

_
/
1

/
1

/
2

/
2

_
=
_

_
/

1x

x
+ /

1y

y
/

1x

x
+ /

1y

y
/

2x

x
+ /

2y

y
/

2x

x
+ /

2y

y
_

_
=
_

_
/

1x
(/

1x

1
+ /

2x

2
) + /

1y

_
/

1y

1
+ /

2y

2
_
/

1x

_
/

1x

1
+ /

2x

2
_
+ /

1y

_
/

1y

1
+ /

2y

2
_
/

2x
(/

1x

1
+ /

2x

2
) + /

2y

_
/

1y

1
+ /

2y

2
_
/

2x

_
/

1x

1
+ /

2x

2
_
+ /

2y

_
/

1y

1
+ /

2y

2
_
_

_
=
_

_
_
/

1x
/

1x
+ /

1y
/

1y
_

1
+
_
/

1x
/

2x
+ /

1y
/

2y
_

2
_
/

1x
/

1x
+ /

1y
/

1y
_

1
+
_
/

1x
/

2x
+ /

1y
/

2y
_

2
_
/

2x
/

1x
+ /

2y
/

1y
_

1
+
_
/

2x
/

2x
+ /

2y
/

2y
_

2
_
/

2x
/

1x
+ /

2y
/

1y
_

1
+
_
/

2x
/

2x
+ /

2y
/

2y
_

2
_

_
=
_

_
/

1x
/

1x
+ /

1y
/

1y
0 /

1x
/

2x
+ /

1y
/

2y
0
0 /

1x
/

1x
+ /

1y
/

1y
0 /

1x
/

2x
+ /

1y
/

2y
/

2x
/

1x
+ /

2y
/

1y
0 /

2x
/

2x
+ /

2y
/

2y
0
0 /

2x
/

1x
+ /

2y
/

1y
0 /

2x
/

2x
+ /

2y
/

2y
_

_
_

_

1

1

2

2
_

_
=
_

_
/

1x
0 /

1y
0
0 /

1x
0 /

1y
/

2x
0 /

2y
0
0 /

2x
0 /

2y
_

_
_

_
/

1x
0 /

2x
0
0 /

1x
0 /

2x
/

1y
0 /

2y
0
0 /

1y
0 /

2y
_

_
_

_

1

1

2

2
_

con lo que nalmente, podemos escribir los trminos del producto escalar del gradiente de
las funciones de forma y las funciones incgnia aproximadas como
= 1
T
1

donde 1 es, en el caso del ejemplo reducido para i = 1, 2 es la matriz de 4 4


1 =
_

_
/

1x
0 /

2x
0
0 /

1x
0 /

2x
/

1y
0 /

2y
0
0 /

1y
0 /

2y
_

_
y, en el caso del ejemplo original con cinco puntos, es la matriz de 4 10
1 =
_

_
/

1x
0 /

2x
0 /

3x
0 /

4x
0 /

5x
0
0 /

1x
0 /

2x
0 /

3x
0 /

4x
0 /

5x
/

1y
0 /

2y
0 /

3y
0 /

4y
0 /

5y
0
0 /

1y
0 /

2y
0 /

3y
0 /

4y
0 /

5y
_

_
de forma tal que se cumple que
1

=
_

_
,r


,r
,j


,j
_

_
Para completar el ejemplo, la formulacin matricial antes de poner las condiciones de
contorno de Dirichlet queda
__
1
1
_
1
1
1
T
1 drdj +
_
1
1
_
1
1
1 drdj
_


=
_
1
1
_
1
1
R drdj
donde 1 es una matriz de 10 10
1 =
_

_
/
1
/
1
0 /
1
/
2
0 . . . /
1
/
5
0
0 0 0 0 . . . 0 0
/
2
/
1
0 /
2
/
2
0 . . . /
2
/
5
0
0 0 0 0 . . . 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
/
5
/
1
0 /
5
/
2
0 . . . /
5
/
5
0
0 0 0 0 . . . 0 0
_

_
y R es el vector de tamao 10
R =
_

_
0
/
1
0
/
2
.
.
.
/
5
_

_
recordando que las /
k
(x) son funciones del espacio. Luego de integrar en el dominio y re-
emplazar las las correspondientes a los nodos que tienen condicin de contorno, obtene-
o
mos un sistema lineal de ecuaciones de 10 10 de donde podemos calcular los parmetros
ajustables

k
y
k
para / = 1, . . . , 5.
Lo que quisimos ilustrar con el ejemplo es que el caso de varias ecuaciones diferenciales
multidimensionales acopladasque es justamente el caso de la difusin de neutrones multi-
grupoes tan general que es no es posible dar una formulacin genrica para todos los proble-
mas, ya que la forma de ordenar los parmetros ajustables en el vector incgnita no es nica,
como tampoco lo es la forma en la que aparecen las derivadas de las funciones escalares en las
ecuaciones diferenciales. La mejor opcin de discretizar un problema vectorial multidimensio-
nal depende de cada problema en particular.
De todas maneras, en esta serie de ejemplos hemos tratado de evaluar problemas topo-
lgicamente similares al problema de difusin de neutrones, por lo que en la formulacin en
elementos nitos, que es una generalizacin del mtodo de Galerkin para mallas no estructura-
das, de la ecuacin de difusin multigrupo descripta en lo que resta de este captulo utilizamos
los conceptos obtenidos luego de discutir los ejemplos de esta seccin. Debemos notar el hecho
nada casual que las expresiones matriciales a las cuales arribamos en todos los ejemplos tienen
la misma forma funcional.
4.2. El mtodo de elementos nitos
Tal como hicimos en el captulo anterior con volmenes nitos, a continuacin proponemos
una de las tantas maneras en la que es posible discretizar el problema de difusin de neutrones
a varios grupos de energa utilizando el mtodo de elementos nitos. En particular, usando tr-
minos de la literatura de elementos nitos, utilizamos elementos isoparamtricos estndar de
primer orden [24, 1, 25]. Volviendo una vez ms a la ecuacin (4.1), supongamos que tenemos
denido un problema vectorial multidimensional sobre un cierto dominio l R
M
:
A[(x)] =
_

_
/
1
[(x)]
/
2
[(x)]
.
.
.
/
G
[(x)]
_

_
=
_

_
0
0
.
.
.
0
_

_
(4.1)
con
(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
Al igual que en volmenes nitos, en el mtodo de elementos nitos aproximamos el domi-
nio continuo l R
M
por una yuxtaposicin de una cantidad nita 1 de celdas de dimensin `
denidas por hiperplanos. Los vrtices de las celdas denen 1 nodos. El proceso de mallado
es completamente anlogo al mtodo de volmenes nitos. Sin embargo, por una cuestin de
consistencia en la nomenclatura, llamamos a la celda i-sima ahora elemento c
i
(gura 4.1). La
idea es utilizar funciones de forma locales a cada nodo sobre los elementos a los que dene y
tomar como parmetros ajustables los valores que toma la funcin incgnita en los 1 nodos.
1
(a) Dominio U R
2
(b) Dominio

U =

I
i=1
e
i
U R
2
Figura 4.1 Un dominio bidimensional U es aproximado por la unin de I polgonos yuxtapuestos.
Como hemos dividido el dominio l en elementos yuxtapuestos, cualquier integral sobre
todo el dominio es igual a la suma de las integrales sobre los elementos, a menos del error
cometido al aproximar los bordes continuos por una cantidad nita de caras planas:
_
U
)(x) d
M
x
I

i=1
_
e
i
)(x) d
M
x (4.12)
Por otro lado, asumimos que podemos expresar las funciones incgnita aproximadas como
una combinacin lineal de 1 funciones de forma cuyos coecientes son parmetros ajustables

g
(x) =
K

k=1
/
k
(x)

k
g
Ms an, asignamos a cada uno de los 1 nodos una funcin de forma y un parmetro
ajustable. Requerimos que la funcin de forma /
k
(x) = 1 si x coincide con la posicin del
nodo / y que /
k
(x) = 0 fuera de los elementos adyacentes al nodo /. Incluso, an en los
elementos adyacentes, /
k
(x) debe ser cero en los bordes opuestos al nodo /. En la gura 4.2
ilustramos una funcin de forma vlida para un cierto nodo. En la seccin 4.2.2 discutimos en
detalle las propiedades de las funciones de forma y cmo calcularlas para una cierta malla en
particular.
Como estamos interesados en realizar integralespor ejemplo de residuos pesadossobre
todo el dominio aprovechando la ecuacin (4.12), queremos poder separar la contribucin de
cada elemento a las funciones de forma /
k
(x). Cada una de las funciones de forma es enton-
ces diferente de cero slo en los elementos que contienen al nodo asignado. Podemos suponer
entonces que la funcin de forma /
k
(x) est compuesta a su vez por funciones de forma ele-
mentales asociadas a un elemento en particular de forma tal que cada una de stas es diferente
de cero slo en el elemento al que est asociada. Y, a la inversa, podemos pensar que cada
elemento posee una cantidad de funciones de forma elementales, cada una de ellas asociada a
cada uno de los nodos que lo denen. En la gura 4.3 mostramos, en una dimensin, cmo la
funcin de forma /
k
(x) se puede pensar como la suma de dos funciones asociadas por un lado
al mismo nodo / pero por otro a dos elementos i e i

diferentes (pero adyacentes).


:
(a)
0
1
(b)
0
1
(c)
Figura 4.2 Funcin de forma asociada a un nodo en un problema bidimensional. Dado un dominio discretizado
(a) la funcin de forma h
k
(x, y) para el ndice k del nodo central es slo diferente de cero en los cuatro elementos
sombreados. Ms an, debe ser cero en los bordes marcados. Las subguras (b) y (c) muestran una posible funcin
de forma h
k
(x, y) para el nodo central, que vale uno en el nodo central y cero en todos los otros. La funcin incgnita
buscada por el mtodo de elementos nitos es una combinacin lineal de K funciones de forma de este tipo que
aproxime la solucin real del problema diferencial continuo.
Figura 4.3 La funcin de forma h
k
(x) puede ser pensada como la suma de varias funciones de forma elementales
que son slo diferente de cero dentro de cada uno de los elementos que tiene al nodo k como frontera. Por ejemplo,
la funcin de forma unidimensional h
k
(x) mostrada en la gura puede ser pensada como la suma de dos funciones
de forma elementales, una asociada al nodo k desde el elemento i y otra asociada al nodo k desde el elemento i

Para poder escribir cada una de las 1 funciones de forma /


k
(x) como suma de funciones de
forma elementales en funcin de otro subndicei.e. ponerles nombres a las funciones verde y
a la naranja de la gura 4.3debemos denir antes una nomenclatura para los nodos dentro
de cada uno de los elementos y cmo se relacionan esta numeracin local con la denomina-
cin global dada por el ndice /. Para jar ideas, prestemos atencin al caso de la gura 4.4.
Tenemos all un dominio bidimensional discretizado en 1 = 7 elementos indicados por el sub-
ndice i = 1, . . . , 7 y 1 = 13 nodos indicados por el subndice / = 1, . . . , 13. A su vez, cada
elemento est denido por J
i
= 4 nodos, que en este caso es la misma cantidad para todos
pero no necesariamente todos los elementos tienen que tener la misma cantidad de nodos, por
eso indicamos esta cantidad con el subndice i ya que puede variar de elemento a elemento.
Usamos entonces el subndice , = 1, . . . , n
i
para hacer referencia al nmero de nodo local al
elemento i que le corresponde al nodo global /. Por ejemplo, al nodo global / = 12 en el ele-
mento i = 4 le corresponde , = 4, pero en el elemento i = 5 le corresponde , = 3. De los tres
ndices i, , y / slo dos son independientes. Es decir, una vez jados cualesquiera dos de ellos,
el tercero queda automticamente denido.
En este sentido, podemos escribir que cada una de las 1 funciones de forma /
k
(x) es igual
a una suma de funciones elementales
/
k
(x) =

i
h
j
i
(x) (4.13)
donde el ndice i slo toma los nmero de los elementos globales que contienen al nodo /. De
este modo, cada elemento contribuye a la /-sima funcin de forma a lo sumo con una nica
funcin de forma elemental. Por ejemplo, la funcin de forma correspondiente al nodo / = 12
de la gura 4.4 es igual a
/
12
(r, j) = h
4
4
(r, j) + h
3
3
(r, j) + h
3
5
(r, j) + h
2
6
(r, j)
Si el problema tiene un slo grado de libertad G = 1, entonces ya podemos escribir la
funcin incgnita aproximada

(x) como

(x) =
K

k=1
/
k
(x)

k
(4.14)
que podemos fcilmente asignar a un producto escalar entre un vector que contiene las 1
funciones de forma y otro que contiene los 1 parmetros ajustables. Sin embargo, si G 1
entonces debemos incorporar un nuevo ndice para tener en cuenta sobre qu grado de libertad
aplica cada uno de los parmetros ajustables.
En efecto, como vimos en la seccin 4.1.3, debemos construir un nico vector

que conten-
ga los 1 = 1G parmetros ajustables, ordenados de alguna manera. Por ejemplo, si

=
_

1
1

1
2

2
1

2
2
.
.
.

g
k
.
.
.

G
M
_

_
(4.15)

10
5
9
4
8
3
7
12
13
11
6 1 2
2
1
7
6
4
3
5
1
4
2
3
1
1
2
3
4
2
3
4
4
1
2
3
2
3
4
1
1
4
2
3
2
3
1
4
elemento nodos
Figura 4.4 Dominio bidimensional discretizado en trece nodos que denen siete elementos. Se muestra la
numeracin de los elementos i = 1, . . . , 7 y la numeracin de los nodos k = 1, . . . , 13. Dentro de cada elemento,
se indica el ndice local asignado a cada nodo j = 1, . . . , 4. Se incluye la tabla de ndices que indica, para cada
elemento, los cuatro nodos que lo denen en su orden. El dominio fue discretizado utilizando el software libre
gmsh [26], y tanto la geometra, como la numeracin mostrada y la tabla de ndices es la arrojada por gmsh.
i , p / / i , p / / i , p / / i , p / / i , p / /
1 1 1 10 19 2 3 1 10 19 4 1 1 6 11 5 3 1 12 23 7 1 1 13 25
1 1 2 10 20 2 3 2 10 20 4 1 2 6 12 5 3 2 12 24 7 1 2 13 26
1 2 1 11 21 2 4 1 1 1 4 2 1 2 3 5 4 1 8 15 7 2 1 4 7
1 2 2 11 22 2 4 2 1 2 4 2 2 2 4 5 4 2 8 16 7 2 2 4 8
1 3 1 9 17 3 1 1 3 5 4 3 1 7 13 6 1 1 6 11 7 3 1 9 17
1 3 2 9 18 3 1 2 3 6 4 3 2 7 14 6 1 2 6 12 7 3 2 9 18
1 4 1 5 9 3 2 1 8 15 4 4 1 12 23 6 1 1 12 23 7 4 1 11 21
1 4 2 5 10 3 2 2 8 16 4 4 2 12 24 6 1 2 12 24 7 4 2 11 22
2 1 1 6 11 3 3 1 12 23 5 1 1 4 7 6 1 1 13 25
2 1 2 6 12 3 3 2 12 24 5 1 2 4 8 6 1 2 13 26
2 2 1 11 21 3 4 1 7 13 5 2 1 13 25 6 1 1 11 21
2 2 2 11 22 3 4 2 7 14 5 2 2 13 26 6 1 2 11 22
Tabla 4.1 Tabla con la relacin entre los ndices i (nmero de elemento), j (nmero local de nodo), g (nmero
de grado de libertad), k (nmero global de nodo) y (posicin del parmetro ajustable en el vector de incgnita)
para la discretizacin de la gura 4.4 y el orden propuesto en la ecuacin (4.15) con G = 2 grados de libertad por
nodo.

entonces la funcin incgnita aproximada asignada al grado de libertad p es ahora

g
(x) =
K

k=1
/
k
(x)

k
g
=
K

k=1
/
k
(x)

(4.16)
donde ahora el subndice /que depende de / y de pindica la posicin del parmetro ajus-
table

k
g
en el vector

. Si G = 1, entonces / = / y la ecuacin (4.16) se transforma en la ecua-
cin (4.14). Si G 1, para el ordenamiento de la ecuacin (4.15) existe una relacin algebraica
entre /, / y p, a saber
/(/, p) = G (/ 1) + p
donde a su vez, / depende de i y de ,. La tabla 4.1 muestra la relacin entre los ndices i, ,, /, p
y / para la malla de la gura 4.4 con G = 2.
El vector de las G de funciones incgnita aproximadas es entonces

(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
=
_

K
k=1
/
k
(x)

(k,1)

K
k=1
/
k
(x)

(k,2)
. . .

K
k=1
/
k
(x)

(k,G)
_

_
= H

donde H es una matriz de G las y 1G columnas


H =
_

_
/
1
0 . . . 0 /
2
0 . . . . . . 0
0 /
1
. . . 0 0 /
2
. . . . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
0 0 . . . /
1
0 0 . . . . . . /
K
_

_
es decir, conteniendo como elemento en la la p y en la columna /:
H
g,
=
_
/
k
(x) para el / que corresponda al ndice /, si el ndice / corresponde a p
0 si el ndice / no corresponde al ndice p
Como segn la ecuacin (4.13) cada una de las /
k
(x) puede escribirse como suma de con-
tribuciones elementales h
j
i
(x), entonces tambin podemos decir que la matriz H es una suma
de contribuciones elementales
H =
I

i=1
1
i
(4.17)
donde las matrices elementales 1
i
tambin son de tamao G1G y sus elementos son
1
i
g,
=
_
h
j
i
(x) para el , que corresponda a los ndices / e i, si / corresponde a p
0 de lo contrario
Luego

(x) =
_
I

i=1
1
i
_

6
Podemos escribir entonces el residuo del operador diferencial vectorial A del problema,
ponderado con la funcin de peso n(x) como
_
U
n(x)
_
A
_

(x)
__
d
M
x =
I

i=1
_
e
i
n(x)
_
A
_
1
i

__
d
M
x = 0
De esta manera, cada funcin de peso n(x) arroja G ecuaciones escalares. Como tene-
mos 1G incgnitas, necesitamos elegir 1 funciones de peso independientes para obtener en-
tonces un sistema de 1G ecuaciones. Si utilizamos el mtodo de Galerkin y tomamos como
funciones de peso las funciones de forma, entonces tenemos
0 =
I

i=1
_
e
i
/
k
(x)
_
A
_
1
i

__
d
M
x para / = 1, . . . , 1
Pero como segn la ecuacin (4.13) el elemento i-simo contribuye a lo ms con una nica
funcin de forma elemental, entonces la integral de /
k
(x) sobre c
i
es igual o bien a cero si el
nodo / , c
i
o bien a la integral de la funcin de forma elemental h
j
i
(x) para el , que corresponda
al nodo / c
i
. Luego las 1G ecuaciones del mtodo de elementos nitos de donde despejar
los 1 = 1G parmetros ajustables

son
0 =

i
_
e
i
h
j(i,k)
i
(x)
_
A
_
1
i

__
d
M
x para / = 1, . . . , ` (4.18)
donde la suma sobre i, al igual que en la ecuacin (4.13), debemos tomar slo sobre los elemen-
tos que contengan al nodo /.
Las 1 ecuaciones vectoriales (4.18), cada una de tamao G, estn escritas como suma de in-
tegrales sobre elementos c
i
, cada uno de cuyos integrandos slo depende de funciones elemen-
tales locales al elemento i. Esta expresin reeja que es posible escribir las residuos ponderados
pesados con el mtodo de Galerkin sumando contribuciones elementales cada una de las cuales
es calculada con informacin local a cada elemento. Si bien hemos deducido la ecuacin (4.18)
a partir de la formulacin fuerte (diferencial) del problema dada en la ecuacin (4.1), es posi-
ble obtener expresiones similares partiendo de una formulacin dbil (integral) del problema,
que es lo que hacemos en la seccin 4.4 con la ecuacin de difusin de neutrones. Adems, no
hemos dicho an cmo calcular las funciones de forma elementales h
j
i
(x) ni las matrices ele-
mentales 1
i
. Pero la importancia de la expresin (4.18) radica en mostrar que, en general, es
posible separar el mtodo de Galerkin en contribuciones elementales independientes.
Notar que en volmenes nitos, los G grados de libertad se calculan en las 1 celdas, mien-
tras que en elementos nitos las incgnitas se calculan en los 1 nodos. Si bien 1 y 1 son del
mismo orden, el tamao 1 del problema a resolver en cada caso es ligeramente diferente.
4.2.1. Ensamble de matrices
En la seccin anterior hemos intentado demostrar que el mtodo de elementos nitos se basa
en escribir el mtodo de Galerkin como suma de contribuciones elementales, que en principio
son independientes y podemos calcular siguiendo reglas bien denidas, que es la gran ventaja
del mtodo. Luego de calcular las matrices elementales del problema, debemos recuperar la
suma sobre el dominio original para encontrar la solucin al problema.

Si bien hasta ahora hemos dicho que el problema total es la suma de los problemas ele-
mentales, matemticamente hablando una suma de matrices implica que todos los sumandos
deben tener el mismo tamao por lo que si escribimos la matriz global como suma de diez
mil matrices de cien mil por cien mil cada una entonces no habra ninguna ganancia clara. Co-
mo afortundamanete la mayora de los elementos de estas matrices son ceros, directamente es
posible trabajar con matrices elementales pequeasdel orden de diez por diezy despus
aplicamos un proceso de ensamble para obtener la matriz del problema completo. Una expli-
cacin satisfactoria del proceso de ensamble necesita apoyarse en conceptos de la construccin
de las matrices elementales, y viceversa, congurando una condicin tautolgica de la que se
sale o bien leyendo iterativamente el captulo completo hasta que haya quedado claro lo que el
autor quiso decir o bien hasta que la cantidad de ndices introducidos dispare una condicin
lateral para salir del bucle.
Como veremos ms adelante, un problema lineal escrito como residuos ponderados toma
la forma


= 0 (4.19)
donde y

son vectores cuyo tamao es el producto entre la cantidad 1 de nodos del do-
minio y de la cantidad G de grados de libertad del problema, y es una matriz cuadrada de
tamao 1G1G. El vector

contiene las incgnitas

k
g
del problema discretizado, ordenadas
de alguna cierta manera, digamos segn la ecuacin (4.15). La ecuacin (4.19) debe satisfacerse
para cualesquiera valores que puedan tomar los elementos del vector , que contiene valores
asociados a nodos y a grados de libertad ordenados de la misma manera que el vector

. Es
decir, el elemento /-simo de

es

k
g
, con
/(/, p) = G (/ 1) + p
que es la relacin entre los ndices /, p y / del ejemplo de la gura 4.4.
Como tambin ilustramos en los ejemplos que siguen y ms adelante en la formulacin en
elementos del problema de difusin de neutrones (seccin 4.4), en problemas lineales podemos
escribir la contribucin del elemento i como el producto

i

i

i
(4.20)
donde
i
y

i
son vectores cuyo tamao es el producto entre la cantidad J de nodos del ele-
mento i y de la cantidad G de grados de libertad del problema, y
i
es una matriz cuadrada
de con = JG. Ahora el vector elemental

i
contiene las J incgnitas

g
j
del elemen-
to i para , = 1, . . . , J y p = 1, . . . , G, en algn cierto orden. De la misma manera que para los
vectores globales, el elemento n-simo del vector

i
contiene la incgnita

g
j
del elemento i.
Como ilustramos en la gura 4.4, cada nodo local identicado con un par de ndices i,, tiene
un nodo global asociado con un nico ndice /. De la misma manera, la posicin n dentro de
cada vector elemental tiene una posicin / global asociada. En general no existe una expresin
algebraica que relacione / y n sino que esta informacin la provee el mallador a partir de la
decisin de cmo ordenar los nodos y los elementos en los que divide el dominio continuo
original. De cualquier manera, denotamos con la expresin /(i, n) a la relacin entre el ndice
global / a partir del ndice local n del elemento i provista por el mallador bajo la forma de una
tabla.
El proceso de ensamble consiste en construir la matriz a partir de las 1 matrices
i
. Para
ello, notamos que en la ecuacin (4.19) el elemento de
i
en la la j y en la columna est
multiplicado a izquierda por el elemento j del vector
i
y a derecha por el elemento del
vector

i
, es decir, resulta en el escalar
8
Figura 4.5 Ensamble de matrices elementales A
i
de 2 2 para construir la matriz A del problema. La fun-
cin (i, n) indica el ndice global = 1, . . . , L que corresponde al ndice local n = 1, . . . , N del elemento i. Cada uno
de los ndices tiene en cuenta el nodo y el grado de libertad que corresponden a la posicin dentro del vector de
incgnitas, tanto locales

i
como globales

.

p

i
p,q

q
por lo que para mantener la formulacin, el elemento
i
p,q
debe aparecer en la la /(i, j) y en
la columna /(i, n) en la matriz global . En la gura 4.5 ilustramos muy esquemticamente el
proceso de ensamblado de matrices elementales, que es mucho ms difcil de explicar que de
implementar computacionalmente.
4.2.2. Funciones de forma
En la seccin 4.2 demostramos que es posible escribir la formulacin integral de Galerkin de
un problema diferencial como suma de trminos que dependen slo de funciones locales a ca-
da elemento. Como los elementos son adyacentes y disjuntos, esta suma es una unin de
integrales independientes. Es por eso que podemos dividir tanto el problema como las funcio-
nes de forma y las funciones incgnita en contribuciones elementales locales a cada elemento e
independientes del resto.
En cualquier caso, las funciones de forma deben satisfacer algunas condiciones bsicas. La
primera es que tienen que ser tales que el parmetro ajustable

k
g
correspondiente al
nodo / y al grado de libertad p, debe ser igual al valor que toma la funcin incgnita en la
posicin x
k
del nodo /. La segunda es que la funcin de forma asociada a un nodo debe ser
diferente de cero slo en los elementos que contienen a dicho nodo, y debe ser cero en los otros
nodos, an cuando estos estn en el mismo elemento. Estas dos propiedades implican que la
funcin de forma /
k
0
(x) evaluada en el nodo particular /
0
debe ser igual a uno, ya que por un
lado requerimos que

g
(x
k
0
) =

k
0
g
y por otro

g
(x
k
0
) =
K

k=1
/
k
(x
k
0
)

k
g
= /
k
0
(x
k
0
)

k
0
g
ya que /
k
(x
k
0
) = 0 si / ,= /
0
. Luego
/
k
(x
k
) =
kk

La siguiente propiedad que se le pide a las funciones de forma es que si los parmetros
ajustables son todos iguales a un cierto valor o, la funcin interpolada para cualquier posicin x
debe evaluarse al valor o. Esto es,

g
(x) = o
=
K

k=1
/
k
(x)

k
g
=
K

k=1
/
k
(x) o
=
_
K

k=1
/
k
(x)
_
o
lo que implica que
J

k=1
/
k
(x) = 1
para todo x. Esta propiedad se conoce como particin de la unidad [24], y proviene del pro-
blema elstico donde se requiere que un desplazamiento de cuerpo rgido no cause campos de
deformacin. Como de costumbre, empezamos investigando el caso ms sencillo que corres-
ponde a elementos unidimensionales y luego generalizamos los conceptos para ms dimensio-
nes.
4.2.2.1. Elementos unidimensionales
En un problema unidimensional, un elemento es un segmento denido por dos nodos adya-
centes ubicados sobre un eje, que sin perder generalidad suponemos es el r. En una dimensin,
usualmente nodos consecutivos reciben ndices tambin consecutivos, de la misma manera que
elementos adyacentes tienen ndices consecutivos como ilustramos en al gura 4.6.
Para obtener funciones de forma genricas aplicables a para cada uno de los nodos loca-
les a cada elemento proponemos un mapeo invertible : r entre la coordenada global r
[r
k
, r
k+1
] y una coordenada local : [1, 1], de forma tal que podamos escribir la integral de
alguna funcin )(r) sobre el elemento i como
_
e
i
)(r) dr =
_
x
k+1
x
k
)(r) dr =
_
1
1
)(:)
dr
d:
d:
6o
Figura 4.6 Elemento isoparamtrico estndar unidimensional. Mapeo de la coordenada global x a la coordenada
local r y funciones de forma locales del elemento i.
En el marco de referencia local, las funciones de forma locales de un elemento unidimen-
sional lineal estndar son
/
1
(:) =
1
2
(1 :)
/
2
(:) =
1
2
(1 + :) (4.21)
donde utilizamos la tipografa regular / en lugar de la alternativa h con la que diferenciba-
mos las funciones de forma globales de las elementales. Ahora la diferenciacin la hacemos de
acuerdo a los argumentos de la funcin: si el argumento es una coordenada local : la funcin
de forma es local, y viceversa.
1
En efecto, las ecuaciones (4.21) evaluadas en : = 1 y en : = +1 dan uno y cero, respecti-
vamente como requeramos en la seccin (4.2.2). Adems,
/
1
(:) + /
2
(:) =
(1 :) + (1 + :)
2
= 1 :
que es la otra propiedad requerida.
De todos los posibles mapeos inversibles r : elegimos aquel que hace que las funciones
de forma (4.21) interpolen la coordenada r correctamente en el intervalo [1, 1] de la coordena-
da :. A riesgo de abusar de la notacin, sean ahora r
1
i
< r
2
i
las coordenadas globales de los dos
nodos que denen el elemento i. En el caso de la gura 4.6, r
1
i
= r
k
y r
2
i
= r
k+1
. La condicin
de interpolar la coordenada r de la misma manera que la funcin incgnita
r = /
1
(:) r
1
i
+ /
2
(:) r
2
i
es la caracterstica isoparamtrica de los elementos utilizados.
En el caso unidimensional podemos escribir analticamente el mapeo r : en ambas di-
recciones. En efecto,
1
Este nuevo abuso de notacin proviene por un lado de la gloriosa discretitud de nuestro alfabeto [27] y por otro
por la escasa disponibilidad de smbolos para representar funciones [28].
61
r(:) =
1
2
(1 :) r
1
i
+
1
2
(1 + :) r
2
i
=
1
2
(1 :) r
k
+
1
2
(1 + :) r
k+1
=
1
2
(r
k
+ r
k+1
) +
1
2
(r
k+1
r
k
) : (4.22)
y el mapeo es lineal, cuya inversa analtica podemos calcular como
:(r) =
2r (r
k
+ r
k+1
)
r
k+1
r
k
(4.23)
Estas ideas quedan ilustradas en el siguiente ejemplo.
Ejemplo 6 Encontrar la expresin de la contribucin del elemento i a las ecuaciones de
Galerkin correspondientes a la expresin diferencial
d
2

dr
2
= 0
> Si n(r) es la funcin de peso, el enunciado pide evaluar la expresin
_
e
i
n(r)
d
2

dr
2
dr
Integrando por partes, tenemos

_
e
i
dn
dr

d

dr
dr + n(r)
d

dr

e
i
El trmino de supercie no es de inters, ya que en el eventual paso de sumar sobre
todos los elementos, estos trminos se cancelan de a pares y slo sobreviven los trminos
de supercie correspondiente a los nodos que estn en el borde del dominio y donde se
deben aplicar las condiciones de contorno tal como discutimos en la seccin (4.1), por lo
que no los tenemos en cuenta en este ejemplo.
La funcin aproximada en funcin de la coordenada : es

(:) = /
1
(:)

i
1
+ /
2
(:)

i
2
=
_
/
1
(:) /
2
(:)

i
1

i
2
_
= H(:)

y su derivada con respecto a la coordenada global r es


d

dr
=
d/
1
dr

i
1
+
d/
2
dr

i
2
=
_
d/
1
,dr d/
2
,dr

i
1

i
2
_
= 1
x
(:)

6:
Utilizando la regla de la cadena, podemos poner esta expresin en funcin de la deri-
vada de las funciones de forma con respecto a la coordenada local :, para poder evaluarlas
directamente a partir de las ecuaciones (4.21):
d

dr
=
d/
1
d:
d:
dr

i
1
+
d/
2
d:
d:
dr

i
2
=
_
d/
1
,d: d/
2
,d:

d:
dr

_

i
1

i
2
_
= 1
r
(:)
d:
dr

donde identicamos las matrices 1


x
y 1
r
, cuya relacin es
1
x
= 1
r

d:
dr
Poniendo como funciones de peso las funciones de forma /
1
(:) y /
2
(:), la expresin
pedida es
_

_
_
e
i
/
1
(r)
d
2

dr
2
dr
_
e
i
/
2
(r)
d
2

dr
2
dr
_

_
=
_

_
e
i
d/
1
dr

d

dr
dr

_
e
i
d/
2
dr

d

dr
dr
_

_
=
_
e
i
_
d/
1
,dr
d/
2
,dr
_

dr
dr
Transformando la integral sobre la variable global r a la variable local :, recordando
que
d

dr
= 1
x

tenemos

_
e
i
_
d/
1
,dr
d/
2
,dr
_

dr
dr =
_
1
1
1
T
x
1
x



dr
d:
d:
Como el vector

no depende del espacio, podemos sacarlo fuera de la integral para
obtener nalmente
_

_
_
e
i
/
1
(r)
d
2

dr
2
dr
_
e
i
/
2
(r)
d
2

dr
2
dr
_

_
=
__
1
1
1
T
x
1
x

dr
d:
d:
_

i
1

i
2
_
En forma alternativa, podemos escribir la expresin en funcin de la matrix 1
r
, con lo
que obtenemos
_

_
_
e
i
/
1
(r)
d
2

dr
2
dr
_
e
i
/
2
(r)
d
2

dr
2
dr
_

_
=
__
1
1
1
T
r
1
r

d:
dr
d:
_

i
1

i
2
_
que es ms fcil de evaluar analticamente ya que, para las funciones de forma (4.21), tene-
mos d/
1
,d: = 1,2, d/
2
,d: = 1,2 y a partir de la ecuacin (4.23)
6
d:
dr
=
2
r
i
2
r
i
1
=
2
r
i
donde r
i
es la longitud del elemento i. Finalmente,

__
1
1
1
T
r
1
r

d:
dr
d:
_

i
1

i
2
_
=
__
1
1
_
1,2
1,2
_
_
1,2 1,2

2
r
i
d:
_

i
1

i
2
_
=
1
r
i
_
1 +1
+1 1
_

i
1

i
2
_
Este ejemplo, adems de generalizar los ejemplos de la seccin 4.1, muestra que el ma-
peo r : implica dos transformaciones. La primera conlleva expresar las derivadas espaciales
con respecto a la coordenada global rque es en las coordenadas en la que est planteado el
problema diferencial originalen funcin de la coordenada local :. La segunda incluye cam-
biar el dominio de integracin sobre la coordenada global a la coordenada local. En ambos
casos, el factor de conversin involucra el jacobiano del mapeo inversibleo bien d:,dr o bien
dr,d:que en el caso de una dimensin es un escalar y que, por ser conforme, cumple
d:
dr
=
_
dr
d:
_
1
En particular, dado que el mapeo propuesto para los elementos isoparamtricos es lineal,
su jacobiano es una constante que podemos evaluar utilizando las ecuaciones (4.22) y (4.23).
Ejemplo 7 Resolver la ecuacin diferencial
d
2

dr
2
+ 1 = 0
en el intervalo 0 < r < 1 con las condiciones de contorno
(0) =
1
3
d
dr

x=1
=
2
3
utilizando cinco nodos equiespaciados que denen cuatro elementos de longitud 1 = 1,4
(gura 4.7) utilizando elementos nitos, diferencias nitas y volmenes nitos, cuya solu-
cin analtica es
1 2 3 4 5
1 2 3 4
1 1 1 1 2 2 2 2
Figura 4.7 Nodalizacin del intervalo 0 < x < 1 para el ejemplo 7.
6
(r) =
1
2
r
2
+
1
3
r +
1
3
> Si

i
=
_

i
1

i
2
_
es el vector elemental que contiene los valores nodales del elemento c
i
, entonces la integral
del mtodo de Galerkin sobre el elemento i es
_
0
0
_
=
_
1
1
_
/
1
(:)
/
2
(:)
_ _
d
2

dr
2
+ 1
_
dr
d:
d:
=
_

_
1
1
_
1
T
r
1
r
_
d:
dr
d:
_

i
+
_
_
/
1
(:)
/
2
(:)
_

dr
_
e
i
+
_
1
1
_
/
1
(:)
/
2
(:)
_

dr
d:
d:
Al sumar sobre todos los elementos, los trminos de supercie se cancelan de a pares
excepto para r = 0 (: = 1 en el elemento 1) y para r = 1 (: = +1 en el elemento 4).
Volvemos sobre estos trminos ms adelante. Podemos evaluar fcilmente la integral del
ltimo trmino de la ecuacin ya que dr,d: = r
i
,2 y la integral de cualquiera de las dos
funciones de forma con respecto a : en el intervalo [1, 1] es igual a la unidad, ya que el
rea bajo la curva corresponde a la de un tringulo de base dos y altura uno. Luego
_
1
1
_
/
1
(:)
/
2
(:)
_

dr
d:
d: = r
i
_
1,2
1,2
_
Sin tener en cuenta por ahora los trminos de supercie, podemos escribir la integral
de Galerkin para cada uno de los elementos como
1
r
i
_
1 +1
+1 1
_

i
1

i
2
_
= r
i
_
1,2
1,2
_
Al sumar las contribuciones de cada elemento y expresarlas en funcin del vector de
incgnitas globales

=
_

5
_

_
debemos ensamblar una matriz global y un vector global que representen la formulacin
integral en todo el dominio (seccin 4.2.1. De acuerdo a las reglas de numeracin de nodos
y de elementos elegida, el ndice /que coincide con el ndice / porque G = 1global del
nodo , en el elemento i es
/ = (i 1) + ,
Si 1
i
j
es el elemento ubicado en la columna , de algn vector en la contribucin del
elemento i, entonces 1
i
j
debe aparecer sumando en la la (i 1) + , del vector global
6
1
i
j
1
(i1)+j
(4.24)
De la misma manera, si 1
i
p,q
es el elemento ubicado en la la j y en la columna de
alguna matriz en la contribucin del elemento i, entonces 1
i
p,q
se debe sumar al elemento
1
i
p,q
1
(i1)+p,(i1)+q
(4.25)
de la matriz global correspondiente.
Con esto en mente, la formulacin de Galerkin en todo el dominio suponiendo que
todas los elementos tienen la misma longitud r y exceptuando por ahora los trminos de
supercie es
1
r
_

_
1 +1 0 0 0
+1 2 +1 0 0
0 +1 2 +1 0
0 0 +1 2 +1
0 0 0 +1 1
_

_
_

5
_

_
= r
_

_
1,2
1
1
1
1,2
_

_
Los dos trminos de supercie son, para r = 0 (: = 1 en el elemento 1)
_
_
/
1
(:)
/
2
(:)
_

dr
_
x=0
=
_
1
0
_
d

dr

x=0
=
_

(0)
0
_
y para r = 1 (: = +1 en el elemento 4)
_
_
/
1
(:)
/
2
(:)
_

dr
_
x=1
=
_
0
1
_
d

dr

x=1
=
_
0
2,3
_
Estos dos trminos contribuyen al trmino independiente de la formulacin en / = 1 y
en / = 5, para obtener
1
r
_

_
1 +1 0 0 0
+1 2 +1 0 0
0 +1 2 +1 0
0 0 +1 2 +1
0 0 0 +1 1
_

_
_

5
_

_
= r
_

_
1,2
1
1
1
1,2
_

_
+
_

(0)
0
0
0
+2,3
_

_
Aunque aparece el smbolo

(0) que representa la derivada de la funcin incgnita


en r = 0, an resta por poner la condicin de contorno de Dirichlet en r = 0, que corres-
ponde a / = 1. Tal como vimos en los ejemplos de la seccin 4.1, la ecuacin donde aparece
este smbolo desconocido es sobreescrita por la condicin de contorno de Dirichlet y des-
aparece de la formulacin. Efectivamente, si requerimos que

1
= 1,3, entonces el sistema
de ecuaciones queda
_

_
+1 0 0 0 0
+1 2 +1 0 0
0 +1 2 +1 0
0 0 +1 2 +1
0 0 0 +1 1
_

_
_

5
_

_
=
_

_
1,3
r
2
r
2
r
2
r
2
,2 + 2,3 r
_

_
de donde, para r = 1,4, podemos calcular los valores numricos de los cinco parmetros
ajustables que denen la funcin incgnita

(r), que resultan
66

=
_

5
_

_
=
_

_
0,33333
0,38542
0,37500
0,30208
0,16667
_

_
Si utilizamos diferencias nitas para resolver el mismo problema, obtenemos la siguien-
te formulacin matricial:
_

_
+1 0 0 0 0
+1 2 +1 0 0
0 +1 2 1 0
0 0 +1 2 +1
0 0 0 +1 1
_

_
_

5
_

_
=
_

_
1,3
r
2
r
2
r
2
+2,3 r
_

_
y para volmenes nitos, el problema discretizado queda
_

_
3 +1 0 0
+1 2 +1 0
0 +1 2 +1
0 0 +1 1
_

_
_

4
_

_
=
_

_
r
2
2 1,3
r
2
r
2
r
2
+ 2,3r
_

_
donde en este caso las incgnitas son los valores medios sobre cada una de las cuatro celdas
(elementos) del dominio.
Este ilustrativo ejemplo muestra una primera aproximacin al ncleo del trabajo, que es la
comparacin entre volmenes y elementos nitos. Adems, introducimos por primera vez el
concepto de ensamblaje, que es clave en la implementacin de elementos nitos y cuya discu-
sin dejamos para la seccin 4.2.1. De cualquier manera, no tiene sentido emplear elementos
o volmenes para resolver una ecuacin escalar unidimensional con coecientes constantes en
una malla uniforme. La importancia de los mtodos integrales reside en su capacidad de re-
presentar satisfactoriamente por un lado casos donde los operadores de la ecuacin diferencial
dependen del espacio y por otro mallas con geometras no triviales. En este caso en particular
vemos que, si no fuese por las condiciones de contorno de Neumann (en verdad la funcin que
la satisface es la interpolacin lineal de los puntos discretos que arroja el mtodo de diferencias
nitas) en r = 1, la discretizacin en elementos nitos isoparamtricos lineales coincide con
diferencias nitas. Vemos la discrepancia en la ltima ecuacin, donde en diferencias se utiliza
toda la ecuacin para pedir que la derivada discreta sea igual a la condicin de contorno, mien-
tras que en elementos se reparte una parte de la ecuacin para la condicin de contorno y otra
parte para satisfacer la ecuacin diferencial en el elemento. Esto resulta en que estrictamente,
la solucin en diferencias satisface la condicin de Nuemann mientras que la solucin en ele-
mentos no lo hace. Sin embargo, es claro que la solucin en elementos es superior a la solucin
en diferencias en este caso sencillo. De todas formas, la calidad de la solucin en diferencias
aumenta con la cantidad de nodos utilizados y dicha solucin se aproxima asintticamente a la
analtica. La solucin en volmenes da como resultado los valores medios en las celdas, que se
suponen constantes dentro de cada una. Los valores medios se acercan al valor de la solucin
analtica en el centro de la celda y el promedio de dos celdas vecinas, que podemos asignar al
6
0 0.2 0.4 0.6 0.8 1
x
0
0.1
0.2
0.3
0.4

soluci on analtica
diferencias nitas
vol umenes nitos
elementos nitos
Figura 4.8 Resultados del ejemplo 7. La solucin en diferencias no indica explcitamente cul es la solucin del
problema entre los nodos, pero asumimos una interpolacin lineal entre ellos. La solucin en elementos no satisfa-
ce exactamente la condicin de contorno de Neumann, pero an con pocos nodos arroja resultados satisfactorios
al compararla con la solucin analtica. La solucin en volmenes asume que el ujo es uniforme en cada celda,
pero tanto su valor medio como el promedio entre los valores de celdas vecinas se acercan a la solucin analtica.
valor de la funcin en el borde, son similares al valor que toma la funcin analtica en dichos
puntos. En el captulo 5 desarrollamos estas ideas en profundidad.
4.2.2.2. Elementos bidimensionales
En dos dimensiones, los elementos son guras planas denidas por polgonos de una canti-
dad arbitraria de lados. En esta monografa, slo trabajos con elementos triangulares y cua-
drangulares. Comenzamos estudiando el caso de los cuadrngulos, cuyo mapeo al interva-
lo [1, 1] [+1, +1] es ms sencillo.
Cuadrngulos
Dado un elemento cuadrangular i, denimos un mapeo inversible entre el plano de coordena-
das globales r, j y el plano de coordenadas locales :, : (gura 4.9) de forma tal que
r(:, :) =
4

j=1
/
j
(:, :) r
j
j(:, :) =
4

j=1
/
j
(:, :) j
j
(4.26)
con las funciones de forma locales
68
2
3
1
4
Figura 4.9 Elemento isoparamtrico estndar cuadrangular y mapeo de las coordenadas globales x, y a las
coordenada locales r, s.
/
1
(:, :) =
1
4
(1 :)(1 :)
/
2
(:, :) =
1
4
(1 + :)(1 :)
/
3
(:, :) =
1
4
(1 + :)(1 + :)
/
4
(:, :) =
1
4
(1 :)(1 + :) (4.27)
que cumplen los requerimientos de que su suma sea idnticamente igual a uno en el interva-
lo [1, 1] [+1, +1] y que cada una de ellas valga uno en el nodo , y cero en los otros tres. En
la gura 4.10 ilustramos las funciones /
1
(:, :) y /
4
(:, :).
Con este mapeo estamos requiriendo que las coordenadas espaciales se interpolen de la
misma manera que las funciones incgnita, dando lugar a la designacin de elementos isopa-
ramtricos [24]. Combinando las ecuaciones (4.26) y (4.27) obtenemos una expresin explcita
para el mapeo (:, :) (r, j)
r(:, :) =
1
4
_
(r
1
+ r
2
+ r
3
+ r
4
) + : (r
1
r
2
+ r
3
+ r
4
)
+ : (r
1
+ r
2
+ r
3
r
4
) + :: (r
1
r
2
+ r
3
r
4
)
_
j(:, :) =
1
4
_
(j
1
+ j
2
+ j
3
+ j
4
) + : (j
1
j
2
+ j
3
+ j
4
)
+ : (j
1
+ j
2
+ j
3
j
4
) + :: (j
1
j
2
+ j
3
j
4
)
_
(4.28)
Que este mapeo es inversible en el intervalo [1, 1] [1, 1] no es evidente. Para que esto
ocurra, el jacobiano de r e j con respecto a : y a : debe tener inversa para cualquier (:, :)
[1, 1] [1, 1]. Dichas derivadas depende de las coordenadas r
j
e j
j
de los nodos que denen
el elemento, por lo que bsicamente es responsabilidad del proceso de mallado generar nodos
tales que el determinante del jacobiano no se anule en el intervalo de inters. De cualquier
manera, el clculo de esta inversa no es necesaria para emplear el mtodo de elementos nitos.
6
-1
0
1 -1
0
1
0
0.5
1
h1(x,y)
h4(x,y)
x
y
-1
0
1
-1
0
1
0
0.5
1
h1(x,y)
h4(x,y)
x
y
-1
0
1 -1
0
1
0
0.5
1
h1(x,y)
h4(x,y)
x
y -1 0 1 -1
0
1
0
0.5
1
h1(x,y)
h4(x,y)
x
y
Figura 4.10 Funciones de forma h
1
(r, s) y h
4
(r, s) en el intervalo [1, 1] [+1, +1].
Incluso tampoco es necesario calcular explcitamente la transformacin directa utilizando las
ecuaciones (4.28). En efecto, podemos escribir la integral de alguna funcin )(r, j) sobre el
elemento i como
_
e
i
)(r, j) drdj =
_
1
1
_
1
1
)
_
r(:, :), j(:, :)
_

det
_
x
r
_

d: d:
donde
_
x
r

es el jacobiano de la transformacin (r, j) (:, :)


_
x
r
_
=
_

_
r
:
r
:
j
:
j
:
_

_
=
_

_
4

j=1
/
j
:
r
j
4

j=1
/
j
:
r
j
4

j=1
/
j
:
j
j
4

j=1
/
j
:
j
j
_

_
(4.29)
En caso de que aparezcan derivadas de las coordenadas locales con respecto a las coor-
denadas globales dentro de la funcin )(r, j)tal como apareca la expresin d:,dr en la
seccin 4.2.2.1podemos an calcularlas sin necesidad de conocer la transformacin inver-
sa (r, j) (:, :)como s la conocamos en la seccin 4.2.2.1 a travs de la ecuacin (4.23)
notando que, por un lado
_
d:
d:
_
=
_
:,r :,j
:,r :,j
_

_
dr
dj
_
y por otro
_
dr
dj
_
=
_
r,: r,:
j,: j,:
_

_
d:
d:
_
con lo que
o
_
r
x
_
=
_

_
:
r
:
j
:
r
:
j
_

_
=
_

_
r
:
r
:
j
:
j
:
_

_
1
=
_
x
r
_
1
Utilizando la conocida frmula de la inversa de una matriz de 2 2
_
o /
c d
_
1
=
1
od /c
_
d /
c o
_
(4.30)
entonces podemos calcular las derivadas de las coordenadas locales con respecto a las globales
(que son difciles de calcular explcitamente) utilizando slo las derivadas de r e j con respecto
a : y a : (que son fciles de calcular) como
:
r
=
j
:
r
:
j
:

r
:
j
:
:
j
=

r
:
r
:
j
:

r
:
j
:
:
r
=

j
:
r
:
r
:

r
:
j
:
:
j
=
r
:
r
:
r
:

r
:
j
:
(4.31)
Ejemplo 8 Transformar la integral
_
e
i

drdj
sobre un elemento c
i
cuadrangular al intervalo 1 < : < 1 1 < : < 1, donde (r, j)
y

(r, j) son funciones que toman los valores nodales
j
y

j
interpolados por las mismas
funciones de forma /
j
(:, :) con , = 1, . . . , 4 para ambas funciones
> En notacin matricial, podemos escribir
1
(r, j) = (:, :) =
_
/
1
(:, :) /
2
(:, :) /
3
(:, :) /
4
(:, :)

_

1

2

3

4
_

_
= H

(r, j) =

(:, :) =
_
/
1
(:, :) /
2
(:, :) /
3
(:, :) /
4
(:, :)

4
_

_
= H

=
_
,r
,j
_
=
_
/
1
,r /
2
,r /
3
,r /
4
,r
/
1
,j /
2
,j /
3
,j /
4
,j
_

_

1

2

3

4
_

_
= 1
x

=
_
,r
,j
_
=
_
/
1
,r /
2
,r /
3
,r /
4
,r
/
1
,j /
2
,j /
3
,j /
4
,j
_

4
_

_
= 1
x

El diferencial de supercie drdj en funcin de d: d: es


drdj =

det
_
_
_
_
r,: r,:
j,: j,:
_
_
_
_

d: d:
=

det
_
x
r
_

d: d:
donde tomamos el valor absoluto para evitar diferenciales de supercie negativos que pue-
den llegar a aparecer si la numeracin de los nodos en el plano global rj tiene una orienta-
cin contraria a la del plano local ::. Con estas deniciones, escribimos la integral como
_
e
i

drdj =
_
1
1
_
1
1
(1
x
)
T
(1
x

det
_
x
r
_

d: d:
=
_
1
1
_
1
1
1
T
x
1
x

det
_
x
r
_

d: d:
=
__
1
1
_
1
1
1
T
x
1
x

det
_
x
r
_

d: d:
_

De la misma manera que en el ejemplo 6, la matrix 1


x
involucra derivadas con respecto
a las coordenadas globalesya que proviene de discretizar una ecuacin diferencial que
contiene un gradiente con respecto a r y a j, que son las variables del problemaque son
difciles de calcular. Pero podemos avanzar un paso ms y notar que
:
1
x
=
_

_
/
1
r
/
2
r
/
3
r
/
4
r
/
1
j
/
2
j
/
3
j
/
4
j
_

_
=
_

_
/
1
:
:
r
+
/
1
:
:
r
/
2
:
:
r
+
/
2
:
:
r
. . .
/
1
:
:
j
+
/
1
:
:
j
/
2
:
:
j
+
/
2
:
:
j
. . .
_

_
=
_

_
:
r
:
r
:
j
:
j
_

_
_

_
/
1
:
/
2
:
/
3
:
/
4
:
/
1
:
/
2
:
/
3
:
/
4
:
_

_
=
_
_
x
r
_
1
_
T
1
r
con lo que podemos re-escribir
1
T
x
1
x
=
_
_
_
_
x
r
_
1
_
T
1
r
_
_
T _
_
x
r
_
1
_
T
1:
= 1
T
r

_
x
r
_
1
_
_
x
r
_
1
_
T
1
r
para obtener la integral como

_
_
_
1
1
_
1
1
1
T
r

_
x
r
_
1
_
_
x
r
_
1
_
T
1
r

det
_
x
r
_

d: d:
_
_

en funcin de la matriz de derivadas con respecto a las variables locales 1


r
, de la matriz
jacobiana directa
_
x
r

y de su inversa, todas fciles de calcular ya que las derivadas de


las x con respecto a las r son combinaciones lineales de las funciones de forma /
j
(x) y las
matrices a invertir tienen un tamao igual a ` ` con ` = 1, 2 3.
Tringulos
Para manejar elementos triangulares, utilizamos las funciones de forma que resultan de colap-
sar los nodos locales 3 y 4 de un elemento cuadrangular en un nico nodo, como ilustramos en
la gura 4.11. En este caso, en el plano (:, :) la recta : = +1 deja de ser vertical y desaparece
la recta : = +1. Cualquier punto de la recta : = +1 es singular. Sin embargo, dado que slo
intervienen las integrales de expresiones de : y de :, cuyo valor numrico podemos calcular
tomando puntos dentro del intervalo [1, 1] [1, 1] sin llegar a la necesidad de evaluar los
integrandos en los valores extremos.

2
3
1
4
2
3
1
Figura 4.11 Obtencin de las funciones de forma para un elementro triangular mediante el colapso de dos
nodos de un elemento cuadrangular.
De esta manera, las funciones de forma para los nodos locales 1 y 2 son iguales que para el
caso de cuadrngulos dadas por las ecuaciones (4.27)
/
1
(:, :) =
1
4
(1 :)(1 :)
/
2
(:, :) =
1
4
(1 + :)(1 :)
Para el nodo local 3, la funcin de forma es la suma de las funciones de forma para los
nodos 3 y 4 de los cuadrngulos:
/
3
(:, :) =
1
4
(1 :)(1 + :) +
1
4
(1 + :)(1 + :) (4.32)
=
1
2
(1 + :) (4.33)
Es trivial vericar que estas tres funciones de forma cumplen las condiciones de particin
de la unidad y de representar correctamente los valores nodales
3

j=1
/
j
(:, :) = 1
/
j
(:
j
, :
j
) = ,,

4.3. Formulacin dbil de la ecuacin de difusin de neutrones


La ecuacin de difusin de neutrones multigrupo (2.3) introducida en el captulo 2
0 = div
_
1(x, p) grad
_
(x, p)

_

t
(x, p) (x, p)
+
G

=1

s
(x, p

p) (x, p

) + (p)
G

=1

f
(x, p

)
/
eff
(x, p

) (2.3)
es un sistema de G ecuaciones lineales en derivadas parciales de segundo orden. Como discuti-
mos en la seccin 2.2.1, si escrita de esta manera, decimos que la ecuacin est formulada en su

forma fuerte. Esta familia de ecuaciones admite tambin una formulacin dbil, que usualmen-
te se la asocia con principios variacionales que implican una serie de interesantes interpreta-
ciones loscas [29, 30]. En este trabajo, nos concentramos slo en las caractersticas prcticas
de la matemtica asociada a la formulacin dbil y su aplicacin a la discretizacin basada
en elementos nitos. A continuacin proponemos una formulacin dbil con la cual arribare-
mos a una formulacin que, como demostramos en la seccion 4.5, es equivalente al mtodo de
Galerkin.
Sean G funciones arbitrarias (x, p) para p = 1, . . . , G denidas sobre el dominio espa-
cial l R
M
donde vamos a resolver la ecuacin de difusin multigrupo (2.3). Primero mul-
tiplicamos la ecuacin de difusin del grupo p por (x, p), luego sumamos trmino a trmino
las G ecuaciones y nalmente integramos sobre el dominio l para obtener
0 =
_
U
_
_
_
G

g=1
(x, p)
_
div
_
1(x, p) grad(x, p)
_

t
(x, p) (x, p)
+
G

=1

s
(x, p

p) (x, p

) + (p)
G

=1

f
(x, p

)
/
eff
(x, p

)
_
_
_
_
d
M
x (4.34)
Dado que cada uno de los Gcorchetes es idnticamente cero para cualquier x l, entonces
la suma y la integral tambin lo es. Pero, a la vez, podemos armar que si la ecuacin (4.34)
se cumple para cualesquiera funciones continuas
g
(x), entonces las G ecuaciones de difu-
sin (2.3) se deben cumplir en todos los puntos del domino. En efecto, si para algn subcon-
junto de lincluyendo un punto aisladoalguno de los corchetes no fuese cero, entonces
podramos encontrar fcilmente al menos una funcin
g
(x) tal que la integral de la ecua-
cin (4.34) sea no nula [24]. Luego, la ecuacin dbil (4.34) es matemticamente equivalente a
la formulacin fuerte (2.3), situacin que no se daba en el captulo 3 entre las ecuaciones (2.3)
y (3.2).
Esta formulacin es dbil en el sentido que, como mostramos ms abajo, es posible reducir
en uno el orden de los operadores diferenciales que aparecen, lo que hace que las restricciones
sobre la continuidad de la funcin solucin sean ms laxas y sea posible resolver directamente
casos con coecientes de difusin discontinuos. La formulacin dbil escrita de la forma (4.34)
parece elegante y concisa, pero no ilustra la utilidad que representa el haber reemplazado un
sistema de ecuaciones diferenciales vectoriales por una nica ecuacin integro-diferencial es-
calar en funcin de G nuevas funciones arbitrarias.
Por otra parte, aunque podamos operar sobre la ecuacin (4.34) utilizando sumatorias y
subndices genricos, las expresiones involucradas presentan ciertas complejidades que pue-
den inducir al lectory especialmente al autora interpretaciones incorrectas. Es por eso que
procedemos a continuacin trabajando con el problema bidimensional ` = 2 a dos grupos de
energa con G = 2, escribiendo explcitamente todos los trminos de las sumatorias involucra-
das. Luego generalizamos los resultados obtenidos nuevamente para un nmero genrico de
grupos de energa G.
En dos dimensiones y a dos grupos de energa, la ecuacin de difusin de neutrones esta-
cionaria para el grupo rpido
2
es
2
En la jerga de anlisis de reactores, en clculos a dos grupos de energa se llama grupo rpido al grupo g = 1
y grupo trmico al grupo g = 2.

0 = div
_
1
1
(r, j) grad
1
(r, j)


t1
(r, j)
1
(r, j) (4.35)
+
s11

1
(r, j) +
s21

2
(r, j) +
1

f1
/
eff

1
(r, j) +
1

f2
/
eff

2
(r, j)
y la ecuacin para el grupo trmico es
0 = div
_
1
2
(r, j) grad
2
(r, j)


t2
(r, j)
2
(r, j) (4.36)
+
s12

1
(r, j) +
s22

2
(r, j) +
2

f1
/
eff

1
(r, j) +
2

f2
/
eff

2
(r, j)
Sean
1
(r, j) y
2
(r, j) dos funciones continuasy por lo tanto integrablesdenidas so-
bre el dominio l R
2
. Como hemos propuesto arriba, multiplicamos la ecuacin (4.35) por la
funcin
1
(r, j) y la ecuacin (4.36) por
2
(r, j) y sumamos trmino a trmino las dos expre-
siones
0 =
1
div (1
1
grad
1
) +
2
div (1
2
grad
2
)
1

t1

1

2

t2

2
+
1

s11

1
+
1

s21

2
+
2

s12

1
+
2

s22

2
+
1
/
eff
_

1

1

f1

1
+
1

1

f2

2
+
2

2

f1

1
+
2

2

f2

2
_
Integramos sobre el dominio l y reorganizamos los miembros

_
U

1
div
_
1
1
grad
1
_
drdj
_
U

2
div
_
1
2
grad
2
_
drdj
+
_
U
_

1

t1

1
+
2

t2

2
_
drdj

_
U
_

1

s11

1
+
1

s21

2
+
2

s12

1
+
2

s22

2
_
drdj
=
1
/
eff
_
U
_

1

1

f1

1
+
1

1

f2

2
+
2

2

f1

1
+
2

2

f2

2
_
drdj (4.37)
donde hemos agrupado los trminos de fugas, los trminos de ritmo de reaccin total, los tr-
minos de scattering y los trminos de sin. Notar que todos los factoresexcepto
1
y
2

dependen de la posicin x. La ecuacin (4.37) es la formulacin dbil del problema de difusin


de neutrones bidimensional a dos grupos de energa. Como hemos discutido, debe cumplirse
para cualesquier par de funciones continuas
1
(r, j) y
2
(r, j), que por analoga al principio
de los trabajos virtuales [25] y al de las temperaturas virtuales [1, captulo 7], llamamos ujos
virtuales. Dejamos las interpretaciones teleolgicas sobre la naturaleza del comportamiento de
los neutrones para futuros trabajos.
Es importante tambin notar que
1
(r, j) y
2
(r, j) no representan los ujos adjuntos, co-
mo la similitud de la ecuacin (4.37) con la ecuacin de la importancia neutrnica puede lle-
gar a sugerir. Los ujos virtuales son funciones continuas, pero por lo dems arbitrarias y no
constituyen una incgnita del problema sino que forman parte de la formulacin dbil como
funciones arbitrarias. De hecho, en la formulacin del problema tal como escrita en la ecua-
cin (4.37) ni siquiera se les requiere que cumplan ninguna clase de condiciones de contorno
sobre la frontera del dominio.
6
Podemos escribir, a menos de un signo, los integrandos de los trminos de ritmo de reaccin
total, de scattering y de sin respectivamente en forma matricial como

1

t1

1
+
2

t2

2
=
_

1

2

t1
0
0
t2
_

2
_

1

s11

1
+
1

s21

2
+
2

s12

1
+
2

s22

2
=
_

1

2

s11

s21

s12

s22
_

2
_

1

1

f1

1
+
1

1

f2

2
+
2

2

f1

1
+
2

2

f2

2
=
_

1

2

f1

1

f2

f1

2

f2
_

2
_
En problemas de anlisis de reactores, es usual combinar las dos primeras ecuaciones co-
rrespondientes al ritmo de reaccin y al ritmo de scattering como
_

1

2

t1
0
0
t2
_

2
_

1

2

s11

s21

s12

s22
_

2
_
=
_

1

2

_

r1

s21

s12

r2
_

2
_
(4.38)
donde para simplicar la notacin utilizamos la seccin ecaz macroscpica de remocin in-
troducida en la seccin 2.2.3

rg
(x) =
tg
(x)
sgg
(x) =
ag
(x) +
G

=g

sgg
(x) (2.10)
De esta forma
rg
(x)
g
(x) d
M
x es el ritmo al cual son removidosya sea absorbidos que
generen o no una sin, o removidos del grupo p por scateringlos neutrones del grupo p
en un diferencial de volumen alrededor del punto x. Este reemplazo lo hacemos slo para
simplicar la matemtica que sigue. En el cdigo milonga usamos la formulacin original del
problema, aunque dependiendo de los datos del problemai.e. si tenemos seccin ecaz total
o slo secciones ecaces de absorcin netaen el cdigo utilizamos los trminos de ritmos
de reaccin y scattering por separado o combinados como en la ecuacin (4.38). Por ser ms
compacta, en lo que sigue preferimos trabajar con la expresin (4.38).
Para analizar los trminos de fuga aplicamos la identidad de Green (apndice B)
_
U
(x) div
_
(x)

d
M
x =
_
U
grad
_
(x)

(x) d
M
x +
_
U
(x)
_
(x) n

do (4.39)
poniendo (x) =
g
(x) y (x) = grad[1
g
(x)
g
(x)] . Entonces

_
U

g
(x) div
_
1
g
(x) grad
g
(x)
_
drdj =
_
U
grad
g
(x) 1
g
grad
g
(x) drdj

_
U

g
(x) 1
g
(x)
_
grad
g
(x) n
_
do

La mezcla de productos escalares entre vectores y productos escalar-vector complica el an-


lisis de esta expresin. Sin embargo, si escribimos explcitamente cada uno de los trminos de
esta expresin

_
U

g
(x) div
_
1
g
(x) grad
g
(x)
_
drdj =
_
U
_

g
r
1
g


g
r
+

g
j
1
g


g
j
_
drdj
_
U

g
1
g

g
r
n
x
+

g
j
n
y
_
do
entonces podemos poner los dos primeros trminos de la ecuacin (4.37) como

_
U

1
div
_
1
1

1
_
drdj
_
U

2
div
_
1
2

2
_
drdj =
_
U
_

1
r
1
1


1
r
+

2
r
1
2


2
r
+

1
j
1
1


1
j
+

2
j
1
2


2
j
_
drdj

_
U
_

1
1
1

1
r
n
x
+

1
j
n
y
_
+
2
1
2

2
r
n
x
+

2
j
n
y
__
do
para nalmente escribir el integrando de la integral sobre el dominio en forma matricial como

1
r
1
1


1
r
+

2
r
1
2


2
r
+

1
j
1
1


1
j
+

2
j
1
2


2
j
=
_

1
,r
2
,r
1
,j
2
,j

_
1
1
0 0 0
0 1
2
0 0
0 0 1
1
0
0 0 0 1
2
_

1
,r

2
,r

1
,j

2
,j
_

_
y el integrando de la integral sobre el borde del dominio l como

1
1
1

1
r
n
x
+

1
j
n
y
_
+
2
1
2

2
r
n
x
+

2
j
n
y
_
=
_

1

2

_
1
1
0
0 1
2
_ _

1
,n

2
,n
_
Con esta notacin, la formulacin dbil para el caso particular de dos grupos de energa G =
2 en dos dimensiones ` = 2 dada por la ecuacin (4.37) queda
8
_
U
_

1
r

2
r

1
j

2
j
_

_
1
1
0 0 0
0 1
2
0 0
0 0 1
1
0
0 0 0 1
2
_

1
,r

2
,r

1
,j

2
,j
_

_
drdj

_
U
_

1

2

_
1
1
0
0 1
2
_

1
,n

2
,n
_
do
+
_
U
_

1

2

_

r1

s21

s12

r2
_

2
_
drdj
=
1
/
eff
_
U
_

1

2

f1

1

f2

f1

2

f2
_

2
_
drdj
Es decir, la ecuacin de difusin de neutrones en su formulacin dbil en dos dimensiones
y a dos grupos de energa es
_
U

T
(x) 1

(x)

(x) d
M
x
_
U

T
(x) 1(x) N(x) do
+
_
U

T
(x) (x) (x) d
M
x =
1
/
eff
_
U

T
(x) A(x) (x) d
M
x (4.40)
donde
(x) =
_

1
(x)

2
(x)
_
(x) =
_

1
(x)

2
(x)
_

(x) =
_

1
,r

2
,r

1
,j

2
,j
_

(x) =
_

1
,r

2
,r

1
,j

2
,j
_

_
1(x) =
_
1
1
(x) 0
0 1
2
(x)
_
1

(x) =
_

_
1
1
(x) 0 0 0
0 1
2
(x) 0 0
0 0 1
1
(x) 0
0 0 0 1
2
(x)
_

_
N(x) =
_

1
,n

2
,n
_

(x) =
_

r1
(x)
21
(x)

12
(x)
r2
(x)
_
A(x) =
_

1

f1
(x)
1

f2
(x)

2

f1
(x)
2

f2
(x)
_
Podemos generalizar la formulacin dbil para una cantidad arbitraria de grupos de ener-
ga G y ` coordenadas espaciales reemplazando en la ecuacin (4.40) las siguientes denicio-
nes:
(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
vector de tamao G
(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
vector de tamao G

(x) =
_

1
,r
1

2
,r
1
.
.
.

G
,r
1

1
,r
2
.
.
.

G
,r
M
_

_
vector de tamao `G

(x) =
_

1
,r
1

2
,r
1
.
.
.

G
,r
1

1
,r
2
.
.
.

G
,r
M
_

_
vector de tamao `G
1(x) =
_

_
1
1
(x) 0 . . . 0
0 1
2
(x) . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1
G
(x)
_

_
matriz de tamao GG
8o
1

(x) =
_

_
1
1
(x) 0 . . . 0 0 0 . . .
0 1
2
(x) . . . 0 0 0 . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1
G
(x) 0 0 . . .
0 0 . . . 0 1
1
(x) 0 . . .
0 0 . . . 0 0 1
2
(x) . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_

_
=
_

_
_
1(x)
_ _
0
_
. . .
_
0
_ _
1(x)
_
. . .
.
.
.
.
.
.
.
.
.
_

_
tamao `G`G
N(x) =
_

1
,n

2
,n
.
.
.

G
,n
_

_
vector de tamao G
(x) =
_

r1
(x)
21
(x) . . .
G1
(x)

12
(x)
r2
(x) . . .
G2
(x)
.
.
.
.
.
.
.
.
.
.
.
.

1G
(x)
2G
(x) . . .
rG
(x)
_

_
matriz de tamao GG
A(x) =
_

1

f1
(x)
1

f2
(x) . . .
1

fG
(x)

2

f1
(x)
2

f2
(x) . . .
2

fG
(x)
.
.
.
.
.
.
.
.
.
.
.
.

G

f1
(x)
G

f2
(x) . . .
G

fG
(x)
_

_
matriz de tamao GG
4.4. Esquema basado en elementos
Estamos ahora en condiciones desarrollar una discretizacin basa en el mtodo de elementos
nitos para resolver la ecuacin de difusin de neutrones multigrupo en una malla no estruc-
turada. Para ello utilizamos todas las ideas y conceptos introducidos a lo largo de este captulo.
Sin embargo, en lugar de aplicar directamente el mtodo de Galerkin a las ecuaciones diferen-
ciales, discretizamos espacialmente la formulacin dbil encontrada en la seccin anterior para
obtener las ecuaciones discretas del esquema en elementos. Esta formulacinque es equiva-
lente al mtodo de Galerkin como mostramos en la seccin 4.5es, desde el punto de vista del
autor, ms conveniente para el planteo del problema.
Para resolver la ecuacin (4.40) utilizando el mtodo de elementos nitos, primero notamos
que las tres integrales sobre el dominio l pueden escribirse como suma de integrales elemen-
tales sobre 1 elementos, como demostramos en la ecuacin (4.18) de la seccin 4.2. A su vez,
vamos a buscar una funcin aproximada

(x) que podamos escribir, dentro del elemento c
i
,
como una combinacin lineal de las J
i
funciones de forma elementales /
j
(x) utilizando los J
i
valores nodales

j
g
como coecientes de peso.
81
Por otro lado, la formulacin dbil implica funciones virtuales que en principio son conti-
nuas pero arbitrarias por naturaleza, de tal manera que la ecuacin (4.40) para cualquier posible
valor que puedan tomar estos ujos virtuales. En la discretizacin en elementos nitos, vamos
a restringir las funciones virtuales al mismo espacio vectorial que las funciones incgnita apro-
ximadas. Es decir, vamos a utilizar como ujos virtuales a la funcin aproximada (x) que,
dentro del elemento c
i
tambin es igual a una combinacin lineal de las mismas funciones de
forma /
j
(x) utilizando un nmero J
i
de ciertos coecientes arbitrarios
j
g
. La ecuacin exac-
ta (4.40) se transforma entonces en
_
U

T
(x) 1

(x)

(x) d
M
x
_
U

T
(x) 1(x) N(x) do
+
_
U

T
(x) (x)

(x) d
M
x =
1
/
eff
_
U

T
(x) A(x)

(x) d
M
x (4.41)
Para jar ideas, supongamos que ` = 2, G = 2 y J
i
= 3. Entonces, proponemos funciones
aproximadas

(r, j) =
_

_
J
i

j=1
/
j
(r, j)

j
1
J
i

j=1
/
j
(r, j)

j
2
_

_
=
_
/
1
(x) 0 /
2
(x) 0 /
3
(x) 0
0 /
1
(x) 0 /
2
(x) 0 /
3
(x)
_

1
1

1
2

2
1

2
2

3
1

3
2
_

_
= H(r, j)

(r, j) =
_

_
J
i

j=1
/
j
(r, j)
j
1
J
i

j=1
/
j
(r, j)
j
2
_

_
=
_
/
1
(x) 0 /
2
(x) 0 /
3
(x) 0
0 /
1
(x) 0 /
2
(x) 0 /
3
(x)
_

_

1
1

1
2

2
1

2
2

3
1

3
2
_

_
= H(r, j)
8:
4.4.1. Fisiones
La integral del ritmo de siones sobre el elemento c
i
queda
_
e
i

T
(x) A(x)

(x) d
M
x =
_
e
i
_
H(x)
_
T
A(x)
_
H(x)

_
d
M
x
=
_
e
i
_

T
H
T
(x) A(x) H(x)

_
d
M
x
=
T

__
e
i
H
T
(x) A(x) H(x) d
M
x
_

=
T


A
i


(4.42)
donde hemos denido la matriz elemental de sin

A
i
como

A
i
=
_
e
i
H
T
(x) A(x) H(x) d
M
x
que para ` = 2, G = 2 y J
i
= 3 podemos evaluar como

A
i
=
_
1
1
_
1
1
H
T
(:, :) A(:, :) H(:, :)

det
_
x
r
_

d: d:
=
_
1
1
_
1
1
_
_

_
/
1
0
0 /
1
/
2
0
0 /
2
/
3
0
0 /
3
_

f1

1

f2

f1

2

f2
_

_
/
1
0 /
2
0 /
3
0
0 /
1
0 /
2
0 /
3
_

det
_

_
3

j=1
/
j
:
r
j
3

j=1
/
j
:
r
j
3

j=1
/
j
:
j
j
3

j=1
/
j
:
j
j
_

_
d: d:
donde r
j
e j
j
son las coordenadas absolutas de los J
i
= 3 nodos que denen el elemento c
i
y las funciones /
j
(:, :) son las tres funciones de forma asociadas a cada uno de los tres nodos
del elemento c
i
. Las secciones ecaces de sin son funciones conocidas de las coordenadas
globales r, j, mientras que la integral la realizamos sobre las coordenadas locales :, :. Pero
utilizando el mapeo correspondiente, cualquier funcin )(x) puede evaluarse en funcin del
vector local r como
)(r, j) = )
_
r(:, :), j(:, :)
_
= )
_
_
J
i

j=1
/(:, :) r
j
,
J
i

j=1
/(:, :) j
j
_
_
4.4.2. Remociones y scattering
Procediendo anlogamente con el trmino de absorciones y de scattering tenemos
_
e
i

T
(x) (x)

(x) d
M
x =
T


(4.43)
8

i
=
_
e
i
H
T
(x) (x) H(x) d
M
x
=
_
1
1
_
1
1
H
T
(:, :) (:, :) H(:, :)

det
_
x
r
_

d: d:
=
_
1
1
_
1
1
_
_

_
/
1
0
0 /
1
/
2
0
0 /
2
/
3
0
0 /
3
_

_

r1

s21

s12

r2
_

_
/
1
0 /
2
0 /
3
0
0 /
1
0 /
2
0 /
3
_

det
_

_
3

j=1
/
j
:
r
j
3

j=1
/
j
:
r
j
3

j=1
/
j
:
j
j
3

j=1
/
j
:
j
j
_

_
d: d:
4.4.3. Fugas
El trmino de fugas involucra el operador diferencial gradiente, y por lo tanto es ligeramente
ms complicado. El vector primado de ujos aproximados es

=
_

1
r

2
r

1
j

2
j
_

_
=
_

_
3

j=1
/
j
r

j
1
3

j=1
/
j
r

j
2
3

j=1
/
j
j

j
1
3

j=1
/
j
j

j
2
_

_
=
_

_
/
1
,r 0 /
2
,r 0 /
3
,r 0
0 /
1
,r 0 /
2
,r 0 /
3
,r
/
1
,j 0 /
2
,j 0 /
3
,j 0
0 /
1
,j 0 /
2
,j 0 /
3
,j
_

1
1

1
2

2
1

2
2

3
1

3
2
_

_
= 1
x
(r, j)

Anlogamente,

= 1
x
(r, j)
Como discutimos en el ejemplo 8, la matriz 1
x
involucra la derivadas de las funciones de
forma con respecto a las coordenadas globalesque son las coordenadas del operador dife-
rencial del problema que estamos resolviendo. Estas derivadas son ms difciles de calcular
8
que las derivadas con respecto a las coordenadas locales, que podemos evaluar directamente a
partir de las expresiones algebraicas sencillas derivadas en la seccin 4.2.2, es decir las ecuacio-
nes (4.21), (4.27) o (4.32) segn corresponda al tipo de elemento. En el ejemplo 8, encontramos
que la matriz 1
x
contiene las derivadas con respecto a las coordenadas globales y estaba rela-
cionada con la matriz 1
r
de las derivadas locales a travs de la matriz jacobiana inversa
_
r
x

.
Si bien an podemos encontrar una relacin de este tipo para 1
x
y 1
r
, como G = 2 la matriz
involucrada ya no es el inverso del jacobiano. En efecto,
_

_
/
1
r
0
/
2
r
0
/
3
r
0
0
/
1
r
0
/
2
r
0
/
3
r
/
1
j
0
/
2
j
0
/
3
j
0
0
/
1
j
0
/
2
j
0
/
3
j
_

_
=
_

_
:
r
0
:
r
0
0
:
r
0
:
r
:
j
0
:
j
0
0
:
j
0
:
j
_

_
_

_
/
1
:
0
/
2
:
0
/
3
:
0
0
/
1
:
0
/
2
:
0
/
3
:
/
1
:
0
/
2
:
0
/
3
:
0
0
/
1
:
0
/
2
:
0
/
3
:
_

_
Es decir,
1
x
(:, :) =
_

r
x
_
T
1
r
(:, :)
donde la matriz que relaciona la matriz de derivadas locales 1
r
con la de derivadas globales es
la transpuesta de
_

r
x
_
=
_

_
:
r
0
:
j
0
0
:
r
0
:
j
:
r
0
:
j
0
0
:
r
0
:
j
_

_
que a su vez es una extensin de la matriz jacobiana bsica de la transformacin entre coorde-
nadas globales y locales rellenada con ceros
_
x
r
_
=
_

_
r
:
r
:
j
:
j
:
_

_
cuyos elementos calculamos directamente desde las expresiones (4.21), (4.27) o (4.32), mientras
que para calcular los elementos de la matriz
_
r
x
_
primero invertimos la la matriz
_
r
x

8
_
r
x
_
=
_

_
:
r
:
j
:
r
:
j
_

_
con algn mtodo sencillocomo por ejemplo la ecuacin (4.30)y luego extraemos uno a uno
sus elementos y los ubicamos en la estructura de
_
r
x
_
o directamente calculamos los elementos
uno a uno utilizando las ecuaciones (4.31).
En cualquier caso, el trmino de fugas correspondiente al elemento c
i
de la formulacin
dbil aproximada (4.40) queda
_
e
i

T
(x) 1

(x)

(x) d
M
x =
_
e
i
_
1
x
(x)

T
1

(x)
_
1
x
(x)

(x)

d
M
x
=
_
e
i
_

T
1
x
(x)
T
1

(x) 1
x
(x)

_
d
M
x
=
__
e
i
1
x
(x)
T
1

(x) 1
x
(x) d
M
x
_

=

1

(4.44)
con la matriz elemental de fugas que hace las veces de matriz elemental de rigidez

1
i
=
_
e
i
1
T
x
(x) 1

(x) 1
x
(x) d
M
x
=
_
1
1
_
1
1
1
T
x
(:, :) 1

(:, :) 1
x
(:, :)

det
_
x
r
_

d: d:
=
_
1
1
_
1
1
_
_

_
/

1x
0 /

1y
0
0 /

1x
0 /

1y
/

2x
0 /

2y
0
0 /

2x
0 /

2y
/

3x
0 /

3y
0
0 /

3x
0 /

3y
_

_
1
1
0 0 0
0 1
2
0 0
0 0 1
1
0
0 0 0 1
2
_

_
/

1x
0 /

2x
0 /

3x
0
0 /

1x
0 /

2x
0 /

3x
/

1y
0 /

2y
0 /

3y
0
0 /

1y
0 /

2y
0 /

3y
_

det
_

_
3

j=1
/
j
:
r
j
3

j=1
/
j
:
r
j
3

j=1
/
j
:
j
j
3

j=1
/
j
:
j
j
_

_
d: d:
4.4.4. Condiciones de contorno
Finalmente, prestemos atencin al segundo trmino de la ecuacin (4.41) que corresponde al
trmino de supercie del teorema de Green, que es el mas tricky de todos y el responsable del
prolegmeno introducido en las secciones 4.1 y 4.2. En cualquier caso, este trmino es la suma
de una cierta cantidad de trminos elementales
86
_
U
i

T
(x) 1(x) N(x) do =
_
U
i
[H(x) ]
T
1(x) N(x) do
=
T
__
U
i
H
T
(x) 1(x) N(x) do
_
(4.45)
correspondientes a los elementos c
i
que tienen al menos uno de sus bordes en la frontera l
del dominio. Para el caso que estamos utilizando como ejemplo particular de J = 3 ` = 2
y G = 2, el integrando es
H
T
(x) 1(x) N(x) = H
T
(x)
_
1
1
(x) 0
0 1
2
(x)
_

1
,n

2
,n
_
=
_

_
/
1
(x) 0
0 /
1
(x)
/
2
(x) 0
0 /
2
(x)
/
3
(x) 0
0 /
3
(x)
_

_
_
1
1
(x)
1
,n
1
2
(x)
2
,n
_
=
_

_
/
1
(x) 1
1
(x)
1
,n
/
1
(x) 1
2
(x)
2
,n
/
2
(x) 1
1
(x)
1
,n
/
2
(x) 1
2
(x)
2
,n
/
3
(x) 1
1
(x)
1
,n
/
3
(x) 1
2
(x)
2
,n
_

_
Para jar ideas una vez mas, consideremos el caso ilustrado en la gura 4.12 en el que debe-
mos calcular la contribucin de la frontera l
i
a las matrices elementales del elemento i. Segn
discutimos en la seccin 2.2.2, tenemos tres casos: condiciones de Dirichlet, de Nuemann y de
Robin. Por otro lado, debemos recordar los resultados obtenidos en el ejemplo 3 y discutidos
en la pgina 41 concerniente a la aparicin del smbolo ,n en el trmino de supercie de la
integral de Green:
[. . . ] cuando aparezca d

,dr evaluada en una supercie con condiciones de con-


torno esenciales, podemos ignorar su valor ya que no formar parte de la formu-
lacin. Y cuando aparezca d

,dr en una supercie con condiciones de contorno


naturales, debemos reemplazarla por el valor numrico requerido en la condicin
de Neumann, y no por 1(r)

como s debemos hacer cuando la derivada aparece


en algn integrando de la formulacin dbil.
4.4.4.1. Condiciones de Dirichlet
Sobre la supercie l
i
de la gura 4.12, la funcin /
3
(x) es idnticamente igual a cero, por lo
que por un lado los ltimos dos elementos del integrando se anulan
8
3
1
2
Figura 4.12 Elemento e
i
hipottico con uno de sus bordes sobre la frontera del dominio U del problema.
H
T
(x) 1(x) N(x) =
_

_
/
1
(x) 1
1
(x)
1
,n
/
1
(x) 1
2
(x)
2
,n
/
2
(x) 1
1
(x)
1
,n
/
2
(x) 1
2
(x)
2
,n
0 1
1
(x)
1
,n
0 1
2
(x)
2
,n
_

_
Por otro lado, no podemos evaluar los primeros cuatro elementos con la informacin dis-
ponible. Sin embargo, dado que luego del proceso de ensamble estos cuatro elementos van
a contribuir como trmino independienteya que la ecuacin (4.45) no contiene al vector

como s aparece en las ecuaciones (4.42), (4.43) y (4.44)a las ecuaciones correspondientes a
los nodos globales /
1
y /
2
, ecuaciones que sern luego del ensamble y antes de la solucin
del problema, reemplazadas de forma tal de jar los valores nodales de las incgnitas en /
1
y /
2
. En efecto, el primer elemento aparecer en la ecuacin correspondiente a

k
1
1
, el segundo
en la ecuacin de

k
2
2
, el siguiente en

k
2
1
y el ltimo en

k
3
2
. Y estas cuatro ecuaciones sern
reemplazadas por la condicin de ujo nulo en la frontera

1
(x
k
1
) =

k
1
1
= 0

2
(x
k
1
) =

k
1
2
= 0

1
(x
k
2
) =

k
2
1
= 0

2
(x
k
2
) =

k
2
2
= 0
Que el valor nodal de los ujos sea cero proviene de la homogeneidad de la ecuacin de
difusin sin fuente. Pero la idea de que las ecuaciones que no se anulan en el integrando del
trmino de supercie de Green son irrelevantes se mantiene para condiciones no homogneas.
De la misma manera, el resultado es cierto para una, dos o tres dimensiones ` y para cualquier
tipo de elemento c
i
.
Como corolario de esta discusin, tal como aprendimos en el ejemplo 3, si l
i
tiene con-
diciones de contorno de Dirichlet, podemos directamente ignorar el trmino de supercie del
88
teorema de Green ya que, o bien sus elementos son cero porque las funciones de forma se anu-
lan en l o su contribucin a las ecuaciones globales es sobre-escrita luego del proceso de
ensamble.
Notar que el hecho de que podamos ignorar la contribucin del trmino de supercie del
teorema de Green cuando tenemos condiciones de Dirichlet no implica que los ujos virtua-
les deban tener las mismas condiciones de contorno homogneas que los ujos incgnita. La
formulacin dbil dada en la ecuacin (4.34) debe cumplirse para cualesquiera funciones conti-
nuas
g
(x), sin poner restricciones sobre los valores que deben tomar estas funciones arbitrarias
en el borde del dominio. La posibilidad de ignorar esta contribucin proviene de la forma de
introducir condiciones de contorno esenciales en el mtodo de elementos nitos y, en forma
ms general, en el mtodo de residuos ponderados.
Por supuesto, debemos reemplazar las las de las matrices 1 y 1 del problema de forma
tal de jar en cero los valores nodales de aquellos nodos que estn ubicados en un borde con
condicin de Dirichlet. Para ello, recordando el captulo 2 (ver tambin seccin 4.6) donde in-
troducimos la formulacin del problema autovalores generalizado de la forma
1

=
1
/
eff
1

(2.11)
entonces es posible colocar la condicin de contorno mediante el reemplazo de las las que
corresponden a los nodos que estn en la supercie con condicin de Dirichlet por valores
nulos, excepto por el elemento ubicado en la diagonal de cualquiera de las dos matrices. Su-
pongamos por ejemplo anulamos cero todas las las correspondientes al grupo p y al nodo
global /
1
cuyo ndice es /(/
1
, p)tanto en 1 como en 1, excepto en la diagonal de 1 donde
sobre-escribimos el valor anterior por
1
(k
1
,g),(k
1
,g)
= 1
Entonces la la / de la formulacin matricial leer
1
k
1
g
=
1
/
eff
0
cuya nica solucin ser
k
1
g
, independientemente del resto de las ecuaciones. Incluso no es
necesario que hayamos puesto exactamente uno en la diagonal de 1, cualquier valor diferente
de cero ser suciente para jar la condicin de ujo nulo en x
k
1
.
Notar que si las matrices son simtricas antes de la aplicacin de las condiciones de con-
torno, el procedimiento propuesto rompe esta simetra y el problema numrico asociado re-
quiere un esfuerzo computacional mayor que en el caso original. Sin embargo, en la mayora
de los casos prcticos, las matrices 1 y 1 no son simtricas an antes de la aplicacin de las
condiciones de Dirichlet, por lo que no ahondamos en este trabajo sobre cmo recuperar la
simetra del problema para poder utilizar el bagaje de algoritmos apropiados para problemas
generalizados de autovalores con matrices hermticas.
4.4.4.2. Condiciones de Neumann
Como discutimos en la seccin 2.2.2, debido a que la ecuacin de difusin sin fuente es ho-
mognea, si el problema tiene condiciones de contorno de Neumann entonces stas deben ser
nulas. Luego, todos los elementos del integrando se anulan
8
H
T
(x) 1(x) N(x) =
_

_
/
1
(x) 1
1
(x) 0
/
1
(x) 1
2
(x) 0
/
2
(x) 1
1
(x) 0
/
2
(x) 1
2
(x) 0
/
3
(x) 1
1
(x) 0
/
3
(x) 1
2
(x) 0
_

_
= 0
ya que las derivadas normales son cero por condicin de contorno. Luego, si l
i
tiene condicio-
nes de Neumann, tambin podemos directamente ignorar el trmino de supercie del teorema
de Green. En este caso, como se trata de una condicin de contorno natural, no es necesario
jar ningn valor nodal de las funciones incgnita.
4.4.4.3. Condiciones de Robin
Si la frontera l
i
del elemento i-simo est sujeta a una condicin de contorno de Robin enton-
ces, segn la seccin 2.2.2

g
n
=
o
1
g
(x)

g
(x) (4.46)
para x l
i
. Dado que es usualmente el caso, suponemos que el coeciente o no depende ni
del grupo de energa p ni de la posicin x. Entonces,
N(x) =
_
o,1
1

1
(x)
o,1
2

2
(x)
_
=
_
o,1
1
0
0 o,1
2
_
(x)
y
1(x) N(x) =
_
1
1
0
0 1
2
_ _
o,1
1
0
0 o,1
2
_
(x)
= o (x)
o H(x)

De esta manera, el trmino de supercie de la ecuacin (4.45) queda



T
__
U
i
H
T
(x) 1(x) N(x) do
_
=
T
__
U
i
H
T
(x) o H(x)

do
_
=
T

_
o
_
U
i
H
T
(x) H(x) do
_

Para el caso de la gura 4.12, la integral resulta


o
_
U
i
H
T
(x) H(x) do =
_
U
i
_

_
/
1
0
0 /
1
/
2
0
0 /
2
/
3
0
0 /
3
_

_
/
1
0 /
2
0 /
3
0
0 /
1
0 /
2
0 /
3
_
do
=
_
U
i
_

_
/
1
/
1
0 /
1
/
2
0 /
1
/
3
0
0 /
1
/
1
0 /
1
/
2
0 /
1
/
3
/
2
/
1
0 /
2
/
2
0 /
2
/
3
0
0 /
2
/
1
0 /
2
/
2
0 /
2
/
3
/
3
/
1
0 /
3
/
2
0 /
3
/
3
0
0 /
3
/
1
0 /
3
/
2
0 /
3
/
3
_

_
do
Como /
3
(x) = 0, entonces podemos ignorar las ltimas dos las y las ltimas dos columnas
del integrando, como as tambin los ltimos dos elementos de los vectores
i
y

i
para prestar
atencin slo a los elementos que luego sern ensamblados a las matrices globales, es decir a
los nodos /
1
y /
2
que corresponden a , = 1 y a , = 2 respectivamente. Entonces la integral
sobre l
i
se reduce a
__
U
i
H
T
(x) H(x) do
_

i
=
_

_
_
/
1
/
1
do 0
_
/
1
/
2
do 0
0
_
/
1
/
1
do 0
_
/
1
/
2
do
_
/
2
/
1
do 0
_
/
2
/
2
do 0
0
_
/
2
/
1
do 0
_
/
2
/
2
do
_

1
1

1
2

2
1

2
2
_

_
En dos dimensiones, sobre el segmento l
i
que hace las veces de hipersuperciees po-
sible re-parametrizar las funciones de forma /
1
(x) y /
2
(x) en funcin de un nico parme-
tro : [1, 1], digamos
/
1
(x) =
1 :
2
/
2
(x) =
1 + :
2
con lo que, si o
i
es la longitud (rea) del segmento (supercie) l
i
_
U
i
/
1
(x) /
1
(x) do =
_
1
1
_
1 :
2
_
2
o
i
2
d: =
o
i
3
_
U
i
/
2
(x) /
2
(x) do =
_
1
1
_
1 + :
2
_
2
o
i
2
d: =
o
i
3
_
U
i
/
1
(x) /
2
(x) do =
_
1
1
_
1 :
2
__
1 + :
2
_
o
i
2
d: =
o
i
6
Finamente el trmino de supercie de la ecuacin (4.45) queda
1
_
U
i

T
(x) 1(x) N(x) do =
_
_
_
_
_
_
_
_
o o
i
_

_
1,3 0 1,6 0 0 0
0 1,3 0 1,6 0 0
1,6 0 1,3 0 0 0
0 1,6 0 1,3 0 0
0 0 0 0 0 0
0 0 0 0 0 0
_

_
_
_
_
_
_
_
_
_

La generalizacin para cualquier elemento bidimensional que tenga dos nodos globales /
1
y /
2
sobre una frontera con condicin de contorno de Robin caracterizada por un coeciente o
indica que su contribucin a la matriz global 1 de remociones es con un coeciente oo
i
,3 en la
diagonal de las las correspondientes a los nodos /
1
y /
2
para cada uno de los grupos p, y con
un coeciente oo
i
,3 en la la de /
1
(/
2
) en la columna de /
2
(/
1
), para cada p.
Para ` = 1, el trmino de supercie se reduce a evaluar

T
H
T
(r) o H(r)

sin realizar ninguna integracin, ya que este trmino proviene de integrar por partes la expre-
sin de las fugas en una dimensin (ver apndice B). Para G = 2,
H
T
(r) o H(r) =
_

_
/
1
0
0 /
1
/
2
0
0 /
2
_

_
o
_
/
1
0 /
2
0
0 /
1
0 /
2
_
= o
_

_
/
1
/
1
0 /
1
/
2
0
0 /
1
/
1
0 /
1
/
2
/
2
/
1
0 /
2
/
2
0
0 /
2
/
1
0 /
2
/
2
_

_
Si la condicin de contorno se aplica en el nodo 1, entonces /
1
(r) = 1 y /
2
(r) = 0
H
T
(r) o H(r) = o
_

_
1 0 0 0
0 1 0 0
0 0 0 0
0 0 0 0
_

_
Luego los nicos elementos que no se anulan son los que corresponden a la diagonal de las
las que corresponden a los valores nodales de la funcin incgnita en el o los nodos que tienen
condicin de contorno de Robin para cada uno de los grupos de energa. La contribucin a la
matriz global 1 de cada una de las condiciones de Robin es entonces un trmino o sumando en
la diagonal de las G las que corresponden al nodo que tiene la condicin.
4.5. Equivalencia con el mtodo de Galerkin
Hemos comenzado este captulo con la introduccin del mtodo de residuos ponderados apli-
cado primero a una ecuacin escalar en una dimensin, luego a una ecuacin en varias dimen-
siones espaciales y nalmente a una ecuacin vectorial en varias dimensiones. Mencionamos
que el mtodo de elementos nitos se basa principalmente en el mtodo de Galerkin que con-
siste en usar como funciones de peso las mismas funciones de forma con la que aproximamos la
funcin incgnita. Sin embargo, al aplicar dicho mtodo para resolver la ecuacin de difusin
:
de neutrones multigrupoque consiste en una ecuacin vectorial si G 1 y en varias dimen-
siones si ` 1hemos partido de una formulacin dbil del problema diferencial original
diciendo primero que esa formulacin era ms simple desde el punto de vista del desarrollo
matemtico propuesto. Luego dijimos que esta formulacin era equivalente al mtodo de Ga-
lerkin que usamos para introducir las ideas de elementos nitos en ejemplos de complejidad
creciente. En esta seccin mostramos que efectivamente ambos enfoques son equivalentes.
En efecto, volvamos una vez ms a la ecuacin vectorial en varias dimensiones del principio
del captulo:
A[(x)] =
_

_
/
1
[(x)]
/
2
[(x)]
.
.
.
/
G
[(x)]
_

_
=
_

_
0
0
.
.
.
0
_

_
(4.1)
con las funciones incgnita
(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
El mtodo de los residuos ponderados implica escribir cada una de las G incgnitas aproxi-
madas

g
(x) en funcin de 1 parmetros ajustables

k
g
con p = 1, . . . , G y / = 1, . . . , 1, pesar
e integrar los G residuos escalares en el dominio usando 1 funciones de peso independien-
tes para obtener un sistema de 1G ecuaciones algebraicas de donde despejar los parmetros
ajustables

k
g
. Si en particular elegimos la dependencia funcional de las incgnitas aproxima-
das

(x) como una combinacin lineal de 1 funciones de forma /
k
(x) para / = 1, . . . , 1 siendo
los parmetros ajustables los coecientes de la combinacin lineal y, adems, usamos como fun-
ciones de peso las mismas funciones de forma /
k
(x) decimos que estamos usando el mtodo
de Galerkin,
3
es decir, las 1G ecuaciones del mtodo de Galerkin son
_
U
/
1
(x) /
1
_

(x)
_
d
M
x = 0
_
U
/
1
(x) /
2
_

(x)
_
d
M
x = 0
.
.
.
_
U
/
1
(x) /
G
_

(x)
_
d
M
x = 0
_
U
/
2
(x) /
1
_

(x)
_
d
M
x = 0
.
.
.
_
U
/
K
(x) /
G
_

(x)
_
d
M
x = 0 (4.47)
donde recordamos la ecuacin (4.10)
3
El mtodo de elementos nitos consiste en una receta para encontrar las funciones de forma a partir de la
divisin del dominio continuo original en I elementos denidos por K nodos y suponemos que para esta pgina
del trabajo ya hemos entendido cmo funciona.

(x) =
_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
=
_

K
k=1
/
k
(x)

k
1

K
k=1
/
k
(x)

k
2
.
.
.

K
k=1
/
k
(x)

k
G
_

_
(4.10)
Por otro lado, la formulacin de la seccin 4.3, implica que la igualdad
_
U
(x) A
_

(x)
_
d
M
x = 0 (4.48)
debe satisfacerse para cualesquiera valores nodales
k
g
de los ujos virtuales
(x) =
_

_

1
(x)

2
(x)
.
.
.

G
(x)
_

_
=
_

K
k=1
/
k
(x)
k
1

K
k=1
/
k
(x)
k
2
.
.
.

K
k=1
/
k
(x)
k
G
_

_
Ahora bien, la ecuacin (4.48) es una igualdad escalar ya que su integrando es el producto
interno de dos vectores de tamao G, que podemos escribir explcitamente como
_
U
_

1
(x) /
1
_

(x)
_
+
2
(x) /
2
_

(x)
_
+ +
G
(x) /
G
_

(x)
__
d
M
x = 0
Si a su vez expandimos cada uno de los ujos virtuales como combinacin lineal de los
valores nodales
k
g
tenemos
_
U
_
_

1
1
/
1
(x) +
2
1
/
2
(x) + +
K
1
/
K
(x)
_
/
1
_

(x)
_
+
_

1
2
/
1
(x) +
2
2
/
2
(x) + +
K
2
/
K
(x)
_
/
2
_

(x)
_
+
.
.
.
+
_

1
G
/
1
(x) +
2
2
/
2
(x) + +
K
G
/
K
(x)
_
/
G
_

(x)
_ _
d
M
x = 0
Distribuyendo los productos y las integrales, escribimos

1
1

_
U
/
1
(x) /
1
_

(x)
_
d
M
x +

2
1

_
U
/
2
(x) /
1
_

(x)
_
d
M
x +
.
.
.

K
1

_
U
/
K
(x) /
1
_

(x)
_
d
M
x +

1
2

_
U
/
1
(x) /
2
_

(x)
_
d
M
x +
.
.
.

K
G

_
U
/
K
(x) /
G
_

(x)
_
d
M
x = 0

Como esta igualdad escalar debe satisfacerse para cualesquiera valores


k
g
entonces ne-
cesariamente deben ser cero cada una de las integrales, obteniendo nuevamente las ecuacio-
nes (4.47) que asignamos directamente al mtodo de Galerkin. Luego ambas formulaciones son
matemticamente equivalentes, que es lo que queramos demostrar.
4.6. Formulacin matricial
El desarrollo de las ecuaciones que resultan discretizar la ecuacin de difusin de neutrones
con el esquema basado en elementos nitos propuesto en este captulo es sensiblemente ms
complicado que el equivalente basado en volmenes nitos introducido en el captulo 3. Es
por eso que mostramos en esta seccin directamente un posible algoritmo para construir las
matrices 1 y 1 que formulan el problema de autovalores discretizado a partir del cual obtener
el factor de multiplicacin /
eff
y los valores nodales de la distribucin de ujo

k
g
sin poder
escribir un resumen de todas las ecuaciones desarrolladas en el captulo.
Dado un problema de ` = 1 o ` = 2 dimensiones con G grados de libertad (i.e. grupos
de energa), sea 1 la cantidad de elementos en los que fue discretizado el dominio y sea 1 la
cantidad de nodos. Para cada elemento i = 1, . . . , 1 sea J
i
la cantidad de nodos del elemento,
que puede cambiar con i si el problema mezcla digamos elementos triangulares con cuadran-
gulares. Sea
i
= J
i
G el tamao caracterstico de las matrices elementales. Para cada elemento,
denimos los siguientes objetos elementales:
r vector de tamao `
x vector de tamao `
h vector de tamao J
_
r
x
_
matriz de ` `
_
x
r
_
matriz de ` `
_
h
r
_
matriz de J `
_
h
x
_
matriz de J `
H(x) matriz de G
1(x) matriz de `G
1

(x) matriz de `G`G


(x) matriz de GG
A(x) matriz de GG

1
i
matriz de

i
matriz de

A
i
matriz de
En la gura 4.13 mostramos un posible algoritmo para construir las matrices elementa-
les 1
i
,
i
y A
i
, que luego podemos ensamblar con un algoritmo similar al de la gura 4.14
que puede ser incorporado en el mismo lazo del algoritmo de la gura 4.13para obtener las

matrices globales 1 y 1. A diferencia del algoritmo de volmenes nitos de la gura 3.7, esta
vez explcitamente incluimos la integracin numrica utilizando la cuadratura de Gauss multi-
dimensional de puntos jos discutida en el apndice C ya que si bien podramos utilizar algn
mtodo adaptivo o utilizar alguna biblioteca cientca, la integracin sobre las coordenadas
locales r R
M
est intrnsecamente ligada al mtodo de elementos nitos. Probablemente en
futuras versiones implementamos algn esquema de integracin adpativo de forma tal de op-
timizar la cantidad de evaluaciones de las funciones de forma y sus jacobianos. Por defecto el
cdigo milonga toma dos puntos de Gauss en cada dimensin :, y aunque el usuario puede
elegir otro valor en el archivo de entrada, es esta cantidad de puntos la que utilizamos para
resolver los problemas del captulo 5.
Los algoritmos mostrados reejan en forma aproximada lo que hace el cdigo milonga para
resolver la ecuacin de difusin de neutrones multigrupo con el esquema de elementos nitos
desarrollado en este captulo, aunque no muestra todos los detalles.
4
En el algoritmo de la gu-
ra 4.13, asumimos que tantos las funciones de forma /
i
j
(r) como sus derivadas con respecto a las
coordeandas locales /
i
j
,:
m
estn disponibles para ser evaluadas para cualquier coordenada
local 1 < :
m
< 1. Con ( r
m
)
i
j
denotamos a la coordenada correspondiente a la dimensin :
(i.e. r
1
= r, r
2
= j y eventualmente r
3
= . en un futuro) del nodo local , del elemento i. Si
bien la forma de ensamblar las matrices elementales para obtener las matrices globales 1 y 1
mostrado en la gura 4.14 puede ser utilizado, por razones de eciencia utilizamos otro de ms
bajo nively que se apoya en ciertas funciones provistas por la bibliteca PETSc [8] justamente
para realizar ensambles en forma ecienteque no mostramos para no complicar an ms el
captulo.
Una vez construidas y ensambladas las matrices elementales segn las guras 4.13 y 4.14
debemos colocar las condiciones de contorno. Como discutimos en la seccin 2.2.2, stas deben
ser homogneas. Llamemos l
D
a la frontera del dominio l que tiene condiciones de Diri-
chlet
g
(x) = 0, l
N
a la que tiene condiciones tipo Neumann
g
,n = 0 y l
R
a la que tiene
condiciones tipo Robin
g
,n = o
g
(x)
g
(x). En la gura 4.15 mostramos un algoritmo para
poner las condiciones de contorno de ujo nulo. Como discutimos en la seccin 4.4.4.1 (y en los
ejemplos de la seccin 4.2), para jar que el ujo en un cierto nodo sea cero anulamos las las
correspondiente a dicho nodo en las matrices 1 y 1, excepto en la diagonal de 1 donde pone-
mos cualquier valor diferente de cero. En el algoritmo de la gura 4.15 (y en el cdigo milonga)
elegimos arbitariamente el valor uno. Sin embargo, deberamos estudiar el radio espectral de
las matrices 1 y 1 antes de sobre-escribir sus las para elegir el valor de la diagonal de forma
tal de no modicar sensiblemente el esfuerzo computacional necesario para resolver el proble-
ma de autovalores, tarea que dejamos para futuras versiones. Nuevamente, el algoritmo que
utiliza milonga para sobre-escribir las las de 1 y de 1 excepto en la diagonal de 1 no es el de
la gura 4.15 sino uno de ms bajo nivel provisto por la biblioteca PETSc [8].
Como el nico tipo de condicin de contorno de tipo Neumann posible es de derivada
4
Tampoco es su objetivo hacerlo. Es interesante remarcar la siguiente cita que hace Donald Knuth en su adenda
del ao 2002 a un paper suyo publicado en 1959 y recopilado en la referencia [31], donde comenta que Christopher
Strachey dijo en 1967 [32] lo siguiente:
It is important to realise that diagrams are no suitable for conveying complicated information. They
are only suitable for conveying very simple information and we use block diagrams, ow diagrams
and so on in order to simplify what we are doing. We do not try to put an entire problem on to one
diagram. You cannot see it all at the one time. I think there is a very important way in which we think
about complicated things and that is the hierarchical way. If we have got a shoe system, we like to
think of the overall system to start with and the break that down into smaller sections and consider
those one at a time. [. . . ] It is a great mistake to think that you have got to have access to everything
from everything. If you do this you immediately get into a very complicated state and you cannot
structure the problem in the way which is necessary to help human thought.
6
inicializar 1 0, 1 0
para cada elemento i = 1, . . . , 1
inicializar

1
i
0,

i
0,

A
i
0
para cada punto de Gauss r

M

m=1

m
para cada grupo p = 1, . . . , G
para cada nodo , = 1, . . . , J
i
[H]
g,g+G(j1)
/
i
j
(r)
para cada dimensin : = 1, . . . , `
para cada dimensin :

= 1, . . . , `
_
x
r
_
m,m

J
i

j=1
/
i
j
:
m

( r
m
)
i
j
;
n

det
_
x
r
_

_
r
x
_

_
x
r
_
1
para cada nodo , = 1, . . . , J
i
para cada dimensin : = 1, . . . , `
_
h
x
_
j,m

=1
/
i
j
:
m

_
r
x
_
m

,m
para cada dimensin : = 1, . . . , `
para cada grupo p = 1, . . . , G
para cada nodo , = 1, . . . , J
i
[1]
g+G(m1),g+G(j1)

_
h
x
_
j,m
para cada dimensin : = 1, . . . , `
[x]
m

J
i

j=1
/
i
j
(r) [r]
m
para cada grupo p = 1, . . . , G
para cada grupo p

= 1, . . . , G
[]
g,g

s,gg
(x)
[A]
g,g

g

fg
(x)
[]
g,g

g,g
+
t
(x, p)
para cada dimensin : = 1, . . . , `
1

g+G(m1),g+G(m1)
1
g
(x)

1
i


1
i
+ n (1
T
1

1)

i
+ n (H
T
H)

A
i


A
i
+ n (H
T
A H)
Figura 4.13 Construccin de las matrices elementales

para cada elemento i = 1, . . . , 1


para cada nodo , = 1, . . . , J
i
para cada grupo p = 1, . . . , G
n = p + G(, 1)
para cada nodo ,

= 1, . . . , J
i
para cada grupo p

= 1, . . . , G
n

= p

+ G(,

1)
1
(n,i),(n

,i)
1
(n,i),(n

,i)
+

1
i
n,n

i
n,n

1
(n,i),(n

,i)
1
(n,i),(n

,i)
+

A
i
n,n

Figura 4.14 Ensamble de las matrices R y F sin condiciones de contorno


para cada nodo /
1
,x
k1
l
D
para cada grupo p = 1, . . . , G
para j = 1, . . . , 1G
1
(k
1
,g),p
0
1
(k
1
,g),p
0
1
(k
1
,g),(k
1
,g)
1
Figura 4.15 Colocacin de condiciones de contorno tipo Dirichlet
para cada nodo /
1
,x
k1
l
R
para cada grupo p = 1, . . . , G
1
(k
1
,g),(k
1
,g)
1
(k
1
,g),(k
1
,g)
+ o
g
(x)[
x=U
R
Figura 4.16 Colocacin de condiciones de contorno tipo Robin para M = 1
para cada par de nodos /
1
/
2
,x
k1
x
k2
l
R
para cada grupo p = 1, . . . , G
o |x
k1
x
k2
|
1
(k
1
,g),(k
1
,g)
1
(k
1
,g),(k
1
,g)
+
o
3
o
g
(x)

x=U
R
1
(k
2
,g),(k
2
,g)
1
(k
2
,g),(k
2
,g)
+
o
3
o
g
(x)

x=U
R
1
(k
1
,g),(k
2
,g)
1
(k
1
,g),(k
2
,g)
+
o
6
o
g
(x)

x=U
R
1
(k
2
,g),(k
1
,g)
1
(k
2
,g),(k
1
,g)
+
o
6
o
g
(x)

x=U
R
Figura 4.17 Colocacin de condiciones de contorno tipo Robin para M = 2
8
normal nula, como mostramos en la seccin (4.4.4.2), la contribucin del trmino de supercie
en l
N
es idnticamente nulo. Por lo tanto, no es necesario tomar ninguna accin para incorpo-
rar las condiciones de contorno de simetra en el problema. Finalmente, las guras 4.16 y 4.17
muestran cmo colocamos las condiciones de contorno de tipo Robin (seccin 4.4.4.3) sobre la
frontera l
R
caracterizadas por un coeciente o
g
(x), para una y para dos dimensiones respec-
tivamente. Como ya dijimos, el manejo de problemas tridimensionales est en el TODO-list y
ser implementado en futuras versiones.

CAPTULO V
Resultados
But for me, the pursuit of money has always played second ddle
to the pursuit of beauty. Thank goodness for mathematics and
computer science, whose methods offer many ways by which our
left brains and our right brains can both be happy, simultaneously.
Donald. E. Knuth, Selected Papers on Fun & Games, 2011
Este es el captulo en el cual realizamos la prometida comparacin entre las soluciones numri-
cas de la ecuacin de difusin de neutrones multigrupo utilizando, por un lado, el mtodo de
volmenes nitos y por el otro, el mtodo de elementos nitos. Para ello, resolvemos el mismo
problema y obtenemos los mismos tipos de resultadoses decir, factor de multiplicacin efec-
tivo, distribucin espacial de ujo neutrnico, factores de pico, potencias en ensambles, etc.
utilizando los esquemas desarrollados en los captulos 3 y 4, respectivamente.
Comenzamos resolviendo problemas triviales unidimensionales que tienen solucin ana-
ltica para introducir la metodologa de anlisis en casos sencillos y, adems, para comparar
las soluciones numricas aproximadas de las ecuaciones diferenciales involucradas con las so-
luciones tericas exactas. Luego introducimos en forma creciente complejidades en los casos
a resolver, hasta llegar a benchmarks estndar y problemas que pueden llegar a tener algn
nivel de inters, pero siempre teniendo en cuenta que esta monografa trata solamente sobre
matemtica. Las aplicaciones ingenieriles necesitan de un paso extra de juicio de experto que
est fuera del alcance de este trabajo.
Bsicamente, la solucin de la ecuacin de difusin multigrupo est a cargo del cdigo
milonga [7], desarrollado desde cero por el autor de esta monografa en el marco de su tesis
doctoral, el cual a partir de su versin 0.2 ha incorporado los mtodos y esquemas discutidos
en los captulos anteriores. Sin embargo, actualmente el cdigo es capaz de resolver solamente
problemas en una y en dos dimensiones espaciales. El soporte para problemas tridimensio-
nales y otras caractersticas deseadascomo paralelizacin e implementacin en GPUsest
planeado para futuras versiones. Este programa se distribuye en forma libre bajo la licencia
General Pblica GNU, por lo que comentarios, sugerencias, reportes de errores y, mejor an,
correcciones son siempre bienvenidas.
Para denir la geometra y generar las mallas no estructuradas, el cdigo milonga lee los
archivos generados por el programa gmsh [26], tambin disponible bajo licencia GNU GPL.
Las salidas de milonga, bien pueden ser archivos de texto ASCIIcompletamente denidos
por el usuario en el archivo de entrada de milonga, segn una de las decisiones fundamentales
de base de diseo del cdigo [6]que pueden ser interpretados y gracados con herramientas
estndar libres como gnuplot
1
o pyxplot, o archivos en formato de post-procesamiento para
gmsh.
Tanto el planteo como la solucin de todos los problemas presentados a lo largo de este
captulo son generados a partir de scripts que llaman a los cdigos involucradosmallador,
solver y post-procesadorde forma tal que todos los resultados expuestos pueden ser recal-
culados y reproducidos por el lector. Para ello hemos preparado un paquete que contiene los
inputs de gmsh y de milonga, junto con los scripts que ejecutan los cdigos en el orden co-
rrecto y utilizando los argumentos apropiados para obtener los resultados que a continuacin
discutimos. Este paquete ser provisto por el autor accediendo a gentiles pedidos por correo
electrnico. Es por eso que cada uno de los casos resueltos sigue la misma estructura: primero
damos una breve introduccin y explicacin sobre el problema y cmo se resuelve con milonga.
Luego mostramos el input de milonga, seguido de una mmica de una terminal que muestra
los comandos utilizados para llamar a los cdigos apropiados junto con las salidas intermedias
de los programas involucrados, para nalmente mostrar una serie de guras con resultados
grcos e introducir las conclusiones.
La forma de utilizar tanto gmsh como milonga, y las caractersticas propias de cada progra-
ma son ilustradas mediante el uso de comentarios en los archivos de entrada. Cuando utiliza-
mos por primera vez alguna palabra clave o construccin especca, explicamos en el input por
qu y cmo solicitamos a los cdigos cierta funcionalidad. Una vez introducida una caracters-
tica, la utilizamos ulteriormente sin dar mayor detalles. Se reere al lector a la documentacin
propia de cada cdigo para ms detalles.
Los grcos elegidos como resultados para discutir se reeren a la comparacin entre las
soluciones obtenidas con el mtodo de volmenes nitos y el mtodo de elementos nitos. En
general, los colores de la gama del azul y los bullets con forma de polgonos cerrados indican
volmenes nitos mientras que colores basados en verde y bullets conformados por trazos
abiertos denotan elementos nitos.
Para dejar sentado la versin y revisin del cdigo milonga usado, comenzamos la reso-
lucin de los problemas de esta monografa con una invocacin de milonga indicando que
reporte su versin, bibliotecas asociadas y copyright (modicador -v).
Figura 5.1 http://www.talador.com.ar/jeremy/wasora/milonga
1
A pesar de su nombre, este programa no es parte del proyecto GNU y ms an, segn algunos puristas del
free software, gnuplot no es libre ya que no permite redistribucin de modicaciones sin el previo consentimiento
del autor original. Debian ha decidido clasicarlo como libre, as que conamos en que podemos utilizarlo para
preparar algunas guras sin ir en contra de los principios en los que nos basamos al escribir milonga.
1o1
$ milonga -v
milonga 0.2.1 trunk (2013-12-14 23:41:28 -0300 clean)
free nuclear reactor core analysis code
branch jeremy@tom-20131215024128-6m8y72lm73ok3f0c
last commit on 2013-12-14 23:41:28 -0300 (rev 1 clean)
last build on 2013-12-14 23:59:11 -0300
compiled on 2013-12-14 23:59:21 by jeremy@tom (x86_64)
with gcc (Debian 4.8.2-1) 4.8.2 using -O2 linked against
SLEPc Release Version 3.4.3, oct 14, 2013
Petsc Release Version 3.4.3, Oct, 15, 2013 linux-c-opt
running on Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64
8 Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
milonga is copyright (c) 2010-2013 jeremy theler
licensed under GNU GPL version 3 or later.
milonga is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
----------- ---------- -------- -------
wasora 0.2.27 trunk (2013-12-14 23:18:35 -0300 clean)
wasoras an advanced suite for optimization & reactor analysis
branch jeremy@tom-20131215021835-e3becvxgbq23p0e0
last commit on 2013-12-14 23:18:35 -0300 (rev 27 clean)
last build on 2013-12-14 23:58:40 -0300
compiled on 2013-12-14 23:58:46 by jeremy@tom (x86_64)
with gcc (Debian 4.8.2-1) 4.8.2 using -O2 and linked against
GNU Scientific Library version 1.16
GNU Readline version 6.2
SUNDIALs Library version 2.5.0
wasora is copyright (C) 2009-2013 jeremy theler
licensed under GNU GPL version 3 or later.
wasora is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
1o:
5.1. Slabs unidimensionales
Los problemas de difusin de neutrones en una dimensin tienen un inters ms que nada
pedaggico-acadmico, principalmente debido a que resultan stos los casos ms sencillos que
presentan algunos de los fenmenos que se observan en geometras y condiciones ms com-
plejas. Adems, algunos problemas triviales pueden ser resueltos en forma analtica, por lo que
podemos entonces entender y analizar las particularidades inherentes a las soluciones num-
ricas. Ms an, en algunos casos es posible incluso arribar a expresiones analticas que invo-
lucran a las soluciones numricas, como es el caso de la notable ecuacin (5.7) deducida en la
seccin 5.1.1.5. En particular, la comparacin entre volmenes y elementos nitos es ms ilus-
trativa si adems podemos comparar las soluciones numricas con las analticas. Es por esto
que comenzamos estudiando este tipo de problemas, para ir luego resolviendo problemas de
complejidad creciente e introduciendo ideas y conceptos en forma paulatina, llegando a slabs
compuestos de varios materiales que a su vez presentan secciones ecaces que dependen de la
posicin a travs de distribuciones intermedias de propiedades como quemado y temperatura
de combustible.
5.1.1. Slabs desnudos con propiedades homogneas
Los casos estudiados en esta seccin estn basados en un una geometra tipo slab desnudo
unidimensional de ancho o cuyas supercies externas son normales al eje r. La supercie iz-
quierda est ubicada en r = 0 y la derecha en r = o (gura 5.2). Consideramos un slo grupo
de energa (G = 1) y que las secciones ecaces 1
1
(r),
a1
(r) y
f1
(r) son uniformes en el
slab.
Figura 5.2 Slab unidimensional desnudo con propiedades homogneas
Un hipottico reactor de estas caractersticas, analizado con la teora de difusin continua
con condiciones de contorno de ujo nulo en los extremos, tiene solucin analtica. El factor de
multiplicacin /
eff
es
/
eff
=

f1

a1
+ 1
1

o
_
2
y la distribucin de ujo resulta

1
(r) =

2
sin
_
r
o

_
donde el factor ,2 es tal que el valor medio del ujo sea igual a la unidad.
1o
Para mallar los slabs objeto de estudioy de hecho todos los problemas atacados en esta
monografautilizamos el software libre gmsh, que requiere o bien denir la geometra uti-
lizando una interfaz grca con herramientas de tipo CAD, o bien escribiendo un archivo de
texto conteniendo la denicin de la geometra y de las entidades fsicas utilizando un tipo de
lenguage de programacin, o una combinacin de ambas. La geometra puede estar denida
en funcin de variables o parmetros, y el archivo de texto de denicin de geometra admite la
introduccin de expresiones algebraicas y algoritmos sencillos de programacin, dando lugar
a una gran versatilidad. Adems, es posible generar la malla a partir del archivo de geometra
directamente desde la lnea de comandos sin tener que llamar a la interfaz grca, lo que posi-
bilita que milonga llame a gmsh al momento de resolver el problema o llegado el caso, incluso
re-mallar en cada iteracin.
Por ejemplo, al abrir el siguiente inputque tiene slo ocho instruccionescon la interfaz
grca de gmsh se observa la geometra mostrada en la gura 5.3:
slab100.geo
/ / s l a b uni di me ns i o na l de ancho a =100
l c = 10; / / l o ngi t ud c a r a c t e r i s t i c a d e l e l e me nt o
a = 100; / / ancho d e l s l a b
/ / d e f i ni mo s dos punt os , uno en x=0 y o t r o en x=a
/ / ambos con l a misma l o ngi t ud c a r a c t e r i s t i c a
Poi nt ( 1 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 2 ) = { a , 0 , 0 , l c } ;
/ / d e f i ni mo s una l i n e a que une ambos punt os
Li ne ( 1 ) = { 1 , 2 } ;
/ / d e f i ni mo s t r e s e nt i d a d e s f i s i c a s con nombre :
/ / l o s dos punt os l o s l l a mo s l e f t y r i g h t par a
/ / ha c e r r e f e r e n c i a a e l l o s s i queremos s e t e a r
/ / c o nd i c i o ne s de c o nt o r no que no s e an nul l
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 2 } ;
/ / l a l i n e a l a l l amamos " f u e l " par a que mi l onga l a
/ / a s o c i e con e l ma t e r i a l l l amado de l a misma manera
/ / s i n t e ne r que d e f i n i r e x p l i c i t a me n t e en e l i nput
/ / de mi l onga que j ue go de XS t i e n e que a s o c i a r l e
Physi cal Line ( " f uel " ) = { 1 } ;
Al solicitarle al programa que malle esta geometra se obtiene un archivo de texto como el
que sigue:
slab100.msh
$MeshFormat
2.2 0 8
$EndMeshFormat
$PhysicalNames
3
0 1 "left"
0 2 "right"
1 3 "fuel"
$EndPhysicalNames
1o
Figura 5.3 Representacin grca en gmsh del archivo de geometra slab100.geo
$Nodes
11
1 0 0 0
2 100 0 0
3 9.999999999961581 0 0
4 19.99999999991413 0 0
5 29.99999999986224 0 0
6 39.99999999984005 0 0
7 49.99999999982369 0 0
8 59.99999999980733 0 0
9 69.99999999983592 0 0
10 79.99999999989062 0 0
11 89.9999999999453 0 0
$EndNodes
$Elements
12
1 15 2 1 1 1
2 15 2 2 2 2
3 1 2 3 1 1 3
4 1 2 3 1 3 4
5 1 2 3 1 4 5
6 1 2 3 1 5 6
7 1 2 3 1 6 7
8 1 2 3 1 7 8
9 1 2 3 1 8 9
10 1 2 3 1 9 10
11 1 2 3 1 10 11
12 1 2 3 1 11 2
$EndElements
Es ste el formato de archivo milonga lee para denir los volmenes/elementos necesarios
para resolver el problema de difusin de neutrones en mallas no estructuradas. Utilizando este
esquema de escribir un archivo de geometra y generar un archivo de malla con gmsh para
luego resolver la ecuacin de difusin con milonga, comparamos la solucin analtica del slab
1o
desnudo con las soluciones obtenidas utilizando volmenes y elementos nitos.
Notar que al darle la misma longitud caracterstica /
c
= 10 tanto al punto uno ubicado
en r = 0 como al punto dos en r = 100, los nodos resultantes estn equiespaciados en el
intervalo [0, 100] todos los elementos resultan iguales con una longitud r = /
c
= 10. Debemos
tener en cuenta que este no siempre es el caso, y el mallador puede llegar a generar nodos
que no estn uniformemente distribuidos an cuando las longitudes caractersticas asociadas
a todos los puntos sean las mismas.
5.1.1.1. Factor de multiplicacin con volmenes
El primer problema consiste en calcular el factor de multiplicacin efectivo /
eff
de un slab de
ancho o = 100 utilizando el mtodo de volmenes nitos con una discretizacin espacial tal
que la longitud caracterstica de los volmenes sea /
c
= 10, es decir, sobre la malla generada por
la geometra dada por el archivo slab100.geo mostrado arriba. Para ello, preparamos el input de
milonga llamado keff-volumes.was, que listamos ms abajo. All denimos que el problema a
resolver ser unidimensional a un slo grupo de energas y que los datos de la geometra y de la
malla deben ser buscados en el archivo slab100.msh. A continuacin le pedimos a milonga que
utilice el esquema de volmenes nitos. Luego denimos las secciones ecaces del material
llamado fuelque coincide con la entidad fsica llamada fuel denida en el archivo de
geometracomo homogneas e idnticamente iguales a
1
1
(r) = 1

a1
(r) = 0,1

f1
(r) = 0,101
Las unidades de estas propiedades deben ser consistentes con las unidades de longitud en las
cuales est denida la geometra, es decir, si oy por ende todas las longitudesest en cen-
tmetros, el coeciente de difusin debe estar tambin en centmetros y las secciones ecaces
deben estar dadas en cm
1
. Una vez que todas las entidades fsicas cuya dimensin es igual a
la del problemai.e. todos los segmentoshan sido asignados a un material, estamos en con-
diciones de solicitarle a milonga que resuelva el problema. Como no hemos denido ninguna
condicin de contorno, el cdigo toma por defecto condiciones de ujo nulo en los extremos.
Finalmente, la ltima lnea del input indica a milonga que imprima en la salida estndar el
valor de la variable /
eff
que acaba de ser calculadacon una precisin de diez cifras deci-
males. Este input es muy sencillo y consiste en cinco lneas ms una denicin de geometra
sencilla, que estrictamente puede ser reducido incluso an ms. Esta caracterstica de que pro-
blemas sencillos requieran inputs sencillosy de que problemas complejos requieran inputs
complejoses tambin una decisin de base de diseo [7, 6].
Como tambin mostramos en el mmico de la terminal ms abajo, para ejecutar los cdi-
gos y resolver el problema, primero debemos llamar a gmsh con la instruccin que realice un
mallado sobre los objetos unidimensionales del archivo de geometra slab100.geo, con lo que
generamos el archivo slab100.msh que necesita milonga para correr. Finalmente, ejecutamos
milonga dando como nico argumento el nombre del input, keff-volumes.was.
keff-volumes.was
# pr obl e ma uni di me ns i o na l a un grupo de e ne r g i a s
# s o b r e l a mal l a no e s t r uc t ur a d a d e f i n i d a en s l a b 100 . msh
MESH FILE_PATH sl ab100 . msh DIMENSIONS 1 DEGREES 1
SCHEME VOLUMES # vol umenes f i n i t o s
1o6
# d e f i ni mo s un ma t e r i a l l l amado f u e l que a b a r c a l a
# e nt i d a d f i s i c a d e f i n i d a en s l a b 100 . geo l l amada
# t ambi e n f u e l con p r o p i e d a d e s uni f o r me s
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
# pedi mos a mi l onga que r e s ue l v a e l pr obl e ma
MILONGA_SOLVE
# y una vez que f ue r e s ue l t o , i mpri mi mos e l r e s u l t a d o
PRINT %.10 f kef f
$ gmsh -1 slab100.geo
Info : Running gmsh -1 slab100.geo [Gmsh 2.8.3, 1 node, max. 1 thread]
Info : Started on Sun Dec 15 00:02:19 2013
Info : Reading slab100.geo...
Info : Done reading slab100.geo
Info : Meshing 1D...
Info : Meshing curve 1 (Line)
Info : Done meshing 1D (0 s)
Info : 11 vertices 12 elements
Info : Writing slab100.msh...
Info : Done writing slab100.msh
Info : Stopped on Sun Dec 15 00:02:19 2013
$ milonga keff-volumes.was
1.0002092549
$
5.1.1.2. Factor de multiplicacin con elementos
Para resolver el mismo problema pero utilizando el mtodo de elementos nitos, lo nico que
debemos hacer es reemplazar la palabra VOLUMES por ELEMENTS en el input anterior y
volver a ejecutar milonga. Como ya generamos la malla, no es necesario volver a ejecutar gmsh.
keff-elements.was
MESH FILE_PATH sl ab100 . msh DIMENSIONS 1 DEGREES 1
SCHEME ELEMENTS
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
MILONGA_SOLVE
PRINT %.10 f kef f
$ milonga keff-elements.was
1.0000484746
$
Resulta interesante escribir las dos soluciones encontradas, una abajo de otra
/
eff
= 1,0002092549 con volmenes nitos
/
eff
= 1,0000484746 con elementos nitos
1o
para apreciar que existe una diferencia de un orden de magnitud entre ambas soluciones, atri-
buible a la gruesa discretizacin espacial. Es de esperar que esta diferencia se reduzca, y las
soluciones numricas tiendan a la solucin analtica si tomamos mallas cada vez ms nas.
5.1.1.3. Dependencia con la malla
Para estudiar entonces cmo cambian las soluciones numricas con la malla, ejecutamos milon-
ga en forma paramtrica sobre la variable n, que usamos para denir la longitud caracterstica
como /
c
= o,n. Esto lo logramos teniendo un archivo de geometra template llamado slab.tpl,
en todo igual al archivo slab100.geo mostrado antes, pero que en lugar de denir tanto o co-
mo /
c
a valores jos, utilizando los comodines $1 y $2:
slab.tpl
a = $1 ;
l c = $2 ;
Poi nt ( 1 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 2 ) = { a , 0 , 0 , l c } ;
Li ne ( 1 ) = { 1 , 2 } ;
Physi cal Line ( " f uel " ) = { 1 } ;
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 2 } ;
Este archivo de template es rellenado por milonga, a travs del keyword TEMPLATE que
reemplaza $1 por el tercer argumento (en este caso la variable o) y $2 por el argumento siguien-
te (en este caso /
c
), dejando un archivo de geometra llamado slab.geo (el segundo argumento)
que gmsh puede enteder. Una vez generada la geometra correspondiente al valor de n desea-
do, milonga invoca a gmsh para generar el archivo de malla slab.msh con el keyword SHELL.
En este momento, estamos en condiciones primero de leer la malla que acabamos de generar
con el keyword MESH y luego de resolver el problema explcitamente mediante el keyword
PROBLEM_SOLVE.
Para comparar el /
eff
numrico con la solucin analtica, calculamos una variable /
real
como
/
real
=

f1
(o,2)

a1
(o,2) + 1
1

a
_
2
Una vez parseado el archivo de malla y asignados los materiales, milonga deja las distribu-
ciones de secciones ecaces macroscpicas en funcin del espacio (en este caso de la nica coor-
denada r) para que el usuario pueda evaluarlas, integrarlas, etc. En este caso, para 0 < r < o
las secciones ecaces se evalan a la constante entrada en la denicin del material fuel, con
lo que el argumento de dichas funciones no es relevante, mientras que se ecuentre en el interva-
lo 0 < r < o. De esta manera, podemos calcular el /
eff
y la diferencia entre el /
real
e imprimirla
en la salida estndar con la instruccin PRINT.
En el transcurso de este captulo vamos a estar comparando soluciones en volmenes y en
elementos. Para poder resolver el mismo problema denido en el archivo de entrada con ambos
mtodos, podemos usar los modicadores - -volumes y - -elements en la lnea de coman-
dos a continuacin del nombre del archivo de entrada. Estos modicadores tienen precedencia
sobre la palabra clave SCHEME, si es que sta aparece en el input.
Las variables especiales cells y nodes contienen la cantidad de celdas y de nodos respecti-
vamente. En problemas resueltos con el mtodo de elementos nitos, el nmero de celdas es
1o8
cero. En cada paso del clculo paramtrico, escribimos en la salida estndar una la de datos
que contiene el nmero de nodos y el nmero de celdas (que puede llegar a ser cero), el /
eff
nu-
mrico, el /
eff
analtico y el valor absoluto de su diferencia. Al redireccionar la salida estndar
a un archivo, obtenemos un conjunto de datos que puede ser fcilmente gracado.
La terminal muestra, adems de la invocacin a milonga, cmo se ven los datos de salida
en cada uno de los dos casos. Como este caso es el primero en el cual gracamos la solucin,
mostramos el script de entrada para el programa pyxplot (distribuido libremente bajo licencia
GPL) que utilizamos para generar las guras en formato PDF.
keff-vs-mesh.was
# c a l c u l a e l k e f f vs . l a c a nt i da d de i nc o ng ni t a s
# par a un s l a b de ancho a c o ns t a nt e
# hacemos v a r i a r pa r a me t r i c a me nt e ( i . e . r e s o l ve mo s e l pr obl e ma par a
# cada v a l o r d e l par ame t r o ) l a v a r i a b l e n e nt r e 10 y 200 ( i n c l u s i v e )
# con i nc r e me nt o s de 10
# s i descoment amos l a p a r t e de max_daught ers podemos ha c e r e l c a l c u l o
# en p a r a l e l o (1 i nd i c a u t i l i z a r t o do s l o s nuc l e o s d i s p o n i b l e s )
PARAMETRIC n 10 200 10 # MAX_DAUGHTERS 1
# l a v a r i a b l e a c o nt i e ne e l ancho d e l s l a b , y l a f i j a mo s en 100
# l a ne c e s i t a mo s par a ge ne r a r e l a r c h i v o de ge o me t r i a y par a
# c a l c u l a r e l k e f f a n a l i t i c o d e l s l a b
a = 100
# l a l o ng i t ud c a r a c t e r i s t i c a de l o s e l e me nt o s e s a / n
# mi e nt r a s mas gr ande s e a n ( con a f i j o ) , mas c h i c o e s l c
l c = a/n
# generamos un a r c h i v o s l a b . geo a p a r t i r de un t e mp l a t e s l a b . t p l
# donde r e e mpl azamos $1 por e l v a l o r de a y $2 por e l v a l o r de l c
TEMPLATE sl ab . t pl sl ab . geo a l c
# l l amamos a gmsh con l a ge o me t r i a r e c i e n c r e a da
SHELL "gmsh v 0 2 sl ab . geo "
# l e e mo s l a mal l a ( y d e f i ni mo s l a s di me ns i o ne s d e l pr obl e ma )
MESH FILE_PATH sl ab . msh DIMENSIONS 1 DEGREES 1
# e l mismo ma t e r i a l d e l e j e mpl o a n t e r i o r ( de be ve ni r de s pue s de MESH)
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
# r e s o l ve mo s e l pr obl e ma
MILONGA_SOLVE
# c a l c ul a mo s e l k e f f a n a l i t i c o segun l a f or mul a a un grupo ,
# l a s XS son uni f o r me s a s i que da l o mismo donde l a s e val uamos
# usamos e l punt o medi o d e l s l a b x = a / 2 por e l e g a n c i a
kr eal = nuSigmaF ( a/2) /(SigmaA( a/2) + D( a/2) ( pi /a ) ^2)
# i mpri mi mos en l a s a l i d a e s t a nd a r k e f f , k r e a l y e l v a l o r
# a b s o l ut o d e l e r r o r c o me t i do en f unc i o n de n , de l a c a nt i da d
# de nodos ( f em ) y de l a c a nt i da d de c e l d a s ( fvm)
# no t a r que s i e l c a l c u l o s e hac e en p a r a l e l o e s p o s i b l e
# que l a s l i n e a s no s a l ga n o r de na da s con n a s c e nde nt e
PRINT %. f n nodes c e l l s %.12 f kef f kr eal %e abs ( kef f kr eal )
1o
$ milonga keff-vs-mesh.was --volumes > keff-vs-mesh-volumes.dat
$ cat keff-vs-mesh-volumes.dat
10 11 10 1.000209254926 1.000129121224 8.013370e-05
20 21 20 1.000149202928 1.000129121224 2.008170e-05
30 31 30 1.000138050405 1.000129121224 8.929181e-06
40 41 40 1.000134144672 1.000129121224 5.023448e-06
50 51 50 1.000132336462 1.000129121224 3.215239e-06
60 61 60 1.000131354116 1.000129121224 2.232892e-06
70 71 70 1.000130761755 1.000129121224 1.640531e-06
80 81 80 1.000130377274 1.000129121224 1.256051e-06
90 91 90 1.000130113669 1.000129121224 9.924458e-07
100 101 100 1.000129925111 1.000129121224 8.038871e-07
110 111 110 1.000129785597 1.000129121224 6.643732e-07
120 121 120 1.000129679484 1.000129121224 5.582604e-07
130 131 130 1.000129596903 1.000129121224 4.756791e-07
140 141 140 1.000129531376 1.000129121224 4.101529e-07
150 151 150 1.000129478513 1.000129121224 3.572895e-07
160 161 160 1.000129435248 1.000129121224 3.140246e-07
170 171 170 1.000129399391 1.000129121224 2.781675e-07
180 181 180 1.000129369342 1.000129121224 2.481188e-07
190 191 190 1.000129343912 1.000129121224 2.226886e-07
200 201 200 1.000129322200 1.000129121224 2.009766e-07
$ milonga keff-vs-mesh.was --elements > keff-vs-mesh-elements.dat
$ cat keff-vs-mesh-elements.dat
10 11 0 1.000048474649 1.000129121224 8.064657e-05
20 21 0 1.000109007316 1.000129121224 2.011391e-05
30 31 0 1.000120185676 1.000129121224 8.935548e-06
40 41 0 1.000124095760 1.000129121224 5.025463e-06
50 51 0 1.000125905159 1.000129121224 3.216064e-06
60 61 0 1.000126887933 1.000129121224 2.233290e-06
70 71 0 1.000127480477 1.000129121224 1.640747e-06
80 81 0 1.000127865046 1.000129121224 1.256177e-06
90 91 0 1.000128128699 1.000129121224 9.925248e-07
100 101 0 1.000128317284 1.000129121224 8.039391e-07
110 111 0 1.000128456815 1.000129121224 6.644087e-07
120 121 0 1.000128562938 1.000129121224 5.582855e-07
130 131 0 1.000128645526 1.000129121224 4.756973e-07
140 141 0 1.000128711057 1.000129121224 4.101665e-07
150 151 0 1.000128763924 1.000129121224 3.572998e-07
160 161 0 1.000128807191 1.000129121224 3.140325e-07
170 171 0 1.000128843050 1.000129121224 2.781738e-07
180 181 0 1.000128873100 1.000129121224 2.481238e-07
190 191 0 1.000128898531 1.000129121224 2.226926e-07
200 201 0 1.000128920244 1.000129121224 2.009799e-07
$ pyxplot keff-vs-mesh.ppl
$ pyxplot error-vs-mesh.ppl
$
En la gura 5.4 vemos que volmenes nitos sobrestima el factor de multiplicacin y ele-
mentos nitos lo subestima. Si bien en la gura el eje de las abscisas es el parmetro n, la
cantidad de incgnitasy por ende el tamao de las matrices 1 y 1no es igual en volme-
nes que en elementos. En el primer caso, la cantidad de incgnitas es igual a la cantidad
de celdas, mientras que en el segundo es igual a la cantidad ` de nodos. En una dimensin,
` = + 1.
Observamos en la gura 5.4y en los datos contenidos en los archivos de texto de salida en
la terminalque en funcin de n, los errores son sorprendentemente simtricos con respecto a
la solucin analtica. Discutimos esta particularidad ms adelante.
11o
0 40 80 120 160 200
n
1.00004
1.00009
1.00014
1.00019
k
e

soluci on analtica
vol umenes nitos
elementos nitos
Figura 5.4 k
eff
calculado numricamente con volmenes y con elementos para diferentes valores del parme-
tro n que indica la renacin de la malla.
0 40 80 120 160 200
n
3 10
7
10
6
3 10
6
10
5
3 10
5
10
4

k
n
u
m
e
r
i
c
o
e

k
a
n
a
l

t
i
c
o
e

vol umenes nitos


elementos nitos
Figura 5.5 Error absoluto cometido al calcular numricamente k
eff
en funcin del parmetro n.
111
El primer punto de la gura corresponde a n = 10, que es el caso resuelto en las seccio-
nes 5.1.1.1 y 5.1.1.2. Vemos all que, tal como sospechbamos, los errores cometidos son efecti-
vamente signicativos debido a que la malla es demasiado gruesa. Esta diferencia disminuye
a medida que aumenta n y a partir de aproximadamente n 100, los valores de /
eff
son prcti-
camente indistinguibles en la escala de la gura 5.4. Es por eso que en la gura 5.5 gracamos
el valor absoluto del error en escala logartmica para ambos casos. Afortunadamente, el error
tiende a cero cuando /
c
0. Esto indicano demuestraque ambos esquemas son conver-
gentes, consistentes y estables, al menos para la conguracin unidimensional utilizada para
resolver este problema en particular. An en escala logartmica, los valores absolutos de los
errores cometidos por ambos mtodos en funcin de n son indistinguiblesaunque sabemos
por la gura 5.4 que tienen signo contrario.
5.1.1.4. Dependencia con el ancho del slab
En esta seccin estudiamos, para una cantidad ja n de volmenes/elementos, cmo vara
el error cometido al calcular factor de multiplicacin numricamente con respecto al terico
analtico con ambos esquemas. Esta vez, jando n = 50, hacemos variar paramtricamente el
valor del ancho o entre 40 y 160 con incrementos o = 5 en unidades de longitud consistentes
con las de las secciones ecaces.
Esta vez, en lugar de calcular /
real
como una variable, la denimos como una funcin del
parmetro o. De esta manera, podemos obtener la curva continua de /
real
(o) contra la cual com-
parar las soluciones numricas grcamente, en lugar de tenerla evaluada slo para los valores
de o utilizados en la solucin numrica. Por un lado escribimos esta funcin cuasi-continua
en el archivo kreal-vs-a.dat utilizando pequeos intervalos o = 0,1 y por otro escribimos en
la salida estndar, cmo depende el /
eff
numrico con el ancho o para cada paso del clculo
paramtrico.
keff-vs-a.was
# c a l c u l a e l k e f f vs . e l ancho a de un s l a b mant eni endo
# l a c a nt i da d de e l e me nt o s / vol umenes c o ns t a nt e
# c a l c u l o p a r a me t r i c o s o b r e e l ancho a
PARAMETRIC a 40 160 5
n = 50 # c a nt i da d de e l e me nt o s
l c = a/n # l o ng i t ud c a r a c t e r i s t i c a
TEMPLATE sl ab . t pl sl ab . geo a l c
SHELL "gmsh v 0 2 sl ab . geo "
MESH FILE_PATH sl ab . msh DIMENSIONS 1 DEGREES 1
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
MILONGA_SOLVE
# d e f i ni mo s una f unc i o n que da e l k e f f a n a l i t i c o en f unc i o n d e l
# ancho a con l a s XS d e l ma t e r i a l d e f i n i d o a r r i b a e s t a e s una
# f unc i o n de a ( en l uga r de una v a r i a b l e como en e l c a s o a n t e r i o r )
# por que l a ne c e s i t a mo s a s i par a pode r e s c r i b i r l a con un s t e p mas
# c h i c o con l a i n s t r u c c i o n PRINT_FUNCTION
kr eal ( a ) : = nuSigmaF ( 0 ) /(SigmaA( 0 ) + D( 0 ) ( pi /a ) ^2)
# e s c r i b i mo s en un a r c h i v o de t e x t o l a f unc i o n k r e a l en
# f orma c a s i c o nt i nua ( d e l t a a = 0 . 1 )
11:
OUTPUT_FILE a na l i t i c o kreal vsa%g . dat a
PRINT_FUNCTION FILE a na l i t i c o kr eal MIN 40 MAX 160 STEP 0. 1
# en cada c o r r i d a pa r a me t r i c a , e s c r i b i mo s en l a s a l i d a e s t a nd a r
# e l k e f f c a l c ul a d o numeri cament e y e l e r r o r vs e l ancho a
PRINT %. f a %.12 f kef f %e abs ( kef f kr eal ( a ) )
$ milonga keff-vs-a.was --elements > keff-vs-a-elements.dat
$ milonga keff-vs-a.was --volumes > keff-vs-a-volumes.dat
$ pyxplot keff-vs-a.ppl
$ pyxplot error-vs-a.ppl
$
En la gura 5.6, las soluciones numricas parecen estar sobre la curva que da la solucin
analtica del /
eff
del problema. Sin embargo, un grco en escala logartima del valor absoluto
del error cometido indica que a medida que aumenta o, el error disminuye (gura 5.7). Esto se
explica de la siguiente manera. Para anchos o pequeos la curvatura resultante del ujo es ms
grande que para valores de o mayores, y por lo tanto la importancia relativa del trmino de
difusinque es la divergencia del gradiente del ujo, calculada numricamentecon respec-
to a los trminos de siones y absorciones tambin lo es. Como este trmino depende mucho
ms fuertemente de la discretizacin espacial que los otros, entonces para la misma cantidad
de volmenes/elementos, es de esperar que el error cometido para o pequeos sea mayor. De
hecho, si o entonces estaramos en el caso de un reactor innito en el cual el ujo es
independiente de la posicin r y por lo tanto la curvatura de la solucin es cero. En este caso,
cualquier esquema numrico debera arrojar la solucin analtica, a menos de errores de redon-
deo por representacin de nmeros reales en coma otante y de las tolerancias en los mtodos
numricos de resolucin del problema de autovalores asociado. Nuevamente, volmenes -
nitos sobreestima /
eff
y elementos nitos lo subestima, y los valores absolutos de los errores
cometidos en ambos casos son prcticamente iguales.
5.1.1.5. Distribucin de ujo
Ademas del autovalor /
eff
, resulta interesante comparar el autovector asociado que represen-
ta la distribucin de ujo del reactor crtico. Para el mismo slab de ancho o, volmenes nitos
da como resultado el valor medio del ujo (r) en cada una de las celdas y que suponemos es
uniforme dentro de cada una de ellas. Por otro lado, elementos nitos calcula los valores que
toma (r) en las posiciones donde se encuentran los nodos y, ms an, indica explcitamen-
te cmo interpolar mediante las funciones de forma utilizadas para discretizar el problema y
poder evaluar (r) para cualquier valor de 0 < r < o.
Para comparar las distribuciones de ujo resultantes, volvemos a resolver el mismo slab de
la gura 5.2. Esta vez, utilizamos la capacidad que tiene milonga de interpretar argumentos en
la linea de comandos y reemplazarlos en el archivo de entrada, que funciona de la siguiente
manera: si en el input aparece una construccin de la forma $i siendo i algn nmero entero
positivo, dicha construccin es reemplazada literalmente por el i-simo argumento que aparece
luego del nombre del archivo de entrada en la lnea de comandos. De esta manera, el esque-
ma numrico (volmenes o elementos) lo seleccionamos dando o bien la palabra volumes o
elements sin los guiones a modo de prejo, y luego pasando como argumento del keyword
SCHEME la construccin $1. De esta manera, adems de elegir el esquema numrico, podemos
denir nombres de archivos de salida diferentes para cada uno de los mtodos en lugar de
tener que redireccionar la salida estndar a un archivo con un nombre apropiado.
11
50 75 100 125 150
a
0.95
0.96
0.97
0.98
0.99
1.00
1.01
k
e

soluci on analtica
vol umenes nitos
elementos nitos
Figura 5.6 k
eff
calculado numricamente con volmenes y con elementos para diferentes valores del ancho a
del slab.
50 75 100 125 150
a
10
6
2 10
6
3 10
6
6 10
6
10
5
2 10
5

k
n
u
m
e
r
i
c
o
e

k
a
n
a
l

t
i
c
o
e

vol umenes nitos


elementos nitos
Figura 5.7 Error absoluto cometido al calcular numricamente k
eff
en funcin del ancho a.
11
De la misma forma, el parmetro n lo seleccionamos desde la lnea de comandos y as, uti-
lizando el mismo archivo de input, podemos resolver el mismo slab para una malla gruesa y
para una malla na simplemente invocando a milonga con diferentes valores de n en la lnea
de comandos. En este caso, hacemos que la longitud caracterstica /
c
sea igual a o,n y es ste
valor el que utilizamos para generar el archivo de geometra a partir del template. Una vez
resuelto el problema, adems de dejar en la variable keff el valor del factor de multiplicacin
efectivo calculado numricamente, milonga dene G funciones
g
(x) continuas, que pueden
ser evaluadas, integradas, derivadas, etc. Si el argumento x coincide con alguno de los puntos
correspondiente a la ubicacin geomtrica de las incgnitasi.e el baricentro de una celda en
volmenes o la ubicacin de un nodo en elementosentonces
g
(x) se evala al valor corres-
pondiente. De lo contrario,
g
(x) devuelve la interpolacin que corresponda segn el mtodo
utilizado para el clculo.
Para comparar no slo las soluciones numricas entre s sino tambin con respecto a la
solucin analtica

real
(r) =

2
sin
_

r
o
_
(5.1)
entonces denimos, adems de una funcin llamada ujoreal(r), otra llamada error(r) que
es igual a la diferencia entre la funcin denida por puntospero que se puede evaluar en
cualquier punto del dominio
1
(r) provista por milonga y la funcin denida algebraica-
mente
real
(r). Para entender mejor cmo son las interpolaciones propuestas, generados dos
archivos de salida en este problema: uno conteniendo slo los puntos de denicin de
1
(r) y
otro barriendo el intervalo [0, o] con un incremento r = 0,02. Como ilustramos en la terminal,
resolvemos el mismo problema tanto para volmenes como para elementos sobre una malla
gruesa con n = 20 y sobre una malla na n = 120.
ux.was
# c a l c u l a l a d i s t r i b u c i o n de f l u j o de un s l a b de ancho a
# da como s a l i d a e l f l u j o numeri co , e l f l u j o a n a l i t i c o y
# l a d i f e r e n c i a en f unc i o n de l a p o s i c i o n x :
# 1. e va l ua do a s o l a me nt e en l o s punt os c a l c u l a d o s
# 2. i n t e r p o l a d a en t o do e l ancho d e l s l a b
# usamos como esquema numeri co l o que nos hayan pe di do en
# l a l i n e a de comandos a c o nt i nua c i o n d e l i nput
SCHEME $1
a = 100 # ancho a f i j o
n = $2 # c a nt i da d de e l e me nt o s dado en l a l i n e a de comandos
l c = a/n
TEMPLATE sl ab . t pl sl ab . geo a l c
SHELL "gmsh v 0 2 sl ab . geo "
MESH FILE_PATH sl ab . msh DIMENSIONS 1 DEGREES 1
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
MILONGA_SOLVE
# d e f i ni mo s una f unc i o n de x con l a s o l uc i o n a n a l i t i c a
f l uj o r e a l ( x ) : = pi /2si n ( pi x/a )
# y o t r a con l a d i f e r e n c i a e nt r e e l f l u j o numeri co c a l c ul a d o
# por mi l onga y dado en l a f unc i o n phi _1 ( x )
e r r o r ( x ) : = phi_1 ( x ) f l uj o r e a l ( x )
# generamos e l nombre d e l a r c h i v o de s a l i d a con l o s punt os
11
# e va l ua do s en l a mal l a i nc l uye ndo e l esquema y l a c a nt i da d
# de e l e me nt o s / vol umenes
OUTPUT_FILE gri d f l ux$1$2gri d . dat
# e s c r i b i mo s en e l a r c h i v o gr i d l a s t r e s f unc i o ne s e va l ua da s
# s o l o en l o s punt os i nc o g ni t a
PRINT_FUNCTION phi _1 f l uj o r e a l e r r o r FILE gri d
# l o mismo pe r o par a l a s f unc i o ne s i n t e r p o l a d a s
OUTPUT_FILE cont f l ux$1$2cont . dat
# e s c r i b i mo s en e l a r c h i v o c ont l a s t r e s f unc i o ne s i n t e r p o l a d a s
# como cada d e l t a x = 0. 1 en e l rango [ 0 : a ]
PRINT_FUNCTION phi _1 f l uj o r e a l e r r o r FILE cont MIN 0 MAX a STEP a/2000
$ milonga flux.was volumes 20
$ milonga flux.was elements 20
$ pyxplot flux-coarse.ppl
$ milonga flux.was volumes 120
$ milonga flux.was elements 120
$ pyxplot flux-fine.ppl
$ pyxplot error-coarse.ppl
$
La gura 5.8 muestra los perles de ujo calculados con ambos mtodos para una malla
gruesa con 1 = 20 y la gura 5.9 la distribucin para 1 = 120. Ambas guras sugieren que
existe una relacin entre las 1 = 1 + 1 soluciones nodales

i
obtenidas por elementos nitos
y los valores medios de las 1 celdas

i
de tal forma que

i
=

i
+

i+1
2
(5.2)
En la gura 5.10 mostramos la diferencia entre la solucin lineal a trozos obtenida por el
mtodo de elementos nitos y la solucin analtica dada por la ecuacin (5.1). Para volmenes
nitos solamente mostramos el error cometido en los centros de las celdas ya que si incluy-
ramos el error cometido por la solucin constante a trozos en todos los puntos deberamos
cambiar la escala del eje vertical. Vemos all que en los nodosindicados por crucesel error
es mximo por exceso y en los centros de las celdasindicados por cuadradosel error es m-
ximo por defecto. Por supuesto, a medida que aumenta 1, los errores con respecto a la solucin
analtica disminuyen. Sin embargo, esta gura realizada para una malla gruesa desliza, tal co-
mo las dos anteriores, que la ecuacin (5.2) parece ser exacta para un slab uniforme a un grupo
con condiciones de contorno de ujo nulo independientemente de la nodalizacin.
En efecto, demostremos que el operador diferencia d
2
,dr
2
con condiciones de contorno
Dirichlet nulas tiene expresiones similares tanto en elementos como en volmenes. Partamos
de la ecuacin de Laplace en un slab de ancho o

r
2
= 0 (5.3)
Para volver a derivar las ecuaciones del mtodo de volmenes nitos del captulo 3 divi-
damos el slab en 1 celdas uniformes de anocho r, donde la celda i-sima est denida por
las coordenadas r
i
< r < r
i+1
(gura 5.11), e integremos la ecuacin (5.3) entre r
i
y r
i+1
con 1 < i < .
116
0 20 40 60 80 100
x
0 20 40 60 80 100
x
0
0.5
1
1.5

1
vol umenes nitos
elementos nitos
Figura 5.8 Perl de ujo para un slab uniforme con condiciones de contorno de ujo nulo en ambos extremos a
un grupo de energa para I = 20 elementos.
0 20 40 60 80 100
x
0 20 40 60 80 100
x
0
0.5
1
1.5

1
vol umenes nitos
elementos nitos
Figura 5.9 Perl de ujo para un slab uniforme con condiciones de contorno de ujo nulo en ambos extremos a
un grupo de energa para I = 120 elementos.
11
0 20 40 60 80 100
x
10
3
0
10
3
0.002
0.003

n
u
m
e
r
i
c
o
(
x
)

a
n
a
l

t
i
c
o
(
x
)

vol umenes nitos


elementos nitos
Figura 5.10 Diferencia entre la solucin continua obtenida por el mtodo de elementos nitos y la solucin
analtica para I = 20. Se muestra tambin el error cometido por volmenes nitos en los centros de las celdas.
0 =
_
x
i+1
x
i

r
2
dr
0 =
_

r
_
x
i+1
x
i
0 =

i+1

i
r

i1
r
donde hemos denido

i
como el valor medio del ujo en la celda i. Para i = 1, debemos
incluir la condicin de contorno en el trmino de fugas:
0 =
0

1
x
2

1
r
0 = 3

i
+

2
Anlogamente para i = 1
Figura 5.11 Divisin del dominio x = [0, a] en I celdas iguales.
118
0 = 3

I
+

I1
= 0
Para jar ideas, supongamos 1 = 5. Entonces, podemos escribir
_

_
3 1 0 0 0
1 2 1 0 0
0 1 2 1 0
0 0 1 2 1
0 0 0 1 3
_

5
_

_
= 0
Por otro lado, para escribir la formulacin usando el mtodo de elementos nitos descripto
en el captulo 4 partimos de las ecuaciones propuestas en la seccin (4.4) aplicadas a una dis-
cretizacin espacial consistene con la propuesta para volmenes nitos. En este caso 1 = 5 es
la cantidad de elementso y 1 = 6 es la cantidad de nodos (gura 5.12). Adems denimos las
siguientes entidades elementales:

= H

=
_
/
1
(:) /
2
(:)

2
_
= H =
_
/
1
(:) /
2
(:)

_

1

2
_
/
1
(:) =
1 :
2
/
1
:
=
1
2
_
1
1
/
1
(:) d: = 1
_
1
1
/
2
1
(:) d: =
2
3
/
2
(:) =
1 + :
2
/
2
:
= +
1
2
_
1
1
/
2
(:) d: = 1
_
1
1
/
2
2
(:) d: =
2
3
_
1
1
/
1
(:) /
2
(:) d: =
1
3
r
:
=
r
2
:
r
=
2
r

= 1
x


= 1
r

:
r


=
:
r

_
/
1
,: /
2
,:

2
_

= 1
x
= 1
r

:
r
=
:
r

_
/
1
,: /
2
,:

_

1

2
_
Con estas deniciones, la ecuacin de Laplace queda
1 2 3
1 2
1 1 1 1 2 2 2 2 1 2
Figura 5.12 Divisin del dominio x = [0, a] en K nodos e I = K 1 elementos iguales.
11

T
__
1
1
1
T
x
1
x
r
:
d:
_

=
T
__
1
1
:
r

_
/
1
,:
/
2
,:
_
_
/
1
,: /
2
,:

:
r

r
:
d:
_

=
T
__
1
1
2
r

_
1,2
1,2
_
_
1,2 1,2

2
r

r
2
d:
_

=
T
_
1
r

_
1 1
1 1
__

Como las condiciones de contorno son de Dirichlet, entonces no tenemos que prestar aten-
cin al trmino de supercie de la formulacin dbil. Fijando 1 = 6, ensamblando las contri-
buciones elementales y poniendo las condiciones de contorno

1
=

K
= 0 obtenemos
_

_
1 0 0 0 0 0
1 2 1 0 0 0
0 1 2 1 0 0
0 0 1 2 1 0
0 0 0 1 2 1
0 0 0 0 0 1
_

6
_

_
= 0
Supongamos que vale la suposicin (5.2)

i
=

i
+

i+1
2
(5.2)
y la reemplazamos en la expresin para la celda i en el esquema de volmenes nitos
0 =

i1
2

i
+

i+1
=

i1
+

i
2

_

i
+

i+1
_
+

i+1
+

i+2
2
=
_

i1
2

i
+

i+1
_
+
_

i
2

i+1
+

i+2
_
con lo que obtenemos la suma de las expresiones para los nodos i 1 e i + 1 de elementos
nitos. En el nodo i = 1
0 = 3

1
+

2
= 3

1
+

2
2
+

2
+

3
2
Como

1
= 0 por condicin de contorno, resulta
0 =
_
2

2
+

3
_
que es la ecuacin del mtodo de elementos nitos para el nodo i = 2. Para i = 1 obtendramos
una ecuacin similar, con lo que completamos la pseudo-demostracin de que la ecuacin (5.2)
vale para un slab unidimensional con propiedades homogneas.
Poniendo r = o,1, podemos escribir la ecuacin de difusin a un grupo usando el esque-
ma de volmenes nitos del captulo 3 como
1:o
1
1
2
o
2
_
3

2
_
=
_

f
/

eff

a
_

1
1
1
2
o
2
_
2

i1

i+1
_
=
_

f
/

eff

a
_

i
para i = 2, . . . , 1 1
1
1
2
o
2
_
3

N1
_
=
_

f
/

eff

a
_

n
Anlogamente, las 1 = 1 + 1 ecuaciones correspondientes al mtodo basado en elementos
nitos discutido en el captulo 4 son

1
= 0
1
1
2
o
2
_
2

i1

i+1

=
_

f
/

eff

a
_
_
2
3

i
+
1
6

i1
+
1
6

i+1
_
para i = 2, . . . , 1 1

K
= 0
Por un lado, sumamos las 1 ecuaciones de volmenes nitos para obtener
1
1
2
o
2
_
2

1
+ 2

I
_
=
_

f
/

eff

a
_

i=1

i
que por la simetra del problema podemos simplicar a
1
1
2
o
2
4

1
=
_

f
/

eff

a
_

i=1

i
(5.4)
Por otro lado, sumando las 1 ecuaciones de elementos nitos tenemos
1
1
2
o
2
_

1
+

2
+

I
+

=
_

f
/

eff

a
_

_
1
6

1
+
5
6

2
+
I1

i=3

i
+
5
6

I
+
1
6

K
_
que con las condiciones de contorno de ujo nulo y la simetra re-escribimos como
1
1
2
o
2
2

2
=
_

f
/

eff

a
_

_
I

i=2

i

1
3

2
_
(5.5)
Como el autovector solucin del problema est determinado a menos de una constante
multiplicativa, para poder comparar dos soluciones al problema continua utilizando diferente
cantidad de incgnitas debemos tener una condicin de normalizacin. En particular, por de-
fecto milonga normaliza los resultados de forma tal que el valor medio del ujo sea igual a la
unidad, es decir
1:1
_
a
0
(r) dr
_
a
0
dr
= 1
que es la condicin que arroja como resultado el ujo normalizado
real
(r) dado por la ecua-
cin (5.1). Para volmenes nitos, podemos escribir la integral del numerador como
_
a
0
(r) dr =
I

i=1
_

i

o
1
_
= o
por lo que
I

i=1

i
= 1
Para elementos, podemos aplicar el mtodo de los trapecios para calcular exactamente la
integral
_
a
0
(r) dr =
1
2

1

o
1
+
I

i=2
_

i

o
1
_
+
1
2

K

o
1
= o
Como

1
=

K
= 0 entonces
I

i=2

i
= 1
y las ecuaciones (5.4) y (5.5) resultan
1
1
2
o
2
4

1
=
_

f
/

eff

a
_
1
1
1
2
o
2
2

2
=
_

f
/

eff

a
_

_
1
1
3

2
_
que podemos restar miembro a miembro
1
1
2
o
2

_
4

1
2

2
_
=
_

f
/

eff

a
_
1
_

f
/

eff

a
_

_
1
1
3

2
_
El miembro izquierdo se anula en virtud de la ecuacin (5.2). Luego la relacin
1
f
_
1
/

eff

1
/

eff
_
=
1
3
_

f
/

eff

a
_

2
involucra a los factores de multiplicacin /

eff
y /

eff
obtenidos en las soluciones numricas rea-
lizadas con volmenes y elementos nitos respectivamente. Esta relacin es exacta, con la sal-
vedad de que involucra a la solucin del ujo calculada con elementos nitos

2
en el se-
gundo nodo. Es de esperar que este valor sea parecido a la solucin analtica (r) evaluada
en r = o,n 0
1::
40 80 120 160 200
I
0.999861
0.999863
0.999865
0.999867
0.999869
0.999871
1
/
k

1/k

calculado numericamente
1/k

calculado a partir de k

Figura 5.13 Comparacin entre la inversa del factor de multiplicacin k

eff
calculada a partir de la solucin por
volmenes nitos y la calculada a partir de la solucin por elementos nitos con la ecuacin (5.7).
(r) =

2
sin
_

r
o
_


2


o
r (5.6)
entonces

2
(o,n)

2
21
y podemos simplicar la relacin entre los factores de multiplicacin numricos a
1
/

eff

1
/

eff
+
_
1
/

1
/

eff
_


2
61
2
(5.7)
donde introducimos el factor de multiplicacin innito /

=
f
,
a
. Como el factor de mul-
tiplicacin de un reactor nito es siempre menor que /

, entonces la ecuacin (5.7) muestra


que /

eff
/

eff
para cualquier nmero de celdas 1, que es el comportamiento que observamos
en la gura 5.4. Adems, la ecuacin (5.7) indica que la diferencia entre ambos autovalores
disminuye con el cuadrado de 1.
En efecto, la gura 5.13 muestra 1,/

eff
calculada por un lado invirtiendo el resultado obteni-
do al resolver el problema con volmenes nitos y, por el otro, usando el valor de /

eff
calculado
por elementos nitos en la ecuacin (5.7). Vemos que si bien los puntos no son exactamen-
te igualesya que usamos la aproximacin de la ecuacin (5.6)su coincidencia es notable,
considerando la forma simple de la ecuacion (5.7) que relaciona analticamente dos resultados
numricos.
Un slab unidimensional a un grupo de energias con propiedades unformes y condiciones
de ujo nuloe en los extremos mallado con celdas/elementos uniformemente distribuidos no
presenta un gran desafo para ser atacado con mtodos numricos que requieren alguna clase
1:
de complejidad. Sin embargo, el anlisis de este caso nos dej algunos resultados que si bien
no pueden ser directamente aplicados en condiciones ms generalesdonde la aplicacin de
mtodos numricos es ms beneciosa y de hecho ms divertidaes de esperar que puedan
ser extrapolados de forma aproximada a dichos casos. Es decir, en dos dimensiones tal vez la
convergencia no disminuya exactamente en forma cuadrtica con el tamao de la malla, pero
probablemente su comportamiento sea cercano a una ley tipo 1,1
2
. Si las propiedades no son
homogneas sino que dependen de la posicin x probablemente el valor medio en una celda no
sea igual al promedio aritmtico de los valores nodales, pero dichos valores sern similares. Y,
en general, los mtodos basados en volmenes sobreestiman el valor real de /
eff
y los mtodos
basados en elementos lo subestiman.
5.1.1.6. Medio slab con condicin de contorno espejo
Una de las particularidades de los clculos de ncleo es que en los casos en los cuales existe
algn grado de simetra, es posible reducir la cantidad de incgnitasy por lo tanto el esfuerzo
computacionalresolviendo solamente una parte del reactor y poniendo condiciones de con-
torno tipo espejo en las supercies adecuadas. De hecho era esta la nica manera de resolver al-
gunos ncleos en pocas donde la capacidad de almacenamiento se meda en kilobytes. Incluso
tal vez algunos reactores que hoy estn operando se hayan diseado utilizando cierta simetra
slo debido a las limitaciones de las herramientas de diseo y clculo disponibles a la hora
de hacer ingeniera de centrales nucleares. Sea cual fuere el caso, en esta seccin resolvemos
el mismo slab desnudo uniforme pero aprovechando la simetra, generamos una geometra de
ancho o = 100,2 y ponemos condicin de ujo nulo (r) = 0 en r = 0 y de simetra ,r = 0
en r = o.
El input que sigue calcula el factor de multiplicacin /
eff
del slab de ancho o = 100 estudia-
do en las secciones anteriores en funcin de la cantidad de celdas/elementos pero resolviendo
en realidad un problema que tiene la mitad de incgnitas. El mtodo de resolucin se selecciona
desde la lnea de comando mediante las opciones --volumes o --elements.
mirror-keff-vs-mesh.was
# c a l c u l a e l k e f f vs . l a c a nt i da d de i nc o ng ni t a s
# par a un s l a b de s e mi ancho a / 2 con CC e s p e j o
PARAMETRIC n 10 200 10
# e l a r c h i v o de ge o me t r i a l l ama " l e f t " a l punt o en x=0
# y " r i g h t " a l punt o en x=a , a s i que usamos e s t o s nombres
# par a d e f i n i r que t i p o de c o nd i c i o ne s de c o nt o r no queremos
# por d e f a ul t , mi l onga asume c o nd i c i o ne s de c o nt o r no d i r i c h l e t
# en l o s e xt r e mos , a s i que l a d e f i n i c i o n s o b r e " l e f t " no
# e s e s t r i c t a me n t e ne c e s a r i a , pe r o l a de j amos por c o mp l e t i t ud
PHYSICAL_ENTITY NAME l e f t BC di r i c hl e t
PHYSICAL_ENTITY NAME r i ght BC neumann
a = 100/2 # ahor a hacemos que a s e a l a mi t ad que a nt e s
l c = a/n
TEMPLATE sl ab . t pl sl ab . geo a l c
SHELL "gmsh v 0 2 sl ab . geo "
MESH FILE_PATH sl ab . msh DIMENSIONS 1 DEGREES 1
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
MILONGA_SOLVE
# e l b uc k l i ng hay que c a l c u l a r l o con 2a en l uga r de a
1:
0 40 80 120 160 200
cantidad de inc ognitas
10
7
10
6
10
5
10
4

k
n
u
m
e
r
i
c
o
e

k
a
n
a
l

t
i
c
o
e

slab completo con vol umenes nitos


slab completo con elementos nitos
medio slab con vol umenes nitos
medio slab con elementos nitos
Figura 5.14
kr eal = nuSigmaF ( a/2) /(SigmaA( a/2) + D( a/2) ( pi /(2a ) ) ^2)
PRINT %. f n nodes c e l l s %.12 f kef f kr eal %e abs ( kef f kr eal )
$ milonga mirror-keff-vs-mesh.was --volumes > mirror-keff-vs-mesh-volumes.dat
$ milonga mirror-keff-vs-mesh.was --elements > mirror-keff-vs-mesh-elements.dat
$ pyxplot mirror-error-vs-mesh.ppl
$
En la gura 5.14 comparamos los errores cometidos tanto con volmenes como con elemen-
tos nitos con respecto a la solucin analtica, tanto entre s como con respecto a los cometidos
al calcular el slab completo de ancho o = 100 como hicimos en la seccin 5.1.1.3 (gura 5.5).
Vemos all que para el mismo tamao de problema, con el caso simtrico obtenemos menores
errores. O, en forma equivalente, para lograr el mismo error se necesitan menos incgnitas. En
este caso es aproximadamente la mitad, mientras que en dos y tres dimensiones esta reduccin
puede ser an ms signicativa.
5.1.1.7. Condiciones de contorno de Robin
En la seccin anterior resolvimos un slab con condiciones de Dirichlet en r = 0 y con condi-
ciones de Neumann en r = o. En esta seccin introducimos condiciones de contorno de Robin
y comparamos los resultados con el caso de condiciones de contorno de ujo nulo. Para hacer
ms evidentes las diferencias, resolvemos slabs ms delgados que en el caso anterior. Esta vez
tomamos o = 10, jamos n = 50 y le pedimos a milonga que escriba en la salida estndar la
distribucin de ujo en el intervalo [0, o] con incrementos r = o,400.
1:
El slab con condiciones de contorno nulas lo resolvemos con este input:
thin-null.was
# e x p l i c i t a me n t e ponemos c o nd i c i o ne s de c o nt o r no
# nul as en ambos e xt r e mos
PHYSICAL_ENTITY NAME l e f t BC di r i c hl e t
PHYSICAL_ENTITY NAME r i ght BC di r i c hl e t
a = 10
n = 50
l c = a/n
TEMPLATE sl ab . t pl sl ab . geo a l c
SHELL "gmsh v 0 2 sl ab . geo "
MESH FILE_PATH sl ab . msh DIMENSIONS 1 DEGREES 1
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
MILONGA_SOLVE
PRINT_FUNCTION phi _1 MIN 0 MAX a STEP a/400
y el slab con condiciones de contorno de Robin con el que sigue, cuya nica diferencia radica
en las dos lneas que denen justamente las condiciones de contorno sobre las entidades fsicas
left y right. En r = 0 la condicin es

r
(1) =
1
21
1
(0)
y en r = o

r
(+1) =
1
31
1
(o)
donde (1) y (+1) indican los vectores unitarios en la direccin normal externa a la supercie
que contiene la condicin de contorno en una dimensin. Debemos recordar que siendo el pro-
blema matemticamente homogneo, las condiciones de contorno tambin deben serlo, como
discutimos en la seccin 2.2.2. El cdigo milonga lee a continuacin de la palabra clave robin el
coeciente que multiplica a (r),1
g
en la expresin de la derivada normal del ujo.
thin-robin.was
# ponemos c o nd i c i o ne s de c o nt o r no de r o b i n en ambos
# e xt r e mos con c o e f i c i e n t e s d i f e r e n t e s c o e f i c i e n t e s
PHYSICAL_ENTITY NAME l e f t BC robi n 0.5
PHYSICAL_ENTITY NAME r i ght BC robi n 1/3
a = 10
n = 50
l c = a/n
TEMPLATE sl ab . t pl sl ab . geo a l c
SHELL "gmsh v 0 2 sl ab . geo "
MESH FILE_PATH sl ab . msh DIMENSIONS 1 DEGREES 1
MATERIAL f uel D 1 SigmaA 0. 1 nuSigmaF 0. 101
MILONGA_SOLVE
PRINT_FUNCTION phi _1 MIN 0 MAX a STEP a/400
1:6
0 2 4 6 8 10
x
0 2 4 6 8 10
x
0
0.5
1
1.5

CC nulas vol umenes nitos


CC nulas elementos nitos
CC Robin vol umenes nitos
CC Robin elementos nitos
Figura 5.15 Distribucin de ujo en un slab de ancho a = 10 calculada con volmenes y elementos nitos
para un problema con (a) condiciones de contorno de ujo nulo en ambas supercies externas (b) condiciones de
contorno de tipo Robin con coecientes diferentes en cada supercie externa
$ milonga thin-null.was --volumes > thin-null-volumes.dat
$ milonga thin-null.was --elements > thin-null-elements.dat
$ milonga thin-robin.was --volumes > thin-robin-volumes.dat
$ milonga thin-robin.was --elements > thin-robin-elements.dat
$ pyxplot null-robin.ppl
$
En la gura 5.15 vemos la comparacin entre la solucin conocida para el problema con
condicin de ujo cero en los extremos y con condiciones de Robin en ambos extremos. Como
este tipo de condiciones se puede asimilar a una longitud de extrapolacin en la cual el ujo
se anula la diferencia es apreciable ya que estas distanciasque en este caso sera 21
1
= 2 en
la supercie izquierda y 31
1
= 3 en la supercie exerna, medidas en las mismas unidades que
el ancho oson comparables al ancho o = 10 del slab. Adems, podemos apreciar que en este
caso ya no es cierto que el valor medio de una celda en volmenes es el promedio aritmtico
de los valores nodales en elementos.
5.1.2. Slab a dos zonas
El problema que resolvemos en esta seccin es un slab unidimensional pero compuesto de dos
materiales diferentes, cada uno de ellos con propiedades uniformes. Esta conguracin es s-
lo ligeramente diferente a los slabs desnudos estudiados en la seccin anterior. Sin embargo,
aunque la distribucin de ujo tiene solucin analtica, su expresin es signicativamente ms
compleja que el simple seno del slab desnudo. Incluso la condicin crtica para calcular el factor
de multiplicacin /
eff
debe ser resuelta numricamente. De cualquier manera, dicha solucin
analtica permite tomar a este problema como benchmark para mtodos nodales ya que per-
1:
Figura 5.16 Slab unidimensional compuesto por dos zonas homogneas, una de material absorbente (k

< 1)
y otra por material fsil (k

> 1).
mite evaluar qu tan bien se conserva la corriente en interfaces materiales en cada esquema
numrico. En particular, la comparacin de los resultados obtenidos numricamente con la so-
lucin analtica arroja cierta luz sobre lo que sucede en casos ms generales de inters en la
industria nuclear tales como el efecto de dilucin de secciones ecaces cuando las interfaces no
coinciden con la malla. Volvemos a este punto en la seccin 5.1.2.3.
Mostramos la geometra del problema en la gura 5.16. Consta de un slab unidimensional
de ancho total o compuesto por dos materiales, cada uno con propiedades homogneas a un
grupo de energa. El material se extiende desde r = 0 hasta r = / y suponemos que sus pro-
piedades nucleares son tales que /

=
fA
,
aA
< 1, por lo que se comporta esencialmente
como un absorbente. El material 1 ocupa el intervalo [/, o] y tiene un /

=
fB
,
aB
1.
Con condiciones de contorno de ujo nulo en los extremos, la distribucin de ujo es
(r) =
_
_
_
) sinh(1
A
r) para 0 < r < /
)
sinh(1
A
/)
sin [1
B
(o /)]
sin [1
B
(o r)] para / < r < o
(5.8)
donde las raices cuadradas de los bucklings 1
2
A
y 1
2
B
de cada material son
1
A
=

aA


fA
/
eff
1
A
1
B
=

fB
/
eff

aB
1
B
El factor de multiplicacin /
eff
debe cumplir la condicin crtica

1
A

aA


fA
/
eff
_
tan
_

1
1
B

fB
/
eff

aB
_
(o /)
_
+

1
B

fB
/
eff

aB
_
tanh
_

1
1
A

aA


fA
/
eff
_
/
_
= 0 (5.9)
que no slo es una expresin trascendente sino que tiene pasajes por innito y cuya solucin
para /
eff
implica cierto cuidado. Finalmente, el coeciente ) de la ecuacin (5.8) debe ser tal
que se satisfaga la condicin de normalizacin, que tomamos como
1:8
Figura 5.17 Representacin grca en gmsh del archivo de geometra two-zone-slab.geo
_
a
0
(r) dr
_
a
0
dr
= 1
indicando que el valor medio del ujo debe ser igual a la unidad.
Estas expresiones completan la solucin analtica del problema. Debemos notar que si los
coecientes de difusin de ambos materiales son diferentes, entonces el ujo (r) tiene deri-
vada discontinua en r = / de forma tal que la corriente de neutrones se mantenga. De hecho
esta es una condicin que debemos satisfacar al deducir la distribucin de ujo dada por la
ecuacin (5.8).
La solucin numrica implica la generacion de un archivo de geometra en funcin de los
parmetros o y /, adems de la longitud caracterstica /
c
asociada a los puntos. Por ejemplo,
el archivo de geometra two-zone-slab.geo dene la geometra mostrada por gmsh en la gu-
ra 5.17 con o = 100 y / = 40 unidades de longitud.
two-zone-slab.geo
a = 100;
b = 40;
l c = 1;
Poi nt ( 1 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 2 ) = { b , 0 , 0 , l c } ;
Poi nt ( 3 ) = { a , 0 , 0 , l c } ;
Li ne ( 1 ) = { 1 , 2 } ;
Li ne ( 2 ) = { 2 , 3 } ;
Physi cal Line ( "A" ) = { 1 } ;
Physi cal Line ( "B" ) = { 2 } ;
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 3 } ;
En este archivo asignamos como longitud caracterstica de elementos /
c
= 1 a cada uno
de los tres puntos. Adems, denimos dos entidades fsicas de dimensin uno llamadas
1:
y 1 que corresponden a los materiales y dos entidades fsicas de dimensin cero llamadas left
y right que corresponden a los puntos donde se deben aplicar las condiciones de contorno.
Al momento de resolver los problemas de esta seccin, en verdad utilizamos un archivo de
template en el que reemplazamps las tres primeras lneas
a = 100;
b = 40;
l c = 1 ;
por
a = $1 ;
b = $2 ;
l c = $3 ;
de forma tal de poder seleccionar el ancho total o, la ubicacin de la interfaz / y la longitud
caracterstica /
c
de los elementos desde el input de milonga.
Para evitar tener que escribir las secciones ecaces en cada uno de los inputs que usamos
para resolver cada uno de los problemas propuestos relacionados al slab de dos zonas de la
gura 5.16 y a la vez asegurarnos de que todos ellos utilizan las mismas propiedades para los
materiales y 1, creamos un archivo llamado materiales.was que luego incluimos desde el
input principal de milonga:
materiales.was
MATERIAL A D 0. 5 SigmaA 0. 014 nuSigmaF 0. 010
MATERIAL B D 1. 5 SigmaA 0. 010 nuSigmaF 0. 014
Como los nombres de los materiales coinciden con los nombres de las entidades fsicas
del archivo de geometra, el cdigo las vincula automticamente y aplica las propiedades de
los materiales y 1 a las celdas/elementos que tengan asignada la entidad fsica correspon-
diente. Estas propiedaes estn en unidades consistentes con las unidades de longitud que
denen la geometra. Es decir, si o est en centmetros, entonces
a
debe estar expresada
en cm
1
. Debemos notar que las secciones ecaces deben ser tales que /
A
=
fA
,
aA
< 1
y que /
B
=
fB
,
aB
1 para que la solucin analtica que discutimos arriba sea apli-
cable. Adems, elegimos los coecientes de difusin extremadamente diferentes para resaltar
la importancia de tener en cuenta las interfaces materiales, que es el objetivo del benchmark
propuesto.
5.1.2.1. Factores de multiplicacin y ujos
Lo primero que hacemos es resolver tanto analticamente como numricamente un slab de an-
cho total o = 100 compuesto por una mitad (/ = 50) construida en material principalmente
absorbente y por otra mitad de material 1 mayormente fsil. La seleccin del esquema numri-
co y la cantidad n de celdas/elementos la realizamos desde la lnea de comandos. Generamos
la malla apropiada primero reemplazando los valores de o, / y /
c
en el archivo de template
two-zone-slab.tpl para generar el archivo de geometra y, a partir de este, el archivo de malla.
Una vez que resolvemos el problema numricamente, utilizamos el valor del /
eff
que acabamos
de obtener para denir un intervalo [/
eff
c, /
eff
+ c] sobre el cual buscamos el valor analti-
co del factor de multiplicacin / que satisface la condicin crtica dada por la ecuacin (5.9)
1o
mediante algn algoritmo de bracketing, y que tomamos como la solucin analtica del pro-
blema continuo. Este paso es importante, ya que la condicin crtica tiene pasajes por innito
que hacen complicado encontrar el factor de multiplicacin si no disponemos de una buena
estimacin del intervalo donde se encuentra. Con dicho / calculamos los bucklings 1
A
y 1
B
para con ellos denir dos funciones, ujo
A
(r) y ujo
B
(r) que luego integramos para calcu-
lar el factor ) de forma tal de normalizar el ujo analtico ujo(r)que es igual a ujo
A
(r)
si r < / y a ujo
B
(r) de otra manerade la misma forma en la que milonga normaliza el u-
jo numrico
1
(r) y poder entonces compararlos. A continuacin mostramos en la pantalla el
esquema utilizado, los valores de o, /, n y /
c
seleccionados, junto con el /
eff
analtico (que no
depende de n), el /
eff
numrico y la diferencia entre ambos. Finalmente escribimos en el ar-
chivo analitico.dat el ujo (r) analtico (que tampoco depende de n) en el intervalo [0, o] con
incrementos r = o,1000, y en un archivo que indica el esquema y el valor de n seleccionado
el ujo numrico en los puntos incgnita de acuerdo al mtodo seleccionado.
uxes.was
# c a l c u l a e l f a c t o r de mu l t i p l i c a c i o n y l a d i s t r i b u c i o n de f l u j o
# en un s l a b de dos zonas t a nt o numeri ca como a na l i t i c a me nt e
SCHEME $1
b = 50 # ancho de l a zona Acomi e nzo de l a zona B
a = 100 # ancho t o t a l d e l s l a b
n = $2 # c a nt i da d de c e l d a s / e l e me nt o s
l c = a/n # l o ng i t ud c a r a c t e r i s t i c a d e l e l e me nt o
# generamos l a ge o me t r i a con l a l o ng i t ud c a r a c t e r i s t i c a
TEMPLATE twozonesl ab . t pl twozonesl ab . geo a b l c
# mal l amos e s a ge o me t r i a
SHELL "gmsh v 0 1 twozonesl ab . geo "
# y d e f i ni mo s e l pr obl e ma uni di me ns i o na l a un grupo
MESH DIMENSIONS 1 DEGREES 1 FILE_PATH twozonesl ab . msh
# t enemos l a s s e c c i o n e s e f i c a c e s en un a r c h i v o s e pa r a do
# que i nc l ui mo s cada vez que ne c e s i t a mo s r e s o l v e r un pr obl e ma
INCLUDE mat er i al es . was
# r e s o l ve mo s e l pr obl e ma de a ut o v a l o r e s numeri co
MILONGA_SOLVE
# c a l c ul a mo s e l k a n a l i t i c o a p a r t i r de r e s o l v e r numeri cament e
# l a c o nd i c i o n c r i t i c a d e l pr obl e ma c o nt i nuo usando como gue s s
# i n i c i a l e l k e f f c a l c ul a d o numeri cament e
eps = 0. 05
k = { root (
sqr t (D( 0 ) ( SigmaA( 0 )nuSigmaF ( 0 ) /k) )
tan ( sqr t ( ( 1/D( a ) ) ( nuSigmaF ( a ) /kSigmaA( a ) ) ) ( ab) )
+ sqr t (D( a ) ( nuSigmaF ( a ) /kSigmaA( a ) ) )
tanh ( sqr t ( ( 1/D( 0 ) ) ( SigmaA( 0 )nuSigmaF ( 0 ) /k) ) b)
, k , kef f eps , kef f +eps ) }
# y con e s t e k c a l c ul a mo s l a d i s t r i b u c i o n de f l u j o a n a l i t i c a
# pr i me r o d e f i ni mo s l o s f l u j o s en cada zona
B_A = sqr t ( ( SigmaA( 0 ) nuSigmaF ( 0 ) /k) /D( 0 ) )
f l uj oA ( x ) : = sinh ( B_Ax )
B_B = sqr t ( ( nuSigmaF ( a ) /k SigmaA( a ) ) /D( a ) )
11
f l uj oB ( x ) : = sinh ( B_Ab) /si n ( B_B( ab) ) si n ( B_B( ax ) )
# c a l c ul a mo s e l f a c t o r de no r ma l i z a c i o n par a que
# e l v a l o r medi o d e l f l u j o s e a i g ua l a uno
f = a/( i nt egr al ( f l uj oA ( x ) , x , 0 , b) + i nt egr al ( f l uj oB ( x ) , x , b , a ) )
# y d e f i ni mo s una f unc i o n por t r o z o s v a l i d a par a t o do e l i n t e r v a l o
f l uj o ( x ) : = f i f ( x < b , f l uj oA ( x ) , f l uj oB ( x ) )
# en l a p a n t a l l a most ramos l o s k e f f
PRINT " usando f i n i t e $1 con"
PRINT %g TEXT " a = " a TEXT " b = " b TEXT " n = " n TEXT " l c = " l c
PRINT " kef f a na l i t i c o = " %.8f k
PRINT " kef f numerico = " %.8f kef f
PRINT " di f e r e nc i a = " %e kef f k
# e l f l u j o a n a l i t i c o
OUTPUT_FILE a na l i t i c o a na l i t i c o . dat
PRINT_FUNCTION f l uj o MIN 0 MAX a STEP a/1000 FILE a na l i t i c o
# e l f l u j o numeri co ( en l o s punt os c a l c u l a d o s ) y e l e r r o r
OUTPUT_FILE numerico $1$2 . dat
PRINT_FUNCTION phi _1 phi _1 ( x )f l uj o ( x ) FILE numerico
$ milonga fluxes.was volumes 20
usando finite volumes con
a = 100 b = 50 n = 20 lc = 5
keff analitico = 1.08349094
keff numerico = 1.08707215
diferencia = 3.581214e-03
$ milonga fluxes.was elements 20
usando finite elements con
a = 100 b = 50 n = 20 lc = 5
keff analitico = 1.08349094
keff numerico = 1.08176970
diferencia = -1.721240e-03
$ milonga fluxes.was volumes 50
usando finite volumes con
a = 100 b = 50 n = 50 lc = 2
keff analitico = 1.08349094
keff numerico = 1.08407471
diferencia = 5.837725e-04
$ milonga fluxes.was elements 50
usando finite elements con
a = 100 b = 50 n = 50 lc = 2
keff analitico = 1.08349094
keff numerico = 1.08321499
diferencia = -2.759441e-04
$ milonga fluxes.was volumes 100
usando finite volumes con
a = 100 b = 50 n = 100 lc = 1
keff analitico = 1.08349094
keff numerico = 1.08363727
diferencia = 1.463377e-04
$ milonga fluxes.was elements 100
usando finite elements con
a = 100 b = 50 n = 100 lc = 1
keff analitico = 1.08349094
keff numerico = 1.08342193
1:
diferencia = -6.900593e-05
$ pyxplot flux-20.ppl
$ pyxplot error-50.ppl
$ pyxplot error-100.ppl
$
0 20 40 60 80 100
x
0
0.5
1
1.5
2
2.5

soluci on analtica
20 vol umenes nitos
20 elementos nitos
Figura 5.18 Distribucin de ujo de un slab a dos zonas calculada analticamente, con volmenes nitos y con
elementos nitos.
En la salida de la terminal observamos que sigue siendo vlido el resultado de la seccin
anterior en la que el /
eff
calculado con volmenes es mayor que el calculado con elementos.
Adems, en los tres casos mostrados, el error cometido por volmenes nitos es, en valor abso-
luto, es el doble del error cometido por elementos nitos. De cualquier manera, en la gura 5.18
muestra que an para una nodalizacin bastante gruesa como n = 20, ambos mtodos son
capaces de reproducir bastante bien la solucin analtica an cuando la la derivada del ujo
continuo presente una marcada discontinuidad en r = /. De todas maneras,parecera incluso
que la solucin de elementos es mejor que la de volmenes, especialmente alrededor de la in-
terfaz. En efecto, las guras 5.19 y 5.20 muestran la diferencia entre las soluciones numricas y
la solucin analtica evaluadas en los centros de las celdas para el caso de volmenes y en los
nodos para elementos, para n = 50 y para n = 100. Vemos que si bien la solucin en volme-
nes presenta un pequeo error cerca de los extremos, la discrepancia crece bastante cerca de la
interfaz y los errores cambian de signo en forma abrupta a un lado y a otro de r = /. Por el
contrario, si bien el error tiene el mismo signo que la solucin de volmenes en cada material,
este error pasa por cero en el punto de la discontiuidad. Ambas guras tienen la misma escala
vertical, por lo que podemos observar cmo se reduce la discrepancia entre el ujo analtico y
los resultados numricos al duplicar la cantidad de celdas/elementos.
1
0 20 40 60 80 100
x
0.006
0.005
0.004
0.003
0.002
10
3
0
10
3
0.002
0.003
0.004

(
x
)

(
x
)
50 vol umenes nitos
50 elementos nitos
Figura 5.19 Error cometido en la distribucin de ujo de un slab a dos zonas para n = 50.
0 20 40 60 80 100
x
0.006
0.005
0.004
0.003
0.002
10
3
0
10
3
0.002
0.003
0.004

(
x
)

(
x
)
100 vol umenes nitos
100 elementos nitos
Figura 5.20 Error cometido en la distribucin de ujo de un slab a dos zonas para n = 100.
1
5.1.2.2. Volmenes nitos con celdas homogneas
Al emplear el esquema basado en volmenes desarrollado en el captulo 3, el cdigo milonga
emplea las ecuaciones (3.12) (3.17) dependiendo de si las celdas vecinas pertenecen a la mis-
ma entidad fsica (i.e. material) o no. En el problema del slab a dos zonas, solamente hay dos
las de la matriz 1 que contienen ecuaciones de la forma (3.17) mientras que el resto de las
ecuaciones siguen las reglas para celdas homogneas dadas por la ecuacin (3.12). Con el n
de ilustrar la importancia de estas dos ecuaciones, a continuacin resolvemos el problema del
slab a dos zonas con o = 100, / = 50 y n = 50 pero usando una versin especialmente mo-
dicada de milonga que siempre aplica las ecuaciones correspondientes a celdas homogneas
para construir la matriz 1.
homogeneo.was
# no t enemos en c ue nt a d i s c o nt i nui d a d e s h e t e r o g e ne a s en
# vol umenes que no p e r t e ne c e n a l mismo ma t e r i a l
SCHEME VOLUMES VOLHOM
b = 50
a = 100
l c = a/50
TEMPLATE twozonesl ab . t pl twozonesl ab . geo a b l c
SHELL "gmsh v 0 1 twozonesl ab . geo "
MESH DIMENSIONS 1 DEGREES 1 FILE_PATH twozonesl ab . msh
INCLUDE mat er i al es . was
MILONGA_SOLVE
PRINT %.8f kef f
OUTPUT_FILE numerico homogeneo . dat
PRINT_FUNCTION phi _1 FILE numerico
$ milonga homogeneo.was
0.99440269
$ pyxplot flux-hom.ppl
$
En la gura 5.21 mostramos el resultado que arroja no tener en cuenta explcitamente la
conservacin de la corriente en la interfaz entre dos materiales que tienen una discontinuidad
en el coeciente de difusin. No slo es ciertamente diferente el perl de ujo calculado
donde no se observa la discontinuidad en la derivada del ujo que requiere la conservacin
de neutronessino que adems el factor de multiplicacin /
eff
calculado es muy diferente del
analtico como vemos en la terminal, incluso indicando subcriticidad cuando en realidad el slab
es supercrtico.
Luego de resolver este sencillo problema concluimos que aunque la ecuacin (3.12) tenga
una precisin superior que la ecuacin (3.17) para discretizar el operador gradiente, su aplica-
cin a vecinos que presentan una discontinuidad en el coeciente de difusin conduce a errores
que pueden llegar a ser inaceptables. En el esquema basado en elementos esta distincin no es
necesaria ya que la formulacin hace que la corriente de nuetrones se conserve automticamen-
te al escribir la integral de la formulacin dbil como una suma contribuciones elementales de
forma tal que se satisfaga la ecuacin diferencial fuerte en todo el dominio.
1
0 20 40 60 80 100
x
0
0.5
1
1.5
2
2.5

soluci on analtica
50 vol umenes nitos homogeneos
Figura 5.21 Perl de ujo analtico y calculado con el mtodo de volmenes nitos sin tener en cuenta explcita-
mente que en x = 50 el coeciente de difusin D(x) presenta una discontinuidad. La solucin numrica es errnea
ya que no conserva neutrones.
5.1.2.3. Estudio paramtrico
El problema del slab uniforme a dos zonas no tiene una aplicacin directa en la industria nu-
clear ya que en ningn caso se modela un reactor real de la forma propuesta en la gura 5.16.
Sin embargo, este problema presenta por un lado una situacin simplicada de lo que sucede
en la interfaz entre un material principalmente absorbente y otro material principalmente fsil
en un modelo basado en difusin de neutrones con secciones ecaces homogeneizadas. Y, por
otro, tiene una solucin analtica que si bien tiene sus complicaciones algebraicas, es posible
evaluarla para cualquier combinacin de parmetros geomtricos o y / y de secciones ecaces
macroscpicas 1,
f
y
a
de cada uno de los dos materiales. Si bien no es fcil de observar en
la ecuacin (5.9), el valor de /
eff
arrojado por la solucin analtica es montonamente decrecien-
te para el parmetro /, dejando el resto de los parmetros jos. Este resultado es consistente con
la fsica, que indica que mientras mayor sea la proporcin de material absorbente con respecto
a un ancho jo o, la reactividad esttica del sistema debe ser menor.
Cuando el problema se resuelve numricamente utilizando algn mtodo basado en vol-
menes o similares tales como CMFDo diferencias con compensacin de coecientes de difusin
sobre discretizacin espacial uniforme aparece un efecto conocido como rod cusp o dilucin de
secciones ecaces que hace que el /
eff
deje de depender en forma montona del parmetro /. En
efecto, supongamos que dividimos el intervalo [0, o] en celdas iguales de longitud r = o,,
que es el esquema que utiliza milonga para mallas no estructuradas. Si / es mltiplo de r, en-
tonces la interfaz va a coincidir con la supercie que separa dos celdas y podemos usar las
ecuaciones que desarrollamos en el captulo 3 sin problemas. Ahora, en el caso general en el
que / no es mltiplo de r entonces habr una celda que contendr dos materiales. Los trmi-
nos volumtricos podemos tratarlos de la misma manera que en la seccin 3.1.1. Sin embargo,
debemos tratar las fugas en forma diferente a la propuesta en la seccin 3.1.4. Sin dar deta-
16
(a) Evaluacin de fugas como dos interfaces
homogneas
(b) Evaluacin de fugas como dos interfa-
ces heterogneas introduciendo un pseudo-
material
Figura 5.22 Discretizacin uniforme para un valor de b que no es mltiplo de x. Los trminos volumtricos de
todas las celdas se tratan de la manera discutida en la seccin 3.1.1. Las fugas de las celdas que contienen un nico
material se tratan de la manera discutida en las seccin 3.1.4. Las fugas de la celda que contiene dos materiales
pueden calcularse (a) como dos juntas homogneas, una de cada material (b) como dos juntas heterogneas entre
ambos materiales y un nuevo pseudo-material cuyas propiedades son un promedio pesado de ambos materiales.
lles que escapan a este trabajo, una alternativa es evaluar las corrientes directamente en ambas
supercies de la celda mixta, suponiendo que cada una de ellas es homgenea asignando el
material a la junta de la izquierda y el material 1 a la junta de la derecha, como ilustra-
mos en la gura 5.22a. Otra alternativa es generar un pseudo-material cuyas propiedades son
un promedio pesado de las propiedades de los materiales I y II y calcular las fugas en ambas
supercies como celdas heterogneas (gura 5.22b).
Utilizando la versin anterior de milonga 0.1 que trabaja en modo de clculo estructurado
es decir, sin dar una malla generada por gmshelegimos cmo tratar las fugas con la palabra
clave secundaria D_EPSILON o D_MEAN sobre la palabra clave primaria SCHEME. Barremos
el parmetro / en intervalo [25 : 75] con incrementos / = 0,1 y escribimos el /
eff
analtico,
el /
eff
numrico y el error en funcin de /.
keff-vs-b-struct.was
# pr obl e ma e s t r uc t ur a do , s i n mesh
# e s t e i nput de be c o r r e r s e con mi l onga v0 . 1
PROBLEM DIMENSIONS 1 GROUPS 1
# D_EPSILON o D_MEAN c o n t r o l a como s e e val uan l a s f uga s
SCHEME VOLUMES $2
# e s t ud i o p a r a me t r i c o s o b r e b e nt r e [ 2 5 : 7 5 ]
PARAMETRIC b 25 75 0. 1
a = 100
x_bare_l engt h = a
x _ c e l l s = $1
# d e f i n i c i o n de ma t e r i a l e s
MATERIAL A D_1 0. 5 SigmaA_1 0. 014 nuSigmaF_1 0. 010
MATERIAL B D_1 1. 5 SigmaA_1 0. 010 nuSigmaF_1 0. 014
# d e f i n i c i o n de zonas
ZONE A MATERIAL A X_MIN 0 X_MAX b
ZONE B MATERIAL B X_MIN b X_MAX a
1
SOLVE_PROBLEM
eps = 0. 05
k = { root (
sqr t ( D_1 ( 0 ) abs ( nuSigmaF_1 ( 0 ) /kSigmaA_1 ( 0 ) ) )
tan ( sqr t ( ( 1/D_1( a ) ) abs ( SigmaA_1 ( a )nuSigmaF_1 ( a ) /k) ) ( ab) )
+ sqr t ( D_1( a ) abs ( SigmaA_1 ( a )nuSigmaF_1 ( a ) /k) )
tanh ( sqr t ( ( 1/D_1 ( 0 ) ) abs ( nuSigmaF_1 ( 0 ) /kSigmaA_1 ( 0 ) ) ) b)
, k , kef f eps , kef f +eps , 1e6, 0 , 1) }
PRINT b k kef f kef f k
Si en lugar de resolver el problema con una malla uniforme utilizamos un mallador para gene-
rar celdas/elementos de forma tal sus supercies externas siempre coincidan con las interfaces
de la geometra continua original, entonces podemos utilizar los esquemas desarrollados en los
captulos 3 y 4, que son el eje de este trabajo. En este caso, el cdigo gmsh elije el tamao de las
celdas/elementos tomando como base la longitud caracterstica /
c
pero ajustando la cantidad
y tamao de elementos de forma tal de que siempre haya un nodo en r = /.
El input de milonga para resolver parmetricamente el slab a dos zonas con malla no uni-
forme es ligeramente diferente al del caso de malla uniforme. Ejecutamos ambos inputs para
comparar el /
eff
en funcin de / analtico, con volmenes nitos sobre malla estructurada eva-
luando las fugas con y sin pseudo-material, con volmenes nitos sobre malla no estructurada
y con elementos nitos sobre malla no estructurada utilizando el desarrollo de los captulos 3
y 4. Para ilustrar adems cmo cambian los resultados con el renamiento de la malla, tomamos
un caso con malla gruesa con /
c
= o,10 y otro con una malla na con /
c
= o,100.
keff-vs-b.was
# e s t ud i o p a r a me t r i c o s o b r e b e nt r e [ 2 5 : 7 5 ]
PARAMETRIC b 25 75 0. 1
a = 100
l c = a/$1
TEMPLATE twozonesl ab . t pl twozonesl ab . geo a b l c
SHELL "gmsh v 0 1 twozonesl ab . geo "
MESH DIMENSIONS 1 DEGREES 1 FILE_PATH twozonesl ab . msh
INCLUDE mat er i al es . was
MILONGA_SOLVE
eps = 0. 05
k = { root (
sqr t (D( 0 ) abs ( nuSigmaF ( 0 ) /kSigmaA( 0 ) ) )
tan ( sqr t ( ( 1/D( a ) ) abs ( SigmaA( a )nuSigmaF ( a ) /k) ) ( ab) )
+ sqr t (D( a ) abs ( SigmaA( a )nuSigmaF ( a ) /k) )
tanh ( sqr t ( ( 1/D( 0 ) ) abs ( nuSigmaF ( 0 ) /kSigmaA( 0 ) ) ) b)
, k , kef f eps , kef f +eps , 1e6, 0 , 1) }
PRINT b k kef f kef f k
$ milonga keff-vs-b.was 10 --volumes > keff-vs-b-vol-10.dat
$ milonga keff-vs-b.was 10 --elements > keff-vs-b-ele-10.dat
18
$ milonga01 keff-vs-b-struct.mil 10 D_EPSILON > keff-vs-b-struct-epsilon-10.dat
$ milonga01 keff-vs-b-struct.mil 10 D_MEAN > keff-vs-b-struct-mean-10.dat
$ pyxplot keff-vs-b.ppl
$ pyxplot error-vs-b-10.ppl
$ milonga keff-vs-b.was 50 --volumes > keff-vs-b-vol-50.dat
$ milonga keff-vs-b.was 50 --elements > keff-vs-b-ele-50.dat
$ milonga01 keff-vs-b-struct.mil 50 D_EPSILON > keff-vs-b-struct-epsilon-50.dat
$ milonga01 keff-vs-b-struct.mil 50 D_MEAN > keff-vs-b-struct-mean-50.dat
$ pyxplot error-vs-b-50.ppl
$
La gura 5.23 muestra la dependencia de /
eff
en funcin de / para los diferentes mtodos de
solucin propuestos. Como dijimos, la solucin analtica arroja una variacin montonamente
decreciente del factor de multiplicacin con el ancho del material absorbente.
Los resultados obtenidos al resolver el slab a dos zonas con malla estructurada, tanto con
el pseudo-material y son l, arrojan una variacin de /
eff
que no es montona con /. Calcular
las fugas en la celda mixta como dos interfaces homogneas da un gran cambio en el /
eff
cada
vez que la interfaz r = / pasa por algn mltiplo de r. Esto es esperable ya que cuando esto
sucede, la corriente en alguna de las celdas pasa de calcularse con el coeciente de difusin del
material a calcularse con el del material 1 en forma discontinua.
Si introducimos un pseudo-material y evaluamos las fugas como dos interfaces heterog-
neas, la discontinuidad desaparece. En efecto, las propiedades del pseudo-material son pro-
medios pesados de los dos materiales por lo que si la interfaz se encuentra un diferencial dr
a la derecha (izquierda) de la interfaz izquierda (derecha) entonces el coeciente de difusin
utilizado para evaluar la corriente es igual al coeciente de difusin del material (1) ms un
diferencial. Luego el /
eff
debe variar en forma continua con /. Sin embargo, es evidente que su
derivada no es continua ya que observamos picos de /
eff
en mltiplos de r. Este efectos se
conoce como rod cusp ya que aparece en clculos tridimensionales de ncleo cuando las barras
de control se mueven en forma continua y sus extremos no coindicen con la malla de la discreti-
zacin espacial. Tal como vemos, puede darse el caso de que la reactividad reportada para una
introduccin . de una barra de control sea menor que la reportada para una introduccin . +c,
lo que puede llegar a introducir no slo errores groseros sino tambin inestabilidades fsicas.
En efecto, si en un clculo transitorio acoplado el sistema de control decide introducir las barras
de control para bajar la potencia y el clculo neutrnico indica que la potencia aumenta, enton-
ces el inconveniente es mayor. El anlisis de las causas de este efecto y de las alternativas para
mitigar sus consecuencias en mallas estructuradas est fuera del alcance de este trabajo. Sin
embargo, una forma de evitar la aparicin de este efecto es utilizar una malla no estrucutrada.
En efecto, al resolver el problema generando una malla no estructurada de forma tal de que
siempre haya una interfaz entre celdas/elementos en r = /, entonces los picos desaparecen y la
dependencia de /
eff
con / es mucho ms suave y se parece a la solucin analtica, manteniendo
el resultado de que volmenes nitos sobre-estima el factor de multiplicacin y elementos ni-
tos lo sub-estima. Adems, en valor absoluto, elementos est ms cerca de la solucin analtica.
De todas maneras, la malla no estructurada no elimina completamente los picos y discon-
tinuidades. La gura 5.24 muestra el error cometido en cada caso con respecto a la solucin
analtica. Los pequeos picos en las curvas correspondientes a los clculos no estructurados
provienen de una pequea discontinuiudad geomtrica que podemos explicar como sigue. Su-
pongamos que / o. Entonces gmsh decidir asignar un elemento al material y n1 al ma-
terial 1. A medida que / aumenta, en algn punto decidir asignar dos elementos a y n 2
a 1. En este momento, la discretizacin espacial habr cambiado discontinuamente con /, por
lo que es de esperar que el /
eff
tambin tenga una pequea discontinuidad con /. Manteniendo
la escala vertical, la gura 5.25 muestra el error cometido por las soluciones numricas pero
1
3
0
4
0
5
0
6
0
7
0
b
0
.
8
0
.
9 1
1
.
1
1
.
2
k
e
s
o
l
u
c
i
o
n
a
n
a
l

t
i
c
a
1
0
v
o
l
u
m
e
n
e
s

n
i
t
o
s
d
e
a
n
c
h
o

j
o
c
o
n
f
u
g
a
s
c
o
m
o
d
o
s
i
n
t
e
r
f
a
c
e
s
h
o
m
o
g
e
n
e
a
s
1
0
v
o
l
u
m
e
n
e
s

n
i
t
o
s
d
e
a
n
c
h
o

j
o
c
o
n
l
a
i
n
t
r
o
d
u
c
c
i
o
n
d
e
u
n
p
s
e
u
d
o
-
m
a
t
e
r
i
a
l
1
0
v
o
l
u
m
e
n
e
s

n
i
t
o
s
d
e
a
n
c
h
o
v
a
r
i
a
b
l
e
1
0
e
l
e
m
e
n
t
o
s

n
i
t
o
s
d
e
a
n
c
h
o
v
a
r
i
a
b
l
e
Figura 5.23 k
eff
vs. distancia b para a = 100 jo y n = 10.
1o
30 40 50 60 70
b
0.03
0.02
0.01
0
0.01
0.02
0.03
e
r
r
o
r
a
b
s
o
l
u
t
o
e
n
k
e

soluci on analtica
10 vol umenes nitos de ancho jo con fugas como dos interfaces homogeneas
10 vol umenes nitos de ancho jo con la introducci on de un pseudo-material
10 vol umenes nitos sobre malla no estructurada
10 elementos nitos sobre malla no estructurada
Figura 5.24 Error en el clculo de k
eff
con respecto al resultado analtico vs. distancia b para a = 100 jo y n = 10.
30 40 50 60 70
b
0.03
0.02
0.01
0
0.01
0.02
0.03
e
r
r
o
r
a
b
s
o
l
u
t
o
e
n
k
e

soluci on analtica
50 vol umenes nitos de ancho jo con fugas como dos interfaces homogeneas
50 vol umenes nitos de ancho jo con la introducci on de un pseudo-material
50 vol umenes nitos sobre malla no estructurada
50 elementos nitos sobre malla no estructurada
Figura 5.25 Error en el clculo de k
eff
con respecto al resultado analtico vs. distancia b para a = 100 jo y n = 50.
11
para malla na con /
c
= o,50, que da n = 50.
5.1.2.4. Malla renada en la discontinuidad
Si bien sabemos que una malla na reduce signicativamente los errores cometidos por los
esquemas numricos, no podemosal menos por ahorarenar en forma indiscriminada sin
tener que pagar los costos computacionales asociados: potencia de clculo y capacidad de al-
macenamiento. Pero tambin sabemos, por lo menos en este problema, que la mayora de los
errores numricos se pueden asociar la zona de la interfaz entre los materiales y 1. Por lo
tanto, podemos pedirle a gmsh que rene selectivamente la malla alrededor del punto r = /.
Para eso podemos utilizar el siguiente archivo de template:
two-zone-slab-ref.tpl
a = $1 ;
b = $2 ;
l c = $3 ;
Poi nt ( 1 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 2 ) = { b , 0 , 0 , 0. 15 l c } ;
Poi nt ( 3 ) = { a , 0 , 0 , l c } ;
Li ne ( 1 ) = { 1 , 2 } ;
Li ne ( 2 ) = { 2 , 3 } ;
Physi cal Line ( "A" ) = { 1 } ;
Physi cal Line ( "B" ) = { 2 } ;
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 3 } ;
El punto nmero dos, que dene la posicin de la interfaz entre los dos materiales tiene una
longitud caracterstica igual al quince por ciento del parmetros /
c
, que se le asigna a los dos
puntos en r = 0 y en r = o.
ux-renado.was
SCHEME $1
b = 50 # ancho de l a zona Acomi e nzo de l a zona B
a = 100 # ancho t o t a l d e l s l a b
n = $2 # c a nt i da d de e l e me nt o s
l c = a/n # l o ng i t ud c a r a c t e r i s t i c a d e l e l e me nt o
TEMPLATE twozonesl abr e f . t pl twozonesl abr e f . geo a b l c
SHELL "gmsh v 0 1 twozonesl abr e f . geo "
MESH DIMENSIONS 1 DEGREES 1 FILE_PATH twozonesl abr e f . msh
INCLUDE mat er i al es . was
MILONGA_SOLVE
# l e e mo s e l k e f f a n a l i t i c o en f unc i o n de b que c a l c ul a mo s a nt e s
FUNCTION k( b) FILE_PATH kef f vsbel e 50. dat COLUMNS 1 2
# i mpri mi mos i nf o r ma c i o n en l a p a n t a l l a
IF c e l l s
PRINT TEXT " cel das=" %g c e l l s
ELSE
1:
0 20 40 60 80 100
x
0
0.5
1
1.5
2
2.5

vol umenes nitos


elementos nitos
Figura 5.26 Distribucin de ujo calculado con una malla renada en la discontinuidad.
PRINT TEXT " nodos =" %g nodes
ENDIF
PRINT TEXT " kef f = " %.8f kef f TEXT " er r or =" %e kef f k( b)
# y l a d i s t r i b u c i o n de f l u j o en a r c h i v o s
OUTPUT_FILE numerico $1%.0fr e f . dat n
PRINT_FUNCTION phi _1 FILE numerico
OUTPUT_FILE numericocont $1%.0fr ef cont . dat n
PRINT_FUNCTION phi _1 FILE numericocont MIN 0 MAX a STEP 0. 1
$ milonga flux-refinado.was volumes 8
celdas= 18
keff = 1.08486871 error = 1.377708e-03
$ milonga flux-refinado.was elements 8
nodos = 19
keff = 1.08184336 error = -1.647640e-03
$ pyxplot flux-ref.ppl
$
Eligiendo un valor de /
c
= 8, gmsh genera una malla de 18 elementos por lo que el tamao
del problema es similar al que resolvimos en la seccin 5.1.2.1 para n = 20. Podemos ver que
efectivamente el error cometido al calcular /
eff
es menor si renamos selectivamente la malla
alrededor de la discontinuidad para obtener matrices de tamao similar que para el caso de
una malla uniforme. En la gura 5.26 mostramos la distribucin de ujo resultante al utilizar
una malla renada. La reduccin del error es mayor para volmenes (pasa de 3,58 10
6
a
1,38 10
6
) que para elementos (pasa de 1,72 10
6
a 1,65 10
6
).
1
5.1.3. Slabs reejados a dos grupos
En esta seccin estudiamos ahora slabs con una zona fsil de combustible y material no fsil ac-
tuando como reector en los extremos. Otra vez, estos casos no tienen aplicacin directa pero
su estudio puede proveer ciertas conclusiones que con un poco de cuidado pueden aplicarse
a problemas de inters industrial. Pero adems, el hecho de que el ujo siga siendo unidi-
mensional facilita la comparacin entre esquemas basados en volmenes y en elementos que,
recordemos, es el tema central del trabajo.
En todos los inputs de milonga incluimos el siguiente archivo que dene las propiedades a
dos grupos de energas de los materiales que vamos a utilizar en esta seccin:
materials.was
MATERIAL f uel {
D_1 1. 5
D_2 0. 4
SigmaS_1>2 0. 02
SigmaA_1 0. 01
SigmaA_2 0. 08
nuSigmaF_2 0. 135
}
MATERIAL l e f t _ r e f l {
D_1 2. 0
D_2 0. 3
SigmaS_1>2 0. 04
SigmaA_1 0. 00
SigmaA_2 0. 01
}
MATERIAL r i g ht _ r e f l {
D_1 2. 0
D_2 0. 3
SigmaS_1>2 0. 05
SigmaA_1 0. 00
SigmaA_2 0. 005
}
MATERIAL abs1 {
D_1 1. 2
D_2 0. 3
SigmaS_1>2 0. 01
SigmaA_1 0. 10
SigmaA_2 0. 65
}
MATERIAL abs2 {
D_1 1. 35
D_2 0. 45
SigmaS_1>2 0. 005
SigmaA_1 0. 010
SigmaA_2 0. 020
}
1
reector
izquierdo
combustible
reector
derecho
Figura 5.27 Slab reejado
5.1.3.1. Distribucin de ujo
Resolvemos ahora el slab reejado que ilustramos en la gura 5.27. Consiste en una zona de
materal fsil de ancho o, reejada a la izquierda por un reector de longitud / y por la derecha
por uno de longitud c. Podemos implementar esta geometra a travs de un archivo template
que luego milonga transformar en un archivo de geometra para gmsh segn los valores que
tomen las variables o, /, c y /
c
como sigue:
reected.tpl
a = $1 ;
b = $2 ;
c = $3 ;
l c = $4 ;
Poi nt ( 1 ) = { b , 0 , 0 , l c } ;
Poi nt ( 2 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 3 ) = { a , 0 , 0 , l c } ;
Poi nt ( 4 ) = { a+c , 0 , 0 , l c } ;
Li ne ( 1 ) = { 1 , 2 } ;
Li ne ( 2 ) = { 2 , 3 } ;
Li ne ( 3 ) = { 3 , 4 } ;
Physi cal Line ( " l e f t _ r e f l " ) = { 1 } ;
Physi cal Line ( " f uel " ) = { 2 } ;
Physi cal Line ( " r i g ht _ r e f l " ) = { 3 } ;
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 4 } ;
En forma similar a la solucin del problema de la seccin 5.1.2.4, calculamos tanto el /
eff
como la distribucin de ujosrpido y trmico en este casoutilizando volmenes y ele-
mentos sobre una malla uniforme con veinte y con cien celdas/elementos. Tomamos un ancho
de combustible o = 100 y reectores desiguales con / = 20 y c = 15.
1
reected-ux.was
SCHEME $1
a = 100 # ancho d e l f u e l
b = 20 # ancho d e l r e f l e c t o r i z q ui e r d o
c = 15 # ancho d e l r e f l e c t o r de r e c ho
n = $2 # c a nt i da d de e l e me nt o s dado en l a l i n e a de comandos
l c = a/n # l o ng i t ud c a r a c t e r i s t i c a
TEMPLATE r e f l e c t e d . t pl r e f l e c t e d . geo a b c l c
SHELL "gmsh v 0 2 r e f l e c t e d . geo "
MESH DIMENSIONS 1 DEGREES 2 FILE_PATH r e f l e c t e d . msh
INCLUDE mat er i al s . was
MILONGA_SOLVE
PRINT %.8f kef f
OUTPUT_FILE gri d f l ux$1%.0fgri d . dat n
PRINT_FUNCTION phi _1 phi _2 FILE gri d
OUTPUT_FILE cont f l ux$1%.0fcont . dat n
PRINT_FUNCTION phi _1 phi _2 FILE cont MIN b MAX a+c STEP 0. 1
$ milonga reflected-flux.was volumes 20
1.08619893
$ milonga reflected-flux.was volumes 100
1.08775910
$ milonga reflected-flux.was elements 20
1.08879051
$ milonga reflected-flux.was elements 100
1.08790118
$ pyxplot flux-20-vol.ppl
$ pyxplot flux-20-ele.ppl
$ pyxplot flux-100-vol.ppl
$ pyxplot flux-100-ele.ppl
$ pyxplot flux-1-vol.ppl
$ pyxplot flux-1-ele.ppl
$ pyxplot flux-2-vol.ppl
$ pyxplot flux-2-ele.ppl
$ pyxplot flux-1-20.ppl
$ pyxplot flux-1-100.ppl
$ pyxplot flux-2-20.ppl
$ pyxplot flux-2-100.ppl
$
Como sucede cuando uno va incrementando la complejidad de un cierto problema, la cantidad
de resultados interesantes tambin aumenta tanto en cantidad como en complejidad. Tenemos,
adems de los cuatro factores de multiplicacin efectivos, dos distribuciones de ujo para ca-
da uno de los cuatro casos numricos que queremos comparar entre s. Las guras 5.285.31
muestran los dos ujos rpido y trmico en el mismo grco para los cuatro casos. Las gu-
ras 5.325.35 comparan en el mismo grco el cambio de malla na a malla gruesa para cada
ujo y para cada esquema de discretizacin espacial. Finalmente, las guras 5.365.39 compa-
ran en cada grco los ujos calculados con volmenes y con elementos con la misma malla.
Al utilizar dos grupos de energas podemos ver la aparicin del conocido hombro trmico
en el reector, cuya existencia nos prometen pero casi nunca nos muestran en cursos de fsica
16
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 20 vol umenes


ujo termico 20 vol umenes
Figura 5.28 Comparacin de ujo rpido y ujo trmico para n = 20 con volmenes nitos
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 20 elementos


ujo termico 20 elementos
Figura 5.29 Comparacin de ujo rpido y ujo trmico para n = 20 con elementos nitos
1
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 100 vol umenes


ujo termico 100 vol umenes
Figura 5.30 Comparacin de ujo rpido y ujo trmico para n = 100 con volmenes nitos
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 100 elementos


ujo termico 100 elementos
Figura 5.31 Comparacin de ujo rpido y ujo trmico para n = 100 con elementos nitos
18
de reactores basados casi exclusivamente en soluciones analticas de problemas cannicos. Para
la malla gruesa con n = 20 es evidente de las guras que ya no es cierto que las soluciones
provistas por volmenes nitos sean el promedio de las soluciones dadas por elementos en los
nodos que denen la celda, aunque si renamos la malla podemos asumir que este resultado
sigue siendo cierto.
5.1.3.2. Efectividad de los reectores
Es un resultado conocido que la incorporacin de material reector fuera del ncleo hace que
la reactividad neta aumente. Sin embargo, no existen en general resultados analticos que in-
diquen qu tan efectivo es un reector de un cierto ancho. Dado que milonga fue diseado
principalmente para resolver problemas de optimizacin de parmetros de diseo, el estudio
de la efectividad de un reector es particularmente adecuado para ser estudiado utilizando
este cdigo.
Para ello, resolvemos el slab de la seccin anterior para un ancho de material fsil o = 100
jo variando paramtricamente los anchos / y c de los reectores, cada uno en el intervalo
[1, 40] con incrementos / = c = 2. Fijamos adems la cantidad de celdas/elementos n =
100 y gracamos el /
eff
resultante en funcin de / y de c, tanto para volmenes como para
elementos nitos. Debido a una particularidad del programa gnuplot que usamos para gracar
la supercie escalar /
eff
(/, c), debemos agregar una lnea en blanco cada vez que se incrementa
el primer parmetro. Esto lo logramos fcilmente ltrando con sed el archivo generado por
milonga en modo paramtrico. Como adems tambin nos interesa calcular la diferencia entre
los factores de multiplicacin calculados con volmenes y con elementos, usamos el comando
paste para mezclar las dos salidas de milonga en un slo archivo y poder restar una columna
de otra desde gnuplot.
keff-vs-re.was
# e s t ud i o p a r a me t r i c o s o b r e b y s o b r e c
PARAMETRIC b 1 40 2
PARAMETRIC c 1 40 2
a = 100 # ancho d e l f u e l
n = 100 # c a nt i da d de c e l d a s / e l e me nt o s
l c = a/n+1 # l o ng i t ud c a r a c t e r i s t i c a
TEMPLATE r e f l e c t e d . t pl r e f l e c t e d . geo a b c l c
SHELL "gmsh v 0 2 r e f l e c t e d . geo "
MESH DIMENSIONS 1 DEGREES 2 FILE_PATH r e f l e c t e d . msh
INCLUDE mat er i al s . was
MILONGA_SOLVE
# i mpri mi mos una l i n e a en b l a nc o cuando c =1 par a gnupl ot
IF c=1 PRINT
PRINT b c kef f
$ milonga keff-vs-refl.was --volumes > keff-vs-refl-volumes.dat
$ milonga keff-vs-refl.was --elements > keff-vs-refl-elements.dat
$ paste keff-vs-refl-volumes.dat keff-vs-refl-elements.dat > keff-vs-refl-diff.
dat
$ gnuplot keff-vs-refl-volumes.gnuplot
$ gnuplot keff-vs-refl-elements.gnuplot
1
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 20 vol umenes


ujo r apido 100 vol umenes
Figura 5.32 Comparacin para diferentes mallas de ujos rpidos con volmenes nitos
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 20 elementos


ujo r apido 100 elementos
Figura 5.33 Comparacin para diferentes mallas de ujos rpidos con elementos nitos
1o
0 25 50 75 100
x
0
0.2
0.4
0.6

ujo r apido 20 vol umenes


ujo r apido 100 vol umenes
Figura 5.34 Comparacin para diferentes mallas de ujos trmicos con volmenes nitos
0 25 50 75 100
x
0
0.2
0.4
0.6

ujo termico 20 elementos


ujo termico 100 elementos
Figura 5.35 Comparacin para diferentes mallas de ujos trmicos con elementos nitos
11
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 20 vol umenes


ujo r apido 20 elementos
Figura 5.36 Comparacin entre volmenes y elementos de ujos rpidos con n = 20
0 25 50 75 100
x
0
0.25
0.5
0.75
1
1.25

ujo r apido 100 vol umenes


ujo r apido 100 elementos
Figura 5.37 Comparacin entre volmenes y elementos de ujos rpidos con n = 100
1:
0 25 50 75 100
x
0
0.2
0.4
0.6

ujo termico con 20 vol umenes


ujo termico con 20 elementos
Figura 5.38 Comparacin entre volmenes y elementos de ujos trmicos con n = 20
0 25 50 75 100
x
0
0.2
0.4
0.6

ujo termico con 100 vol umenes


ujo termico con 100 elementos
Figura 5.39 Comparacin entre volmenes y elementos de ujos trmicos con n = 100
1
$ gnuplot keff-vs-refl-diff.gnuplot
$
Las guras 5.40 y 5.41 muestran cmo depende el factor de multiplicacin para un o jo,
en funcin de los espesores / y c de los reectores izquierdo y derecho respectivamente. Como
es de esperar, para espesores pequeos, el /
eff
es pequeo y aumenta a medida que tambin
lo hacen / y c. Y, como tambin es de esperar, la efectividad satura y a partir de un cierto es-
pesor, ya no tiene sentido seguir agregando material para aumentar la reactividad esttica. En
principio, las dos gurasuna calculada con volmenes y otra con elementosparecen indis-
tigibles. Sin embargo, vemos que las curvas de isoreactividad proyectadas sobre el plano / c
no coinciden. Para mejor comparar los mtodos de volmenes y elementos, gracamos en la
gura 5.42 la diferencia entre el /

eff
calculado con volmenes y el /

eff
calculado con elemen-
tos. No slo vemos que esta diferencia aumenta a medida que hay ms material reector con
respecto a una cantidad ja de material fsil, sino tambin notamos que /

eff
/

eff
< 0 por lo
que el factor de multiplicacin calculado con volmenes es menor que el calculado con ele-
mentos. Este comportamiento es opuesto a lo que habamos encontrado en la seccin 5.1.1, en
particular en la gura 5.4 y en la ecuacin (5.7). Parecera que el carcter de exceso o defecto
en el error cometido por las dos discretizaciones espaciales estudiadas depende de la relacin
entre la cantidad de material multiplicativo y no multiplicativo contenido en el dominio donde
resolvemos la ecuacin de difusin. Este incipiente resultado debera ser objeto de futuros y
detallados estudios, que nos permitan entender mejor an cmo funcionan los mtodos num-
ricos que utilizamos para disear y analizar reactores nucleares reales.
5.1.3.3. Slab con reector y absorbentes
Adems de incluir reectores en los extremos, en esta seccin resolvemos un reactor tipo slab
undimensional con materiales absorbentes embebidos dentro del material fsil base con la geo-
metra que mostramos en la gura 5.43. En este problema, esperamos que el ujo se deprima
alrededor de los absorbentes. Utilizando las secciones ecaces denidas en el archivo materia-
les.was mostrado en la pgina 144, el absorbente uno tiene secciones ecaces de absorcin que
son un orden de magnitud mayores que el absorbente dos por lo que a su vez hacemos que su
espesor n
1
sea menor que el espesor n
2
del absorbente dos.
Adems de calcular el /
eff
, tambin estamos interesados ahora en calcular el factor de pico )
p
de la distribucin de potencia denido como el cociente entre el valor mximo y el valor medio
del ujo trmico en el ncleo
)
p
=
max
x

2
(r)
1
o
_
a
0

2
(r) dr
Esta vez, en lugar de usar un archivo template para generar tanto el archivo de geometra
como el archivo de malla desde milonga, partimos de tres archivos de geometra jos. Los
tres denen la misma geometra continua de la gura 5.43 con la diferencia que cada uno de
ellos asigna longitudes caractersticas diferentes a los puntos que denen los centros de los
materiales absorbentes. Todos se basan en el archivo bsico llamado slab-abs.geo, que deja
abierta la posibilidad de que la malla pueda ser renada alrededor de los absorbentes alterando
la longitud caracterstica base /
c
a travs de factores )
1
y )
2
:
slab-abs.geo
a = 100; / / ancho d e l s l a b
1
0
10
20
30
40
0
10
20
30
40
1.07
1.075
1.08
1.085
1.09
k
e

b
c
k
e

Figura 5.40 Efectividad de reectores bajo la forma de una supercie k


eff
(b, c) resolviendo un slab reejado con
volmenes nitos
0
10
20
30
40
0
10
20
30
40
1.07
1.075
1.08
1.085
1.09
k
e

b
c
k
e

Figura 5.41 Efectividad de reectores bajo la forma de una supercie k


eff
(b, c) resolviendo un slab reejado con
elementos nitos
1
0
10
20
30
40 0
10
20
30
40
-7.0e-04
-6.0e-04
-5.0e-04
-4.0e-04
-3.0e-04
-2.0e-04
-1.0e-04
0.0e+00
1.0e-04
b
c
Figura 5.42 Diferencia entre la efectividad de reectores calculados con volmenes y con elementos nitos.
b = 20; / / l ong r e f l i z q ui e r d o
c = 15; / / l ong r e f l de r e c ho
x1 = 40; / / c e nt r o d e l a b s o r b e nt e 1
w1 = 1; / / ancho d e l a b s o r b e nt e 1
x2 = 70; / / c e nt r o d e l a b s o r b e nt e 2
w2 = 6; / / ancho d e l a b s o r b e nt e 2
Poi nt ( 1 ) = { b , 0 , 0 , l c } ;
Poi nt ( 2 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 3 ) = { a , 0 , 0 , l c } ;
Poi nt ( 4 ) = { a+c , 0 , 0 , l c } ;
Poi nt ( 5 ) = { x1 0.5w1, 0 , 0 , f 1 l c } ;
Poi nt ( 6 ) = { x1 +0. 5w1, 0 , 0 , f 1 l c } ;
Poi nt ( 7 ) = { x2 0.5w2, 0 , 0 , f 2 l c } ;
Poi nt ( 8 ) = { x2 +0. 5w2, 0 , 0 , f 2 l c } ;
Poi nt ( 15) = { x1w1, 0 , 0 , l c } ;
Poi nt ( 16) = { x1+w1, 0 , 0 , l c } ;
Poi nt ( 17) = { x2w2, 0 , 0 , l c } ;
Poi nt ( 18) = { x2+w2, 0 , 0 , l c } ;
Li ne ( 1 ) = { 1 , 2 } ;
Li ne ( 2 ) = { 2 , 1 5 } ;
Li ne ( 3 ) = { 15 , 5 } ;
Li ne ( 4 ) = { 5 , 6 } ;
Li ne ( 5 ) = { 6 , 1 6 } ;
Li ne ( 6 ) = { 16 , 1 7 } ;
16
reector
izquierdo
reector
derecho
absorbente 1
combustible
absorbente 2
Figura 5.43 Slab reejado con absorbentes
Li ne ( 7 ) = { 17 , 7 } ;
Li ne ( 8 ) = { 7 , 8 } ;
Li ne ( 9 ) = { 8 , 1 8 } ;
Li ne ( 10) = { 18 , 3 } ;
Li ne ( 11) = { 3 , 4 } ;
Physi cal Line ( " l e f t _ r e f l " ) = { 1 } ;
Physi cal Line ( " f uel " ) = { 2 , 3 , 5 , 6 , 7 , 9 , 1 0 } ;
Physi cal Line ( " abs1 " ) = { 4 } ;
Physi cal Line ( " abs2 " ) = { 8 } ;
Physi cal Line ( " r i g ht _ r e f l " ) = { 1 1 } ;
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 4 } ;
La primer malla consiste en una discretizacin na uniforme con /
c
= 0,02, que tomamos
como la solucin referencia del problema:
slab-no.geo
l c = 0 . 0 2 ;
f 1 = 1;
f 2 = 1;
I ncl ude " sl ababs . geo " ;
En la segunda, aumentamos el tamao caracterstico del elemento base /
c
= 3 y se lo apli-
camos a todos los puntos por igual haciendo )
1
= )
2
= 1:
slab-ref.geo
1
l c = 3;
f 1 = 1;
f 2 = 1;
I ncl ude " sl ababs . geo " ;
No obstante, debido a que ambos absorbentes est denidos por cuatro puntos
Finalmente, investigamos qu sucede si mantenemos /
c
= 3 pero a la vez renamos la malla
alrededor de los absorbentes:
slab-renado.geo
l c = 3;
f 1 = 0 . 0 0 5 ;
f 2 = 0 . 1 ;
I ncl ude " sl ababs . geo " ;
Para cada una de estos tres archivos de geometra, resolvemos el slab resultante con milonga
utilizando primero volmenes nitos y luego elementos nitos. Una vez realizados los seis
clculos, construimos una tabla en el archivo slab.txt que indica la reactividad esttica y el
factor de pico para cada caso, tal como mostramos en la terminal.
slab.was
# e l a r c h i v o de mal l a l o l e e mos de l a l i n e a de comandos
MESH FILE_PATH $1 DIMENSIONS 1 DEGREES 2
SCHEME $2 # i dem e l esquema numeri co
INCLUDE mat er i al s . was
MILONGA_SOLVE
a = 100
# como wasora no pr o ve e busqueda de maximo pe r o s i de minimo ,
# buscamos donde e s t a e l minimo de phi _2 ( x )
# usamos como i n t e r v a l o de busqueda [ 10 , 30]
xmax = func_min(phi _2 ( x ) , x , 10 , 30)
# e l f a c t o r de p i c o s e toma s o b r e e l v a l o r medi o s o l o donde s e
# ge ne r a po t e nc i a , que e s en e l i n t e r v a l o [ 0 , a ]
f_p = phi_2 ( xmax) /(1/a i nt egr al ( phi _2 ( x ) , x , 0 , a ) )
# most ramos en p a n t a l l a como r e s o l v i mo s e l pr obl e ma
PRINT TEXT " $1 " TEXT " $2 " %.1f 1e5 ( kef f 1)/kef f %.2f xmax %.3f f_p
# y e s c r i b i mo s l a d i s t r i b u c i n o de f l u j o en un a r c h i v o
OUTPUT_FILE f l uj o $1$2 . dat
PRINT_FUNCTION phi _1 phi _2 FILE f l uj o
$ echo malla___________________metodo__________rho_____xmax____factor de pico >
slab.txt
$ gmsh -v 0 -1 slab-fino.geo
18
$ milonga slab.was slab-fino.msh volumes >> slab.txt
$ milonga slab.was slab-fino.msh elements >> slab.txt
$ gmsh -v 0 -1 slab-sin-ref.geo
$ milonga slab.was slab-sin-ref.msh volumes >> slab.txt
$ milonga slab.was slab-sin-ref.msh elements >> slab.txt
$ gmsh -v 0 -1 slab-refinado.geo
$ milonga slab.was slab-refinado.msh volumes >> slab.txt
$ milonga slab.was slab-refinado.msh elements >> slab.txt
$ pyxplot slab-refinado.ppl
$ pyxplot slab-refinado-zoom.ppl
$ pyxplot slab-sin-ref.ppl
$ pyxplot slab-sin-ref-zoom.ppl
$ cat slab.txt
malla___________________metodo__________rho_____xmax____factor de pico
slab-fino.msh volumes -1163.3 19.72 1.239
slab-fino.msh elements -1163.5 19.74 1.239
slab-sin-ref.msh volumes -1032.0 18.00 1.270
slab-sin-ref.msh elements -1249.5 18.00 1.219
slab-refinado.msh volumes -1272.2 18.00 1.267
slab-refinado.msh elements -1115.7 21.00 1.224
$
Como vemos en la terminal, tanto el factor de multiplicacin como el factor de pico cal-
culado con volmenes y con elementos prcticamente coinciden, con lo que tomamos a esta
solucin como la solucin correcta. Notablemente, vemos que la reactividad esttica calculada
con elementos (volmenes) usando la segunda malla con /
c
= 3 uniforme tiene un error por
exceso (defecto) con respecto a la solucin de referencia, mientras que usando la tercera malla
con /
c
= 3 renando alrdedor de los absorbentes el error es por defecto (exceso). Sin embar-
go, el errores cometidos en el clculo de )
p
mantiene el signo para el mismo mtodo para las
diferentes mallas pero cambia de signo para la misma malla al cambiar de mtodo (sic). Las
guras 5.44 y 5.45 comparan la solucin de referencia con las obtenidas usando la segunda y la
tercera, respectivamente. Hacemos un zoom alrededor del absorbente uno en las guras 5.46
y 5.47, donde observamos que debido a que n
1
< /
c
, existe un renamiento implcito an en
la segunda malla. De las guras y de la tabla que construimos en el archivo slab.txt mostra-
do en la terminal concluimos que la importancia del renamiento selectivo es ms patente en
el clculo del factor de multiplicacin efectiva que para la distribucin de ujoy por ende
del factor de picoya que los errores en /
eff
disminuyen mucho ms al renar que los errores
en )
p
. Nuevamente, la extraa dependencia del signo del error de /
eff
con la malla nos inducen
a realizar en el futuro estudios ms detallados sobre los mtodos numricos involucrados en la
solucin de la ecuacin de difusin de neutrones.
5.1.4. Slab con distribucin continua de propiedades
Para nalizar la seccin sobre problemas unidimensionales, estudiamos cmo se comportan
los mtodos numricos cuando las secciones ecaces, adems de presentar discontinuidades
debido a la aparicin de diferentes materiales, varan contnuamente dentro de un mismo
materialque es el caso general que se presenta en problemas de inters ingenieril. Para ello,
resolvemos un slab compuesto de un material fsil central con reectores en los extremos pero
con la particularidad de que las secciones ecaces macroscpicos del combustible dependen
en forma continua de la posicin r a travs de distribuciones espaciales de propiedades. Un
clculo ingenieril debera incluir una geometra apropiada, distribuciones de propiedades co-
mo temperaturas, densidades, quemados del combustible, concentraciones de venenos, etc.
adecuadas (caso que usualmente involucra clculos no lineales) y secciones ecaces macrosc-
1
0 25 50 75 100
x
0
0.5
1

ujo r apido elementos malla na


ujo r apido vol umenes malla sin renar
ujo r apido elementos sin renar
ujo termico elementos malla na
ujo termico vol umenes malla sin renar
ujo termico elementos malla sin renar
Figura 5.44 Comparacin entre la solucin de referencia (lnea llena) y las soluciones por volmenes y por
elementos sobre la malla gruesa sin renar.
0 25 50 75 100
x
0
0.5
1

ujo r apido elementos malla na


ujo r apido vol umenes malla renada
ujo r apido elementos renada
ujo termico elementos malla na
ujo termico vol umenes malla renada
ujo termico elementos malla renada
Figura 5.45 Comparacin entre la solucin de referencia (lnea llena) y las soluciones por volmenes y por
elementos sobre la malla gruesa renada en los absorbentes.
16o
35 37.5 40 42.5 45
x
0.640
0.680
0.720
0.760
0.800
0.840

ujo r apido elementos malla na


ujo r apido vol umenes malla sin renar
ujo r apido elementos sin renar
Figura 5.46 Zoom de la gura 5.44 alrededor del absorbente uno
35 37.5 40 42.5 45
x
0.640
0.680
0.720
0.760
0.800
0.840

ujo r apido elementos malla na


ujo r apido vol umenes malla renada
ujo r apido elementos renada
Figura 5.47 Zoom de la gura 5.45 alrededor del absorbente uno
161
0
2500
5000
7500
10000
680
720
760
800
840
880 0.1
0.11
0.12
0.13
0.14
X
S

d
e

a
b
s
o
r
c
i
o
n

t
e
r
m
i
c
a

[
1
/
c
m
]
quemado [MW dia/ton]
temperatura [K]
X
S

d
e

a
b
s
o
r
c
i
o
n

t
e
r
m
i
c
a

[
1
/
c
m
]
Figura 5.48 Seccin ecaz macroscpica de absorcin en el grupo rpido en funcin del quemado y de la
temperatura.
picas en funcin de dichas propiedades condensadas a partir de clculos paramtricos reali-
zados con cdigos de neutrnicos de celda. En la resolucin del problema que sigue, tanto la
distribucin de las propiedades como la forma en la que las secciones ecaces macroscpicas
dependen de estas propiedades son completamente inventadas.
En particular, dejamos que las secciones ecaces del material fuel puedan depender de
una cierta distribucin de temperatura del combustible T(r) y de una cierta distribucin de
quemado (r). A modo de ejemplo, inventamos que la seccin ecaz
a2
_
, T
_
depende del
quemado y de la temperatura segn una funcin denida por puntos (que podramos ha-
ber calculado con un cdigo de celda) que mostramos en la gura 5.48. Adems, denimos
arbitrariamenteque podemos escribir
f2
_
, T
_
como

f2
_
, T
_
=
f0
_

_
c
T
_

T
_
T
0
_
donde
f0
() la funcin denida por puntos (que tambin podramos haber calculado con un
cdigo de celda) que mostramos en la gura 5.49, c es un coeciente con unidades de longitud
inversa por temperatura a la menos un medio, y T
0
es la temperatura a la cual corresponde la
funcin
f0
(). Por simplicidad, mantenemos el resto de las secciones ecaces del combus-
tible constantes e independiente de r. Podemos implementar estas dependencias en milonga
con el siguiente archivo que dene los materiales y sus secciones ecaces que, como es de es-
perar, presenta una complejidad superior a las deniciones que estuvimos utilizando hasta el
momento:
xs.was
# t a b l a de XS de f i s i o n en f unc i o n d e l quemado a T0
# e l quemado e s t a en MWdi a / tonU y l a XS en 1/ cm
FUNCTION nusigmaf0 ( q) INTERPOLATION akima DATA {
16:
0.10
0.12
0.14
0.16
0.18
0.20
0.22
0 2500 5000 7500 10000
X
S

d
e

n
u
-

s
i
o
n

g
r
u
p
o

r
a
p
i
d
o

[
1
/
c
m
]
quemado [MW dia/ton]
Figura 5.49 Seccin ecaz macroscpica de -siones en el grupo rpido en funcin del quemado para una
temperatura constante igual a 700 K.
0 0. 205
1200 0. 214
5000 0. 183
8000 0. 155
10000 0. 110
}
# t e mpe r a t ur a c e n t r a l en k e l v i n
T0 = 700
# c o e f i c i e n t e de v a r i a c i o n con l a t e mpe r a t ur a
cT = 3. 5 e3
# t a b l a de XS de a b s o r c i o n en f unc i o n d e l quemado
# y de l a t e mpe r a t ur a dada en un a r c h i v o s e pa r a do
FUNCTION sigmaa ( q , T) FILE_PATH sigmaa . xs INTERPOLATION r ec t angl e
# d e f i n i c i o n de ma t e r i a l e s y sus XS en 1/ cm
MATERIAL f uel {
D_1 1. 5
D_2 0. 4
SigmaS_1>2 0. 02
SigmaA_1 0. 01
SigmaA_2 sigmaa ( quem( x ) , temp( x ) )
nuSigmaF_2 nusigmaf0 ( quem( x ) )cT( sqr t ( temp( x ) )sqr t ( T0 ) )
}
MATERIAL l e f t _ r e f l {
D_1 2. 0
D_2 0. 3
SigmaS_1>2 0. 04
SigmaA_1 0. 00
SigmaA_2 0. 01
16
}
MATERIAL r i g ht _ r e f l {
D_1 2. 0
D_2 0. 3
SigmaS_1>2 0. 05
SigmaA_1 0. 00
SigmaA_2 0. 005
}
# generamos l o s da t o s par a ge ne r a r l a s f i g u r a s de SigmaA_2 y de
# nuSigmaF_2 con e s t a s i n s t r u c c i o n e s pe r o no l a s ne c e s i t a mo s
# OUTPUT_FILE a b s o r c i o n si gmaac ont . xs
# PRINT_FUNCTION FILE a b s o r c i o n si gmaa MIN 0 700 MAX 10000 850 STEP 200 5
#
# OUTPUT_FILE f i s i o n f i s i o n c ont . xs
# PRINT_FUNCTION FILE f i s i o n nusi gmaf 0 MIN 0 MAX 10000 STEP 100
As denidas, las secciones ecaces
a2
y
f2
del material fuel dependen de la coordenada
espacial rque es la nica dependencia que pueden tener en un problema unidimensional
a travs de las funciones intermedias quem(r) y temp(r)
2
que deben ser denidas en algn
lugar del archivo de entrada de milonga. Para analizar por separado el efecto de incorporar
propiedades continuas a secciones ecaces que dependen de dichas propiedades, tomamos
cuatro casos. El primero, que llamamos el caso base consiste en distribuciones uniformes tanto
de quemado como de temperatura:
quem
base
(r) = 0
temp
base
(r) = 700 K
y que implementamos en un archivo de milonga separado como
base.was
# c a s o b a s e : ponemos quemado i g ua l a c e r o y t e mpe r a t ur a
# i g ua l a 700K par a c ua l q ui e r x
quem( x ) : = 0
temp( x ) : = 700
En el segundo, damos una distribucin senoidal de temperatura manteniendo quemado
cero en todo el ncleo:
quem
temp
(r) = 0
temp
temp
(r) = 700 K + 150 K sin
_
r
o

_
temperatura.was
# c a s o con t e mpe r a t ur a s o l a me nt e
2
Estas funciones no pueden llamarse q(x) y T(x) porque los identicadores q y T ya fueron usados como
variables.
16
# quemado c e r o
quem( x ) : = 0
# una d i s t r i b u c i o n de t e mpe r a t ur a s e n o i d a l
# a p a r t i r de 700K con un p i c o de 850K
temp( x ) : = 700 + 150 si n ( x/a pi )
En el tercero, mantenemos la uniforme de temperatura pero generamos una distribucin
de quemados interpolando linealmente diez valores generados al azar distribuidos uniforme-
mente en el intervalo [0, o]:
quemado.was
# c a s o con quemado s o l a me nt e
# t e mpe r a t ur a uni f or me
temp( x ) : = 700
# quemado random ( pe r o con s e mi l l a par a h a c e r l o r e p e t i t i v o )
# i nt e r p o l a nd o d i e z v a l o r e s e nt r e 0 y 9000
NUMBER N 10
VECTOR vecx N
VECTOR vecbu N
vecx ( i ) = ( i 1/2)a/N
vecbu ( i ) = random( 0 , 9000 , 12345+123 i )
FUNCTION quem( x ) VECTORS vecx vecbu
Finalmente, en el cuarto damos ambas distribuciones no triviales:
quemado-temp.was
# c a s o con quemado y con t e mpe r a t ur a
# quemado random ( pe r o con s e mi l l a par a h a c e r l o r e p e t i t i v o )
# i nt e r p o l a nd o d i e z v a l o r e s e nt r e 0 y 9000
NUMBER N 10
VECTOR vecx N
VECTOR vecbu N
vecx ( i ) = ( i 1/2)a/N
vecbu ( i ) = random( 0 , 9000 , 12345+123 i )
FUNCTION quem( x ) VECTORS vecx vecbu
# una d i s t r i b u c i o n de t e mpe r a t ur a s e n o i d a l
# a p a r t i r de 700K con un p i c o de 850K
temp( x ) : = 700 + 150 si n ( x pi /a )
Debemos notar que si las secciones ecaces dependiesen de r indirectamente a travs del
ujocomo por ejemplo debera ser el caso de la temperatura del combustible, que depende de
la potencia local que a su vez depende de (r)entonces la formulacin del problema dejara
16
de ser lineal y tendramos que resolverlo en forma iterativa. Como este tema est fuera del
alcance de este trabajo (e incluso del alcance del curso de posgrado para el cual lo escribimos),
todas las secciones ecaces inventadas son funciones explcitas de la posicin espacial.
La geometra consiste en un slab unidimensional con un combustible central de ancho o,
reejado a la izquierda por un material reector de ancho / y a la derecha por otro de ancho c,
que ya denimos en la seccin anterior. Dado que ahora estamos especicando que las seccio-
nes ecaces estn en unidades de cm
1
, entonces las longitudes deben tener dimensiones de
centmetros. El archivo de geometra que usamos en este caso es:
reected.geo
/ / t o da s l a s l o ng i t ud e s e s t a n en c e nt i me t r o s
a = 100;
b = 20;
c = 15;
l c = 2;
Poi nt ( 1 ) = { b , 0 , 0 , l c } ;
Poi nt ( 2 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 3 ) = { a , 0 , 0 , l c } ;
Poi nt ( 4 ) = { a+c , 0 , 0 , l c } ;
Li ne ( 1 ) = { 1 , 2 } ;
Li ne ( 2 ) = { 2 , 3 } ;
Li ne ( 3 ) = { 3 , 4 } ;
Physi cal Line ( " l e f t _ r e f l " ) = { 1 } ;
Physi cal Line ( " f uel " ) = { 2 } ;
Physi cal Line ( " r i g ht _ r e f l " ) = { 3 } ;
Physi cal Poi nt ( " l e f t " ) = { 1 } ;
Physi cal Poi nt ( " r i ght " ) = { 4 } ;
Para poder resolver cada uno de los cuatro casos con diferentes combinaciones de distribu-
ciones de quemado y temperatura, incluimos desde el archivo de entrada principal el archivo
de entrada secundario que indique el usuario en la linea de comando. De esta manera, al igual
que venimos haciendo para poder utilizar tanto volmenes como elementos nitos con el mis-
mo input, podemos resolver los cuatro casos con ambos mtodos con el mismo archivo de
entrada principal:
slab.was
SCHEME $2
# e l ancho d e l c o mb us t i b l e
a = 100
b = 20
c = 15
# i nc l ui mo s e l a r c h i v o que d e f i n e l a s d i s t r i b u c i o n e s de quemado
# y de t e mpe r a t ur a segun e l argument o de l a l i n e a de comandos
INCLUDE $1 . was
# l a s s e c c i o n e s e f i c a c e s son i nd e p e nd i e nt e s de l a s d i s t r i b u c i o n e s !
MESH DIMENSIONS 1 DEGREES 2 FILE_PATH r e f l e c t e d . msh
166
INCLUDE xs . was
MILONGA_SOLVE
PRINT %.8f kef f
# e s c r i b i mo s en un a r c h i v o l a s d i s t r i b u c i o n e s de t e mpe r a t ur a y quemado
# y l a s s e c c i o n e s e f i c a c e s r e s u l t a n t e s
OUTPUT_FILE xs xs$1 . dat
PRINT_FUNCTION FILE xs SigmaA_2 nuSigmaF_2 temp quem MIN b MAX a+c STEP 1
# e s c r i b i mo s en o t r o a r c h i v o l o s f l u j o s
# e l r e s u l t a d o ahor a de pe nde d e l met odo de s o l uc i o n
OUTPUT_FILE f l uj o $1$2 . dat
PRINT_FUNCTION FILE f l uj o phi_1 phi_2
$ gmsh -2 -v 0 reflected.geo
$ milonga slab.was base volumes
1.32219423
$ milonga slab.was base elements
1.32288864
$ milonga slab.was temperatura volumes
1.18308252
$ milonga slab.was temperatura elements
1.18467515
$ milonga slab.was quemado volumes
1.06928033
$ milonga slab.was quemado elements
1.07048909
$ milonga slab.was quemado-temp volumes
0.99862399
$ milonga slab.was quemado-temp elements
1.00067722
$ pyxplot quem.ppl
$ pyxplot temp.ppl
$ pyxplot sigmaa.ppl
$ pyxplot nusigmaf.ppl
$ pyxplot fast-volumes.ppl
$ pyxplot thermal-volumes.ppl
$ pyxplot fast-elements.ppl
$ pyxplot thermal-elements.ppl
$
Las guras 5.505.53 muestran las distribuciones de temperatura y quemado en el ncleo y
las secciones ecaces resultantes en todo el slab para cada uno de los cuatro casos. En las gu-
ras 5.54 y 5.55 mostramos los ujos resultantes utilizando volmenes nitos y en 5.56 y 5.57 los
obtenidos con elementos nitos para las distribuciones de propiedades y las dependencias de
las secciones ecaces que inventamos, de todas las posibles que podramos llegar a haber elegi-
do. Est claro que existe una gran cantidad de combinaciones de distribuciones y de secciones
ecaces que podramos estudiar, y para cada una de ella habra tambin una gran cantidad de
resultados que podramos obtener, los que a su vez nos haran llegar a otra gran cantidad de
conclusiones.
En general, vemos que tanto el mtodo de volmenes nitos como de elementos nitos son
capaces de resolver en forma ms o menos satisfactoria todos los casos que estudiamos, con tal
de que la malla sea razonablemente renada. En general vemos que las soluciones encontradas
con elementos nitos estn ms cercanas a las soluciones de referenciasean stas analticas
16
0 20 40 60 80 100
x[cm]
700
750
800
850
t
e
m
p
(
x
)
[
K
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.50 Distribuciones de temperaturas en el ncleo
0 20 40 60 80 100
x[cm]
0
2500
5000
7500
10000
q
u
e
m
(
x
)
[
M
W
D

t
o
n
U

1
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.51 Distribuciones de quemados en el ncleo
168
0 25 50 75 100
x[cm]
0
0.05
0.1

a
2
[
c
m

1
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.52 Seccin ecaz macroscpica de absorcin del grupo trmico
0 25 50 75 100
x[cm]
0
0.1
0.2

f
2
[
c
m

1
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.53 Seccin ecaz macroscpica de -siones del grupo trmico
16
0 25 50 75 100
x[cm]
0
0.5
1
1.5

1
[
U
A
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.54 Flujos rpidos resueltos con volmenes nitos
0 25 50 75 100
x[cm]
0
0.25
0.5
0.75
1

2
[
U
A
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.55 Flujos trmicos resueltos con volmenes nitos
1o
0 25 50 75 100
x[cm]
0
0.5
1
1.5

1
[
U
A
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.56 Flujos rpidos resueltos con elementos nitos
0 25 50 75 100
x[cm]
0
0.25
0.5
0.75
1

2
[
U
A
]
caso base
s olo con temperatura
s olo con quemado
con temperatura y quemado
Figura 5.57 Flujos trmicos resueltos con elementos nitos
11
u obtenidas con mallas extremadamente nasque las que arroja el mtodo de volmenes
nitos. Como los problemas unidimensionales no presentan una complejidad computacional
sucientemente grande como para tener que decidir qu mtodo seleccionar para resolver un
cierto caso en base a limitaciones de tiempo de ejecucin o de almacenamiento de datos, por lo
que concluimos que el mtodo de elementos nitos es ligeramente superior al de volmenes
nitos en una dimensin.
Notamos nalmente que an en geometras sencillas tipo slab, es posible observar efectos
como los hombros trmicos o las discontinuidades en las derivadas del ujo que tambin apa-
recen en casos reales. De todas maneras, estos fenmenos son caractersticos de formulaciones
a varios grupos y de secciones ecaces no uniformes, problemas que no es posible resolver
analticamente y que requieren necesariamente la aplicacin de mtodos numricos. Es por eso
que si bien resolver los primeros problemas de slabs con elementos nitos pareca una dema-
sa, estos ltimos problemas que involucran secciones ecaces que dependen de la posicin
tanto continuamente a travs de propiedades como discontinuamente con cambios de materia-
les muestran que para observar an en forma simplicada los efectos que realmente interesan
en problemas tridimensionales necesitamos la aplicacin de esquemas numricos de discreti-
zacin espacial tales como volmenes o elementos nitos. Sin embargo, aunque los detalles
ingenieriles estn fuera del objetivo tanto de este captulo como del trabajo, en problemas de
aplicacin industrial puede suceder de que dependiendo de la forma en la que se condensen
y homogeneicen las secciones ecaces en los cdigos de celda, los esquemas en volmenes
arrojen mejores resultados al utilizar tambin celdas en los clculos de ncleo.
5.2. Problemas en dos dimensiones
Pasamos ahora a estudiar problemas en dos dimensiones, donde las diferencias entre las solu-
ciones obtenidas utilizando esquemas espaciales basados en volmenes nitos y en elementos
nitos por el otro se hacen ms patentes. Estos problemas introducen unas complejidades que
son tambin caractersticas de problemas tridimensionales, mientras que al mismo tiempo las
soluciones son ms fciles de estudiar y analizar. Ciertamente, los casos bidimensionales son
ms desaantesy divertidosque los slabs ya los mtodos numricos son mandatorios.
5.2.1. Crculo desnudo homogneo
El primer problema bidimensional que resolvemos consiste en un reactor circular de radio o a
un grupo de energas con secciones ecaces uniformes (gura 5.58) con condicin de contorno
de ujo nulo en : =
_
r
2
+ j
2
= o, que es el caso bidimensional ms sencillo que existe. Nos
detenemos brevemente en este problema primero porque tiene solucin analtica con lo que po-
demos evaluar y comparar no slo los errores cometidos por los dos esquemas numricos sino
tambin como cambian estos errores con respecto al caso unidimensional de la seccin 5.1.1.
Adems, la sencillez de la solucin nos permite introducir y comparar la forma de reportar
distribuciones multidimensionales en celdas y en nodos, que a partir de ahora realizamos con
las facilidades de post-procesamiento de gmsh.
El factor de multiplicacin efectivo analtico es
/
eff
=

f1

a1
+ 1
1

0
o
_
2
(5.10)
y la distribucin de ujo normalizada de forma tal que el valor medio sea igual a la unidad
resulta
1:
Figura 5.58 Crculo bidimensional desnudo con propiedades homogneas

1
(:) =

2
0
2
_

0
0
J
0
(:) : d:
J
0
_

:
o
_
(5.11)
donde J
0
(:) es la funcin cilndrica de Bessel de orden cero,
0
2,4048 . . . es su primer cero.
Tanto el valor de
0
como la integral de normalizacin pueden ser calculados numricamente
desde el input de milonga.
5.2.1.1. Distribucin de ujo
Lo primero que hacemos con el reactor circular desnudo uniforme a un grupo de energas de
radio o es calcular la distribucin de ujo tanto con volmenes como con elementos nitos
y compararla con la distribucin analtica dada por la ecuacin (5.11). Adems, dado que in-
sume slo una linea de entrada, calculamos el /
eff
analtico dado por la ecuacin (5.10) y lo
comparamos con el factor de multiplicacin hallado numricamente.
En dos dimensiones, no slo debemos elegir el mtodo de discretizacin espacial sino tam-
bin la forma base de las celdas/elementos. stos pueden ser tringulos o cuadrngulos, que
pueden aparecer mezclados para aproximar mejor una cierta geometra continua. Para estu-
diar cmo se comportan los mtodos numricos en dos dimensiones, resolvemos entonces el
reactor circular tanto con tringulos como con cuadrngulos como gura base, mateniendo ja
la longitud caracterstica /
c
de la malla.
Para mallar una supercie bidimensional, el cdigo gmsh siempre comienza aplicando al-
gn algoritmo de mallado que genera tringulos. En caso de requerir cuadrngulos, stos son
recombinados utilizando otro algoritmo. Las combinaciones forma de celda/element (tringu-
lo o cuadrngulo) y de esquema de discretizacin espacial (volmenes o elementos) son cuatro.
Para poder utilizar el mismo input de milonga para resolver los cuatro casos, seleccionamos el
mtodo y la forma bsica desde la lnea de comandos como venimos haciendo desde la seccin
anterior. Pero adems, al resolver este problema ilustramos una manera de incorporar tanto
la geometra continua como las instrucciones para generar guras directamente en el input de
milonga al generar todos los archivos necesarios con instrucciones PRINT. Es por eso que el
input que usamos es particularmente largo, pero slo para mostrar la exibilidad del cdigo.
Fijamos o = 100 y /
c
= 20, generamos el archivo de geometra con esta informacin, lla-
mamos a gmsh y resolvemos el problema numrico. Adems, calculamos el /
eff
analtico con
1
la ecuacin (5.10) y denimos una funcin ux(r, j) con la distribucin espacial del ujo dada
por la ecuacin (5.11). Como esta distribucin est normalizada, podemos compararla con la
solucin numrica
1
(r, j) para generar una funcin error(r, j). Las salidas consisten en los
dos factores de multiplicacin y su diferencia por la salida estndar y la generacin de cuatro
guras para cada corrida: dos con gnuplot y dos con gmsh en modo post-procesamiento. La
primera consiste en una supercie tridimensional que muestra los valores calculados del ujo
en los centros de las celdas o en los nodos, segn corresponda. La segunda es una evaluacin
del ujo numrico sobre el rango [o : o] [o : o] con incrementos r = j = o,400, forzan-
do de esta manera a milonga a interpolar la solucin en puntos arbitrarios, utilizando para ello
las funciones de forma discutidas en el captulo 4 en caso de haber seleccionado el mtodo de
elementos nitos. Las ltimas guras consisten en dos vistas de post-procesamiento de gmsh
del ujo numrico y del error cometido con respecto a la solucin analtica.
ujo.was
SCHEME $1
a = 100 # r a d i o d e l c i r c u l o
l c = 20 # l o ng i t ud c a r a c t e r i s t i c a
# en l uga r de us ar un t e mpl a t e , d i r e c t a me nt e e s c r i b i mo s t o do e l
# a r c h i v o de ge o me t r i a c o mpl e t o
OUTPUT_FILE geo c i r c ul o . geo
PRINT FILE geo TEXT " a =" %g a TEXT " ; " SEPARATOR " "
PRINT FILE geo TEXT " l c =" %g l c TEXT " ; " SEPARATOR " "
PRINT FILE geo TEXT "Mesh. Algorithm = 8 ; "
PRINT FILE geo TEXT " Poi nt ( 1 ) = \{ 0 , 0 , 0 , l c \} ; "
PRINT FILE geo TEXT " Poi nt ( 2 ) = \{ a , 0 , 0 , l c \} ; "
PRINT FILE geo TEXT " Poi nt ( 3 ) = \{ 0 , a , 0 , l c \} ; "
PRINT FILE geo TEXT " Poi nt ( 4 ) = \{a , 0 , 0 , l c \} ; "
PRINT FILE geo TEXT " Poi nt ( 5 ) = \{ 0 , a , 0 , l c \} ; "
PRINT FILE geo TEXT " Ci r c l e ( 1 ) = \{ 2 , 1 , 3\} ; "
PRINT FILE geo TEXT " Ci r c l e ( 2 ) = \{ 3 , 1 , 4\} ; "
PRINT FILE geo TEXT " Ci r c l e ( 3 ) = \{ 4 , 1 , 5\} ; "
PRINT FILE geo TEXT " Ci r c l e ( 4 ) = \{ 5 , 1 , 2\} ; "
PRINT FILE geo TEXT " Li ne Loop( 5 ) = \{ 2 , 3 , 4 , 1\} ; "
PRINT FILE geo TEXT " Pl ane Surf ace ( 6 ) = \{ 5\} ; "
PRINT FILE geo TEXT " Physi cal Li ne ( \" bc \" ) = \{ 1 , 2 , 3 , 4\} ; "
PRINT FILE geo TEXT " Physi cal Surf ace ( \" f uel \" ) = \{ 6\} ; "
# s i e l segundo argument o e s quad , i ndi c amos a gmsh que queremos
# que r e c ombi ne l o s t r i a n g ul o s par a o b t e ne r c ua dr a ngul o s
# ( t o d a v i a no e s t a i mpl e me nt ado e l manej o de s t r i n g s en wasora )
SHELL " i f [ \" $2\" = \"quad\" ] ; then echo \"Mesh. RecombineAll = 1; \" >>
c i r c ul o . geo ; f i "
# mal l amos
SHELL "gmsh v 0 2 c i r c ul o . geo "
MESH DIMENSIONS 2 DEGREES 1 FILE_PATH c i r c ul o . msh
# un uni c o ma t e r i a l a un grupo de e ne r g i a s
MATERIAL f uel D 1 nuSigmaF 0. 1 SigmaA 0. 101
# r e s o l ve mo s e l pr obl e ma numeri co
MILONGA_SOLVE
# y e l pr obl e ma a n a l i t i c o
VAR r
nu0 = root ( j 0 ( r ) , r , 0 , 3) # l a pr i me r r a i z de j 0 ( x )
1
k = nuSigmaF ( 0 , 0 ) /(SigmaA( 0 , 0 ) + D( 0 , 0 ) ( nu0/a ) ^2)
f = nu0^2/(2 i nt egr al ( j 0 ( r ) r , r , 0 , nu0 ) ) # f a c t o r de no r ma l i z a c i o n
f l ux ( x , y ) : = f j 0 ( nu0 sqr t ( x^2+y^2)/a ) # d i s t r i b u c i o n de f l u j o
e r r o r ( x , y ) : = phi _1 ( x , y ) f l ux ( x , y ) # e r r o r d e l met odo numeri co
# e s c r i b i mo s en p a n t a l l a l o s k e f f s
PRINT %.8f TEXT " kef f a na l i t i c o =" k
PRINT %.8f TEXT " kef f numerico =" kef f
PRINT %.4e TEXT " er r or =" kef f k TEXT " ( con" %g unknowns TEXT "
i ncogni t as ) "
# di buj amos una s u p e r f i c i e t r i d i me n s i o n a l con gnupl ot
# de l o s punt os donde phi ( x , y ) f ue c a l c ul a d a
OUTPUT_FILE f l uj o dat f l uj o $1$2 . dat
PRINT_FUNCTION FILE f l uj o dat phi _1
OUTPUT_FILE gp f l uj o post . gp
# PRINT FILE gp TEXT " s e t t i t l e \" f l u j o con $1 $2\""
PRINT FILE gp TEXT " s et t i c s l e v e l 0 "
PRINT FILE gp TEXT " s et pal e t t e def i ned ( 0 \" bl ue \" , 0. 5 \" yellow\" , 1 \" red
\" ) "
PRINT FILE gp TEXT " s et x t i c s 50 "
PRINT FILE gp TEXT " s et yt i c s 50 "
PRINT FILE gp TEXT " s et z t i c s 0. 6 "
PRINT FILE gp TEXT " s et zrange [1e6: " nu0 TEXT " ] "
PRINT FILE gp TEXT " s et cbrange [1e6: " nu0 TEXT " ] "
PRINT FILE gp TEXT " s et xl abel \" x\" "
PRINT FILE gp TEXT " s et yl abel \"y\" "
PRINT FILE gp TEXT " s et zl abel \" f l uj o \" "
PRINT FILE gp TEXT " unset col orbox "
PRINT FILE gp TEXT " s et t ermi nal pdf s i ze 16cm, 9cm"
PRINT FILE gp TEXT " s et output \" f l uj o3d$1$2 . pdf \" "
PRINT FILE gp TEXT " s et pm3d depthorder "
PRINT FILE gp TEXT " s pl ot \" f l uj o $1$2 . dat \" w p pt 59 ps 0. 7 pal e t t e t i
\"\" "
SHELL " gnuplot f l uj o post . gp"
OUTPUT_FILE f l uj o cont f l uj o cont$1$2 . dat
PRINT_FUNCTION FILE f l uj o cont phi_1 MIN a a MAX +a +a STEP a/400 a
/400
OUTPUT_FILE gpcont f l uj o cont . gp
# PRINT FILE gpc ont TEXT " s e t t i t l e \" f l u j o i n t e r p o l a d o con $1 $2\""
PRINT FILE gpcont TEXT " s et pa l e t t e def i ned ( 0 \" bl ue \" , 0. 5 \" yellow\" , 1
\" red \" ) "
PRINT FILE gpcont TEXT " s et s i ze square "
PRINT FILE gpcont TEXT " s et xrange [ " %g a TEXT " : " a TEXT " ] "
PRINT FILE gpcont TEXT " s et yrange [ " %g a TEXT " : " a TEXT " ] "
PRINT FILE gpcont TEXT " s et c bt i c s " nu0/4
PRINT FILE gpcont TEXT " s et cbrange [1e6: " nu0 TEXT " ] "
PRINT FILE gpcont TEXT " s et t ermi nal pdf s i ze 10cm, 10cm"
PRINT FILE gpcont TEXT " s et output \" f l uj o cont$1$2 . pdf \" "
PRINT FILE gpcont TEXT " pl ot \" f l uj o cont$1$2 . dat \" w image "
SHELL " gnuplot f l uj o cont . gp"
# e s c r i b i mo s e l f l u j o en e l f o r ma t o de pos t pr o c e s a mi e nt o de gmsh
OUTPUT_FILE f l uj o post f l uj o $1$2 . pos
1
MESH_POST FILE f l uj o post phi _1
# y ademas i nc l ui mo s o p c i o ne s par a ha c e r d i r e c t a me nt e l a s f i g u r a s con gmsh
OUTPUT_FILE f pos t f l uj o post . geo
PRINT FILE f pos t TEXT " Merge \" f l uj o $1$2 . pos \" ; "
PRINT FILE f pos t TEXT " General . SmallAxes = 0 ; "
PRINT FILE f pos t TEXT " Post Processi ng . Hor i zont al Scal es = 0 ; "
PRINT FILE f pos t TEXT " General . GraphicsWidth = 800; "
PRINT FILE f pos t TEXT " General . Graphi csHei ght = 600; "
PRINT FILE f pos t TEXT " View. ColormapNumber = 4 ; "
PRINT FILE f pos t TEXT " View. RangeType = 2 ; "
PRINT FILE f pos t TEXT " View. NbIso = 4 ; "
PRINT FILE f pos t TEXT " View. CustomMin = 0 ; "
PRINT FILE f pos t TEXT " View. CustomMax = " nu0 TEXT " ; "
PRINT FILE f pos t TEXT "Draw; "
PRINT FILE f pos t TEXT " Pr i nt \" f l uj o2d$1$2 . pdf \" ; "
PRINT FILE f pos t TEXT " Exi t ; "
# l l amamos a gmsh par a pos t p r o c e s a r
SHELL "gmsh f l uj o post . geo "
# l o mismo par a e l e r r o r
OUTPUT_FILE e r r o r post e r r o r $1$2 . pos
MESH_POST FILE e r r o r post e r r o r
OUTPUT_FILE epost e r r o r post . geo
PRINT FILE epost TEXT " Merge \" error $1$2 . pos \" ; "
PRINT FILE epost TEXT " General . SmallAxes = 0 ; "
PRINT FILE epost TEXT " Post Processi ng . Hor i zont al Scal es = 0 ; "
PRINT FILE epost TEXT "Mesh. Col orCarousel = 3; "
PRINT FILE epost TEXT " View. ColormapNumber = 2 ; "
PRINT FILE epost TEXT " View. RangeType = 2 ; "
PRINT FILE epost TEXT " View. NbIso = 4 ; "
PRINT FILE epost TEXT " View. CustomMin = 0. 13; "
PRINT FILE epost TEXT " View. CustomMax = +0. 13; "
PRINT FILE epost TEXT "Draw; "
PRINT FILE epost TEXT " Pr i nt \" error2d$1$2 . pdf \" ; "
PRINT FILE epost TEXT " Exi t ; "
SHELL "gmsh error post . geo "
$ milonga flujo.was volumes triang
keff analitico = 0.98446205
keff numerico = 0.98433928
error = -1.2278e-04 (con 178 incognitas)
$ milonga flujo.was volumes quad
keff analitico = 0.98446205
keff numerico = 0.98463500
error = 1.7295e-04 (con 88 incognitas)
$ milonga flujo.was elements triang
keff analitico = 0.98446205
keff numerico = 0.98437880
error = -8.3254e-05 (con 106 incognitas)
$ milonga flujo.was elements quad
keff analitico = 0.98446205
keff numerico = 0.98435582
error = -1.0624e-04 (con 105 incognitas)
$
16
-100
-50
0
50
100
-100 -50 0 50 100
"ujo-cont-volumes-triang.dat"
0
0.601206
1.20241
1.80362
2.40483
Figura 5.59 Volmenes nitos con tringulos: distribucin de ujo interpolada por milonga en una malla na
con x = y = a/400.
-100
-50
0
50
100
-100
-50
0
50
100
0
0.6
1.2
1.8
2.4
ujo
x
y
ujo
Figura 5.60 Volmenes nitos con tringulos: distribucin de ujo evaluada en los centros de las celdas.
1
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
Figura 5.61 Volmenes nitos con tringulos: vista del ujo post-procesado con gmsh.
-0.13
-0.065
0
0.065
0.13
error (1/1)
-0.13
-0.065
0
0.065
0.13
error (1/1)
Figura 5.62 Volmenes nitos con tringulos: error del ujo evaluado en el centro de la celda con respecto a la
solucin analtica.
18
-100
-50
0
50
100
-100 -50 0 50 100
"ujo-cont-volumes-quad.dat"
0
0.601206
1.20241
1.80362
2.40483
Figura 5.63 Volmenes nitos con cuadrngulos: distribucin de ujo interpolada por milonga en una malla na
con x = y = a/400.
-100
-50
0
50
100
-100
-50
0
50
100
0
0.6
1.2
1.8
2.4
ujo
x
y
ujo
Figura 5.64 Volmenes nitos con cuadngulos: distribucin de ujo evaluada en los centros de las celdas.
1
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
Figura 5.65 Volmenes nitos con cuadngulos: vista del ujo post-procesado con gmsh.
-0.13
-0.065
0
0.065
0.13
error (1/1)
-0.13
-0.065
0
0.065
0.13
error (1/1)
Figura 5.66 Volmenes nitos con cuadrngulos: error del ujo evaluado en el centro de la celda con respecto
a la solucin analtica.
18o
En el mmico de la terminal podemos observar el error cometido en el clculo del /
eff
utili-
zando las cuatro combinaciones de tringulo/cuadrngulos con respecto a la solucin analtica.
Vemos que el error al utilizar el mtodo de elementos nitos es casi un orden de magnitud ms
pequeo que el de volmenes nitos. Adems, el error al emplear volmenes con tringulos
o con cuadrngulos es similaraunque diere en signoincluso cuando en el primer caso
la cantidad de celdas es casi el doble, debido a que los cuadrngulos se obtienen de recom-
binar tringulos. No es exactamente el doble ya que despus de recombinar, gmsh aplica un
algoritmo de optimizacin de malla que puede mover, agregar, eliminar o volver a recombinar
celdas/elementos.
Podemos explicar esta diferencia entre volmenes y elementos de la siguiente manera: la
precisin de la aproximacin de las integrales de supercie que aparecen al aplicar el teorema
de la divergencia al trmino de fugas depende, entre otros factores, del coseno del ngulo en-
tre el vector normal a la supercie que separa dos celdas vecinas y el segmento que une sus
baricentros. Como ilustramos en la gura 5.75, en general sucede que este ngulo es mayor
para el caso de tringulos que para cuadrngulos. Por un lado, entonces, la malla basada en
tringulos es desde este punto de vista inferior a la malla basada en cuadrados. Sin embargo,
al no recombinar tringulos para formar cuadrngulos, la cantidad de celdas es mayor por lo
que en cierto sentido la discretizacin es ms na. Como estos dos efectos son opuestos, es de
esperar que ambas soluciones tengan errores similares con respecto al caso analtico.
Las guras 5.595.74 son los grcos generados por el input ujo.mil. La primera de cada
uno de los cuatro conjuntos, (i.e. gura 5.59) consiste en la evaluacin de la solucin numri-
ca
1
(r, j) donde cada pixel abarca un cuadrado de tamao r j = o,400 o,400 en las
unidades de longitud del plano r j. Por denicin,
1
(r, j) = 0 si (r, j) est fuera del domi-
nio. En las soluciones basadas en volmenes, es claro que
1
(r, j) es constante en cada celda
y por lo tanto discontinua, mientras que en las soluciones basadas en elementos la funcin re-
sultante es continua. Esto es as debido a que la solucin del problema utilizando el mtodo
de elementos nitos no slo da una receta sobre cmo evaluar
1
(r, j) en los nodos sino que
tambin indica cmo interpolar la funcin para coordenadas arbitrarias utilizando las mismas
funciones de forma usadas para la construccin de las matrices 1 y 1.
La segunda gura (i.e. 5.60) muestra la solucin numrica como puntos dispersos. Para las
soluciones en volmenes, las coordenadas sobre el plano r j son los centros de las celdas y
la distancia vertical indica el valor medio del ujo en ella. Para las soluciones en elementos, las
coordenadas r j son las posiciones de los nodos y la distancia vertical el ujo evaluado en
la posicin del nodo. Es interesante notar que la condicin de contorno de ujo nulo en : = o
se cumple exactamente en elementosa menos de la precisin de la solucin numrica del
problema de autovaloresmientras que en volmenes lo que se cumple es que la mejor esti-
macin extrapolada del ujo es aproximadamente cero en : = o. En la solucin de volmenes
y tringulos podemos observar que la densidad de puntos solucin es mayor que en los otros
casos. En volmenes nitos la cantidad de incgnitas depende directamenteadems de la
cantidad de grupos de energade la cantidad de celdas, que a su vez depende de la forma
base. Por el contrario, en elementos, la cantidad de incgnitas depende del nmero de nodos
que no cambia al recombinar tringulos para generar cuadrngulos.
Las ltimas dos guras fueron construidas con las facilidades de post-procesamiento de
gmsh, donde podemos observar tanto tanto las soluciones como la malla usada para obtenerlas.
En la tercer gura (i.e. 5.61) vemos, en una escala de color, el ujo numrico
1
(r, j). Otra vez,
en volmenes, el ujo es uniforme en cada celda. En elementos, dentro de cada elemento gmsh
dibuja pxeles de colores de acuerda a algn esquema de interpolacin de los datos en los nodos
que no necesariamente est basado en las mismas funciones de forma utilizadas para resolver el
problema, por lo que debemos tomar esta gura slo como ilustrativa y no como una solucin
181
-100
-50
0
50
100
-100 -50 0 50 100
"ujo-cont-elements-triang.dat"
0
0.601206
1.20241
1.80362
2.40483
Figura 5.67 Elementos nitos con tringulos: distribucin de ujo interpolada por milonga en una malla na
con x = y = a/400.
-100
-50
0
50
100
-100
-50
0
50
100
0
0.6
1.2
1.8
2.4
ujo
x
y
ujo
Figura 5.68 Elementos nitos con tringulos: distribucin de ujo evaluada en los centros de las celdas.
18:
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
Figura 5.69 Elementos nitos con tringulos: vista del ujo post-procesado con gmsh.
-0.13
-0.065
0
0.065
0.13
error (1/1)
-0.13
-0.065
0
0.065
0.13
error (1/1)
Figura 5.70 Elementos nitos con tringulos: error del ujo evaluado en el centro de la celda con respecto a la
solucin analtica.
18
-100
-50
0
50
100
-100 -50 0 50 100
"ujo-cont-elements-quad.dat"
0
0.601206
1.20241
1.80362
2.40483
Figura 5.71 Elementos nitos con cuadrngulos: distribucin de ujo interpolada por milonga en una malla na
con x = y = a/400.
-100
-50
0
50
100
-100
-50
0
50
100
0
0.6
1.2
1.8
2.4
ujo
x
y
ujo
Figura 5.72 Elementos nitos con cuadrngulos: distribucin de ujo evaluada en los centros de las celdas.
18
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
0
0.601
1.2
1.8
2.4
phi_1 (1/1)
Figura 5.73 Elementos nitos con cuadrngulos: vista del ujo post-procesado con gmsh.
-0.13
-0.065
0
0.065
0.13
error (1/1)
-0.13
-0.065
0
0.065
0.13
error (1/1)
Figura 5.74 Elementos nitos con cuadrngulos: error del ujo evaluado en el centro de la celda con respecto
a la solucin analtica.
18
(a) Tringulos (b) Cuadrngulos
Figura 5.75 ngulo entre el segmento d
ij
que une los baricentros de dos celdas vecinas y la normal n
ij
al
segmento que los separa.
matemticamente correcta. La cuarta gura (i.e. 5.62) ilustra, en una escala vertical igual para
los cuatro casos, la diferencia entre la solucin numrica
1
(r, j) evaluada en los centros de
las celdas o en los nodos, segn corresponda. Notamos que dentro de cada celda/elemento, la
gura no muestra el error con respecto a la solucin analtica punto a punto sino que la escala
de color es una interpolacin de los errores cometidos en los puntos solucin. De cualquier
manera, es evidente que las soluciones en elementos arrojan errores mucho menores que las
soluciones en volmenes. Una vez ms, debemos asociar este error ms pequeo al esquema
de discretizacin utilizado para resolver una ecuacin diferencial en derivadas parciales con
coecientes uniformes. Conclusiones sobre errores cometidos en la aplicacin de ingeniera de
ambos mtodosinvolucrando homogeneizacin de secciones ecaces utilizando cdigos de
celda y aplicacin a geometras de reactores nucleares realesdeben realizarse con estudios
ms complejos que el propuesto en este trabajo.
5.2.1.2. Estructura de las matrices
Como vimos en los captulos 3 y 4, discretizar espacialmente la ecuacin de difusin de neu-
trones multigrupo en estado estacionario consiste en reemplazar un sistema de G ecuaciones
diferenciales homognea en derivadas parciales por un problema de autovalores generalizados
para dos matrices 1 y 1 de tamao 1G1G tales que
1

=
1
/
eff
1

(2.11)
donde 1 es la cantidad de incgnitas espaciales, que es la cantidad de celdas en volmenes
nitos o la cantidad 1 de nodos en elementos nitos. En cualquier caso, problemas de inters
real involucran valores de 1 del orden de decenas de miles. Afortunadamente, las matrices 1
y 1 tienen son ralas, por lo que una pequea fraccin de los (1G)
2
elementos son diferentes de
cero en cada una, y es posible almacenarlas completamente en memoria RAM. Es interesante
estudiar las diferencias entre las estructuras de elementos diferentes de cero para las matrices 1
y para 1 al resolver el problema del crculo desnudo. Por un lado, es importante estudiar las es-
tructuras resultantes para entender mejor las diferencias entre volmenes y elementos nitos.
Pero adems, el esfuerzo computacional necesario para resolver el problema numrico de au-
tovalores, la forma ptima de construir las matrices en forma distribuida y otros detalles tales
como el formato de almacenamiento en memoria depende de la estructura nal de las matrices
ralas del problema.
186
(a) R volmenes tringulos 178 178
(b) F volmenes tringulos 178 178
Figura 5.76 Estructura de no-ceros en las matrices del problema del crculo desnudo resuelto con volmenes
nitos usando tringulos como gura base.
18
(a) R volmenes cuadrngulos 88 88
(b) F volmenes cuadrngulos 88 88
Figura 5.77 Estructura de no-ceros en las matrices del problema del crculo desnudo resuelto con volmenes
nitos usando cuadrngulos como gura base.
188
(a) R elementos tringulos 106 106
(b) F elementos tringulos 106 106
Figura 5.78 Estructura de no-ceros en las matrices del problema del crculo desnudo resuelto con elementos
nitos usando tringulos como gura base.
18
(a) R elementos cuadrngulos 105 105
(b) F elementos cuadrngulos 105 105
Figura 5.79 Estructura de no-ceros en las matrices del problema del crculo desnudo resuelto con elementos
nitos usando cuadrngulos como gura base.
1o
Las guras 5.76 y 5.76 muestran la estructura de las matrices del problema resuelto con vo-
lmenes nitos con tringulos y cuadrngulos, respectivamente. Las guras 5.78 y 5.78 hacen
lo propio con elementos nitos. Los puntos azules indican valores positivos y los rojos valores
negativos. El primer comentario consiste en notar que en volmenes a un grupo de energa,
la matriz 1 siempre es diagonal mientras que en elementos siempre tiene una estructura no
trivial. En forma similar a lo que sucede con la matriz de masa en el problema elstico lineal
transitorio, en volmenes la sin en cada celda depende slo de las propiedades de la celda
y de ningn otro ujo. Como para cada ecuacin tenemos una nica contribucin a las sio-
nes, podemos elegir tanto el orden de los elementos del vector incgnita

como de las las
de las matrices de forma tal de que 1 sea diagonal. En cambio, en elementos nitos el ritmo
de sin en un elemento depende del ujo de los nodos que lo componen y por lo tanto no es
posible elegir un arreglo que resulte en una matriz 1 diagonal. Adems, dado que la malla es
no estructurada, tampoco es posible en general obtener una estructura tipo banda, sino que la
estructura est dada por la conectividad de los nodos que es elegida por el mallador y no por
el solver.
La siguiente diferencia entre las matrices 1 tiene que ver con que la matriz de elementos -
nitos tiene una zona compuesta completamente por ceros, mientras que la matriz de volmenes
no. Esto es as dado que el problema que estamos resolviendo tiene condiciones de contorno de
ujo nulo en el crculo externo, que en elementos jamos reemplazando las ecuaciones corres-
pondiente a los nodos que estn en la supercie con esta condicin de contorno de forma tal
de que su solucin sea
i
= 0. En cambio, en volmenes nitos esta condicin de contorno se
ve reejada como un trmino que aparece sumado al coeciente de la diagonal de la matriz 1
correspondiente a aquellas celdas adyacentes al crculo externo.
Comparando ahora las guras 5.76 y 5.76, vemos quecomo ya discutimosla solucin
basada en tringulos necesita aproximadamente el doble de incgnitas que si utilizamos cua-
drngulos. La relacin entre la cantidad de incgnitas en cada caso no es exactamente dos
debido al proceso de optimizacin de malla que aplica gmsh luego de recombinar tringulos
para obtener cuadrngulos al seleccionar el mtodo de mallado delquad. La estructura de no-
ceros en 1 depende de la conectividad entre celdas, que no es trivial para el caso de una malla
no estructurada.
Por otro lado, sucede que las guras 5.76 y 5.76 son esencialmente similares. La diferencia
en el tamao radica en que en el problema particular del crculo desnudo con /
c
= 20, gmsh ha
decidido eliminar un nodo luego de recombinar los tringulos para generar los cuadrngulos.
La diferencia en la estructura na de las matrices corresponde a que la conectividad de los
tringulos es ligeramente diferente a la de los cuadrngulos, pero la estructura gruesa es similar
en ambos casos.
Para terminar la seccin, notamos primero que si cambiamos el tipo de condicin de con-
torno de Dirichlet a Neumann o a Robin, la estructura de las matrices cambia. Y, por otro lado,
solamente analizamos un caso con G = 1. En problemas a varios grupos de energa, apare-
cen sub-estructuras en la matriz 1 que tienen que ver con los terminos de scattering entre los
diferentes grupos de energa y sub-estructuras en la matriz 1 correspondientes a las siones
generadas por absorcin de neutrones de un grupo que nacen con la energa de otro. Un pro-
blema similar al discutido en esta seccinpero con diferentes condiciones de contornofue
analizado por el autor en la referencia [33], donde tambin analizamos la estructura resultante
de las matrices con ambos esquemas de discretizacin.
11
5.2.1.3. Factor de multiplicacin en funcin de la malla
Tal como hicimos con el slabs desnudos en la seccin 5.1.1.3, en este problema tambin po-
demos estudiar cmo depende el error cometido en el /
eff
con la longitud caracterstica de la
malla /
c
= o,n. Para ello, resolvemos paramtricamente cada uno de los cuatro problemas
variando n para cada caso, entre 5 y 50 con incrementos n = 5.
keff-vs-n.was
# e s t ud i o p a r a me t r i c o en f unc i o n de n
PARAMETRIC n 10 50 2
a = 100 # r a d i o d e l c i r c u l o
l c = a/n # l o ng i t ud c a r a c t e r i s t i c a
# mal l amos ( y medimos e l t i e mpo )
TEMPLATE c i r c ul o . t pl c i r c ul o . geo a l c
SHELL " i f [ \" $1\" = \"quad\" ] ; then echo \"Mesh. RecombineAll =1; \" >>
c i r c ul o . geo ; f i "
SHELL "gmsh v 0 2 c i r c ul o . geo "
MESH DIMENSIONS 2 DEGREES 1 FILE_PATH c i r c ul o . msh
# r e s o l ve mo s e l k e f f numeri co
MATERIAL f uel D 1 nuSigmaF 0. 1 SigmaA 0. 101
MILONGA_SOLVE
# y e l k e f f a n a l i t i c o
VAR r
nu0 = root ( j 0 ( r ) , r , 0 , 3)
k = nuSigmaF ( 0 , 0 ) /(SigmaA( 0 , 0 ) + D( 0 , 0 ) ( nu0/a ) ^2)
# i mpri mi mos l o s e r r o r e s en f unc i o n de n y de l a c a nt i da d de i nc o g ni t a s
PRINT %g n unknowns %.3e kef f k abs ( kef f k) i ni t _t i me bui l d_mat ri ces_t i me
sol ve_t i me SEPARATOR " "
$ milonga keff-vs-n.was --volumes trian > keff-vs-n-vol-triang.dat
$ cat keff-vs-n-vol-triang.dat
10 714 -1.618e-04 1.618e-04 3.287e-03 7.060e-04 1.236e-02
12 1014 -9.558e-05 9.558e-05 6.675e-03 1.281e-03 1.229e-02
14 1360 -1.022e-04 1.022e-04 6.772e-03 1.051e-03 1.330e-02
16 1876 -8.636e-05 8.636e-05 1.712e-02 1.588e-03 1.800e-02
18 2342 -6.865e-05 6.865e-05 1.664e-02 1.853e-03 2.204e-02
20 2848 -8.659e-05 8.659e-05 2.618e-02 2.244e-03 2.707e-02
22 3408 -8.759e-05 8.759e-05 3.349e-02 2.747e-03 2.930e-02
24 4010 -5.795e-05 5.795e-05 5.328e-02 4.723e-03 4.142e-02
26 4650 -4.650e-05 4.650e-05 6.841e-02 3.955e-03 4.567e-02
28 5378 -3.551e-05 3.551e-05 9.457e-02 4.773e-03 5.035e-02
30 6350 -3.004e-05 3.004e-05 1.271e-01 5.466e-03 6.430e-02
32 7172 -3.866e-05 3.866e-05 1.682e-01 6.718e-03 6.672e-02
34 8064 -1.471e-05 1.471e-05 2.098e-01 7.369e-03 7.672e-02
36 8968 4.142e-06 4.142e-06 2.616e-01 8.282e-03 9.739e-02
38 9892 1.247e-05 1.247e-05 3.160e-01 9.311e-03 1.084e-01
40 10854 2.560e-05 2.560e-05 3.779e-01 1.037e-02 1.225e-01
42 11898 2.874e-05 2.874e-05 4.548e-01 1.157e-02 1.348e-01
44 13388 3.588e-05 3.588e-05 5.759e-01 1.398e-02 1.592e-01
46 14572 3.158e-05 3.158e-05 6.886e-01 1.447e-02 1.629e-01
48 15834 3.299e-05 3.299e-05 8.021e-01 1.586e-02 1.946e-01
1:
50 16980 4.773e-05 4.773e-05 9.244e-01 1.721e-02 2.222e-01
$ milonga keff-vs-n.was --volumes quad > keff-vs-n-vol-quad.dat
$ cat keff-vs-n-vol-quad.dat
10 356 2.041e-04 2.041e-04 1.474e-03 3.631e-04 5.140e-03
12 569 1.412e-04 1.412e-04 2.623e-03 6.659e-04 8.870e-03
14 676 1.333e-04 1.333e-04 2.773e-03 6.371e-04 7.497e-03
16 924 1.234e-04 1.234e-04 5.775e-03 1.096e-03 1.451e-02
18 1235 9.474e-05 9.474e-05 7.178e-03 1.190e-03 1.234e-02
20 1406 9.864e-05 9.864e-05 1.417e-02 1.331e-03 1.556e-02
22 1787 7.437e-05 7.437e-05 1.376e-02 1.713e-03 1.943e-02
24 1985 8.207e-05 8.207e-05 2.037e-02 1.946e-03 2.199e-02
26 2409 9.226e-05 9.226e-05 2.418e-02 2.669e-03 2.495e-02
28 2655 6.923e-05 6.923e-05 3.161e-02 2.616e-03 2.725e-02
30 3142 4.469e-05 4.469e-05 3.796e-02 3.162e-03 3.533e-02
32 3694 6.784e-05 6.784e-05 5.388e-02 3.815e-03 4.277e-02
34 3979 4.220e-05 4.220e-05 6.002e-02 4.504e-03 4.471e-02
36 4580 5.142e-05 5.142e-05 8.469e-02 4.727e-03 4.950e-02
38 4902 5.475e-05 5.475e-05 9.453e-02 5.220e-03 5.872e-02
40 5578 4.609e-05 4.609e-05 1.294e-01 6.016e-03 7.278e-02
42 5904 4.817e-05 4.817e-05 1.434e-01 6.496e-03 6.578e-02
44 6644 5.185e-05 5.185e-05 1.885e-01 7.602e-03 8.238e-02
46 7428 4.225e-05 4.225e-05 2.292e-01 8.285e-03 9.309e-02
48 7843 3.715e-05 3.715e-05 2.624e-01 8.835e-03 9.923e-02
50 8649 2.461e-05 2.461e-05 3.169e-01 9.788e-03 1.157e-01
$ milonga keff-vs-n.was --elements trian > keff-vs-n-ele-triang.dat
$ cat keff-vs-n-ele-triang.dat
10 390 -2.033e-05 2.033e-05 3.259e-04 1.196e-02 1.216e-02
12 546 -1.437e-05 1.437e-05 1.130e-04 1.633e-02 1.131e-02
14 725 -1.080e-05 1.080e-05 1.230e-04 2.544e-02 1.061e-02
16 991 -7.807e-06 7.807e-06 1.280e-04 3.461e-02 1.475e-02
18 1230 -6.258e-06 6.258e-06 1.521e-04 4.084e-02 1.800e-02
20 1489 -5.152e-06 5.152e-06 1.450e-04 5.372e-02 2.162e-02
22 1775 -4.310e-06 4.310e-06 1.719e-04 8.700e-02 2.625e-02
24 2082 -3.662e-06 3.662e-06 1.600e-04 1.146e-01 3.044e-02
26 2408 -3.166e-06 3.166e-06 2.770e-04 1.437e-01 3.644e-02
28 2778 -2.748e-06 2.748e-06 1.841e-04 1.658e-01 4.269e-02
30 3272 -2.316e-06 2.316e-06 2.069e-04 2.030e-01 5.019e-02
32 3689 -2.050e-06 2.050e-06 2.141e-04 2.306e-01 5.730e-02
34 4141 -1.828e-06 1.828e-06 2.279e-04 2.678e-01 6.579e-02
36 4599 -1.649e-06 1.649e-06 2.332e-04 3.150e-01 7.777e-02
38 5067 -1.493e-06 1.493e-06 2.580e-04 3.483e-01 8.441e-02
40 5554 -1.361e-06 1.361e-06 2.739e-04 3.965e-01 9.273e-02
42 6082 -1.249e-06 1.249e-06 3.109e-04 4.681e-01 1.015e-01
44 6835 -1.105e-06 1.105e-06 3.190e-04 5.980e-01 1.188e-01
46 7433 -1.014e-06 1.014e-06 3.390e-04 6.857e-01 1.340e-01
48 8070 -9.370e-07 9.370e-07 4.840e-04 7.830e-01 1.523e-01
50 8649 -8.758e-07 8.758e-07 3.870e-04 8.560e-01 1.582e-01
$ milonga keff-vs-n.was --elements quad > keff-vs-n-ele-quad.dat
$ cat keff-vs-n-ele-quad.dat
10 389 -2.589e-05 2.589e-05 3.211e-04 7.128e-03 6.827e-03
12 610 -1.613e-05 1.613e-05 1.280e-04 1.669e-02 1.085e-02
14 721 -1.360e-05 1.360e-05 1.180e-04 1.491e-02 1.083e-02
16 977 -9.749e-06 9.749e-06 1.500e-04 2.883e-02 1.445e-02
18 1296 -7.316e-06 7.316e-06 1.440e-04 3.191e-02 1.997e-02
20 1471 -6.447e-06 6.447e-06 2.182e-04 4.228e-02 2.244e-02
22 1860 -5.059e-06 5.059e-06 1.612e-04 5.191e-02 2.977e-02
24 2062 -4.537e-06 4.537e-06 1.590e-04 5.703e-02 3.350e-02
26 2494 -3.719e-06 3.719e-06 2.799e-04 7.780e-02 4.117e-02
28 2744 -3.387e-06 3.387e-06 2.921e-04 8.699e-02 4.538e-02
30 3239 -2.843e-06 2.843e-06 3.130e-04 1.079e-01 5.579e-02
32 3799 -2.427e-06 2.427e-06 3.490e-04 1.311e-01 6.708e-02
1
34 4088 -2.243e-06 2.243e-06 3.610e-04 1.455e-01 7.557e-02
36 4697 -1.949e-06 1.949e-06 3.660e-04 1.726e-01 8.648e-02
38 5023 -1.814e-06 1.814e-06 2.570e-04 1.906e-01 9.529e-02
40 5707 -1.595e-06 1.595e-06 2.830e-04 2.283e-01 1.110e-01
42 6037 -1.508e-06 1.508e-06 2.961e-04 2.503e-01 1.232e-01
44 6785 -1.344e-06 1.344e-06 3.231e-04 2.936e-01 1.429e-01
46 7577 -1.202e-06 1.202e-06 3.490e-04 3.786e-01 1.637e-01
48 7996 -1.133e-06 1.133e-06 3.641e-04 4.376e-01 1.912e-01
50 8810 -1.027e-06 1.027e-06 5.150e-04 5.807e-01 2.124e-01
$ pyxplot error-vs-n.ppl
$ pyxplot error-vs-incognitas.ppl
$ pyxplot read-vs-incognitas.ppl
$ pyxplot build-vs-incognitas.ppl
$ pyxplot solve-vs-incognitas.ppl
$ pyxplot total-vs-incognitas.ppl
$ pyxplot error-vs-time.ppl
$
En la gura 5.80 podemos observar el valor absoluto del error cometido con respecto al /
eff
analtico en la escala vertical logartmica en funcin del parmetro n. Dado que el tamao del
problema numrico no es el mismo en cada uno de los cuatro casos estudiados, gracamos
el mismo error pero en funcin de la cantidad de incgnitas en la gura 5.81. No slo vemos
que los errores cometidos por los mtodos basados en elementos son siempre menores que los
cometidos por volmenes nitos, sino que stos ltimos no cambian montonamente con n.
De hecho, en la terminal podemos ver que incluso su signo cambia para mallas cada vez ms
nas. Podemos explicar este comportamiento basndonos de nuevo en el coseno del ngulo
entre n
ij
y d
ij
. Al ir disminuyendo la longitud caracterstica, el cdigo gmsh podr considerar
sucesivamente mallas que hagan que este coseno pueda variar en forma no continua. Esto pue-
de introducir grandes cambios en el /
eff
resultante an para pequeos cambios en /
c
. En el caso
de elementos nitos, debemos notar que si bien la cantidad de incgnitas que resulta de aplicar
una malla basada en tringulos con y sin recombinar son similares, el esfuerzo computacio-
nal requerido para construir las matrices 1 y 1 se incrementa con la cantidad de elementos,
que en el caso de tringulos puros es aproximadamente el doble de cuadrngulos generados a
partir de recombinar tringulos. Es por eso que en el mismo sentido en el que decamos en la
seccin anterior que una malla triangular provee una discretizacin espacial ms nal que una
malla cuadrangular, observamos que la solucin en elementos basada en tringulos da como
resultado un error menor a costa de un mayor esfuerzo computacional.
En efecto, las guras 5.825.85 comparan el tiempo insumido para interpretar la malla y
buscar vecinos si el mtodo seleccionado es volmenes nitos, el insumido para constuir las
matrices, el insumido para resolver el problema de autovalores y la suma de cada uno de ellos,
correspondientemente. Los tiempos indicados deben tomarse slo como referencias, ya que son
tiempos de pared (wall times) medidos por una versin de milonga que no est an optimizada
para realizar ecientemente muchas de las operaciones necesarias para resolver el problema.
Sin embargo, es til comparar cada uno de estos tiempos entre los diferentes casos. Los m-
todos basados en volmenes necesitan evaluar qu celdas son vecinas de qu celdas, ya que
gmsh no provee esa informacin en el archivo de malla. Si bien es posible optimizar el algorit-
mo que usa milonga, este paso insume un cierto esfuerzo que no es necesario para elementos
nitos. Sin embargo, la construccin de las matrices 1 y 1 para volmenes es ms sencilla
que para elementos, que implica la evaluacin e integracin de jacobinas ms un proceso de
ensamble que, otra vez, aunque pueda ser optimizado, no es necesario para volmenes. La es-
tructura resultante de las matrices para elementos nitos hace que el problema de autovalores
necesite ligeramente ms operaciones que para volmenes. La gura 5.85 compara el tiempo
1
10 20 30 40 50
n
10
6
3 10
6
10
5
3 10
5
10
4
3 10
4

k
n
u
m
e
r
i
c
o
e

k
a
n
a
l

t
i
c
o
e

vol umenes con tri angulos


vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.80 Error cometido en el clculo de k
eff
en funcin del parmetro n utilizado en la denicin de la
longitud caracterstica
c
= a/n de la malla.
0 4000 8000 12000 16000
cantidad de inc ognitas
10
6
3 10
6
10
5
3 10
5
10
4
3 10
4

k
n
u
m
e
r
i
c
o
e

k
a
n
a
l

t
i
c
o
e

vol umenes con tri angulos


vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.81 Error cometido en el clculo de k
eff
en funcin de la cantidad de incgnitas del problema.
1
0 4000 8000 12000 16000
cantidad de inc ognitas
10
4
10
3
0.01
0.1
1
t
i
e
m
p
o
p
a
r
a
l
e
e
r
l
a
m
a
l
l
a
[
s
e
g
]
vol umenes con tri angulos
vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.82 Tiempo de clculo insumido para interpretar la malla generada por gmsh (no para mallar ni para
leer el archivo) en funcin de la cantidad de incgnitas.
0 4000 8000 12000 16000
cantidad de inc ognitas
10
4
10
3
0.01
0.1
1
t
i
e
m
p
o
p
a
r
a
c
o
n
s
t
r
u
i
r
l
a
s
m
a
t
r
i
c
e
s
R
y
F
[
s
e
g
]
vol umenes con tri angulos
vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.83 Tiempo de clculo insumido para construir las matrices R y F del problema discreto en funcin de
la cantidad de incgnitas.
16
0 4000 8000 12000 16000
cantidad de inc ognitas
10
4
10
3
0.01
0.1
1
t
i
e
m
p
o
p
a
r
a
r
e
s
o
l
v
e
r
e
l
p
r
o
b
l
e
m
a
d
e
a
u
t
o
v
a
l
o
r
e
s
[
s
e
g
]
vol umenes con tri angulos
vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.84 Tiempo de clculo insumido para resolver el problema de autovalores en funcin de la cantidad de
incgnitas.
0 4000 8000 12000 16000
cantidad de inc ognitas
10
4
10
3
0.01
0.1
1
t
i
e
m
p
o
t
o
t
a
l
[
s
e
g
]
vol umenes con tri angulos
vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.85 Tiempo total de clculo (sin contar el tiempo necesario para generar la malla por gmsh) en funcin
de la cantidad de incgnitas.
1
0.01 0.03 0.1 0.3 1
tiempo total [seg]
10
6
3 10
6
10
5
3 10
5
10
4
3 10
4

k
n
u
m
e
r
i
c
o
e

k
a
n
a
l

t
i
c
o
e

vol umenes con tri angulos


vol umenes con cuadr angulos
elementos con tri angulos
elementos con cuadr angulos
Figura 5.86 Error en funcin del tiempo necesario para obtener la solucin.
total insumido en resolver el problema completamente (exceptuando el tiempo necesario para
generar la malla con gmsh) para los cuatro casos, y en funcin de la cantidad de incgnitas.
En el problema del crculo uniforme desnudo en particular que estamos resolviendo con los
algoritmos actuales del cdigo milonga, el mtodo de elementos nitos es en general compu-
tacionalmente ms caro que el mtodo en elementos para el mismo tamao de problema. En
efecto, en la gura 5.86 resumimos los resultados al gracar el error cometido en funcin del
tiempo total insumido para lograr la solucin. Observamos que, para los algoritmos utilizados
por milonga, la relacin error/costo es casi un orden de magnitud menor para los mtodos
basados en elementos que para volmenes nitos.
18
combustible
reector
tubo gua
sin barra
tubo gua con
barra de control
tubo gua
con barra
y reector
Figura 5.87 Geometra de un corte transveral de un reactor con barras inclinadas
5.2.2. Corte transversal de un reactor con barras inclinadas
Si bien el problema que resolvemos en esta seccin es tambin completamente inventado, ya
deja de ser un ejemplo cannico y carente de inters ingenieril. La geometra, que mostramos
en la gura 5.87, est inspirada en un hipottico reactor reejado con barras de control que
deslizan sobre tubos gua que entran al ncleo con un cierto ngulo de inclinacin con respecto
a la direccin del eje vertical. Como es un problema bidimensional, podemos pensar que la
geometra es un corte transversal de un reactor que se prolonga innitamente en la direccin
perpendicular al papel o a la pantalla, dependiendo del medio de publicacin de la monografa.
Como vemos en la gura 5.87, la geometra est completamente parametrizada. Podemos
implementarla en gmsh a travs del siguiente archivo template
corte.tpl
/ / l o ngi t ud c a r a c t e r i s t i c a d e l e l e me nt o
l c = $1 ;
/ / a l g o r i t mo de mal l ado ( 1 = meshadapt , 8 = de l qua d )
Mesh. Algorithm = $2 ;
/ / r e c ombi na t r i a ng u l o s ? ( 1 = c uadr angul os , 0 = t r i a ng u l o s )
/ / Mesh . Re combi ne Al l = 1;
h = $3 ; / / l o ng i t ud a c t i v a
r = $4 ; / / r a d i o d e l nuc l e o
d = $5 ; / / e s p e s o r d e l r e f l e c t o r r a d i a l
b = $6 ; / / a l t ur a d e l r e f l e c t o r i n f e r i o r
t = $7 ; / / a l t ur a d e l r e f l e c t o r s up e r i o r
1
w = $8 ; / / ancho de l a s b a r r a s de c o n t r o l
l = $9 ; / / l o ng i t ud de l a s b a r r a s de c o n t r o l
/ / p o s i c i o n de l a punt a de l a b a r r a de c o n t r o l
/ / con r e s p e c t o a l r e f l e c t o r s up e r i o r
x1 = $10 ;
y1 = $11 ;
t het a1 = $12 ; / / angul o de i n c l i n a c i o n
p1 = $13 ; / / i n s e r c i o n
x2 = $14 ;
y2 = $15 ;
t het a2 = $16 ; / / angul o de i n c l i n a c i o n
p2 = $17 ; / / i n s e r c i o n
/ / nuc l e o
Poi nt ( 1 ) = { 0 , 0 , 0 , l c } ;
Poi nt ( 2 ) = { r , 0 , 0 , l c } ;
Poi nt ( 3 ) = {r , 0 , 0 , l c } ;
Poi nt ( 4 ) = { r , h , 0 , l c } ;
Poi nt ( 5 ) = {r , h , 0 , l c } ;
/ / r e f l e c t o r
Poi nt ( 6 ) = { r+d, b , 0 , l c } ;
Poi nt ( 7 ) = { r+d, h+t , 0 , l c } ;
Poi nt ( 8 ) = { ( r+d) , h+t , 0 , l c } ;
Poi nt ( 9 ) = { ( r+d) , b , 0 , l c } ;
/ / b a r r a de c o n t r o l 1
Poi nt ( 10) = { x1 +0. 5wCos ( t het a1 ) , h+t +y1 +0. 5wSi n ( t het a1 ) , 0 , l c } ;
Poi nt ( 11) = { x1 0.5wCos ( t het a1 ) , h+t +y10.5wSi n ( t het a1 ) , 0 , l c } ;
Poi nt ( 12) = { x1+l Si n ( t het a1 ) +0. 5wCos ( t het a1 ) , h+t +y1l Cos ( t het a1 ) +0. 5w
Si n ( t het a1 ) , 0 , l c } ;
Poi nt ( 13) = { x1+l Si n ( t het a1 ) 0.5wCos ( t het a1 ) , h+t +y1l Cos ( t het a1 ) 0.5w
Si n ( t het a1 ) , 0 , l c } ;
Poi nt ( 14) = { x1 +0. 5wCos ( t het a1 ) +( y1 +0. 5wSi n ( t het a1 ) ) /( Tan( Pi/2t het a1 ) ) ,
h+t , 0 , l c } ;
Poi nt ( 15) = { x1 0.5wCos ( t het a1 ) +( y10.5wSi n ( t het a1 ) ) /( Tan( Pi/2t het a1 ) ) ,
h+t , 0 , l c } ;
Poi nt ( 16) = { x1 +0. 5wCos ( t het a1 ) +( y1 +0. 5wSi n ( t het a1 ) +t ) /( Tan( Pi/2t het a1 )
) , h , 0 , l c } ;
Poi nt ( 17) = { x1 0.5wCos ( t het a1 ) +( y10.5wSi n ( t het a1 ) +t ) /( Tan( Pi/2t het a1 )
) , h , 0 , l c } ;
Poi nt ( 18) = { x1+p1 l Si n ( t het a1 ) 0.5wCos ( t het a1 ) , h+t +y1p1 l Cos ( t het a1 )
0.5wSi n ( t het a1 ) , 0 , l c } ;
Poi nt ( 19) = { x1+p1 l Si n ( t het a1 ) +0. 5wCos ( t het a1 ) , h+t +y1p1 l Cos ( t het a1 )
+0. 5wSi n ( t het a1 ) , 0 , l c } ;
/ / b a r r a de c o n t r o l 2
Poi nt ( 20) = { x2 +0. 5wCos ( t het a2 ) , h+t +y2 +0. 5wSi n ( t het a2 ) , 0 , l c } ;
Poi nt ( 21) = { x2 0.5wCos ( t het a2 ) , h+t +y20.5wSi n ( t het a2 ) , 0 , l c } ;
Poi nt ( 22) = { x2+l Si n ( t het a2 ) +0. 5wCos ( t het a2 ) , h+t +y2l Cos ( t het a2 ) +0. 5w
:oo
Si n ( t het a2 ) , 0 , l c } ;
Poi nt ( 23) = { x2+l Si n ( t het a2 ) 0.5wCos ( t het a2 ) , h+t +y2l Cos ( t het a2 ) 0.5w
Si n ( t het a2 ) , 0 , l c } ;
Poi nt ( 24) = { x2 +0. 5wCos ( t het a2 ) +( y2 +0. 5wSi n ( t het a2 ) ) /( Tan( Pi/2t het a2 ) ) ,
h+t , 0 , l c } ;
Poi nt ( 25) = { x2 0.5wCos ( t het a2 ) +( y20.5wSi n ( t het a2 ) ) /( Tan( Pi/2t het a2 ) ) ,
h+t , 0 , l c } ;
Poi nt ( 26) = { x2 +0. 5wCos ( t het a2 ) +( y2 +0. 5wSi n ( t het a2 ) +t ) /( Tan( Pi/2t het a2 )
) , h , 0 , l c } ;
Poi nt ( 27) = { x2 0.5wCos ( t het a2 ) +( y20.5wSi n ( t het a2 ) +t ) /( Tan( Pi/2t het a2 )
) , h , 0 , l c } ;
Poi nt ( 28) = { x2+p2 l Si n ( t het a2 ) 0.5wCos ( t het a2 ) , h+t +y2p2 l Cos ( t het a2 )
0.5wSi n ( t het a2 ) , 0 , l c } ;
Poi nt ( 29) = { x2+p2 l Si n ( t het a2 ) +0. 5wCos ( t het a2 ) , h+t +y2p2 l Cos ( t het a2 )
+0. 5wSi n ( t het a2 ) , 0 , l c } ;
Li ne ( 1 ) = { 13 , 1 8 } ;
Li ne ( 2 ) = { 18 , 1 7 } ;
Li ne ( 3 ) = { 17 , 1 5 } ;
Li ne ( 4 ) = { 15 , 1 1 } ;
Li ne ( 5 ) = { 11 , 1 0 } ;
Li ne ( 6 ) = { 10 , 1 4 } ;
Li ne ( 7 ) = { 14 , 1 6 } ;
Li ne ( 8 ) = { 16 , 1 9 } ;
Li ne ( 9 ) = { 19 , 1 2 } ;
Li ne ( 10) = { 12 , 1 3 } ;
Li ne ( 21) = { 23 , 2 8 } ;
Li ne ( 22) = { 28 , 2 7 } ;
Li ne ( 23) = { 27 , 2 5 } ;
Li ne ( 24) = { 25 , 2 1 } ;
Li ne ( 25) = { 21 , 2 0 } ;
Li ne ( 26) = { 20 , 2 4 } ;
Li ne ( 27) = { 24 , 2 6 } ;
Li ne ( 28) = { 26 , 2 9 } ;
Li ne ( 29) = { 29 , 2 2 } ;
Li ne ( 30) = { 22 , 2 3 } ;
Li ne ( 31) = { 18 , 1 9 } ;
Li ne ( 32) = { 28 , 2 9 } ;
Li ne ( 33) = { 1 , 2 } ;
Li ne ( 34) = { 2 , 4 } ;
Li ne ( 35) = { 4 , 2 6 } ;
Li ne ( 36) = { 27 , 1 6 } ;
Li ne ( 37) = { 17 , 5 } ;
Li ne ( 38) = { 5 , 3 } ;
Li ne ( 39) = { 3 , 1 } ;
Li ne ( 40) = { 6 , 7 } ;
Li ne ( 41) = { 7 , 2 4 } ;
Li ne ( 42) = { 25 , 1 4 } ;
Li ne ( 43) = { 15 , 8 } ;
Li ne ( 44) = { 8 , 9 } ;
Li ne ( 45) = { 9 , 6 } ;
Li ne ( 46) = { 17 , 1 6 } ;
Li ne ( 47) = { 27 , 2 6 } ;
:o1
Li ne Loop( 48) = { 38 , 39 , 33 , 34 , 35 , 28 , 29 , 30 , 21 , 22 , 36 , 8 , 9 , 10 , 1 , 2 ,
3 7 } ;
Pl ane Surf ace ( 49) = { 4 8 } ;
Li ne Loop( 50) = { 34 , 35 , 27, 41, 40, 45, 44, 43, 3, 37 , 38 , 39 , 3 3 } ;
Pl ane Surf ace ( 51) = { 5 0 } ;
Li ne Loop( 52) = { 36 , 7, 42, 23};
Pl ane Surf ace ( 53) = { 5 2 } ;
Li ne Loop( 54) = { 1 , 31 , 9 , 1 0 } ;
Pl ane Surf ace ( 55) = { 5 4 } ;
Li ne Loop( 56) = { 21 , 32 , 29 , 3 0 } ;
Pl ane Surf ace ( 57) = { 5 6 } ;
Li ne Loop( 58) = { 2 , 46 , 8 , 31};
Pl ane Surf ace ( 59) = { 5 8 } ;
Li ne Loop( 60) = { 22 , 47 , 28 , 32};
Pl ane Surf ace ( 61) = { 6 0 } ;
Li ne Loop( 62) = { 3 , 4 , 5 , 6 , 7 , 46};
Pl ane Surf ace ( 63) = { 6 2 } ;
Li ne Loop( 64) = { 24 , 25 , 26 , 27 , 47, 2 3 } ;
Pl ane Surf ace ( 65) = { 6 4 } ;
Physi cal Line ( " sur f ace " ) = { 44 , 45 , 40 , 41 , 26 , 25 , 24 , 42 , 6 , 5 , 4 , 4 3 } ;
Physi cal Surf ace ( " f uel " ) = { 4 9 } ;
Physi cal Surf ace ( " r e f l " ) = { 51 , 5 3 } ;
Physi cal Surf ace ( " f uel +tube " ) = { 55 , 5 7 } ;
Physi cal Surf ace ( " f uel +tube+rod" ) = { 59 , 6 1 } ;
Physi cal Surf ace ( " r e f l +tube+rod" ) = { 63 , 6 5 } ;
Recombine Surf ace ( 49) ;
Recombine Surf ace ( 51) ;
Recombine Surf ace ( 53) ;
en el cual los wildcards $n son reemplazados por valores numricos apropiados por milon-
ga para generar el archivo de geometra corte.geo que gmsh lee para generar la malla segn
las condiciones solicitadas. Podemos juntar todos los parmetros geomtricos como variables
de milonga en un archivo de entrada separado, que llamamos geometria.mil y que incluimos
desde el input principal:
geometria.mil
h = 550 # l o ng i t ud a c t i v a
r = 300 # r a d i o d e l nuc l e o
d = 45 # e s p e s o r d e l r e f l e c t o r r a d i a l
b = 40 # a l t ur a d e l r e f l e c t o r i n f e r i o r
t = 30 # a l t ur a d e l r e f l e c t o r s up e r i o r
w = 25 # ancho de l a s b a r r a s de c o n t r o l
l = 600 # l o ng i t ud de l a s b a r r a s de c o n t r o l
# p o s i c i o n de l a punt a de l a b a r r a de c o n t r o l
:o:
# con r e s p e c t o a l r e f l e c t o r s up e r i o r
x1 = 250
y1 = 40
t het a1 = 21 pi /180 # angul o de i n c l i n a c i o n b a r r a 1
p1 = 0. 75 # i n s e r c i o n b a r r a 1
x2 = 250
y2 = 40
t het a2 = 16 pi /180 # angul o de i n c l i n a c i o n b a r r a 1
p2 = 0. 45 # i n s e r c i o n b a r r a 1
A modo de ilustracin, en la gura 5.88 mostramos una captura de pantalla de la interfaz
grca de gmsh al cargar la geometra con los parmetros propuestos. Notar que la insercin
de las barras de control es un parmetro continuo y puede tomar cualquier valor real. La malla
resultante ser tal que los extremos de las barras de control coincidirn con bordes de celdas/e-
lementos.
Figura 5.88 Interpretacin por parte de gmsh de la geometra continua dada por el archivo de template geo-
metria.tpl con los parmetros del archivo geometria.mil.
Proponemos que las secciones ecaces del combustible dependan slo del quemado (r, j),
que a su vez tiene una cierta distribucin en el espacio. A modo de ilustracin, mostramos la
dependencia de
a
y
f
con en las guras 5.89 y 5.90 con funciones denidas por interpo-
lacin lineal de puntos dispersos, que en clculos reales deben ser calculados con cdigos de
celda.
Para comparar la distribucin de ujo resultante teniendo en cuenta o no el quemado, pro-
ponemos una distribucin de quemados (r, j) denida algebraicamente como
(r, j) = beq
_
1000 + 7000 sin
_

j
/
_

_
1
_
r
:
_
6
__
[MW da tonU
1
] (5.12)
donde beq es un ag que vale cero si el ncleo es fresco (beggining of life) o uno si el ncleo
alcanz el quemado de equilibrio, que suponemos igual a la distribucin continua propuesta
:o
0 2000 4000 6000 8000 10000
quemado q [MW d tonU
1
]
10
3
0.0015
0.002
s
e
c
c
i
o
n
e

c
a
z
m
a
c
r
o
s
c
o
p
i
c
a
[
c
m
]

a1

f1
Figura 5.89 Dependencia de la seccin ecaz de absorcin del grupo rpido y de la seccin ecaz de -siones
del grupo rpido con el quemado q.
0 2000 4000 6000 8000 10000
quemado q [MW d tonU
1
]
0.0045
0.005
0.0055
0.006
s
e
c
c
i
o
n
e

c
a
z
m
a
c
r
o
s
c
o
p
i
c
a
[
c
m
]

a2

f2
Figura 5.90 Dependencia de la seccin ecaz de absorcin del grupo trmico y de la seccin ecaz de -siones
del grupo trmico con el quemado q.
:o
dentro de las llaves. Adems, dentro de milonga limitamos la funcin (r, j) a valores no nulos
slo en el intervalo [:, :]][0, /]. Este lmite no es necesario para el clculo, ya que (r, j) tiene
slo sentido al calcula la seccin ecaz macroscpica del combustible, pero por completitud y
para poder gracar la distribucin de quemado propuesta en gmsh, es que hacemos cero (r, j)
si |r| :j < 0j :. Preparamos por un lado un archivo llamado xs.dat con la dependencia
de las diferentes secciones ecaces macroscpicas en funcin del quemado en columnas y por
otro un archivo de entrada de milonga auxiliar que dene todos los materiales asociados a las
entidades fsicas del archivo de geometra que llamamos xs.mil:
xs.mil
# d i s t r i b u c i o n de quemado , s i be q = 0 e nt o nc e s
# i nd i c a be ggi ni ng o f l i f e y q ( x , y ) = 0
# hacemos q ( x , y ) = 0 s i y < 0 , y > h o |x| > r
# par a que a l e s c r i b i r e l quemado en f unc i o n de
# x e y sepamos b i e n donde t e r mi na
q( x , y ) : = beq( 1000 + 7000 si n ( pi y/h) (1( x/r ) ^6) ) ( y > 0 & y < h & abs ( x
) < r )
# XS en f unc i o n d e l quemado
FUNCTION di f 1 ( b) FILE xs . dat COLUMNS 1 2
FUNCTION di f 2 ( b) FILE xs . dat COLUMNS 1 3
FUNCTION sigmaa1 ( b) FILE xs . dat COLUMNS 1 4
FUNCTION sigma12 ( b) FILE xs . dat COLUMNS 1 5
FUNCTION sigma21 ( b) FILE xs . dat COLUMNS 1 6
FUNCTION sigmaa2 ( b) FILE xs . dat COLUMNS 1 7
FUNCTION nusi gf 1 ( b) FILE xs . dat COLUMNS 1 8
FUNCTION nusi gf 2 ( b) FILE xs . dat COLUMNS 1 9
MATERIAL f uel {
D_1 di f 1 ( q( x , y ) )
D_2 di f 2 ( q( x , y ) )
SigmaT_1 sigmaa1 ( q( x , y ) ) +sigma12 ( q( x , y ) )
SigmaS_1>2 sigma12 ( q( x , y ) )
SigmaS_2>1 sigma21 ( q( x , y ) )
SigmaT_2 sigmaa2 ( q( x , y ) ) +sigma21 ( q( x , y ) )
nuSigmaF_1 nusi gf 1 ( q( x , y ) )
nuSigmaF_2 nusi gf 2 ( q( x , y ) )
}
MATERIAL r e f l {
D_1 1. 40
D_2 0. 95
SigmaT_1 1. 51 e 4+1.23e2
SigmaS_1>2 1. 23 e2
SigmaS_2>1 6. 89 e5
SigmaT_2 1. 06 e 3+6.89e5
}
MATERIAL f uel +tube INCREMENTAL f uel {
D_1 0
D_2 0
SigmaT_1 1.10e4
SigmaS_1>2 1.3e5
SigmaS_2>1 +1. 51e06
SigmaT_2 +9. 84e05
nuSigmaF_1 5.00e06
nuSigmaF_2 +1. 11e05
:o
}
MATERIAL f uel +tube+rod INCREMENTAL f uel +tube {
D_1 0
D_2 0
SigmaT_1 +2. 32e04
SigmaS_1>2 +5. 46e05
SigmaS_2>1 +2. 90e05
SigmaT_2 +2. 76e03
nuSigmaF_1 2.75e05
nuSigmaF_2 +1. 92e04
}
MATERIAL r e f l +tube+rod INCREMENTAL r e f l {
D_1 0
D_2 0
SigmaT_1 1.10e04
SigmaS_1>2 1.37e04
SigmaS_2>1 +1. 51e06
SigmaT_2 +9. 83e05
}
Al utilizar el keyword incremental, estamos indicando que las expresiones dadas deben ser
sumadas algebraicamente a las secciones ecaces del material base.
Si bien ya hemos denido muchos de los parmetros del problema, an quedan algunos
por jar. Como venimos haciendo a lo largo del captulo, queremos utilizar el mismo archivo
de entrada de milonga para resolver varios casos y comparar resultados. Por lo tanto, las op-
ciones que nos faltan las leemos desde la lnea de comandos. El primer parmetro a modicar
es el ag beq, que indica ncleo fresco (beq=0) o ncleo en equilibrio (beq=1), es decir con la
distribucin de quemados (r, j) dada por la expresin (5.12). La segunda es la longitud carac-
terstica de la malla /
c
, para que podamos estudiar una malla gruesa y una na. La siguiente
es el algoritmo que queremos que use gmsh para malla la geometra continua. En este caso,
vamos a comparar los mtodos meshadapt y delquad sin entrar en detalles sobre cada algorit-
mo, slo para observar grcamente las mallas resultantes. Y, nalmente, para no escaparnos
al objetivo principal del trabajo, elegimos resolver la ecuacin de difusin de neutrones con el
esquema basado en volmenes nitos del captulo 3 o con el esquema basado en elementos
nitos desarrollado en el captulo 4.
corte.was
# r e s u e l v e e l k e f f y l a d i s t r i b u c i o n de f l u j o de un s i mi l c o r t e
# t r a n s v e r s a l de un r e a c t o r t i p o PHWR con b a r r a s de c o n t r o l
# i n c l i n a d a s a dos gr upos de e ne r g i a
# s e puede e l e g i r por l i n e a de comandos :
# $1 nuc l e o f r e s c o o con una d i s t r i b u c i o n de quemado
# dada por una e x p r e s i o n a l g e b r a i c a de x , y
# $2 l o ngi t ud c a r a c t e r i s t i c a de l a mal l a ( mas c h i c a > mas f i n a )
# $3 a l g o r i t mo de mal l ado
# $4 met odo de s o l uc i o n , vol umes o e l e me nt s
beq = $1 # f l a g que i nd i c a BEQ o BOL
l c = $2 # l o ng i t ud c a r a c t e r i s t i c a d e l e l e me nt o
al g = $3 # a l g o r i t mo de mal l ado ( 1 = meshadapt , 8 = de l qua d )
SCHEME $4 # vol umes o e l e me nt o s
# d e f i n i c i o n de l o s pa r a me t r o s de l a ge o me t r i a
:o6
INCLUDE geometri a . was
# c o nd i c i o n de c o nt o r no de r o b i n
PHYSICAL_ENTITY NAME s ur f ace BC robi n 0.5
# s al udamos a l us uar i o , por que somos un c o di go p o l i t e
PRINT TEXT "==========================="
IF beq=0&al g=1 PRINT TEXT " \# resol vi endo nucl eo f r es c o con $4 , l c = $2 y
al g = meshadapt "
IF beq=0&al g=8 PRINT TEXT " \# resol vi endo nucl eo f r es c o con $4 , l c = $2 y
al g = delquad"
IF beq=1&al g=1 PRINT TEXT " \# resol vi endo nucl eo en e qui l i br i o con $4 , l c =
$2 y al g = meshadapt "
IF beq=1&al g=8 PRINT TEXT " \# resol vi endo nucl eo en e qui l i br i o con $4 , l c =
$2 y al g = delquad"
# mal l amos ( y medimos e l t i e mpo )
t 1 = cl ock ( )
PRINT TEXT " \# + mallando . . . " NONEWLINE
TEMPLATE c or t e . t pl cort e$2$3 . geo l c al g h r d b t w l x1 y1 t het a1 p1
x2 y2 t het a2 p2
SHELL "gmsh 2 t ol 1e1 cort e$2$3 . geo > /dev/nul l "
PRINT TEXT " l i s t o ! "
t 2 = cl ock ( )
MESH DIMENSIONS 2 DEGREES 2 FILE_PATH cort e$2$3 . msh
read_mesh_time = cl ock ( )t 2
mesh_time = t2t 1
INCLUDE xs . was
# r e s o l ve mo s ( y medimos e l t i e mpo )
PRINT TEXT " \# + resol vi endo . . . " NONEWLINE
MILONGA_SOLVE
PRINT TEXT " l i s t o ! "
PRINT TEXT " \# kef f = " %.6f kef f
PRINT TEXT " \#"
PRINT TEXT " \# tiempos ( wal l ) "
PRINT TEXT " \# + mallado ( gmsh) = " %.2f mesh_time TEXT " segs "
PRINT TEXT " \# + l e c t ur a de mal l a = " %.2f read_mesh_time+i ni t _t i me
TEXT " segs "
PRINT TEXT " \# + armado de mat ri ces = " %.2f bui l d_mat ri ces_t i me TEXT
" segs "
PRINT TEXT " \# + sol uci on del problema = " %.2f sol ve_t i me TEXT " segs "
PRINT TEXT " \# "
PRINT TEXT " \# " %.2f mesh_time+read_mesh_time+
i ni t _t i me+bui l d_mat ri ces_t i me+sol ve_t i me TEXT " segs "
PRINT TEXT "==========================="
OUTPUT_FILE f l uj o post cort e$1$2$3$4 . pos
MESH_POST FILE f l uj o post q nuSigmaF_1 phi_1 phi_2
$ cat loop.sh
for beq in 0 1; do
for lc in 14 9; do
for alg in 1 8; do
for method in volumes elements; do
milonga corte.was $beq $lc $alg $method
gmsh corte-$beq-$lc-$alg-$method.pos corte.opt
convert -trim 0.png corte-$beq-$lc-$alg-$method-bu.png
:o
convert -trim 1.png corte-$beq-$lc-$alg-$method-sigmaf1.png
convert -trim 2.png corte-$beq-$lc-$alg-$method-phi1.png
convert -trim 3.png corte-$beq-$lc-$alg-$method-phi2.png
done
done
done
done
$ ./loop.sh
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con volumes, lc = 14 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.080495
#
# tiempos (wall)
# + mallado (gmsh) = 1.05 segs
# + lectura de malla = 0.04 segs
# + armado de matrices = 0.11 segs
# + solucion del problema = 0.09 segs
# ---------------------------------------
# 1.29 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con elements, lc = 14 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.079742
#
# tiempos (wall)
# + mallado (gmsh) = 0.97 segs
# + lectura de malla = 0.01 segs
# + armado de matrices = 0.63 segs
# + solucion del problema = 0.15 segs
# ---------------------------------------
# 1.76 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con volumes, lc = 14 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.080121
#
# tiempos (wall)
# + mallado (gmsh) = 0.43 segs
# + lectura de malla = 0.03 segs
# + armado de matrices = 0.10 segs
# + solucion del problema = 0.08 segs
# ---------------------------------------
# 0.64 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con elements, lc = 14 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.079749
#
# tiempos (wall)
# + mallado (gmsh) = 0.41 segs
# + lectura de malla = 0.01 segs
# + armado de matrices = 0.59 segs
# + solucion del problema = 0.12 segs
:o8
# ---------------------------------------
# 1.14 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con volumes, lc = 9 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.080402
#
# tiempos (wall)
# + mallado (gmsh) = 2.25 segs
# + lectura de malla = 0.22 segs
# + armado de matrices = 0.28 segs
# + solucion del problema = 0.31 segs
# ---------------------------------------
# 3.06 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con elements, lc = 9 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.079796
#
# tiempos (wall)
# + mallado (gmsh) = 2.26 segs
# + lectura de malla = 0.03 segs
# + armado de matrices = 1.54 segs
# + solucion del problema = 0.51 segs
# ---------------------------------------
# 4.34 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con volumes, lc = 9 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.079674
#
# tiempos (wall)
# + mallado (gmsh) = 0.93 segs
# + lectura de malla = 0.18 segs
# + armado de matrices = 0.24 segs
# + solucion del problema = 0.27 segs
# ---------------------------------------
# 1.63 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo fresco con elements, lc = 9 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 1.079788
#
# tiempos (wall)
# + mallado (gmsh) = 0.93 segs
# + lectura de malla = 0.03 segs
# + armado de matrices = 1.36 segs
# + solucion del problema = 0.39 segs
# ---------------------------------------
# 2.71 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con volumes, lc = 14 y alg = meshadapt
:o
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.993343
#
# tiempos (wall)
# + mallado (gmsh) = 0.97 segs
# + lectura de malla = 0.05 segs
# + armado de matrices = 0.12 segs
# + solucion del problema = 0.10 segs
# ---------------------------------------
# 1.24 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con elements, lc = 14 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.992539
#
# tiempos (wall)
# + mallado (gmsh) = 0.97 segs
# + lectura de malla = 0.01 segs
# + armado de matrices = 0.63 segs
# + solucion del problema = 0.16 segs
# ---------------------------------------
# 1.77 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con volumes, lc = 14 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.992180
#
# tiempos (wall)
# + mallado (gmsh) = 0.42 segs
# + lectura de malla = 0.04 segs
# + armado de matrices = 0.11 segs
# + solucion del problema = 0.09 segs
# ---------------------------------------
# 0.66 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con elements, lc = 14 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.992570
#
# tiempos (wall)
# + mallado (gmsh) = 0.42 segs
# + lectura de malla = 0.01 segs
# + armado de matrices = 0.58 segs
# + solucion del problema = 0.15 segs
# ---------------------------------------
# 1.16 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con volumes, lc = 9 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.993484
#
# tiempos (wall)
:1o
# + mallado (gmsh) = 2.18 segs
# + lectura de malla = 0.23 segs
# + armado de matrices = 0.26 segs
# + solucion del problema = 0.35 segs
# ---------------------------------------
# 3.03 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con elements, lc = 9 y alg = meshadapt
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.992566
#
# tiempos (wall)
# + mallado (gmsh) = 2.23 segs
# + lectura de malla = 0.03 segs
# + armado de matrices = 1.53 segs
# + solucion del problema = 0.50 segs
# ---------------------------------------
# 4.30 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con volumes, lc = 9 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.992321
#
# tiempos (wall)
# + mallado (gmsh) = 0.93 segs
# + lectura de malla = 0.18 segs
# + armado de matrices = 0.24 segs
# + solucion del problema = 0.29 segs
# ---------------------------------------
# 1.64 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# resolviendo nucleo en equilibrio con elements, lc = 9 y alg = delquad
# + mallando... listo!
# + resolviendo... listo!
# keff = 0.992562
#
# tiempos (wall)
# + mallado (gmsh) = 0.94 segs
# + lectura de malla = 0.02 segs
# + armado de matrices = 1.38 segs
# + solucion del problema = 0.39 segs
# ---------------------------------------
# 2.72 segs
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$ gmsh corte-14-1.geo corte-14-1.msh mesh.opt
$ inkscape -D -A corte-mesh-14-1.pdf mesh.svg
$ gmsh corte-9-1.geo corte-9-1.msh mesh.opt
$ inkscape -D -A corte-mesh-9-1.pdf mesh.svg
$ gmsh corte-14-8.geo corte-14-8.msh mesh.opt
$ inkscape -D -A corte-mesh-14-8.pdf mesh.svg
$ gmsh corte-9-8.geo corte-9-8.msh mesh.opt
$ inkscape -D -A corte-mesh-9-8.pdf mesh.svg
$
$
:11
Figura 5.91 Malla generada por gmsh con el algoritmo meshadapt para
c
= 14 cm
:1:
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.92 Ncleo fresco,
c
= 14, algoritmo meshadapt, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.93 Ncleo fresco,
c
= 14, algoritmo meshadapt, elementos nitos
:1
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.94 Ncleo en equilibrio,
c
= 14, algoritmo meshadapt, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.95 Ncleo en equilibrio,
c
= 14, algoritmo meshadapt, elementos nitos
:1
Figura 5.96 Malla generada por gmsh con el algoritmo delquad para
c
= 14 cm
:1
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.97 Ncleo fresco,
c
= 14, algoritmo delquad, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.98 Ncleo fresco,
c
= 14, algoritmo delquad, elementos nitos
:16
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.99 Ncleo en equilibrio,
c
= 14, algoritmo delquad, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.100 Ncleo en equilibrio,
c
= 14, algoritmo delquad, elementos nitos
:1
Figura 5.101 Malla generada por gmsh con el algoritmo meshadapt para
c
= 9 cm
:18
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.102 Ncleo fresco,
c
= 9, algoritmo meshadapt, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.103 Ncleo fresco,
c
= 9, algoritmo meshadapt, elementos nitos
:1
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.104 Ncleo en equilibrio,
c
= 9, algoritmo meshadapt, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.105 Ncleo fresco,
c
= 9, algoritmo meshadapt, elementos nitos
::o
Figura 5.106 Malla generada por gmsh con el algoritmo delquad para
c
= 9 cm
::1
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.107 Ncleo fresco,
c
= 9, algoritmo delquad, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.108 Ncleo fresco,
c
= 9, algoritmo delquad, elementos nitos
:::
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.109 Ncleo en equlibrio,
c
= 9, algoritmo delquad, volmenes nitos
(a) q(x, y) (b)
f1
(c)
1
(x, y) (d)
2
(x, y)
Figura 5.110 Ncleo en equilibrio,
c
= 9, algoritmo delquad, elementos nitos
::
En el mmico de la terminal podemos observar no slo el /
eff
para cada una de las diecisis
combinaciones de parmetros sino tambin el tiempo insumido en la generacin de la malla
por gmsh, en la lectura de la malla, en el armado de las matrices y en la resolucin numrica
del problema de autovalores.
Mostramos los resultados de las diecisis combinaciones en las guras 5.915.108. La prime-
ra gura de cada grupo muestra en detalle las cuatro diferentes mallas generada por gmsh para
las combinaciones de /
c
= 14cm,9 cm y algoritmo de malla meshadapt/delquad. Debemos no-
tar que las supercies que corresponden a las barras de control y a los tubos guas se generan
a partir de tringulos mientras que el ncleo y el reector estn compuestas por cuadrngulos,
que a su vez se generan recombinando tringulos bsicos. A continuacin mostramos, para
dicha malla, algunos resultados espaciales para las cuatro combinaciones de ncleo fresco/e-
quilibrio y volmenes/elementos nitos. La subgura (a) muestra la distribucin espacial de
quemado, que para ncleo fresco es idnticamente cero y para ncleo en equilibrio est da-
da por la ecuacin (5.12). La subgura (b) ilustra cul es la distribucin de
f1
resultante.
Si el quemado es cero, las distribuciones de secciones ecaces macroscpicas dependen slo
de la geometra y son uniformes en cada material. En cambio para el caso de ncleo en equi-
librio con distribucin de quemado no trivial, las secciones ecaces cambian continuamente
dentro de cada material y en forma discontinua en las interfaces. En las guras, tanto (r, j)
como
f1
(r, t) aparecen discretizadas como valores homogneo sobre cada celda en volme-
nes e interpolaciones de valores nodales sobre cada elemento. Es por eso que en las soluciones
de elementos tanto el quemado la seccin ecaz de sin aparezcan como corruptas en los bor-
des: sucede que en las posiciones de los nodos que estn en la interfaz digamos ncleo-reector,
ni (r, j) ni
f1
(r, t) estn bien denidas. Dependiendo de cmo se realiza la comparacin de
nmeros de coma otante, los valores nodales sern los correspondientes a uno u otro material
en forma ms o menos aleatoria. Luego, cuando gmsh intenta interpolar sobre los elementos
adyacentes a la interfaz, pueden aparecer colores intermedios entre las propiedades de am-
bos materiales. Sin embargo, sta es slo la representacin en vista de post-procesamiento de
gmsh. En la construccin las matrices del problema, milonga integra numricamente las dis-
tribuciones continuas en funcin de r e j para obtener los elementos de 1 y de 1. Como las
integrales se realizan sobre la supercie del elemento sin llegar hasta el borde, en todo momen-
to
f1
(r, j)y todas las secciones ecacesestn bien denidas y por lo tanto las integrales
son calculadas correctamente, dentro de la precisin del esquema numrico.
Las subguras (c) y (d) muestran las distribuciones de ujo rpido y trmico respectiva-
mente. Para volmenes nitos, asignamos el valor medio de cada celda obtenido en el clculo
numrico a toda la celda y para elementos nitos, interpolamos los valores nodales arrojados
por el problema de autovalores/autovectores. Estas funciones
1
(r, j) y
2
(r, j) s estn dis-
cretizadas pero como son continuas, estn bien denidas incluso en las interfaces por lo que no
aparecen elementos con colores raros en la representacin de post-procesamiento.
Hemos preparado cada una de las guras subguras como mapa de bits con un tamao
razonable como para ser introducidas en un documento cuya nalidad es ser impreso en un
soporte de papel con formato A4. Es por eso que algunos de los detalles que discutimos en el
prrafo anterior y algunos otros que podran llegar a interesarle al lector no puedan ser aprecia-
dos en el formato propuesto. El autor del trabajo proveer gustosamente los archivos digitales
originales en formato de post-procesamiento para gmsh con los que se pueden generar gr-
cos vectoriales en escalas arbitrarias sin prdida de calidad. Una vez ms debemos recordar
que tanto la geometra como los datos de este problema fueron inventados completamente.
Lo interesante del estudio es la comparacin de los resultados obtenidos con ambos esquemas
numricos frente a un problema de una complejidad considerable ms que los resultados en s
mismos.
::
5.2.3. El problema de los pescaditos
En esta seccin invocamos un problema clsico de los cursos de fsica de reactores conocido
como el problema del pescadito y lo generalizamos para dos y tres pescaditos.
3
El enunciado
original consiste en suponer que existe un cierto reactor lquido homogneo esfrico de radio
y que un pescadito tambin esfrico de radio o se mueve libremente dentro del reactor. La
consigna es calcular, utilizando teora de perturbaciones, cmo cambia la reactividad neta del
reactor en funcin de la distancia : del pescadito al centro del reactor.
A continuacin resolvemos primero el problema original de un pescadito de radio o mo-
vindose no en una esfera sino en un crculo de radio y calculamos el cambio de reactividad
en funcin de la distancia : no con teora de perturbaciones sino resolviendo paramtricamente
el problema de difusin al ubicar el pescadito en diferentes posiciones radiales :. Luego estu-
diamos qu sucede no cuando hay un nico pescadito sino dos pescaditos que se mueven a
lo largo de un mismo dimetro. Nuevamente, resolvemos la reactividad en funcin de la dis-
tancia :. Finalmente, insertamos tres pescaditos en el reactor. Esta vez, jamos la posicin de
dos de ellos en forma no simtrica y nos planteamos el problema de encontrar dnde hay que
ubicar el tercero para que la reactividad total sea mnima. A raz de esta monografa, se ha pre-
sentado un artculo en la serie Mecnica Computacional [34] y un trabajo en la Reunin Anual
de la Asociacin Argentina de Tecnologa Nuclear 2013 [35].
Fijamos = 50 unidades arbitrarias de longitud, o = 2 y barremos paramtricamente :
con incrementos : = 1. Denimos la longitud caracterstica de las celdas/elementos /
c
= 2,
aunque dentro y alrededor del pescadito renamos un poco la malla achicando a la mitad la
longitud caracterstica asociada a los puntos que lo denen. Suponemos un grupo de energas
y nuevamente inventamos las secciones ecaces del reactor original y del pescadito:
# pa r a me t r o s de l a ge o me t r i a
NUMBER A 50 # r a d i o d e l r e a c t o r
NUMBER a 2 # r a d i o d e l p e s c a d i t o
NUMBER del t ar 1 # i nc r e me nt o en r
l c = 2 # l o ng i t ud c a r a c t e r i s t i c a
# s e c c i o n e s e f i c a c e s
MATERIAL f uel D 1 SigmaA 0. 02 nuSigmaF 0. 021
MATERIAL pescadi t o D 0. 9 SigmaA 0. 10
5.2.3.1. Un nico pescadito
El problema tradicional del pescadito consiste en encontrar cmo cambia la reactividad de
una conguracin similar a la que mostramos en la gura 5.111 para diferentes valores de :.
Podemos generar esta geometra con el siguiente archivo template:
A = $1 ; / / r a d i o d e l r e a c t o r
a = $2 ; / / r a d i o d e l p e s c a d i t o
r = $3 ; / / p o s i c i o n r a d i a l d e l p e s c a d i t o
l c = $4 ; / / l o ng i t ud c a r a c t e r i s t i c a de l a mal l a
3
A lo largo de esta seccin usamos la palabra pescado no como participio pasado del verbo pescar sino como el
sustantivo cuyo signicado todos conocemos perfectamente.
::
r
2a
Figura 5.111 Un pescadito de radio a se mueve dentro de un reactor de radio A a una distancia r del centro.
Mesh. Algorithm = 8; / / a l g o r i t mo de mal l ado de l aunay
Poi nt ( 1 ) = { 0 , 0 , 0 , l c } ; / / e l c i r c u l o gr ande de r a d i o A
Poi nt ( 2 ) = { A, 0 , 0 , l c } ;
Poi nt ( 3 ) = {A, 0 , 0 , l c } ;
Poi nt ( 4 ) = { 0 , A, 0 , l c } ;
Poi nt ( 5 ) = { 0, A, 0 , l c } ;
Ci r c l e ( 1 ) = { 5 , 1 , 2 } ;
Ci r c l e ( 2 ) = { 2 , 1 , 4 } ;
Ci r c l e ( 3 ) = { 4 , 1 , 3 } ;
Ci r c l e ( 4 ) = { 3 , 1 , 5 } ;
Li ne Loop( 13) = { 2 , 3 , 4 , 1 } ;
Poi nt ( 8 ) = { r , 0 , 0 , 0. 5 l c } ; / / e l p e s c a d i t o de r a d i o a
Poi nt ( 10) = { r+a , 0 , 0 , 0. 5 l c } ; / / y mal l a r e f i n a d a
Poi nt ( 11) = { r , a , 0 , 0. 5 l c } ;
Poi nt ( 12) = { ra , 0 , 0 , 0. 5 l c } ;
Poi nt ( 13) = { r , a , 0 , 0. 5 l c } ;
Ci r c l e ( 5 ) = { 13 , 8 , 1 0 } ;
Ci r c l e ( 6 ) = { 10 , 8 , 1 1 } ;
Ci r c l e ( 7 ) = { 11 , 8 , 1 2 } ;
Ci r c l e ( 8 ) = { 12 , 8 , 1 3 } ;
Li ne Loop( 14) = { 6 , 7 , 8 , 5 } ;
Pl ane Surf ace ( 16) = { 13 , 1 4 } ; / / l a s s u p e r f i c i e s ( con l o s hue c os )
Recombine Surf ace ( 16) ;
Pl ane Surf ace ( 17) = { 1 4 } ;
Recombine Surf ace ( 17) ;
Physi cal Line ( 1 ) = { 2 , 1 , 4 , 3 } ; / / s u p e r f i c i e e x t e r na
Physi cal Surf ace ( " f uel " ) = { 1 6 } ; / / f u e l
::6
Physi cal Surf ace ( " pescadi t o " ) = { 1 7 } ; / / p e s c a d i t o
Color SeaGreen { Surf ace { 1 6 } ; }
Color Maroon { Surf ace { 1 7 } ; }
donde los valores de , o, : y /
c
son escritos por milonga antes de generar la malla.
Hacemos una corrida parmetrica variando : en el rango [0, o 1,2:] con incremen-
tos :. Por un lado calculamos el /
eff
para cada : tanto con elementos como con volmenes, y
por otro calculamos el /
eff0
que tendra el reactor grande en ausencia de cualquier pescadito.
Luego calculamos el incremento de reactividad introducida por el pescadito como
(:) =
/
eff
1
/
eff

/
eff0
1
/
eff0
que es el resultado esperado del problema del pescadito.
un-pescadito.was
# e s t ud i o p a r a me t r i c o s o b r e r e nt r e [ 0 : Aad e l t a r ] con s a l t o s
# de d e l t a r ( s i e l rango e s t a dado por e x p r e s i o ne s de be n s e r
# de NUMBERs c o ns t a nt e s y no de v a r i a b l e s )
INCLUDE geo . was
PARAMETRIC r 0 Aa0.5 del t ar del t ar
# generamos e l a r c h i v o . geo con l o que val gan l o s pa r a me t r o s A, r y a
TEMPLATE unpescadi t o . t pl unpescadi t o . geo A a r l c
# l l amamos a gmsh par a ge ne r a r l a mal l a
SHELL "gmsh v 0 2 unpescadi t o . geo "
MESH FILE_PATH unpescadi t o . msh DEGREES 1 DIMENSIONS 2
INCLUDE xs . was # ge o me t r i a y s e c c i o n e s e f i c a c e s
# r e s o l ve mo s e l pr obl e ma
MILONGA_SOLVE
# c a l c ul a mo s e l k e f f que t e nd r i a e l c i r c u l o s i n p e s c a d i t o s
# par a e s o mi ramos l a s XS en un punt o donde sepamos que no va a
# e s t a r e l p e s c a d i t o
ke0 = nuSigmaF ( 0 , 0 . 9 A) / ( SigmaA( 0 , 0. 9A) + (D( 0 , 0 . 9 A) ( 2. 405/A) ^2) )
# i mpri mi mos en p a n t a l l a e l d e l t a r ho que me t i o e l pe z vs . r
PRINT %g r 1e5 ( ( kef f 1)/kef f (ke01)/ke0 )
$ milonga un-pescadito.was --volumes > un-pescadito-vol.dat
$ milonga un-pescadito.was --elements > un-pescadito-ele.dat
$ pyxplot un-pescadito.ppl
$
La gura 5.112 muestra el resultado del problema de un pescadito. Como era de esperar, el
resultado al resolver el problema con elementos nitos se parece a una curva S: para :
el efecto del absorbente es pequeo y la reactividad introducida es casi cero, mientras que pa-
ra : = 0 la reactividad negativa es mxima y su derivada es cero debido a la simetra del
problema. Si bien la curva de volmenes nitos sigue en lneas generales a la solucin espera-
da, no es montona con : ni tiene derivada cero en el centro. Podemos explicar estos wiggles
::
0 10 20 30 40 50
r
0 10 20 30 40 50
r
2000
1500
1000
500
0

[
P
C
M
]
vol umenes nitos
elementos nitos
Figura 5.112 Incremento de reactividad del conjunto reactor+pescadito con respecto al reactor sin pescadito,
en funcin de la posicin r del pescadito.
se con un argumento similar al utilizado en la seccin 5.2.1. La solucin de la formulacin en
volmenes nitos depende del coseno del ngulo que forman el segmento que une los centros
de dos celdas adyacentes y de la normal al segmento que las separa. Aunque : vare slo lige-
ramente, puede darse el caso de que gmsh cambie radicalmente la distribucin de las celdas
para acomodarse a la geometra continua, resultando grandes cambios en la precisin de la
evaluacin de los trminos de supercie en la formulacin de volmenes. El mtodo basado en
elementos no tiene esta dependencia discontinua con la geometra y por lo tanto sus resultados
son ms suaves y tienen un mejor acuerdo con la solucin que esperaramos del problema del
pescadito continuo.
5.2.3.2. Dos pescaditos
El problema que sigue es una variacin del anterior, pero que ilustra tanto el efecto del conocido
efecto de apantallamiento pero tambin el menos conocido y poco felizmente traducido efecto
anti-shadow como anti-apantallamiento. En este caso, agregamos un segundo pescadito en
todo idntico al primero ubicado tambin a una distancia : del centro diametralmente opuesto
al primer pez (gura 5.113).
dos-pescaditos.was
INCLUDE geo . was
PARAMETRIC r a +0. 5 del t ar Aa0.5 del t ar del t ar
TEMPLATE dospescadi t os . t pl dospescadi t os . geo A a r l c
SHELL "gmsh v 0 2 dospescadi t os . geo "
MESH FILE_PATH dospescadi t os . msh DEGREES 1 DIMENSIONS 2
::8
r
2a 2a
Figura 5.113 Dos pescaditos de radio a se mueven en forma simtrica dentro de un reactor de radio A, cada
uno a una distancia r del centro.
INCLUDE xs . was
MILONGA_SOLVE
# s i q ui s i e r a mo s un p e r f i l a l o l a r g o d e l e j e x par a
# cada r podr i amos de s c ome nt ar l o que s i gue
# OUTPUT_FILE a x i a l dosp e s c a d i t o s a x i a l $1 . dat
# phi ( x ) : = phi _1 ( x , 0 )
# PRINT_FUNCTION FILE a x i a l phi MIN A MAX A STEP A/ 200
ke0 = nuSigmaF ( 0 , 0 . 9 A) / ( SigmaA( 0 , 0. 9A) + (D( 0 , 0 . 9 A) ( 2. 405/A) ^2) )
# i mpri mi mos en p a n t a l l a e l d e l t a r ho que me t i o e l pe z vs . r
PRINT %g r 1e5 ( ( kef f 1)/kef f (ke01)/ke0 )
$ milonga dos-pescaditos.was --volumes > dos-pescaditos-vol.dat
$ milonga dos-pescaditos.was --elements > dos-pescaditos-ele.dat
$ pyxplot dos-pescaditos-vol.ppl
$ pyxplot dos-pescaditos-ele.ppl
$
Estamos ahora interesados en comparar la reactividad neta introducida por ambos pesca-
ditos en funcin de la distancia : y compararla con el doble de la reactividad introducida por
un nico pescadito, que es el resultado del problema anterior. Mostramos la solucin obteni-
da con volmenes nitos en la gura 5.114 y con elementos en la gura 5.115. Por un lado,
si : entonces las dos reactividades coinciden y son casi iguales a cero. Por otro lado, si : es
pequeo (notar que si : < o los dos pescaditos se chocan y gmsh no puede generar una malla
vlida), vemos que los dos pescaditos se apantallan entre s y la reactividad neta es en valor
::
0 10 20 30 40 50
r
0 10 20 30 40 50
r
4000
3000
2000
1000
0

[
P
C
M
]
el doble de un pescadito con vol umenes
dos pescaditos con vol umenes
Figura 5.114 Comparacin entre la reactividad neta introducida por dos pescaditos y el doble de la reactividad
introducida por uno solo calculada con volmenes nitos.
0 10 20 30 40 50
r
0 10 20 30 40 50
r
4000
3000
2000
1000
0

[
P
C
M
]
el doble de un pescadito con elementos
dos pescaditos con elementos
Figura 5.115 Comparacin entre la reactividad neta introducida por dos pescaditos y el doble de la reactividad
introducida por uno solo calculada con elementos nitos.
:o
absoluto menor que el doble de la que habra si tuvisemos dos veces solamente un pescadi-
to de radio o en la posicin :. Este es el efecto del apantallamiento, que se suele discutir en
los cursos de fsica de reactores. Sin embargo, para valores de : 1,2 sucede que la reacti-
vidad neta introducida por ambos pescaditos es mayor en valor absoluto que el doble de un
nico pescadito. Este es el efecto de anti-apantallamiento. Puesto de otro modo, dos pescaditos
absorbentes puestos a una cierta distancia son ms efectivos para introducir reactividad nega-
tiva que si los tuvisemos por separados. Este resultado es conocido, pero recin aparece en
el captulo nmero 15 del libro de la referencia [20] donde incluso aparece un grco en todo
similar a la gura 5.115 calculado al resolver cuasi-analticamente la ecuacin de difusin a un
grupo. Como la mayora de los estudiantes de grado no pasa del captulo 9 de dicho libro, este
efecto de anti-apantallamiento suele pasar desapercibido hasta la aparicin de resultados de
clculos tridimensionales de ncleo realizados con contratos en moneda extranjera que no se
pueden explicar si no fuese por una combinacin de efectos neutrnicos reales y de defectos en
la discretizacin espacial.
Desde el punto de vista de la comparacin entre volmenes y elementos nitos, al analizar
las guras 5.114 y 5.115 llegamos a la misma conclusin que para el problema de un nico
pescadito. Para este tipo de problemas en los que las secciones ecaces son uniformes y la geo-
metra vara en forma continua, el mtodo de elementos nitos del captulo 4 es muy superior
al mtodo de volmenes nitos del captulo 3.
5.2.3.3. Tres pescaditos
El ltimo de los problemas de esta seccin involucra tres pescaditos iguales y consiste en en-
contrar, dadas las posiciones jas x
1
y x
2
R
2
de dos de ellos, la ubicacin x
3
del tercero para
que la reactividad del conjunto sea mnima. Se trata de un problema de optimizacin, que no
slo milonga puede resolver sino que es este el objetivo de la tesis de doctorado del autor del
cdigo (y de este trabajo): la optimizacin de parmetros de diseo de reactores nucleares de
potencia.
Los detalles de los algoritmos involucrados y de otras sutilezas y particularidades relacio-
nadas a la optimizacin de la ecuacin de difusin de neutrones involucrara una tesis de doc-
torado completa. En esta seccin solamente ilustramos cmo es posible minimizar la funcin
objetivo
(r
3
, j
3
) =
_
/
eff
(r
3
, j
3
) 1
/
eff
(r
3
, j
3
)

/
eff0
1
/
eff0
_
10
5
[ PCM ]
encontrando la posicin r
3
, j
3
de un pescadito de radio o dentro de un reactor circular de
radio , dadas las posiciones jas de dos pescaditos de radio o
r
1
= 0,2
j
1
= 0,1
r
2
= 0
j
2
= 0,15
Con estos valores, es de esperar que la solucin ptima sea r
3
< 0 e j
3
0.
Para resolver el problema de optimizacin utilizamos el mtodo de Nelder y Mead de mi-
nimizacin por simplex n-dimensionales [36] implementado en la biblioteca GNU Scientic
Library [37], contra la que milonga debe linkearse al compilar. A partir de un cierto guess ini-
cial, el algoritmo procede proponiendo nuevos valores dnde evaluar la funcin objetivo de
:1
forma tal de el simplex se mueva hacia la solucin ptima y eventualmente se contraiga hasta
acotarla dentro de una cierta tolerancia especicada. Este mtodo, a diferencia de los algorit-
mos basados en gradientes conjugados, no necesita evaluar derivadas parciales de la funcin
objetivo con respecto a las variables a optimizar por lo que la cantidad de evaluaciones de
la funcin (r
3
, j
3
) es menor que para gradientes conjugados. Sin embargo, el algoritmo de
Nelder y Mead puede quedar atrapado en mnimos locales y por lo que en general no pode-
mos asegurar que la solucin encontrada sea efectivamente la ptima. Para ello existen otros
mtodos tales como recocido simulado o algoritmos genticos, que estamos incorporando al
framework wasora que utiliza milonga para resolver problemas de optimizacin.
En cualquier caso, jada la posicin de dos pescaditos, el problema de encontrar la posicin
de un tercero tiene solucin nica ya que si lo ubicamos muy lejos del centro su contribucin
negativa a la reactividad total ser pequea. Por otro lado, si intentamos ponerlo cerca de los
dos primeros se apantallarn entr s y la reactividad neta rampoco ser muy negativa. La su-
percie (r
3
, j
3
)que podramos construir con milonga mediante un clculo paramtrico
sobre r
3
e j
3
tiene un nico mnimo local, que coincide con el mnimo global. Efectivamente,
milonga es capaz de encontrar el punto ptimo dnde colocar un cierto absorbente para lo-
grar una mxima reactividad negativa en esta conguracin sencilla con el input que sigue. Es
este un problema cannico, pero consideramos que es el primer paso para atacar el problema
general de optimizacin del diseo de sistemas de seguridad para maximizar su ecacia ante
transitorios en condiciones accidentales en reactores nucleares de potencia.
tres-pescaditos.was
INCLUDE geo . was
x1 = 0. 2A # ub i c a c i o n f i j a d e l pr i me r p e s c a d i t o
y1 = 0.1A
x2 = 0 # ub i c a c i o n f i j a d e l segundo p e s c a d i t o
y2 = 0.15A
# gue s s i n i c i a l par a x3 y3 en e l t e r c e r c ua dr a nt e par a
# l u s t r a r como mi l onga l o l l e v a a l segundo
x3 = 0.3A
y3 = 0.2A
SCHEME $1
TEMPLATE t r es pescadi t os . t pl t r es pescadi t os$1 . geo A a l c x1 y1 x2 y2 x3 y3
SHELL "gmsh v 0 2 t r es pescadi t os$1 . geo "
MESH DEGREES 1 DIMENSIONS 2 FILE_PATH t r es pescadi t os$1 . msh
INCLUDE xs . was
MILONGA_SOLVE
# d e f i ni mo s una f unc i o n que dependa de l a p o s i c i o n d e l nuevo p e s c a d i t o
ke0 = ( nuSigmaF ( 0 ,A) / ( SigmaA( 0 ,A) + (D( 0 ,A) ( 2. 405/A) ^2) ) )
del t ar ho ( x3 , y3 ) : = 1e5 ( ( kef f 1)/kef f ( ke01)/ke0 )
# y l e pedi mos a mi l onga que l a mi ni mi ce con e l a l g o r i t mo
# de l o s s i mpl e x que no n e c e s i t a e v a l ua r g r a d i e nt e s
MINIMIZE FUNCTION del t ar ho ALGORITHM nmsimplex2 STEP a a
# i mpri mi mos en l a s a l i d a e s t a nd a r l a s s o l u c i o n e s p a r c i a l e s
PRINT %+.3f x3 y3 %.1f del t ar ho ( x3 , y3 )
# y l a s ub i c a c i o ne s de l o s dos p e s c a d i t o s par a d i b uj a r
OUTPUT_FILE f i j o s pescadi t osf i j o s $1 . dat
::
IF do ne _o ut e r PRINT x1 y1 FILE f i j o s
IF do ne _o ut e r PRINT x2 y2 FILE f i j o s
$ milonga tres-pescaditos.was volumes > tres-pescaditos-volumes.dat
$ head -n 5 tres-pescaditos-volumes.dat
-15.000 -10.000 -4074.1
-15.000 -10.000 -4074.1
-13.000 -10.000 -4121.9
-15.000 -8.000 -4107.3
-13.000 -8.000 -4226.0
$ tail -n 5 tres-pescaditos-volumes.dat
-7.781 +9.156 -4651.3
-7.427 +9.142 -4639.1
-7.443 +9.076 -4663.8
-7.545 +9.146 -4649.4
-7.578 +9.016 -4694.7
$ milonga tres-pescaditos.was elements > tres-pescaditos-elements.dat
$ head -n 5 tres-pescaditos-elements.dat
-15.000 -10.000 -4245.2
-15.000 -10.000 -4245.2
-13.000 -10.000 -4272.7
-15.000 -8.000 -4324.5
-13.000 -8.000 -4353.1
$ tail -n 5 tres-pescaditos-elements.dat
-5.309 +8.396 -4864.4
-5.413 +8.519 -4864.6
-5.332 +8.725 -4863.9
-5.315 +8.478 -4864.4
-5.413 +8.519 -4864.6
$ gnuplot tres-pescaditos-vol.gnuplot
$ gnuplot tres-pescaditos-ele.gnuplot
$
Como hasta el momento, resolvemos exactamente el mismo problema tanto con volmenes
como con elementos nitos. Partiendo de un cierto guess inicial para r
3
< 0 e j
3
< 0, vemos
en la terminal que ambos esquemas comienzan aproximadamente tomando los mismos pasos
aunque la funcin objetivo no sea exactamente igual en ambos casos. Luego de una cierta canti-
dad de iteraciones, el algoritmo de optimizacin llega a una cierta posicin r
3
, j
3
donde se satis-
facen las condiciones de convergenciapor defecto ya que en el input no las especicamosy
milonga considera que el problema ha sido resuelto. Observamos en la terminal que las solu-
ciones encontradas con volmenes y con elementos coinciden a todos los nes prcticos. En
efecto, en las guras 5.116 y 5.117 mostramos todos los pasos intermedios tomados por el algo-
ritmo de optimizacin segn la evaluacin de la funcin objetivo (r
3
, j
3
) con volmenes y
con elementos nitos, respectivamente. Aunque es de esperar que existan diferencias puntuales
entre ambos esquemas, vemos que cualitativamente el algoritmo de optimizacin se comporta
de manera similar en ambos casos. La solucin ptima encontrada consiste en ubicar el pes-
cadito en el segundo cuadrante a una cierta distancia del centro, ni muy alejada como para
que no contribuya a la reactividad negativa ni muy cercana a los otros pescaditos como para
apantallarse entre s.
:
-20
-10
0
10
20
-20 -10 0 10 20
y
x
pescadito 1
pescadito 2
posicion inicial pescadito 3
pasos intermedios pescadito 3
posicion optima pescadito 3
-4800
-4600
-4400
-4200
r
e
a
c
t
i
v
i
d
a
d

[
P
C
M
]
Figura 5.116 Solucin del problema de ubicar un pescadito dada la posicin de otros dos jos para minimizar
la reactividad neta total con volmenes nitos.
-20
-10
0
10
20
-20 -10 0 10 20
y
x
pescadito 1
pescadito 2
posicion inicial pescadito 3
pasos intermedios pescadito 3
posicion optima pescadito 3
-4800
-4600
-4400
-4200
r
e
a
c
t
i
v
i
d
a
d

[
P
C
M
]
Figura 5.117 Solucin del problema de ubicar un pescadito dada la posicin de otros dos jos para minimizar
la reactividad neta total con elementos nitos.
:
5.2.4. Two-dimensional PWR IAEA Benchmark
Finalizamos el captulo de resultados resolviendo un problema clsico propuesto por la Agen-
cia Internacional de Energa Atmica en 1976 [38] para comparar y vericar cdigos de clculo
que resuelven la ecuacin de difusin de neutrones multigrupo, que es justamente lo que es
milonga. La geometra original propone una simetra de cuarto de ncleo con supercies ex-
ternas planas, pensada para ser resuelta utilizando una malla estructurada, que de hecho es la
forma en la que fueron remitidas las soluciones originales que hoy en da se toman como refe-
rencia. Incluso recientemente el cdigo milonga fue utilizado para resolver el problema en su
modo de malla estructurada [39], que era el nico disponible en 2011. Estrictamente, la geome-
tra presenta una simetra de un octavo de ncleo lo que reducira las incgnitas del problema
aproximadamente a la mitad y el esfuerzo computacional para resolverlo cuatro veces. Pero la
imposibilidad de discretizar satisfactoriamente un sector de ncleo de cuarenta y cinco grados
con una malla estructurada hizo que tradicionalmente se mantuviera el cuarto de ncleo como
geometra del problema. A raz de la presente monografa, se ha publicado un trabajo recien-
te [33] que ilustra la ventaja de utilizar mallas no estructuradas para resolver este problema que
ya es considerado clsico de la fsica de reactores.
A continuacin citamos el enunciado original del problema:
Reduction of source situation:
1. Two-group diffusion theory
2. Two-dimensional (r, j)-geometry
Two-group diffusion equations:
(1
1

1
) +
_

a1
+
12
+ 1
1
1
2
z1
_

1
=
1


f2

2
(1
2

2
) +
_

a2
+ 1
2
1
2
z2
_

2
=
12

1
Configuration:
Data (two-group constants):
1
1
1
2

12

a1

a2

f2
Material
1 1.5 0.4 0.02 0.01 0.080 0.135 Fuel 1
2 1.5 0.4 0.02 0.01 0.085 0.135 Fuel 2
3 1.5 0.4 0.02 0.01 0.130 0.135 Fuel 2 + Rod
4 2.0 0.3 0.04 0 0.010 0 Reector
Tabla 5.1 Macroscopic cross sections (units are not stated in the original reference, but they are assumed to be
in cm

1 or cm as appropriate.)
Axial buckling 1
2
z,g
= 0,8 10
4
for all regions and energy
groups.
Boundary conditions:
J
in
g
= 0 No incoming current at external boundaries
:
1
2
3
4
10 70 30 50 90 110 130 150 170 cm
10
70
90
130
150
170
cm
3
3
2 3 4 5 6 7 8 9
11 12 13 14 15 16 17
19 20 21 22 23 24
26 27 28 29 30
32 33 34
36 37
10
18
25
31
35
38
1
Figura 5.118 Upper octant: region assignments. Lower octant: fuel assembly identication.
For finite difference diffusion theory codes the following
form is considered equivalent:

g
n
=
0,4692
1
g

g
where n is the outward directed normal to the surface. At
symmetry boundaries:

g
n
= 0
Expected primary results:
1. Maximum eigenvalue
2. Fundamental flux distributions
a) Radial flux traverses
g
(r, 0) and
g
(r, r).
Note: The fluxes shall be normalized such that
1
\
core
_
V
core

fg

g
d\ = 1
:6
b) Value and location of maximum power density. This
corresponds to maximum of
2
in the core. It is
recommended that the maximum values of
2
both in the
inner core and at the core/reflector interface be
given.
3. Average subassembly powers 1
k
1
k
=
1
\
k
_
V
k

fg

g
d\
where \
k
is the volume of the /-th subassembly and /
designates the fuel subassemblies as shown in
figure 5.118.
4. Number of unknowns in the problem, number of iterations,
total and outer
5. Total computing time, iteration time, IO-time, computer
used
6. Type and numerical values of convergence criteria
7. Table of average group fluxes for a square mesh grid of
20 20 cm
8. Dependence of results on mesh spacing
5.2.4.1. Solucin al estilo milonga
Estamos interesados en resolver el problema, por supuesto tanto con volmenes como con ele-
mentos nitos, pero tambin aprovechando el hecho de que usamos mallas no estructurada
queremos comparar tambin la geometra original de un cuarto de ncleo con la geometra de
un octavo de ncleo. Adems, resulta interesante comparar los resultados obtenidos toman-
do como gura base tringulos y cuadrngulos, mallando con los algoritmos de delaunay y
delquad provistos por gmsh. Finalmente, tal como solicita el tem nmero ocho, estamos in-
teresados en estudiar qu sucede al variar el tamao de la malla. Una vez ms, como hemos
hecho a lo largo de este captulo, queremos resolver todos estos casos con un nico input de
milonga por lo que le pasamos a travs de la lnea de comandos las siguientes selecciones:
1. nmero de caso: n = 1, . . . , 80
2. tipo de geometra: quarter / octave
3. algoritmo de mallado: delaunay / delquad
4. forma bsica: triangs / quads
5. esquema de discretizacin: volumes / elements
6. longitud caracterstica de la malla: /
c
= 4, 3, 2, 1, 0,75
Esta situacin da lugar a 80 = 2 2 2 2 5 casos, que corremos con milonga usando en
mismo input pero diferentes opciones en la lnea de comandos.
:
benchmark.was
# BENCHMARK PROBLEM
#
# I d e n t i f i c a t i o n : 11A2 Sour c e Si t ua t i o n ID. 11
# Date Submi t t e d : J une 1976 By : R. R. Le e ( CE)
# D. A. Menely ( Ont ar i o Hydro )
# B. Mi c he e l s e n ( Ri soDenmark )
# D. R. Vondy (ORNL)
# M. R. Wagner (KWU)
# W. Werner ( GRSMunich )
#
# Date Ac c e pt e d : J une 1977 By : H. L . Dodds , J r . (U. o f Tenn . )
# M. V. Gregory ( SRL)
#
# De s c r i p t i v e T i t l e : Twodi me ns i o na l LWR Probl em ,
# a l s o 2D IAEA Benchmark Probl em
#
# Re duc t i on o f Sour ce Si t ua t i o n
# 1. Twogroupo d i f f u s i o n t he o r y
# 2. Twodi me ns i o na l ( x , y )ge ome t r y
#
# 8< mi l onga s s o l u t i o n b e gi ns he r e 8<
# t he e x p e c t e d argument s a r e :
# $1 = number o f t he c a s e
# $2 = t ype o f ge ome t r y ( q ua r t e r / e i g t h )
# $3 = meshi ng a l go r i t hm ( de l aunay / de l qua d )
# $4 = b a s i c s hape ( t r i a ng s / quads )
# $5 = d i s c r e t i z a t i o n scheme ( vol umes / e l e me nt s )
# $6 = c h a r a c t e r i s t i c l e ngt h o f t he e l e me nt / c e l l s
# we f i r s t c r e a t e a s ub d i r e c t o r y t h a t wi l l ho l d t he
# f i l e s t h a t c o r r e s po nd t o t he c ur r e nt c a s e
SHELL " mkdir p $1$2$3$4$5$6 "
# and g r e e t t he us e r t hr ough t he s t a nda r d out put
PRINT TEXT " case $1$2$3$4$5$6 " NONEWLINE
SCHEME $5 # s p a t i a l d i s c r e t i z a t i o n scheme
# ba s e d on a ge ome t r y t e mpl a t e f i l e named $1 . t p l f o r t he
# t ype o f symmetry used , g e ne r a t e a . geo f i l e wi t h t he
# s e l e c t e d c h a r a c t e r i s t i c l e ngt h , meshi ng a l go r i t hm and
# b a s i c e l e me nt / c e l l s hape
# TODO: f ut ur e v e r s i o ns ought t o i mpl ement t h e s e ki nd o f
# s t r i ng c o n d i t i o n a l s n a t i v e l y i ns t e a d o f r e l y i ng on t he s h e l l
SHELL " echo \" l c =$6 ; \" > $1$2$3$4$5$6/benchmark . geo "
SHELL " cat $2 . t pl >> $1$2$3$4$5$6/benchmark . geo "
SHELL " i f [ \" $3\" = \" delaunay\" ] ; then echo \"Mesh. Algorithm=5; \"
>> $1$2$3$4$5$6/benchmark . geo ; f i "
SHELL " i f [ \" $3\" = \" delquad\" ] ; then echo \"Mesh. Algorithm=8; \"
>> $1$2$3$4$5$6/benchmark . geo ; f i "
SHELL " i f [ \" $3\" = \" delquad\" ] ; then echo \"Mesh. RecombinationAlgorithm
=8; \" >> $1$2$3$4$5$6/benchmark . geo ; f i "
SHELL " i f [ \" $4\" = \" quads\" ] ; then echo \"Mesh. RecombineAll =1; \"
>> $1$2$3$4$5$6/benchmark . geo ; f i "
# c a l l gmsh wh i l s t measuri ng how much wa l l t i me i t t a k e s
t 1 = cl ock ( )
:8
SHELL "gmsh 2 $1$2$3$4$5$6/benchmark . geo > /dev/nul l "
t 2 = cl ock ( )
# as k wasora t o r e a d a twodi me ns i o na l twogr oups pr obl e m
MESH DIMENSIONS 2 DEGREES 2 FILE_PATH $1$2$3$4$5$6/benchmark . msh
t 3 = cl ock ( )
# ma t e r i a l s and c r o s s s e c t i o n s a c c o r di ng t o t he twogroup c o ns t a nt s
# e ac h ma t e r i a l c o r r e s p o nd s t o a p h y s i c a l e n t i t y i n t he ge ome t r y f i l e
Bg2 = 0. 8 e4 # a x i a l g e o me t r i c b uc k l i ng i n t he z d i r e c t i o n
MATERIAL f uel 1 D_1 1. 5 D_2 0. 4 \
SigmaA_1 0. 010+D_1( x , y ) Bg2 SigmaS_1>2 0. 02 \
SigmaA_2 0. 080+D_2( x , y ) Bg2 nuSigmaF_2 0. 135 eSigmaF_2 nuSigmaF_2 ( x , y )
MATERIAL f uel 2 D_1 1. 5 D_2 0. 4\
SigmaA_1 0. 010+D_1( x , y ) Bg2 SigmaS_1>2 0. 02 \
SigmaA_2 0. 085+D_2( x , y ) Bg2 nuSigmaF_2 0. 135 eSigmaF_2 nuSigmaF_2 ( x , y )
MATERIAL f uel 2+rod D_1 1. 5 D_2 0. 4 \
SigmaA_1 0. 010+D_1( x , y ) Bg2 SigmaS_1>2 0. 02 \
SigmaA_2 0. 130+D_2( x , y ) Bg2 nuSigmaF_2 0. 135 eSigmaF_2 nuSigmaF_2 ( x , y )
MATERIAL r e f l e c t o r D_1 2. 0 D_2 0. 3 \
SigmaA_1 0. 000+D_1( x , y ) Bg2 SigmaS_1>2 0. 04 \
SigmaA_2 0. 010+D_2( x , y ) Bg2
# boundary c o nd i t i o ns as r e q ue s t e d by t he probl em , a p p l i e d
# t o a p p r o p r i a t e p h y s i c a l e n t i t i e s d e f i ne d i n t he ge ome t r y f i l e
PHYSICAL_ENTITY NAME ext er nal BC robi n 0.4692
PHYSICAL_ENTITY NAME mi rror BC neumann
# t o f o r c e mi l onga t o no r ma l i z e t he f l u x e s as r e q ue s t e d , we
# can s e t a power s e t p o i n t e q ua l t o t he c o r e vol ume and f i x
# eSi gmaF = nuSigmaF ( as we di d i n t he MATERIAL s e c t i o n )
eps = 4e4 # r e l a t i v e a l l o we d i n t e g r a t i o n e r r o r
key = 1 # GSL_INTEG_GAUSS15 ( s e e GSL s doc ume nt at i on )
# we t a k e t he c o r e as t he g e o me t r i c p l a c e o f t he
# p o i nt s ( x , y ) t h a t have a nonz e r o f i s s i o n XS
power = i nt egr al ( i nt egr al ( nuSigmaF_2 ( x , y ) > 0 , x , 0 , 170 , eps , key ) , y , 0 ,
170 , eps , key )
# we f i n a l l y as k mi l onga t o s o l v e t he e i g e nv a l ue pr obl e m
MILONGA_SOLVE
# k e e p t r a c k o f t he e f f o r t ne e de d
mesh_time = t2t 1
read_mesh_time = t3t 2+i ni t _t i me
# and t he n we pr o c e e d t o answer t he r e q ue s t e d i t e ms
#
# i t e m 1
# we s a ve t he e f f e c t i v e mu l t i p l i c a t i o n f a c t o r wi t h
# s i x de c i ma l d i g i t s i n a i n a t e x t f i l e
OUTPUT_FILE kef f $1$2$3$4$5$6/1kef f . t x t
PRINT FILE kef f %.6f kef f
# and t he e q ui v a l e nt s t a t i c r e a c t i v i t y i n a no t he r one
rho = 1e5 ( kef f 1)/kef f
OUTPUT_FILE rho $1$2$3$4$5$6/1rho . t x t
:
PRINT FILE rho %.2f rho
# by t he way , i nf or m t he us e r we a r e al mos done
wal l = mesh_time+read_mesh_time+bui l d_mat ri ces_t i me+sol ve_t i me
PRINT NOSEP %.2f rho TEXT " pcm ( " wal l TEXT " segs ) " }
#
# i t e m 2 ( not a s k e d )
# wr i t e t he twodi me ns i o na l f l ux d i s t r i b u t i o n bot h i n
# ASCII and i n gmsh pos t p r o c e s s i ng f or ma t
# t he d i f u s s i o n c o e f f i c i e n t i s i nc l ude d t o he l p d e c i d e
# i f a po i nt i s i n t he c o r e or i n t he r e f l e c t o r
OUTPUT_FILE f l uxdi st a s c i i $1$2$3$4$5$6/2f l uxdi s t . dat
OUTPUT_FILE f l uxdi st post $1$2$3$4$5$6/2f l uxdi s t . pos
PRINT_FUNCTION FILE f l uxdi st a s c i i phi _1 phi _2 pow nuSigmaF_2 ( x , y ) >0
MESH_POST FILE f l uxdi st post phi _1 phi _2 pow
#
# i t e m 2a
# t he r a d i a l f l ux t r a v e r s e s phi ( x , 0 ) and phi ( x , x )
OUTPUT_FILE f l uxaxi s $1$2$3$4$5$6/2af l uxaxi s . dat
OUTPUT_FILE f l uxdi ag $1$2$3$4$5$6/2af l uxdi ag . dat
phi 1_axi s ( x ) : = phi_1 ( x , 0 )
phi 2_axi s ( x ) : = phi_2 ( x , 0 )
phi 1_di ag ( x ) : = phi_1 ( x , x )
phi 2_di ag ( x ) : = phi_2 ( x , x )
PRINT_FUNCTION FILE f l uxaxi s phi 1_axi s phi 2_axi s MIN 0 MAX 170 STEP 0. 1
PRINT_FUNCTION FILE f l uxdi ag phi 1_di ag phi 2_di ag MIN 0 MAX 170 STEP 0. 1
#
# i t e m 2b
# t he maximum t he r ma l f l ux has t o be l o c a t e d i n one o f t he
# s o l u t i o n po i nt s , and as comput i ng t he maximum o f a 2di me ns i o na l
# f unc t i o n i s r a t h e r e xpe ns i ve , we us e GNU s o r t o ve r t he
# ASCII f i l e comput ed i n i t e m 2 , f i l t e r i n g be t we e n t he c o r e
# and t he r e f l e c t o r by t he va l ue o f t he f a s t d i f f u s i o n c o e f f i c i e n t
VAR x_max y_max phi1_max phi2_max
OUTPUT_FILE maximums $1$2$3$4$5$6/2bmaximums . t x t
SHELL " cat $1$2$3$4$5$6/2f l uxdi s t . dat | grep 1\. 000000 e+00\$ | s or t
g k3 r | head n1 > $1$2$3$4$5$6/2bmaximum_core . dat "
READ ASCII_FILE_PATH $1$2$3$4$5$6/2bmaximum_core . dat x_max y_max
phi1_max phi2_max
PRINT FILE maximums TEXT "maximum thermal f l ux i n core i s phi2 = "
phi2_max TEXT " at x=" x_max TEXT " y=" y_max
SHELL " cat $1$2$3$4$5$6/2f l uxdi s t . dat | grep 0\. 000000 e+00\$ | s or t
g k3 r | head n1 > $1$2$3$4$5$6/2bmaximum_refl . dat "
READ ASCII_FILE_PATH $1$2$3$4$5$6/2bmaximum_refl . dat x_max y_max
phi1_max phi2_max
PRINT FILE maximums TEXT "maximum thermal f l ux i n r e f l e c t o r i s phi2 = "
phi2_max TEXT " at x=" x_max TEXT " y=" y_max
#
# i t e m 3 ( and 7)
:o
# we b ui l d a t a b l e wi t h t he a ve r a ge s ubas s e mbl y powers as i t e m 7
# a s k s t he a ve r a ge f l ux e s , we compute t he two o f them he r e
# t he f i l e a s s e mb l i e s . c o o r ds c o nt a i ns f i v e col umns wi t h t he
# c o o r d i n a t e s t h a t d e f i n e e ac h o f t he 38 s ub a s s e mb l i e s
FUNCTION xmin( k) FILE_PATH assembl i es . coords COLUMNS 1 2
FUNCTION xmax( k) FILE_PATH assembl i es . coords COLUMNS 1 3
FUNCTION ymin( k) FILE_PATH assembl i es . coords COLUMNS 1 4
FUNCTION ymax( k) FILE_PATH assembl i es . coords COLUMNS 1 5
# t e a l l o w t he 8symmetry geomet ry , we d e f i n e " symmet ri c
# f unc t i o ns " t h a t mi r r or t he power and t he f l u x e s around t he
# l i n e y = x , o t h e r wi s e f o r t h o s e a s s e mb l i e s t h a t c o nt a i n a
# s ma l l a r e a wi t h y > x , t h e i r a ve r a g e s would be unde r e s t i ma t e d
simpow( x , y ) : = i f ( x > y , pow( x , y ) , pow( y , x ) )
simphi1 ( x , y ) : = i f ( x > y , phi _1 ( x , y ) , phi_1 ( y , x ) )
simphi2 ( x , y ) : = i f ( x > y , phi _2 ( x , y ) , phi_2 ( y , x ) )
# vol ume o f t he kt h s ubas s e mbl y
vol ( k) : = ( xmax( k)xmin( k) ) ( ymax( k)ymin( k) )
# number o f p o i nt s used i n t he gaussl e g e nd r e q ua dr a t ur e
poi nt s = 8
mean_power ( k) : = 1/vol ( k) gauss_legendre ( gauss_legendre ( simpow( x , y ) , x ,
xmin( k) , xmax( k) , poi nt s ) , y , ymin( k) , ymax( k) , poi nt s )
mean_flux_1 ( k) : = 1/vol ( k) gauss_legendre ( gauss_legendre ( simphi1 ( x , y ) , x ,
xmin( k) , xmax( k) , poi nt s ) , y , ymin( k) , ymax( k) , poi nt s )
mean_flux_2 ( k) : = 1/vol ( k) gauss_legendre ( gauss_legendre ( simphi2 ( x , y ) , x ,
xmin( k) , xmax( k) , poi nt s ) , y , ymin( k) , ymax( k) , poi nt s )
OUTPUT_FILE t abl e $1$2$3$4$5$6/3t abl e . dat
PRINT TEXT " \# k P_k f as t _k thermal _k " FILE t abl e
PRINT_FUNCTION mean_power mean_flux_1 mean_flux_2 MIN xmin_a MAX xmax_b
STEP 1 FILE t abl e FORMAT %.3f
#
# i t e ms 4 , 5 & 6
# t he r e q ue s t e d i nf o r ma t i o n i s wr i t t e n by mi l onga i f
# t he keyword DEBUG i s used
OUTPUT_FILE i nf o $1$2$3$4$5$6/4i nf o . t x t
DEBUG FILE i nf o
#
# i t e m 7 i s i nc l ude d i n po i nt 3
#
# i t e m 8
# i t i s not c l e a r what do e s " r e s u l t s " mean , but we
# wr i t e a t e x t f i l e wi t h some i nf o r ma t i o n we can l a t e r
# us e t o compare a l l t he c a s e s as a f unc t i o n o f t he
# s i z e o f t he pr obl e m ma t r i c e s ( number o f unknowns )
OUTPUT_FILE t i mes $1$2$3$4$5$6/8r e s ul t s . dat
PRINT FILE t i mes {
%g unknowns nodes c e l l s el ements
%e kef f rho
mesh_time read_mesh_time bui l d_mat ri ces_t i me sol ve_t i me
%.2f wal l }
# 8< mi l onga s s o l u t i o n ends he r e 8<
:1
$ cat run.sh
ncase=0
for geo in quarter eighth; do
for alg in delaunay delquad; do
for shape in triangs quads; do
for method in volumes elements; do
for lc in 4 3 2 1 0.75; do
ncase=$(printf %03d echo $ncase+1 | bc)
milonga benchmark.was $ncase $geo $alg $shape $method $lc
./figuras.sh $ncase $geo $alg $shape $method $lc > /dev/null
done
done
done
done
done
./x-vs-mesh.sh
$ ./run.sh
case 001-quarter-delaunay-triangs-volumes-4 2862.69 pcm (0.31 segs)
case 002-quarter-delaunay-triangs-volumes-3 2882.35 pcm (0.68 segs)
case 003-quarter-delaunay-triangs-volumes-2 2893.52 pcm (1.74 segs)
case 004-quarter-delaunay-triangs-volumes-1 2894.04 pcm (18.43 segs)
case 005-quarter-delaunay-triangs-volumes-0.75 2889.26 pcm (74.94 segs)
case 006-quarter-delaunay-triangs-elements-4 2884.70 pcm (0.46 segs)
case 007-quarter-delaunay-triangs-elements-3 2879.64 pcm (0.85 segs)
case 008-quarter-delaunay-triangs-elements-2 2876.27 pcm (1.89 segs)
case 009-quarter-delaunay-triangs-elements-1 2874.35 pcm (8.66 segs)
case 010-quarter-delaunay-triangs-elements-0.75 2874.16 pcm (17.23 segs)
case 011-quarter-delaunay-quads-volumes-4 2871.06 pcm (0.41 segs)
case 012-quarter-delaunay-quads-volumes-3 2917.05 pcm (0.68 segs)
case 013-quarter-delaunay-quads-volumes-2 2908.85 pcm (1.49 segs)
case 014-quarter-delaunay-quads-volumes-1 2899.41 pcm (10.02 segs)
case 015-quarter-delaunay-quads-volumes-0.75 2892.88 pcm (26.90 segs)
case 016-quarter-delaunay-quads-elements-4 2886.69 pcm (0.56 segs)
case 017-quarter-delaunay-quads-elements-3 2879.41 pcm (0.91 segs)
case 018-quarter-delaunay-quads-elements-2 2877.03 pcm (2.10 segs)
case 019-quarter-delaunay-quads-elements-1 2874.43 pcm (10.79 segs)
case 020-quarter-delaunay-quads-elements-0.75 2874.13 pcm (23.23 segs)
case 021-quarter-delquad-triangs-volumes-4 2881.40 pcm (0.30 segs)
case 022-quarter-delquad-triangs-volumes-3 2927.16 pcm (0.56 segs)
case 023-quarter-delquad-triangs-volumes-2 2930.07 pcm (1.45 segs)
case 024-quarter-delquad-triangs-volumes-1 2929.26 pcm (11.78 segs)
case 025-quarter-delquad-triangs-volumes-0.75 3016.98 pcm (38.76 segs)
case 026-quarter-delquad-triangs-elements-4 2889.16 pcm (0.40 segs)
case 027-quarter-delquad-triangs-elements-3 2881.59 pcm (0.75 segs)
case 028-quarter-delquad-triangs-elements-2 2876.16 pcm (1.57 segs)
case 029-quarter-delquad-triangs-elements-1 2874.46 pcm (7.27 segs)
case 030-quarter-delquad-triangs-elements-0.75 2874.22 pcm (14.73 segs)
case 031-quarter-delquad-quads-volumes-4 2831.10 pcm (0.26 segs)
case 032-quarter-delquad-quads-volumes-3 2848.87 pcm (0.43 segs)
case 033-quarter-delquad-quads-volumes-2 2861.67 pcm (0.88 segs)
case 034-quarter-delquad-quads-volumes-1 2870.02 pcm (5.64 segs)
case 035-quarter-delquad-quads-volumes-0.75 2870.26 pcm (14.70 segs)
case 036-quarter-delquad-quads-elements-4 2889.96 pcm (0.34 segs)
case 037-quarter-delquad-quads-elements-3 2881.83 pcm (0.60 segs)
case 038-quarter-delquad-quads-elements-2 2877.18 pcm (1.21 segs)
case 039-quarter-delquad-quads-elements-1 2874.65 pcm (5.81 segs)
case 040-quarter-delquad-quads-elements-0.75 2874.30 pcm (11.77 segs)
case 041-eighth-delaunay-triangs-volumes-4 2864.21 pcm (0.25 segs)
case 042-eighth-delaunay-triangs-volumes-3 2879.68 pcm (0.31 segs)
case 043-eighth-delaunay-triangs-volumes-2 2892.66 pcm (0.68 segs)
::
case 044-eighth-delaunay-triangs-volumes-1 2888.78 pcm (5.43 segs)
case 045-eighth-delaunay-triangs-volumes-0.75 2890.65 pcm (15.02 segs)
case 046-eighth-delaunay-triangs-elements-4 2886.31 pcm (0.28 segs)
case 047-eighth-delaunay-triangs-elements-3 2879.62 pcm (0.43 segs)
case 048-eighth-delaunay-triangs-elements-2 2876.48 pcm (0.91 segs)
case 049-eighth-delaunay-triangs-elements-1 2874.37 pcm (4.02 segs)
case 050-eighth-delaunay-triangs-elements-0.75 2874.16 pcm (7.87 segs)
case 051-eighth-delaunay-quads-volumes-4 2873.97 pcm (0.24 segs)
case 052-eighth-delaunay-quads-volumes-3 2906.59 pcm (0.34 segs)
case 053-eighth-delaunay-quads-volumes-2 2911.10 pcm (0.66 segs)
case 054-eighth-delaunay-quads-volumes-1 2889.21 pcm (3.32 segs)
case 055-eighth-delaunay-quads-volumes-0.75 2888.52 pcm (8.84 segs)
case 056-eighth-delaunay-quads-elements-4 2885.55 pcm (0.29 segs)
case 057-eighth-delaunay-quads-elements-3 2879.77 pcm (0.45 segs)
case 058-eighth-delaunay-quads-elements-2 2877.23 pcm (1.00 segs)
case 059-eighth-delaunay-quads-elements-1 2874.37 pcm (4.18 segs)
case 060-eighth-delaunay-quads-elements-0.75 2874.17 pcm (9.39 segs)
case 061-eighth-delquad-triangs-volumes-4 2883.21 pcm (0.19 segs)
case 062-eighth-delquad-triangs-volumes-3 2912.78 pcm (0.27 segs)
case 063-eighth-delquad-triangs-volumes-2 2888.07 pcm (0.60 segs)
case 064-eighth-delquad-triangs-volumes-1 2912.07 pcm (3.78 segs)
case 065-eighth-delquad-triangs-volumes-0.75 3009.34 pcm (10.25 segs)
case 066-eighth-delquad-triangs-elements-4 2889.55 pcm (0.28 segs)
case 067-eighth-delquad-triangs-elements-3 2882.63 pcm (0.40 segs)
case 068-eighth-delquad-triangs-elements-2 2876.61 pcm (0.83 segs)
case 069-eighth-delquad-triangs-elements-1 2874.53 pcm (3.40 segs)
case 070-eighth-delquad-triangs-elements-0.75 2874.26 pcm (6.53 segs)
case 071-eighth-delquad-quads-volumes-4 2836.73 pcm (0.17 segs)
case 072-eighth-delquad-quads-volumes-3 2852.21 pcm (0.24 segs)
case 073-eighth-delquad-quads-volumes-2 2862.13 pcm (0.45 segs)
case 076-eighth-delquad-quads-elements-4 2891.11 pcm (0.22 segs)
case 077-eighth-delquad-quads-elements-3 2882.23 pcm (0.36 segs)
case 078-eighth-delquad-quads-elements-2 2877.38 pcm (0.66 segs)
case 079-eighth-delquad-quads-elements-1 2874.66 pcm (2.72 segs)
case 080-eighth-delquad-quads-elements-0.75 2874.29 pcm (5.32 segs)
$
El script guras.sh, que llama a gmsh y prepara archivos de texto para procesar con L
A
T
E
Xy
obtener los resultados solicitados en el enunciado. De hecho tampoco es posible incluir todas
las guras generadas y slo mostramos algunas a modo de ilustracin (guras 5.1195.133). De
hecho, debido al soporte en papel A4 de esta monografa, es posible que no sea posible observar
los detalles de las guras generadas que hacen a la comparacin de las distribuciones obtenidas
no slo entre volmenes y elementos nitos sino tambin entre mallas, formas y longitudes
caractersticas. La referencia [33] contiene otro juegos de guras, ligeramente modicadas para
satisfacer los requerimientos del revisor. Las ochenta guras originales en alta calidad estn
disponible en la pgina web de milonga, accesible a travs del cdigo QR de la gura 5.1.
Las guras 5.1345.139 muestran algunas respuestas al tem ocho del problema, que pide
indicar cmo cambian los resultados del problemaque no queda claro a cules se reerecon
la malla. Estas guras fueron preparadas por el autor de este trabajo para su publicacin en una
revista cientca internacional [33]donde se discuten algunos temas que aqu noy por ello
mantenemos aqu el epgrafe en ingls. El color verde indica volmenes nitos mientras que
el azul elementos nitos. Las lneas llenas corresponden a simetra 1/4 y las lneas de trazos a
simetra 1/8. Si el bullet es lleno entonces la geometra fue mallada con el algoritmo delaunay
y si es vaco con el algoritmo delquad, y su forma indica la gura bsica de la celda/elemento
(tringulo o cuadrngulo).
:
milongas 2D LWR IAEA Benchmark Problem case #002
quarter-symmetry core meshed using delaunay (triangs, c =3) solved with nite volumes
(a) Geometry and mesh: triangs with delaunay and c = 3
largest eigenvalue keff 1.029679 (2882.35 pcm)
max 2(x, y)@core 11.34 @ (30.66, 30.79)
max 2(x, y)@reector 13.06 @ (51.71, 130.76)
number of unknowns 15736
outer iterations 3
linear iterations 32
inner iterations 1967
residual norm 2.673 10
8
relative error 1.317 10
8
error estimate 5.071 10
9
memory used 77620 kB
soft page faults 20792
hard page faults 0
total CPU time 1.568 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.75 32.80 5.55 20 1.18 37.29 8.75
2 1.33 42.39 9.83 21 1.07 33.62 7.91
3 1.47 46.41 10.89 22 0.97 28.88 7.17
4 1.23 39.16 9.10 23 0.66 16.25 4.90
5 0.61 26.85 4.55 24 2.33 5.49
6 0.93 29.88 6.92 25 1.20 37.94 8.90
7 0.93 29.22 6.88 26 0.97 30.93 7.17
8 0.74 20.01 5.50 27 0.90 28.38 6.68
9 3.21 7.55 28 0.83 22.18 6.18
10 1.45 45.94 10.77 29 5.66 12.13
11 1.50 47.26 11.09 30 0.68 2.58
12 1.33 41.95 9.84 31 0.47 20.41 3.48
13 1.07 34.34 7.96 32 0.68 20.51 5.03
14 1.03 32.65 7.66 33 0.58 14.12 4.29
15 0.94 29.65 6.99 34 2.22 5.62
16 0.72 19.52 5.33 35 0.57 13.69 4.23
17 3.05 7.34 36 3.85 8.17
18 1.49 46.91 11.01 37 0.53 2.03
19 1.36 42.86 10.06 38 0.61 2.29
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.119
:
milongas 2D LWR IAEA Benchmark Problem case #007
quarter-symmetry core meshed using delaunay (triangs, c =3) solved with nite elements
(a) Geometry and mesh: triangs with delaunay and c = 3
largest eigenvalue keff 1.029650 (2879.64 pcm)
max 2(x, y)@core 11.11 @ (31.85, 31.58)
max 2(x, y)@reector 15.73 @ (132.20, 52.20)
number of unknowns 8106
outer iterations 3
linear iterations 32
inner iterations 1013
residual norm 1.171 10
8
relative error 5.768 10
9
error estimate 3.458 10
9
memory used 84332 kB
soft page faults 22232
hard page faults 0
total CPU time 1.564 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.15 5.49 20 1.18 37.07 8.70
2 1.29 41.44 9.59 21 1.07 33.71 7.93
3 1.44 45.44 10.67 22 0.98 29.25 7.26
4 1.20 38.36 8.89 23 0.59 16.88 5.24
5 0.61 26.45 4.52 24 2.53 5.96
6 0.93 29.90 6.91 25 1.19 37.47 8.79
7 0.94 29.52 6.95 26 0.96 30.80 7.14
8 0.70 20.53 5.67 27 0.91 28.56 6.73
9 3.48 8.09 28 0.79 22.79 6.35
10 1.42 44.87 10.52 29 6.14 12.57
11 1.47 46.28 10.86 30 0.74 2.89
12 1.30 41.21 9.66 31 0.47 20.43 3.50
13 1.05 33.69 7.79 32 0.69 20.88 5.10
14 1.03 32.70 7.67 33 0.51 14.62 4.52
15 0.95 29.97 7.07 34 2.50 6.15
16 0.68 20.05 5.53 35 0.49 14.19 4.43
17 3.33 7.71 36 4.14 8.44
18 1.46 46.00 10.80 37 0.59 2.30
19 1.34 42.17 9.90 38 0.67 2.63
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.120
:
milongas 2D LWR IAEA Benchmark Problem case #013
quarter-symmetry core meshed using delaunay (quads, c =2) solved with nite volumes
(a) Geometry and mesh: quads with delaunay and c = 2
largest eigenvalue keff 1.029960 (2908.85 pcm)
max 2(x, y)@core 11.30 @ (30.99, 31.49)
max 2(x, y)@reector 12.35 @ (130.98, 50.98)
number of unknowns 15612
outer iterations 3
linear iterations 32
inner iterations 1951
residual norm 7.316 10
9
relative error 3.604 10
9
error estimate 2.09 10
9
memory used 86012 kB
soft page faults 23332
hard page faults 0
total CPU time 2.012 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.43 5.49 20 1.19 37.59 8.82
2 1.32 42.26 9.81 21 1.07 33.87 7.97
3 1.47 46.37 10.88 22 0.98 29.19 7.25
4 1.23 39.30 9.14 23 0.67 16.70 4.98
5 0.60 26.54 4.45 24 2.22 5.40
6 0.95 30.22 7.02 25 1.21 38.12 8.94
7 0.95 29.79 7.01 26 0.98 31.17 7.25
8 0.76 20.70 5.63 27 0.91 28.52 6.71
9 3.19 7.87 28 0.83 22.47 6.14
10 1.45 45.81 10.74 29 5.51 12.38
11 1.49 47.11 11.06 30 0.67 2.62
12 1.33 41.93 9.83 31 0.45 19.77 3.29
13 1.09 34.77 8.08 32 0.67 20.35 4.99
14 1.04 32.98 7.74 33 0.56 14.19 4.16
15 0.96 30.20 7.12 34 2.23 5.66
16 0.73 20.18 5.43 35 0.54 13.58 4.00
17 2.96 7.33 36 3.59 8.18
18 1.48 46.78 10.98 37 0.53 2.06
19 1.36 42.83 10.05 38 0.61 2.39
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.121
:6
milongas 2D LWR IAEA Benchmark Problem case #018
quarter-symmetry core meshed using delaunay (quads, c =2) solved with nite elements
(a) Geometry and mesh: quads with delaunay and c = 2
largest eigenvalue keff 1.029623 (2877.03 pcm)
max 2(x, y)@core 11.15 @ (30.78, 30.31)
max 2(x, y)@reector 13.41 @ (51.85, 131.12)
number of unknowns 15958
outer iterations 3
linear iterations 32
inner iterations 1994
residual norm 1.156 10
8
relative error 5.695 10
9
error estimate 4.777 10
9
memory used 149748 kB
soft page faults 40397
hard page faults 0
total CPU time 2.292 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.31 5.51 20 1.18 37.14 8.72
2 1.30 41.66 9.64 21 1.07 33.71 7.93
3 1.45 45.66 10.72 22 0.98 29.18 7.25
4 1.21 38.52 8.93 23 0.62 16.78 5.17
5 0.61 26.51 4.52 24 2.48 5.91
6 0.93 29.92 6.92 25 1.19 37.57 8.81
7 0.94 29.47 6.93 26 0.96 30.85 7.15
8 0.71 20.43 5.62 27 0.91 28.53 6.72
9 3.43 8.05 28 0.80 22.71 6.31
10 1.43 45.10 10.57 29 6.05 12.53
11 1.47 46.49 10.91 30 0.73 2.85
12 1.31 41.37 9.70 31 0.47 20.41 3.49
13 1.07 34.12 7.90 32 0.69 20.83 5.09
14 1.04 32.71 7.67 33 0.54 14.55 4.47
15 0.95 29.91 7.06 34 2.47 6.11
16 0.70 19.96 5.48 35 0.52 14.12 4.37
17 3.27 7.66 36 4.06 8.41
18 1.46 46.18 10.84 37 0.58 2.27
19 1.34 42.30 9.93 38 0.65 2.60
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.122
:
milongas 2D LWR IAEA Benchmark Problem case #024
quarter-symmetry core meshed using delquad (triangs, c =1) solved with nite volumes
(a) Geometry and mesh: triangs with delquad and c = 1
largest eigenvalue keff 1.030177 (2929.26 pcm)
max 2(x, y)@core 11.02 @ (31.67, 29.33)
max 2(x, y)@reector 10.11 @ (130.33, 50.33)
number of unknowns 96400
outer iterations 3
linear iterations 32
inner iterations 12050
residual norm 9.282 10
9
relative error 4.572 10
9
error estimate 4.197 10
9
memory used 259228 kB
soft page faults 74177
hard page faults 0
total CPU time 14.5 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.72 31.88 5.36 20 1.17 36.91 8.66
2 1.31 41.97 9.74 21 1.08 34.02 8.00
3 1.46 46.05 10.81 22 0.99 29.65 7.36
4 1.22 38.97 9.05 23 0.70 17.17 5.16
5 0.59 26.16 4.40 24 2.31 5.68
6 0.93 29.86 6.92 25 1.17 37.08 8.70
7 0.93 29.34 6.90 26 0.97 30.90 7.18
8 0.74 20.03 5.46 27 0.92 28.99 6.83
9 3.20 7.91 28 0.85 23.06 6.32
10 1.42 44.87 10.52 29 5.79 12.64
11 1.46 46.21 10.85 30 0.70 2.74
12 1.30 41.11 9.64 31 0.46 2 3.38
13 1.07 34.16 7.93 32 0.69 20.92 5.13
14 1.04 32.84 7.70 33 0.60 14.77 4.42
15 0.96 30.14 7.11 34 2.35 5.99
16 0.73 19.93 5.42 35 0.57 14.01 4.23
17 3.08 7.42 36 3.82 8.38
18 1.44 45.27 10.63 37 0.55 2.18
19 1.31 41.33 9.70 38 0.60 2.45
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.123
:8
milongas 2D LWR IAEA Benchmark Problem case #028
quarter-symmetry core meshed using delquad (triangs, c =2) solved with nite elements
(a) Geometry and mesh: triangs with delquad and c = 2
largest eigenvalue keff 1.029613 (2876.16 pcm)
max 2(x, y)@core 11.15 @ (32.00, 30.00)
max 2(x, y)@reector 15.17 @ (52.00, 132.00)
number of unknowns 12392
outer iterations 3
linear iterations 32
inner iterations 1549
residual norm 2.551 10
8
relative error 1.257 10
8
error estimate 7.602 10
9
memory used 103964 kB
soft page faults 27648
hard page faults 0
total CPU time 2.132 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.27 5.51 20 1.18 37.12 8.71
2 1.30 41.60 9.63 21 1.07 33.71 7.93
3 1.45 45.60 10.70 22 0.98 29.20 7.25
4 1.20 38.49 8.92 23 0.62 16.81 5.17
5 0.61 26.49 4.51 24 2.50 5.94
6 0.93 29.91 6.92 25 1.19 37.55 8.81
7 0.94 29.48 6.94 26 0.96 30.84 7.15
8 0.72 20.46 5.62 27 0.91 28.54 6.72
9 3.43 8.08 28 0.80 22.73 6.31
10 1.43 45.05 10.56 29 6.07 12.56
11 1.47 46.45 10.90 30 0.72 2.87
12 1.31 41.34 9.69 31 0.47 20.41 3.49
13 1.07 34.10 7.90 32 0.69 20.83 5.09
14 1.04 32.71 7.67 33 0.54 14.57 4.46
15 0.95 29.93 7.06 34 2.47 6.13
16 0.70 19.99 5.48 35 0.52 14.14 4.38
17 3.28 7.70 36 4.08 8.44
18 1.46 46.15 10.83 37 0.58 2.28
19 1.34 42.28 9.92 38 0.66 2.61
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.124
:
milongas 2D LWR IAEA Benchmark Problem case #037
quarter-symmetry core meshed using delquad (quads, c =3) solved with nite elements
(a) Geometry and mesh: quads with delquad and c = 3
largest eigenvalue keff 1.029673 (2881.83 pcm)
max 2(x, y)@core 11.08 @ (31.79, 31.77)
max 2(x, y)@reector 17.72 @ (132.86, 52.86)
number of unknowns 6140
outer iterations 3
linear iterations 32
inner iterations 767
residual norm 1.786 10
8
relative error 8.8 10
9
error estimate 5.639 10
9
memory used 81996 kB
soft page faults 21490
hard page faults 0
total CPU time 1.14 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.06 5.48 20 1.17 37.04 8.70
2 1.29 41.34 9.56 21 1.07 33.73 7.94
3 1.44 45.34 10.64 22 0.98 29.31 7.28
4 1.20 38.29 8.86 23 0.56 16.94 5.30
5 0.61 26.42 4.53 24 2.56 5.97
6 0.93 29.91 6.91 25 1.19 37.42 8.77
7 0.94 29.57 6.96 26 0.96 30.79 7.13
8 0.69 20.59 5.71 27 0.91 28.58 6.74
9 3.52 8.12 28 0.76 22.85 6.39
10 1.42 44.75 10.49 29 6.20 12.57
11 1.46 46.17 10.84 30 0.75 2.90
12 1.30 41.13 9.64 31 0.48 20.43 3.53
13 1.06 34.00 7.86 32 0.69 20.91 5.11
14 1.03 32.70 7.67 33 0.49 14.67 4.57
15 0.96 30.02 7.09 34 2.53 6.16
16 0.67 20.12 5.57 35 0.47 14.22 4.47
17 3.37 7.72 36 4.16 8.43
18 1.45 45.90 10.77 37 0.60 2.31
19 1.33 42.10 9.88 38 0.67 2.64
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.125
:o
milongas 2D LWR IAEA Benchmark Problem case #043
eighth-symmetry core meshed using delaunay (triangs, c =2) solved with nite volumes
(a) Geometry and mesh: triangs with delaunay and c = 2
largest eigenvalue keff 1.029788 (2892.66 pcm)
max 2(x, y)@core 11.19 @ (31.49, 30.11)
max 2(x, y)@reector 10.90 @ (130.38, 51.14)
number of unknowns 15776
outer iterations 3
linear iterations 32
inner iterations 1972
residual norm 2.548 10
12
relative error 1.255 10
12
error estimate 8.491 10
13
memory used 151492 kB
soft page faults 39163
hard page faults 0
total CPU time 2.996 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.40 5.47 20 1.18 37.19 8.73
2 1.31 41.87 9.71 21 1.07 33.68 7.92
3 1.45 45.81 10.75 22 0.97 29.11 7.22
4 1.22 38.77 9.00 23 0.67 16.48 4.98
5 0.60 26.42 4.44 24 2.34 5.69
6 0.93 29.83 6.91 25 1.19 37.62 8.82
7 0.93 29.38 6.91 26 0.96 30.77 7.15
8 0.74 20.28 5.52 27 0.91 28.48 6.71
9 3.23 7.78 28 0.83 22.56 6.17
10 1.43 45.22 10.60 29 5.77 12.27
11 1.48 46.66 10.95 30 0.68 2.65
12 1.31 41.44 9.71 31 0.46 20.18 3.42
13 1.07 34.21 7.94 32 0.68 20.61 5.06
14 1.03 32.66 7.66 33 0.59 14.44 4.36
15 0.95 29.90 7.05 34 2.33 5.89
16 0.73 19.86 5.38 35 0.57 13.83 4.21
17 3.12 7.51 36 3.79 8.25
18 1.47 46.36 10.88 37 0.55 2.11
19 1.34 42.42 9.96 38 0.61 2.41
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.126
:1
milongas 2D LWR IAEA Benchmark Problem case #047
eighth-symmetry core meshed using delaunay (triangs, c =3) solved with nite elements
(a) Geometry and mesh: triangs with delaunay and c = 3
largest eigenvalue keff 1.029650 (2879.62 pcm)
max 2(x, y)@core 11.08 @ (30.69, 30.69)
max 2(x, y)@reector 15.69 @ (132.20, 52.20)
number of unknowns 4040
outer iterations 2
linear iterations 24
inner iterations 505
residual norm 1.913 10
8
relative error 9.425 10
9
error estimate 6.785 10
9
memory used 88336 kB
soft page faults 22725
hard page faults 0
total CPU time 1.496 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.08 5.47 20 1.17 36.96 8.68
2 1.29 41.34 9.57 21 1.07 33.61 7.91
3 1.44 45.33 10.64 22 0.97 29.16 7.24
4 1.20 38.26 8.86 23 0.58 16.83 5.23
5 0.61 26.38 4.51 24 2.52 5.94
6 0.93 29.82 6.89 25 1.18 37.36 8.76
7 0.94 29.44 6.93 26 0.96 30.71 7.12
8 0.70 20.46 5.65 27 0.91 28.47 6.71
9 3.47 8.07 28 0.79 22.72 6.33
10 1.42 44.76 10.50 29 6.12 12.53
11 1.46 46.16 10.84 30 0.73 2.88
12 1.30 41.10 9.64 31 0.47 20.36 3.49
13 1.06 33.94 7.85 32 0.68 20.80 5.08
14 1.03 32.61 7.65 33 0.51 14.57 4.51
15 0.95 29.88 7.05 34 2.49 6.13
16 0.68 19.99 5.51 35 0.49 14.14 4.41
17 3.32 7.70 36 4.12 8.40
18 1.45 45.88 10.77 37 0.59 2.29
19 1.33 42.05 9.87 38 0.66 2.63
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.127
::
milongas 2D LWR IAEA Benchmark Problem case #053
eighth-symmetry core meshed using delaunay (quads, c =2) solved with nite volumes
(a) Geometry and mesh: quads with delaunay and c = 2
largest eigenvalue keff 1.029984 (2911.10 pcm)
max 2(x, y)@core 11.11 @ (31.85, 30.64)
max 2(x, y)@reector 11.70 @ (130.75, 50.81)
number of unknowns 7936
outer iterations 3
linear iterations 32
inner iterations 992
residual norm 2.074 10
12
relative error 1.022 10
12
error estimate 6.981 10
13
memory used 110852 kB
soft page faults 28611
hard page faults 0
total CPU time 2.164 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.72 31.79 5.35 20 1.18 37.16 8.72
2 1.30 41.51 9.64 21 1.07 33.83 7.96
3 1.44 45.45 10.67 22 0.98 29.23 7.26
4 1.21 38.42 8.93 23 0.68 16.76 5.00
5 0.59 26.24 4.40 24 2.31 5.58
6 0.94 30.16 7.00 25 1.19 37.52 8.80
7 0.94 29.63 6.97 26 0.98 31.14 7.24
8 0.75 20.42 5.55 27 0.92 28.83 6.79
9 3.13 7.75 28 0.84 22.77 6.22
10 1.42 44.94 10.54 29 5.60 12.19
11 1.47 46.29 10.87 30 0.67 2.62
12 1.31 41.29 9.68 31 0.46 20.16 3.38
13 1.07 34.20 7.95 32 0.69 20.94 5.13
14 1.04 32.89 7.71 33 0.57 14.48 4.26
15 0.96 30.06 7.08 34 2.17 5.62
16 0.72 19.90 5.35 35 0.56 14.16 4.18
17 2.93 7.32 36 3.67 8.15
18 1.46 46.03 10.80 37 0.54 2.04
19 1.34 42.34 9.94 38 0.60 2.36
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.128
:
milongas 2D LWR IAEA Benchmark Problem case #058
eighth-symmetry core meshed using delaunay (quads, c =2) solved with nite elements
(a) Geometry and mesh: quads with delaunay and c = 2
largest eigenvalue keff 1.029625 (2877.23 pcm)
max 2(x, y)@core 11.12 @ (30.45, 30.45)
max 2(x, y)@reector 12.89 @ (130.96, 51.72)
number of unknowns 8210
outer iterations 3
linear iterations 32
inner iterations 1026
residual norm 3.788 10
12
relative error 1.866 10
12
error estimate 1.54 10
12
memory used 143360 kB
soft page faults 37353
hard page faults 0
total CPU time 2.328 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.20 5.49 20 1.17 37.02 8.69
2 1.30 41.52 9.61 21 1.07 33.60 7.91
3 1.44 45.50 10.68 22 0.97 29.09 7.22
4 1.20 38.40 8.90 23 0.62 16.73 5.16
5 0.61 26.42 4.51 24 2.47 5.89
6 0.93 29.82 6.90 25 1.19 37.45 8.78
7 0.93 29.38 6.91 26 0.96 30.75 7.13
8 0.71 20.37 5.61 27 0.91 28.45 6.70
9 3.42 8.03 28 0.79 22.64 6.29
10 1.42 44.95 10.54 29 6.03 12.50
11 1.47 46.33 10.88 30 0.72 2.85
12 1.30 41.23 9.67 31 0.47 20.34 3.48
13 1.06 34.01 7.87 32 0.68 20.77 5.08
14 1.03 32.61 7.65 33 0.53 14.51 4.45
15 0.95 29.82 7.03 34 2.46 6.09
16 0.70 19.90 5.47 35 0.52 14.08 4.35
17 3.26 7.64 36 4.05 8.38
18 1.46 46.03 10.80 37 0.58 2.27
19 1.34 42.17 9.90 38 0.65 2.59
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.129
:
milongas 2D LWR IAEA Benchmark Problem case #062
eighth-symmetry core meshed using delquad (triangs, c =3) solved with nite volumes
(a) Geometry and mesh: triangs with delquad and c = 3
largest eigenvalue keff 1.030002 (2912.78 pcm)
max 2(x, y)@core 11.56 @ (32.07, 30.69)
max 2(x, y)@reector 12.30 @ (130.95, 50.95)
number of unknowns 6016
outer iterations 3
linear iterations 32
inner iterations 752
residual norm 1.136 10
11
relative error 5.597 10
12
error estimate 1.91 10
12
memory used 158876 kB
soft page faults 40337
hard page faults 0
total CPU time 2.588 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.75 33.13 5.57 20 1.19 37.62 8.83
2 1.34 42.89 9.95 21 1.07 33.66 7.92
3 1.49 47.02 11.04 22 0.96 28.53 7.09
4 1.22 38.86 9.01 23 0.65 16.02 4.81
5 0.60 26.48 4.49 24 2.12 5.19
6 0.92 29.50 6.84 25 1.21 38.11 8.94
7 0.92 28.94 6.81 26 0.97 30.93 7.18
8 0.72 19.64 5.34 27 0.90 28.29 6.66
9 3.01 7.32 28 0.81 21.92 6.01
10 1.47 46.56 10.92 29 5.40 11.57
11 1.53 48.21 11.32 30 0.69 2.53
12 1.34 42.30 9.92 31 0.46 19.97 3.38
13 1.08 34.45 7.99 32 0.67 20.20 4.95
14 1.03 32.42 7.60 33 0.56 13.79 4.15
15 0.93 29.28 6.90 34 2.17 5.34
16 0.70 19.21 5.20 35 0.54 13.14 3.99
17 2.90 6.73 36 3.67 7.77
18 1.52 47.85 11.23 37 0.50 1.89
19 1.37 43.29 10.16 38 0.55 2.10
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.130
:
milongas 2D LWR IAEA Benchmark Problem case #069
eighth-symmetry core meshed using delquad (triangs, c =1) solved with nite elements
(a) Geometry and mesh: triangs with delquad and c = 1
largest eigenvalue keff 1.029596 (2874.53 pcm)
max 2(x, y)@core 11.15 @ (30.47, 30.47)
max 2(x, y)@reector 11.85 @ (131.00, 51.00)
number of unknowns 24894
outer iterations 3
linear iterations 32
inner iterations 3111
residual norm 1.484 10
12
relative error 7.313 10
13
error estimate 8.543 10
13
memory used 197960 kB
soft page faults 53088
hard page faults 0
total CPU time 4.588 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.74 32.31 5.50 20 1.18 37.07 8.70
2 1.30 41.68 9.65 21 1.07 33.60 7.91
3 1.45 45.66 10.72 22 0.97 29.03 7.21
4 1.21 38.52 8.93 23 0.63 16.65 5.13
5 0.61 26.46 4.50 24 2.45 5.86
6 0.93 29.84 6.90 25 1.19 37.53 8.80
7 0.93 29.34 6.91 26 0.96 30.79 7.14
8 0.72 20.30 5.59 27 0.90 28.42 6.70
9 3.38 7.99 28 0.80 22.56 6.26
10 1.43 45.11 10.58 29 5.97 12.43
11 1.47 46.48 10.91 30 0.71 2.82
12 1.31 41.35 9.70 31 0.47 20.33 3.48
13 1.06 34.08 7.89 32 0.68 20.72 5.07
14 1.03 32.62 7.65 33 0.55 14.43 4.42
15 0.95 29.77 7.02 34 2.43 6.05
16 0.70 19.83 5.45 35 0.53 14.01 4.34
17 3.23 7.60 36 4.01 8.33
18 1.46 46.16 10.84 37 0.57 2.25
19 1.34 42.27 9.92 38 0.65 2.57
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.131
:6
milongas 2D LWR IAEA Benchmark Problem case #073
eighth-symmetry core meshed using delquad (quads, c =2) solved with nite volumes
(a) Geometry and mesh: quads with delquad and c = 2
largest eigenvalue keff 1.029465 (2862.13 pcm)
max 2(x, y)@core 11.35 @ (30.93, 29.53)
max 2(x, y)@reector 12.33 @ (131.00, 51.00)
number of unknowns 6234
outer iterations 2
linear iterations 24
inner iterations 779
residual norm 3.804 10
8
relative error 1.875 10
8
error estimate 7.96 10
9
memory used 83448 kB
soft page faults 21581
hard page faults 0
total CPU time 1.532 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.75 32.94 5.55 20 1.19 37.46 8.79
2 1.34 42.66 9.92 21 1.07 33.59 7.90
3 1.48 46.57 10.93 22 0.96 28.80 7.14
4 1.23 39.23 9.13 23 0.64 16.36 4.75
5 0.59 26.42 4.40 24 2.17 5.63
6 0.94 29.95 6.96 25 1.20 37.94 8.90
7 0.93 29.13 6.85 26 0.98 31.14 7.25
8 0.72 20.02 5.34 27 0.90 28.31 6.66
9 3.01 7.73 28 0.81 22.29 6.00
10 1.46 46.03 10.79 29 5.36 12.57
11 1.50 47.33 11.11 30 0.62 2.50
12 1.33 42.08 9.87 31 0.45 20.06 3.36
13 1.08 34.44 8.01 32 0.68 20.47 5.02
14 1.03 32.69 7.67 33 0.55 14.17 4.10
15 0.94 29.53 6.96 34 2.16 5.79
16 0.70 19.53 5.21 35 0.55 13.63 4.10
17 2.88 7.35 36 3.61 8.39
18 1.49 46.88 11.01 37 0.50 2.00
19 1.36 42.84 10.06 38 0.61 2.35
(b) Results with the nite volumes method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.132
:
milongas 2D LWR IAEA Benchmark Problem case #076
eighth-symmetry core meshed using delquad (quads, c =4) solved with nite elements
(a) Geometry and mesh: quads with delquad and c = 4
largest eigenvalue keff 1.029772 (2891.11 pcm)
max 2(x, y)@core 10.94 @ (31.82, 31.82)
max 2(x, y)@reector 20.16 @ (134.00, 54.00)
number of unknowns 1750
outer iterations 3
linear iterations 32
inner iterations 218
residual norm 3.266 10
12
relative error 1.609 10
12
error estimate 9.738 10
13
memory used 93700 kB
soft page faults 23897
hard page faults 0
total CPU time 1.416 seconds
k Pk 1k 2k k Pk 1k 2k
1 0.73 31.66 5.42 20 1.17 36.78 8.63
2 1.27 40.77 9.43 21 1.07 33.64 7.92
3 1.42 44.76 10.51 22 0.97 29.41 7.30
4 1.18 37.81 8.74 23 0.53 17.15 5.38
5 0.61 26.20 4.51 24 2.62 6.09
6 0.93 29.77 6.87 25 1.17 37.09 8.70
7 0.94 29.60 6.97 26 0.96 30.61 7.08
8 0.67 20.74 5.77 27 0.91 28.58 6.74
9 3.60 8.26 28 0.73 23.03 6.46
10 1.40 44.16 10.35 29 6.35 12.77
11 1.45 45.59 10.70 30 0.77 2.98
12 1.29 40.65 9.53 31 0.48 20.41 3.53
13 1.05 33.71 7.79 32 0.68 20.99 5.12
14 1.03 32.57 7.64 33 0.46 14.86 4.64
15 0.96 30.07 7.10 34 2.60 6.29
16 0.66 20.29 5.62 35 0.45 14.39 4.53
17 3.44 7.86 36 4.28 8.58
18 1.44 45.37 10.65 37 0.62 2.37
19 1.32 41.67 9.78 38 0.69 2.71
(b) Results with the nite elements method
(c) Fast ux distribution (d) Thermal ux distribution (e) Power distribution
0 40 80 120 160
0
15
30
45
1
(x, 0)

2
(x, 0)
(f) Flux distribution (x, 0) along the x axis
0 40 80 120 160
0
15
30
45
1
(x, x)

2
(x, x)
(g) Flux distribution (x, x) along the diagonal
Figura 5.133
:8
500 1000 2000 5000 10000 20000 50000 10
5
2 10
5
number of unknowns
2840
2860
2880
2900
2920

[
p
c
m
]
ORNL
Ris
KWU
Ontario
quarter delaunay triangs volumes
quarter delaunay quads volumes
quarter delquad triangs volumes
quarter delquad quads volumes
quarter delaunay triangs elements
quarter delaunay quads elements
quarter delquad triangs elements
quarter delquad quads elements
eighth delaunay triangs volumes
eighth delaunay quads volumes
eighth delquad triangs volumes
eighth delquad quads volumes
eighth delaunay triangs elements
eighth delaunay quads elements
eighth delquad triangs elements
eighth delquad quads elements
Figura 5.134 Static reactivity vs. number of unknowns. The four original solutions as published in 1976 [38] are
included as reference.
2000 3000 6000 10000 20000 30000 60000 10
5
2 10
5
3 10
5
number of unknowns
0.01
0.03
0.1
0.3
1
3
10
30
100
t
o
t
a
l
w
a
l
l
t
i
m
e
[
s
e
c
o
n
d
s
]
quarter delaunay triangs volumes
quarter delaunay quads volumes
quarter delquad triangs volumes
quarter delquad quads volumes
quarter delaunay triangs elements
quarter delaunay quads elements
quarter delquad triangs elements
quarter delquad quads elements
eighth delaunay triangs volumes
eighth delaunay quads volumes
eighth delquad triangs volumes
eighth delquad quads volumes
eighth delaunay triangs elements
eighth delaunay quads elements
eighth delquad triangs elements
eighth delquad quads elements
Figura 5.135 Total wall time vs. number of unknowns
:
2000 3000 6000 10000 20000 30000 60000 10
5
2 10
5
3 10
5
number of unknowns
0.01
0.03
0.1
0.3
1
3
10
30
100
t
i
m
e
i
n
s
u
m
e
d
t
o
m
e
s
h
t
h
e
g
e
o
m
e
t
r
y
[
s
e
c
o
n
d
s
]
quarter delaunay triangs volumes
quarter delaunay quads volumes
quarter delquad triangs volumes
quarter delquad quads volumes
quarter delaunay triangs elements
quarter delaunay quads elements
quarter delquad triangs elements
quarter delquad quads elements
eighth delaunay triangs volumes
eighth delaunay quads volumes
eighth delquad triangs volumes
eighth delquad quads volumes
eighth delaunay triangs elements
eighth delaunay quads elements
eighth delquad triangs elements
eighth delquad quads elements
Figura 5.136 Time needed to mesh the geometry vs. number of unknowns
2000 3000 6000 10000 20000 30000 60000 10
5
2 10
5
3 10
5
number of unknowns
0.01
0.03
0.1
0.3
1
3
10
30
100
t
i
m
e
i
n
s
u
m
e
t
o
r
e
a
d
t
h
e
m
e
s
h
[
s
e
c
o
n
d
s
]
quarter delaunay triangs volumes
quarter delaunay quads volumes
quarter delquad triangs volumes
quarter delquad quads volumes
quarter delaunay triangs elements
quarter delaunay quads elements
quarter delquad triangs elements
quarter delquad quads elements
eighth delaunay triangs volumes
eighth delaunay quads volumes
eighth delquad triangs volumes
eighth delquad quads volumes
eighth delaunay triangs elements
eighth delaunay quads elements
eighth delquad triangs elements
eighth delquad quads elements
Figura 5.137 Time needed to read the mesh vs. number of unknowns
:6o
2000 3000 6000 10000 20000 30000 60000 10
5
2 10
5
3 10
5
number of unknowns
0.01
0.03
0.1
0.3
1
3
10
30
100
t
i
m
e
i
n
s
u
m
e
d
t
o
b
u
i
l
d
t
h
e
m
a
t
r
i
c
e
s
[
s
e
c
o
n
d
s
]
quarter delaunay triangs volumes
quarter delaunay quads volumes
quarter delquad triangs volumes
quarter delquad quads volumes
quarter delaunay triangs elements
quarter delaunay quads elements
quarter delquad triangs elements
quarter delquad quads elements
eighth delaunay triangs volumes
eighth delaunay quads volumes
eighth delquad triangs volumes
eighth delquad quads volumes
eighth delaunay triangs elements
eighth delaunay quads elements
eighth delquad triangs elements
eighth delquad quads elements
Figura 5.138 Time needed to build the matrices vs. number of unknowns
2000 3000 6000 10000 20000 30000 60000 10
5
2 10
5
3 10
5
number of unknowns
0.01
0.03
0.1
0.3
1
3
10
30
100
t
i
m
e
i
n
s
u
m
e
d
t
o
s
o
l
v
e
t
h
e
e
i
g
e
n
v
a
l
u
e
p
r
o
b
l
e
m
[
s
e
c
o
n
d
s
]
quarter delaunay triangs volumes
quarter delaunay quads volumes
quarter delquad triangs volumes
quarter delquad quads volumes
quarter delaunay triangs elements
quarter delaunay quads elements
quarter delquad triangs elements
quarter delquad quads elements
eighth delaunay triangs volumes
eighth delaunay quads volumes
eighth delquad triangs volumes
eighth delquad quads volumes
eighth delaunay triangs elements
eighth delaunay quads elements
eighth delquad triangs elements
eighth delquad quads elements
Figura 5.139 Time needed to solve the eigenvalue problem vs. number of unknowns
:61
CAPTULO VI
Conclusiones
Il semble que la perfection soit atteinte
non quand il ny a plus rien ajouter,
mais quand il ny a plus rien retrancher.
Parecera que la perfeccin es alcanzada
no cuando no hay ms nada que agregar,
sino cuando no hay mas nada que quitar.
Antoine de Saint Exupry, Terre des Hommes, 1939
An cuando hayamos comenzado esta monografa hemos introducido las bases matemticas
de la ecuacin de difusin de neutrones para el lector no familiarizado con las particularidades
de la fsica de reactores, remarcamos una vez ms que este trabajo es estrictamente sobre ma-
temtica. Se trata de comparar dos esquemas diferentes que se pueden utilizar para discretizar
ecuaciones diferenciales en derivadas parciales en general y la ecuacin de difusin de neutro-
nes multigrupo en particular. La aplicacin de los mtodos matemticos aqu introducidos y
desarrollados a problemas de interstanto acadmicos como industrialesdesde el punto de
vista ingenieril estn fuera del alcance, y sern objeto de nuevos y diferentes estudios.
La mayor parte del trabajo se bas en el desarrollo y la aplicacin de un cierto cdigo
computacional escrito desde cero por el autoraunque depende de ciertas libreras libres, en
particular la GNU Scientic Library [37], la biblioteca PETSc [8] y la biblioteca SLEPc [10]
llamado milonga y distribuido libremente bajo la licencia general GNU. Los captulos 3 y 4
fueron escritos para dar un sustento matemtico a las lnea de cdigo de milonga. De hecho
fueron encontradosy con un poco de suerte corregidosnumerosos errores de programa-
cin. El captulo 5 consisti en aplicar el cdigo desarrollado a un conjunto de problemas intro-
ducidos en un orden de complejidad creciente. Aunque la longitud del escrito parezcay tal
vez lo seaexcesiva, incluso han quedado muchos interrogantes por estudiar y analizar. Inclu-
so hay muchos problemas que han quedado fuera del captulo de resultados y cuya diferencias
al resolverlos con uno y otro mtodo podran arrojan nuevas e interesantes conclusiones, co-
mo por ejemplo el estudio de la inuencia en la estructura de las matrices sobre el esfuerzo
computacional necesario para resolver el problema de autovalores asociado.
En el captulo 5 encontramos que para los problemas con solucin analtica las soluciones
que arroja el mtodo basado en elementos son ms precisos que las encontradas con volme-
nes nitos para una tamao de problema numrico equivalente. Adems, encontramos que en
dos dimensiones, la solucin en elementos converge montonamente con el renamiento de
la malla, mientras que la solucin en volmenes no lo hace. La explicacin de este fenmeno
reside en que al ir disminuyendo el tamao caracterstico de las celdas/elementos en forma
cuasi-continua, la topologa de la malla resultante no vara en forma continua y puede darse
el caso de que pequeos cambios en provoque una reorganizacin mayor de las celdas/e-
lementos. Como el mtodo de volmenes nitos se basa en aproximar el ujo en las caras de
las celdas a partir de consideraciones geomtricas, si la geometra cambia en forma discontinua
con , es de esperar que el resultado del problema tambin lo haga. El mtodo de elementos
nitos, al depender bsicamente de jacobianos de funciones de forma, es capaz de suavizar es-
tos cambios en la topologa y proveer resultados ms continuos con respecto a , lo que puede
llegar a ser una ventaja con respecto a volmenes nitos en algunos casos. Sin embargoy
aunque ya hemos dicho que las consideraciones ingenieriles estn fuera del alcanceesto no
quiere decir que un esquema basado en elementos dar siempre resultados ms precisos ya que
puede darse el caso de que un formulacin en volmenes sea ms adecuada para representar
la fsica detrs de la matemtica de la ecuacin de difusin de neutrones, basada en secciones
ecaces homogenizadas a partir de clculos de celda realizados justamente usando celdas y no
elementos como clula bsica. Anlisis detallados de este tipo son necesarios para determinar
en qu caso conviene aplicar uno u otro esquema de discretizacin espacial.
6.1. Trabajos futuros
El principal trabajo a futuro consiste en continuar desarrollando el cdigo milonga para lograr
obtener una herramienta potente y con eventuales aplicaciones en ingeniera. Hasta el momen-
to solamente el cdigo puede manejar geometras en una o en dos dimensiones. Los problemas
tridimensionalesque nalmente son los que pueden llegar a tener alguna potencial aplicacin
industrialson el principal objetivo a implementar en el corto plazo.
Aprovechando las facilidades provistas por las bibliotecas numricas de las que depende
milonga, otro objetivo a mediano plazo consiste en paralelizar tanto la construccin de las ma-
trices como la solucin numrica del problema de autovalores. Incluso deberamos evaluar la
posibilidad de utilizar GPUs en lugar de CPUs para problemas grandes. Incluso hay muchos
algoritmos ad-hoc dentro del cdigo que pueden ser optimizados, ya que como suele suceder
en programas diseados bajo la losofa UNIX [2], las primeras versiones suelen estar progra-
madas para que ande en lugar de que para que ande rpido. Un ejemplo de este tipo de
optimizacin podra ser implementar la construccin de las matrices elementales utilizando
algn esquema de integracin adaptiva para intentar o bien reducir el nmero de evaluaciones
de los jacobianos o bien mantener acotado el error cometido en la cuadratura numrica. Otras
sosticaciones tales como intentar no empeorar el radio espectral de la matriz de remociones 1
al introducir condiciones de contorno de Dirichlet o tratar de mantener la simetra despus de
colocar las condiciones de contorno tambin deberan ser estudiadas e incorporadas.
En lugar de utilizar la aproximacin de difusin, algunos cdigos computacionales indus-
triales utilizan alguna otra formulacin basada en la ecuacin de transporte de Maxwell, tal
como la formulacin o
N
. Eventualmente podramos incorporar a milonga la posibilidad de
manejar este tipo de ecuaciones para aumentar su espectro de aplicacin.
Ams largo plazo, la posibilidad de resolver problemas transitorios debera ser incorporada
eventualmente al cdigo, una vez que se haya logrado cierta madurez, estabilidad y eciencia
en la resolucin de problemas estacionarios. An ms deseable que resolver cintica espacial
resultara el poder calcular con milonga los coecientes que denen la formulacin de cintica
multi-puntual equivalente del problema tridimensional completo.
El cdigo milonga est siendo desarrollado en el marco de una Tesis de Doctorado en In-
geniera Nuclear sobre temas de optimizacin de parmetros de diseo en reactores nucleares.
Si bien en el ejemplo 5.2.3.3 intentamos introducir la forma en la que milonga puede utilizarse
para resolver problemas complejos de optimizacin, para poder considerarlo un cdigo apto
para la optimizacin de parmetros de diseo de reactores nucleares reales. Pero es ciertamente
:6
ste el principal objetivo a largo plazo. Y solamente este objetivo ser alcanzado si a lo largo
de todo el camino seguimos las bases del software libre, en el que tanto los usuarios como el
programador se benecian. Los primeros porque tienen la posibilidad de ejecutar el programa,
de regalarloy por lo tanto recibirlolibremente, de estudiar como funciona y de cambiarlo
para que se ajuste a sus necesidades (libertades cero, uno y dos). Y el autor se benecia cuando
los usuarios ejercitan su libertad nmero cuatro de redistribuir las versiones modicadas, ya
que sus errores tendrn una mayor posibilidad de ser corregidos, congurando un lazo con
realimentacin positiva y aumentando tambin las chances de que la ciencia y la tecnologa
nuclear avancen un poquito ms rpido que antes.
:6
APNDICE A
Algunos resultados de la geometra
del plano
Este apndice enuncia sin demostrar algunas frmulas que utiliza el cdigo milonga para cal-
cular algunos resultados geomtricos necesarios para la implementacin del mtodo de vol-
menes nitos en dos dimensiones.
A.1. La normal a un segmento
Dado un segmento en el plano r-j denido por dos puntos x
1
= (r
1
, j
1
) y x
2
= (r
2
, j
2
) existen
dos vectores unitarios n y n

cuya direccin es perpendicular a dicho segmento (gura A.1).


Figura A.1 Vector normal a un segment
Las componentes de estos vectores son
n =
_
j
1
j
2
|x
2
x
1
|
,
r
2
r
1
|x
2
x
1
|
_
(A.1)
n

=
_
j
2
j
1
|x
2
x
1
|
,
r
1
r
2
|x
2
x
1
|
_
(A.2)
(A.3)
Si el segmento x
2
x
1
es el borde de una celda i, entonces estamos interesados en el vector
normal externo a la celda i. Por ejemplo, en la gura A.2, para la celda i el vector normal externo
es n

.
Para saber cmo elegir el vector apropiado para una cierta celda i, calculamos las coorde-
nadas del vector n segn la ecuacin (A.1) y calculamos el producto interno
n (x
i
x
ij
)
entre el vector normal que proponemos y el vector que une el centro x
i
de la celda i con el
centro x
ij
del segmento que separa la celda i de la celda ,. Si este producto interno es negativo,
Figura A.2 Vector normal externo a una celda
entonces el vector n propuesto es el que est en la direccin normal externa. De lo contrario, el
vector que estamos buscando es n

.
A.2. El rea del tringulo
Dado un triangulo en el plano r-j denido por tres puntos x
1
= (r
1
, j
1
), x
2
= (r
2
, j
2
) y
x
3
= (r
3
, j
3
) (gura A.3), es posible demostrar que su rea es igual a
=
1
2
_
r
1
(j
2
j
3
) + r
2
(j
3
j
1
) + r
3
(j
1
j
2
)
_
(A.4)
Figura A.3 Tringulo denido por tres puntos
A.3. El rea del cuadrngulo
Si ahora consideramos un cuadrngulo denido por cuatro puntos (gura A.4), podemos cal-
cular su rea si lo dividimos en dos tringulos, calculamos sus reas segn la ecuacin (A.4) y
las sumamos:
=
1
2
_
r
1
(j
2
j
3
) + r
2
(j
3
j
1
) + r
3
(j
1
j
2
)
_
+
1
2
_
r
3
(j
4
j
1
) + r
4
(j
1
j
3
) + r
1
(j
4
j
4
)
_
:66
Figura A.4 Cuadrngulo denido por cuatro puntos
A.4. Pertenencia de un punto a un tringulo
Dado un triangulo en el plano r-j denido por tres puntos x
1
= (r
1
, j
1
), x
2
= (r
2
, j
2
) y x
3
=
(r
3
, j
3
) (gura A.3) y un punto arbitrario x = (r, j), queremos saber si el punto x pertenece
o no al tringulo. Para ello, calculamos las componentes . de los siguientes tres productos
vectoriales:
.
1
= (x
2
x
1
) x
.
2
= (x
3
x
2
) x
.
3
= (x
1
x
3
) x
Si los signos de estas tres cantidades .
1
, .
2
y .
3
son iguales, entonces el punto x pertenece al
tringulo. De lo contrario, si hay dos con igual signo y una con signo contrario, x no pertenece
al tringulo.
A.5. Pertenencia de un punto a un cuadrngulo
Podemos extender el test de pertenencia de un punto x a un cuadrngulo denido por cuatro
puntos, suponemos nuevamente que el cuadrngulo est formado por dos tringulos, el pri-
mero dado por los puntos (x
1
, x
2
, x
3
) y el segundo por (x
3
, x
4
, x
1
). Luego, primero vericamos
si el punto r pertence al primer tringulo calculando
.
1
= (x
2
x
1
) x
.
2
= (x
3
x
2
) x
.
3
= (x
1
x
3
) x
Si los signos de estas tres cantidades .
1
, .
2
y .
3
son iguales, entonces el punto x pertenece
al primer tringulo, y por ende al cuadrngulo. Si no, calculamos las cantidades
:6
.
4
= (x
4
x
3
) x
.
5
= (x
1
x
4
) x
.
6
= (x
3
x
1
) x
y volvemos a vericar si sus signos coinciden. Si coinciden, entonces el punto x pertenece al
segundo tringulo, y por ende al cuadrngulo.
:68
APNDICE B
Identidades de Green
En la derivacin del esquema basado en elementos nitos hemos utilizado la siguiente identi-
dad de Green para transformar una ecuacin diferencial de segundo orden en una formulacin
fuerte de primer orden en la ecuacin (4.39). En la mayora de los textos acadmicosal menos
en todos con lo que me encontrlos ejemplos tratan con situaciones en las que la funcin (x)
(que corresponde al coeciente de difusin o la conductividad trmica por ejemplo) como uni-
forme. En estos casos, los autores extraen fuera de la integral este factor y continan aplicando
el teorema de la divergencia tal como todos aprendimos en nuestros primeros aos universita-
rios. Sin embargo, la reduccin del orden es posible an para coecientes dependientes del es-
pacio aplicando la segunda identidad de Green, que consiste en una extensin de la integracin
por partes a varias dimensiones y que a falta de poder referenciar una demostracin que me
convenza, propongo una para el caso bidimensional en este apndice siguiendo la metodologa
de desarrollar los trminos vectoriales en expresiones escalares y luego volver a escribirlos en
forma vectorial.
Teorema B.1 (Segunda Identidad de Green) En un dominio conexo l R
2
, sean (r, j) : R
2

R y (r, j) : R
2
R
2
funciones continuas, entonces
_
U
(r, j) div
_
(r, j)

drdj =
_
U
grad
_
(r, j)

(r, j) drdj +
_
U
(r, j)
_
(r, j) n

do
DEMOSTRACIN Podemos escribir la integral que queremos calcular como
_
U
(r, j) div
_
(r, j)

drdj =
_
b
a
_
d(y)
c(y)
(r, j)

x
r
drdj +
_
b
a
_
d(y)
c(y)
(r, j)

y
j
drdj
donde las funciones c(j) y d(j) junto con las constantes o y / denen el dominio l en R
2
(gura B.1). Prestando atencin ahora a la integral sobre r del primer trmino del miembro
derecho, podemos integrar por partes
_
d(y)
c(y)
(r, j)

x
r
dr =
_
d(y)
c(y)

x
(r, j)

r
dr
+
_

x
_
d(j), j
_

_
d(j), j
_

x
_
c(j), j
_
(c(j), j)

Al volver a integrar esta expresin con respecto a j entre o y / obtenemos


_
b
a
_
d(y)
c(y)
(r, j)

x
r
drdj =
_
b
a
_
d(y)
c(y)

x
(r, j)

r
drdj
+
_
b
a
_

x
_
d(j), j
_

_
d(j), j
_
dj
_
b
a
_

x
_
c(j), j
_
(c(j), j)

dj
Figura B.1 Dominio U R
2
denido por las curvas c(y) y d(y) y por los puntos a y b.
Podemos ver que las ltimas dos integrales son las integrales de lnea de la expresin
x
(x)
(x) a lo largo de las lneas d(j) y c(j) respectivamente, cuya resta da por denicin la integral
sobre la frontera l del dominio l (gura B.1). Luego
_
b
a
_
d(y)
c(y)
(r, j)

x
r
drdj =
_
b
a
_
d(y)
c(y)

x
(r, j)

r
drdj +
_
U

x
(r, j) (r, j) n
x
do
Anlogamente para las expresiones de
y
, tenemos
_
b
a
_
d(y)
c(y)
(r, j)

y
j
drdj =
_
b
a
_
d(y)
c(y)

y
(r, j)

j
drdj +
_
U

y
(r, j) (r, j) n
y
do
Recordando que la integral que queremos calcular era igual a
_
U
(r, j) div
_
(r, j)

drdj =
_
b
a
_
d(y)
c(y)
(r, j)

x
r
drdj +
_
b
a
_
d(y)
c(y)
(r, j)

y
j
drdj
entonces
_
U
(r, j) div
_
(r, j)

drdj =
_
b
a
_
d(y)
c(y)
_

x
(r, j)

r
+
y
(r, j)

j
_
drdj
+
_
U
[
x
(r, j) (r, j) n
x
+
y
(r, j) (r, j) n
y
] do
de donde sigue la tesis del teorema.
:o
APNDICE C
Cuadratura de Gauss
La integracin numrica de una cierta funcin )(r) en el intervalo [1 : 1] consiste en escribir
una aproximacin
_
+1
1
)(r) dr
N

i=1

i
)(r
i
)
Dependiendo de si es posible elegir o no tanto la cantidad como los puntos individua-
les r
i
de evaluacin de la funcin )(r), existen varios mtodos que proveen aproximaciones
de diferentes rdenes. Por ejemplo, si aproximamos el integrando mediante monomios de or-
den , los coecientes
i
son la solucin de un sistema lineal de ecuaciones (i.e. hay que invertir
una matriz) pero las integrales de los trminos individuales son triviales. Si interpolamos )(r)
con polinomios de Lagrange, podemos calcular fcilmente los coecientes pero las expresiones
para las integrales presentan cierta complejidad. En particular, si los puntos r
i
son elegidos en
forma equiespaciada en el intervalo, entonces el mtodo de cuadratura tiene nombre propio y
es el conocido algoritmo de Newton-Cotes.
La cuadratura de Gauss que utiliza el cdigo milonga para construir las matrices elementa-
les no permite elegir libremente los puntos r
i
de interpolacin sino que stos son provistos por
el mtodo, a cambio de proveer una estimacin de la integral que es exacta para polinomios de
grado 2n 1 o menor. A continuacin mostramos una de las tantas deducciones posibles.
C.1. Una dimensin
Consideremos la funcin 1(r) denida como
1(r) =
_
N

i=1
)(r
i
) /
i
(r)
_
+ 1(r)
n1

i=0

i
r
i
donde 1(r) es el polinomio de orden
1(r) = (r r
1
) (r r
2
) . . . (r r
n
)
y /
i
(r) es el polinomio de Lagrange de orden 1 correspondiente al punto r
i
/
i
(r) =
(r r
1
) (r r
2
) . . . (r r
i1
) (r r
i+1
) . . . (r r
N
)
(r
i
r
1
) (r
i
r
2
) . . . (r
i
r
i1
) (r
i
r
i+1
) . . . (r
i
r
N
)
La funcin 1(r) es una aproximacin del integrando )(r). En efecto, si evaluamos 1(r) en
alguno de los puntos de integracin r
i
(que debemos calcular), obtenemos
1(r
i
) =
_
N

i=1
)(r
i
) /
i
(r
i
)
_
+ 1(r
i
)
n1

i=0

i
r
i
)(r
i
) = )(r
i
)
dado que /
i
(r
j
) =
ij
y 1(r
i
) = 0. El mtodo de Gauss propone estimar la integral de )(r)
como la integral de 1(r)
_
+1
1
)(r) dr
_
+1
1
1(r) dr =
_
+1
1
_
N

i=1
)(r
i
) /
i
(r) dr
_
+
_
+1
1
_
1(r)
n1

i=0

i
r
i
_
N

i=1
__
+1
1
/
i
(r) dr
_
)(r
i
) +
N1

i=0

__
+1
1
1(r) r
i
dr
_
eligiendo los puntos de integracin r
i
de forma tal que se anule el ltimo trmino, es decir
_
+1
1
1(r) r
k
dr = 0
para todo / = 1, . . . , , donde debemos recordar que 1(r) depende de la eleccin de los pun-
tos r
i
.
Fijado y calculados los puntos de integracin r
i
llamados puntos de Gausslos pe-
sos
i
resultan

i
=
__
+1
1
/
i
(r) dr
_
Luego la cuadratura de la funcin )(r) con puntos de Gauss es
_
+1
1
)(r) dr
N

i=1

i
)(r
i
) (C.1)
Para = 1, la solucin es
r
1
= 0
1
= 2
Para = 2,
r
1
=
_
1,3
1
= 1
r
2
= +
_
1,3
2
= 1
Para = 3,
r
1
=
_
3,5
1
= 5,9
r
2
= 0
2
= 8,9
r
3
= +
_
3,5
3
= 5,9
::
C.2. Dos dimensiones
Si queremos calcular la integral doble de una funcin )(r, j) en el intervalo [1 : 1] [1 : 1]
_
+1
1
_
+1
1
)(r, j) drdj
entonces primero aproximamos la integral con respecto a r usando la ecuacin (C.1)
_
+1
1
_
N

i=1

i
)(r
i
, j)
_
dj
Podemos aproximar ahora la integral con respecto a j usando cuadratura de Gauss, utili-
zando ahora el subndice , para indicar los puntos de integracin sobre la variable j
N

j=1
_

_
N

i=1

i
)(r
i
, j
j
)
__
con lo que la generalizacin a dos dimensiones queda
_
+1
1
_
+1
1
)(r, j) drdj
N

j=1
N

i=1
(
i

j
) )(r
i
, j
j
)
Figura C.1 Puntos de Gauss en dos dimensiones para N = 2
:
Referencias
[1] Klaus-Jrgen Bathe. Finite Element Procedures. Prentice Hall, 2006.
[2] Eric Raymond. The Art of Unix Programming. Ed. by Addison-Wesley. 2003.
[3] Eric Raymond. The cathedral and the bazaar. In: Knowledge, Technology & Policy 12.3
(1999), pp. 2349.
[4] J. Gay and R. Stallman. Free Software, Free Society: Selected Essays of Richard M. Stallman.
Second Edition. GNU Press, 2010. ISBN: 978-0-9831592-0-9.
[5] R. Stallman. What is Free Software? URL: http://www.gnu.org/philosophy/free-
sw.html.
[6] Theler G., Clausse A. y Bonetto F. J. Optimizacin de parmetros en reactores de poten-
cia: base de diseo del cdigo neutrnico milonga. En: Actas de la XXXVII Reunin Anual
de la Asociacin Argentina de Tecnologa Nuclear. 2010.
[7] G. Theler. Milonga: a free nuclear reactor core analysis code. 2011.
[8] S. Balay et al. PETSc Users Manual. Tech. rep. ANL-95/11 - Revision 3.4. Argonne Na-
tional Laboratory, 2013.
[9] S. Balay et al. Efcient Management of Parallelism in Object Oriented Numerical Soft-
ware Libraries. In: Modern Software Tools in Scientic Computing. Ed. by E. Arge, A. M.
Bruaset, and H. P. Langtangen. Birkhuser Press, 1997, pp. 163202.
[10] Vicente Hernandez, Jose E. Roman, and Vicente Vidal. SLEPc: A Scalable and Flexible
Toolkit for the Solution of Eigenvalue Problems. In: ACM Transactions on Mathematical
Software 31.3 (Sept. 2005), pp. 351362.
[11] A. F. Henry. Nuclear reactor analysis. Cambridge, MIT, 1975.
[12] Samuel Glasstone and George I. Bell. Nuclear reactor theory. Krieger Publishing Company,
1970.
[13] J. J. Duderstadt and L. J. Hamilton. Nuclear reactor analysis. Wiley, New York, 1976.
[14] Weston M. Stacey. Nuclear Reactor Physics. Second. Wiley-VCH, 2007.
[15] M.B. Chadwick et al. ENDF/B-VII.1 Nuclear Data for Science and Technology: Cross
Sections, Covariances, Fission Product Yields and Decay Data. In: Nuclear Data Sheets
112.12 (2011). Special Issue on ENDF/B-VII.1 Library, pp. 28872996.
[16] Jaakko Leppnen. Serpent a Continuous-energy Monte Carlo Reactor Physics Burnup Cal-
culation Code. 2012.
[17] Dinesh Kaushik et al. Enabling high-delity neutron transport simulations on petascale
architectures. In: Proceedings of the Conference on High Performance Computing Networking,
Storage and Analysis. 2009.
[18] K. S. Smith. Assembly homogenization techniques for light water reactor analysis. In:
Progress in Nuclear Energy 17.3 (1986), pp. 303335.
[19] K. H. Beckurts and K. Wirtz. Neutron Physics. Springer-Verlag, 1964.
[20] John R. Lamarsh. Introduction to nuclear reactor theory. Addison-Wesley, 1966.
[21] Paul Reuss. Neutron Physics. EDP Sciences, 2008.
[22] E. E. Lewis and W. F. Miller. Computational Methods of Neutron Transport. John Wiley and
Sons, 1984.
[23] M. Rivero. Optimizacin computacional de la solucin numrica de la ecuacin de difu-
sin de neutrones. Tesis de la Maestra en Simulacin Numrica y Control. Univesidad
de Buenos Aires, 2011.
[24] O. C. Zienkiewicz, R. L. Taylor, and J. Z. Zhu. The Finite Element Method: its basis and
fundamentals. 6th. Vol. 1. Elsevier, 2005.
[25] C. A. Brebbia and A. J. Ferrante, eds. The Finite Element Technique. Editora da urgs,
Universidade Federal do Rio Grande do Sul, 1975.
[26] C. Geuzaine and J. F. Remacle. Gmsh: a three-dimensional nite element mesh genera-
tor with built-in pre- and post-processing facilities. In: International Journal for Numerical
Methods in Engineering 79.11 (2009), pp. 13091331.
[27] Bruno Ruy. Instrucciones para escribir un texto. 2006. URL: http://www.talador.com.
ar/jeremy/jaura/incomprendidos/instrucciones.pdf.
[28] Martn Silva. Chu: una denominacin universal para las letras griegas. Instituto Bal-
seiro. 2005.
[29] Ral Barrachina. Uso de leyes integrales en la fsica. Monografa de la Carrera de Maestra en
Filosofa e Historia de la Ciencia. Facultad de Humanidades, Universidad del Comahue,
2001.
[30] Ral Barrachina. De la luz corpuscular a la materia ondulatoria: estudio comparativo
de dos campos controversiales. Maestra en Filosofa e Historia de la Ciencia. Facultad
de Humanidades, Universidad del Comahue, 2003.
[31] D. E. Knuth. Selected papers on Computer Languages. Center for Studies of Language
Information, 2003.
[32] J. N. Buxton, ed. Simulation Programming Languages. North Holland, 1968.
[33] G. Theler. Unstructured Grids and the Multigroup Neutron Diffusion Equation. In:
Science and Technology of Nuclear Installations 2013.641863 (2013).
[34] Theler G. Geometric Optimization of Nuclear Reactor Cores. In: Mecnica Computa-
cional XXXII.32 (2013), pp. 26892703.
[35] Theler G. Variaciones Numricas Sobre un Problema Clsico de Fsica de Reactores.
En: Actas de la XL Reunin Anual de la Asociacin Argentina de Tecnologa Nuclear. 2013.
[36] J.A. Nelder and R. Mead. A simplex method for function minimization. In: Computer
Journal 7 (1965), pp. 308313.
[37] M. Galassi et. al. GNU Scientic Library Reference Manual. 3rd. ISBN: 0954612078. URL:
http://www.gnu.org/software/gsl/.
[38] Computational Benchmark Problem Comitee for the Mathematics and Computation Di-
vision of the American Nuclear Society. Argonne Code Center: Benchmark Problem Book.
Tech. rep. ANL-7416 Supplement 2. Argonne National Laboratory, June 1977.
[39] Theler G., Clausse A. y Bonetto F. J. Solution of the 2D IAEA PWR Benchmark with
the neutronic code milonga. En: XXXVIII Reunin Anual de la Asociacin Argentina de
Tecnologa Nuclear. Buenos Aires, 2011.
:
15 de diciembre de 2013

You might also like