6  Conclusiones

Leí con incomprensión y fervor estas palabras que con minucioso pincel redactó un hombre de mi sangre:

Dejo a los varios porvenires (no a todos) mi jardín de senderos que se bifurcan.

Devolví en silencio la hoja.

Jorge Luis Borges, El jardín de senderos que se bifurcan, 1941

Con esta tesis de alguna manera cerramos dos lazos:

  1. Uno estrictamente personal que involucra un poco más de quince años abarcando

    • la tesis de grado sobre control de lazos de convección natural caóticos [7]
    • la tesis de maestría sobre inestabilidades no lineales en el problema acoplado termohidráulico-neutrónico [8]
    • este extenso trabajo, medido tanto en tiempo de desarrollo (principalmente entendiendo qué es lo que no hay que hacer) como en cantidad de texto.
  2. Otro más general en el que agregamos el nivel de núcleo a las dos tesis de doctorado del Instituto Balseiro

    • “Desarrollo y aplicaciones de nuevas bibliotecas de secciones eficaces neutrónicas para H_2O, D_2O y HDO” de José Ignacio Márquez Damián [6]
    • “Metodología de análisis neutrónico de celdas de reactores de agua pesada” de Héctor Lestani [5]

En ella hemos recorrido los tres aspectos en el no tan tradicional y poco académico pero bastante útil orden

  1. ¿Por qué? (cap. 1)
  2. ¿Cómo? (cap. 2 y 3)
  3. ¿Qué? (cap. 4 y 5)

La idea del desarrollo se basa en comenzar con un documento ficticio (pero plausible) con un Software Requirements Specification (apéndice A) en el cual un cliente—que podría ser una entidad pública, un laboratorio o una compañía privada—especifica un pliego de condiciones técnicas que debe tener una herramienta computacional para ser comprada o financiada. FeenoX aparece como una “oferta” a dicho pliego, con un Software Design Specification (apéndice B). Este enfoque es muy común en la industria del software. Lo conocí justamente trabajando como consultor independiente donde de alguna manera estuve obligado interactuar con profesionales de otros ámbitos que “hablan otro idioma”. Una vez franqueada la primera barrera de potencial, la interacción es sumamente fructífera ya que no todas las profesiones dan por sentadas las mismas suposiciones y todos terminan enriqueciendo sus capacidades y experiencias.

En general, en términos de emprendedurismo, el unfair advantage consiste en que el la herramienta…

En particular, para las aplicaciones de neutrónica a nivel de núcleo sus características distintivas son que…

  1. trabaja sobre mallas no estructuradas
  2. puede resolver transporte mediante el método de ordenadas discretas S_N
  3. es capaz de resolver problemas de tamaño arbitrario haciendo descomposición de dominio y resolviendo cada parte en un proceso MPI

En el capítulo 1 repasamos las motivaciones para escribir una herramienta computacional que pueda superar las limitaciones de los códigos neutrónicos tradicionales. Con dicho fin, en el capítulo 2 amalgamamos la literatura existente sobre transporte de neutrones para obtener las ecuaciones en derivadas parciales que debemos resolver. Y en el capítulo 3 desarrollamos posibles discretizaciones numéricas para poder resolver efectivamente neutrónica a nivel de núcleo con una (o más) computadoras digitales. Justamente, en el capítulo 4 discutimos y mostramos una de las virtualmente infinitas maneras de diseñar e implementar una herramienta computacional capaz de resolver estas ecuaciones discretizadas. Finalmente, en el capítulo 5 mostramos diez problemas que necesitan al menos una de las características distintivas de FeenoX para poder ser resueltos en forma satisfactoria.

6.1 Trabajos futuros

Es mi deseo que esta tesis dispare un jardín de senderos que se bifurquen para que las ideas y/o las implementaciones discutidas a lo largo de estos cientos de páginas (físicas en la Biblioteca Falicov, lógicas en su versión PDF o web en su versión HTML) no caigan en el ostracismo. En principio, muchas de las tareas pendientes pueden ser encaradas como trabajos académicos y/o proyectos de ingeniería industriales. En algún sentido, el trabajo “futuro” relacionado al gerenciamiento (sea académico o industrial) es más desafiante que los trabajos técnicos listados a continuación ya no sólo que involucran el management de los tres vértices del tradicional triángulo de proyectos

  1. costos
  2. alcance
  3. calidad

