domingo, 26 de febrero de 2017

PASOS PARA EMPEZAR A TRABAJAR EN SIMFLOW


ANTES DE EMPEZAR.... ¿ DE QUE SE TRATA SIMFLOW?

Previamente a iniciar con los pasos para ejecutar una simulación en el software se debe definir algunas características del software , presentadas a continuación en base a la siguiente ilustración:

Ilustración 1. Vista Inicial Programa SIMFLOW
Fuente: Pantallazo  capturado por el autor

En la ilustración 1. Se presenta la impresión inicial del programa con los componentes de entrada para el procesamiento de una malla inicialmente. Como se observa la plataforma es amigable con el usuario Vs. la plataforma tradicional de OpenFOAM que se muestra a continuación. 

Ilustración 2. Plataforma Convencional OpenFOAM 
Fuente: Tomada de la publicación anterior del Blog por el Autor


Posteriormente se realiza un análisis de las mejoras que presenta el Software SimFlow  en base a (SIMFLOW, 2017) Presentadas a continuación :



  • Presentación amigable de la plataforma para el manejo de FOAM
  • No se requiere conocimiento de Lenguaje de programación en FOAM para el manejo de la plataforma
  • La versión gratuita tiene un limite de elementos de procesamiento de 100.000 nodos por el volumen de control 
  • Uso de licencia por tiempo Ilimitado (Version Gratuita)

  • Aplicación de Solvers en los campos de ( Compressible Flows,Incompressible Flows,Steady State Flows,Transient Flows,Multiphase Flows,Turbulence,Radiation,Heat Transfer,Combustion,Discrete Phase Model,Dynamic Mesh)

En base  a las mejoras que se le atribuyen se procede a mostrar los beneficios de trabajar en Simflow para un caso construido por el autor que se muestra a continuación








PASOS PRELIMINARES PARA TRABAJAR EN SIMFLOW
PASO 1. Creación de la Geometría en Salome

Ilustración 3. Volumen de control creado
Fuente: Elaborado por el autor en Salome 7.4
En la ilustración 3. Se muestra el volumen de control creado para la simulación. Se procede a crear el volumen de control. Se listan los grupos del volumen de control para la geometría presentada


Directamente se procede a realizar la validación de la malla creada en el software SimFlow en las como se muestra en la siguiente ilustración


En la imagen se aplica el comando obteniendo como resultado el siguiente reporte de la linea de comandos

En la imagen anterior se procede a mostrar  el análisis de la malla previo al proceso de procesamiento.Se debe tener en cuenta que para la producción de los pasos  previos a la fase inicial en la fase de importación SimFlow se encarga de asignar los grupos de control a las condiciones de  los grupos para el volumen de control diseñado

PASO 4. Definición de solver

En esta fase de da clic a la opción de  SETUP para determinar el tipo de caso y configuración simplemente se le debe dar clic a la variación temporal del caso que se desea simular.  como se muestra en la siguiente imagen.

Fuente: Imagen Tomada del caso  elaborado por el autor
Posteriormente se procede a elegir de forma continua las condiciones de simulacion para el fluido ( Para este caso son en estado trasciente y Incompresible)
Fuente: Imagen Tomada del caso  elaborado por el autor

Posteriormente a escoger el solver se habilitan las opciones del menú con la finalidad de delimitar cada uno de forma detallada las condiciones de entrada y control de simulación del caso.

Fuente: Imagen Tomada del caso  elaborado por el autor
PASO 5. Definición de modelo de turbulencia

Procedemos a hacer clic en la opción Turbulence y seleccionar a partir de la lista desplegable el modelo de turbulencia que mas se ajuste a nuestra simulacion. En algunas casos especiales se habilita la opción para Laminar y LES ( En donde el solver requiera estas configuraciones). Por tal razón todo depende del solver que se elija para ejecutar el caso.

Fuente: Imagen Tomada del caso  elaborado por el autor
PASO 6. Definición de Condiciones de transporte del fluido 

