INTRODUCCIÓN A LA DISCIPLINA CFD MEDIANTE UNA...
-
Upload
nguyentruc -
Category
Documents
-
view
219 -
download
0
Transcript of INTRODUCCIÓN A LA DISCIPLINA CFD MEDIANTE UNA...
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
INTRODUCCIÓN A LA DISCIPLINA CFD MEDIANTE UNA
IMPLEMENTACIÓN DEMOSTRATIVA 1Reséndiz Rosas Celerino, 1Gómez Mercado Abdiel, 2Toledo Velázquez Miguel
1División de Estudios de Posgrado e Investigación, Instituto Tecnológico de Pachuca.
Carretera México-Pachuca km 87.5, A. P. 276, C.P. 42080, Col. Venta Prieta, Pachuca Hgo., MÉXICO. Teléfono. : (771) 7113073, extensión 139, www.itpachuca.edu.mx
2Instituto Politécnico Nacional SEPI-ESIME-Zac.
Av. Luis Enrique Erro S/N, U.P. Adolfo López Mateos Edif. 5, 3er. Piso, Zacatenco, México D.F., MÉXICO.
Teléfono. : (555) 7296000, www.esimez.ipn.mx
[email protected], [email protected], [email protected]
RESUMEN
El presente trabajo aborda el problema de
mostrar la implementación del método del
volumen finito (MVF) a una ecuación de
conservación dos dimensional (2D) que modela
el transporte de una cantidad escalar 𝜑. El MVF
es el más empleado en la solución de problemas
de flujo de fluidos con geometrías complejas y en
software comercial como FLUENT. La
motivación del trabajo es mostrar al estudioso
de dichos paquetes la metodología general
seguida, la terminología, las bases
fundamentales y la programación en al menos
parte de los problemas de la dinámica
computacional de fluidos (CFD por sus siglas en
inglés). Los paquetes comerciales tienen
generalmente incorporado un sistema de
documentación y tutoriales para capacitación.
En experiencia del autor, sin embargo, dicha
documentación es insuficiente y más ilustración
es requerida para que el estudiante tenga una
mejor apreciación del proceso CFD.
ABSTRACT
This work addresses the challenge of showing
the implementation of the finite volume method
(FVM) for a two dimensional (2D) conservation
equation that models the transport of a scalar
quantity 𝜑. The FVM is the most employed
method for the solution of fluid flow problems in
complex geometries and in commercial software
packages like FLUENT. The motivation of the
work is to show the studious of such problems
and packages the general methodology followed,
terminology, fundamentals and programing tips
for at least part of the problems addressed in
computational fluid dynamics (CFD). The CFD
commercial software generally has a built in
documentation system and training tutorials. It is
the author’s experience, however, that such
system and training do not provide enough
information and more illustration is required for
the student to have a better insight of the CFD
process.
INTRODUCCIÓN
El trabajo muestra la mayoría de los pasos
utilizados en todo estudio CFD a saber: análisis
del problema, generación de malla, modelos,
inicialización, solución, monitoreo, convergencia
y postprocesamiento [1]. En el desarrollo se
emplea mayormente el software MATLAB, ideal
para el propósito de este trabajo en vista de que
cuenta con capacidades gráficas y de
programación excelentes. El trabajo sirve
principalmente para profesores enseñando la
materia de CFD usando software comercial en
vista de que se abordan muchos de los términos
empleados en ésta [1]. Se muestra cómo llegar a
la solución de un problema en estado
estacionario dando detalles en el orden
regularmente seguido.
El problema a resolver es en estado estacionario
(independiente del tiempo) pero se resuelve,
iterativamente, el problema transitorio
correspondiente usando el método de las líneas
[2], procedimiento iterativo mediante el cual se
lleva al problema transitorio hasta el estado
estacionario, tal como opera el software
comercial comúnmente [3].
ESTABLECIMIENTO DEL PROBLEMA
Se trata sobre el transporte de una cantidad
escalar 𝜑 en un campo de velocidad conocido
𝑣𝑥 = 𝑥, 𝑣𝑦 = −𝑦 que representa el flujo de un
fluido cerca de un punto de estancamiento [4]. El
dominio 2D junto con las condiciones de frontera
para este problema se muestra en la figura 1.
Otros datos del fluido son la densidad y
coeficiente de difusión, 𝜌 = 1 y 𝛤 = 0.01,
respectivamente (ambas constantes y en unidades
ISBN 978-607-95309-9-0 Página | 567 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
S.I).
Figura 1. Geometría y condiciones de frontera para el
transporte escalar de 𝜑 en un flujo de punto de
estancamiento.
Como un primer acercamiento a las necesidades
gráficas en CFD se ilustra el campo de
velocidades mencionado junto con el campo de
líneas de corriente en las figuras 2 y 3, ambas
obtenidas con MATLAB.
La ecuación a resolver es el estado estable de la
siguiente ecuación de conservación 𝜕
𝜕𝑡∫ 𝜌𝜑𝑑𝑡
𝑉= −∫ 𝜌𝜑�� ∙ 𝑑𝑆
𝑆+ ∫ 𝛤∇𝜑 ∙ 𝑑𝑆
𝑆 (1)
En esta ecuación la integral de la izquierda es de
volumen V que representa al dominio bajo
estudio (figura 1). Las integrales de la derecha de
(1) son de superficie, S, denotando la frontera de
V en este caso. El término de la izquierda de (1)
es el transitorio usado en el método de las líneas
para resolver el problema en estado estable. La
primera integral del término de la derecha de (1)
es el flux convectivo fc y la segunda el difusivo
fd. La razón para tratarlos en diferentes integrales
es que en la discretización se pueden tratar con
esquemas diferentes de interpolación [5]. En este
trabajo sin embargo se usa para ambos fluxes
esquemas centrales de interpolación como se
verá adelante.
DESARROLLO
Generación de malla
Se emplea una malla estructurada consistente de
celdas uniformes a lo largo de x y y (figura 4).
En cada centroide de las celdas generadas se
almacena un valor de las cantidades de flujo
(esquema de celda centrada).
Figura 2. Campo de velocidades 𝑣𝑥 = 𝑥, 𝑣𝑦 = −𝑦.
Figura 3. Campo de líneas de corriente.
Como dato de entrada del usuario para generar la
malla se solicita el número de nodos que se
colocarán uniformemente espaciados a lo largo
de los segmentos 0 ≤ 𝑥 ≤ 1 y 0 ≤ 𝑦 ≤ 1 del
dominio (figura 1). Los parámetros son imax y
jmax y son iguales ya que la malla es uniforme (∆𝑥 = ∆𝑦). Se manejan para la lógica del
programa dos direcciones en espacio
computacional, la dirección i es horizontal y la j
vertical. En adición a las celdas usadas para el
interior del dominio se usa una capa de celdas
fantasma que rodean a las celdas interiores para
la aplicación de las condiciones de frontera
(figura 4). Todas las celdas tienen el mismo
tamaño y dependen del parámetro imax. Para la
malla muy gruesa empleada en la
implementación imax = 4 lo que resulta en la
malla obtenida con MATLAB como se muestra
en la figura 4.
En la malla de la figura 4 las celdas son los
cuadrados y los nodos son los vértices de dichos
cuadrados. Además, las fronteras o caras de las
celdas son las aristas de los cuadrados.
ISBN 978-607-95309-9-0 Página | 568 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
Figura 4. Malla empleada para implementación, imax = 4.
Celdas interiores (líneas continuas), celdas fantasma (líneas
punteada) y centroides (puntos) numerados lógicamente.
En este problema sencillo la generación de malla
se reduce a indicar solamente a imax (jmax =
imax y no es necesario especificarlo). Con este
dato, y tomando en cuenta las celdas fantasma, se
determinan los parámetros M y N, el número
total de celdas a lo largo de i y j respectivamente,
necesarios para la lógica de la programación. En
este caso 𝑀 = (𝑖𝑚𝑎𝑥 + 1) y 𝑁 = 𝑀. De
acuerdo a esta numeración las celdas interiores
son entonces todas aquellas para las cuales se
cumple (2 ≤ 𝑖 ≤ 𝑀 − 1) y (2 ≤ 𝑗 ≤ 𝑁 − 1) (ver figura 4). Las celdas fantasma por otra parte
corresponden a (𝑖 = 𝑀) y (2 ≤ 𝑗 ≤ 𝑁 − 1) para
el este, (𝑖 = 1) y (2 ≤ 𝑗 ≤ 𝑁 − 1) para el oeste,
(𝑗 = 𝑁) y (2 ≤ 𝑖 ≤ 𝑀 − 1) para el norte y
(𝑗 = 1) y (2 ≤ 𝑖 ≤ 𝑀 − 1) para el sur.
Estrategia general
La estrategia consiste en discretizar
separadamente al tiempo (t) y al espacio (𝑥, 𝑦) de
la ecuación (1) en el dominio correspondiente a
una celda de la malla 𝑉𝑖𝑗. Primero se discretiza el
espacio (fluxes convectivo y difusivo)
conduciendo ésto a una ecuación diferencial
ordinaria en t. Esta ecuación se aplica después al
resto de celdas interiores y se obtiene un sistema
de ecuaciones diferenciales ordinarias en t que se
resuelve iterativamente usando un esquema que
de Runge-Kutta [6]. En vista de que nos interesa
la solución estacionaria, se avanza hasta que el
residual (la diferencia entre una solución recién
obtenida 𝜑𝑛+1 y una anterior 𝜑𝑛) sea menor o
igual que alguna tolerancia determinada por el
usuario. Las condiciones de frontera se
implementan para ajustar los valores de 𝜑 en las
celdas fantasma y eso se hace inmediatamente
después de que se tiene disponible una nueva
solución en las celdas interiores.
Discretización espacial, flux convectivo
Efectuando los productos escalares de la
ecuación (1) y tomando integrales de cada
sumando se obtiene 𝜕
𝜕𝑡∫𝜌𝜑𝑑𝑡
𝑉
= −∫𝜌𝜑𝑣𝑥𝑑𝑆𝑥 −∫𝜌𝜑𝑣𝑦𝑑𝑆𝑦
𝑆
𝑆
+∫𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 +∫𝛤
𝜕𝜑
𝜕𝑦𝑑𝑆𝑦
𝑆
𝑆
(2)
Las dos primeras integrales del lado derecho
corresponden al flux convectivo y la primera de
ellas se aproxima usando la regla de integración
del punto medio de orden dos [6][7], de la
siguiente forma (ver figura 5)
∫𝜌𝜑𝑣𝑥𝑑𝑆𝑥 ≅∑ 𝜌𝜑𝑐(𝑣𝑥)𝑐(𝑑𝑆𝑥)𝑐4
𝑐=1
𝑆
=
= 𝜌𝜑𝑖+12,𝑗(𝑣𝑥)𝑖+12,𝑗
(𝑑𝑆𝑥)𝑖+12,𝑗+ 𝜌𝜑
𝑖,𝑗+12(𝑣𝑥)𝑖,𝑗+12
(𝑑𝑆𝑥) 𝑖,𝑗+12+
+𝜌𝜑𝑖−12,𝑗(𝑣𝑥)𝑖−12,𝑗
(𝑑𝑆𝑥)𝑖−12,𝑗+ 𝜌𝜑
𝑖,𝑗−12(𝑣𝑥)𝑖,𝑗−12
(𝑑𝑆𝑥)𝑖,𝑗−12
(3)
En la ecuación (3) c en la sumatoria denota los
centros de las caras de la celda 𝑉𝑖,𝑗 definidas
como (𝑖 + 1/2, 𝑗), (𝑖, 𝑗 + 1/2), (𝑖 − 1/2, 𝑗) e (𝑖, 𝑗 − 1/2)
como se muestra en la figura 5; 𝑑𝑆𝑥 denota la
componente x del vector 𝑑𝑆 el cual es un vector
área cuya magnitud es igual al valor del área de
la cara en cuestión y su dirección es normal a
dicha cara, hacia fuera del dominio (la celda en
este caso). En el caso de este problema 2D se
asume que la malla tiene una coordenada normal
al plano, con un valor de una unidad de longitud,
es decir ∆𝑧 = 1.
Figura 5. Celda típica 2D, esquema centrado en la celda.
Vectores área localizados en los centros de las caras.
El valor de todos estos 𝑑𝑆𝑥 son entonces
determinables a partir de las medidas de la malla
como sigue: (𝑑𝑆𝑥)𝑖+12,𝑗= ∆𝑦, (𝑑𝑆𝑥)𝑖,𝑗+1
2
= 0,
(𝑑𝑆𝑥)𝑖−12,𝑗= −∆𝑦 y (𝑑𝑆𝑥)𝑖,𝑗−1
2
= 0. Sustituyendo
éstas en (3) se tiene
∫𝜌𝜑𝑣𝑥𝑑𝑆𝑥 ≅∑ 𝜌𝜑𝑐(𝑣𝑥)𝑐(𝑑𝑆𝑥)𝑐4
𝑐=1
𝑉𝑖,𝑗
=
= 𝜌𝜑𝑖+1
2,𝑗(𝑣𝑥)𝑖+1
2,𝑗(∆𝑦) + 𝜌𝜑
𝑖−1
2,𝑗(𝑣𝑥)𝑖−1
2,𝑗(−∆𝑦) (4)
En (4) las 𝑣𝑥 son todas conocidas así como
también lo es 𝜌; 𝜑 es por tanto la única
∆𝑦
∆𝑥
ISBN 978-607-95309-9-0 Página | 569 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
incógnita. En vista de que los valores de la
incógnita se encuentran almacenados en los
centroides de las celdas, entonces para
determinar sus valores en los centros de las caras
se debe usar una interpolación. Existen varios
métodos y en este trabajo se emplea una
interpolación lineal entre valores
correspondientes de los centroides de las celdas.
Como la malla aquí es uniforme, la interpolación
lineal mencionada se reduce a un simple
promediado aritmético como sigue
𝜑𝑖+1
2,𝑗= 0.5(𝜑𝑖+1,𝑗 + 𝜑𝑖,𝑗) y 𝜑
𝑖−1
2,𝑗= 0.5(𝜑𝑖−1,𝑗 + 𝜑𝑖,𝑗)
Sustituyendo éstas en (4) y arreglando
∫ 𝜌𝜑𝑣𝑥𝑑𝑆𝑥 ≅∑ 𝜌𝜑𝑣𝑥𝑑𝑆𝑥 = 𝜑𝑖,𝑗 [𝜌∆𝑦
2((𝑣𝑥)𝑖+1
2,𝑗−
4
𝑐=1
𝑉𝑖,𝑗
(𝑣𝑥)𝑖−12,𝑗)] + 𝜑𝑖+1,𝑗 (
𝜌∆𝑦
2(𝑣𝑥)𝑖+1
2,𝑗) + 𝜑𝑖−1,𝑗 (
−𝜌∆𝑦
2(𝑣𝑥)𝑖−1
2,𝑗)
(5)
Procediendo de manera similar para la segunda
integral del lado derecho de (2)
∫𝜌𝜑𝑣𝑦𝑑𝑆𝑦 ≅∑ 𝜌𝜑𝑣𝑦𝑑𝑆𝑦 = 𝜌𝜑𝑖,𝑗+12(𝑣𝑦)𝑖,𝑗+12
(𝑑𝑆𝑦)𝑖,𝑗+12
4
𝑐=1
𝑉𝑖,𝑗
+
𝜌𝜑𝑖,𝑗−
12(𝑣𝑦)𝑖,𝑗−12
(𝑑𝑆𝑦)𝑖,𝑗−12= 𝜑
𝑖,𝑗[𝜌∆𝑥
2((𝑣𝑦)𝑖,𝑗+1
2
−(𝑣𝑦)𝑖,𝑗−12
)]
+𝜑𝑖,𝑗+1 (𝜌∆𝑥
2(𝑣𝑦)𝑖,𝑗+1
2) + 𝜑𝑖,𝑗−1 (
−𝜌∆𝑥
2(𝑣𝑦)𝑖,𝑗−1
2)
Para la obtención de (6) se tomó en cuenta que
(𝑑𝑆𝑦)𝑖+12,𝑗= 0, (𝑑𝑆𝑦)𝑖,𝑗+1
2
= ∆𝑥, (𝑑𝑆𝑦)𝑖−12,𝑗= 0 y
(𝑑𝑆𝑦)𝑖,𝑗−12
= −∆𝑥. Se usó además interpolación
lineal para determinar 𝜑𝑖,𝑗+
1
2
y 𝜑𝑖,𝑗−
1
2
. La suma de
ambas discretizaciones (5) y (6) dan el negativo
del flux convectivo discretizado −𝑓𝑐(𝑖,𝑗) como se
muestra abajo (ecuación 7) donde, como última
simplificación se usa el hecho de que ∆𝑥 = ∆𝑦 =∆. Factorizando y arreglando se tiene
−𝑓𝑐(𝑖,𝑗) = 𝜑𝑖,𝑗 [𝜌∆
2((𝑣𝑥)𝑖+1
2,𝑗+ (𝑣𝑦)𝑖,𝑗+1
2
− (𝑣𝑥)𝑖−12,𝑗− (𝑣𝑦)𝑖,𝑗−1
2
)]
+𝜑𝑖+1,𝑗 (𝜌∆
2(𝑣𝑥)𝑖+1
2,𝑗) + 𝜑𝑖,𝑗+1 (
𝜌∆
2(𝑣𝑦)𝑖,𝑗+1
2)
+𝜑𝑖−1,𝑗 (𝜌∆
2(𝑣𝑥)𝑖−1
2,𝑗)+ 𝜑𝑖,𝑗−1 (
𝜌∆
2(𝑣𝑦)𝑖−1
2,𝑗) (7)
En la discretización (7) las únicas incógnitas del
lado derecho son las 𝜑’s de los centroides de la
celda bajo estudio, 𝑉𝑖,𝑗, y las correspondientes de
las celdas vecinas. Se observa además que los
valores de las 𝑣𝑥 y 𝑣𝑦 en los centros de las caras
de la celda 𝑉𝑖,𝑗 requieren ser determinados. En
vista de que el campo de velocidad es conocido
(𝑣𝑥 = 𝑥, 𝑣𝑦 = −𝑦) es entonces cuestión de
determinar dichas velocidades dependiendo de su
posición. De acuerdo a la notación y a la
geometría usada se tiene lo siguiente 𝑥𝑖+12,𝑗= (𝑖 − 1)∆𝑥
⇒ (𝑣𝑥)𝑖+1
2,𝑗= +(𝑖 − 1)∆𝑥
𝑥𝑖−12,𝑗= (𝑖 − 2)∆𝑥
⇒ (𝑣𝑥)𝑖−1
2,𝑗= +(𝑖 − 2)∆𝑥
𝑦𝑖,𝑗+
12= (𝑗 − 1)∆𝑦
⇒ (𝑣𝑦)
𝑖,𝑗+12
= −(𝑗 − 1)∆𝑦
𝑦𝑖,𝑗−
12= (𝑗 − 2)∆𝑦
⇒ (𝑣𝑦)
𝑖,𝑗−12
= −(𝑗 − 2)∆𝑦
Sustituyendo estas velocidades en (7), tomando
en cuenta nuevamente que ∆𝑥 = ∆𝑦 = ∆ y
simplificando
−𝑓𝑐(𝑖,𝑗) = 𝜑𝑖+1,𝑗 (𝜌∆2
2(𝑖 − 1)) + 𝜑𝑖,𝑗+1 (
−𝜌∆2
2(𝑗 − 1))
+𝜑𝑖−1,𝑗 (−𝜌∆2
2(𝑖 − 2)) + 𝜑𝑖,𝑗−1 (
𝜌∆2
2(𝑗 − 2)) (8)
(el coeficiente correspondiente a 𝜑𝑖,𝑗 en (8) se
hizo cero).
Discretización espacial, flux difusivo
Se debe discretizar como paso siguiente el flux
difusivo, es decir las dos últimas integrales del
lado derecho de la ecuación (2). La
discretización de la primera de estas integrales
queda como
∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 ≅∑ 𝛤 (
𝜕𝜑
𝜕𝑥)𝑐
(𝑑𝑆𝑥)𝑐4
𝑐=1
𝑆
=
= 𝛤 (𝜕𝜑
𝜕𝑥)𝑖+12,𝑗(𝑑𝑆𝑥)𝑖+12,𝑗
+ 𝛤 (𝜕𝜑
𝜕𝑥)𝑖,𝑗+
12
(𝑑𝑆)𝑥𝑖,𝑗+12⏞
0
+𝛤 (𝜕𝜑
𝜕𝑥)𝑖−12,𝑗(𝑑𝑆𝑥)𝑖−12,𝑗
+ 𝛤 (𝜕𝜑
𝜕𝑥)𝑖,𝑗−
12
(𝑑𝑆𝑥)𝑖,𝑗−12⏟ 0
= 𝛤 (𝜕𝜑
𝜕𝑥)𝑖+1
2,𝑗∆𝑦 − 𝛤 (
𝜕𝜑
𝜕𝑥)𝑖−1
2,𝑗∆𝑦 (9)
En esta ecuación las 𝑑𝑆𝑥 se determinan igual que
en el caso del flux convectivo (ecuaciones 3 y 4);
𝛤 es además constante y conocida por lo que
para la expresión (9) el problema consiste en
determinar el término 𝜕𝜑/𝜕𝑥 en los centros de
las caras (𝑖 + 1/2, 𝑗) e (𝑖 − 1/2, 𝑗) de las celdas 𝑉𝑖,𝑗.
Esto se logra usando celdas auxiliares
(volúmenes de control auxiliares) 𝑉 ′ con frontera
𝑆 ′ alrededor de cada uno de los puntos donde se
desea determinar 𝜕𝜑/𝜕𝑥 y luego aplicando el
teorema de la divergencia [5]
∫𝜕𝜑
𝜕𝑥
𝑉 ′𝑑𝑉′ = ∫ 𝜑𝑑𝑆𝑥
′
𝑆′ (10)
Para el caso de (𝜕𝜑/𝜕𝑥 )𝑖+1/2 ,𝑗 la figura (6) muestra
el 𝑉 ′ correspondiente (celda en líneas
punteadas). Se usa el teorema del valor medio
para la integral de volumen de (10) de la
siguiente forma [5]
∫𝜕𝜑
𝜕𝑥
𝑉 ′𝑑𝑉′ = 𝑉′
𝜕𝜑
𝜕𝑥
(11)
En (11) 𝜕𝜑/𝜕𝑥 representa el valor medio de 𝜕𝜑/𝜕𝑥
sobre 𝑉′ localizado en algún lugar desconocido
dentro de 𝑉′. Sustituyendo (11) en (10)
𝑉′𝜕𝜑
𝜕𝑥
= ∫ 𝜑𝑑𝑆𝑥
′
𝑆′ (12)
(6)
ISBN 978-607-95309-9-0 Página | 570 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
Figura 6. Celda auxiliar 𝑉𝑖+1/2,𝑗
′ ( líneas punteadas) para la
evaluación de (𝜕𝜑/𝜕𝑥 )𝑖+1/2,𝑗 en 2D.
En virtud de que la malla es uniforme, todos los
𝑉′ = ∆𝑥∆𝑦. Sustituyendo en (12) y despejando 𝜕𝜑
𝜕𝑥
=
1
∆𝑥∆𝑦∫ 𝜑𝑑𝑆𝑥
′
𝑆′ (13)
Asumiendo que el valor medio está localizado
exactamente en el centro de la celda auxiliar
entonces 𝜕𝜑/𝜕𝑥 = (𝜕𝜑/𝜕𝑥)𝑖+1/2 ,𝑗 . Observe que el
punto (𝑖 + 1/2, 𝑗) en esta ecuación es el punto de
interés como se muestra en la figura 6. Así
(𝜕𝜑
𝜕𝑥)𝑖+1
2 ,𝑗≅
1
∆𝑥∆𝑦∫ 𝜑𝑑𝑆𝑥
′
𝑆′ (14)
Resta solo discretizar la integral de superficie de
esta ecuación (14) lo cual se logra de manera
similar a lo realizado para el flux convectivo. En
este caso 𝑆′ denota la frontera de 𝑉′ el cual
corresponde a la celda auxiliar que rodea al
punto (𝑖 + 1/2, 𝑗) como se muestra en la figura 6.
La discretización queda entonces como sigue
∫𝜑𝑑𝑆𝑥′ ≅∑ 𝜑𝑐′ (𝑑𝑆𝑥
′)𝑐′
4
𝑐 ′=1
𝑆 ′
=
= 𝜑𝑖+1,𝑗(𝑑𝑆𝑥′)𝑖+1,𝑗 + 𝜑𝑖+1
2,𝑗+
1
2
(𝑑𝑆𝑥′) 𝑖+1
2,𝑗+
1
2
+
+ 𝜑𝑖,𝑗(𝑑𝑆𝑥′)𝑖,𝑗 + 𝜑𝑖+1
2,𝑗−
1
2
(𝑑𝑆𝑥′)𝑖+1
2,𝑗−
1
2
(15)
donde para la malla de este trabajo (𝑑𝑆𝑥′)𝑖+1,𝑗 = ∆𝑦,
(𝑑𝑆𝑥′)𝑖+12,𝑗+
12= 0, (𝑑𝑆𝑥
′)𝑖,𝑗 = −∆𝑦 y (𝑑𝑆𝑥′)𝑖+1
2,𝑗−
1
2
= 0.
Sustituyendo éstos en (15)
∫ 𝜑𝑑𝑆𝑥′ ≅ ∑ 𝜑𝑐′ (𝑑𝑆𝑥
′)𝑐′
4𝑐 ′=1
𝑆′ = 𝜑𝑖+1,𝑗∆𝑦− 𝜑𝑖,𝑗∆𝑦 (16)
Sustituyendo (16) en (14)
(𝜕𝜑
𝜕𝑥)𝑖+1
2,𝑗=
1
∆𝑥∆𝑦 ∫ 𝜑𝑑𝑆𝑥
′
𝑆′=
1
∆𝑥∆𝑦 (𝜑
𝑖+1,𝑗∆𝑦− 𝜑
𝑖,𝑗∆𝑦)
Simplificando se tiene finalmente
(𝜕𝜑
𝜕𝑥)𝑖+1
2,𝑗=
𝜑𝑖+1,𝑗− 𝜑𝑖,𝑗
∆𝑥 (17)
Siguiendo un procedimiento enteramente similar
para la determinación de 𝜕𝜑/𝜕𝑥 en el centro de la
cara (𝑖 − 1/2, 𝑗)
(𝜕𝜑
𝜕𝑥)𝑖−1
2,𝑗=
𝜑𝑖,𝑗 − 𝜑𝑖−1,𝑗
∆𝑥 (18)
Sustituyendo (17) y (18) en (9)
∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 ≅
𝑆
𝛤𝜑𝑖+1,𝑗 − 𝜑𝑖,𝑗
∆𝑥∆𝑦 − 𝛤
𝜑𝑖,𝑗 − 𝜑𝑖−1,𝑗∆𝑥
∆𝑦
Factorizando 𝛤 y tomando en cuenta nuevamente
que ∆𝑥 = ∆𝑦 = ∆ se tiene finalmente
∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 ≅
𝑆𝜑𝑖,𝑗(−2𝛤) + 𝜑𝑖+1,𝑗(𝛤) + 𝜑𝑖−1,𝑗(𝛤) (19)
Se debe discretizar para concluir la última
integral del lado derecho de la ecuación (2). Esta
discretización queda como
∫ 𝛤𝜕𝜑
𝜕𝑦𝑑𝑆𝑦 ≅∑ 𝛤 (
𝜕𝜑
𝜕𝑦)𝑐
(𝑑𝑆𝑦)𝑐
4
𝑐=1
𝑆
=
= 𝛤 (𝜕𝜑
𝜕𝑦)𝑖+12,𝑗
(𝑑𝑆𝑦)𝑖+12,𝑗
⏞ 0
+ 𝛤 (𝜕𝜑
𝜕𝑦)𝑖,𝑗+
12
(𝑑𝑆𝑦)𝑖,𝑗+12
+𝛤 (𝜕𝜑
𝜕𝑦)𝑖−12,𝑗
(𝑑𝑆𝑦)𝑖−12,𝑗⏞
0
+ 𝛤 (𝜕𝜑
𝜕𝑦)𝑖,𝑗−
12
(𝑑𝑆𝑦)𝑖,𝑗−12
= 𝛤 (𝜕𝜑
𝜕𝑦)𝑖,𝑗+
1
2
∆𝑥 − 𝛤 (𝜕𝜑
𝜕𝑦)𝑖,𝑗−
1
2
∆𝑥 (20)
Nuevamente el problema es la determinación de (𝜕𝜑/𝜕𝑦) en los centros de las caras (𝑖, 𝑗 + 1/2) y
(𝑖, 𝑗 − 1/2), . Se procede de la misma manera que
para la obtención de 𝜕𝜑/𝜕𝑥 en los centros de las
caras (𝑖 + 1/2, 𝑗) e (𝑖 − 1/2, 𝑗). Es decir, se usan
volúmenes de control auxiliares 𝑉′ que rodean
los centros de las caras (𝑖, 𝑗 + 1/2) y (𝑖, 𝑗 − 1/2) y
se implementa el teorema de la divergencia, que
en este caso es ∫𝜕𝜑
𝜕𝑦
𝑉 ′ 𝑑𝑉′ = ∫ 𝜑𝑑𝑆𝑦
′
𝑆′. Usando el
teorema del valor medio de la misma forma que
antes se llega a (ver ecuación 13) 𝜕𝜑
𝜕𝑦
=
1
∆𝑥∆𝑦∫𝜑𝑑𝑆𝑦
′
𝑆′
Para el caso particular de la celda 𝑉′ que rodea el
centro de la cara (𝑖, 𝑗 + 1/2) se asume nuevamente
que el valor medio está localizado exactamente
en el centro de la celda, entonces 𝜕𝜑/𝜕𝑦 =(𝜕𝜑/𝜕𝑥)𝑖,𝑗+1/2 , con lo cual
(𝜕𝜑
𝜕𝑦)𝑖,𝑗+
1
2
≅1
∆𝑥∆𝑦∫ 𝜑𝑑𝑆𝑦
′
𝑆′ (21)
Discretizando la integral de superficie sobre el 𝑉′ correspondiente de manera similar que antes
(ecuaciones 15 a 17) se puede demostrar
fácilmente que
(𝜕𝜑
𝜕𝑦)𝑖,𝑗+
1
2
=𝜑𝑖,𝑗+1− 𝜑𝑖,𝑗
∆𝑦 (22)
Y de manera similar para (𝜕𝜑/𝜕𝑦) en (𝑖, 𝑗 − 1/2)
(𝜕𝜑
𝜕𝑦)𝑖,𝑗−
1
2
=𝜑𝑖,𝑗− 𝜑𝑖,𝑗−1
∆𝑦 (23)
Sustituyendo (22) y (23) en (20) y simplificando
ISBN 978-607-95309-9-0 Página | 571 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
∫ 𝛤𝜕𝜑
𝜕𝑦𝑑𝑆𝑦 ≅
𝑆𝜑𝑖,𝑗(−2𝛤) + 𝜑𝑖,𝑗+1(𝛤) + 𝜑𝑖,𝑗−1(𝛤) (24)
Definiendo la suma de las ecuaciones (19) y (24)
como el flux difusivo 𝑓𝑑(𝑖,𝑗) se tiene
𝑓𝑑(𝑖,𝑗) = ∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 +
𝑆 ∫ 𝛤𝜕𝜑
𝜕𝑦𝑑𝑆𝑦 =
𝑆
= 𝜑𝑖,𝑗(−2𝛤) + 𝜑𝑖+1,𝑗(𝛤) + 𝜑𝑖−1,𝑗(𝛤) +
𝜑𝑖,𝑗(−2𝛤) + 𝜑𝑖,𝑗+1(𝛤) + 𝜑𝑖,𝑗−1(𝛤)
Simplificando y arreglando se tiene finalmente 𝑓𝑑(𝑖,𝑗) = 𝜑𝑖,𝑗(−4𝛤) + 𝜑𝑖+1,𝑗(𝛤) + 𝜑𝑖−1,𝑗(𝛤) +
𝜑𝑖,𝑗+1(𝛤) + 𝜑𝑖,𝑗−1(𝛤) (25)
Sustitución de ecuaciones (8) y (25) en (2) da la
ecuación semidiscretizada 𝑑
𝑑𝑡∫ 𝜌𝜑𝑑𝑡
𝑉𝑖,𝑗≅ 𝑓𝑐(𝑖,𝑗) + 𝑓𝑑(𝑖,𝑗) (26)
donde el cambio de símbolo de derivada parcial a
derivada ordinaria es posible porque en el lado
derecho se tiene ahora solamente cantidades
algebraicas conocidas. La ecuación (26) se
aplicará a cada una de las celdas interiores del
dominio obteniéndose así un sistema de
ecuaciones diferenciales ordinarias. Se observa
que para cada celda (i,j) los fluxes dependen de
los valores de i, j y ∆ (el tamaño de la celda) los
cuales determinan las velocidades del fluido en
las caras de la celda en cuestión. Dependen
también de las propiedades del fluido 𝜌 y Γ, y de
los valores de 𝜑 en la celda 𝑉𝑖,𝑗 y en las celdas
vecinas 𝑉𝑖+1,𝑗, 𝑉𝑖,𝑗+1, 𝑉𝑖−1,𝑗 y 𝑉𝑖,𝑗−1. El sistema de
ecuaciones diferenciales resultante se resuelve
iterativamente usando un esquema de Runge
Kutta como se verá más adelante.
Condiciones de Frontera
Los valores de 𝜑 en celdas interiores se
determinan usando el esquema de Runge-Kutta o
a partir de una suposición inicial. Los valores en
las celdas fantasma, sin embargo, deben
determinarse a partir de las condiciones de
frontera. En esta sección se revisa cómo calcular
los valores de 𝜑 en las celdas fantasma a partir
de valores de las celdas interiores adyacentes.
Las condiciones de frontera aplicables a este
problema se muestran en la figura 1. Para los
casos de las fronteras oeste y norte se tienen
valores prescritos en la frontera. Para la solución
numérica esto implica tener valores prescritos en
los centros de las caras que conforman las caras
de las fronteras. En vista de que se empleó un
esquema de interpolación lineal y de que se tiene
malla uniforme entonces los valores de 𝜑 en
estas fronteras se determinan con un promediado
aritmético simple. Así, para la frontera norte
donde 𝜑 = 0 se debe cumplir entonces con
0 =1
2(𝜑𝑖,𝑁 + 𝜑𝑖,𝑁−1) de donde se deduce que
𝜑𝑖,𝑁 = −𝜑𝑖,𝑁−1 (27)
aplicable para 2 ≤ 𝑖 ≤ 𝑀. Por otro lado, para la
frontera oeste se tiene que a lo largo de la
frontera se debe cumplir con el perfil 𝜑 = 1 − 𝑦.
Los valores de 𝜑 en las celdas fantasma se
determinan entonces de 1 − 𝑦𝑗 =1
2(𝜑1,𝑗 + 𝜑2,𝑗).
La coordenada yj en esta expresión corresponde
a la de los centros de las caras que cubren la
frontera oeste. Para la notación empleada aquí
dichas coordenadas son 𝑦𝑗 = (2(𝑗 − 1) − 1)∆𝑦
2.
Sustituyendo ésta en la expresión anterior
1 − (2(𝑗 − 1) − 1)∆𝑦
2=1
2(𝜑1,𝑗 + 𝜑2,𝑗)
despejando 𝜑1,𝑗
𝜑1,𝑗 = 2 − (2(𝑗 − 1) − 1)∆𝑦 − 𝜑2,𝑗 (28)
aplicable para 2 ≤ 𝑗 ≤ 𝑁 − 1. Para la frontera este
la condición es (𝜕𝜑
𝜕𝑥) = 0. De acuerdo a la
ecuación (17) (𝜕𝜑
𝜕𝑥)𝑖+1
2,𝑗=
𝜑𝑖+1,𝑗− 𝜑𝑖,𝑗
∆𝑥 ; en esta
ecuación 𝑖 = 𝑀 − 1. Haciendo cero el lado
izquierdo y despejando
𝜑𝑀,𝑗 = 𝜑𝑀−1,𝑗 (29)
aplicable para (2 ≤ 𝑗 ≤ 𝑁 − 1). Finalmente para
la frontera sur la condición es (𝜕𝜑
𝜕𝑦) = 0. De
acuerdo a la ecuación (23) (𝜕𝜑
𝜕𝑦)𝑖,𝑗−
1
2
=𝜑𝑖,𝑗− 𝜑𝑖,𝑗−1
∆𝑦 ;
en esta ecuación 𝑗 = 2. Haciendo cero el lado
izquierdo y despejando
𝜑𝑖,1 = 𝜑𝑖,2 (30)
aplicable para (2 ≤ 𝑖 ≤ 𝑀 − 1). Finalmente las
cuatro celdas fantasma de las esquinas (figura 4),
que no participan en el proceso de solución, se
determinan simplemente promediando los
valores de las celdas fantasma adyacentes.
𝜑1,1 =1
2(𝜑1,2 + 𝜑2,1) , 𝜑𝑀,1 =
1
2(𝜑𝑀−1,1 + 𝜑𝑀,2)
𝜑1,𝑁 =1
2(𝜑1,𝑁−1 + 𝜑2,𝑁) , 𝜑𝑀,𝑁 =
1
2(𝜑𝑀−1,𝑁 + 𝜑𝑀,𝑁−1)
Así, las condiciones de frontera, ecuaciones (27,
28, 29, 30 y 31) sirven para determinar los
valores de las celdas fantasma a partir de las
interiores. Con estos valores disponibles, se
puede aplicar la ecuación discretizada (26) a
todas las celdas interiores. Falta ahora discretizar
el tiempo para resolver el sistema de ecuaciones
diferenciales ordinarias representado por (26) de
lo cual se ocupa la siguiente sección.
(31)
ISBN 978-607-95309-9-0 Página | 572 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
Discretización temporal
La integral del término 𝑑
𝑑𝑡∫ 𝜌𝜑𝑑𝑡
𝑉𝑖,𝑗 en la ecuación
(26) se discretiza con el teorema de valor medio
quedando como sigue para la celda 𝑉𝑖,𝑗
∫ 𝜌𝜑𝑑𝑡
𝑉𝑖,𝑗= 𝜌𝜑 𝑉𝑖,𝑗 ≅ 𝜌𝜑𝑖,𝑗𝑉𝑖,𝑗 (32)
donde 𝜑 representa el valor medio de 𝜑 sobre
𝑉𝑖,𝑗 localizado en algún lugar desconocido dentro
del mismo. La aproximación de segundo orden
realizada aquí es que dicho valor medio está
localizado en el centroide de la celda y se le
denota como 𝜑𝑖,𝑗 (ecuación 32). Sustituyendo en
(26), y tomando en cuenta que 𝜌 y 𝑉𝑖,𝑗 son
constantes:
𝜌𝑉𝑖,𝑗𝑑𝜑𝑖,𝑗𝑑𝑡
= 𝑓𝑐(𝑖,𝑗) + 𝑓𝑑(𝑖,𝑗)
Despejando 𝑑𝜑𝑖,𝑗
𝑑𝑡=
1
𝜌𝑉𝑖,𝑗[𝑓𝑐(𝑖,𝑗) + 𝑓𝑑(𝑖,𝑗)] (33)
Esquema de Runge-Kutta
Para resolver la ecuación diferencial ordinaria
(33) y obtener los resultados del problema se
emplea un esquema de híbrido de Runge Kutta
de cuatro etapas [6]. Se le llama híbrido porque
el flux se divide en convectivo y difusivo y se
evalúan de forma diferente en cada etapa como
se muestra a continuación. 𝜑𝑖,𝑗0
= 𝜑𝑖,𝑗
𝑛
𝜑𝑖,𝑗1
= 𝜑𝑖,𝑗
0
−
1
3
∆𝑡
𝜌𝑉𝑖,𝑗[𝑓 𝑐(𝑖,𝑗) 0 + 𝑓𝑑(𝑖,𝑗)
0
]
𝜑𝑖,𝑗2
= 𝜑𝑖,𝑗
0
−
4
15
∆𝑡
𝜌𝑉𝑖,𝑗[𝑓 𝑐(𝑖,𝑗) 1 +
1
2𝑓𝑑(𝑖,𝑗)1
+1
2𝑓𝑑(𝑖,𝑗)0
]
𝜑𝑖,𝑗3
= 𝜑𝑖,𝑗
0
−
5
9
∆𝑡
𝜌𝑉𝑖,𝑗[𝑓 𝑐(𝑖,𝑗) 2 +
1
2𝑓𝑑(𝑖,𝑗)1
+1
2𝑓𝑑(𝑖,𝑗)0
] (34)
𝜑𝑖,𝑗4
= 𝜑𝑖,𝑗
0
−
∆𝑡
𝜌𝑉𝑖,𝑗[𝑓 𝑐(𝑖,𝑗) 3 +
1
2𝑓𝑑(𝑖,𝑗)1
+1
2𝑓𝑑(𝑖,𝑗)0
]
𝜑𝑖,𝑗𝑛+1
= 𝜑𝑖,𝑗
4
En este esquema 𝜑𝑖,𝑗𝑛 denota los valores de 𝜑𝑖,𝑗
en
un tiempo presente 𝑡 (o inicial 𝑡0 si el proceso
recién comienza) mientras que 𝜑𝑖,𝑗𝑛+1 denota los
valores de 𝜑𝑖,𝑗 en un tiempo posterior 𝑡 + ∆𝑡. Los
términos 𝜑𝑖,𝑗0 , 𝜑𝑖,𝑗
1 , 𝜑𝑖,𝑗2 , 𝜑𝑖,𝑗
3 y 𝜑𝑖,𝑗4 representan
niveles temporales intermedios solamente. Los
superíndices r de las 𝜑𝑖,𝑗 (𝜑𝑖,𝑗
𝑟 ) indican que se
deben usar las 𝜑𝑖,𝑗 del nivel temporal r. Además,
los superíndices r en los 𝑓 𝑐(𝑖,𝑗) y 𝑓 𝑑(𝑖,𝑗)
(𝑓 𝑐(𝑖,𝑗) 𝑟 y 𝑓 𝑑(𝑖,𝑗)
𝑟 ) indican que dichos fluxes se
deben evaluar usando 𝜑𝑖,𝑗 en el nivel r de tiempo
(o sea usando 𝜑𝑖,𝑗𝑟 ). Por ejemplo 𝑓 𝑐(𝑖,𝑗)
2 quiere
decir 𝑓 𝑐(𝑖,𝑗) (𝜑𝑖,𝑗
2 ), (flux evaluado usando 𝜑𝑖,𝑗2 , ver
ecuaciones 8 y 25). El esquema (34) se aplica
solo a celdas interiores para obtener 𝜑𝑖,𝑗𝑛+1 en las
celdas interiores, pero requiere valores de 𝜑𝑖,𝑗𝑛 en
todas las celdas (interiores más fantasma) como
lo muestran las ecuaciones (8) y (25).
Avance en tiempo
El esquema (34) se coloca dentro de un ciclo
iterativo para repetirlo un número determinado
de veces (parámetro ITERMAX). En general, para
obtener algún 𝜑𝑖,𝑗𝑛+1
se debe contar con todas las
𝜑𝑖,𝑗𝑛
(interiores y fantasma) de manera que la
aplicación del esquema (34) provea primero
𝜑𝑖,𝑗𝑛+1
en las celdas interiores. Posteriormente,
aplicación de las condiciones de frontera
(ecuaciones 27, 28, 29, 30 y 31), determinará los
valores de 𝜑𝑖,𝑗𝑛+1
en las celdas fantasma. Este
procedimiento proveerá 𝜑𝑖,𝑗𝑛+1
en todas las celdas
(interiores y fantasma), necesarias para una
nueva iteración. Al inicio del proceso, 𝜑𝑖,𝑗0
es
provisto en celdas interiores como una
suposición inicial, en un proceso denominado
inicialización. Después de la inicialización se
aplican las condiciones de frontera para así tener
todas las 𝜑𝑖,𝑗0
disponibles para proceder a la
determinación de 𝜑𝑖,𝑗1
como se describió
anteriormente.
Criterio de paro
El problema que se está resolviendo en este
trabajo es un problema estacionario. Se incluyó
el término transitorio para resolver el problema
iterativamente, avanzando en el tiempo hasta que
la solución deje de variar en el tiempo. Se debe
por tanto usar alguna medida de las diferencias
entre todas las 𝜑𝑖,𝑗𝑛+1 y las 𝜑𝑖,𝑗
𝑛 en celdas
interiores. A dicha medición se le denomina
residual, (parámetro RES), y se va a comparar,
dentro del ciclo iterativo, con un parámetro de
tolerancia definido por el usuario, (parámetro
TOL). Cuando se cumpla con 𝑅𝐸𝑆 ≤ 𝑇𝑂𝐿,
entonces el control del programa sale del ciclo
iterativo. En este trabajo se emplea para la
determinación del residual la raíz cuadrada
media de todas las diferencias (𝜑𝑖,𝑗𝑛+1 − 𝜑𝑖,𝑗
𝑛 ),
escalada con el valor medio de 𝜑𝑖,𝑗𝑛+1. Esto es
𝑅𝐸𝑆 = √
∑ (𝜑𝑖,𝑗𝑛+1−𝜑𝑖,𝑗
𝑛 )2
𝑖,𝑗
𝑁𝑖𝑛𝑡
∑ 𝜑𝑖,𝑗𝑛+1
𝑖,𝑗
𝑁𝑖𝑛𝑡
= √𝑁𝑖𝑛𝑡∑ (𝜑𝑖,𝑗
𝑛+1−𝜑𝑖,𝑗𝑛 )
2 𝑖,𝑗
∑ 𝜑𝑖,𝑗𝑛+1
𝑖,𝑗 (35)
En la ecuación (35) 2 ≤ i ≤ M−1 y 2 ≤ j ≤ N−1.
Además 𝑁𝑖𝑛𝑡 = (𝑀− 2)(𝑁 − 2) es el número total
de celdas interiores. En el código se grafica el
residual versus el número de iteración conforme
avanza el ciclo iterativo (figura 7). Para
simulaciones exitosas el residual deberá ir
ISBN 978-607-95309-9-0 Página | 573 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
disminuyendo conforme se avanza en el ciclo
iterativo.
Monitores
En la práctica CFD se debe monitorear también
alguna variable global de interés para ver si
converge al valor apropiado o por lo menos a
algún valor plausible. En esta investigación se
emplea el flux de 𝜑𝑖,𝑗 a lo largo de la frontera
oeste, cuyo valor es conocido e igual a 0.01261
para 𝛤 = 0.001 [4]. El flux total a lo largo de esta
frontera se encuentra aplicando el lado derecho
de la ecuación (1) a toda la frontera oeste
Fluxoeste = −∫ 𝜌𝜑𝑣 ∙ 𝑑𝑆
𝑆+ ∫ 𝛤∇𝜑 ∙ 𝑑𝑆
𝑆
(la S en esta integral representa solo la frontera
oeste). Desarrollando los productos escalares
Fluxoeste = −∫ 𝜌𝜑𝑣𝑥𝑑𝑆𝑥 − ∫ 𝜌𝜑𝑣𝑦𝑑𝑆𝑦
𝑆
𝑆+ ∫ 𝛤
𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 + ∫ 𝛤
𝜕𝜑
𝜕𝑦𝑑𝑆𝑦
𝑆
𝑆
En vista de que a lo largo de la frontera oeste
𝑣𝑥 = 0 y que 𝑑𝑆𝑦 = 0, entonces la ecuación
anterior se reduce a Fluxoeste = ∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥
𝑆 . Esta
ecuación se discretiza para cada frontera oeste de
celdas interiores que compartan dicha cara con la
frontera (celdas i = 2 y 2 ≤ j ≤ N – 1). De acuerdo
a la ecuación (9) con 𝑐 = 1 solamente
(correspondiente a la cara oeste)
∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 ≅ 𝛤 (
𝜕𝜑
𝜕𝑥)𝑠(𝑑𝑆𝑥)𝑠
𝑆 (36)
En esta ecuación (𝑑𝑆𝑥)𝑠 = −∆𝑦 para esta frontera.
Además, de acuerdo a la ecuación (18),
(𝜕𝜑
𝜕𝑥)𝑠= (
𝜕𝜑
𝜕𝑥)𝑖−1
2,𝑗= 𝜑𝑖,𝑗 − 𝜑𝑖−1,𝑗
∆𝑥
donde i = 2 y 2 ≤ j ≤ N – 1, por lo tanto (𝜕𝜑
𝜕𝑥)𝑐=
𝜑2,𝑗 − 𝜑1,𝑗
∆𝑥 . Sustituyendo en (36)
∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 ≅ 𝛤
𝜑2,𝑗 − 𝜑1,𝑗
∆𝑥(−∆𝑦)
𝑆
En vista de que ∆𝑥 = ∆𝑦
∫ 𝛤𝜕𝜑
𝜕𝑥𝑑𝑆𝑥 ≅ 𝛤( 𝜑1,𝑗 − 𝜑2,𝑗)
𝑆
por lo que finalmente
Fluxoeste ≅ 𝛤( 𝜑1,𝑗 − 𝜑2,𝑗) (37)
aplicable para toda 2 ≤ j ≤ N – 1.
Algoritmo
El procedimiento iterativo se resume en los
siguientes pasos, comunes en todos los análisis
CFD [1][3].
1. Generación de malla
2. Establecimiento de propiedades del fluido
3. Establecimiento de parámetros de simulación
4. Inicialización de la solución
5. Inicio de ciclo principal
5.1 Aplicación condiciones de frontera
5.2 Aplicación esquema de Runge Kutta
5.3 Calcula cantidad a monitorear
5.4 Calcula el residual
5.5 Grafica e imprime monitor y residual
5.6 Verifica criterio de tolerancia:
5.6.1 Si se cumple el criterio:
salir del ciclo (ir a 6);
5.6.2 Si no se cumple el criterio:
continuar iterando (ir a 5.1)
6. Guarda la solución e historiales de residual y
de monitor
RESULTADOS (postprocesamiento)
Se genera a parte del código principal otro
código que se encarga de procesar los datos y dar
la opción de graficar y obtener diferentes datos
del campo de flujo, incluyendo la malla
empleada. Ésto es común en muchos paquetes
comerciales de flujo de fluidos [3]. Los datos y
gráficas que son posible obtener son: malla,
centroides de celdas, campos vectoriales de
velocidad y líneas de corriente, todos estos
determinables a partir del tamaño de la malla
elegido y del campo de velocidad conocido. Es
posible principalmente graficar el campo escalar
de la cantidad conservada 𝜑 (la incógnita del
problema) y las líneas de contorno
correspondientes. En el postprocesamiento es
posible también determinar el flux de la frontera
oeste (ecuación 37) y el flux global (suma de
ecuaciones 8 y 25) para verificación. Este último
debe ser cero en caso estacionario para asegurar
la conservación [5].
Se muestran primero el residual y el historial de
la cantidad monitoreada para el caso de 𝛤 =
0.001 en una malla de 40×40 celdas (figuras 7 y
8, ecuaciones (35) y (37), respectivamente)
Figura 7. Residual, malla 40×40, 𝛤 = 0.001
ISBN 978-607-95309-9-0 Página | 574 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
Las gráficas 7 y 8 se obtienen y pueden
visualizar conforme el cálculo va efectuándose.
Se observan características de convergencia a
saber: la cantidad global 𝐹𝑙𝑢𝑥𝑜𝑒𝑠𝑡𝑒 tiende a un
valor dado (0.0121343) y el residual va
disminuyendo hasta alcanzar el valor establecido
de tolerancia (1 × 10−6 en este caso). La figura 9
muestra la malla de 40×40 celdas obtenida con
el programa de postprocesamiento.
Figura 8. Flux frontera oeste, malla 40×40, 𝛤 = 0.001
Figura 9. Malla 40×40. Incluye celdas interiores y fantasma
La figura 10 muestra líneas de contorno para la
incógnita del problema, la cantidad conservada
𝜑. La gráfica muestra líneas con valores desde
0.05 (línea inferior) hasta 0.95 (línea superior)
con incrementos de 0.1. La figura 11 muestra los
mismos resultados pero como campo escalar. La
figura 12 muestra la similar a la figura 10
excepto que se obtiene usando otro valor para el
coeficiente de difusión, 𝛤 = 0.01. La diferencia
es notable y razonable. Se observa que el
transporte por difusión a través del flujo es
mucho más pronunciado para el caso de mayor
𝛤, como es de esperarse.
Validación y verificación
Se valida principalmente con un estudio de malla
sobre la cantidad global representada por el flux
de la frontera oeste que en este caso es conocido
de la literatura [4]. Se realizan simulaciones para
mallas de diferentes tamaños, como se muestra
en la tabla 1 abajo. Se reporta el resultado del
flux en la frontera oeste y se observa su
comportamiento.
Figura 10. Líneas de contorno de 𝜑. Malla 40×40, 𝛤 = .001.
Figura 11. Campo escalar de 𝜑. Malla 40×40, 𝛤 = 0.001,.
Figura 12. Líneas de contorno de 𝜑. Malla 40×40, 𝛤 = 0.01.
ISBN 978-607-95309-9-0 Página | 575 Derechos Reservados © 2013, SOMIM
MEMORIAS DEL XIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 25 al 27 DE SEPTIEMBRE, 2013 PACHUCA, HIDALGO, MÉXICO
Número
de celdas
Flux frontera
Oeste
400
(20×20) 0.0108729
1,600
(40×40) 0.0121343
6,400
(80×80) 0.0124933
25,600
(160×160) 0.0125849
Tabla 1. Estudio de malla sobre 𝐹𝑙𝑢𝑥𝑜𝑒𝑠𝑡𝑒 , 𝛤 = 0.001.
La gráfica correspondiente a la tabla 1 se muestra
en la figura 13.
Figura 13. Estudio de malla para 𝐹𝑙𝑢𝑥𝑜𝑒𝑠𝑡𝑒, 𝛤 = 0.001.
Como se mencionó anteriormente, el valor dado
en la literatura es 𝐹𝑙𝑢𝑥𝑜𝑒𝑠𝑡𝑒 = 0.01261. Se
observa en la figura 13 que el valor de 𝐹𝑙𝑢𝑥𝑜𝑒𝑠𝑡𝑒
calculado en este trabajo tiende a dicho valor. Se
infiere que entre más se refine la malla más nos
acercaremos a dicho valor y, si se refina aún más
dicho valor no cambiará más, es decir, se hace
independiente de la malla. Esta es una parte
obligada para verificación en todo análisis CFD
[1].
Como último indicio de la fiabilidad de los
resultados se presenta el valor del flux global
calculado al final del proceso iterativo (y en el
postprocesador). Para el caso de la malla
40×40, 𝛤 = 0.001 dicho valor es 9.97949× 10−7, considerado suficientemente pequeño.
CONCLUSIONES
En este problema hay muchas simplificaciones
por la uniformidad y forma de la malla pero se
muestra la idea principal a partir de la cual la
generalización es fácil. Por ejemplo en una malla
no uniforme, no rectangular 2D, los vectores área
de cada cara tendrán componentes en ambas
direcciones y en general serán diferentes para
cada cara. Se deberá generar un arreglo para
almacenar dicha información para poder usarla
en las ecuaciones discretizadas (3) y (9). Otra
gran simplificación es que el campo de velocidad
es conocido, si ése no fuera el caso, se tendrían
que resolver ecuaciones de conservación para
cada componente de velocidad, así como para la
conservación de masa (la ecuación para 𝜑 sería
otra más). La extensión a 3D es fácilmente
deducible a partir del estudio de este trabajo.
En conclusión se llega a resultados correctos,
mostrándose muchos de los pasos seguidos en
todo análisis CFD lográndose así el objetivo de
este trabajo. Se efectúa también un estudio de
malla, necesario también en todo análisis CFD.
Los resultados muestran la independencia
requerida. Se alcanza el objetivo principal de este
trabajo que es familiarizar al interesado en el
proceso de análisis CFD. Este trabajo representa
una herramienta para el profesor así como para el
alumno y el estudiante de programación y
métodos numéricos.
El programa está enteramente basado en el MVF
a diferencia de la literatura donde los gradientes
de la cantidad conservada se determinan por
otros medios [4].
REFERENCIAS
(1) Jiyuan Tu, Guan Heng Yeoh and Chaoqun
Liu: Computational Fluid Dynamics, A
Practical Approach; Elsevier, 2008.
(2) Richtmyer, R. D.; Morton, K. W.: Difference
Methods for Initial Value Problems. Wiley-
Interscience, 2nd
edition, London 1967.
(3) ANSYS FLUENT©: “Tutorial Guide”,
2012.
(4) J. H. Ferziger and M. Peric: Computational
Methods for Fluid Dynamics, 3rd
. Edition,
Springer, (2002).
(5) J. Blazek: Computational Fluid Dynamics:
Principles and Applications; Elsevier, (2001)
(6) Jameson, A.; Schmidt, W.; Turkel, E.:
Numerical Solutions of the Euler Equations
by Finite Volume Methods, Using Runge-
Kutta Time Stepping Schemes. AIAA Paper
81-1259, 1981.
(7) Turkel, E.: Accuracy of schemes with
nonuniform meshes for compressible fluid
flows. Applied Numerical Mathematics, vol.
2, pp 529−550, 1986.
ISBN 978-607-95309-9-0 Página | 576 Derechos Reservados © 2013, SOMIM