scieee AI-readable full text Open interactive document viewer

Estudio numérico de la deformación superficial de un chorro líquido impactando contra un objeto

Muñiz Gómez, Francisco Javier

Abstract

Los estudios que se presentan en las siguientes páginas buscan introducir al lector en las técnicas y softwares más comúnmente usados en la Mecánica de Fluidos Computacional y validar su capacidad para estudiar sistemas complejos de interés científico. De este modo, se presenta el software openFOAM, un software de uso libre de altas capacidades y numerosas utilidades que permitirá a cualquier usuario interesado introducirse en CFD (Computational Fluid Mechanics). Con la ayuda de openFOAM, se obtendrán resultados numéricos de la deformación superficial de un chorro impactando contra un obstáculo, pudiéndose validar las predicciones lineales analíticas existentes basadas en los llamados modos espaciales y demostrando las utilidades de los softwares CFD. Además, se pretende mostrar las características principales de este sistema y recoger sus dependencias con variables de interés como el número deWeber o el número de Ohnesorge. El presente trabajo también pretende servir como guía para que aquellos alumnos interesados en realizar simulaciones con openFOAM puedan dar sus primeros pasos con el software y entender sus principios y entorno, así como los fundamentos de CFD, principales técnicas y buenas prácticas. Es por ello, que se detallará en las próximas páginas cómo realizar simulaciones con el software, cómo visualizar los resultados y cómo evaluar la fiabilidad de las simulaciones. De este modo, se establecerán las bases para que el usuario interesado pueda realizar simulaciones de forma autónoma con otros softwares de CFD más sofisticados y más comúnmente usados en la industria, tales como Ansys Fluent o COMSOL Multiphysics.

