You are on page 1of 9

Software libre de simulacin numrica fluidodinmica aplicado al sector naval - OpenFOAM

Vicente Daz Cass 1) Pablo Farias Alvario 1) Alba Martnez Lpez 1) Marcos Mguez Gonzalez 1) 1) Grupo Integrado de Ingeniera, Universidade da Corua vdiaz@udc.es , pfarina@udc.es, amartinezl@udc.es , mmiguez@udc.es

Resumen
El software libre o cdigo abierto se ha convertido en una de las estrategias de desarrollo colaborativo de herramientas informticas de mayor auge en los ltimos aos. El uso de estas herramientas supone un cambio radical en la estructura de negocio en este campo, ya que se pasa de un sistema basado en productos a uno basado en servicios. Dentro de las diversas herramientas disponibles de aplicacin al sector naval, se puede destacar el OpenFOAM como librera de simulacin en mecnica de fluidos. En este trabajo se presentan las capacidades de esta herramienta y los proyectos realizados por el Grupo Integrado de Ingeniera basados en ella.

Abstract

Theopen source software has become one of the strategies for developing collaborative tools for the further rise in recent years. The use of these tools involves a radical change in the structure of business, in this field as it moves from a product-based system to one based on services. Among the various tools available for application to the shipbuilding industry, one can emphasize the library as OpenFOAM simulation fluid mechanics. This paper presents the capabilities of this tool and the projects developed by the Integrated Group for Engineering Research of the University of A Corua based in it.

1.

Introduccin

La utilizacin de de herramientas de simulacin numrica, especialmente en el campo de la fluidodinmica y transmisin de calor, por parte de la pequea y mediana empresa presenta dos barreras fundamentales:

La necesidad de personal especializado para su uso e interpretacin. El alto coste de las aplicaciones comerciales de simulaciones.

Una de las alternativas que se presentan para solventar estas dificultades es la utilizacin de herramientas especficas basadas en software libre. Dentro de ellas se va a presentar la librera de simulacin OpenFOAM y sus caractersticas principales. Uno de los objetivo que se plantean con ella es mostrar sus posibilidades para la simulacin de sistemas por PYMES del sector naval.

2.

Software libre

El software libre o free software puede definirse de forma genrica a aquel que posibilita a los usuarios su uso, copia, modificacin y distribucin.

-1-

Atendiendo a la definicin de la Free Software Foundation[1], el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Dentro de este campo pueden distinguirse cuatro libertades fundamentales: Usar el programa con cualquier propsito. Estudiar el funcionamiento del programa y adaptarlo a sus necesidades. Distribuir copias. Mejorar el programa y hacer pblicas las mejoras.

Si bien estas cuatro libertades condicionan claramente el software desarrollado bajo esta premisa este no puede identificarse con software de dominio pblico ni como gratuito. Respecto al primer punto, salvo que el autor ceda sus derechos de explotacin a la humanidad, en la utilizacin del software libre han de respetarte los derechos de autor as como las licencias de uso que se impongan al mismo. As podrn ejercerse el conjunto de libertades anteriores aunque siempre siguiendo los requerimientos impuestos por las licencias y respetando los derechos de autor previos. En lo referente a su gratuidad, aunque este suele ser gratuito o con el nico coste del soporte fsico, esta caracterstica no es un requisito para su consideracin como software libre. Por este motivo no puede identificarse software gratuito con software libre. Estos principios suponen un cambio significativo en la estrategia comercial de las empresas dedicadas al desarrollo de software libre, se pasa de un modelo basado en el producto a uno basado en el conocimiento. Dentro de las distintas posibilidades pueden distinguirse dos grupos principales: Desarrollo de software especfico. Una de las alternativas es el desarrollo de software libre para solventar un problema o una necesidad concreta de un cliente. En este caso es necesario distinguir entre los distintos tipos de licencia utilizada, ya que segn sea la utilizada puede ser obligatorio su difusin o no puede cobrarse por su difusin, si por su desarrollo. Asesoramiento y soporte tcnico. En este caso se distribuye un software de forma gratuita pero la empresa se financia a travs de actividades de formacin o como asesores para su aplicacin o uso. Puede parecer que desde el punto de vista de la empresa de desarrollo no es interesante el desarrollo de software libre ya que, frente al software propietario, no liga el el uso de un software a la adquisicin de un sistema cerrado. Sin embargo el desarrollo de software libre presenta una importante ventaja: al disponer de una comunidad de usuarios que acceden libremente al cdigo sta puede desarrollar nuevas funcionalidades que pueden incluirse en las siguientes versiones del producto.