Procedemos a hacer clic en la opción ''Transport Propieties''. Para seleccionar el tipo de fluido que deseamos simular sobre el volumen de control . Elegiendo si es un fluido ( Newtoniano - No Newtoniano) . Se debe resaltar que SimFlow también permite elegir un fluido que  circulara dentro de la malla, este ya cuenta con una biblioteca con las propiedades que se muestran en la siguiente imagen.

Fuente: Imagen Tomada del caso  elaborado por el autor
PASO 7. Definición de condiciones de entrada

En este paso se deben ingresar las condiciones iniciales de cada campo asociado a la simulacion , para este caso se debe tener en cuenta que el valor de la velocidad tiene 3 espacios . Los que comparten las posiciones del vector de la velocidad representado en esta forma ( x , y, z ). Se debe definir teniendo en cuenta la orientación del vector en la ventana gráfica del mismo programa.

Fuente: Imagen Tomada del caso  elaborado por el autor
PASO 8. Definición de rangos de tolerancia Solvers

Posteriormente se procede a ingresar a la opcion ''Solution'' definiendo los criterios de convergencia del solver . Se puede modificar el máximo de iteraciones para hacer el proceso mas rápido ò se puede modificar la tolerancia haciendo que la aproximación sea mas aproximada a la real.
Fuente: Imagen Tomada del caso  elaborado por el autor

PASO 9. Definición de coeficiente de Co y DeltaT

Para definir el Courant y DeltaT de forma correcta se procede a realizar el siguiente calculo sobre el tipo de elemento ( Triangular) que posee el volumen de control 

Fuente: Elaborado por el autor  en base a (Jasak & Rusche, 2010)
Fuente: Elaborado por el autor  en base a (Jasak & Rusche, 2010)
Las estimaciones anteriores permitieron conocer que el Dt asociado a la simulacion es respectivamente  3.4968e-5 Segundos ; En consecuencia cada 3.4968e-5 se debe imprimir un proceso iterativo.

PASO 10. Definición del Write Interval

En SimFlow , no es necesario calcular un  valor para el Paso temporal de escritura . En este software simplemente se debe mencionar  cada cuando te debe generar una nueva carpeta. Para este caso por cada segundo de simulacion se guarda una nueva carpeta. ( Este valor es modificable) . Se recomienda tener activada la opcion ''Compress Output'' para generar una carpeta comprimida para cada archivo y permitir obtener una carpeta mas liviana a subir a cualquier servidor.

Fuente: Imagen Tomada del caso  elaborado por el autor

Se debe activar esta opcion solo si se procede a hacer el calculo de la fase anterior. Con los siguientes indicadores( Co y DeltaT)

Fuente: Imagen Tomada del caso  elaborado por el autor
PASO 10. Ejecución del caso 
Esta se considera la fase final del proceso pues teniendo las condiciones establecidas de forma correcta , se debe proceder a ingresar a la pestaña RUN
Fuente: Pantallazo proceso de observación de resultados SimFlow
En la ilustración anterior se puede observar el proceso de impresión de resultados. Antes de ejecutar el caso se debe dar clic al botón rodeado por el recuadro rojo para que almacene la configuración establecida para el caso en las pestañas anteriores, Luego de esto se le da clic al botón RUN teniendo en cuenta que el tiempo final sea acorde a lo que se estableció desde un principio ( Para este caso por la alta demanda computacional se procede a ejecutar con un tiempo final de 3 segundos)

PASO 12. Exportación Graficas de Convergencia 

Posteriormente cuando la simulacion haya culminado mostrara el siguiente mensaje 
Fuente: Pantallazo tomado del caso creado por el autor
En este paso la malla fue procesada por SimFlow a través del software utilizado para la evaluación. Posteriormente debemos ir a la pestaña de POSTPROCESSING. En donde podemos observar lo siguiente 

Fuente: Pantallazo tomado del caso creado por el autor
En la imagen anterior podemos observar las opciones disponibles para el  postprocesamiento de la información disponible. Para este caso procedemos a hacer clic en el icono de bandas (Rojo, Verde y Azul) - Para la Visualización en el Software ParaView 5.0. En caso tal que deseemos exportar la información a otro software podemos hacerlo con la lista desplegable y la opcion export.

