introducción a openfoam -...

Post on 29-Jun-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Introducción a OpenFoam

Presentación general de OpenFoam

E. Martín

Mecánica de Fluidos. Universidad de Vigohttp://webs.uvigo.es/emortega/

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Organización del Minitutorial

Introducción a OpenFoam:• Enlaces de interés• ¿Qué es?• Capacidades• Estructura del código• Estructura de carpetas y archivos de cada caso

Ejercicios prácticos• Flujo isotermo incompresible en una cavidad 2D

Visualización de resultados con paraview• Flujo isotermo en el interior de un codo 2D• Flujo isotermo en el interior de un codo 3D

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Enlaces de interés

• Página web oficial de OpenFOAM:http://www.openfoam.com/

• Wiki no oficial sobre OpenFOAM :http://openfoamwiki.net/index.php/Main_Page

• PhD course in CFD with Open Source software:http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2009/

• OpenFOAM-extendhttp://sourceforge.net/projects/openfoam-extend/

• CFD Online: http://www.cfd-online.com/Foro de discusión sobre OpenFOAM en CFD Online :

http://www.cfd-online.com/Forums/openfoam/Links on-line de modelos de turbulencia

http://www.cfd-online.com/Wiki/Turbulence_modeling

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

¿Qué es OpenFoam?

OPENFOAM® (Open Field Operation And Manipulation) es una herramienta desimulación numérica basada en esquemas de volúmenes finitos (básicamente, se tratade una biblioteca de utilidades para implementar un esquema de volúmenes finitos)especialmente orientada para la simulación numérica en mecánica de fluidos (cfd).

Es un código de software libre (con acceso, por tanto, al código fuente) programado en C++ y producido por opencfd ltd.

OPENFOAM® es capaz de resolver tanto flujos sencillos como complejos (incluyendo flujos turbulentos, fenómenos de transferencia de calor y reacciones químicas), así como problemas en otros campos (como problemas electromagnéticos).

Una de las principales ventajas, al margen de su flexibilidad, es su capacidad para serejecutado en paralelo. La implementación del cálculo distribuido (basada en el uso dempi y directamente explotable por parte de procesadores multinúcleo, clúster o redes deordenadores) no añade ninguna dificultad al usuario, por lo que la capacidad de cálculodel código está únicamente limitada por el hardware disponible

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

¿Qué es OpenFoam?

OpenFOAM es una librería de archivos en C++, usada principalmente para crearexecutables, conocidas como applications. Las aplicaciones pueden ser de dos tipos:• solvers, diseñados para resolver problemas específicos de medios continuos;• utilities, diseñadas para ejecutar tareas que involucran manipulación de datos

Una de las fortalezas de OpenFOAM es que cada usuario puede crear nuevos solvers yutilities siempre que tenga un conocimiento previo de la física involucrada y técnicas deprogramación.

OpenFOAM se instala con herramientas adicionales para el pre- y post-procesado de losresultados.

Se instala en sistemas operativos Linux (ver en www.openfoam.com detalles sobre lainstalación).

No existe instalación para Windows. En este caso es necesario instalarlo como unamáquina virtual

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Instalación en S.O. Windows• Bajar e instalar la máquina virtual para sistema operativo Windows:

http://www.oracle.com/technetwork/es/server-storage/virtualbox/downloads/index.html

• Una vez instalada la máquina virtual, ejecutadla, e ir a:

archivo >> importar servicio actualizado

y escoger el archivo:

Debian7SoftLibre.ova• El usuario normal y su contraseña es alumno• El superusuario es root con contraseña admin• Introducir en la máquina virtual la carpeta Tutoriales mediante dispositivo usb• Antes de ejecutar comandos en terminales: Abrir terminal y ejecutar el script

startFoam

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

¿Qué es OpenFoam?

Extraído de la User Guide de OF: http://foam.sourceforge.net/docs/Guides-a4/UserGuide.pdf

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Código fuente

• Comandos útiles para navegar en las fuentes de OpenFOAM:app = $WM_PROJECT_DIR/applicationssol = $WM_PROJECT_DIR/applications/solversutil = $WM_PROJECT_DIR/applications/utilitiessrc = $WM_PROJECT_DIR/src

• Variables de entorno:$FOAM_APP = $WM_PROJECT_DIR/applications$FOAM_SOLVERS = $WM_PROJECT_DIR/applications/solvers$FOAM_UTILITIES = $WM_PROJECT_DIR/applications/utilities$FOAM_SRC = $WM_PROJECT_DIR/src

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Estructura de OpenFoam

Ejecutar en terminal:startFoamcd $WM_PROJECT_DIR

applications: Ficheros fuente de todos los ejecutables:solversutilitiesbintest

bin: scripts básicos de ejecución.doc: pdf y Doxygen documentacion.

DoxygenGuides-a4

lib: librerías compiladas.src: ficheros librería fuente.test: ficheros Fuente para testear las librerías.tutorials: tutoriales, casos de ejemplo.wmake: compilación.

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Estructura de archivos del software

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Estructura de archivos carpeta “Applications”

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Estructura de archivos carpeta “Applications”

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Estructura de archivos de un caso

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejemplo: Tutorial “cavity”