3.

OpenFOAM. Fundamentos y estructura.

OpenFOAM, Open Field Operation and Manipulation,[2] es una biblioteca de simulacin numrica que permite discretizar y resolver sistemas de ecuaciones en derivadas parciales que modelan problemas de ingeniera: ecuaciones de Navier-Stokes, de Maxwell... Est biblioteca se estructura en mdulos programados en C++ y desarrollados siguiendo licencias GPL [3] , incorporando utilidades de pre y postprocesado para la transformacin de informacin, obtencin de magnitudes derivadas y su visualizacin. Como los orgenes de Openfoam estn vinculados a la mecnica de fluidos, discretiza las ecuaciones usando el mtodo de volmenes finitos. Est previsto para trabajar sobre mallas no estructuradas tridimensionales con elementos tetradricos, hexadricos y pentadricos. Adems, puede transformar la informacin y resolver problemas mediante elementos finitos. Esto resulta especialmente til en algunos casos de sistemas de ecuaciones acopladas, tales como interaccin fluido/estructura. Otra ventaja a la hora de resolver problemas

-2-

de gran tamao es que incorpora un procedimiento de paralelizacin automica de los algoritmos, que no necesita la intervencin directa del usuario. Al tratarse de un cdigo completamente abierto permite la incorporacin de nuevos mdulos, lo que proporciona un entorno de trabajo flexible y cmodo que puede ser utilizado tanto por el usuario no iniciado en los mtodos numricos (que se limitara a utilizar los programas de la biblioteca) como por el experto (que podra incorporar sus propios cdigos de discretizacin, resolucin y postprocesado).

Estructura bsica de programacin en OpenFOAM


La biblioteca OpenFOAM proporciona las herramientas necesarias para la discretizacin y resolucin de ecuaciones de derivadas parciales. En esta seccin se resume la secuencia modelo de un procedimiento general de programacin. 1. Inicializacin del problema. Se crea el objeto problema y se leen los parmetros generales, por ejemplo la opcin de paralelizacin y el nmero de CPU, la posicin en el rbol de archivos y los nombres de los ficheros Foam::Time problema(runTime , rootPath (),args()); 2. Lectura o creacin de la malla. OpenFOAMpuede crear mallas y tambin leerlas de ficheros generados por otros preprocesadores: Gambit, Ideas, Grid, Ansys... El resultado final tiene que ser una malla de elementos y caras, distinguiendo para estas ltimas entre interiores y frontera. Adems existe un mdulo que permite obtener la informacin necesaria para una malla de elementos finitos formada por tetraedros a partir de una de volmenes finitos con elementos de geometra arbitraria. fvMesh mesh(fvMesh,runTime.timeName(),runTime,MUST READ); 3. Inicializacin de las variables y constantes. Se definen y generan las distintas variables que intervienen en el modelo. Como norma general el tipo de variable se define por dos parmetros fundamentales. El primero indica si la variable est asociada al elemento, vol, o a sus vrtices, point, aunque se podran definir variables sobre puntos tales como baricentros, centros de cara. El segundo define el tipo de variable: escalar, Scalar, vectorial, Vector, o tensorial, Tensor. Por ejemplo: volVectorField U (``U'',problema, fvMesh); Adems debe crearse el archivo de datos de la variable que contiene: Dimensiones de la variables. Se explicitan los exponentes en un vector de la forma: [masa , longitud, tiempo, temperatura, moles, intensidad, luminosidad]. Esto permite a OpenFOAM verificar que las ecuaciones que se resuelven son homogneas en dimensiones. Para la variable velocidad U del caso anterior, dimensions[0 1 -1 0 0 0 0]; Valor inicial. A todo campo utilizado debe asignrse un valor inicial, ya sea definiendo un valor uniforme para todo el dominio, dependiente del elemento o resultados de otra ejecucin. internalField uniform (8 0 0);