Full text

Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería Aeroespacial Estudio numérico de la deformación superficial de un chorro líquido impactando contra un objeto Autor: Francisco Javier Muñiz Gómez Tutores: Pedro Ángel Vázquez González Heliodoro González García Dpto. de Física Aplicada III Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 Trabajo Fin de Grado Grado en Ingeniería Aeroespacial Estudio numérico de la deformación superficial de un chorro líquido impactando contra un objeto Autor: Francisco Javier Muñiz Gómez Tutores: Pedro Ángel Vázquez González Profesor Titular Heliodoro González García Profesor Titular Dpto. de Física Aplicada III Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 Trabajo Fin de Grado: Estudio numérico de la deformación superficial de un chorro líquido impactando contra un objeto Autor: Francisco Javier Muñiz Gómez Tutores: Pedro Ángel Vázquez González Heliodoro González García El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha: Agradecimientos A mi familia, que con su apoyo incondicional y esfuerzo incansable me han permitido superarme cada día, y a aquellos profesores, compañeros y amigos que me han hecho ser quien soy hoy. Francisco Javier Muñiz Gómez Sevilla, 2023 I Resumen Los estudios que se presentan en las siguientes páginas buscan introducir al lector en las técnicas y softwares más comunmente usados en la Mecánica de Fluidos Computacional y validar su capacidad para estudiar sistemas complejos de interés científico. De este modo, se presenta el software openFOAM, un software de uso libre de altas capacidades y numerosas utilidades que permitirá a cualquier usuario interesado introducirse en CFD (Computational Fluid Mechanics). Con la ayuda de openFOAM, se obtendrán resultados numéricos de la deformación superficial de un chorro impactando contra un obstáculo, pudiéndose validar las predicciones lineales analíticas existentes basadas en los llamados modos espaciales y demostrando las utilidades de los softwares CFD. Además, se pretende mostrar las características principales de este sistema y recoger sus dependencias con variables de interés como el número de Weber o el número de Ohnesorge. El presente trabajo también pretende servir como guía para que aquellos alumnos interesados en realizar simulaciones con openFOAM puedan dar sus primeros pasos con el software y entender sus principios y entorno, así como los fundamentos de CFD, principales técnicas y buenas prácticas. Es por ello que se detallará en las próximas páginas cómo realizar simulaciones con el software, cómo visualizar los resultados y cómo evaluar la fiabilidad de las simulaciones. De este modo, se establecerán las bases para que el usuario interesado pueda realizar simulaciones de forma autónoma con otros softwares de CFD más sofisticados y más comunmente usados en la industria tales como Ansys Fluent oCOMSOL Multiphysics. III 2Capítulo 1. Introducción pudiendo así obtenerse los perfiles del chorro para diferentes números de Weber, aprenciándose la evolución de las deformaciones con el cambio de las condiciones de partida. El uso del software openFOAM se basa, principalmente, en su carácter de software libre, que permite que usuarios de todo el mundo puedan aportar novedosas soluciones e ideas que optimizan el funcionamiento de la herramienta y permiten utilizarla en un gran número de sistemas y casos. Por otro lado, es fácilmente adaptable gracias a su versatilidad y gran número de bibliotecas. Esto permitirá el estudio del sistema propuesto debido a la existencia de solvers (interFOAM) y condiciones de contorno (freestreamPressure) no existentes en otros programas de CFD, que logran reproducir con gran precisión los resultados observados experimentalmente. En las próximas páginas se explicará con mayor detalle las características de los elementos anteriores y los modelos empleados por el software para obtener los resultados. A pesar de su flexibilidad y potencia, openFOAM requiere de un conocimiento básico en Linux y C++. Para poder lanzar las simulaciones y crear los mallados es necesario emplear el terminal de Ubuntu ya que openFOAM carece de interfaz, mientras que para modificar los parámetros de la simulación y del modelo se requiere modificar archivos de texto escritos en C++. Esto difiere de programas de CFD comerciales como Ansys Fluent oSimcenter Star-CCM+, que permiten al usuario llevar a cabo sus simulaciones a través de interfaces interactivas. Por otra parte, el software empleado para la visualización de los resultados arrojados por las simulaciones será ParaView, de nuevo un software de código libre usado habitualmente para el post-procesado y representación de mallados y resultados de simulaciones llevadas a cabo con FEM. 2 Descripción del Problema En las siguientes líneas se establecerán las ecuaciones que gobiernan el sistema de estudio, obtenidas a partir de la adaptación de las Ecuaciones de Navier-Stokes a las hipótesis de partida del modelo, así como las ecuaciones adimensionales que se implementarán en el estudio numérico. Para ello, será necesario detallar las condiciones en las que se dan las perturbaciones en la superficie del chorro, así como la geometría general del sistema, que será fundamental para desarrollar las ecuaciones adimensionales. 2.1 Geometría e hipótesis de partida La geometría del problema se definirá a partir de los experimentos llevados a cabo en [ 9 ], usando como referencia la figura 2.1. Puede observarse la simetría del problema, presentando tanto el chorro como las corrugaciones que se dan en su base una geometría axisimétrica. Este aspecto será fundamental ya que permitirá llevar a cabo el estudio numérico mediante un modelo 2D axisimétrico, reduciendo así el costo computacional y el tiempo empleado en las simulaciones. Figura 2.1 Experimento llevado a cabo en [ 9 ] en el que se basarán la geometría y el modelo a implementar en el estudio numérico. 3 4Capítulo 2. Descripción del Problema Bajo estas premisas, se propone la geometría a implementar en el modelo del presente estudio en la siguiente figura: Figura 2.2 Esquemático de la geometría del modelo. Se considerará un problema axisimétrico en el plano ORZ (semiplano de simetría), donde el eje z será el eje de simetría y el eje r la entrada tanto de aire como de agua. La dimensión R representa el radio inicial del chorro, el vector u la velocidad axial en la entrada, que será uniforme y que tomará el valor de √We como veremos posteriormente (donde We es el número de Weber) y n el vector normal a la superficie del chorro. Las cantidades ρagua y ρaire representan la densidad del agua y aire, respectivamente, mientras que µagua y µaire representan la viscosidad dinámica del agua y aire. Las condiciones de contorno y otras consideraciones sobre el modelo se detallarán en posteriores secciones. Previa formulación de las ecuaciones que gobernarán el sistema, es necesario establecer las hipótesis de partida. En primer lugar, se considera que el chorro fluye libremente, considerando que el aire tiene una inercia despreciable que no tiene efecto apreciable sobre el desarollo del chorro. Tal y como se expone en [ 6 ] y [ 8 ], esta hipótesis es válida cuando la velocidad relativa entre el chorro y el gas es pequeña, condición que se da en el sistema en estudio al considerarse que tanto el aire como el agua tienen la misma velocidad inicial. Por otro lado, se desprecian aspectos energéticos al considerarse el sistema en condiciones ambiente constantes, de modo que la ecuación de la energía no tendrá que ser tenida en cuenta en el estudio. Además, tal y como se describe en [ 9 ], la interfaz agua-aire está claramente diferenciada, por lo que se puede considerar que ambos fluidos son inmiscibles. Estas dos consideraciones permiten afirmar que las viscosidades dinámicas del agua y aire serán constantes, teniendo en cuenta que la viscosidad del agua no sufrirá cambios apreciables debidos a la presión en el rango de presiones que se estudian en este trabajo ( p∼100 kPa ) [ 14 ], y que los cambios que puedan darse en la viscosidad del aire serán despreciables al ser µaire ∼(10−5kg m−1s−1). Por último, en base a los experimentos llevados a cabo en [ 9 ] y debido al carácter de flujo a superficie libre del chorro, se puede afirmar que tanto la densidad del agua y del aire se mantendrán constantes. 2.2 Ecuaciones adimensionales 5 Con esto, las ecuaciones de Navier-Stokes se reducen a las ecuaciones de continuidad y de conservación de la cantidad de movimiento: ∇·u=0(2.1) ρ∂u ∂t+ρu·∇u=−∇p+µ∇2u+γκδsn(2.2) Donde la expresión γκδsn representa la fuerza capilar, siendo γ la tensión superficial entre aguaaire (toma el valor de 0.073 N m−1 en condiciones ambiente), δs la delta de Dirac, formulada de manera que la fuerza capilar se tenga en cuenta únicamente en la interfase agua-aire, donde los efectos de tensión superficial son aplicables, y κ la curvatura de la superficie del chorro, dada por la siguiente expresión: κ=∇·n(2.3) 2.2 Ecuaciones adimensionales Con el fin de implementar de manera eficiente y general el modelo en el software de CFD, es conveniente adimensionalizar las ecuaciones con las variables representativas del sistema. Con esto, se propone introducir las siguientes variables adimensionales: ¯r=r R¯z=z R ¯u=u uc uc=rγ ρR ¯p=p pc pc=γ R Tc=sρR3 γ Donde ¯r e ¯z representan las coordenadas del plano ORZ adimensionales, ¯u y ¯p la velocidad y la presión adimensionales, respectivamente, uc la velocidad capilar, pc la presión capilar y Tc el tiempo capilar. La consideración de estas variables adimensionales en las ecuaciones darán lugar a la aparición de dos números adimensionales: el número de Weber y el número de Ohnesorge: We =ρu2R γ Oh =µ √ργR=√We Re Donde Re es el número de Reynolds, que tiene la siguiente expresión: Re =ρuR µ Estos números adimensionales serán fundamentales en el estudio del sistema presentado y tienen significados físicos que merecen ser mencionados. El número de Weber, tal y como se ha definido, representa el ratio de la velocidad de salida del chorro con la velocidad capilar, es decir, representa 6Capítulo 2. Descripción del Problema la importancia de la inercia del chorro con respecto a la capilaridad. Por otro lado, el número de Ohnesorge, construido a partir de la velocidad capilar en este caso, representa la importancia de la viscosidad en el sistema. Nótese que únicamente depende de la viscosidad del fluido y de la geometría del modelo, no interviniendo la velocidad del chorro. Con esto, la ecuación de continuidad adimensional resulta: ∇· ¯u=0(2.4) Mientras que la ecuación de conservación de la cantidad de movimiento adimensional se obtiene mediante las siguientes transformaciones, partiendo de la ecuación (2.2): ρ1¯ ρuc Tc ∂ ¯u ∂¯ t+ρ1¯ ρu2 c R ¯u·∇ ¯u=−pc R∇¯p+µ R2uc∇2 ¯u+γ R2¯ κ¯ δs ¯n Donde ρ1=ρagua. Multiplicando la ecuación por uc Tcρ1 , obtenemos: ¯ ρ∂ ¯u ∂¯ t+ρ1ucTc Rucρ1 | {z } =1  ¯u·∇ ¯u=−pcTc Rucρ1 | {z } =1 ∇¯p+µucTc R2ρwuc | {z } =Oh ∇2¯u+γTc R2ρ1uc | {z } =1 ¯ κ ¯n¯ δs Resultando en: ¯ ρ∂ ¯u ∂¯ t+ ¯u·∇ ¯u=−∇¯p+Oh ∇2¯u+¯ κ¯ δs ¯n(2.5) Por simplicidad, en las próximas líneas se escribirán las variables adimensionales como u , t , p , ρ , κ , n y δs , indistintivamente. Con esto, las ecuaciones de continuidad y cantidad de movimiento adimensionales resultan: ∇·u=0(2.6) ρ∂u ∂t+u·∇u=−∇p+Oh ∇2u+κδsn(2.7) Es importante tener en cuenta que los valores de ρ y Oh son diferentes en función de la fase en la que se encuentre el puntox. De este modo, siendo fla fracción volumétrica de agua, se tiene que: ρ=     1si f=1 ρ1 ρ2 si f=0 Oh =     µ1 √ρ1γRsi f=1 µ2 √ρ1γRsi f=0 Donde ρ2=ρaire y µ2=µaire . Por su parte, la fracción volumétrica del agua f tiene su propia ecuación, dada por el modelo VOF. Esta ecuación y el modelo se presentan de forma detallada en la siguiente sección. 2.2.1 Condiciones de contorno Para escribir las condiciones de contorno se usará la geometría propuesta en la figura 2.2. En forma dimensional, las condiciones de contorno de entrada, pared, y salida, usando como referencia [ 6 ] y [7] son: 2.2 Ecuaciones adimensionales 7 z=0→u=cte (2.8) r=3R→u·n=0(2.9) z=L→freeStreamPressure (2.10) Donde la condición de contorno (2.8) representa la condición de velocidad uniforme tanto para el aire como para el agua a la entrada, en la dirección del eje z , la condición (2.9) representa la condición de impenetrabilidad en la pared, y la condición (2.10) es la condición freeStreamPressure de openFOAM, que se explicará detalladamente posteriormente. Estas dos últimas condiciones de contorno son condiciones artificiales que se han establecido para poder estudiar el problema numéricamente y que no tienen por qué describir los experimentos de [ 9 ]. Esto permitirá estudiar el obstáculo más simple que permite formular el programa y obtener resultados de un sistema análogo al real. Las condiciones de contorno dimensionales del trazador o fracción volumétrica del agua fson: z=0→f=1,si r≤R 0,si r>R(2.11) r=3R→∂f ∂r=0(2.12) z=L→∂f ∂z=0(2.13) donde la condición (2.11) establece que, inicialmente, para r≤R únicamente habrá agua, mientras que para r>R habrá aire. Habiendo adimensionalizado las ecuaciones en la sección anterior, es conveniente adimensionalizar también las condiciones de contorno se que se emplearán para resolverlas. Estas condiciones de contorno son las que se implementarán en el estudio numérico y son las siguientes: ¯z=0→¯u=√We =cte (2.14) ¯r=3→ ¯u· ¯n=0(2.15) ¯z=1→freeStreamPressure (2.16) Por último, mencionar las condiciones de contorno adimensionales del trazador, que también deberán ser implementadas en las simulaciones numéricas: ¯z=0→f=1,si ¯r≤1 0,si ¯r>1(2.17) ¯r=3→∂f ∂r=0(2.18) ¯z=1→∂f ∂z=0(2.19) 3 Modelo Con el fin de entender cómo obtiene openFOAM los resultados que se mostrarán en las siguientes secciones, es necesario conocer de antemano los modelos y los métodos que se emplearán para realizar las simulaciones, así como la adecuación de los mismos con el sistema a estudiar. También, es preciso tener en cuenta qué condiciones de contorno se eligen para el problema, pues son fundamentales en los resultados que se obtendrán con las simulaciones; un pequeño cambio en las condiciones de contorno de salida puede provocar que el sistema bajo estudio sea totalmente distinto al sistema objetivo, obteniéndose así resultados totalmente distintos a los obtenidos experimentalmente. 3.1 Condiciones de contorno en openFOAM Una vez implementada la geometría y los parámetros del problema adimensionales en openFOAM, es necesario establecer en el software las condiciones de contorno adecuadas que cumplan con las condiciones (2.8) - (2.10). La condición (2.8) implica que la velocidad de entrada tanto para el aire como para el agua es uniforme e igual a √We . Para cumplir con esta condición, se implementa en el software la condición de contorno fixedValue para la velocidad, que establece un valor fijo para la velocidad de entrada tanto para el aire como para el agua (inletWater einletAir, respectivamente). El valor fijo establecido será de √We , donde el número de Weber variará según los parámetros del chorro a estudiar (velocidad del chorro y altura del chorro sobre la superficie). Por otro lado, la condición de impenetrabilidad en la pared (2.9) se cumplirá aplicando la condición de contorno en velocidades slip, que elimina la componente normal de la velocidad y permite que la componente tangencial tenga un valor no nulo. Esto permitirá que el aire, fase que está en contacto con la pared superior, pueda tener un movimiento uniforme en la dirección axial. Por último, la condición de salida (2.10) se cumplirá imponiendo la condición de contorno en presión freestreamPressure, que obliga a la presión del flujo a la salida a tener un gradiente nulo, mientras que si el flujo a la salida intenta entrar de nuevo en el dominio fluido, la presión tomará un valor determinado, en este caso establecido como nulo. Además, también se establece la condición de contorno en velocidad de zeroGradient, que obliga a la velocidad del flujo de salida a tener un gradiente nulo en sus tres componentes. 9 10 Capítulo 3. Modelo La implementación de estas condiciones de contorno en los archivos Uyp_rgh de la carpeta 0en los que se declaran las condiciones iniciales del sistema, permitirán obtener los patrones de arrugas formados cuando el chorro impacta contra un obstáculo cualquiera, pudiendo así identificar los modos espaciales que intervienen. Con el fin de poder analizar los resultados y poder extraporlarlos a los obtenidos experimentalmente en [ 9 ], se considera que los modos que forman el patrón de arrugas son los mismos para cualquier tipo de obstáculo, ya sea una piscina o una pared. 3.2 interFOAM y algoritmo PIMPLE El modelo se basará en considerar al sistema en estudio como un sistema multifase conformado por dos fases inmiscibles (agua y aire) separados por una interfase diferenciada, donde los fluidos se tratarán como incompresibles y el sistema será isotermo. Estas condiciones se recogen en el solver interFOAM, que permitirá resolver las ecuaciones de Navier-Stokes empleando el método del volumen de fluido (VOF), obteniendo resultados precisos en la interfase del sistema, pudiendo así representar los fenómenos bajo estudio en este trabajo de forma precisa. El método VOF fue introducido por Hirt & Nichols [ 10 ] en 1981 y supuso un cambio de paradigma en el estudio numérico de sistemas multifase. El método se basa en la concepción de una función rastreadora que identifica aquellos elementos del mallado que están ocupados por una fase u otra. Esto permite definir con precisión la interfase del sistema y resolver las ecuaciones de Navier-Stokes para cada fase. Las ecuaciones que se emplearán en este método son: ∇·u=0(3.1) ρ∂u ∂t+u·∇u=−∇p+Oh ∇2u+κδsn(3.2) ∂γ ∂t+∇·(uγ) = 0(3.3) Donde γ , que puede tomar valores entre 0 y 1 ( γ=0 se corresponde con la región donde hay aire y γ=1 se corresponde con la región donde hay agua), representa la fracción de volumen de las fases, siendo la ecuación (3.3) la ecuación de transporte de la interfase, que debe resolverse junto a las ecuaciones de Navier-Stokes para conocer la posición y el estado de la interfase en cada momento. Para resolver estas ecuaciones, openFOAM hace uso del algoritmo PIMPLE, una combinación de los algoritmos SIMPLE yPISO. En este algoritmo, la presión y la velocidad están acopladas y se resuelven en cada paso de tiempo ( ∆t ) hasta que alcanzan la convergencia deseada, después de un número determinado de iteraciones de correción de los términos. Una vez se obtienen los resultados deseados de presión y velocidad, el algoritmo toma estos valores y resuelve de nuevo las ecuaciones, obteniendo los resultados definitivos. Tras esto, se calcula el nuevo paso de tiempo a implementar en el algoritmo y se repite el proceso. Se muestra en la figura 3.1 un diagrama de flujo del algoritmo a modo de resumen. Un aspecto importante a tener en cuenta a la hora de elegir el solver y ejecutar la simulación es la estabilidad, que puede medirse de forma cuantitativa mediante el número de Courant ( Co ), definido como: Co =U∆t ∆d(3.4) 3.2 interFOAM y algoritmo PIMPLE 11 Figura 3.1 Diagrama de flujo del algoritmo PIMPLE. Donde U es la velocidad local del elemento (en un punto o cara), ∆t es el paso de tiempo y ∆d es el tamaño característico (unidimensional) del elemento de mallado. Este número adimensional mide el grado de convergencia de ecuaciones diferenciales en derivadas parciales tales como las del método VOF, y marca un un límite superior en el paso de tiempo de la simulación. Si el valor del número de Courant es superior a la unidad, la simulación puede volverse inestable y dar resultados incorrectos, por lo que es aconsejable asegurar que se obtiene un número de Courant máximo en las iteraciones menor que 1. Cabe destacar que, a diferencia del algoritmo PISO, el algoritmo PIMPLE permite realizar simulaciones transitorias con números de Courant mucho mayores que 1, dando resultados estables sin necesidad de limitar los factores de relajación (en inglés, under-relaxation factor), es decir, sin cambiar manualmente cuánto puede cambiar una variable de una iteración a otra. No obstante, en este estudio no se hará uso de esa característica y se establecerá un número de Courant máximo de 0.5 para hacer que la simulación sea lo más estable posible para un tiempo de computación aceptable. Esto se conseguirá haciendo uso de una característica que incorpora interFOAM, que es la capacidad de adoptar un paso de tiempo adaptativo, calculado a partir del número de Courant 18 Capítulo 3. Modelo lineal hacia una diferencia relativa media constante e independiente del mallado, que estará en torno a log10(ε)≈−4.65 , lo que indica que los resultados obtenidos con el mallado 4 pueden ser considerados como aceptables ya que el error relativo entre los valores de ε obtenidos para este mallado y el mallado muy fino es menor al 2% , considerándose este un error aceptable teniendo en cuenta las diferencias en coste computacional que existen entre ambos mallados. Por su parte, el error que se obtiene para el mallado 5 con respecto al mallado 6 es del 1.6% , de forma que el mallado 5 puede resultar también una opción a tener en cuenta para realizar las simulaciones. Considerando estos resultados y la necesidad de adoptar una solución de compromiso entre coste computacional y exactitud de los resultados, las simulaciones que se mostrarán en las siguientes secciones se realizarán con el mallado 4 y tiempo de paso variable, obteniendo así los mejores resultados posibles para unos tiempos de simulación razonables. Como comentario, estos tiempos de simulación se han alcanzado con un procesador INTEL CORE i5 de 8ªgeneración y cuatro núcleos con una velocidad máxima de 2.30 GHz, y podrían variar en función del hardware del equipo empleado. 4 Entorno Ubuntu yopenFOAM Como se comentó anteriormente, openFOAM es un software libre que debe ser ejecutado en Linux a través del terminal, es decir, se deben conocer los comandos fundamentales para operar en Ubuntu y en su entorno, además de aquellos comandos necesarios para correr las simulaciones en openFOAM. A continuación se describen los principales elementos a considerar para poder llevar a cabo simulaciones además de los pasos a seguir para ejecutarlas. 4.1 Pasos previos: carpetas 0,system yconstant El primer paso para poder crear el modelo que representará el sistema de estudio y lanzar la simulación es crear los archivos y carpetas que usará el software. Para ello, no es necesario trabajar en Ubuntu aún y se podrán crear los archivos en entorno Windows (o Linux si se hace uso de este sistema operativo). El modelo deberá definirse en las carpetas 0,system yconstant. Estas carpetas contendrán los archivos necesarios para ejecutar la simulación y deberán adecuarse al sistema en estudio (modelo de interfase, flujo laminar o turbulento, consideraciones energéticas...), es decir, deberán contener los archivos necesarios para que el solver elegido pueda simular el sistema. En las próximas líneas se describen los archivos necesarios para el solver interFOAM. 4.1.1 Carpeta 0 En primer lugar, la carpeta 0contiene las condiciones iniciales del sistema. En el caso del presente estudio se consideran condiciones iniciales de velocidad, (archivo U ), presión (archivo p_rgh) y fases (archivo alpha), aunque pueden añadirse otras condiciones de contorno que puedan ser útiles en el estudio de otros sistemas como, por ejemplo, condiciones iniciales en temperatura para aquellos casos en los que se considere la ecuación de la energía. Los archivos pueden abrise y editarse haciendo uso del bloc de notas, aunque también pueden usarse otros editores de código como Visual Studio Code oPyCharm. A continuación se muestran los códigos de los archivos mencionados (nótese que el lenguaje que usa openFOAM es C++). Código 4.1 Archivo U. /*--------------------------------*- C++ -*---------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2212 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | 19 20 Capítulo 4. Entorno Ubuntu yopenFOAM \*--------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; arch "LSB;label=32;scalar=64"; class volVectorField; location "0"; object U; } //*********************************// dimensions [0 1 -1 0 0 0 0]; internalField uniform (3.873 0 0); boundaryField { inletWater { type fixedValue; value uniform (3.873 0 0); } inletAir { type fixedValue; value uniform (3.873 0 0); } outlet { type zeroGradient; } top { type slip; } axis { type empty; } front { type wedge; } back { type wedge; } } // *************************************************************** // 4.1 Pasos previos: carpetas 0,system yconstant 21 Nótese cómo se definen las condiciones de contorno en velocidad para el agua y el aire a la entrada de forma independiente ya que se busca que ambas fases tengan la misma velocidad al inicio del flujo para que éste sea estable y se obtengan los resultados esperados. También puede observarse cómo la condición de velocidad a la salida es zeroGradient, esto es, gradiente de velocidad nulo. Esta condición, junto con la condición en presión a la salida de freestreamPressure definida en el archivo p_rgh, será esencial para poder obtener el comportamiento del chorro cuando impacta sobre una superficie libre. La sustitución de esta condición por otras similares y que, en principio, pueden dar resultados parecidos, hace que el modelo cambie drásticamente y los resultados ya no se asemejen a la realidad. Por ejemplo, cabría considerar la posibilidad de imponer velocidad nula a la salida, es decir, tomar la condición fixedValue con U=0 , pero esto implicaría que el flujo neto a la salida sería nulo, lo cual es incorrecto en el caso de estudio ya que el flujo a la salida es libre. La única forma de garantizar esto, teniendo en cuenta que el chorro choca contra una superficie, es imponiendo que el gradiente de velocidad sea nulo. Por otro lado, la pared superior se ha definido como slip, condición que permite que el flujo no se adhiera a la pared y no se den fenómenos de viscosidad que perturbarían el chorro. Además, se ha considerado que el eje de simetría (pared inferior del chorro) no tiene efecto sobre el flujo, por lo que se le ha definido como empty, mientras que las paredes anterior y posterior se han definido como wedge, condición que impone que las variables sean simétricas respecto a dichos planos. Código 4.2 Archivo p_rgh. /*--------------------------------*- C++ -*---------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2212 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*--------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object p_rgh; } //*********************************// dimensions [1 -1 -2 0 0 0 0]; internalField uniform 0; boundaryField { inletWater { type zeroGradient; } inletAir { type zeroGradient; } outlet 22 Capítulo 4. Entorno Ubuntu yopenFOAM { type freestreamPressure; freestreamValue uniform 0; } top { type zeroGradient; } front { type wedge; } back { type wedge; } axis { type empty; } defaultFaces { type empty; } } // ****************************************************************** // Al haber fijado la velocidad de entrada del agua y el aire, la presión debe dejarse como variable libre ya que fijar su valor puede resultar en incompatibilidades entre ambas condiciones. De hecho, una práctica habitual en CFD es fijar una de las dos variables y hacer que la otra variable cumpla una cierta condición, aunque nunca fijar también su valor. En este caso, se ha tomado que la presión a la entrada tenga gradiente nulo, es decir, tenga un valor constante. Como se ha indicado en anteriores líneas, la presión a la salida tiene la condición de freestream- Pressure que, junto con la condición freestreamValue que establece una presión de flujo libre nula, permite modelar con precisión el sistema. Como en el caso anterior, las paredes anterior y posterior se han definido como wedge, mientras que en la pared superior se ha tomado la condición de zeroGradient para así evitar cualquier interferencia de las paredes sobre el chorro. Código 4.3 Archivo alpha. /*--------------------------------*- C++ -*---------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2212 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*--------------------------------------------------------------------*/ FoamFile 4.1 Pasos previos: carpetas 0,system yconstant 23 { version 2.0; format ascii; arch "LSB;label=32;scalar=64"; class volScalarField; location "0"; object alpha.water; } //*********************************// dimensions [0 0 0 0 0 0 0]; internalField nonuniform List<scalar> 63900 ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 . . . // ****************************************************************** // El archivo alpha define las interfases del sistema en el instante t=0 y permite inicializar la simulación con el chorro desarrollado, evitando así tiempo de cálculo. Por motivos de espacio, se han omitido numerosas líneas del archivo pues contiene, sin contar la definición FoamFile, 63900 ceros y unos que definen la posición de la interfase en el mallado. openFOAM asigna cada valor 0/1 a un elemento del mallado, de modo que los primeros 31950 unos se corresponden a la fase líquida ( γ=1→ agua) y los ceros restantes a la fase gaseosa ( γ=0→ aire). Para elaborar este archivo se ha creado un script en Python que toma como entrada el número de elementos del mallado y devuelve un archivo con los ceros y unos ordenados adecuadamente. Código 4.4 Script the Python empleado para generar el archivo alpha. 24 Capítulo 4. Entorno Ubuntu yopenFOAM import numpy as np #Inicializar el tamaño del mallado N = 63900 ny = np.arange(1,N+1) # Dar el valor inicial de alpha alpha_init = np.zeros(N) # Tomar la mitad inferior con alpha = 1 y la mitad superior con alpha = 0 def alpha_water(x): if x < (N/2): return 1 else: return 0 alphapy = np.array([alpha_water(xi) for xi in ny]) # Guardar los valores en un archivo with open(’alphapy.water’, ’w’) as f: f.write(’dimensions [0 0 0 0 0 0 0];\n’) f.write(’internalField nonuniform List<scalar>\n’) f.write(str(N) + "\n") for a in alphapy: f.write(str(a) + "\n") 4.1.2 Carpeta system En la carpeta system se declaran la configuración y las características intrínsecas de la simulación, tales como el tiempo total de simulación del sistema, el paso de tiempo o el número de núcleos del procesador a emplear, entre otros. Los archivos más importantes de esta sección son blockMeshDict, donde se declara el mallado del modelo, controlDict, que establece la configuración de la simulación, ysetExprFields, que define los valores iniciales de los campos representativos del sistema (en el caso de estudio, velocidad y γ . Los códigos contenidos en cada archivo se muestran a continuación: Código 4.5 Archivo blockMeshDict. /*--------------------------------*- C++ -*---------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2212 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*--------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; 4.1 Pasos previos: carpetas 0,system yconstant 25 object blockMeshDict; } //*********************************// pi 3.1416; alpha #eval {1.00*$pi/180}; LX 10.0; R1a 0.8; R1 1.0; R1b 1.2; R2 1.7; X00 0; X01 #eval { $X00 + $LX}; Z00 0; Z01 #eval { $R1a}; Z02 #eval { $R1}; Z03 #eval { $R1b}; Z04 #eval { $R2}; Y00 0.0; nz0 42; // cells along Z for 0 < z <= 1 nz1 42; // cells along Z for 1 < z <= LZ nz2 16; // cells along Z for 1 < z <= LZ nx 450; // cells along X scale 1.0; vertices ( ( $X00 $Y00 $Z00) // 00 ( $X01 $Y00 $Z00) // 01 ( $X00 $Y00 $Z00) // 02 ( $X01 $Y00 $Z00) // 03 ( $X00 #eval{-$Z01*sin($alpha)} #eval{$Z01*cos($alpha)}) // 04 ( $X01 #eval{-$Z01*sin($alpha)} #eval{$Z01*cos($alpha)}) // 05 ( $X01 #eval{ $Z01*sin($alpha)} #eval{$Z01*cos($alpha)}) // 06 ( $X00 #eval{ $Z01*sin($alpha)} #eval{$Z01*cos($alpha)}) // 07 ( $X00 #eval{-$Z02*sin($alpha)} #eval{$Z02*cos($alpha)}) // 08 ( $X01 #eval{-$Z02*sin($alpha)} #eval{$Z02*cos($alpha)}) // 09 ( $X01 #eval{ $Z02*sin($alpha)} #eval{$Z02*cos($alpha)}) // 10 ( $X00 #eval{ $Z02*sin($alpha)} #eval{$Z02*cos($alpha)}) // 11 ( $X00 #eval{-$Z03*sin($alpha)} #eval{$Z03*cos($alpha)}) // 12 ( $X01 #eval{-$Z03*sin($alpha)} #eval{$Z03*cos($alpha)}) // 13 ( $X01 #eval{ $Z03*sin($alpha)} #eval{$Z03*cos($alpha)}) // 14 ( $X00 #eval{ $Z03*sin($alpha)} #eval{$Z03*cos($alpha)}) // 15 ( $X00 #eval{-$Z04*sin($alpha)} #eval{$Z04*cos($alpha)}) // 16 ( $X01 #eval{-$Z04*sin($alpha)} #eval{$Z04*cos($alpha)}) // 17 ( $X01 #eval{ $Z04*sin($alpha)} #eval{$Z04*cos($alpha)}) // 18 ( $X00 #eval{ $Z04*sin($alpha)} #eval{$Z04*cos($alpha)}) // 19 ); blocks ( hex(01104567) // vertex numbers ($nx 1 $nz0) // numbers of cells in each direction 26 Capítulo 4. Entorno Ubuntu yopenFOAM simpleGrading (1 1 1) // cell expansion ratios hex (4 5 6 7 8 9 10 11) // vertex numbers ($nx 1 $nz1) // numbers of cells in each direction simpleGrading (1 1 1) // cell expansion ratios hex (8 9 10 11 12 13 14 15)// vertex numbers ($nx 1 $nz1) // numbers of cells in each direction simpleGrading (1 1 1) // cell expansion ratios hex (12 13 14 15 16 17 18 19)// vertex numbers ($nx 1 $nz2) // numbers of cells in each direction simpleGrading (1 1 2) // cell expansion ratios ); boundary ( inletWater { type patch; faces ( (0 4 7 0) (4 8 11 7) ); } inletAir { type patch; faces ( (8 12 15 11) (12 16 19 15) ); } outlet { type patch; faces ( (1 1 6 5) (5 6 10 9) (9 10 14 13) (13 14 18 17) ); } top { type patch; faces ( (16 17 18 19) 4.1 Pasos previos: carpetas 0,system yconstant 27 ); } axis { type empty; faces ( (0 1 1 0) ); } front { type wedge; faces ( (0 1 5 4) (4 5 9 8) (8 9 13 12) (12 13 17 16) ); } back { type wedge; faces ( (1 0 7 6) (6 7 11 10) (10 11 15 14) (14 15 19 18) ); } ); mergePatchPairs ( );****************************************************************** // Como se comentaba, el archivo blockMeshDict es el que define el mallado del modelo, es decir, geometría y tamaño y posición de los elementos del mallado. En las primeras líneas de código se definen variables relativas a la geometría, detalladas en la figura 4.1, las variables que se usarán para definir las posiciones de los vértices del prisma del modelo, y el número de elementos de mallado en función del intervalo en zde la geometría (nótese que la coordenada zen openFOAM se corresponde con la coordenada rde la figura 4.1. Posteriormente se definen las posiciones de los vértices haciendo uso de las variables definidas anteriormente, así como los bloques de mallado. También, por último, se definen las distintas caras del prisma (inletWater,inletAir,outlet, etc.). En el caso descrito se ha definido el mallado a partir del número de elementos en función de la coordenada r, aunque podrían haberse seguido otras estrategias como, por ejemplo, definir el 34 Capítulo 4. Entorno Ubuntu yopenFOAM 4.3 ParaView Con la simulación finalizada y los resultados guardados en la carpeta deseada, el software libre ParaView permite visualizar los resultados obtenidos. Este software puede descargarse fácilmente a través de la página [1]. El software tiene una gran cantidad de utilidades y permite visualizar muy diversos elementos a partir de los resultados. Por este motivo, en las siguientes líneas se describen aquellas utilidades empleadas para obtener los resultados que se muestran en las siguientes secciones. Para más información sobre todas las funcionalidades del software, el lector puede consultar el tutorial del software en la sección Documentation de [1]. 4.3.1 Visualización de resultados Una vez cargado el modelo en ParaView (archivo del tipo .foam), se pueden cambiar las variables que se muestran en pantalla y cómo se muestran a través de los desplegables (1) y (2), mostrados en la figura 4.2. Figura 4.2 Principales utilidades de ParaView. La opción (1) permite seleccionar la variable a mostrar en pantalla (presión, velocidad o fracción volumétrica), así como su componente XYZ, mientras que la opción (2) permite elegir cómo se muestra el modelo (como superficie, puntos, volumen, etc.). También puede seleccionarse la vista con la que se desean presentar los resultados haciendo uso del panel (3), que muestra la vista normal al eje elegido (en este caso, la vista normal al eje Y positivo). Por otro lado, el desplegable (4) permite seleccionar el instante de tiempo de la simulación en el que se muestran los resultados, correspondiéndose dichos instantes con los establecidos en el archivo controlDict para grabar los resultados. De forma general, al cambiar de instante de tiempo los resultados no tengan la escala deseada para los datos mostrados por pantalla, por lo que es aconsejable cambiar la escala en el panel (5). 4.3 ParaView 35 4.3.2 Obtención de resultados: puntos de la interfase El objetivo de las simulaciones es obtener la interfase agua-aire de forma explícita, por lo que se deben grabar los puntos de la interfase en archivos del tipo .tsv o .csv, que permitirán representar gráficamente dichas interfases haciendo uso de MATLAB oGnuplot. Para ello, se deben seguir los siguientes pasos: 1. Establecer un Contour haciendo uso de la herramienta (6), tomando Contour by: alpha.water con un valor de 0.5. 2. Haciendo click derecho sobre el Contour, tomar la opción Add filter / Data Analysis / Integrate Variables. La ventana que se muestra permitirá obtener los puntos de la interfase. 3. En la ventana de Integrate Variables, seleccionar el Contour creado en el primer paso e imponer que se muestren únicamente los puntos de dicho Contour. Es importante ordenar dichos puntos de menor a mayor (en este caso, en la dirección X) para que MATLAB oGnuplot puedan beber de los datos correctamente. 4. Haciendo uso de la herramienta (7), guardar los puntos en un archivo .tsv o .csv, como se desee. En la siguiente figura se muestra el resultado de los pasos seguidos en ParaView: Figura 4.3 Cómo obtener los puntos de la interfase con ParaView. Con el archivo guardado en la carpeta deseada, únicamente resta representar gráficamente la interfase. En MATLAB puede hacerse de forma sencilla empleando los siguientes comandos: Código 4.12 MATLAB. Data = table2array(readtable("Data.tsv", "FileType","text",’Delimiter’, ’\t’)); figure(1) plot(Data(:,1),Data(:,3)); xlim([5,10]) ylim([0.95,1.01]) set(gcf, ’WindowState’, ’maximized’); 36 Capítulo 4. Entorno Ubuntu yopenFOAM figData = ’figData.png’; saveas(1,figData); Obteniéndose la siguiente gráfica: Figura 4.4 Representación de la interfase con MATLAB. Mientras que con Gnuplot basta con ejecutar la siguiente línea: plot "Data.tsv" using 1:3 with lines Obteniéndose la siguiente gráfica: Figura 4.5 Representación de la interfase con Gnuplot. 5 Análisis de resultados Establecidos el modelo, los parámetros de simulación y la configuración de interFOAM, se procede a simular el sistema para los valores Oh =0.003 y Oh =0.01 para aquellos números de Weber comprendidos entre 8 y 15 con saltos de 0.5. Estas simulaciones permitirán visualizar el comportamiento de la interfase agua-aire para el caso de Oh =0.003 pudiéndose ver gráficamente la evolución del chorro en función del número de Weber. También se estudiará la dependencia de las arrugas del chorro con el número de Ohnesorge, comparándose los resultados obtenidos para Oh =0.003 yOh =0.01. De este modo, en las siguientes páginas se representarán las interfases obtenidas para los números de Weber mencionados, diferenciando los casos de Oh =0.003 y Oh =0.01 . Cabe destacar que para el caso de Oh =0.003 no ha sido posible obtener simulaciones estables para We =8 y We =8.5 , de forma que no se tendrán en cuenta las interfases para estos números de Weber en este caso. Estos problemas de inestabilidad puntuales únicamente se observan en openFOAM, no apareciendo en simulaciones realizadas con Basilisk, por lo que podría tratarse de un problema relacionado con interFOAM o con el mallado elegido, pues estas inestabilidades no aparecen en las simulaciones con Oh =0.01. Esta anomalía se tratará con mayor profundidad en el capítulo 7. 5.1 Interfase agua-aire. Resultados para Oh =0.003 A continuación se presentan los resultados obtenidos para Oh =0.003 , representándose las interfases que se obtienen cuando el sistema alcanza un estado de pseudo-equilibrio, siendo el instante en el que se da esa condición dependiente del número de Weber. No obstante, ese instante se encuentra, aproximadamente, en torno a t=30 (recordar que las variables del problema se han adimensionalizado) para la mayoría de los casos. Con el fin de poder visualizar correctamente las arrugas del chorro en la zona cercana al obstáculo y su evolución a lo largo de la coordenada axial, se representan las interfases para x∈[5,10] y r∈[0.95,1.01] , no perdiéndose información relevante sobre las arrugas y permitiendo comparar las ondas formadas para distintos números de Weber de forma sencilla. 37 38 Capítulo 5. Análisis de resultados Figura 5.1 Interfases obtenidas para We =9yWe =9.5. Figura 5.2 Interfases obtenidas para We =10 yWe =10.5. 5.1 Interfase agua-aire. Resultados para Oh =0.003 39 Figura 5.3 Interfases obtenidas para We =11 yWe =11.5. Figura 5.4 Interfases obtenidas para We =12 yWe =12.5. 40 Capítulo 5. Análisis de resultados Figura 5.5 Interfases obtenidas para We =13 yWe =13.5. Figura 5.6 Interfases obtenidas para We =14,We =14.5yWe =15. 5.2 Resultados para Oh =0.01 41 Puede observarse cómo, a medida que aumenta el número de Weber, la longitud de onda de las arrugas disminuye, así como el decaimiento, esto es, pérdida de amplitud en la dirección axial (en el sentido decreciente de x ), se acentúa. El efecto de estos parámetros sobre la interfase se verán más profundamente en el siguiente capítulo, en el que se comparan los resultados obtenidos de forma teórica y los obtenidos con openFOAM. Comparando las interfases obtenidas para We =9 y We =15 puede visualizarse fácilmente este fenómeno: Figura 5.7 Comparativa entre las interfases obtenidas para We =9yWe =15. 5.2 Resultados para Oh =0.01 Se presentan a continuación los resultados obtenidos para Oh =0.01 . Para este número de Ohneshorge, a diferencia del caso anterior, sí ha sido posible obtener simulaciones estables para We =8 y We =8.5 , haciéndose notable el efecto del número de Ohnesorge sobre el sistema. Al igual que en el caso anterior, se representan las gráficas para x∈[5,10]yr∈[0.95,1.01]. 42 Capítulo 5. Análisis de resultados Figura 5.8 Interfases obtenidas para We =8yWe =8.5. Figura 5.9 Interfases obtenidas para We =9yWe =9.5. 5.2 Resultados para Oh =0.01 43 Figura 5.10 Interfases obtenidas para We =10 yWe =10.5. Figura 5.11 Interfases obtenidas para We =11 yWe =11.5. 7 Conclusiones y trabajos futuros Las simulaciones llevadas a cabo con openFOAM demuestran la posibilidad de realizar simulaciones complejas de carácter científico con programas de CFD convencionales, dando resultados precisos a un costo computacional razonable. No obstante, la principal dificultad radica en aprender a usar el programa, conocer su entorno y saber diferenciar entre aquellos resultados acordes a la realidad y aquellos que se alejan considerablemente de lo esperado. No obstante, este trabajo supone el punto de partida a realizar otros estudios con este software, explorar su vasto repositorio de utilidades y exprimir al máximo sus capacidades estudiando otros sistemas complejos que puedan tener interés industrial o científico. Con la ayuda de openFOAM se ha podido validar el modelo teórico de chorro desarrollado por Guerrero et al., descrito en su trabajo [ 8 ], quien también ha participado activamente en la redacción del capítulo 6. Se observa un ajuste preciso de las predicciones teóricas y los resultados numéricos, correspondiéndose las dependencias observadas en las simulaciones con aquellas descritas por la teoría. Dichas dependencias pueden resumirse en los siguientes puntos: •Dependencias con el número de Weber – Longitud de onda. A medida que el número de Weber aumenta, la longitud de onda de la forma estática del chorro disminuye. – Tasa de decaimiento. La atenuación de la forma estática del chorro se acentúa a medida que el número de Weber crece. – Modos inerciales. Los modos inerciales aumentan en amplitud a medida que el número de Weber aumenta. •Dependencia con el número de Ohnesorge El número de Ohnesorge del líquido hace que la tasa de decaimiento crezca más rápidamente. Estos fenómenos se recogen en la función que describe teóricamente el chorro, definida en la ecuación (6.4), que describe con gran precisión las arrugas originadas en el sistema. Si bien openFOAM es un software útil y versátil, capaz de simular sistemas complejos como el mostrado en este estudio, muestra ciertas desventajas que pueden sugerir usar otros softwares. Por una parte, el tiempo de simulación es excesivo con respecto a otros softwares como Basilisk, capaz de simular el mismo sistema bajo las mismas condiciones en un tiempo considerablemente menor (una simulación en Basilisk puede tomar treinta minutos mientras que una simulación en openFOAM toma aproximadamente doce horas). Este hecho puede deberse al solver elegido (interFOAM) o al mallado, aunque la diferencia de tiempos, previsiblemente, no se vería reducida en gran medida 51 52 Capítulo 7. Conclusiones y trabajos futuros modificando estos elementos. Por otro lado, no ha sido posible simular varios casos por la presencia de inestabilidades ( We =8 y We =8.5 para Oh =0.003 ), no dándose este fenómeno en Basilisk. De nuevo, el solver puede ser el causante de esto, aunque no se le ha podido encontrar solución en el presente trabajo. Con el fin de afianzar los resultados y asegurar la fiabilidad de openFOAM, se establece como trabajo futuro la realización de las simulaciones con Basilisk, software robusto y de gran fiabilidad que puede ayudar a establecer a openFOAM como alternativa para hacer estudios numéricos de sistemas complejos. También se propone incluir la gravedad en las simulaciones y estudiar su efecto en el sistema, comparando los resultados obtenidos en este trabajo y los obtenidos teniendo en cuenta este factor. Además, incluir la gravedad permitirá también comprobar la exactitud de los resultados con aquellos obtenidos experimentalmente en la obra de Hancock & Bush, Fluid Pipes [ 9 ], validando así el software empleado. Los resultados presentados en las anteriores secciones demuestran la utilidad del software y las posibilidades que brinda, pudiendo ser utilizado por cualquier usuario interesado al ser un software libre y existir una gran cantidad de contenido de formación (tutoriales, foros, investigaciones...). Además, puede asentar las bases del conocimiento sobre la Mecánica de Fluidos Computacional y allanar el aprendizaje de otros softwares más potentes enfocados en la industria como Ansys Fluent oSimcenter Star-CCM+. Índice de Figuras 2.1 Experimento llevado a cabo en [ 9 ] en el que se basarán la geometría y el modelo a implementar en el estudio numérico 3 2.2 Esquemático de la geometría del modelo 4 3.1 Diagrama de flujo del algoritmo PIMPLE 11 3.2 Comparativa entre las mallas 1 y 5 13 3.3 Interfases obtenidas para ∆tadaptativo y ∆tfijo, fijados We =15 yOh =0.003 14 3.4 Resultados obtenidos con ∆t fijo y ∆t adaptativo frente a resultados obtenidos con un mallado muy fino para We =15 yOh =0.003 15 3.5 Resultados obtenidos con los mallados 1 y 2 frente a los obtenidos para un mallado muy fino de 134400 elementos para We =15 yOh =0.003 16 3.6 Resultados obtenidos con los mallados 3, 4 y 5 frente a los obtenidos para un mallado muy fino de 134400 elementos para We =15 yOh =0.003 17 3.7 Diferencias relativas medias entre los puntos de la interfase obtenidas con los mallados propuestos. 17 4.1 Esquema de la geometría definida en el archivo blockMeshDict 28 4.2 Principales utilidades de ParaView 34 4.3 Cómo obtener los puntos de la interfase con ParaView 35 4.4 Representación de la interfase con MATLAB 36 4.5 Representación de la interfase con Gnuplot 36 5.1 Interfases obtenidas para We =9yWe =9.538 5.2 Interfases obtenidas para We =10 yWe =10.538 5.3 Interfases obtenidas para We =11 yWe =11.539 5.4 Interfases obtenidas para We =12 yWe =12.539 5.5 Interfases obtenidas para We =13 yWe =13.540 5.6 Interfases obtenidas para We =14,We =14.5yWe =15 40 5.7 Comparativa entre las interfases obtenidas para We =9yWe =15 41 5.8 Interfases obtenidas para We =8yWe =8.542 5.9 Interfases obtenidas para We =9yWe =9.542 5.10 Interfases obtenidas para We =10 yWe =10.543 5.11 Interfases obtenidas para We =11 yWe =11.543 5.12 Interfases obtenidas para We =12 yWe =12.544 5.13 Interfases obtenidas para We =13,We =13.544 5.14 Interfases obtenidas para We =14,We =14.5yWe =15 45 53 54 Índice de Figuras 5.15 Arrugas obtenidas para We =13 para los casos Oh =0.003 y Oh =0.01 . Puede apreciarse claramente cómo la tasa de decaimiento en el caso de Oh =0.01 es notablemente mayor, atenuándose en gran medida la onda originada 45 5.16 Arrugas obtenidas para We =9 y We =15 . Puede apreciarse la mayor dependencia con respecto al caso de Oh =0.003 de la longitud de onda y la tasa de decaimiento con el número de Weber. 46 6.1 Comparativa de las arrugas obtenidas numéricamente (puntos) y las obtenidas por el modelo teórico (línea continua), donde se ha colocado el obstáculo a la izquierda ( x=0 ) y se ha restado la forma no perturbada del chorro (r=1). 48 Bibliografía [1] Paraview,https:// www.paraview.org/ download/ . [2] Rutina NonlinearModelFit en Mathematica,https:// reference.wolfram.com/ language/ ref/ NonlinearModelFit.html. [3] J. N. Anno, The mechanics of liquid jets, Lexington, Mass., D. C. Heath and Co., 1977. 118 p., January 1977. [4] S Márquez Damian, Description and utilization of interfoam multiphase solver, International Center for Computational Methods in Engineering (2012), 1–64. [5] Pierre Simon de Laplace, Sur l 'action capillaire, 1806. [6] JM Gordillo and M Pérez-Saborid, Aerodynamic effects in the break-up of liquid jets: on the first wind-induced break-up regime, Journal of Fluid Mechanics 541 (2005), 1–20. [7] JM Gordillo, M Pérez-Saborid, and AM Gañán-Calvo, Linear stability of co-flowing liquid–gas jets, Journal of Fluid Mechanics 448 (2001), 23–51. [8] J Guerrero, H González, and FJ García, Spatial modes of capillary jets, with application to surface stimulation, Journal of fluid mechanics 702 (2012), 354–377. [9] Matthew J Hancock and John WM Bush, Fluid pipes, Journal of Fluid Mechanics 466 (2002), 285–304. [10] Cyril W Hirt and Billy D Nichols, Volume of fluid (vof) method for the dynamics of free boundaries, Journal of computational physics 39 (1981), no. 1, 201–225. [11] John William Strutt Baron Rayleigh, The theory of sound, vol. 2, Macmillan, 1896. [12] Lord Rayleigh Sec. R.S., Xvi. On the instability of a cylinder of viscous liquid under capillary force, The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science 34 (1892), no. 207, 145–154. [13] Félix Savart, Mémoire sur la constitution des veines liquides lancées par des orifices circulaires en mince paroi, Ann. de chim. 53 (1833), 337–386. [14] Jürn WP Schmelzer, Edgar D Zanotto, and Vladimir M Fokin, Pressure dependence of viscosity, The Journal of chemical physics 122 (2005), no. 7, 074511. [15] Thomas Young, An essay on the cohesion of fluids, Philosophical Transactions of the Royal Society of London 95 (1805), 65–87. 55