Geometría 2D, incompresible, laminar, isotermo

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Carpeta “cavity”

Condiciones de contorno e iniciales

Datos para generar la geometría y la malla estructurada

Datos del fluido: viscosidad cinemática

Control iteraciones, discretización

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Aspecto del fichero “transportProperties”

Cabecera OpenFoam

Viscosidad cinemática fluidoDimensiones de las variables

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Dimensiones de las variables

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Geometría de la cavidad

movingWall

fixedWallsfrontAndBack

fixedWallsfixedWalls

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Fichero “blockMeshDict”

Cabecera OpenFoam

Vértice 0Vértice 1Vértice 2

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Fichero “blockMeshDict”

Contornos/fronteras

Nombres de las fronteras

Tipo de frontera

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tipos de fronteras

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Sentido vector normal a cada cara

• Sentido antihorario

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Generadores de malla propios de OF

Generación de malla: Ejecutar en un terminal en el directorio del caso:

startFoamblockMesh > log.blockMeshcheckMesh > log.checkMesh

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Generación de malla con utilidad “blockMesh”

Archivos generados dentro de la carpeta “constant/polyMesh”:

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Generación de malla con “blockMesh”

• Archivo “boundary”: contiene los contornos de la geometría

• “points”: coordenadas 3D de los vértices de la malla• “faces”: construcción de las caras de las celdas de la

malla a partir del número de cada vértice

Archivo“boundary”

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Condiciones iniciales y de contorno: Fichero “U”

Condición inicial de U

Condiciones de contorno

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tipos de condiciones de contorno

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tipos de condiciones de contorno

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tipos de condiciones de contorno

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tipos de condiciones de contorno

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Condiciones iniciales y de contorno: Fichero “p”

Condición inicial de p

Condiciones de contorno para la presión p

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ficheros carpeta “system”: controlDict

ApplicationSolver

Paso temporal

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Modelos físicos en OpenFoam

http://www.openfoam.org/features

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Solvers de OpenFoam

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Solvers de OpenFoam

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Solvers de OpenFoam

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ficheros carpeta “system”: fvSchemes

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ficheros carpeta “system”: fvSchemes

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ficheros carpeta “system”: fvSolution

Linear Solvers

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejecución del caso “cavity”

Recordatorio: Generación de malla:Ejecutar en un terminal en el directorio del caso:

blockMesh > log.blockMeshcheckMesh > log.checkMesh

Ejecutar paraFoam para visualizar la malla antes de resolver y comprobar que todo es correcto:

paraFoam &

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejecución del caso “cavity”

Ejecución del solver: Ejecutar en un terminal en el directorio del caso:

icoFoam > log.icoFoamAparecerán archivos de resultados para cada instante de tiempo

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejecución del caso “cavity”

Visualización de los residuos: Ejecutar en un terminal en el directorio del caso:

gnuplot Residuals –

Es necesario tener en el caso el fichero “Residuals”

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejecución del caso “cavity”

Postprocesado:Alternativa 1:

foamToVTK -time 0:0.5 > log.foamToVTK– Transforma los ficheros de resultados a formato VTK

paraview &– Visualiza los resultados obtenidos en la simulación con

paraview

Alternativa 2:paraFoam &

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Script de ejecución del caso

Fichero “script_exe”:

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Postprocesado del caso

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Scripts de ejecución automática: “Allclean”, “Allrun”

Fichero “Allclean”:

Ejecución del fichero “Allclean”: ./Allclean

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Scripts de ejecución automática: “Allclean”, “Allrun”

Fichero “Allrun”:

Ejecución: ./Allrun

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejercicio: Remallado del caso “cavity”

• Tamaño de celdas del mallado en x e y: 1mm0.1 m/0.001 m = 100 celdas en x e y

• Necesario editar y modificar archivo “blockMeshDict”

• Volver a ejecutar el caso desde el principio./Allclean./Allrun

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tutorial “elbow”

Ejemplo 2D, evolutivo, laminar, incompresible e isotermo

Malla no estructura en formato de

Fluent

Conversión a openFoam: ejecutar en terminal

fluentMeshToFoam elbow.msh

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Conversiones de mallas entre distintos formatos

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Conversiones de mallas entre distintos formatos

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Caso “elbow”: Carpeta “polyMesh”

Comprobar condiciones de contorno en el

fichero “0”

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Visualización de geometría y malla

Preprocesado:Alternativa 1:

foamToVTK -time 0 • Transforma los ficheros de las condiciones

iniciales a formato VTKparaview &• Visualiza la geometría, mallado y condiciones

iniciales de la simulaciónAlternativa 2:

paraFoam &

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Visualización de geometría y malla

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Visualización de geometría y malla

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Ejecución y visualización de los resultados

icoFoam > log.icoFoam(ejecuta el solver hasta tiempo 10)

foamToVTK -time 0:10 paraview &

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Tutorial “elbow_3D”

Ejemplo 3D, evolutivo, laminar, incompresible e isotermo

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Archivo “polyMesh/boundary”

“0/U”

Ciudad Real Numérica 2015 http://matematicas.uclm.es/crn2015/

Resultados tutorial “elbow_3D”

top related