-3-

Condiciones de contorno. Para cada regin de la frontera debe definirse obligatoriamente su tipo y si es necesario, el valor de la magnitud. Los tipos pueden ser Neumann, si se fija una derivada normal; Dirichlet, si se impone un valor, o vaco. Tambin permite definir combinaciones de la anteriores como la wall que fija una condicin Neumann para la presin y Dirichlet para la velocidad... 4. Definicin de la ecuacin del modelo. Se define la ecuacin en derivadas parciales utilizando los operadores bsicos implementados en la biblioteca (vase [4]). Por ejemplo, la ecuacin de NavierStokes, , para la variable U se escribe como: volVectorField U_old((U_old'',problema,fvMesh),U); NSqn (fvm::div (rho, U*U\_old) - fvm::laplacian(mu,U)) ; 5. Resolucin del sistema. Definido el sistema lineal completo OpenFOAMlo resuelve, por ejemplo, solve (NSqn () == -fvc::grad (p));

-4-

Fig. 1.Comparacin numrica experimental mediante OpenFOAM

4.

Capacidades del OpenFOAM.

Una de las principales caractersticas que desde el diseo inicial se ha desarrollado buscando que sea un sistema abierto. Esta caracterstica junto con sus caractersticas de software libre ha posibilitado el desarrollo de numerosos solvers as como herramientas de pre y post procesado para adaptarse a un gran abanico de casos. Entre los distintos solvers pueden destacarse: Fluidos incompresibles o boundaryFoam. Solver estacionario para flujos turbulentos de 1D. o icoDyMFoam. Flujo laminar no estacionario con movimientos de malla asociados o icoFoam. Flujo laminar no estacionario o nonNewtonianIcoFoam. Flujo laminar no estacionario para flujos no estacionarios o oodles. LES para flujos incompresibles o simpleFoam. Flujos turbulentos incompresibles y estacionarios o turbFoam. Flujos turbulentos incompresibles no estacionarios

-5-

Fig. 2. Distribucin de presiones sobre la vela

Fluidos compresible o coodles. LES para flujos compresibles o rhoPimpleFoam. Flujos turbulentos para ventilacin y trnsferencia de calor. o SonicFoam. Flujos no estacionarios y laminares para gases en situaciones trans y supersnicas. Flujos multifase o bubbleFoam. Dos fluidos incompresibles con una fase dispersa o interDyMFoam. Dos fluidos incompresibles con captura de interfase y desplazamiento de malla o lesCavitatingFoam . Procesos no estacionarios de cavitacin con turbulencia mediante LES. Combustiones o coldEngineFoam. Fujos en procesos de combustin sin considerar la transmisin de calor o dieselEngineFoam. Anlisis de procesos de combustin con inyeccin en diesel spray. o Xoodles. Simulacin de procesos de combustin con modelado de turbulencia mediante LES. Transmisin de calor o buoyantFoam. Flujos turbulento para flujos compresibles para fenmenos de ventilacin y transmisin de calor, los efectos gravitacionales son considerados o buoyantSimpleRadiationFoam. Flujos turbulentos para fluidos compresibles con fenmenos de radiacin. Anlisis de fuerzas

-6-

