OPENFOAM
CURSO INTRODUCTORIO
Ing. Fidel Vallejo G. Msc.
[email protected]
CURSO INTRODUCTORIO DE OPENFOAM 2
OPENFOAM
Simulación Biblioteca de
numérica basada utilidades orientada Programación base
en volúmenes a la resolución de C++, software libre
finitos problemas CFD
Geometrías y flujos
Flexibilidad y
sencillos y
capacidad de
complejos. 3D por
trabajo en paralelo
default
CURSO INTRODUCTORIO DE OPENFOAM 3
OPENFOAM https://openfoam.org/
Ejecutables
solvers utilities
simpleFoam blockMesh
icoFoam snappyHesMesh
pisoFoam
CURSO INTRODUCTORIO DE OPENFOAM 4
OPENFOAM
CURSO INTRODUCTORIO DE OPENFOAM 5
OPENFOAM
Versión de Distribuciones de Versiones para Windows
OpenFOAM Ubuntu recomendadas equivalente
Ubuntu 16.10
OpenFOAM 4.1 Ubuntu 16.04 LTS
Ubuntu 14.04LTS OpenFOAM 16.10 for Windows
Ubuntu 16.04 LTS
OpenFOAM 4.0
Ubuntu 14.04 LTS
Ubuntu 15.10
OpenFOAM 3.0.1 OpenFOAM 15.10 for Windows
Ubuntu 14.04 LTS
Ubuntu 15.10
OpenFOAM 3.0.0
Ubuntu 14.04 LTS
Ubuntu 15.04
OpenFOAM 2.4.0
Ubuntu 14.04 LTS
CURSO INTRODUCTORIO DE OPENFOAM 6
OPENFOAM – ESTRUCTURA
Información, características y criterios de
convergencia del modelo
Propiedades y estructura de la malla. Archivo de
variables de las propiedades del fluido
0: Condiciones de borde
Otras: Resultados de la simulación
OPENFOAM
INSTALACIÓN EN WINDOWS
CURSO INTRODUCTORIO DE OPENFOAM 8
CURSO INTRODUCTORIO DE OPENFOAM 9
Inicio de la instalación
CURSO INTRODUCTORIO DE OPENFOAM 10
CURSO INTRODUCTORIO DE OPENFOAM 11
CURSO INTRODUCTORIO DE OPENFOAM 12
CURSO INTRODUCTORIO DE OPENFOAM 13
CURSO INTRODUCTORIO DE OPENFOAM 14
Instalación MPI
CURSO INTRODUCTORIO DE OPENFOAM 15
CURSO INTRODUCTORIO DE OPENFOAM 16
CURSO INTRODUCTORIO DE OPENFOAM 17
Instalación completa
CURSO INTRODUCTORIO DE OPENFOAM 18
CURSO INTRODUCTORIO DE OPENFOAM 19
CURSO INTRODUCTORIO DE OPENFOAM 20
INTRODUCCIÓN
• COMANDOS LINUX MÁS UTILIZADOS
COMANDO USO
ls Listado de archivos y
carpetas
alias Rutas de carpetas cortas
cd Cambiar de directorio
clear Limpia la terminal
exit Sale del shells o terminal
actual
grep Busca patrones de
letras/palabras en
documentos
mkdir Crea directorios
mv / rm Mueve/elimina archivos o
directorios
CURSO INTRODUCTORIO DE OPENFOAM 21
Trabajando en BASH
• Crear carpeta de usuario
• cd blueCFD/OpenFOAM-4.x
• pwd
• mkdir usuario
• ls
• Copiar carpeta de tutoriales
• cp -r /home/ofuser/blueCFD/OpenFOAM-4.x/tutorials/
/home/ofuser/blueCFD/OpenFOAM-4.x/usuario/
• cd usuario/
• ls
• mkdir documentos
• touch comandos_utiles.txt
• nano comandos_utiles.txt
CURSO INTRODUCTORIO DE OPENFOAM 22
Explorando en BASH
Estructura de casos en OpenFOAM
cd carpeta usuario
Explicación de interfaz de trabajo
Carpeta básica del OpenFOAM en Windows
OPENFOAM
CASOS DE ESTUDIO
CURSO INTRODUCTORIO DE OPENFOAM 24
Caso 1 - elbow
OBJETIVOS • Importar malla FLUENT
• Conocer estructura de un caso
OF
• Visualización de resultados
DESCRIPCIÓN • Flujo incompresible en estado
transitorio
CURSO INTRODUCTORIO DE OPENFOAM 25
Caso 1
CURSO INTRODUCTORIO DE OPENFOAM 26
Caso 1
Convertir malla generada en FLUENT a
formato OpenFOAM
fluentMeshToFoam elbow.msh
Visualizar la malla en ParaView
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 27
Caso 1
CURSO INTRODUCTORIO DE OPENFOAM 28
Caso 1
Sources / Ruler
CURSO INTRODUCTORIO DE OPENFOAM 29
Caso 1
Determinar condiciones de borde de la
presión
cd 0
nano p
La presión en OpenFOAM está en m2/s2 , lo que se conoce
como presión reducida.
Se debe establecer bien las dimensiones de cada variable
CURSO INTRODUCTORIO DE OPENFOAM 30
Caso 1
Dimensiones de las variables en
OpenFOAM
Lugar Propiedad Unidad
1 Masa kg
2 Longitud m
3 Tiempo s
4 Temperatura K
5 Cantidad molar mol
6 Corriente A
7 Intensidad cd
luminosa
CURSO INTRODUCTORIO DE OPENFOAM 31
Caso 1
Tipos de condiciones de borde
zeroGradient
fixedGradient
fixedValue
empty
CURSO INTRODUCTORIO DE OPENFOAM 32
Caso 1
Visualizar nombres de las regiones para
establecer condiciones de borde
cd ..
paraFoam
Se pueden visualizar las regiones seleccionando cada una de ellas en
el panel de propiedades.
CURSO INTRODUCTORIO DE OPENFOAM 33
Caso 1
Cantidades vectoriales y escalares
cd 0
nano U
La presión es una cantidad escalar y se define con un valor uniforme.
La velocidad es una cantidad vectorial y debe definirse para x, y y z
CURSO INTRODUCTORIO DE OPENFOAM 34
Caso 1
Propiedades de la malla
cd constant/polyMesh
nano boundary
Propiedades de transporte
cd constant
nano transportProperties
CURSO INTRODUCTORIO DE OPENFOAM 35
Caso 1
m2/s
CURSO INTRODUCTORIO DE OPENFOAM 36
Caso 1
Esquemas numéricos
cd system
nano fvSchemes
timeScheme
gradSchemes
divSchemes
laplacianSchemes
CURSO INTRODUCTORIO DE OPENFOAM 37
Caso 1
Configuración del tiempo de simulación y la
frecuencia de impresión de resultados
cd system
nano controlDict
El diccionario controlDict es el único que permite que el usuario
modifique mientras la simulación está en proceso.
La opción se activa con el comando: runTimeModifiable
CURSO INTRODUCTORIO DE OPENFOAM 38
Caso 1
Ejecución del solver
El solver debe ejecutarse en la carpeta principal del caso
** escribir el comando ‘ls’ para comprobar ubicación
icoFoam
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 39
Caso 1
CURSO INTRODUCTORIO DE OPENFOAM 40
Caso 1
La carpeta 0 guarda las condiciones de borde y las carpetas con
tiempos guardan los resultados
La carpeta constant contiene la información de la malla y las
propiedades de transporte
La carpeta system tiene la información sobre la resolución numérica
del modelo. La configuración de la impresión de resultados.
CURSO INTRODUCTORIO DE OPENFOAM 41
Caso 2 - elbow
En el Caso_1:
Archivo Cambiar Valor
0/U velocity-inlet-5 (5 0 0)
0/U velocity-inlet-6 (0 6 0)
CURSO INTRODUCTORIO DE OPENFOAM 42
Caso 2
Analizar paso a paso. Encontrar el tiempo óptimo de simulación en
estas nuevas condiciones
CURSO INTRODUCTORIO DE OPENFOAM 43
Caso 2
40 s
CURSO INTRODUCTORIO DE OPENFOAM 44
Caso 3 - cavity
OBJETIVOS • Crear nuestra propia malla
• Conocer estructura de
blockMeshDict
• Visualizar nombres y tipos de
regiones
• Utilizar herramientas del
ParaView
DESCRIPCIÓN • Flujo incompresible en estado
transitorio
CURSO INTRODUCTORIO DE OPENFOAM 45
Caso 3
Generación de una malla
cd system
nano blockMeshDict
CURSO INTRODUCTORIO DE OPENFOAM 46
Caso 3 Factor de escalamiento
Vértices del paralelepípedo
Conformación del bloque,
número de celdas en cada eje
Regiones de la malla
CURSO INTRODUCTORIO DE OPENFOAM 47
Caso 3
Regla de la mano
derecha
CURSO INTRODUCTORIO DE OPENFOAM 48
Tipos de bordes
CURSO INTRODUCTORIO DE OPENFOAM 49
Caso 3
Conformación del archivo blockMeshDict
Bloques: los bloques en el archivo blockMeshDict deben
definirse con coordenadas para los tres ejes del sistema
cartesiano
Vértices: al menos 8 vértices conforman un paralelepípedo
Mallado: se debe obtener una malla lo suficiente fina, pero
no pesada y poco operable
CURSO INTRODUCTORIO DE OPENFOAM 50
Caso 3
blockMesh
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 51
Caso 3
Visualizar cada una de las regiones de la malla
CURSO INTRODUCTORIO DE OPENFOAM 52
Caso 3
Estudiar las condiciones de borde definidas
icoFoam
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 53
Caso 3
Modificando controlDict
CURSO INTRODUCTORIO DE OPENFOAM 54
Caso 3
Cambiar la velocidad (Ux=10 m/s)
Ejecutar el solver
icoFoam
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 55
Caso 3
Procesado de datos
filters / common / calculator
CURSO INTRODUCTORIO DE OPENFOAM 56
Caso 3
filters / Data Analysis / Histogram
CURSO INTRODUCTORIO DE OPENFOAM 57
Paraview Aplicar cambios en la malla
Eliminar mallas, filtros y/o sources
Listado de regiones de la malla
Listado de variables
CURSO INTRODUCTORIO DE OPENFOAM 58
ParaView
Parámetros de color y de escalas
Transparencia de la malla
Menú principal
CURSO INTRODUCTORIO DE OPENFOAM 59
ParaView
Abrir archivos Deshacer cambios Control de la simulación
Escala gráfica Variable actual Tipo de representación Selección de vistas cartesianas
de colores de la malla
CURSO INTRODUCTORIO DE OPENFOAM 60
Caso 4 - cavity
En el Caso_3:
Archivo Cambiar Valor
system/blockMesh dimensiones x: 40 cm
Dict y: 20 cm
z: 5 cm
system/blockMesh número de celdas x: 50
Dict y: 50
z: 10
system/ControlDict endTime 0.2
system/blockMesh grading x: 0.1
Dict y: 1
z: 1
CURSO INTRODUCTORIO DE OPENFOAM 61
Caso 5 – square tube
OBJETIVOS • Crear una porción simétrica de
una malla
• Especificar condiciones iniciales y
propiedades físicas
DESCRIPCIÓN • Resolución de las ecuaciones de
Navier-Stokes en un cuarto de
tubería cuadrada
CURSO INTRODUCTORIO DE OPENFOAM 62
Generación de una malla
cd system
nano blockMeshDict
CURSO INTRODUCTORIO DE OPENFOAM 63
Caso 5
Definir coordenadas de los vértices (sector vertices)
CURSO INTRODUCTORIO DE OPENFOAM 64
Caso 5
Definir caras (sector faces)
Definir nombres de las regiones (sector boundary)
Las caras en el sector boundary se definen con la regla de la mano
derecha. El dedo pulgar de la mano derecha se coloca
perpendicular a la cara que se está numerando, y el orden de los
vértices queda definido por la dirección de los dedos restantes.
CURSO INTRODUCTORIO DE OPENFOAM 65
Caso 5
CURSO INTRODUCTORIO DE OPENFOAM 66
Caso 5
CURSO INTRODUCTORIO DE OPENFOAM 67
Caso 5
Visualización de malla creada
blockMesh
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 68
Caso 5
Cambiar el simpleGrading
CURSO INTRODUCTORIO DE OPENFOAM 69
Caso 5
Comprobación de errores en la malla
checkMesh
Tipo de simulación
cd constant
nano turbulenceProperties
CURSO INTRODUCTORIO DE OPENFOAM 70
Caso 5
Definir condiciones de borde
PRESIÓN VELOCIDAD
CURSO INTRODUCTORIO DE OPENFOAM 71
Caso 5
Ejecutar solver
simpleFoam
CURSO INTRODUCTORIO DE OPENFOAM 72
Caso 5
Procesamiento de datos
paraFoam
Plot over Line
Es un utilidad que nos permite encontrar la distribución de una variable
a lo largo de una línea recta trazada en la malla
CURSO INTRODUCTORIO DE OPENFOAM 73
Caso 5
CURSO INTRODUCTORIO DE OPENFOAM 74
Caso 6 – square tube
En el Caso_5:
CURSO INTRODUCTORIO DE OPENFOAM 75
Generación de una malla
cd system
nano blockMeshDict
CURSO INTRODUCTORIO DE OPENFOAM 76
Caso 6 – square tube
Crear un caso para resolver la parte simétrica superior de una tubería
cuadrada
CURSO INTRODUCTORIO DE OPENFOAM 77
Caso 6
Crear una malla triangular de 10 cm de largo, con una base de
triángulo equilátero de 3 cm
CURSO INTRODUCTORIO DE OPENFOAM 78
Retroalimentación 1
• 1. Cambiar formato de leyenda en ParaView
• Abrir Caso 3_Cavity
• Correr blockMesh, icoFoam, paraFoam
• Leyenda mostrada por defecto:
CURSO INTRODUCTORIO DE OPENFOAM 79
Retroalimentación 1
• Cambiar formato de Leyenda
CURSO INTRODUCTORIO DE OPENFOAM 80
Retroalimentación 1
Código
%4.3e Número exponencial con 4 dígitos
principales y 3 cifras exponenciales
%.2f Número con dos decimales
%.0f Número entero
• 2. Grading no “SimpleGrading”
• Abrir CASO_E1_malla_doble
• Correr blockMesh
• Abrir blockMeshDict
CURSO INTRODUCTORIO DE OPENFOAM 81
Retroalimentación 1
CURSO INTRODUCTORIO DE OPENFOAM 82
Retroalimentación 1
• edgeGrading
• CASO_E2_Edge
• Abrir blockMeshDict
CURSO INTRODUCTORIO DE OPENFOAM 83
Retroalimentación 1
• 3. Planos simétricos en ParaView cuando se trabaja con
porciones de simetría
• Cargar CASO_5_square_tuve
• blockMesh, simpleFoam, paraFoam
Filters / Reflect
CURSO INTRODUCTORIO DE OPENFOAM 84
Retroalimentación 1
• 4. Perfiles de velocidad no uniformes
• Sobre CASO_1_Cavity
boundary
• Editar el archivo U
CURSO INTRODUCTORIO DE OPENFOAM 85
Retroalimentación 1
CURSO INTRODUCTORIO DE OPENFOAM 86
Malla circular
• Editar caso square_tube
• Construir un tubo de 2 cm de radio y 20 cm de largo (eje y)
CURSO INTRODUCTORIO DE OPENFOAM 87
Malla circular
CURSO INTRODUCTORIO DE OPENFOAM 88
Malla circular
CURSO INTRODUCTORIO DE OPENFOAM 89
Malla circular
• m4.exe blockMesh.m4
• m4.exe blockMesh.m4 > blockMeshDict
• Copiar a carpeta system/
• blockMesh.exe
• icoFoam
• paraFoam
• Analizar distintos flujos y condiciones
CURSO INTRODUCTORIO DE OPENFOAM 90
Retroalimentación 1
• Graficar variables con respecto al tiempo
• En ParaView:
• Filters / Integrate Variable
• Elegir un nodo en particular, o una region de nodos
• Filters / Plot Selection Over Time
• Apply
CURSO INTRODUCTORIO DE OPENFOAM 91
Retroalimentación 1
CURSO INTRODUCTORIO DE OPENFOAM 92
Caso 7-beam
OBJETIVOS • Visualización de casos en 1D
DESCRIPCIÓN • Transferencia transiente de
calor
CURSO INTRODUCTORIO DE OPENFOAM 93
CURSO INTRODUCTORIO DE OPENFOAM 94
Caso 7
Editar blockMeshDict para casos en 1D
cd system
nano blockMeshDict
OpenFOAM trabaja con mallas y modelos matemáticos en 3D, por
defecto. Para definir casos en 1 dimensión se debe crear estructuras
con ejes de 1 celda.
CURSO INTRODUCTORIO DE OPENFOAM 95
Caso 7
CURSO INTRODUCTORIO DE OPENFOAM 96
Caso 7
Crear malla
blockMesh.exe
CURSO INTRODUCTORIO DE OPENFOAM 97
Caso 7
Ingresar constantes físicas de transporte
cd constant
nano transportProperties
CURSO INTRODUCTORIO DE OPENFOAM 98
Caso 7
Ingresar configuración de recolección de
resultados
cd system
nano controlDict
CURSO INTRODUCTORIO DE OPENFOAM 99
Caso 7
Ejecutar el solver
laplacianFoam.exe
Visualizar los resultados
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 100
Caso 7
CURSO INTRODUCTORIO DE OPENFOAM 101
Caso 7
CURSO INTRODUCTORIO DE OPENFOAM 102
Caso 8
OBJETIVOS • Importar malla de ANSYS
• Resolver geometrías complejas
• Solver para temperatura
DESCRIPCIÓN • Distribución de temperaturas en
un sólido expuesto a una pared
adiabática a T cte
CURSO INTRODUCTORIO DE OPENFOAM 103
Caso 8
Revisar condiciones de borde para la
Temperatura
cd 0
nano T
Importar malla externa con escalado
ansysToFoam flange.ans –scale 0.001
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 104
Caso 8
CURSO INTRODUCTORIO DE OPENFOAM 105
Caso 8
Ingresar el coeficiente de difusión de transferencia de calor
CURSO INTRODUCTORIO DE OPENFOAM 106
CURSO INTRODUCTORIO DE OPENFOAM 107
Caso 8
Ejecutar el solver
laplacianFoam
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 108
Caso 8
Slice
Permite visualizar cortes sobre un plano
CURSO INTRODUCTORIO DE OPENFOAM 109
Caso 8
Aplicar el filtro Plot over line en las condiciones mostradas
CURSO INTRODUCTORIO DE OPENFOAM 110
Caso 9
OBJETIVOS • Evaluar un caso de fluido
compresible
DESCRIPCIÓN • Flujo de gas en un ducto
rectangular
CURSO INTRODUCTORIO DE OPENFOAM 111
Caso 9
Propiedades físicas del fluido compresible
cd constant
nano termophysicalProperties
CURSO INTRODUCTORIO DE OPENFOAM 112
Caso 9
Para conocer las opciones de ingreso en OpenFOAM se debe ingresar
de manera incorrecta o incompleta una opción. OpenFOAM
detallará las opciones válidas de ingreso.
En el archivo thermophysicalProperties ingresar en la línea thermo la
palabra Const (lo correcto es hConst)
Cuando se modifican los archivos del caso siempre se debe guardar
los cambios antes de ejecutar la aplicación (solver o utility)
CURSO INTRODUCTORIO DE OPENFOAM 113
CURSO INTRODUCTORIO DE OPENFOAM 114
Caso 9
Ejecutar el solver
sonicFoam
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 115
Caso 9
Plot over Line
CURSO INTRODUCTORIO DE OPENFOAM 116
SnappyHexMeshDict
Aplicación Capacidad de
Generación de
precargada con mallar superficies
mallas complejas
OpenFOAM sobre un objeto
Compatible con Capacidad de
varios formatos de refinar la malla
programas CAD: mediante celdas
*.stl, *obj, *vtk hexaédricas
CURSO INTRODUCTORIO DE OPENFOAM 117
SnappyHexMeshDict
Definir
castellatedMesh Refinar
superficie a
malla
mallar
snap Suavizar bordes
hexaédricos
Añadir
addLayers capas en el
mallado
CURSO INTRODUCTORIO DE OPENFOAM 118
Caso 10
OBJETIVOS • Aplicar snappyHexMeshDict
para mallar espacios vacíos
DESCRIPCIÓN • Flujo de fluido incompresible
en malla porosa
CURSO INTRODUCTORIO DE OPENFOAM 119
Caso 10
Visualizar lecho poroso
cd CASO_10_poros/constant/triSurface
paraview.exe malla_p.stl
El objetivo de este caso es generar una malla a partir del .STL para
lo cual se interseca este archivo con una malla base
CURSO INTRODUCTORIO DE OPENFOAM 120
Caso 10
Generar malla base
surfaceCheck malla_p.stl | grep –i ‘bounding box’
Editar el archivo blockMeshDict
cd ..
cd ..
cd constant/polyMesh
nano blockMeshDict
CURSO INTRODUCTORIO DE OPENFOAM 121
Caso 10
Ejecutar aplicación blockMesh
blockMesh.exe
paraFoam
Ejecutar aplicación blockMesh
abrir
malla_p.stl
Apply
CURSO INTRODUCTORIO DE OPENFOAM 122
Caso 10
Retirar las variables de la visualización
CASO_10_poros.foam (Surface with edges)
malla_p.stl (Surface)
CURSO INTRODUCTORIO DE OPENFOAM 123
Caso 10
CURSO INTRODUCTORIO DE OPENFOAM 124
Caso 10
Revisar configuración del snappy
CURSO INTRODUCTORIO DE OPENFOAM 125
CURSO INTRODUCTORIO DE OPENFOAM 126
CURSO INTRODUCTORIO DE OPENFOAM 127
Caso 10
Superponer las mallas
snappyHexMesh.exe
Es importante definir los parámetros de refinamiento de la malla lo más
bajos posibles al inicio. Para evaluar el consumo computacional. A
partir de eso se puede aumentar el nivel de refinamiento y el número
de celdas.
Los procesos del snappy se regitran en carpetas temporales: 1 guarda
la malla después de ‘castellated’ y 2 almacena los resultados de ‘snap’
CURSO INTRODUCTORIO DE OPENFOAM 128
Caso 10
Visualización de resultados
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 129
Tiempo 0 : malla original
(base)
Tiempo 1 : castellated
Tiempo 2 : snap
CURSO INTRODUCTORIO DE OPENFOAM 130
CURSO INTRODUCTORIO DE OPENFOAM 131
Caso 10
Remplazar malla final en carpeta constant
La carpeta ‘polyMesh’ de la carpeta ‘2’ se debe copiar y
remplazará a la existente dentro de la carpeta ‘constant’
Después del remplazo las carpetas ‘1’ y ‘2’ se deben
eliminar
Se recomienda guardar un respaldo de la carpeta para
conservar el archivo blockMeshDict para futuros cambios
CURSO INTRODUCTORIO DE OPENFOAM 132
Caso 10
Ejecutar el solver
simpleFoam.exe
CURSO INTRODUCTORIO DE OPENFOAM 133
CURSO INTRODUCTORIO DE OPENFOAM 134
startTime firstTime latestTime
endTime nextWrite noWriteNow writeNox
adjustableRunTime clockTime cpuTime
runTime timeStep
CURSO INTRODUCTORIO DE OPENFOAM 135
Caso 10
Visualizar los resultados
paraFoam
CURSO INTRODUCTORIO DE OPENFOAM 136
Caso 10
Graficar los residuales
simpleFoam > log &
gnuplot plotResiduals
CURSO INTRODUCTORIO DE OPENFOAM 137
GNU Plot es una aplicación externa que permite la visualización de los
datos que se generan al ejecutar los solvers
CURSO INTRODUCTORIO DE OPENFOAM 138
Represa
• Una columna de agua esta en reposo, separada por una
membrana (o pared delgada) en el costado izquierdo de
la geometría.
• Al t=0 s, la membrana colapsa, generando que el fluido
caiga de forma libre. Un obstáculo en la parte inferior del
tanque crea un flujo complicado de predecir.
CURSO INTRODUCTORIO DE OPENFOAM 139
Represa
CURSO INTRODUCTORIO DE OPENFOAM 140
Represa
CURSO INTRODUCTORIO DE OPENFOAM 141
Represa
CURSO INTRODUCTORIO DE OPENFOAM 142
Represa
• blockMesh
• Copiar y crear Alpha.water a partir de Alpha.wáter.orig
• setFields
• interFoam
CURSO INTRODUCTORIO DE OPENFOAM 143
CURSO INTRODUCTORIO DE OPENFOAM 144
Modelos de turbulencia
RANS LES
Lineales No lineales Smagorinsky
Dinámico
Modelo RNG-LES
Modelos algebraicos: Cebeci,
Baldwin Explícitos: k-Epsilon cúbico
Modelos de una ecuación: Prandtl,
Spalart Allmaras
Modelo v2-f
Modelos de dos ecuaciones: k-
Epsilon, k-Omega
CURSO INTRODUCTORIO DE OPENFOAM 145
Literatura referencia
• https://upcommons.upc.edu/bitstream/handle/2099/10445
/III%20-%20V24N3.pdf
• https://www.cfd-online.com/Wiki/Standard_k-
epsilon_model
• https://www.cfd-online.com/Wiki/Turbulence_free-
stream_boundary_conditions
CURSO INTRODUCTORIO DE OPENFOAM 146
SIMPLEFOAM p, U
CURSO INTRODUCTORIO DE OPENFOAM 147
Modelo de flujo Archivos adicionales
laminar -------------------
kEpsilon k, epsilon, nut
kOmega k, omega, nut
LRR k, epsilon, R
kOmegaSST k, Omega, nut
v2f v2, f, nut, k, epsilon
SpalartAllmaras nut, nuTilda
CURSO INTRODUCTORIO DE OPENFOAM 148
Condiciones de borde en flujos turbulentos
Variable Descripción Cálculo
U Velocidad promedio
I Intensidad de las turbulencia
k Energía turbulenta
Constante del modelo
Tasa de disipación de la turbulencia
Tasa específica de disipación de la
energía turbulenta
Escala de longitud de la turbulencia
Diámetro hidráulico
CURSO INTRODUCTORIO DE OPENFOAM 149
CASO FLUJO TURBULENTO
• turbulento_tanque_rotor
• Crear archivo blockMeshDict con aplicación m4.exe
• BlockMesh
• SimpleFoam
• ParaFoam
• Revisar modelos de turbulencia
CURSO INTRODUCTORIO DE OPENFOAM 150
CURSO INTRODUCTORIO DE OPENFOAM 151
CASO FLUJO TURBULENTO
• turbulento_viento
• surfaceFeatureExtract
• blockMesh
• snappyHexMesh
• paraFoam
• simpleFoam
• Manejar opacidad de paredes en Paraview
CURSO INTRODUCTORIO DE OPENFOAM 152
CURSO INTRODUCTORIO DE OPENFOAM 153
CASO REPASO 1
Problema Un corriente gaseosa ingresa a un
ducto cuadrado de 3 cm de lado, sale
por un ducto rectangular de 4 cm de
base y 2 de alto. Longitud de 15 cm
Velocidad ingreso U_x= 0.05
U_y= 0.1
U_z= 0.03
Presión salida 0
Viscosidad cinemática 1e-5 m2/s
Número de celdas > 10 000
Control residual 1e-3
Régimen estacionario
CURSO INTRODUCTORIO DE OPENFOAM 154
CASO REPASO 2
Problema Un corriente gaseosa ingresa a un
ducto cuadrado de 3 cm de lado, sale
por un ducto rectangular de 4 cm de
base y 2 de alto
Velocidad ingreso U_x= 0.05
U_y= 0.1
U_z= 0.03
Presión salida 0
Viscosidad cinemática 1e-5 m2/s
Número de celdas > 10 000
Control residual 1e-3
Régimen transitorio
CURSO INTRODUCTORIO DE OPENFOAM 155
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 156
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 157
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 158
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 159
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 160
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 161
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 162
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 163
Mallado en ANSYS
CURSO INTRODUCTORIO DE OPENFOAM 164
Caso Placa Orificio
• Copiar carpetas de caso tubería circular
(CASO_A_Tubería_OF)
• fluentMeshToFoam.exe placa_orificio.msh
• checkMesh.exe
• paraFoam
• icoFoam
CURSO INTRODUCTORIO DE OPENFOAM 165
Caso 11
OBJETIVOS • Utilizar solver simpleFOAM para
una simulación en estado
estacionario con modelos de
turbulencia
• Entender los modelos de
turbulencia
• Entender la simulación en estado
estacionario
CURSO INTRODUCTORIO DE OPENFOAM 166
Caso 11
OBJETIVOS • Crear malla compleja con
FreeCAD (*.STL)
• Exportar malla a OpenFOAM con
snappyHexMesh
• Analizar modelos de turbulencia
DESCRIPCIÓN • Flujo de fluido incompresible en
malla compleja
CURSO INTRODUCTORIO DE OPENFOAM 167
FreeCAD
• Aplicación libre para diseño 3D.
• Versátil, sencilla de operar y con gran variedad
de sólidos para combinar
• Operaciones boleanas: unir, intersecar, combinar
• Gran variedad de formatos de salida. STL es el
más importante por ser compatible con
OpenFOAM
CURSO INTRODUCTORIO DE OPENFOAM 168
FreeCAD Menú principal
Crear un nuevo Listado de
archivo escenarios
CURSO INTRODUCTORIO DE OPENFOAM 169
CURSO INTRODUCTORIO DE OPENFOAM 170
FreeCAD
Banco de trabajo PART
CURSO INTRODUCTORIO DE OPENFOAM 171
Caso 11
Generar malla externa
En Part:
Crear cilindro con altura 40 y radio 4,5
Crear disco con rotación de 90 ° en eje X. Puntos de
traslación x: 0, y: -4,4 y z: 36
En Draft:
Matriz rectangular o polar
CURSO INTRODUCTORIO DE OPENFOAM 172
CURSO INTRODUCTORIO DE OPENFOAM 173
CURSO INTRODUCTORIO DE OPENFOAM 174
Caso 11
triSurface
Las mallas exportadas deben ir a la carpeta
constant/triSurface
Crear la malla base
surfaceCheck.exe constant/triSurface/pared.stl | grep -i 'bounding box'
CURSO INTRODUCTORIO DE OPENFOAM 175
Caso 11
blockMeshDict
blockMesh.exe
CURSO INTRODUCTORIO DE OPENFOAM 176
Caso 11
snappyHexMeshDict
snappyHexMesh.exe
Selección del tipo de
refinamiento requerido
Nivel de refinamiento
Punto de la malla que se
conserva
CURSO INTRODUCTORIO DE OPENFOAM 177
Caso 11
No se puede mostrar la imagen.
CURSO INTRODUCTORIO DE OPENFOAM 178
Caso 11
La aplicación snappyHexMeshDict crea una carpeta
temporal por cada paso que el usuario haya seleccionado.
Se diferencian porque la subcarpeta es polyMesh, esta debe
copiarse en la carpeta constant del caso.
Eliminar las carpetas 1 y 2.
CURSO INTRODUCTORIO DE OPENFOAM 179
Caso 11
Condiciones de borde
No se puede mostrar la imagen.
p U
CURSO INTRODUCTORIO DE OPENFOAM 180
Modelos de turbulencia
RANS LES
Lineales No lineales Smagorinsky
Dinámico
Modelo RNG-LES
Modelos algebraicos: Cebeci,
Baldwin Explícitos: k-Epsilon cúbico
Modelos de una ecuación: Prandtl,
Spalart Allmaras
Modelo v2-f
Modelos de dos ecuaciones: k-
Epsilon, k-Omega
CURSO INTRODUCTORIO DE OPENFOAM 181
Literatura referencia
• https://upcommons.upc.edu/bitstream/handle/2099/10445
/III%20-%20V24N3.pdf
• https://www.cfd-online.com/Wiki/Standard_k-
epsilon_model
• https://www.cfd-online.com/Wiki/Turbulence_free-
stream_boundary_conditions
CURSO INTRODUCTORIO DE OPENFOAM 182
SIMPLEFOAM p, U
CURSO INTRODUCTORIO DE OPENFOAM 183
Modelo de flujo Archivos adicionales
laminar -------------------
kEpsilon k, epsilon, nut
kOmega k, omega, nut
LRR k, epsilon, R
kOmegaSST k, Omega, nut
v2f v2, f, nut, k, epsilon
SpalartAllmaras nut, nuTilda
CURSO INTRODUCTORIO DE OPENFOAM 184
Condiciones de borde en flujos turbulentos
Variable Descripción Cálculo
U Velocidad promedio
I Intensidad de las turbulencia
k Energía turbulenta
Constante del modelo
Tasa de disipación de la turbulencia
Tasa específica de disipación de la
energía turbulenta
Escala de longitud de la turbulencia
Diámetro hidráulico
CURSO INTRODUCTORIO DE OPENFOAM 185
Caso 11
CURSO INTRODUCTORIO DE OPENFOAM 186
Caso 11
nut k epsilon
CURSO INTRODUCTORIO DE OPENFOAM 187
Caso 11