Logo Passei Direto

openfoam

Herramientas de estudio

Material
¡Estudia con miles de materiales!

Vista previa del material en texto

Introducción Utilización usuario Instalación Linux Casos test Trabajos
Dinámica de Fluidos Computacional: DFC
Introducción a OpenFOAM. Versión 0.1.1
Curso de grado en ingenieŕıa aeroespacial: CTA
jomipp@torroja.dmt.upm.es
www.cfm.upm.es/courses/undergrad
November 20, 2014
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 1 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Temario
1 Introducción
1 Descripción general de OpenFoam
2 Aplicaciones y utilidades
3 Descripción del código fuente
2 Utilización usuario
1 Casos de estudio y Post-procesado
3 Instalación
4 Comandos básicos linux
1 Casos test
1 Flujo incompresible: Lid-Driven Cavity
2 Flujo compresible: Forward-facing step
3 Flujo potencial: Cilindro
2 Trabajos
1 Trabajo en clase: Bi-Convex wing
2 Trabajos a presentar
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 2 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Introducción a OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 3 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción general de OpenFOAM
OpenFOAM (Open source Field Operation And Manipulation)
Es una biblioteca implementada en C++ orientada a resolver EDPs
and ODEs en el campo de la mecánica de medios continuos (e.g.
mecánica de fluidos computacional)
Dispone además de una variedad de programas para los problemas
tipo estándar, herramientas de pre-proceso (generadores de mallas) y
de post-proceso.
Software libre y de código abierto con Licencia Pública General GNU,
se puede: usar, estudiar, copiar y modificar.
Puede ejecutarse en sistemas tipos Unix: Linux/Macox y en Windows
a través de software de virtualización: VirtualBox
Puede ejecutarse en serie y paralelo
Se encuentra en continuo desarrollo y es competitivo con respecto a
aplicaciones industriales: Fluent, COMSOL,..
Hay numerosas universidades, instituciones y empresas que lo usan a
nivel mundial
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 4 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Modelos implementados
Numéricos:
Utiliza un esquema de volúmenes finitos
Mallas poliédricas (con arbitrario número de lados) no-estructuradas
Es segundo orden en espacio y tiempo: muchos esquemas de
discretización
Mallas estáticas, dinámicas y mallas adaptativas (refinamiento)
Paralelización: Descomposición de geometŕıa y campos
Permite realizar seguimiento lagrangiano de part́ıculas
Libreŕıa numérica para el álgebra de vectores, tensores, tratamiento de
mallas, discretización, etc.
Algoritmos de resolución de álgebra lineal
Utilidades: Importación y manipulación de mallas en distintos
formatos. Herramientas de post-procesado y manipulación de datos.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 5 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Modelos implementados
F́ısicos:
Libreŕıa de modelos f́ısicos: modelos Newtonianos y no-Newtonianos,
modelos termodinámicos, reacciones qúımicas,...
Libreŕıa de condiciones de contorno
Algoritmos básicos para la resolución de: Laplace, flujo potencial,
transporte de escalar pasivo, etc.
Algoritmos para la resolución de flujos incompresibles y compresibles:
SIMPLE, PISO.
Distintos modelos turbulentos: RANS, LES, etc
Algoritmos para la resolución de problemas de trasferencia de calor,
flujos multifásicos, electromagnetismo, acústica, etc.
Multif́ısica: interacción fluido-estructura, electromagnetismo,
acústica, MHD, etc.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 5 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Estructura de OpenFoam
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 6 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Organización. Directorios
Directorio ráız de OpenFOAM: $WM PROJECT DIR
Compilación de OpenFOAM: Allwmake
Borrado de la compilación: wcleanAll
Alias: $FOAM APP, $FOAM SRC
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 7 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Organización. Directorios
Aplicaciones de OpenFOAM: $WM PROJECT DIR/applications
solvers: fuentes de los solvers
distribuidos por la aplicación
test: fuentes de los test
utilities: fuentes de las utilidades
distribuidos por la aplicación:
Allwmake permite compilar los solvers y las utili-
dades
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 7 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Organización. Directorios
Plataformas: $WM PROJECT DIR/platforms
Contiene los binarios y libreŕıas
generados durante la compilación.
En el nombre del directorio aparece el
sistema operativo y la arquitectura
Pueden existir distintos directorios, e.g.
versiones de 32 y 64 bits
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 7 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Organización. Directorios
Restos de directorios:
src: Contiene el código fuente de las
libreŕıas que definen OpenFOAM.
finiteVolume: código fuente de las
libreŕıas para discretizar el dominio y
los operadores mediante un esquema
de volúmenes finitos. Además incluye
las condiciones de contorno.
bin: Contiene los shell scripts:
paraFoam, foamNew, foamLog, etc.
tutorials: casos ejemplo para cada unos
de los solvers.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 7 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Aplicaciones
Ubicación: $FOAM SOLVERS
basic
combustion
compressible
discreteMethods
DNS y LES
electromagnetics
financial
heatTransfer
incompressible
lagrangian
multiphase
stressAnalysis
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 8 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Aplicaciones
Flujos incompresibles:
adjointShapeOptimizationFoam
boundaryFoam
icoFoam
nonNewtonianIcoFoam
pimpleFoam
pisoFoam
potentialFreeSurfaceFoam
shallowWaterFoam
simpleFoam
icoFoam: Ejecutable para flujo incompresible, newtoniano, laminar y
transicional.
Ejercicio: Lee la definición del resto de aplicaciones en negrita y busca
diferencias
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 9 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Variables de entorno
OpenFOAM utiliza variables de entorno con el objetivo de simplificarel acceso a los distintos directorios
Estas variables de entorno están contenidas en:
$HOME/OpenFOAM/OpenFOAM-2.x.y/etc/bashrc
donde 2.x.y hace referencia a la versión: por ejemplo, 2.2.3
Añadir la siguiente linea al fichero .bashrc (.profile)
source /opt/openfoam230/etc/bashrc
Las variables están disponibles en el momento que hacemos source del
fichero anterior: $ source .bashrc
En ellas se definen direcciones de libreŕıas, compiladores,...
Nota: OpenFOAM suele utilizar los compiladores que se distribuyen con la
aplicación (carpeta ThirdParty)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 10 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Variables de entorno
Algunos ejemplos:
FOAM SOLVERS
FOAM APPBIN
FOAM TUTORIALS
FOAM JOB DIR
FOAM LIB
FOAM SITE APPBIN
FOAM MPI LIBBIN
FOAM APP
FOAM SITE LIBBIN
FOAM SRC
FOAM UTILITIES
FOAM USER LIBBIN
FOAM INST DIR
FOAM LIBBIN
FOAM RUN
FOAM USER APPBIN
Ejercicio: Buscar el significado de estas variables.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 10 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción del código fuente
Árbol de directorios:
appName: contiene el código fuente
Make: contiene las instrucciones a seguir durante la compilación
appName/appName.C: Código fuente
appName/createFields.H: Declara e inicializa todos los campos
usados durante la simulación
Make/files: Declara todas las fuentes (ficheros .C) usados en la
compilación. Declara la localización del ejecutable
Make/options: Especifica los directorios donde están los ficheros de
cabecera y las libreŕıas usadas en el compilación
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 11 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción del código fuente
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
Para ubicar tus aplicaciones: $WM PROJECT USER DIR
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 12 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción del código fuente
La programación a nivel de usuario es muy próxima a la f́ısica del problema
sin que el usuario tenga que preocuparse por cuestiones tales como la
discretización del dominio, de las ecuaciones, el esquema temporal,
parelización, etc.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 13 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción del código fuente
Ejemplo 1: Ecuación de difusión
∂T
∂t
−∇ · k∇T = 0
// scalar tranport equation
solve
(
fvm::ddt(T) // Unsteady term
- fvm:: laplacian(k, T) // Diffusive term
);
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 13 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción del código fuente
Ejemplo 2: Ecuación de Navier-Stokes
∂ρU
∂t
+∇ · φU −∇ · µ∇U = −∇p
solve (
fvm::ddt(rho , U)
+ fvm::div(phi , U)
- fvm:: laplacian(mu, U)
==
- fvc::grad(p)
);
Espacios de nombres: fvm o fvc
Clases: rho, U,..
Sobrecarga de operadores +, -, ==
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 13 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Descripción del código fuente
createFields.H
Info << "Reading field U\n" << endl;
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh ,
IOobject ::MUST_READ ,
IOobject :: AUTO_WRITE
),
mesh
);
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 13 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Utilización usuario
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 14 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Árbol t́ıpico
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 15 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Descripción general del árbol
El directorio 0 contiene la definición de las condiciones de contorno y
la condición inicial
El resto de directorios numéricos contienen los resultados de la
simulación a distintos tiempos
La información contenida en estos directorios es similar a la contenida
en el directorio 0, pero sustituyendo el campo interno por la solución al
tiempo con el que se define la carpeta. Además se añade el fichero φ el
cuál contiene los flujos sobre las caras de los volúmenes de control
El directorio constant contiene la definición de la malla aśı como
diccionarios en los que se definen las propiedades termodinámicas y
los modelos turbulentos
El directorio system contiene los parámetros de la simulación,
definición de los esquemas de discretización y resolución: controlDict,
fvSchemes, fvSolution,...
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 16 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Ejemplo
Flujo incompresible en una Lid Driven Cavity 2D
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 17 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Cabecera
Cabecera de los ficheros de entrada:
Ir a: cd OpenFOAM/<usuario>/run/tutorials/incompressible/cavity
Nota: La ruta exacta puede depender de la versión de OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 18 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
Diccionarios contenidos en controlDict
controlDict: Definición de los parámetros de simulación: tiempo
inicial, tiempo final, paso de tiempo (cfl), escritura de ficheros
durante la simulación,... aśı como funciones de post-procesado a
ejecutar en tiempo de simulación
fvSchemes: contiene instrucciones sobre qué esquemas de
discretización deben ser usados en los distintos términos de las
ecuaciones
fvSolution: contiene los esquemas numéricos que deben ser usados:
esquemas temporales, esquemas de resolución de sistemas lineales, etc
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 19 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
./system/controlDict
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 20 / 66
IntroducciónUtilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
./system/controlDict
application: indica el solver a usar
startFrom: tiempo de inicio de la simulación
stopAt: tiempo final de la simulación
deltaT: paso temporal en segundos
writeControl: modo de escritura de datos
purgeWrite: número total de escritorios almacenados (sobrescritura
ćıclica)
writeFormat: formato de escritura (binary/ascii)
writePrecision: precisión de escritura para formato ascii
writeCompression: almacena la solución comprimida o no
timeFormat: formato utilizado a la hora de nombrar las carpetas
temporales
runTimeModifiable: indica si el diccionario controlDict será
modificable en tiempo de ejecución
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 20 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
./system/fvSchemes
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 21 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
./system/fvSchemes
Métodos de discretización: Se definen las discretizaciones a utilizar en
cada uno de los operadores. Para ello hay disponibles distintos métodos.
ddtSchemes: discretización de las derivadas temporales
gradSchemes: discretización utilizada en el operador gradiente
divSchemes: discretización utilizada en el operador divergencia
placianSchemes: discretización utilizada en el operador laplaciano
interpolationSchemes: métodos de interpolación usados
snGradSchemes: esquema utilizado en el cálculo del gradiente normal
a las superficies
fluxRequired: variables a partir de las cuales se construyen los flujos
Nota: default none; significa que los esquemas deben ser
expĺıcitamente definidos
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 21 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
./system/fvSolution
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 22 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. controlDict
./system/fvSolution
Algoritmos utilizados en la resolución del problema:
solvers: lista de solvers lineales utilizados
solver: solver lineal utilizado para discretizar cada ecuación en
particular
preconditioner: precondicionador
tolerance: valor ḿınimo del residuo deseado
relTol: tolerancia relativa (comparación con residuos iniciales)
Caso particular icoFoam:
PISO: algoritmo de resolución (problemas no estacionarios)
SIMPLE: algoritmo de resolución (problemas estacionarios)
nCorrectors: correctores
nNonOrthogonalCorrectors: iteraciones (ortogonalidad de la malla)
pRefPoint: punto de referencia del valor de la presión
pRefValue: valor de referencia de la presión
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 22 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Propiedades f́ısicas
./constant/tansportProperties
Propiedades f́ısicas (flujos incompresibles):
Viscosidad cinemática:
nu nu[0 2 − 1 0 0 0 0] 0.01;
Dimensiones en OpenFoam
Tabla sacada del manual de usuario de OpenFOAMr, 2.3.0
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 23 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Propiedades f́ısicas
./constant/thermophisicalProperties
Propiedades f́ısicas (flujos compresibles):
molWeigh [g/mol], Cp (Calor espećıfico), Hf (Calor de fusión),
mu (Viscosidad dinámica), Pr = cpµ/k
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 24 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Propiedades f́ısicas
./constant/turbulenceProperties
Modelo de turbulencia RANS:
simulationType RASModel;
./constant/RASProperties
RASModel kEpsilon;
turbulence on;
printCoeffs on;
Nota: Modificación de: ./0/U
mut: viscosidad turbulenta (función de pared)
k: enerǵıa cinética
epsilon: disipación
alphat: difusividad térmica (transferencia de calor turbulenta)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 25 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
convertToMeters 0.1; multiplica las coordenadas por 0.1
Los vértices definen un bloque tridimensional. OpenFOAM siempre
usa bloques tridimensionales incluso cuando realiza simulaciones
bidimensionales
Los bloques se definen en la sección blocks
hex sirve para definir un bloque estructurado de tipo hexaedro
Los números (20 20 1) son el número de celdas o volúmenes de
control en cada dirección (x , y y z)
simpleGradient define el ratio de expansión. En este caso se considera
una malla equi-espaciada
Ejercicio: Buscar otras alternativas para simpleGradient
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
A continuación se definen tres parches que permiten especificar las
condiciones de contorno. En cada uno se define el tipo, nombre y lista
de contornos:
wall fixedWalls (
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
)
wall es el tipo de contorno
fixeWalls es el nombre del parche
En este caso el parche contiene tres caras definidas a partir de los
vértices definidos en “vertices”. El vector normal debe apuntar hacia
fuera del dominio computacional
Los nombres de los parches en este problema son: movingWall,
fixedWalls y frontAndBack.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
blockMesh genera una serie de ficheros en el directorio
/constant/polyMesh:
boundary (muestralas definiciones de los parches)
faces (caras)
neighbour (vecinos de cada celda)
owner
points (puntos)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
Geometŕıas complejas: (uso de Edges tipo arc)
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
Geometŕıas complejas: (uso de Edges tipo spline)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
Tipo de Edges:
Tabla sacada del manual de usuario de OpenFOAMr, 2.3.0
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
Ejemplos:
arco definido entre los vertices
12 y 13 que pasa por el punto
(x,y,z) = (-0.5657,0.5657,0.01)
spline definida entre los vértices
0 y 1 a partir de los puntos
definidos en la lista definida a
continuación. Cada fila
corresponde con un punto
(x,y,z)
Nota: En la figura del naca anterior se
necesitan cuatro splines: dos para el lado
de succión y otras dos para el lado de
presión
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. blockMeshDict
./constant/polyMesh/blockMeshDict
Calidad de la malla:
Ortogonalidad
Skewness
Ratio entre dimensiones: AR = ∆x/∆y
Suavidad de la tasa de crecimiento entre celdas adyacentes:
∆y2/∆y1 < tolerancia (1.2)
checkMesh, proporciona:
Estad́ıstica de la malla
Chequea la topoloǵıa, incluyendo las condiciones de contorno
Chequea la geometŕıa y la calidad de la malla
La información de los errores la escribe en: constant/polyMesh/sets/
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 26 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio. Condición inicial y de contorno
./0/U & ./0/p
internalField: campo interno fluido (uniform/nonuniform)
boundaryField: condiciones de contorno
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 27 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio: icoFoam
Resuelve las ecuaciones de Navier-Stokes incompresible
Usa el algoritmo PISO (pressure-implicit splitting operator) para resolver
las ecuaciones:
1 Realiza una estimación de p a partir de la solución obtenida en el
paso anterior
2 Predicción: Resuelve las ecuaciones de Navier-Stokes con lo que se
obtiene una estimación de U = (u, v ,w)
3 Resuelve la ecuación de Poisson para la presión
4 Corrige la solución para cumplir la ecuación de continuidad
5 Regresa al punto 2 hasta alcanzar convergencia
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 28 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos de estudio: icoFoam
Resuelve las ecuaciones de Navier-Stokes incompresible
∇ ·U = 0
∂u
∂t
+ U · ∇u = −1
ρ
∂p
∂x
+ ν∇2u .
∂v
∂t
+ U · ∇v = −1
ρ
∂p
∂x
+ ν∇2v .
∂w
∂t
+ U · ∇w = −1
ρ
∂p
∂x
+ ν∇2w .
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 28 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Comentarios generales
Una mala calidad de la malla puede generar que las simulaciones sean
muy lentas
Una condición de contorno no f́ısica puede empeorar la estabilidad y
ritmo de convergencia, haciendo incluso que falle la simulación
Se puede utilizar como condición inicial la obtenida con una malla
más gruesa e interpolando luego sobre una malla fina (mapFields)
Truco: una forma de saber qué opciones hay disponibles en los
argumentos de los ficheros definidos en system consiste en introducir
un nombre erróneo y lanzar la aplicación. Aparecerá un mensaje de
error con un listado de las opciones disponibles. Ej. grad(p) dummy;
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 29 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Generación de mallas
blockMesh:
Se usa para geometŕıas simples
Genera mallas multibloques de hexaedros
Usa el diccionario: blockMeshDict
snappyHexMesh:
Se usa para geometŕıas complejas
Genera mallas con hexaedros y hexaedros truncados
Usa el diccionario: snappyHexMeshDict
Malladores externos. Ejemplo: GMSH. Genera mallas bi- y
tridimensionales estructuradas y no-estructuradas
Nota: Las mallas basadas en hexaedros dan soluciones más precisas, sobre
todo si las lineas de la malla están alineadas con el flujo
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 30 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. Comandos a lanzar desde la
consola/terminal
Mach: determina el número de Mach
Co: calcula el número de Courant
Pe: calcula el número de Peclet
vorticity: calcula la vorticidad
streamFunction: calcula la función de corriente asociada al campo de
velocidad
wallGradU: calcula el esfuerzo cortante en la pared 1
Q: calcula el segundo invariante del tensor gradiente de velocidad
Lambda, uprime, enstrophy, ..., (para más información) ver Tabla 3.6
del Manual de Usuario
1Para que funcione es necesaria la existencia de los diccionarios turbulenceProperties
y RASProperties dentro del directorio ./system
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 31 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. Sample
La aplicación sample permite extraer datos en puntos marcados en el
dominio (hay que añadir el fichero sampleDict en el directorio ./system)
interpolationScheme cellPoint;
setFormat gnuplot;
writeFormat gnuplot;
sets
(
somePoints
{
type cloud;
axis xyz;
points ((0.05 0.05 0.0));
}
);
fields ( U );
// fields ( magU );
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 32 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. Sample
Definiciones:
interpolationScheme: Esquema de interpolación de datos
sets: Los lugares en el dominio en los que se evalúan los campos (1D)
surfaces: Los lugares en el dominio en los que se evalúan los campos
(2D)
setFormat: Formato de los datos de salida (raw,gnuplot,...) (1D)
surfaceFormat: Formato de los datos de salida (raw, vtk, stl,...) (2D)
fields: Campos a ser muestreados
Procedimiento de ejecución:
Tras la ejecución de OpenFOAM (por ejemplo icoFoam), se lanza el
comando sample desde la consola. (Ejemplo: estando en ./cavity,
ejecutar ./sample)
sample genera un nuevo directorio: ./postProcessing/sets (versión
2.3.0 de OpenFOAM) o ./sets (versión 2.1.1 de OpenFOAM), que
contiene la información especificada en ./system/sampleDict
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 33 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects
Es posible realizar algunas extracciones y manipulaciones de los datos
durante la simulación mediante el uso de las funciones objetos las cuales se
definen en el diccionario controlDict
Estas funciones son pequeños segmentos de código que se ejecutan en cada
paso de tiempo, o intervalos regulares, sin que se linke con la aplicación
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 34 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects
Ejemplo 1: Valores promediados (estacionario)
functions
{
fieldAverage1
{
type fieldAverage;
functionObjectLibs ( "libfieldFunctionObjects.so" );
enabled true;
outputControl outputTime;
fields
(
U
{
mean on;
prime2Mean on;
base time;
}
);
}}
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 34 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects
Ejemplo 2: Cálculo de fuerzas/coeficientes lift y drag:
functions
{
forces
{
type forces;
functionObjectLibs ("libforces.so");
patches (NACA);
rhoName rhoInf;
rhoInf 1.0;
CofR ( 0.02 0 0);
}
// ... continua
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 35 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects
Ejemplo 2: Cálculo de fuerzas/coeficientes lift y drag:
forceCoeffs
{
type forceCoeffs;
functionObjectLibs ("libforces.so");
patches (NACA);
rhoName rhoInf;
rhoInf 1.0;
CofR (0 0 0);
liftDir (0 1 0);
dragDir (1 0 0);
pitchAxis (0 0 1);
magUInf 1.0;
lRef 0.2;
Aref 0.00049087;
}
};
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 35 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects
Descripción:
rhoInf: Densidad de referencia
CofR: Centro de momentos
dragDir: Dirección fuerza resistencia
liftDir: Dirección fuerza sustentación
pitchAxis: Dirección fuerza lateral
magUinf: Magnitud de la velocidad en el infinito
lref: Longitud de referencia (ejemplo: máximo diametro del bi-convex
wing)
Aref: Área de referencia (ejemplo: área proyectada: lref × máximo
espesor)
Diferencias entre sistemas operativos:
Linux: libforces.so
Macosx: libforces.dylib
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 36 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects. Por ejemplo en Macosx
Ejercicio: Qué efecto tiene? enabled true; y outputControl timeStep;
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 37 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. Probes
Ejemplo 3: Proporciona datos en un punto de muestro:
functions
{
probes1 {
type probes;
functionObjectLibs ("libsampling.so");
probeLocations ( (2 1 0) );
fields (p U);
outputControl timeStep;
outputInterval 1;
}
}
Tras la ejecución se genera una carpeta postProcessing/probes con la
información especificada en el diccionario /system/probesDict
Los valores se salvan en un fichero ASCII con el nombre del campo en
los puntos de muestreo
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 38 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Post-procesado. functionObjects
Lista de funciones: functionObjects
fieldAverage: promediado temporal de los campos
forces: calcula fuerzas de presión/viscosas y momentos
fieldValue: promedia/integra campos sobre caras o celdas
sets: valor de variables en puntos y lineas en función del tiempo de
muestreo
probes: muestreo de datos en ciertas localizaciones
streamlines: genera ĺıneas de corriente
isoSurface: genera iso-superficies
cuttingPlane: calcula el valor de los campo en una superficie de corte
fieldMinMax: escribe el máximo y ḿınimo de los campos
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 39 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 40 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
La última versión disponible de OpenFOAM es: 2.3.0
OpenFOAM funciona fundamentalmente en entorno linux
(Ubuntu/SuSE/Red Hat)
Existen parches que permiten compilar versión previas en MAC,
aunque no suele ser directo
OpenFOAM funciona en Windows, correctamente, sólo a través de
virtualizaciones: VirtualBox, cygwin, etc.
La forma más fácil de instalar OpenFOAM es a través de la descarga
de paquetes pre-compilados (deb pack de ubuntu, rpm en suse, etc,...)
La forma ideal de instalarlo es mediante la compilación y linkado a
través de los fuentes: fuentes o Git
Para la instalación seguir las instrucciones proporcionadas en:
http://www.openfoam.org/download/
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 41 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
Ubuntu:
Seguir las indicaciones:
http://www.openfoam.org/download/ubuntu.php
lanzar,
VERS=$(lsb release -cs)
sudo sh -c "echo deb http://www.openfoam.org/download/ubuntu
$VERS main > /etc/apt/sources.list.d/openfoam.list"
sudo apt-get update
sudo apt-get install openfoam230
sudo apt-get install paraviewopenfoam410
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 42 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
Mac: Instalación
1 Crear una carpeta OpenFOAM en la carpeta personal
1 Abrir terminal
2 mkdir ∼/OpenFOAM
2 Copiar Mac-OF-Original-2.1.dmg en la carpeta creada
1 cp ./Mac-OF-Original-2.1.dmg ∼/OpenFOAM
3 Poner scripts de arranque y parada: startOF-2.1.sh y
stopOF-2.1.sh en la carpeta creada
1 cp ./startOF-2.1.sh ∼/OpenFOAM
2 cp ./stopOF-2.1.sh ∼/OpenFOAM
4 Crear un link en la carpeta OpenFOAM
1 textttcd ∼/OpenFOAM
2 ln -s /Volumes/OF-Org-2.1/ OF-Org-2.1
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional:DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 42 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
Mac: Instalación
1 Crear el fichero .profile en el HOME directory, si no existe, y añadir
las siguientes ĺıneas:
export FOAM INST DIR=/Volumes/OF-Org-2.1
foamDotFile=$FOAM INST DIR/OpenFOAM-2.1.1/etc/bashrc
[ -f $foamDotFile ] && source $foamDotFile
2 Instalar paraview a través de un dmg:
http://www.paraview.org/download/
3 Modificar /Volumes/OF-Org-2.1/OpenFOAM-2.1.1/bin/paraFoam
Abrir el fichero y cambiar la ruta de paraview, definida en,...
"/Applications/ParaView 3.10.1.app/Contents/MacOS/paraview"
--data= ...
por la ruta de paraview en vuestro ordenador. Para la versión 4.2.0,...
"/Applications/paraview.app/Contents/MacOS/paraview" --data=
...
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 42 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
Mac: Arrancar y parar
Opción 1 .
1 Arrancar: Doble click en Mac-OF-Original-2.1.dmg
2 Parar: Arrastrar a la papelera el disco montado en el
escritorio: OF-Org-2.1
Opción 2 .
1 Arrancar: Lanzar el script de arranque desde un
terminal:
1 cd ∼/OpenFOAM
2 sh startOF-2.1.sh
2 Parar: Lanzar el script de parada desde un terminal:
1 cd ∼/OpenFOAM
2 sh stopOF-2.1.sh
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 42 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM
Windows:
Instalar la máquina virtual:
https://www.virtualbox.org/wiki/Downloads
Instalar la imagen de ubuntu con OpenFoam proporcionada en el
curso: ubuntu.vdi
Arrancar ubuntu
Abrir un terminal: Crtl+Alt+T
Añadir source /opt/openfoam230/etc/bashrc en el fichero de
configuración .bashrc
Nota: Tamaño máximo 20 Gb (re-definir el tamaño de ubuntu.vdi)
Nota: Habilitar virtualización en la BIOS!!!
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 42 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Abrir VirtualBox
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Definir el sistema operativo: Ubuntu de 64 bits (continuar)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Definir la memoria: 2048 MB
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Copiar Ubuntu.vdi en la carpeta Ubuntu creada por VirtualBox
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Copiar Ubuntu.vdi en la carpeta Ubuntu creada por VirtualBox
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Usar Ubuntu.vdi (Use an existing,...) y pinchar en carpeta/śımbolo verde
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Seleccionar ./VirtualBox/Ubuntu/Ubuntu.vdi
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Elegir el tamaño del disco duro (20 Gb)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Pinchar en settings y verificar la pestaña general
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Promocionar Hard Disk al primer lugar
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Seleccionar el máximo de memoria de v́ıdeo: 128 Mb
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Configurar la conexión entre el sistema virtual y el ordenador
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Pinchar en Start
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Instalación de OpenFOAM. Windows
Introducir clave: openfoam
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 43 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Configuración de OpenFOAM
Crear copia de los casos test:
Crear directorio de usuario:
mkdir -p $FOAM RUN
Crear copia de los casos test en usuario:
cp -r $FOAM TUTORIALS $FOAM RUN
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 44 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Linux
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 45 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Comandos Linux básicos
Crear ficheros: Editores (gedit), touch,...
Crear directorios: mkdir directorio
Borrar ficheros y/o carpetas (comandos): rm, rmdir
rm nombre fichero
rm -r nombre directorio
Copiar ficheros: cp (cp origen destino)
Copiar directorios: cp (cp -r origen destino)
Mover ficheros: mv (mv origen destino)
Cambios de directorios:
cd directoriocd (va al HOME)
cd .. (sube un nivel en el árbol de directorios)
pwd muestra la ruta del directorio en el que estáis
ls muestra el contenido de la carpeta en la que estáis
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 46 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Casos test
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 47 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 1. Lid-driven cavity
Ejercicio 1: Lid-driven cavity con malla refinada para Reynolds 10, 100 y
1000
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
cd $FOAM RUN/tutorials/incompressible/icoFoam/cavity
Nota: La ruta anterior puede depender de la versión de OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 48 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 1. Lid-driven cavity
Es recomendable hacer una copia de los tutoriales en vuestro usuario:
cp -r $FOAM TUTORIALS/icoFoam/cavity $FOAM RUN
cd $FOAM RUN/cavity
Nota: La ruta anterior puede depender de la versión de OpenFOAM
Test caso estándar. La velocidad es cero en la pared inferior y las
paredes laterales, mientras que es igual a u = 1 en la pared superior
El flujo se considera incompresible, isotermo y laminar
La solución se puede obtener mediante la utilización del integrador
icoFoam (icoFoam > log&)
La malla se crea mediante la utilización de la herramienta blockMesh
la cual lee el diccionario blockMeshDict
Las propiedades de la malla se pueden chequear mediante la llamada:
checkMesh
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 49 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 1. Lid-driven cavity
... continua
La geometŕıa, malla e identificación de los contornos se especifican en
el fichero blockMeshDict.
Las condiciones de contorno se definen en los ficheros del directorio 0.
Paredes fijas:
Velocidad: type fixedValue value uniform (0 0 0)
Presión: type zeroGradient
Pared móvil:
Velocidad: type fixedValue value uniform (1 0 0)
Presión: type zeroGradient
la solución se puede ver mediante la llamada a paraFoam
foamLog log (genera el directorio logs con información de los residuos
y el número de Courant en función del tiempo)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 49 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 2. Forward-facing step
Ejercicio 2: Forward-facing step: M=3, 4 (sin viscosidad) y M=3 con
Reh=430
Imagen sacada del manual de usuario de OpenFOAMr, 2.3.0
cd $FOAM RUN/tutorials/compressible/sonicFoam/laminar/forwardStep
Nota: La ruta anterior puede depender de la versión de OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 50 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 2. Forward-facing step. Ecuaciones
Conservación de la masa:
∂ρ
∂t
+∇ · (ρU) = 0
Conservación del momento:
∂ρU
∂t
+∇ · (ρUU)−∇ · µ∇U = −∇p
Conservación de la enerǵıa (ignorando términos viscosos):
∂ρe
∂t
+∇ · (ρUe)−∇ · ( k
Cv
)∇e = p∇ ·U
donde, p = ρRT , e = CvT y q = −k∇T
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 51 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 2. Forward-facing step. Ecuaciones
Condiciones iniciales: U = 0m/s, p = 1Pa y T = 1K
Condiciones de contorno:
Entrada: U = 3m/s, Ma = 3, p = 1Pa y T = 1K
Salida: zeroGradient para U, p y T
Pared (abajo): No-deslizamiento y adiabática
Pared (arriba): Plano de simetŕıa
Condiciones de transporte: µ = 18.1µPas
Propiedades termodinámicas: Cv = 1.78571J/Kg K ,
R = 0.714286J/Kg K y k = 33.3µW /m K
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 51 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 2. Forward-facing step. Ecuaciones
Ejemplo: Aire
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 51 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Caso test 3. Flujo alrededor de un cilindro
Ejercicio 3: Cilindro a Reynolds 30, 150 y 300 (icoFoam)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 52 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Generar a partir de cavityGrade
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Añadir bloques
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Añadir bloques
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Vertices
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Bloques
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación LinuxCasos test Trabajos
Ejercicio para clase. Bi-convex wing
inflow y outflow
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
up, down y walls
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Simetŕıa
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Condiciones de contorno
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Fin de la simulación?
-30
-25
-20
-15
-10
-5
 0
 0 10 20 30 40 50 60 70 80