sino también, en proyectos nucleares también hay que lidiar con

  • recursos humanos especialmente particulares
  • gigantescas inercias organizacionales
  • impredecibles limitaciones políticas

todos con sus con sus egos y complicaciones, usualmente fruto del hecho de que la industria nuclear extremadamente inestable ya que depende casi exclusivamente de financiamiento y/o incentivos gubernamentales, tanto a nivel local como global. El listado de trabajos futuros sugeridos incluye

  • comparación cuantitativa entre la aproximación de difusión y e método de ordenadas discretas
    • en trabajos académicos de investigación
    • en modelos de interés industrial
  • evaluación de otros conjuntos de cuadraturas no necesariamente de nivel simétrico
  • estudios de formas de evitar o mitigar el efecto rayo
  • discretización de la coordenada angular con funciones de forma tipo elementos finitos
  • incorporación de otras formulaciones neutrónicas
    • P_N
    • SP_N
    • even parity
    • probabilidad de colisiones para cálculo de celda
  • instrumentación del código para evaluar su eficiencia y mejorar su performance tanto en CPU como en memoria
    • evaluación de la posibilidad de aplicar el paradigma data-oriented programming
  • estudio de factibilidad de utilizar métodos numéricos iterativos para S_N
    • análisis de pre-condicionadores alternativos
    • p-assisted algebraic multi-grid [1]
    • PCPATCH [2]
  • mejoramiento de la escalabilidad por paralelización
    • optimización de multi-node MPI
    • análisis de algoritmos de descomposición de dominio para aplicaciones en reactores nucleares de potencia
    • evaluación de la utilización de DMPlex para la distribución de la malla [4]
  • desarrollo de interfaces y capas de abstracción
    • plataforma web
    • interfaces gráficas de usuario (GUIs)
    • APIs para lenguajes de scripting (Python, Julia, etc.)
    • “thin clients” para ejecución en la nube
  • refinamiento automático de malla1
  • investigación de otras discretizaciones espaciales
    • elementos de alto orden
    • formulaciones mixtas
    • Galerkin discontinuo
    • volúmenes finitos
    • basada en PetscFE [3]
  • aplicaciones a problemas de optimización
    • recocido simulado
    • algoritmos genéticos
    • redes neuronales
    • optimización topológica [10]
  • implementación de otras formas numéricas de prescribir condiciones de contorno de Dirichlet multi-punto
    • multiplicadores de Lagrange
    • eliminación directa
  • otras ecuaciones
    • elasticidad no lineal
    • electromagnetismo
    • mecánica de fluidos
    • termohidráulica 1D
    • CFD
    • aplicaciones a biotecnología
    • acústica
    • etc.
  • mejoramiento de la integración continua
    • nuevos tests
    • medición de la cobertura del código
    • análisis sistemático del código con analizadores de memoria tipo valgrind
  • estudio de compatibilidad de las secciones eficaces homogeneizadas en celdas estructuradas con su uso en el esquema multi-escala (Sección 2.5) con mallas no estructuradas a nivel de núcleo
    • ensambles de elementos combustibles
    • barras de control
    • nubes de boro en inyección de emergencia
  • evaluación de la posibilidad de incorporar FeenoX a cadenas de cálculo neutrónico industriales
  • acoplamiento con otros códigos de cálculo
    • comunicadores MPI
    • memoria compartida
    • sockets TCP
    • archivo intermedios en almacenamiento tipo RAM-disks
  • creación de comunidades libres, abiertas y anti-frágiles
    • académicas
    • industriales
  • evaluación de generación de emprendimientos tipo start up susceptibles de ser invertidos y desarrollados en incubadoras como CITES.

  1. Del inglés Automatic Mesh Refinement↩︎