o solidDisplacementFoam. Solver no estacionario para pequeas deformaciones elsticas, con efectos trmicos En la lista anterior se muestra un pequeo ejemplo del herramientas previamente implementadas. Sin embargo, una de las importancias ventajas de esta librera es que no slo proporciona un conjunto elevado de solvers sino que permite, de una forma sencilla, la creacin de utilidades especficas que se adapten a problemas especficos.

Fig. 3. Campo de presiones en la hlice Dentro de las distintas lneas de desarrollo pueden destacarse seis grupos principales: Automocin y motores de combustin Modelos de turbulencia Turbomquinas Hidrodinmica naval Interaccin fluido-estructura

Estos grupos interdisciplinales, en los que participan tanto centros de investigacin como empresas, tienen establecido redes de comunicacin y de desarrollo conjunto con el objetivo de desarrollar aplicaciones o herramientas comunes. Adems una de las principales lneas de trabajo que se todos los grupos estn realizando es la validacin de los resultados obtenidos.

-7-

5.

Proyectos del Grupo Integrado de Ingeniera.

Desde el punto de vista del desarrollo de proyectos de I+D la utilizacin de OpenFOAM presenta dos claras ventajas, por un lado, permite utilizar elevados recursos de clculo y, por otro lado, desarrollar simuladores especficos para problemas concretos. As, la utilizacin de software libre permite la utilizacin de los recursos de los grandes centros de computacin sin tener que abonar el elevado coste que supone el uso paralelo de otros programas comerciales. Adems la otra ventaja clara, sobre todo cuando se trabaja en el desarrollo de proyectos de investigacin, es la posibilidad de implementar nuevos simuladores para problemas complejos. Esto posibilita combinar sistemas o modelos numricos de tal forma que se puedan interrelacionar distintos elementos. Como ejemplos de estos casos pueden indicarse los problemas de interaccin fluido/estructura como la combinacin de solvers fuidodinmico para conocer las fuerzas fluidodinmicas sobre el mismo y otro de seis grados de libertad o de deformaciones para conocer la respuesta del objeto. Dentro de los distintos problemas que se abordan o se estn abordando dentro del Grupo Integrado de Ingeniera pueden destacarse: Mtodos de optimizacin aplicados al diseo de velas de competicin. Verificacin experimental / computacional de problemas aerodinmicos. Simulacin de problemas de cavitacin en bombas. Simulacin de la respuesta dinmica de timones. Comportamiento dinmico de buques. Simulacin de elementos submarinos.

6.

Transferencia a las PYMES del sector naval.

En el apartado anterior se ha indicado las posibilidades del uso del OpenFOAM como herramienta para el desarrollo de proyectos de investigacin. Sin embargo otra rea importante de utilizacin es cubrir las necesidades de simulacin de PYMES. La ventaja que presenta esta librera es su bajo coste de implantacin frente a otros sistemas comerciales. Sin embargo, en su contra, es necesario resaltar la necesidad de un proceso de aprendizaje mayor. Es en este punto donde se manifiesta una de las virtudes del uso de software libre, ya que al disponerse del cdigo fuente y con posibilidad de modificacin, es posible desarrollar aplicaciones a medida de la PYME. De este modo puede generarse un software especfico, adaptado al personal y requerimientos de la empresa. Anlisis de procesos que pueden realizarse de forma sistemtica, tales como prdidas de carga, exahustacion es, ventilaciones, etc. pueden generarse interfaces que eliminen este proceso de aprendizaje y de aplicacin directa en la empresa. Dentro del sector naval y en tiempos en los que cada vez es ms necesario incrementar el valor aadido de los productos que generamos, el uso de estas herramientas permite ofrecer mejores productos sin incrementar significativamente el coste del mismo.

-8-

Bibliografa.
1. 2. 3. 4. http://www.fsf.org/licensing/essays/free-sw.html http://www.opencfd.co.uk/openfoam http://www.gnu.org/licenses/licenses.html#GPL OpenFOAM. The Open Source CFD Toolbox. Programmers Guide. Version 1.5. 9th July 2008

-9-

You might also like