lo
g
(a
b
s
(u
-c
)/
c
)
Time
fitting
fitting
σ1 = -0.049369, σ2=-0.049369
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejercicio para clase. Bi-convex wing
Mejoras: Acumular volúmenes de control cerca de las paredes
modificando los valores R en simpleGrading para cada una de las
direcciones espaciales:
R : ratio entre la celda mayor y menor a lo largo de una dirección
δx = l
r − 1
αr − 1
(longitud más pequeña del volumen de control en la
dirección de estudio)
l : longitud del dominio computacional en la dirección de estudio
r = R1/(n−1) : ratio entre las longitudes de dos celdas consecutivas
α :
α =
{
R para R > 1,
1− 1/rn + 1/r para R < 1
Recordar que debéis ser consistentes en cuanto al número de
volúmenes de control en la frontera dos bloques vecinos
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 53 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Procedimiento
Procedimiento:
blockMesh
checkMesh
icoFoam o sonicFoam o,...
Post-procesado
paraFoam
Recuerda:
Solvers: icoFoam, sonicFoam, ...
Lanzar solvers: sonicFoam > log &
Evolución tail -f log
Comprueba la convergencia de tu solución: sample de U
Para cambiar el Re se debe modificar la viscosidad
(./constant/ Properties)
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 54 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Cálculos
Convergencia en tiempo:
El número CFL debe ser menor que uno
Se puede decir que el flujo está convergido si el valor del campo en un
punto es constate en el tiempo o cambia periódicamente
Convergencia en espacio:
Realizar un estudio de convergencia. La solución esta convergida
cuando un incremento en resolución no implica cambios importantes
en el valor del campo en cualquier punto del dominio
La densidad de la malla debe ser lo suficientemente alta como para
capturar las caracteŕısticas relevantes del flujo. Se pueden utilizar
resoluciones más bajas en aquellas regiones en las que la solución
presenta pequeños gradientes
Una pobre calidad de la malla puede generar soluciones incorrectas o
convergencia lenta de la solución
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 55 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Cálculos
Independencia de la malla:
Crear cuatro casos test con diferente número de celdas
Ejecutar los casos (bockMesh + icoFOAM)
Comparar el valor de la velocidad en un punto del dominio al final de
la simulación
Obtener la resolución a partir de la cual la solución es independiente
Calcula:
coeficientes de fuerzas (lift y drag)
número de Mach
vorticidad
número de Reynolds
valores medios
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 56 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Interpretación logs
El residuo final es menor que la tolerancia considerada en fvSolution
(tolerance 1e-05;)
El residuo en presión se escribe dos veces en cada paso de tiempo.
Esto se debe a que nCorrectors es igual a 2 en la definición del
algoritmo PISO descrito en fvSolution
El tiempo de ejecución es el tiempo CPU entre dos iteradas mientras
que el tiempo ”ClockTime” se corresponde con el tiempo de reloj
para el último paso
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 57 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejecución en paralelo
./system/decomposeParDict
Para correr en paralelo se necesita:
Descomponer el dominio. Para ello se utiliza la herramienta
decomposePar y el diccionario decomposeParDict el cual se debe
definir en system. El número de dominios debe ser igual al número de
núcleos disponibles. Tras el proceso se generan una serie de
directorios de 0 a N siendo N+1 el número de núcleos a utilizar.
Distribuir el trabajo entre núcleos. Durante el proceso cada
procesador ejecuta una copia del solver en cada uno de los
sub-dominios generados en el proceso anterior mediante el uso de
MPI. mpirun -np 8 solver name -parallel
La solución se reconstruye usando la herramienta reconstrucPar. Cada
solución puede ser post-procesada individualmente: paraFoam -case
processor0.
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 58 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Ejecución en paralelo
./system/decomposeParDict
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 58 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Trabajos
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 59 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 1: Flujo incompresible alrededor de un cilindro
Condiciones de contorno:
Flujo de entrada: U=1, V=0, p=1
Flujo de salida: ∂U/∂n = 0, p=0
Pared: Condición de simetŕıa
Superficie cuerpo: U=0, V=0
Condición inicial:
U = 0 m/s, p = 1 Pa
D = 1m
Parámetros:
Re = ρUD/µ
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 60 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 1
1 Para Re ≤ 40 se pide:
Cp(s), donde s ∈ [0, π], BA (s=0), BS (s=π)
CD , CL
2 Para Re ≥ 50 se pide:
St (número de Strouhal) de la calle de Von Kármán
CD(t), CL(t)
C p(s), donde s ∈ [0, π], BA (s=0), BS (s=π)
CD , CL
Notas: BA = Borde de Ataque, BS = Borde de Salida, X = valor medio
en el tiempo del coeficiente X
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 61 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 1
3 Estudiar convergencia de la solución en función de
Lx , Ly
Resolución y paso de tiempo
4 Comparar con datos experimentales
5 Caracterizar el campo fluido obtenido por OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 62 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 2: Flujo incompresible alrededor de NACA-0015
Condiciones de contorno:
Flujo de entrada: U=1, V=0, p=1
Flujo de salida: ∂U/∂n = 0, p=0
Pared: Condición de simetŕıa
Superficie cuerpo: U=0, V=0
Condición inicial:
U = 0 m/s, p = 1 Pa
c = 1m
Parámetros:
Re = ρUc/µ
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 63 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 2
Para Re dado, calcula:
1 los siguientes parámetros y curvas para un α dado:
St de la calle de Von Kármán
CD(t), CL(t), CM1/4 (t)
C p(s) (donde s es la longitud de arco)
CD , CL, CM1/4 , CMBA , xcp
2 Estudiar convergencia de la solución en función de
Lx , Ly
Resolución y paso de tiempo
3 Comparar con datos experimentales
4 Caracterizar el campo fluido obtenido con OpenFOAM
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 64 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 3: Flujo incompresible alrededor de NACA-4415
Condiciones de contorno:
Flujo de entrada: U=1, V=0, p=1
Flujo de salida: ∂U/∂n = 0, p=0
Pared: Condición de simetŕıa
Superficie cuerpo: U=0, V=0
Condición inicial:
U = 0 m/s, p = 1 Pa
c = 1m
Parámetros:
Re = ρUc/µ
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 65 / 66
Introducción Utilización usuario Instalación Linux Casos test Trabajos
Problema 3
Para Re dado, calcula:
1 los siguientes parámetros y curvas para un α dado:
St de la calle de Von Kármán
CD(t), CL(t), CM1/4 (t)
C p(s) (donde s es la longitud de arco)
CD , CL, CM1/4 , CMBA , xcp
2 Estudiar convergencia de la solución en función de
Lx , Ly
Resolución y paso de tiempo
3 Comparar con datos experimentales
4 Caracterizar el campo fluido obtenido por OpenFOAM
Definición de la ĺınea media del perfil en
http://airfoiltools.com/airfoil/naca4digit
jomipp@torroja.dmt.upm.es www.cfm.upm.es/courses/undergrad ( )Dinámica de Fluidos Computacional: DFC Introducción a OpenFOAM. Versión 0.1.1November 20, 2014 66 / 66
	Introducción
	Utilización usuario
	Instalación
	Linux
	Casos test
	Trabajos