Fuente: Visualización de datos en ParaView 5.0
En la imagen anterior se observa el comportamiento del campo de velocidades de entrada para el fluido que ingresa a la habitación siendo aire a 456 K, Se observa el efecto que produce la entrada del fluido sobre las paredes liberando el calor de tal forma que la habitación alcanza una temperatura promedio en el rango de [428.67 K - 456.02 K] . No obstante la habitación al inicio de la simulacion se encontraba en 300 K. Posteriormente en el equilibrio termodinámico la habitación de la temperatura oscila entre este rango.

PASO 13. Validacion de Resultados Perfiles de Flujo 3D en ParaView

Posteriormente se procede a validar el comportamiento de la temperatura y la velocidad en las ventanas de la habitación [Salidas]. Permitiendo observar  el comportamiento del fluido en las paredes como se muestra a continuación para la ventana 1

Fuente: Visualización de datos en ParaView 5.0
En la Ventana 1 , el aire se encuentra a una temperatura promedio de 339 K, respecto a la salida del fluido luego de chocar con las paredes de la habitación y volver a salir como se muestra en las lineas de flujo a través de la validación.

Fuente: Visualización de datos en ParaView 5.0
En la validación de datos para la ventana 2 se puede observar que la temperatura de salida del fluido es de 339 K , lo que indica que el fluido circula dentro de la habitación de forma homogénea permitiendo que al exterior exista una transferencia de calor constante con el sistema de la habitación interna.

 Con la finalidad validar entonces la dinámica de movimiento del fluido alrededor de las ventanas procedemos a mostrar las isolineas de este sector

Fuente: Visualización de datos en ParaView 5.0

En la ilustración anterior se muestra la circulación del fluido alrededor de la ventana, indicando que este ingresa a gran velocidad a la habitación . Posteriormente circula y reduce su velocidad mientras libera parte de la energía que contiene hasta que sale de la habitación con una temperatura menor a la que ingresa a la habitación.

Finalmente se deben validar los residuales de la simulacion para verificar si el solver entro en estado estacionario ejecutando esta simulacion y existe convergencia en los resultados del solver


Fuente: Generada con el Software 

