introducciÓn a la disciplina cfd mediante una...

10
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 1 Reséndiz Rosas Celerino, 1 Gómez Mercado Abdiel, 2 Toledo Velázquez Miguel 1 Divisió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 2 Instituto 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

Upload: nguyentruc

Post on 01-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

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