Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capítulo 4
Modelo numérico
4.1 Introducción
En este capítulo se dará una pequeña aproximación a la disciplina conocida como Mecánica de
Fluidos Computacional, en inglés CFD (Computational Fluid Dynamics), y se continuará
describiendo el método de volúmenes finitos utilizado en este trabajo y el código de propósito
general PHOENICS para la resolución de los problemas propuestos a lo largo de este trabajo.
En las siguientes líneas se hará un acercamiento a las distintas vías de estudio de los
problemas de flujo de fluidos y transmisión de calor, posteriormente nos introduciremos en el
estudio de la Mecánica de Fluidos Computacional con la formulación general de los métodos de
discretización a partir del método de residuos ponderados. Tras esto, estaremos en condiciones
de abordar el método de los volúmenes finitos en la siguiente sección.
El estudio de problemas de flujo de fluidos y transmisión de calor se puede abordar de
dos formas distintas y frecuentemente complementarias:
● Investigación experimental
● Desarrollo teórico
o Métodos analíticos
o Métodos numéricos
INVESTIGACIÓN EXPERIMENTAL
Es la forma más directa de obtener información sobre un proceso físico consiste en la toma de
medidas de los distintos parámetros que definen el proceso. Complementariamente, pueden
utilizarse técnicas de análisis dimensional y leyes de semejanza física para extrapolar resultados de
unos problemas a otros. Pero estas técnicas no suministran resultados del todo satisfactorios
cuando sólo se consigue semejanza física parcial. Se debe señalar que existen grandes dificultades
(problemas de escala muy pequeña), y que los aparatos de medida siempre tienen errores.
DESARROLLO TEÓRICO
El primer paso para realizar una predicción teórica es establecer un modelo matemático que
describa el proceso físico en estudio, de igual forma a como se ha hecho en el anterior apartado.
Este modelo suele consistir, como hemos podido comprobar, en una serie de ecuaciones
diferenciales, a menudo en derivadas parciales y fuertemente acopladas, con unas condiciones
iniciales y de contorno. Sólo una pequeña proporción de los problemas prácticos se pueden
resolver analíticamente con la suficiente aproximación.
- Problemas en los que existe una adecuada descripción matemática (por ejemplo, en
problemas de conducción pura de calor o capas límite sencillas). Los inconvenientes son:
- Problemas para los que no se ha desarrollado un modelo matemático fiable (por ejemplo,
en flujos turbulentos complejos, flujos bifásicos, fluidos no newtonianos, etc.).
o Las mismas desventajas que antes junto con la posibilidad de estar simulando un
problema que no ocurre en la realidad. En estos casos la comparación de estos
resultados computacionales con unos experimentales del mismo problema o al
menos de un problema semejante es determinante para validar o no la solución
numérica.
Pasamos ahora a hablar de los métodos de discretización de las ecuaciones definidas en el
modelo matemático. Se hará desde una formulación general, basándonos en el método de los
residuos ponderados, demostrando a su vez que cada uno de los métodos de discretización más
extendidos en la actualidad pueden considerarse casos particulares de este.
de manera que T 0 (x,y,z,t) se elige para satisfacer las condiciones iniciales y de contorno (si es
B B
posible, de forma exacta). Las funciones de aproximación Φ j (x,y,z) son conocidas; por
B B
sistema de ecuaciones que se genera a partir de las ecuaciones diferenciales que gobiernan el
problema. En problemas estacionarios, el sistema resultante es de ecuaciones algebraicas, puesto
que los coeficientes son constantes. En problemas transitorios, se obtiene un sistema de
ecuaciones diferenciales ordinarias en el tiempo.
Supóngase ahora que la ecuación de conservación para el problema en estudio puede
ponerse en la forma
∂T ⎛ ∂2T ∂2T ∂2T ⎞
L (T ) = − α ⎜⎜ 2 + 2 + 2 ⎟=0
⎟ (4.5)
∂t ⎝ ∂x ∂y ∂z ⎠
en la que la barra sobre la variable denota la solución exacta. Si la solución aproximada (4.3) se
sustituye en (4.5), se obtendrá un residuo o error R,
L (T ) = R (4.6)
siendo este residuo una función continua de x, y, z y t.
Si J se hace lo suficientemente grande, en principio los coeficientes a j (t) pueden elegirse
B B
de modo que R sea pequeño en el dominio de cálculo. Estos coeficientes se determinan igualando
a cero la integral ponderada del residuo R sobre el dominio de cálculo,
cero fuera del dominio. Las ecuaciones que definen W m y la integración ponderada del residuo en
B B
por uno de estos volúmenes de control. La ecuación diferencial se integra sobre cada volumen de
control. Para expresar la variación de la variable dependiente en las caras de los volúmenes de
control y resolver las integrales, se elige una función local lineal. El resultado de la integración es
la ecuación discretizada con los valores de Φ para los nodos de la malla.
La principal ventaja de este método con respecto al de diferencias finitas se basa en que la
solución obtenida asegura implícitamente que magnitudes como la masa, la cantidad de
movimiento y la energía se conservan para cualquier grupo de volúmenes de control, y por
supuesto, para todo el dominio del problema. Incluso si la malla es basta, se cumplen los balances
exactamente.
Cuando las ecuaciones discretizadas se resuelven para obtener los valores de la variable
dependiente en los nodos de la red, el resultado admite dos enfoques. En el método de los
elementos finitos, y en la mayor parte de los métodos de residuos ponderados, la variación
supuesta para la variable dependiente (compuesta por los valores en los nodos y las funciones de
interpolación entre estos) se toma como la solución aproximada. En cambio, en los métodos de
diferencias finitas, se considera como solución tan sólo los valores de la variable dependiente en
los nodos de la malla, sin hacer referencia a los valores de esta variable entre los distintos nodos.
En el método de los volúmenes finitos también se adopta este enfoque. Las fórmulas de
interpolación sólo se toman como funciones auxiliares necesarias para evaluar las integrales
aparecidas en la formulación. Por tanto, una vez que se ha obtenido la ecuación discretizada,
puede prescindirse de la función de interpolación impuesta.
A continuación se presenta un ejemplo de aplicación de este método en la discretización
de una ecuación en derivadas primeras. Las ecuaciones encontradas en la mecánica de fluidos
pueden ser más complejas pero este ejemplo es lo suficientemente descriptivo.
⎛ ∂ q ∂ F ∂G ⎞
∫ ⎜
ABCD ⎜ ∂t
⎝
+
∂x
+
∂y
⎟dxdy = 0
⎟
⎠
(4.9)
siendo A el área del cuadrilátero ABCD. Como incrementos en x y en y a lo largo del lado AB del
cuadrilátero pueden tomarse los siguientes:
Δy AB = y B − y A , Δx AB = x B − x A , (4.13)
y como valores de las variables F y G sobre el mismo lado,
FAB =
1
(F j ,k −1 + F j ,k ), G AB = 1 (G j ,k −1 + G j ,k ) , (4.14)
2 2
y del mismo modo se efectuaría con los restantes lados del cuadrilátero.
Si A no fuera función del tiempo, entonces la ecuación discretizada quedaría del modo
siguiente:
dq j , k
A
1
(F j ,k −1 + F j ,k )Δy AB − 1 (G j ,k −1 + G j ,k )Δx AB
+
dt 2 2
+ (F j , k + F j +1,k )Δy BC − (G j , k + G j +1,k )Δx BC
1 1
2 2 (4.15)
+ (F j , k + F j ,k +1 )Δy CD − (G j , k + G j ,k +1 )ΔxCD
1 1
2 2
+ (F j −1,k + F j ,k )Δy DA − (G j −1,k + G j ,k )Δx DA = 0.
1 1
2 2
Se ha obtenido entonces una ecuación en volúmenes finitos. Si la malla (j,k) es irregular, esta
ecuación proporciona una discretización en coordenadas cartesianas, sin necesidad de introducir
coordenadas generalizadas. Si la malla es uniforme, y las direcciones j y k coinciden con las x e y,
la ecuación anterior se puede poner
dq j ,k
ΔxΔy
1
−(G j ,k −1 + G j ,k )Δx + 1 (F j ,k + F j +1,k )Δy
dt 2 2 (4.16)
+ (G j ,k + G j ,k +1 )Δx − (F j −1,k + F j ,k )Δy = 0,
1 1
2 2
o bien de forma más compacta
d F j +1,k − F j −1,k G j ,k +1 − G j ,k −1
q j ,k + + = 0, (4.17)
dt 2Δx 2Δy
expresión que coincide con la representación en diferencias centrales de los términos espaciales.
El método permite además la discretización de dominios de cálculo relativamente
complicados.
Cuando nos enfrentamos a una ecuación con derivadas de mayor orden el procedimiento
es análogo al descrito en esta sección.
dependiente en un punto de la malla esta influenciado por los valores en los puntos
adyacentes debido a los procesos de convección y de difusión. La ecuación (4.18)
representa una ecuación discretizada en forma general.
a pφ p = ∑ a adyφ ady + b p (4.18)
nodos adyacentes, Φ ady , multiplicados por sus correspondientes coeficientes, a ady , más la
B B B B
posible fuente o sumidero que pueda existir en el nodo en cuestión, b p . Se puede deducir B B
Figura 4.2. Esquema de tres puntos nodales adyacentes para un problema unidimensional.
se puede observar en la expresión (4.21) que el coeficiente a p puede llegar a ser negativo,
B B
sólo las derivadas de la variable dependiente. Entonces, las dos funciones Φ y Φ+C,
siendo C una constante arbitraria, satisfacen la ecuación diferencial. Esta propiedad de la
ecuación diferencial debe reflejarse también en la ecuación discretizada, que según esto,
debe ser válida si se suma a los coeficientes a E y a W una misma constante C. Como se
B B B B
cumplir lo anterior.
Posteriormente Versteeg & Malalasekera (1995) volvieron a enunciar las propiedades que
una técnica de discretización debe cumplir para que esta arroje soluciones lo más cercanas a la
realidad posible. Estos autores enunciaron tres propiedades: ‘conservativeness’, ‘boundedness’
y ‘transportivenes’. Las dos primeras recogen de forma explícita o implícita las propiedades
dadas por Patankar (1980), pero la última de ellas llega algo más lejos en el análisis de estas
técnicas y es necesario tratarla con más detalle, para la posterior comprensión de las ventajas e
inconvenientes de cada uno de las técnicas de discretización utilizadas en la actualidad y que
describiremos seguidamente.
- Capacidad de identificación del sentido de flujo (‘transportiveness’): Esta propiedad
U U
Figura 4.3. Distribución de Φ en las proximidades de la fuente para distintos valores de Pe.
una débil o nula influencia procedente de E. En el caso de convección pura (Pe→ ∞ ) los
contornos elípticos están completamente extendidos en la dirección del flujo. La totalidad
de la propiedad que procede de la fuente en P se transporta inmediatamente aguas abajo
hacia E. De este modo el valor de Φ en E se ve afectado solamente por las condiciones
aguas arriba y puesto que allí no existe difusión Φ P es igual a Φ E . Para que un esquema de
B B B B
interpolación sea fiable, es importante que cumpla con la capacidad de identificación del
sentido del flujo (‘transportiveness’), se confirme en el esquema de discretización.
TIPOS DE ESQUEMAS DE DISCRETIZACIÓN
Entre los esquemas de discretización más utilizados en el método de los volúmenes finitos se
encuentran:
● UEsquema de diferencias centrales : Para la mejor comprensión de este método se va a
U
(ρuφ )e − (ρuφ )w = ⎛⎜ Γ dφ ⎞⎟ ⎛ dφ ⎞
− ⎜Γ ⎟ . (4.27)
⎝ dx ⎠ e ⎝ dx ⎠ w
Suponiendo que las caras del volumen de control están en el punto medio, resulta por
interpolación lineal,
1
φe = (φ E + φ P ) y φ w = 1 (φ P + φW ) (4.28)
2 2
La ecuación (4.27) puede escribirse ahora de la forma
( ) ( )
1
(ρu )e (φ E + φ P ) − 1 (φ P + φW ) = Γe φ E − φ P − Γw φ P − φW . (4.29)
2 2 (δx )e (δx )w
Para escribir esta ecuación de forma más compacta, se define
Γ
F ≡ ρu y D ≡ . (4.30)
(δx )
Las cantidades F y D tienen las mismas dimensiones. Mientras que D siempre es positivo,
F puede ser positivo o negativo, dependiendo de la dirección del flujo fluido.
Aplicando (4.30), la ecuación discretizada queda
a Pφ P = a E φ E + aW φW , (4.31)
siendo
Fe
a E = De −
, (4.32)
2
F
a w = Dw + w , (4.33)
2
F F
a P = De + e + Dw − w = a E + aW + (Fe − Fw ) . (4.34)
2 2
Por continuidad, F e = F w (4.26), por lo que a P = a E + aW .
B B B B
Φ en el nodo de la malla situado inmediatamente aguas arriba de la cara, dependiendo de cual sea
la dirección del flujo. De este modo,
φe = φ P si Fe B B > 0
(4.35)
φ e = φ E si F e < 0
B B (4.36)
φ w = φW si F w > 0
B B (4.37)
φw = φ E si Fw B B < 0
(4.38)
Operando de forma similar que en el esquema de diferencias centrales, partiendo de la
misma ecuación diferencial (4.24) y llegando a una expresión similar a (4.31). Tomando como
premisa un flujo hacia la derecha (F e > 0 y F w > 0), en esta ocasión obtenemos los coeficientes
B B B B
a E = De , (4.39)
aW = Dw + Fw , (4.40)
a P = De + Dw + Fe . (4.41)
Supongamos ahora un flujo hacia la izquierda (F e < 0 y F w < 0), en este caso los
B B B B
Figura 4.4. Solución exacta para el problema unidimensional con convección y difusión
En la Figura 4.5 podemos ver una representación de la solución dada por los métodos
‘upwind’ y diferencias centrales en función del número de Peclet junto con la solución exacta,
también en función de este número adimensional. En esta representación se aprecian los
problemas de convergencia que puede llegar a ocasionar el esquema de diferencias centrales para
valores pequeños del número de Peclet, mostrándose el esquema ‘upwind’ como una seria
alternativa en estas circunstancias.
Figura 4.5. Predicción de Φ P por varios esquemas para un rango de números de Peclet.
B B
La exactitud aumenta al utilizar mallas cada vez más finas, esto puede inducir que una malla muy
densa podría eliminar los problemas derivados de la difusión numérica pero las mallas que
podrían anular este problema pueden no resultar factibles. Además se ha demostrado que para
números de Reynolds altos, la difusión numérica puede llevar a soluciones irreales. Por esta razón
se han desarrollado métodos de orden superior para solventar este problema, métodos que serán
tratados posteriormente.
● U Esquema híbrido : Este esquema, desarrollado por Spalding (1972), trata de acercarse a la
U
solución exacta del problema, eliminando los problemas ocasionales del esquema ‘upwind’ para
números de Peclet suficientemente pequeños. Para un rango de números de Peclet −2 ≤ Pe≤ 2,
se utiliza el esquema de diferencias centrales. Para valores de Pe fuera de este rango, se emplea el
esquema ‘upwind’. El esquema híbrido tiene dificultades en problemas en los que los efectos
combinados de convección y difusión son importantes en la mayor parte del campo fluido, y la
dirección principal del flujo es oblicua respecto de las direcciones principales de la malla de
cálculo, en cuyo caso la difusión numérica es importante. Al igual que el esquema ‘upwind’
cumple con las tres propiedades básicas expuestas por Veersteg & Malalasekera (1995).
En la formulación introducida con el esquema ‘upwind’, los coeficientes de la ecuación
discretizada (4.31) quedan para este método,
a E = [[− Fe , De − Fe 2 ,0]], (4.50)
aW = [[Fw , Dw + Fw 2 ,0]] , (4.51)
a P = a E + aW + (Fe − Fw ) . (4.52)
● U Esquema exponencial : Este esquema parte de suponer que la variación de Φ P a Φ E a lo
U B B B B
largo de una distancia (δx) e es del mismo tipo que la solución analítica expuesta anteriormente en
B B
(4.49). Este esquema da buenos resultados en flujos estacionarios y unidimensionales, pero puede
resultar problemático para otros flujos bidimensionales y tridimensionales. Por tanto, debido a su
costosa computación su uso no suele estar justificado en la mayoría de las ocasiones.
● UEsquema potencial : Este esquema fue propuesto por Patankar (1980) y propone utilizar
U
una aproximación de tipo potencial (’powerlaw scheme’), ampliando el límite del número de
Peclet del 2 usado en el esquema híbrido a 10, de modo que ofrece exactamente la misma
solución para | Pe |> 10.
El esquema potencial es más complejo que el esquema híbrido, aunque es más fácil de
computar que el esquema exponencial, así que en determinados casos es recomendable ya que se
acerca más a la solución exacta que el esquema híbrido.
● U Esquemas de alto orden : Como se ha señalado anteriormente, esquemas como el
U
‘upwind’ o el híbrido dan resultados satisfactorios para muchas simulaciones numéricas. Aún así,
deben considerarse como esquemas de primer orden que pueden presentar problemas de
difusión numérica. Ante esto se deben plantear esquemas de orden dos o superior, basados en la
filosofía ‘upwind’ (o en otras alternativas), que cumplan las propiedades ‘conservativeness’,
‘boundedness’ y ‘transportivenes’.
El código de propósito general PHOENICS en su versión 3.1 presenta una formulación
general para este tipo de métodos, basada a su vez en la propuesta por Waterson & Deconinck
(1995), que mostramos a continuación. Suponiendo que el flujo va de izquierda a derecha y
haciendo referencia el subíndice WW al lado ‘upwind’ de W,
1
φ w = φW + B(φW − φWW ) (4.53)
2
φ P − φW
B = B(r ) , siendo r = (4.54)
φW − φWW
Ante esta formulación, los esquemas lineales antes descritos se pueden formular como casos
particulares escogiendo debidamente la función B (r). En el esquema ‘upwind’,
B(r ) = 0 . (4.55)
En el esquema de diferencias centrales,
B(r ) = r . (4.56)
Haciendo ahora,
1
B (r ) = [(1 + k )r + (1 − k )], (4.57)
2
el esquema ’linear-upwind’ es para K = -1, el esquema ‘quadratic upwind’ cumple K =0.5,
mientras que el ’cubic upwind’, K =1/3. El esquema ‘quadratic upwind’ recibe el nombre de
QUICK (‘Quadratic Upwind Interpolation for Convective Kinematics’).
Los esquemas no lineales se caracterizan por ser más complejos que los anteriores. En
cada caso de los que se exponen a continuación es preciso definir individualmente el factor B(r).
Al esquema ’bounded quick’ se puede llegar haciendo,
B(r ) = máx[0, mín(2r ,0.75r + 0.25,4)] , (4.58)
mientras que al ’bounded cubic TVD’,
B(r ) = máx[0, mín(2r , (2r + 1) 3 ,2)] . (4.59)
Este esquema se basa en la filosofía TVD (‘Total Variation Diminishing’), según esta la variación
total de una variable u con x,
∂u
TV = ∫ dx , (4.60)
∂x
Puede aproximarse por
TV (u ) = ∑ u j +1 − u j , (4.61)
j
complejidad que esto entrañaría, nos centraremos en aspectos más básicos de la utilización de
este algoritmo.
La forma discretizada de la ecuación de conservación de la cantidad de movimiento para
una componente determinada de velocidad, por ejemplo u, se puede expresar,
ae u e = ∑ a ady u ady + b + ( p P − p E )Ae , (4.65)
donde el subíndice e indica el punto que define el volumen de control considerado, y el subíndice
ady, los correspondientes puntos adyacentes en el plano xy. Los coeficientes a ady cuantifican el
B B
● La región interior donde influye la viscosidad se malla y se resuelve, junto con el resto del
campo fluido. Los modelos de turbulencia empleados (modelos ‘de proximidad a la
pared’ o ‘near – wall’) deben modificarse para permitir que la región se resuelva con un
mallado hasta la pared, incluyendo la subcapa viscosa.
La última de las alternativas será la solución tomada para las simulaciones desarrolladas en
este trabajo. El tratamiento por leyes de pared es acertado para altos números de Reynolds, en
condiciones de turbulencia completamente desarrollada. En este proyecto, como ya se dijo en
capítulos anteriores, se intentará simular la transición de flujo laminar a turbulento. Los flujos de
transición, tienen la propiedad de que la producción de turbulencia no está en general en
equilibrio con la disipación de la misma cerca de las paredes, de modo que el
comportamiento universal de la velocidad en las paredes no se cumple. Por esta razón es
conveniente calcular el flujo en todo el campo fluido.
a) b)
Figura 4.8. a) Malla ajustada al cuerpo. b) Malla cartesiana similar a las utilizadas en las simulaciones de este
proyecto.
4.10). Para valores de y + por debajo de 1, los resultados llegan a ser independientes de este
P P
parámetro.
1800
k−ω (high-Re)
1600 k−ω (low-Re)
1400
NuL
1200
1000
800
10-1 100 101 102
y+
+
Figura 4.10. Influencia de y en los resultados numéricos para el número de Nusselt medio en la
P P
pared, Nu L . Caso correspondiente a canal simple isotermo, con relación de aspecto b/L = 0,2 y
B B
Estos resultados se consiguieron para una configuración de pared ‘Trombe’ sin las
regiones horizontales de entrada y salida del flujo, es decir, un canal simple vertical. Las
propiedades de calentamiento aplicadas a este canal simple fueron de paredes isotermas y
como podemos observar los modelos de turbulencia utilizado fue el k-ω en sus versiones
para altos y bajos números de Reynolds.
Tanto en los casos de la Figura 4.10 como en los casos de la Figura 4.11 que
comentaremos seguidamente se ha conseguido la variación de y + mediante la introducción de
P P
valores por debajo de 2 los resultados en el gasto másico m (kg/s) llegan a ser prácticamente
independientes tanto del mismo y + , como de la malla utilizada. Las conclusiones que se
P P
desprenden de este estudio han sido extrapoladas a configuraciones más complejas como
paredes ‘Trombe’ o las chimeneas solares tratadas en este proyecto.
1.12
Malla de referencia, 120 x 80 celdas
1.10 64 x 48 celdas
96 x 72 celdas
128 x 96 celdas
1.08 176 x 132 celdas
240 x 180 celdas
1.06 400 x 300 celdas
m/mref
1.04
1.02
1.00
0.98
0.01 0.1 1 10 100
y+
+
Figura 4.11. Influencia de y sobre el gasto másico m, para distintas mallas. Caso correspondiente a
P P
canal simple, con relación de aspecto b/L = 0,1 y número de Rayleigh Ra L = 10 13 . m ref es el gasto B B P P B B
másico correspondiente a la malla de referencia de 120 × 80 celdas, y valor más bajo de y + (= 0.09). P P
Para mostrar como esta filosofía se aplica en la práctica, veamos algunos ejemplos de
ficheros ‘q1’ utilizados en este proyecto.
PAREDES
Para la introducción de una condición de contorno, es preciso fijar en cualquier caso la
localización de la región del dominio de cálculo sobre la que se sitúa la fuente o sumidero. Esto
se consigue mediante la sentencia ‘patch’. Tomamos el ejemplo de la definición de la pared de
cristal de la chimenea solar en el caso de simulación laminar, llamada ‘CRISCAN’:
PATCH(CRISCAN,NWALL,1,NX,NY,NY,1,1,1,1). (4.68)
donde
● ‘CRISCAN’ es el nombre que recibe dicha pared.
● ‘NWALL’ indica que se fija la condición de contorno en la cara norte de las celdas que se
especifican a continuación.
● Los dos términos siguientes ‘1,NX’, indican el rango de celdas que ocupa el ‘patch’ en la
dirección x.
● Las cantidades que aparecen seguidamente ‘NY,NY,1,1’, indican el rango que ocupa el
‘patch’ en las direcciones y, las dos primeras, y z, las dos últimas que por ser el problema
bidimensional sólo ocupa una celda.
● Los dos últimos números ‘1,1’, indica el rango de intervalos de tiempo que ocupa el
‘patch’. Como el problema es estacionario sólo tiene un único intervalo de tiempo.
Ahora se han de definir el coeficiente y el valor que antes se han comentado. Estos se
especifican con la instrucción ‘coval’. Cada instrucción ‘coval’ debe figurar con su
correspondiente orden ‘patch’, y ambas deben poseer el mismo nombre. Las instrucciones ‘coval’
para la pared CRISCAN son las que siguen,
COVAL(CRISCAN,U1,1.0,0.0), (4.69)
COVAL(CRISCAN,V1,1.0,0.0), (4.70)
COVAL(CRISCAN,tem1,fixflu,qflu1). (4.71)
Tomamos, por ejemplo, la expresión (4.69). En ella, entre los paréntesis de la instrucción
‘coval’, podemos ver los siguientes términos:
● ‘CRISCAN’ hace referencia al correspondiente ‘patch’.
● ‘U1’ expresa la propiedad sobre la que se fija un valor, en este caso la velocidad en el eje x.
● ‘1.0’ es el coeficiente, que tiene este valor por ser este caso de flujo laminar.
● ‘0.0’ es el valor de la propiedad en dicha pared.
Puede tener cierta relevancia la expresión para fijar la temperatura (4.71), ya que a la hora
de fijar el coeficiente se ha de tener en cuenta que PHOENICS no calcula la temperatura sino la
entalpía, en este caso ‘fixflu’ indica la existencia de un flujo de calor.
En caso de que el flujo sea turbulento, la definición de las condiciones de contorno, en
este caso para la pared PAREDTR2 que es el muro de hormigón tras el cristal de la chimenea
solar, serían:
PATCH(PAREDTR2,SWALL,NX1+1,NX,NY1+NY2+1,NY1+NY2+1,1,1,1,1), (4.72)
COVAL(PAREDTR2,U1,GRND2,0.0), (4.73)
COVAL(PAREDTR2,V1,GRND2,0.0), (4.74)
COVAL(PAREDTR2,tem1,fixflu,qflu2), (4.75)
COVAL(PAREDTR2,OMEG,GRND2,GRND2), (4.76)
COVAL(PAREDTR2,KE,1.0,0.0). (4.77)
Podemos observar en estas sentencias la existencia del coeficiente ‘GRND2’ que implica una ley
de la pared logarítmica, característica del flujo turbulento.
ENTRADAS Y SALIDAS
Pongamos como ejemplo las condiciones de contorno en la entrada del caso laminar:
PATCH(ENTRADA,SOUTH,1,NX1,NY1+1,NY1+1,1,1,1,1), (4.78)
COVAL(ENTRADA,P1,-2.*RHO,0.0), (4.79)
COVAL(ENTRADA,U1,ONLYMS,0.0), (4.80)
COVAL(ENTRADA,V1,ONLYMS,SAME), (4.81)
COVAL(ENTRADA,TEM1,ONLYMS,TREF). (4.82)
Aquí la presión de referencia es igual a cero, en la localización dada por el ‘patch’
correspondiente, y el coeficiente ‘-2.*RHO’ determina que el flujo de masa entrante sea
proporcional a la raíz cuadrada de la diferencia de presiones entre la ambiente y el interior del
canal. Esto es equivalente a decir que las pérdidas de presión en la entrada responden a la
expresión (4.83), que resulta equivalente a la aplicación de la ecuación de Bernoulli.
( )
PT = P + ρ U x2 + U y2 2 = 0 (4.83)
El coeficiente ‘onlyms’ hace que únicamente exista flujo de masa convectivo y no difusivo,
cumpliendo la expresión (4.84). La expresión ‘same’ indica a EARTH que el valor exterior de la
velocidad en la dirección del flujo se toma igual al valor de la misma en la celda, lo que implica
que la fuente correspondiente es nula.
∂u1 ∂v1
= =0 (4.84)
∂x ∂y
CONSTRUCCIÓN DE MALLAS
Como se ha mencionado anteriormente, en las simulaciones que se expondrán en capítulos
posteriores se han utilizado mallas ajustadas al cuerpo. Se consigue implementar este tipo de
mallas con la orden:
BFC=T (4.85)
El proceso de creación de una malla ajustada al cuerpo suele tener la siguiente secuencia:
1. Se definen algunos puntos del dominio computacional (límites exteriores); éstos son
especificados en coordenadas cartesianas.
2. Los puntos se unen por líneas. Cada línea se dividirá según los deseos del usuario en un
número determinado de celdas, las cuales podrán distribuirse de forma uniforme o
variable.
3. Las líneas son enlazadas para crear un contorno bidimensional.
4. Una malla bidimensional es entonces fusionada al contorno formado por las líneas.
5. En casos tridimensionales, las mallas bidimensionales son enlazadas para formar un
contorno tridimensional.
Para la creación de puntos, líneas, definir contornos donde adaptar la malla y acoplar una
malla al mismo se utilizará el mismo comando ‘gset’. Para distinguir por parte del programa que
se está definiendo con esta orden, el primer término será P, L, F o M para un punto, línea,
definir contornos o acoplar una malla al contorno respectivamente.
Veamos distintos ejemplos utilizados en ficheros ‘q1’ que se han desarrollado en este trabajo.
Un ejemplo para la definición de un punto es el siguiente:
GSET(P,P15,ALT1,HAB,0.0) (4.86)
donde
● ‘P15’ es el nombre del punto.
● ‘ALT1,HAB,0.0’ son las coordenadas del punto en el sistema cartesiano, que, como en
este caso, pueden estar dadas por variables anteriormente definidas.
Para la definición de una línea:
GSET(L,L5,P5,P6,NX2,S2.3) (4.87)
aquí
● ‘L5’ es el nombre de la línea.
● ‘P5’ nombre del punto donde empieza la línea.
● ‘P6’ nombre del punto donde finaliza la línea.
● ‘NX2’ número de segmentos en los que se quiere fragmentar la línea
● ‘S2.3’ función de distribución, que en este caso es una distribución simétrica de factor 2.3.
Para definir contornos donde adaptar una malla:
GSET(F,F04,P11,-,P15,P13,P7,-,P8,P9) (4.88)
donde
● ‘F04’ es el nombre del contorno.
● ‘P11’ nombre del punto de la primera esquina del contorno.
● ‘P15’ nombre del punto de la segunda esquina del contorno.
● ‘P7’ nombre del punto de la tercera esquina del contorno.
● ‘P8’ nombre del punto de la cuarta esquina del contorno.
● Tras estos términos, se enumeran los puntos que hay entre esa esquina y la siguiente. Por
ejemplo, entre la cuarta y la primera esquina se encuentra el punto ‘P9’ (último término
del comando). Sin embargo, entre la primera y segunda esquina, segunda y tercera
esquina, así como entre tercera y cuarta esquina no hay ningún punto definido, esto se
representa con el término ‘-’.
Para acoplar una malla al contorno definido:
GSET(M,F04,+I+J,1,NY1+1,1,TRANS) (4.89)
donde
● ‘F04’ nombre del contorno al que se quiere adaptar la malla.
● ‘+I+J’ da la dirección de las líneas de la malla que ha de adaptarse al contorno.
● ‘1,NY1+1,1’ índice para la esquina de la malla que ha de adaptarse al punto de la primera
esquina del contorno.
● ‘TRANS’ método de interpolación para adaptar la malla, en este caso una traslación finita.
RESOLUCIÓN, DEFINICIÓN O INICIALIZACIÓN DE VARIABLES
PHOENICS necesita la especificación de las variables que deben resolverse durante el proceso de
cálculo; la instrucción
SOLVE(P1,V1,u1,tem1) (4.90)
indica que se resuelven las distribuciones de presión, dos componentes de velocidad, y la
temperatura.
Mediante la orden ‘solutn’, pueden especificarse además particularidades del modo de
solución elegido para cada una de las variables.
Las variables definidas por el usuario deben declararse en el fichero ‘q1’. Las variables
reales se definen con el comando ‘real’, a continuación se muestran varios ejemplos encontrados
en nuestros ‘q1’:
REAL(BETA,AGRAV,TDELTA,TREF,TWALL,TPLA,BOXL,BOXB) (4.91)
REAL(RA,RELA,PRA,VISCO,RHO,TADI,LPLA,TP1,TP2,TP21,CP,GAMMAG) (4.92)
REAL(QFLU,CONDUC) (4.93)
REAL(congas,preref,denref,tempref) (4.94)
Las variables enteras se definen con el comando ‘integer’, como ejemplo se presenta la
definición del número de celdas en las diferentes direcciones:
INTEGER(NX1,NX2,NX3,NY1,NY2,NY3) (4.95)
La inicialización de variables se consigue mediante el comando ‘fiinit’. Se impone el valor
inicial que toma la variable en el comienzo del cálculo; sin embargo, si el valor impuesto no es
adecuado, el tiempo de ordenador puede hacerse considerablemente más largo hasta alcanzar una
solución óptima. Como ejemplos de nuestros ‘q1’ se presentan los siguientes:
FIINIT(U1)=VELINI (4.96)
FIINIT(V1)=0.0001*VELINI (4.97)
fiinit(tem1)=tref (4.98)
La instrucción ‘restrt(all)’ ordena a EARTH leer el campo inicial de las variables que se
especifiquen del fichero de resultados ‘phida’ obtenido en la computación anterior. La
especificación ‘all’ impone que sean leídos los campos de todas las variables. También se pueden
especificar las variables que se desea que sean leídas con este comando (4.99).
RESTRT(P1,U1,V1,TEM1,VISL,DEN1) (4.99)
SUBRELAJACIÓN
Algunas variables de PHOENICS necesitan frecuentemente subrelajación, en nuestro caso
fueron la presión, temperatura, componentes de la velocidad y variables turbulentas (k, ω). La
subrelajación es más frecuente en flujos estacionarios como los que se tratan aquí; en flujos
transitorios, si el intervalo de tiempo es más pequeño que el límite de Courant, la subrelajación es
probablemente innecesaria.
La instrucción ‘relax’ es correspondiente para establecer subrelajación en las variables En
los ‘q1’ desarrollados se han utilizado las dos variantes de este comando que podemos ver a
continuación. La primera de ellas la vemos en su aplicación a las componentes de la velocidad.
RELAX(V1,FALSDT,0.001) (4.100)
RELAX(u1,FALSDT,0.001) (4.101)
Esta variante añade una fuente de la variable en cuestión en cada celda igual a la masa en dicha
celda dividida por el tamaño de un intervalo “ficticio” de tiempo ‘dtfals’. Este intervalo de tiempo
viene especificado en el último término del paréntesis. El efecto de esta fuente es nulo una vez
que ha convergido el problema. Esta opción es de empleo mayoritario en los flujos estacionarios,
debido a que los flujos transitorios ya poseen de por sí una fuente de este tipo.
Para valores pequeños de este intervalo “ficticio” de tiempo (que debe ser siempre
positivo), la variable dependiente cambiará muy poco durante cada ciclo de cálculo, consiguiendo
eliminar problemas de convergencia a cambio de un mayor tiempo de computación.
La segunda variante de este comando es la siguiente:
RELAX(P1,LINRLX,0.1) (4.102)
RELAX(tem1,LINRLX,0.1) (4.103)
RELAX(KE,LINRLX,0.0001) (4.104)
RELAX(OMEG,LINRLX,0.00001) (4.105)
Esta variante nos proporciona una subrelajación lineal del siguiente tipo,
Valor aceptado = valor ‘old’ + factor· (valor ‘new’ – valor ‘old’). (4.106)
El factor que se utiliza se especifica en el último término del paréntesis. El factor se elige
habitualmente entre ‘0.0’ y ‘1.0’; para la presión y la velocidad, el valor recomendado se sitúa
entre 0.1 - 0.3, los valores más bajos consiguen un mayor efecto de subrelajación. En el caso de
las variables turbulentas, los valores recomendados son bastante inferiores a 0.1.
OTROS COMANDOS DE INTERÉS
Para terminar esta breve introducción a los comandos utilizados en la creación del fichero ‘q1’,
destacamos las siguientes órdenes que determinan el modelo de turbulencia y esquema de
discretización utilizado, así como el número de iteraciones realizadas por el programa.
Para determinar el modelo de turbulencia utilizado se utiliza el comando ‘turmod’, en
nuestro caso se utiliza un modelo k – ω para bajos números de Reynolds que se especifica como
sigue:
TURMOD(KOMODL-LOWRE) (4.107)
En el caso del esquema de discretización utilizado, que en nuestro caso es el MUSCL,
además de este se deben especificar las variables resueltas por este método. Esto se hace con la
orden ‘scheme’ (4.111).
SCHEME(MUSCL,omeg,KE,U1,V1) (4.108)