En la imagen anterior se imprimen la gráfica de residuales de  las variables (Velocidad, K(Coeficiente de Turbulencia y Temperatura). La curva generada muestra picos muy pronunciados lo que nos indica que debemos optar por refinar mas la malla para asegurar resultados de mejor calidad , según (Jasak & Rusche, 2010)  los elementos de tipo triangular son difíciles de controlar pues algunos no pueden cumplir exactamente las condiciones de un rectángulo afectando de forma negativa el rendimiento y los resultados de la simulacion. 

ANEXOS

Si deseas descargar la carpeta del caso , abre el siguiente formulario
  • https://goo.gl/forms/z7B3yhSKjF1Usen53

Para mayor información contacta a : ingeniero.ambiental.luis.rojas@gmail.com 


BIBLIOGRAFIA
  1. Jasak, H., & Rusche, H. (2010). Five Basic Classes in OpenFOAM. Presentation, (June), 1–16.
  2. SIMFLOW. (2017). SimFLOW 3.0. Obtenido de SimFLOW 3.0: https://sim-flow.com/docs/3.0/























    domingo, 22 de enero de 2017

    METODOLOGIA SUGERIDA DE TRABAJO OPENFOAM


    Introducción General

    Previo a ejecutar la primera simulación en OpenFOAM siempre se recomienda tener un esquema general de trabajo, por tal razón OpenFOAM se sugiere previo a la preparación de casos y ejecución de los mismo cumplir los siguientes ítem.

           ·        Tener en lo posible el Área ò Volumen de control sobre el que se realizara el modelamiento bien definido.
           ·        Seleccionar de forma apropiada las condiciones de control y condiciones de contorno; dando una condición de uniformidad a los casos que se desean trabajar. 
           ·        TENER LAS HIPOTESIS DEL CASO BIEN DEFINIDAS PARA VALIDAR POSTERIOR AL PROCESAMIENTO
           ·        Tener diferentes fundamentos técnicos para la toma de decisiones en cada paso del modelo
    ·        TECLEAR CON CUIDADO LOS COMANDOS EN LA PLATAFORMA.

    Antes de continuar se debe validar que cumplamos con los requisitos mencionados

    Posteriormente presentamos la metodología general de trabajo en OpenFOAM, 
    esta se encuentra basada en el diagrama que se presenta a continuación

    Fuente : Tomado de (Foundation, 2014)

    En donde desglosamos a continuación cada fase por separado, siendo el siguiente 

    Preprocesamiento

    Es aquella fase en la que se procede a elegir el Solver más adecuado para dar solución a nuestro caso  en paralelo se debe construir el mallado de la geometría a partir de los esquemas por elementos (Hexaédricos ò Triangulares)(Jasak, 2009). Permitiendo tener mayor acceso a una esquematización correcta del volumen de control que será simulado.
    Para la fase de Preprocesamiento tenemos una oferta amplia de Software para construir mallado como los son

         ·        ANSA
         ·        EnGrid
         ·        GridPro
         ·        PointWise & Gridgen
         ·        Salome-Meca
         ·        FreeCAD
         ·        Gmsh

    Siendo los anteriores mencionados los más estables  y Gratuitos en la plataforma UBUNTU 14.06 según (Jasak, 2009) y son ampliamente sugeridos por la red (www. cfd-online.com). En resumen, las siguientes imágenes muestran el proceso completado al que se debe llegar.


    Fuente: Tomado de (Junhong, 2004)

    En donde se muestra como debe transformarse de un volumen de control como es una elipse a un volumen compuesto por elementos rectangulares que en vista 3d son Hexaedros(Lucchini, 2008). Se debe resaltar que en esta fase dependiendo de la complejidad de la geometría deberá escogerse el tipo de elemento que sea más conveniente para el mallado(Nilsson, 2006).

    Procesamiento

    Esta fase es la más corta en términos de inversión de tiempo de trabajo y la memoria de trabajo computacional juega un papel importante pues definirá la variable [ Tiempo de Procesamiento (Seg)], siendo uno de los criterios más importantes para muchos diseñadores.
    En esta fase se deben ingresar los valores de entrada para el modelo asociado, dependiendo del modelo requerirá sus respectivas variables.
    En Windows se puede usar el comando para ingresar los datos con el comando ‘’mcedit’’ para editar desde la misma terminal, en Ubuntu se usa el editor ‘’gedit’’. 

    Recomendamos 

    *NO EDITAR LOS ARCHIVOS EN WORDPAD O BLOC DE NOTAS PUES CAMBIAN EL FORMATO DEL ARCHIVO; CAUSANDO QUE OPENFOAM NO RECONOZCA EL ARCHIVO Y SE PRODUZCA UN ERROR FATAL. En esta situación sugerimos que use el editor NOTEPAD++ (Editor Libre).

    A continuación, se muestra la estructura de carpetas de trabajo de OpenFOAM, esta se debe respetar a toda costa para no tener inconvenientes en un futuro.


    Fuente: Captura de Pantalla de OpenFOAM por el Autor

    • Donde la carpeta 0, contiene todos los archivos de la información de entrada al modelo

    • Donde la carpeta constant, contiene la información asociada a la malla ò volumen de control

    • Donde la carpeta system, contiene los archivos asociados al control del Solver & Controles a archivos de post-Procesamiento.

    • Posteriormente ingresando al Archivo de Velocidad editamos la velocidad en cada una de las direcciones, recordando que la Velocidad es de carácter Vectorial.



                                             Fuente: Captura de Pantalla de OpenFOAM por el Autor

    Antes de continuar se debe calcular 2 campos importantes para controlar la convergencia del caso y el orden de las carpetas como se muestra a continuación.


    Calculo del Co ( Numero de Courant)


    Para Proceder a calcular el Courant se debe reemplazar los siguientes valores en la siguiente ecuación.


    Fuente: Tomado de User-Guide OpenFOAM

    • Donde Sigma es deltaT, siendo la variable objetivo para establecer antes de empezar la simulación. La ecuación despejada en términos de deltaT será


    Fuente : Tomado de User-Guide OpenFOAM

    • Donde Co [ Numero de Courant Deseado] , Se recomienda trabajar con valores menores a  0.5(Junhong, 2004).

    • Donde Sigmax [ Longitud Unitaria /# Elementos (Faces)], En caso que sean elementos cuadrados la longitud unitaria se puede asumir como la raíz cuadrada del área mínima; Sugerimos en lo posible usar elementos finitos rectangulares pues se puede tener mayor control que un mallado Triangular; en caso que sean Triangulos se debe calcular usando la regla de (Base*Altura/2).

    • Donde Velocidad [ Debe estar en la entrada del sistema y debe expresada en m/Seg],


    Posteriormente se procede a guardar la información y se corre el modelo usando el comando desde la carpeta Principal


    Fuente: Pantallazo Propio del autor de OpenFOAM 

    Posteriormente se da Enter y esperamos a que OpenFOAM termine de procesar la información.

    Calculo del Write Interval

    En este paso se establece cada cuanto el solver guardara la información en el equipo, se realiza el cálculo a través de la siguiente expresión.

    Fuente : Ecuacion Empirica Desarrollada por el autor

    • Donde se debe establecer el tiempo de simulación final para este caso lo haremos con 0.5, posteriormente ingresamos el Sigma t. Finalmente sabemos cuántas veces deberá imprimir información, Para lo que podemos ordenar que cada # Veces determinadas que imprima resultados guarde los resultados asociados.
    Aplicando la Ecuacion mostrada anteriormente deseamos tener 5 carpetas para este caso aplicando la ecuacion obtuvimos de forma eficiente la cantidad de carpetas que deseábamos



    En la imagen se observan las carpetas diferentes a la carpeta 0 , constant y system son las carpetas de trabajo que deseábamos guardara el Solver , validándose de forma correcta el funcionamiento de la ecuacion planteada anteriormente.

    Posteriormente ejecutamos el nombre del Solver y obtenemos


    Fuente: Pantallazo Propio del autor en OpenFOAM

    Como se observa en la imagen anterior se imprimir los resultados hasta que termina todo el procesamiento , una vez se consiguen estos se puede determinar si el solver está trabajando de forma estable con el caso , bajo la condición que el Courant Number mean se mantenga constante a medida que imprime un paso temporal de otro(Rusche, 2011) , también cuando el residual es muy pequeño.

    PostProcesamiento

    En esta fase de proceder a observar y analizar los detalles de la simulación con paraFoam , para lo que procedemos a ejecutar el siguiente comando terminada la simulación 


    Fuente: Pantallazo Propio del autor en OpenFOAM

    Posteriormente se abrirá el programa de visualización de datos de OpenFOAM por defecto, segundo a segundo en el tiempo que le hayamos asignado para guardar los resultados.


    Fuente: Pantallazo Propio del autor en OpenFOAM

    En donde podemos ver los perfiles de la variable que deseemos sobre el volumen de control, debe tenerse en cuenta que el nivel de detalle de la simulación está directamente relacionado con la calidad de refinamiento (Hacer que la malla sea más fina y reporte las variables a un nivel de detalle más alto), En consecuencia, toma un tiempo mayor de procesamiento, pero mejores resultados.

    En futuros Entradas se explicará más a detalle cómo se debe realizar el proceso de validación y refinamiento de geometrías. 

    Bibliografia

        1.     Foundation, O. (2014). OpenFOAM - The Open Source CFD Toolbox - User Guide. User Guide, 222. https://doi.org/10.1023/A
         2.     Jasak, H. (2009). Dynamic Mesh Handling in OpenFOAM. 47th AIAA Aerospace Sciences Meeting Including The New Horizons Forum and Aerospace Exposition, 1–10. https://doi.org/10.2514/6.2009-341
          3.     Junhong, W. (2004). Open Source CFD Solver - OpenFOAM. Lecture, 1–5.
      4.     Lucchini, T. (2008). OpenFOAM programming tutorial. Talk, 1–47. https://doi.org/10.1016/0303-8467(95)00031-E
          5.     Nilsson, H. (2006). Evaluation of OpenFOAM for CFD of Turbulent Flow in Water Turbines. 23rd IAHR Symposium, 1–9.
       6.     Rusche, H. (2011). OpenFOAM Tutorials : Programming Session Tutorials : Programming Session. Training, 1–19.