WorkShop 2: Preprocesado con OpenFOAM

Anuncio
WorkShop 2: Preprocesado con OpenFOAM
Luis Parras⋆ , Patricio Bohórquez†
⋆
Escuela Superior de Ingenieros Industriales de Málaga
Universidad de Málaga, España
†
Escuela Superior de Ingenieros Industriales de Jaén
Universidad de Jaén, España
Mecánica de Fluidos Computacional Aplicada
Junio 2010
WorkShop 2: Preprocesado con OpenFOAM – p.1
Malladores
Como se ha indicado, la calidad de la simulación está altamente influida por la calidad de la malla.
Por ellos existen numerosos programas de mallado. Algunos ejemplos de malladores son
Gambit
Engrid
Salome
Pointwise
StarDesign
WorkShop 2: Preprocesado con OpenFOAM – p.2
Importar la malla desde CAD
La malla se exporta desde un programa de modelado tipo Solid Works, CATIA, etc
Los formatos de intercambio son los formatos estándar para transferir la información de unos
programas a otros. Cada programa tiene su formato privativo (de código cerrado) al que
ningún otro programa puede acceder, por desconocer cómo está guardado. Los formatos de
intercambio más utilizados para modelado de sólidos son
1. IGES es la especificación para intercambio inicial de gráficos (Initial Graphics Exchange
Specification) define un formato neutral de datos que permite el intercambio digital de
información entre sistemas de diseño asistido por computadora CAD. Fué desarrollado
en 1979 por un grupo de usuarios y proveedores CAD como Boeing, General Electric,
Xerox, ComputerVision y Applicon.
2. STEP (Standar for the Exchange of Product model data) o Estándar del modelo de
datos para intercambio de productos. Es un estándar internacional para la
representación e intercambio de información de productos industriales. Corresponde
con la norma ISO 10303.
3. STL es un formato de fichero nativo para software CAD para stereolitografía
desarrollado por 3D Systems. Este formato esta soportado por muchos otros paquetes
de software y se usa para prototipado rápido y fabricación asistida por ordenador. Los
ficheros STL describen sólo las superficies externas de un objeto tridimensional, y no da
información extra como acabados, texturas, etc, que daría un formato como los
anteriormente descritos.
WorkShop 2: Preprocesado con OpenFOAM – p.3
Importación
Se importa el sólido (PerfilTuboRound.stp) en el apartado de Geometría, mediante la opción
File/Import/STEP
Se explota la geometría global para que nos ofrezca todas las caras del cuerpo. Esto se
hace en el módulo de Geometría, New Entity/Explode/ y se selecciona que el cuerpo se
descomponga en sus caras faces.
Se renombran las caras para tener una idea de la posición de cada una de ellas. Además,
estos nombres serán los mismos que se usarán en OpenFOAM para poner las condiciones
de contorno.
WorkShop 2: Preprocesado con OpenFOAM – p.4
Mallado tetrahédrico
Para realizar un mallado rápido con tetrahedros simplemente se crea una nueva malla en el
módulo de Mallado, en Mesh/Create Mesh. Le damos en Asign a set of Hypothesis
Automatic tetrahedrailzation. Él nos seleccionará automáticamente el algoritmo para la
generación de la malla 1D, 2D y 3D.
Para controlar el tamaño de la malla, vamos al algoritmo 1D y se se le impone el algoritmo
de wire discretization, junto con la hipótesis de automatic length. En este caso el valor de 1
corresponde al mallado más fino.
Una vez definido todo sólo queda mallar. Al mallar con un espaciado más grande de lo
normal, el tubo pierde la forma redonda. Habrá pues que disminuir el tamaño de la malla
para solucionarlo, usando por ejemplo la hipótesis Max Size.
WorkShop 2: Preprocesado con OpenFOAM – p.5
Verificaciones de la malla
Una vez generada la malla se podrían ver cortes internos, superficies, skewnes
(deformaciones de elementos), etc
Para ello, pulsando sobre la malla en el desplegable de la izquierda, y mediante el boton
derecho sobre el cuerpo nos aparece un menú que nos permite mirar distintas cosas, como
por ejemplo
1. Clipping. Corta la malla por un plano definido por el usuario. Posteriormente se puede
visualizar esta mediante hilos, o con sombreado.
2. En controls, permite ver el ángulo máximo, puntos, aristas y caras libres
WorkShop 2: Preprocesado con OpenFOAM – p.6
Mallado por proyección
Este mallado es muy apropiado para cuerpos generados por una extrusión.
Abrimos el archivo de una geometría simple llamada geomtubo.
Se genera una nueva malla en el módulo de Mallado, Mesh/Create Mesh, y en el algoritmo
3D se usa 3D Extrusion.
Para el algoritmo 2D se utilizarán cuadrángulos
Se crean dos sub mallas.
1. La malla de la cara de entrada se usa un triangulador estándar
2. La malla de la cara de salida, se usa un método de proyección 2D que provenga de la
cara de entrada.
WorkShop 2: Preprocesado con OpenFOAM – p.7
Generar grupos de malla
Una vez creada la malla, habrá que indicarle a Salome cuáles son las caras de los
elementos que colindan con cada una de las superficies que delimitan el cuerpo para las
condiciones de contorno.
Esto se hace en Mesh/Create Group, y después se le da un nombre y se selecciona
mediante Group on geometry.
Una vez seleccionadas todas las caras, simplemente se exporta la malla a formato UNV
(ideas).
WorkShop 2: Preprocesado con OpenFOAM – p.8
Transformar la malla en OpenFOAM
Ya dentro del terminal, creamos un caso copiando un tutorial correspondiente al solver que
vayamos a utilizar. Por ejemplo, cavity del solver icoFoam
Se copia el fichero .unv que se acaba de crear.
Se ejecuta
ideasUnvToFoam malla_tet.unv
Si no ha dado ningún error tan sólo falta visualizar la malla.
Si queremos visualizar la malla en ParaView con el comando paraFoam, tenemos que tener
en cuenta que este comando lee las condiciones iniciales en el directorio 0, y si no coinciden
los nombres no permite cargar nada.
Para evitar esto se puede grabar el directorio 0 con otro nombre y crear otro vacío.
mv 0 0.old
mkdir 0
paraFoam
WorkShop 2: Preprocesado con OpenFOAM – p.9
Transformar la malla en OpenFOAM
Ahora se puede visualizar sin problema en ParaView
WorkShop 2: Preprocesado con OpenFOAM – p.10
Preparar la simulación
Para preparar la simulación se tienen que inicializar las condiciones de contorno.
Para ello, volvemos a colocar el antiguo directorio 0 con su nombre y se editan todas las
condiciones de contorno del problema.
rmdir 0
mv 0.old 0
Tendremos que editar tanto las condiciones de presión en el diccionario 0/p y las de
velocidad en 0/U
WorkShop 2: Preprocesado con OpenFOAM – p.11
Obtener y representar los resultados
Por último, para calcular los resultados simplemente habrá que ejecutar
icoFoam
Si todo ha salido bien, se podrán visualizar con ParaView mediante
paraFoam
WorkShop 2: Preprocesado con OpenFOAM – p.12
Descargar