Metodos Numericos en Fenomenos de Transporte
Metodos Numericos en Fenomenos de Transporte
Metodos Numericos en Fenomenos de Transporte
1
ÍNDICE GENERAL
ÍNDICE GENERAL
3.6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6.2. MatLab como software de aplicación . . . . . . . . . . . . . . . . . . . . . . . . 64
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 2
ÍNDICE GENERAL
ÍNDICE GENERAL
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 3
ÍNDICE GENERAL
ÍNDICE GENERAL
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 4
ÍNDICE GENERAL
ÍNDICE GENERAL
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 5
ÍNDICE GENERAL
ÍNDICE GENERAL
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 6
Introducción. Contenidos del curso
Este curso básico sobre CFD siguiendo los lineamientos del libro de C. Hirsch [Hirsch] se divide en
2 partes:
La primera parte del curso consiste en presentar los principios generales sobre los que se apoyan
los modelos fı́sicos que interpretan muchas de las situaciones experimentales en mecánica de fluidos y
transferencia de calor. Mediante una visión del material propia de la mecánica del continuo se obtiene
posteriormente un modelo matemático que en general consiste de un conjunto de ecuaciones a deriva-
das parciales con o sin restricciones y con sus respectivos valores de contorno e iniciales que completan
7
ÍNDICE GENERAL
ÍNDICE GENERAL
su definición. Dada la complejidad matemática de estos modelos, salvo en situaciones muy particulares
en las cuales se pueden obtener soluciones analı́ticas, requieren de su resolución numérica con lo cual
se hace necesario presentar las diferentes técnicas de discretización habitualmente empleadas en pro-
blemas de transporte de calor y momento. Debido al diferente carácter de las ecuaciones diferenciales,
tanto en su visión continua como en su contraparte discreta y a la presencia de ecuaciones adicionales
en los contornos, tambien discretizadas, se requiere un minucioso análisis de los esquemas numéricos
empleados previo a su resolución, con el fin de poder interpretar las técnicas numéricas desde el punto
de vista de la precisión, la convergencia, la consistencia y la estabilidad. A continuación se aborda el
tema de la resolución numérica delsistema algebraico/diferencial de ecuaciones que surge de la discre-
tización empleada. Este tópico tiene alta incidencia en la factibilidad de resolver problemas numéricos
ya que de acuerdo al problema en mano y a los recursos computacionales disponibles muestra las
diferentes alternativas para su resolución. Esta primera parte finaliza con una serie de aplicaciones de
los conceptos adquiridos a la resolución de las ecuaciones de convección difusión tanto en su version
estacionaria como transiente, desde el simple caso unidimensional al multidimensional, considerando
el caso lineal como el no lineal representado por la ecuación de Bürgers. Este modelo sencillo tiene
especial interés dada la similitud que presenta con la estructura de las ecuaciones que conforman la
mayoria de los modelos matemáticos mas frecuentemente usados en mecánica de fluidos y transferencia
de calor. En esta primera parte del curso se introducirán en forma de trabajos prácticos y cuando la
explicación teórica lo requiera algunos ejemplos a resolver tanto analı́tica como numéricamente. dado
que esta parte es introductoria se verán modelos simplificados de aquellos comúnmente empleados
en CFD pero que contienen muchas de las caracterı́sticas matemático/numéricas propias de aquellos
y que lo hacen atractivos en pos de ir incorporando conceptos, necesarios para abordar la segunda
parte, en forma gradual. Paralelamente con el curso teórico se desarrollarán talleres sobre los aspectos
prácticos a cubrir en esta primera parte. Debido a que el enfoque del curso está orientado hacia los
fundamentos y el aprendizaje de las técnicas que están implı́citas en todo código computacional se
hace necesario programar por uno mismo algunas aplicaciones vistas en la sección teórica. Ya que esto
difı́cilmente se encuentra en un paquete comercial y dado que el grado de avance que actualmente
existe en el area de software educativo está bastante lejos de poder contar con herramientas aptas
para la enseñanza se hace necesario elegir algún entorno que sea ameno para el usuario y potente para
el ambicioso plan de aprender métodos numéricos desde cero. En este sentido consideramos que el uso
de MatLab puede ser muy beneficioso por varias razones, a saber:
1. cuenta con muchas rutinas de alto nivel y otras de bajo nivel que permite ubicarse muchas veces
en diferentes niveles o jerarquias con lo cual cada uno puede optar por el rol que mas le gusta,
No obstante, por razones de eficiencia y para cuando la necesidad lo requiera es necesario contar
con conocimientos de lenguajes de programación más orientados a simulaciones de gran escala, como
por ejemplo el Fortran y el C o C++. Sin entrar en detalles acerca de la programación el curso incluye
el manejo de un programa de elementos finitos para la resolución de algunos de los problemas incluidos
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 8
ÍNDICE GENERAL
ÍNDICE GENERAL
en la primera parte del curso. Este software será utilizado en la segunda parte del curso para resolver
problemas de flujos compresibles e incompresibles que requieren mucha mayor potencia de cálculo.
La segunda parte del curso trata acerca de las técnicas especı́ficas empleadas en la resolución de
problemas de mecánica de fluidos. Básicamente se tomará en primera instancia el caso de flujo invı́scido
compresible representado por el modelo de las ecuaciones de Euler y posteriormente se tratará el caso
viscoso tanto compresible como incompresible modelado por las ecuaciones de Navier-Stokes. En cada
uno de estos capı́tulos se volcarán los conceptos aprendidos en la primera parte del curso para diseñar
y analizar esquemas numéricos que permitan resolver estos casos particulares. Dada la complejidad
del problema surgen naturalmente restricciones muy severas en cuanto a la resolución numérica de las
ecuaciones lo cual hace necesario explorar técnicas iterativas especı́ficasa tal fin. Como las soluciones
numéricas en los problemas de flujos de fluidos son altamente dependiente de la malla se hace necesario
introducir nociones básicas sobre generación de mallas en CFD . Este tema forma parte del grupo de
tópicos especiales. Otro de los temas especiales a tratar es el modelado de la turbulencia. Es bien
sabido que la mayorı́a de los problemas de interés son gobernados por condiciones de flujo turbulento.
Se verá a modo de introducción algunos modelos algebraicos tı́picos en los casos de flujos internos y
externos asi como algunos modelos basados en ecuaciones a derivadas parciales como el caso del bien
popular método κ − . Finalmente cierra esta sección de tópicos especiales el tratamiento de problemas
con dominios variables en el tiempo.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 9
Capı́tulo 1
En este capı́tulo se presentan los principios o leyes fı́sicas que gobiernan el flujo de fluidos, las
reglas que definen el comportamiento de los materiales involcucrados, los relaciones termodinámicas
entre las variables que caracterizan el fenómeno y finalmente los modelos matemáticos conformados
por sistemas de ecuaciones diferenciales que serán el punto de partida hacia la búsqueda de soluciones
a diversos problemas de mecánica de fluidos y transferencia de calor.
10
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.1. Conceptos introductorios
Convection
Stable Unstable
Laminar Turbulence
Infinitesimal Finite
amplitude
Instability Transition
Undisturbed Developed
Disturbed Developing
Laminar y turbulento Mientras que el flujo laminar es caracterizado por un movimiento suave
y determinı́stico de una lámina de fluido sobre otra, el turbulento es un movimiento aleatorio super-
puesto sobre un movimiento medio del fluido. El humo de un cigarrillo es un experimento interesante
que permite visualizar como el aire alrededor del mismo al calentarse se pone en movimiento de forma
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 11
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.1. Conceptos introductorios
laminar. En dirección ascendente pronto se ve como esa corriente ordenada empieza a inestabilizarse
formando remolinos de gran escala que se returcen hasta que el desórden se amplifica y los remolinos
se afinan en tamaño y crecen en cantidad retorciéndose más y mas alcanzando un régimen plena-
mente turbulento. Este fenómeno es visible a nuestros ojos por un efecto similar al utilizado en la
técnica Schlieren en el que se hace atravezar rayos luminosos en un medio con densidad variable. De
los muchos experimentos que se podrı́an mencionar acerca de flujos turbulentos no podemos dejar
de mencionar aquel que hizo historia y que se debió al propio Reynolds. El pudo observar como el
flujo que atravezaba un tubo de sección circular a medida que iba cambiando la velocidad de entrada
experimentaba cambios despreciables en su patrón fluidodinámico hasta que al atravezar cierto valor
lı́mite se producı́a un cambio significativo en el régimen fluidodinámico. Ese valor crı́tico puede ser
establecido mediante técnicas de análisis dimensional, que dan cuenta que cuando el número de Rey-
nolds supera un valor próximo a los 2100 el flujo se transiciona y luego se transforma en turbulento.
La transición se manifiesta porque se crea un movimiento vorticoso periódico que al crecer el Reynolds
se desordena aún mas alcanzando un régimen turbulento. La figura 1.1.2 muestra a modo de esquema
los diferentes regı́menes que se presentan en un flujo desde uno laminar estable, pasando por inesta-
bilidades hasta uno turbulento. El tema de la inestabilidad de flujos es toda un area de investigación
aparte que merece mucha atención y que por razones de complejidad y espacio no será tratada en este
curso. Aquellos interesados en el tema pueden recurrir a libros como Batchelor [Ba], Dreizin & Reid
[DR] y a los trabajos de Taylor entre otros.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 12
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.1. Conceptos introductorios
tratar problemas de movimiento de fluidos. Sin embargo y desde el punto de vista de la mecánica del
continuo son más adecuadas las dos leyes de Euler que dicen:
La primera ley de Euler es una generalización de la segunda ley de Newton mientras que la segunda
ley de Euler es independiente de la primera ya que no solo incluye las fuerzas de volúmen sino también
las fuerzas de superficie. Estas dos leyes son conocidas como el principio del momento lineal (1) y
el principio del momento angular (2). Ambas, junto con los principios de conservación de la masa
y la energı́a forman las leyes fundamentales necesarias para definir el modelo fı́sico utilizado en la
mayorı́a de los fenómenos de transporte. Es más, los principios del momento lineal y angular pueden
ser considerados como principios de conservación considerando que la variación temporal de la cantidad
de movimiento lineal o angular son igualadas por la velocidad a la cual dicha cantidad de movimiento
lineal o angular se suminstra al cuerpo mediante una fuerza o un torque respectivamente.
En lo anterior la palabra cuerpo se utiliza como una cantidad fija de material, un cuerpo siempre
contiene la misma masa y algunas veces es referido como sistema. Considerando los 4 principios
de conservación anteriores, cantidad de movimiento lineal y angular, masa y energı́a podemos ver
que los dos primeros son principios sobre propiedades vectoriales mientras que los dos últimos son
establecidos sobre cantidades escalares. Establecer los principios fundamentales es solo el comienzo de
un largo camino en pos de obtener soluciones a problemas de mecánica de los fluidos. A continuación
se requiere un detallado análisis matemático para transformar lo establecido por los principios fı́sicos
en ecuaciones matemáticas útiles. A posteriori se necesita introducir reglas sobre el comportamiento
del material tanto desde un punto de vista mecánico como termodinámico ambas basadas en las
observaciones o quizás en algunos casos deducibles de principios o leyes fı́sicas aplicables a escalas
mucho mas pequeñas. Finalmente es la intuición la que restringe aún más los modelos en pos de
hacerlos tratables.
1.1.4. Unidades
En pos de normalizar el tratamiento tomaremos como unidades aquellas que surgen del sistema
internacional de medidas y que se expresan en función de las siguientes magnitudes básicas o primarias:
M = masa (Kg)
L = distancia (m) (1.1)
t = tiempo (seg)
con lo cual las cantidades cinemáticas como posición, velocidad y aceleración surgen de combinar
distancias y tiempos en distintas potencias. La fuerza, como magnitud dinámica surge de aplicar el
principio de conservación de la cantidad de movimiento lineal , entonces
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 13
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.1. Conceptos introductorios
d
(M v) = F
dt
(1.2)
1 m
[=] Kg = Newton
seg seg
1 ∂ρ
κ= ( )T
ρ ∂p
mientras que el coeficiente de expansión β se define como:
1 ∂ρ
β=− ( )p
ρ ∂T
En el caso de los lı́quidos estos dos coeficientes son en general pequeños, especialmente κ. El
coeficiente de expansión puede adquirir cierta importancia en el caso de fenómenos como la convección
natural. En el caso de gases, un ejemplo es el caso de los gases ideales cuya ley de comportamiento
viene comúnmente expresada por
p
ρ=
RT
1
κ= (1.3)
p
1
β=
T
En el caso de los gases reales el comportamiento es diferente especialmente cerca de los puntos
crı́ticos y se debe recurrir a la experiencia para poder determinar las leyes de comportamiento.
Viscosidad A diferencia de los materiales sólidos que ante un esfuerzo sufren una deformación
en general independiente del tiempo, los fluidos no soportan determinados esfuerzos y se deforman
continuamente. Esto muchas veces está asociado a la fluidez del medio. Un contraejemplo de los dicho
en el caso de sólidos es el fenómeno de creep o fluencia lenta. En el caso de los sólidos la deformación
es la variable cinemática de interés, definida como la variación relativa de la distancia entre dos puntos
del cuerpo material. En los fluidos su análogo es la tasa o velocidad de deformación, o sea la variación
relativa de la velocidad de dos puntos dentro del volúmen material. Lo que suele ser de interés es
establecer cierta relación entre causa y efecto, o sea entre tensión y deformación en mecánica de sólidos
o entre tensión y velocidad de deformación en fluidos. Esta funcionalidad puede asumir un rango lineal
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 14
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.1. Conceptos introductorios
y luego uno no lineal, dependiendo del material el punto de corte entre uno y otro comportamiento.
En sólidos es el módulo de Young el que vincula tensión con deformación mientras que en mecánica de
fluidos es la viscosidad la que juega semejante rol. La reologı́a es la ciencia que se encarga de establecer
relaciones de este tipo válidas para ciertos materiales o fluidos. A su vez una vez establecido el ensayo de
laboratorio aparecen los teóricos tratando de traducir los valores experimentales en alguna teorı́a que
los explique. Entre estas teorı́as una de las más citadas es la de considerar al fluido como Newtoniano,
con eso queremos decir que la viscosidad es independiente del estado de deformación del fluido. La
viscosidad puede variar con la posición y el tiempo pero por otras causas, por ejemplo calentamiento,
pero no varı́a por su estado de deformación. Con el viscosı́metro se pueden determinar valores para la
viscosidad. En el caso más general la viscosidad puede depender del estado de deformación y en este
caso el fluido exhibe un comportamiento no newtoniano. La figura 1.1.5 muestra 4 curvas tensión vs
velocidad de deformación que muestran el caso newtoniano (recta por el orı́gen), el flujo de Bingham
(recta desfasada del orı́gen), y dos casos de fluido no newtoniano, el caso dilatante con viscosidad
proporcional a la deformación y el caso pseudo-plástico cuando la viscosidad disminuye cuanto más se
deforma el fluido.
m odel
ham
Bing
asti
c ian
pl ton
udo ew
Pse N
nt
ta
la
Di
Existe un modelo muy usado llamado modelo de la ley de potencia o modelo de Ostwald-de Wael
el cual trata de unificar el tratamiento definiendo una viscosidad aparente del tipo
dvx n−1
µap ∝ µ0 k k
dy
con µ0 una viscosidad de referencia y n una potencia. En este caso el escurrimiento se piensa del
tipo flujo paralelo.
Tensión superficial Esta aparece en general cuando existen interfaces entre dos o más fluidos o
un fluido y un sólido y a veces suelen ser tan importantes que su omisión en las ecuaciones pone en
peligro el realismo de la solución. Esta en general es función de la curvatura de la interface y de algún
coeficiente de capilaridad. Su complejidad escapa los alcances de estas notas.
Presión de vapor
En algunas aplicaciones la presión local suele descender demasiado alcanzando la presión de satu-
ración del vapor con lo cual aparece el fenómeno de cavitación. Este fenómeno es muy importante en
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 15
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
el funcionamiento de máquinas hidráulicas como bombas y turbinas pero su tratamientoe escapa los
alcances de estas notas.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 16
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
w 6= u
volumen
arbitrario w=u
volumen u
material
volumen
fijo
w=0
11111
00000
00000
11111
00000
11111
00000
11111
Distintas definiciones de volúmenes de control
( )
Fuerza actuando sobre
Z
D
ρvdV = (1.5)
Dt Vm (t) el volúmen material
D
La derivada Dt es llamada la derivada material y en breve será sometida a análisis junto con las
otras dos derivadas temporales a considerar, la derivada total y la derivada parcial. Aquı́ simplemente
lo que queremos indicar es que estamos tomando la variación temporal de una propiedad de un volúmen
material. Del lado izquierdo de la anterior ecuación participa la cinemática del movimiento mientras
que del derecho se hallan las causas del movimiento o fuerzas externas aplicadas al cuerpo. Estas
pueden ser:
a.- fuerzas de cuerpo o volúmen
b.- fuerzas de superficie.
Mientras que las primeras actúan sobre la masa del sistema (fuerzas gravitatorias, electrostáticas,
etc) las otras lo hacen sobre el contorno del sistema. Introduciendo estas dos fuerzas en la expresión
anterior arribamos al principio de conservación de la cantidad de movimiento lineal, expresado como:
Z Z Z
D
ρvdV = ρgdV + t(n) dA (1.6)
Dt Vm (t) Vm (t) Am (t)
donde g es la fuerza de cuerpo por unidad de masa y t(n) es el vector tensión en el contorno.
Casos simples
En la mayorı́a de los cursos de mecánica de los fluidos de la carrera de de Ingenierı́a se hace especial
énfasis entre otros temas a la resolución de problemas asociados con la estática de fluidos y el flujo en
tubos y canales.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 17
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
F Fuerza de super
ie
11111111111
00000000000
00000000000
11111111111
a
tuando sobre A
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000 A Elemento
11111111111
00000000000 de super
ie
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111 V elemento
00000000000 de volumen diferen
ial
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000 Vm (t) Volumen material
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
Volúmen material
La estática de fluidos
El primer caso corresponde al caso particular de un flujo en reposo (estacionario) donde el término
izquierdo de la expresión (1.6) se anula quedando una igualdad del tipo:
Z Z
0= ρgdV + t(n) dA (1.7)
Vm (t) Am (t)
Si además se acepta la definición que dice: un fluido se deformará continuamente bajo la aplicación
de un esfuerzo de corte entonces, las únicas fuerzas de superficie posibles deben actuar en forma
normal a la misma. Además se puede probar que el tensor de tensiones asociado a un fluido en reposo
es isotrópico y por lo tanto permanecerá invariante con la dirección. Con todo esto las ecuaciones
se simplifican demasiado y si asumimos cierta continuidad en los integrandos podemos cambiar a la
forma diferencial del problema y arribar a la bien conocida expresión:
0 = ρg − ∇p
∂p
0 = ρgi − (1.8)
∂xi
∂ ∂ ∂
∇=i +j +k
∂x ∂y ∂z
donde hemos usado notación de Gibbs en la primera lı́nea, notación indicial en la segunda y la
definición del operador gradiente en la tercera. Esta expresiı́on es muy familiar para los estudiantes
de ingenierı́a ya que muchos problemas clásicos se resuelven con ella, a saber:
1. a.-barómetros
2. b.-manómetros
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 18
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
5. e.-fuerzas de flotación
6. f.-hidrómetros, etc
allı́ su cantidad de movimiento es constante ya que la densidad es constante por tratarse de un flujo
incompresible y la velocidad en ese volúmen de control es constante ya que la misma depende solamente
del radio. Un ejemplo de flujo unidimensional que no tiene lı́neas de corriente rectas y por ende no
anula el miembro izquierdo es el de flujo Couette entre dos cilı́ndricos concéntrico de longitud infinita.
La razón es que allı́ existe una aceleración centrı́peta necesaria para mantener el flujo en un movimiento
circular. Nuevamente tomamos la expresión (1.7) pero en este caso por estar el fluido en movimiento
no podemos despreciar los esfuerzos cortantes. Por lo tanto las fuerzas de superficie actuarán en la
dirección normal (la presión) y en la dirección tangencial (la tensión de corte). Por la forma que tiene
el volúmen material y debido a que el movimiento tiene una sola componente de velocidad según la
dirección z entonces las fuerzas normales a las superficies solo pueden actuar sobre aquellas superficies
cuya normal está alineada con el eje z. Como no existe flujo en la sección transversal del tubo los
esfuerzos de corte en los mismos es nulo y solo puede haber esfuerzos de corte en los planos cuya
normal coincide con la dirección radial como se muestra en la figura. Por lo tanto, si por el momento
no consideramos las fuerzas de cuerpo la expresión (1.7) queda
∂p 1 ∂
0=− + (rτrz ) (1.10)
∂z r ∂r
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 19
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
Esta ecuación se la conoce con el nombre de ecuación de tensión del movimiento porque viene
expresada en términos de las componentes del tensor de tensiones. Si queremos expresar esta ecua-
ción en término de las variables cinemáticas debemos usar alguna relación constitutiva. En este caso
recurrimos a la ley de Newton de la viscosidad en la cual
∂vz
τrz = µ (1.11)
∂r
con lo cual si consideramos que la viscosidad es constante la (1.10) se transforma en
∂p 1 ∂ ∂vz
=µ (r ) (1.12)
∂z r ∂r ∂r
Este flujo es denominado flujo plano Couette y representa uno de los casos simples con solución
analı́tica y que ha tenido gran interés desde el punto de vista de las aplicaciones. Nosotros aquı́ solo
lo hemos planteado, dejamos la resolución del mismo como parte de los trabajos prácticos.
Cinemática de fluidos en los casos generales
En la sección anterior nos volcamos hacia la resolución de dos casos muy particulares que per-
miten independizarse completamente del miembro izquierdo de la expresión (1.6) del principio de
conservación de la cantidad de movimiento lineal . Ahora nos detendremos a analizar las variables
que componen este miembro izquierdo de forma de adquirir las nociones elementales necesarias para
su tratamiento. Este término expresa la cinemática del movimiento y como tal incluye la variación
temporal de propiedades que se hallan distribuidas en el espacio de alguna manera continua. Por lo
tanto aparece la necesidad de tratar a las dos variables independientes más importantes que incluyen
los principios de conservación, las coordenadas espaciales y el tiempo. El objetivo está en conducir
por una lados hacia la formulación diferencial de los principios de conservación con el propósito de
analizarlos desde un punto de vista macroscópico local y por otro manipular la formulación integral
para poder llevar a cabo balance
s macroscoópico globales, muy útiles por varias razones. Estos balances macroscópico globales
permiten chequear soluciones obtenidas numéricamente mediante balances locales y por otro han sido
de amplia difusión en la profesión del ingeniero para el cálculo y diseño de equipos e instalaciones.
Coordenadas espaciales y materiales
En esta sección pretendemos desarrollar las nociones básicas sobre lo que se entiende por coorde-
nadas materiales y su relación con las coordenadas espaciales en pos de describir adecuadamente el
movimiento de un fluido. El término coordenadas espaciales se refiere a un sistema de coordenadas
fijo donde todos los puntos del espacio pueden ser localizados. Hay dos formas posibles de localizar o
identificar una partı́cula de fluido que pertenece a un volúmen material diferencial dVm (t). Una for-
ma serı́a designar su posición mediante sus coordenadas espaciales x, y, z. Asumiendo que a un dado
tiempo de referencia t = 0 las coordenadas espaciales se hallan localizadas en
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 20
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
Z t
dx
x=X+ dt
0 dt
Z t
dy
y=Y + dt (1.14)
0 dt
Z t
dz
z=Z+ dt
0 dt
Compactando las tres expresiones anteriores en una sola mediante
Z t
dr
r=R+ dt (1.15)
0 dt
entonces, r representa el vector posición espacial mientras que R es llamado el vector posición material.
Este último identifica una partı́cula del sistema o cuerpo y en algun sentido la impone una marca
al tiempo de referencia. Este conjunto especı́fico de coordenadas no representa ningún sistema de
coordenadas que se mueve y se deforma con el cuerpo. De alguna manera las coordenadas espaciales
se pueden expresar en función de las coordenadas materiales y el tiempo,
r = r(R, t) (1.16)
Una descripción Lagrangiana del movimiento es aquella expresada en término de las coordenadas
materiales mientras que una descripción Euleriana se expresa según las coordenadas espaciales.
La derivada temporal del vector posición espacial para una partı́cula de fluido en particular es la
velocidad de la misma. Ya que la derivada se evalúa con las coordenadas materiales fijas esta derivada
es llamada derivada material,
dr Dr
( )R = =v (1.17)
dt Dt
Derivadas temporales
Sea S = S(x, y, z, t) una función escalar, entonces su derivada temporal se define como:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 21
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
Supongamos que queremos medir la temperatura de un flujo y como es habitual la medición la llevamos
a cabo en una ubicación fija del laboratorio, entonces lo que medimos como derivada temporal de la
temperatura es:
∂T dT h T (t + ∆t) − T (t) i
= ( )r = lim (1.21)
∂t dt ∆t→0 ∆t r
y a esta derivada se la suele llamar derivada parcial efectuada fijando las coordenadas espaciales del
punto de medición en lugar de las coordenadas materiales como en (1.20).
Un tercer caso serı́a el de efectuar la medición montado sobre un dispositivo que se mueva de una
forma arbitraria no manteniendo ni las coordenadas espaciales ni las materiales fijas. Esta derivada se
la llama derivada total asumiendo que la velocidad del sistema de medición es w 6= v.
La figura 1.2.2 muestra una descripción de lo que acabamos de presentar como las tres derivadas
temporales a utilizar en el resto del curso.
db
dt Db
bote
on motor (v p = w = v)
6
Dt
bote a la deriva (v p = v)
b
t
11111111111111111111111
00000000000000000000000
00000000000000000000000
11111111111111111111111
bote atado (v p = 0)
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
z
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
00000000000000000000000
11111111111111111111111
y
x
Definición de las derivadas temporales
Para interpretar lo anterior pero desde un punto de vista matemático asumamos que tenemos
cierta función escalar como la temperatura definida como:
T = T (r, t) (1.22)
Si las coordenadas materiales se mantiene fijas, entonces podemos expresar las coordenadas espa-
ciales en términos de las materiales y el tiempo como
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 22
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
DT ∂T ∂T ∂T ∂T
=( )vx + ( )vy + ( )vz + ( ) (1.25)
Dt ∂x ∂y ∂z ∂t
mientras que en notación de Gibbs es
DT ∂T
=( ) + v · ∇T, (1.26)
Dt ∂t
y en notación indicial:
DT ∂T ∂T
=( ) + vj ( ). (1.27)
Dt ∂t ∂xj
En el caso en que la medición la efectuemos sobre un dispositivo que tiene su propio movimiento
entonces ya las coordenadas materiales no son fijas y las derivadas totales de las coordenadas espaciales
respecto al tiempo representan las componentes de la velocidad del dispositivo w,
dT ∂T ∂T ∂T ∂T
=( )wx + ( )wy + ( )wz + ( ) (1.28)
dt ∂x ∂y ∂z ∂t
en notación de Gibbs:
dT ∂T
=( ) + w · ∇T (1.29)
dt ∂t
y en notación indicial:
dT ∂T ∂T
=( ) + wj ( ) (1.30)
dt ∂t ∂xj
Como vemos comparando (1.21) e (1.27) con (1.30) vemos que esta última es la más general ya
que (1.21) corresponde al caso w = 0 mientras que como (1.27) serı́a cuando w = v.
Hasta aquı́ hemos analizado el caso de una función escalar y en particular hemos mencionado por
razones de ı́ndole práctica el caso de la temperatura. A continuación veremos que sucede cuando la
función a derivar es una cantidad vectorial. Tomemos como ejemplo el caso del vector velocidad cuya
derivada temporal representa el vector aceleración. Por definición,
dv Dv
)R = a=( (1.31)
dt Dt
Haciendo el mismo análisis que con el caso escalar arribamos a que para un observador con coor-
denadas espaciales fijas este mide como aceleración
dv ∂v
( )r = (1.32)
dt ∂t
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 23
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 24
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
R R
d
Z h
Va (t+∆t) S(t + ∆t)dV − Va (t) S(t)dV
i
SdV = lim (1.37)
dt Va (t) ∆t→0 ∆t
Para visualizar el teorema debemos pensar que el volúmen bajo consideración se mueve a través del
espacio de forma tal que los puntos de su superficie se mueven con velocidad w. Esta velocidad puede
variar con el tiempo (aceleración) y con las coordenadas espaciales (deformación). En cada instante
de tiempo la integral es evaluada y deseamos medir cual es la variación de esta medición. Observando
la figura vemos que en un instante ∆t el nuevo volúmen barrido por la superficie móvil es designado
dVaII mientras que el viejo volúmen dejado atrás por su movimiento se designa por dVaI .
Va (t + ∆t)
11111
00000
00000
11111
n
00000
11111 Superficie al tiempo t
Va (t) 00000
11111 dV = w · n∆t dA
00000
11111
00000
11111
n
1111
0000
n 0000
1111
0000
1111
0000
1111 w dA(t + ∆t)
0000
1111 dAcs
dA(t)
1111
0000
0000
1111
0000
1111
0000
1111
dV = w · n∆t dA
El area de este volúmen arbitario Aa (t) se puede dividir en dos partes: AaI (t) y AaII (t) mediante
una curva cerrada sobre la superficie tal que n · w = 0. Sin entrar en demasiados detalles para su
demostración, suponiendo que tal curva existe, entonces
Z Z Z Z
S(t + ∆t)dV = S(t + ∆t)dV + S(t + ∆t)dVII − S(t + ∆t)dVI (1.39)
Va (t+∆t) Va (t) VaII (∆t) Va I(∆t)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 25
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
L = w∆t (1.42)
con w la magnitud del vector w que define la velocidad con que se mueve el volúmen arbitrario,
siendo su versor dirección representado en la figura mediante λ, entonces
w = wλ (1.43)
El volúmen barrido es
dV = L dAcs (1.44)
La relación entre la orientación del diferencial de area sobre la superficie con aquel generado por
el barrido es:
a=b
(1.45)
a=∞
dAcs = ± cos(θ) dA
(1.46)
cos(θ) = λ · n
Entonces
dV = ±w · n∆tdA (1.47)
y aplicando este resultado a los dos volúmenes que aparecen en la expresión (1.41) obtenemos lo
siguiente:
Z Z Z Z
S(t + ∆t)dVI = −∆t S(t + ∆t)w · ndAI S(t + ∆t)dVII = +∆t S(t + ∆t)w · nd
VaI (∆t) AaI (t) VaII (∆t) AaII (t)
(1.48)
cuya sustitución en (1.41) produce
Z Z
d ∂S
SdV = ( )dV +
dt Va (t) Va (t) ∂t
hZ Z i (1.49)
lim S(t + ∆t)w · ndAII + S(t + ∆t)w · ndAI
∆t→0 AaII (t) AaI (t)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 26
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
Tomando el lı́mite vemos que AaI (t)+AaII (t) = Aa (t) obteniendo finalmente el Teorema general
del transporte:
Z Z Z
d ∂S
SdV = ( )dV + Sw · ndA (1.50)
dt Va (t) Va (t) ∂t Aa (t)
En el caso de un volúmen fijo en el espacio tenemos que Va (t) = V y w = 0 con lo que lo anterior
se simplifa a Z Z
d ∂S
SdV = ( )dV (1.51)
dt V V ∂t
El uso más frecuente del teorema general del transporte es cuando se lo aplica a un volúmen material
en cuyo caso este resultado se lo conoce como el Teorema del transporte de Reynolds, cuya expresión
viene dada como: Z Z Z
D ∂S
SdV = ( )dV + Sv · ndA (1.52)
Dt Vm (t) Vm (t) ∂t Am (t)
La extensión de los resultados anteriores al caso de una función vectorial es directa, simplemente
podemos aplicarlo a cada componente, luego multiplicarlo por su respectivo versor dirección y luego
sumar, con lo que (1.50) aplicado por ejemplo al campo de velocidades produce el siguiente resultado:
Z Z Z
d ∂v
vdV = ( )dV + vw · ndA (1.53)
dt Va (t) Va (t) ∂t Aa (t)
Conservación de la masa
Hasta este punto hemos tratado de obtener las herramientas necesarias para manipular el miembro
izquierdo del principio de conservación de la cantidad de movimiento lineal con lo cual en pos de
generalizar su uso deberı́amos a esta altura completarlo con el manejo del miembro derecho, aquel
representado por las fuerzas de volúmen y las de superficie. Antes de ello y en pos de ir conduciendo al
estudiante hacia la utilización más importante de todos los conceptos hasta aquı́ presentados vamos a
considerar el caso particular de la conservación de la masa, ya que este no presenta miembro derecho.
Definamos la propiedad a medir, la masa de un volúmen material como:
Z
M= (t)ρdV (1.54)
Vm
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 27
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
con el fin de poder juntar todos los términos bajo un mismo signo integral y de esta forma pasar de
la formulación integral a una diferencial. Esto produce finalmente:
Z Z
D h ∂ρ i
ρdV = + ∇ · (ρv) dV = 0 (1.57)
Dt Vm (t) Vm (t) ∂t
Asumiendo continuidad en los integrandos podemos deshacernos de la integral y obtener la tan ansiada
forma diferencial del principio de conservación de la masa
∂ρ
+ ∇ · (ρv) = 0 (1.58)
∂t
Existen algunas otras formas de expresar el mismo principio de conservación, como por ejemplo si
aplicamos la definición de derivada material y alguna manipulación algebraica básica llegamos a:
Dρ
+ ρ∇ · v = 0 (1.59)
Dt
Otra forma particular de la ecuación de continuidad se obtiene si consideramos el caso de un flujo
incompresible. Como la densidad es constante de (1.59) surge que
∇·v =0 (1.60)
Una forma particular del teorema del transporte de Reynolds se puede lograr si expresamos la
propiedad escalar S como producto de la densidad por su propiedad especı́fica,
S = ρs (1.61)
En ese caso aplicando todo lo visto hasta aquı́ se puede arribar a la siguiente igualdad, llamada
forma especial del teorema del transporte de Reynolds
Z Z
D Ds
ρsdV = ρ dV (1.62)
Dt Vm (t) Vm (t) Dt
Una forma alternativa de obtener la ecuación de continuidad mucho más práctica y con menos
manipuleo matemático es posible mediante el concepto de balance de flujos.
En general para un diferencial de volúmen como el mostrado en la figura 1.2.2 podemos expresar
el siguiente principio de conservación de la masa de la siguiente forma:
( ) ( ) ( )
variación temporal de Flujo másico entrante Flujo másico saliente
= − (1.63)
la masa del volúmen control al volúmen material del volúmen material
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 28
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
ρvz |z+∆z
y
ρvy |y+∆y
∆z
ρvx |x ρvx |x
z
x
ρvy |y
ρvz |z
x
Balance de masa
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 29
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
Z Z Z
D
ρvdV = ρgdV + t(n) dA ((1.6))
Dt Vm (t) Vm (t) Am (t)
| {z } | {z } | {z }
{ la variación temporal de
cantidad de movimiento }
fuerzas de masa fuerzas de superficie
En la sección anterior hemos tratado la cinemática de los fluidos en el caso general, o sea el miembro
izquierdo de la ecuación (1.6) y hemos hecho una mención aparte dentro de esta al caso especial de
la estática de los fluidos. Nosotros ahora volcamos nuestra atención al miembro derecho, o sea a las
causas del movimiento y en especial al término de las fuerzas de superficie ya que las fuerzas de cuerpo
o de masa en general no presentan mayor dificultad.
Vector tensión y tensor de tensiones
A continuación trataremos al vector tensión a pesar de que ya lo hemos presentado cuando trata-
mos el caso particular de la estática de los fluidos o el caso simple de flujo desarrollado en un tubo
(movimiento unidimensional). Como antes consideramos la hipótesis del continuo, o sea asumimos que
el vector tensión varı́a en forma continua con las variables independientes del problema, al igual que
las otras variables incluidas en el problema. No obstante en el caso del vector tensión también debemos
agregar que varı́a en forma suave o continua con la orientación en la cual está calculado, n. Sin entrar
en detalles acerca de la prueba de esto [Wi] establecemos las siguientes hipótesis:
1. 1.- el vector tensión actuando sobre lados opuestos de la misma superficie en un dado punto es
igual en magnitud y opuesto en dirección, t(n) = −t(n) .
2. 2.- el vector tensión puede escribirse en términos del tensor de tensiones del cual proviene como
t(n) = n · T.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 30
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
t(n) = n · T (1.67)
donde el tensor de tensiones está compuesto de términos it(i) que no representan ni un producto escalar
ni uno vectorial, este producto es a menudo llamado producto diádico, base del algebra tensorial.
Entonces surge que el vector tensión (tensor de primer orden) es la contracción del tensor de tensiones
(tensor de segundo orden) en la dirección normal. Este resultado no es tan obvio para aquellos no
familiarizados con el algebra tensorial y se recomienda volcar la atención a este tema para aquellos
que pretender lograr un mejor entendimientos de las ecuaciones de movimiento que más adelante se
definen. En resúmen, el tensor de tensiones en tres dimensiones expresado por simplicidad según las
coordenadas cartesianas es:
Las nueve componentes escalares en (1.65) representan o caracterizan al tensor de tensiones, que
en notación matricial puede escribirse como:
Txx Txy Txz
T = Tyx Tyy Tyz (1.68)
Tzx Tzy Tzz
El primer ı́ndice representa la orientación del plano sobre el cual la tensión actúa mientras que el
segundo ı́ndice está relacionada con la dirección en la cual la tensión está actuando.
En notación indicial (1.67) puede escribirse como:
n·T=T·n (1.70)
Ecuaciones de movimiento expresada según el tensor de tensiones
El objetivo es plantear las ecuaciones de movimiento en término del tensor de tensiones siendo
esta forma una herramienta muy útil para plantear un analı́sis macroscópico global de la mecánica
de los fluidos o incluso como paso previo a la formulación diferencial del problema permitiendo cerrar
el análisis mediante la introducción de las ecuaciones constitutivas del material, siendo esta forma
bastante general. Comenzamos planteando el principio de conservación de la cantidad de movimiento
lineal ,
Z Z Z
D
ρvdV = ρgdV + t(n) dA (1.71)
Dt Vm (t) Vm (t) Am (t)
La idea es encontrar la formulación diferencial al problema tal como hicimos previamente al tratar
la conservación de la masa. Allı́ usamos el teorema de la divergencia sobre un integrando formado por
el producto escalar del vector velocidad con la normal. Aquı́ la dificultad está en que el integrando
tiene al vector tensión y aún no presentamos como aplicar el teorema de la divergencia a un integrando
vectorial que no puede ser considerado constante. Para salvar esta dificultad Whitaker multiplica la
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 31
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
anterior ecuación escalarmente por un vector constante b y por ser constante puede ser introducida
sin dificultad dentro del sı́mbolo diferencial:
Z Z Z
D
ρv · bdV = ρg · bdV + t(n) · bdA (1.72)
Dt Vm (t) Vm (t) Am (t)
como (T · b) es un vector se puede aplicar el teorema de la divergencia tal como lo vimos anterior-
mente y obtener
Z n D o
ρ (v · b) − ρg · b − ∇ · (T · b) dV = 0 (1.74)
Vm (t) Dt
Otra vez, al ser los lı́mites de integración arbitrarios podemos removerlos y el integrando se satisface
en todo punto del dominio. La eliminación del vector constante b es trivial en los dos primeros términos.
En cuanto al tercero una forma de resolverlo es recurrir o a la notación indicial o sino a la definición
matricial del tensor (1.68)
Txx Txy Txz bx
∂ ∂ ∂
∇ · T · b = ∂x ∂y ∂z
Tyx Tyy Tyz by =
Tzx Tzy Tzz bz
Txx Txy Txz bx (1.75)
∂ ∂ ∂
= ∂x ∂y ∂z Tyx Tyy Tyz by =
Tzx Tzy Tzz bz
= (∇ · T) · b
de esta forma surge que la integral de superficie del vector tensión se transforma en la integral de
volúmen de la divergencia del tensor de tensiones, una generalización del teorema de la divergencia.
Por lo tanto la ecuación de movimiento (1.6) se transforma en:
Dv
= ρg + ∇ · T ρ (1.76)
Dt
Entonces partiendo de la formulación integral o macroscópica global arribamos a la formulación
diferencial o macroscópica local del principio de conservación de la cantidad de movimiento lineal .
Esta expresión tiene la ventaja que el miembro izquierdo es expresado en las variables dependientes
del problema mientras que el miembro derecho contienen los flujos de estas variables o su cantidades
duales. Incorporando las ecuaciones constitutivas del material es como transformamos esta ecuación
en otra equivalente pero expresada solo en las variables de estado.
Ecuaciones diferenciales de movimiento de un fluido
En la sección anterior derivamos la ecuación vectorial de movimiento expresada según el tensor de
tensiones y junto al principio de conservación de la masa forman un sistema de 4 ecuaciones en 3D
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 32
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
con 9 incógnitas, las tres componentes del vector velocidad y los 6 coeficientes del tensor de tensiones
simétrico. Para salvar esta indeterminación introducimos información adicional via las ecuaciones
constitutivas del material que relacionan las componentes del tensor de tensiones con la presión y los
gradientes del vector velocidad llegando finalmente a expresar las anteriores 4 ecuaciones en función
de las 4 incógnitas, la presión y el vector velocidad.
Dv
ρ = ρg + ∇ · T ((1.76,1.58))
Dt
∂ρ
+ ∇ · (ρv) = 0 (1.77)
∂t
Tensor de tensiones viscoso
En la sección 2 hemos visto que en el caso de la estática de fluidos no podı́an existir esfuerzos
cortantes y que los únicos esfuerzos que el fluido es capaz de resistir son aquellos normales. Habı́mos
mencionado que estos eran isotrópicos y que en definitiva estaban caracterizados por la presión:
T = −pI + τ (1.79)
siendo τ = 0 para el caso particular de la estática de fluidos. Ya que T e I son simétricos, entonces τ
es simétrico y dado que el término isotrópico es un tensor diagonal, entonces se satisface que:
Tij = τ ij ∀i 6= j (1.80)
Reemplazando en las 4 ecuaciones arriba planteadas (1.76,1.58) se obtiene:
∂v
ρ + v · ∇v = −∇p + ρg + ∇ · τ (1.81)
∂t
donde solo se requiere establecer ecuaciones para las componentes del tensor viscoso en término de las
velocidades o mas generalmente en términos del tensor velocidad de deformación d. Si suponemos que
el material se comporta como un fluido newtoniano entonces es muy habitual usar la siguiente ley:
2
τ = 2µd + [(κ − µ)∇ · v]I
3
(1.82)
2 ∂vk
τij = 2µdij + [(κ − µ)( )]δij
3 ∂xk
expresada en notación de Gibbs e indicial y en término de dos coeficientes de viscosidad, µ y κ.
En pos de poder entender mejor la forma en la que surgen las ecuaciones constitutivas es necesario
introducir varios conceptos relacionados con la deformación y la velocidad de deformación de un
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 33
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
fluido. No obstante esto es dejado para futuras versiones de estas notas debido a lo extenso del
análisis, aquellos interesados pueden consultar la bibliografia básica del tema [Wi],[Ba]. Por el momento
nuestro análisis lo enfocamos hacia derivar las ecuaciones diferenciales de movimiento que serán la que
posteriormente resolveremos via métodos numéricos. Para ello nos conformamos con la definición
de alguna ley constitutiva. Ya que por lo general siempre se comienza por los casos más simples o
más observados experimentalmente recurrimos a la hipótesis newtoniana, con la definición (1.82), que
reemplazada en (1.81) nos da:
∂v h 2 i
ρ + v · ∇v = −∇p + ρg + ∇ · 2µd + (κ − µ)∇ · vI
∂t 3 (1.83)
d = 1/2(∇v + ∇T v)
ω =∇∧v (1.86)
Si tomamos la ecuación de conservación del momento lineal para el caso incompresible a viscosidad
constante y si le aplicamos el rotor a la misma obtenemos
n ∂v 1 o
∇∧ ( + v · ∇v) = g + − ∇p + ν∇2 v
∂t ρ
(1.87)
Dω 2
= ω · ∇v + ∇ ∧ g + ν∇ ω
Dt
donde ∇∧g representa el rotor del campo de fuerzas de volúmen en general, ya sea fuerzas gravitatorias
como de flotación térmica o electromagnéticas, etc. El término ω · ∇v representa matemáticamente un
término fuente proporcional a la vorticidad y fı́sicamente está asociado a la deformación por contracción
o elongación del volúmen material. Como se alcanza a ver en el caso bidimensional este término no
existe porque la vorticidad es un vector orientado en la dirección normal al plano del movimiento y
el producto escalar con ella es nulo. Solo existe en el escurrimiento 3D. En el caso 2D la vorticidad
puede tratarse como un escalar ya que su orientación permanecerá fija y apuntando en la normal al
plano del movimiento. Si consideramos ausencia de fuerzas de volúmen la anterior se simplifica a:
Dω
= ν∇2 ω (1.88)
Dt
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 34
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
∂2ψ ∂2ψ
+ = −ω (1.90)
∂x2 ∂y 2
Resumiendo la formulación vorticidad-función de corriente en 2D se puede escribir como:
∂2ψ ∂2ψ
+ = −ω
∂x2 ∂y 2 (1.91)
∂ω
+ v · ∇ω = ν∇2 ω
∂t
donde !
∂ψ
v= ∂y (1.92)
− ∂ψ
∂x
ρ = constante INCOMPRESIBLE
(1.93)
ρ = ρ(p, T ) COMPRESIBLE
Con todo esto es posible cerrar el sistema. Al respecto presentaremos la ecuación de conservación de
energı́a que debe ser acoplada al resto de las ecuaciones de conservación para luego hacer algunos
comentarios acerca de la entropı́a.
Conservación de la energı́a
El postulado fundamental de la conservación de la energı́a establece:
Z Z Z Z
D 2
ρ(e + 1/2 k v k )dV = ρg · vdV + t(n) · vdA − q · ndA (1.94)
Dt Vm (t) Vm (t) Am (t) Am (t)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 35
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
contiene el calor intercambiado. De alguna forma esta versión integral equivale al primer principio de
la termodinámica aplicado a sistemas cerrados que en general se expresa en forma diferencial o en
diferencias:
∆(U + KE + P E) = Q − W 0 (1.95)
Usando la igualdad derivada anteriormente (forma especial del teorema del transporte de Reynolds)
(1.62) Z Z
D Ds
ρsdV = ρ dV (1.96)
Dt Vm (t) Vm (t) Dt
y expresando el vector tensión como la contracción del tensor de tensiones en la dirección normal
llegamos a:
Z Z Z Z
D 2
ρ (e + /2 k v k )dV =
1 ρg · vdV + (n · T) · vdA − q · ndA (1.97)
Vm (t) Dt Vm (t) Am (t) Am (t)
y aplicando el teorema de la divergencia sobre las dos integrales de area para llevarlas a formas
equivalentes sobre integrales de volúmen lo anterior se puede escribir como:
D
ρ (e + 1/2 k v k2 ) = ρg · v + ∇ · (T · v) − ∇ · q (1.98)
Dt
y si expresamos las fuerzas gravitatorias como conservativas y provenientes del gradiente de un po-
tencial (∇φ), podemos simplificar lo anterior a:
D
ρ (e + 1/2 k v k2 +φ) = ∇ · (T · v) − ∇ · q (1.99)
Dt
donde hemos agrupado la energia interna, la cinética y la potencial en el miembro izquierdo y si
aplicamos el balance de masa se llega a:
D
ρ(e + 1/2 k v k2 +φ) = ∇ · (T · v) − ∇ · q (1.100)
Dt
En general es común a partir de esta expresión plantear el balance en un volúmen de control arbitrario
que se mueve a una velocidad distinta a la del fluido y de esta forma obtener el balance macroscópico
global. También es habitual extender lo anterior al caso de sistemas abiertos donde es usual definir la
entalpı́a y plantear el balance en términos de esta función.
Ecuación de la energı́a térmica
Una forma de poner la anterior expresión en términos de la energı́a térmica es remover de (1.97) la
ecuación correspondiente al balance de energı́a mecánica. Este se puede hallar tomando las ecuaciones
de movimiento y multiplicarla escalarmente por la velocidad,
D1/2 k v k2
ρ = ρg · v + v · (∇ · T) =
Dt (1.101)
= ρg · v + ∇ · (T · v) − ∇v : T
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 36
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.2. Cinemática de fluidos
∂p
= c2 (1.105)
∂ρ s
Usando la siguiente relación termodinámica:
dp 1
T ds = dh − = de + p d( )
ρ ρ
ds = 0 s = cte
dp 1
dh − = de + p d( ) = 0
ρ ρ
(1.106)
∂h 1
=
∂p s ρ
⇓
∂e ∂h 1 p ∂ρ p
= − + 2 =
∂p s ∂p s ρ ρ ∂p s ρ2 c2
es posible tener relaciones más explı́citas entre las principales variables termodinámicas.
Tomando la derivada material y multiplicando por la densidad
De h ∂e Ds ∂e Dρ i
ρ =ρ + =
Dt ∂s ρ Dt ∂ρ s Dt
(1.107)
Ds p Dρ
= ρT +
Dt ρ Dt
y escribiendo la ecuación de continuidad en la forma
Dρ
+ ρ∇ · v = 0 (1.108)
Dt
y usando la igualdad (1.97) llegamos a
De Ds
ρ = ρT − p∇ · v
Dt Dt (1.109)
Ds 1
ρ = (−∇ · q + Φ)
Dt T
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 37
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.3. TP.I.- Trabajo Práctico #1
Haciendo el proceso inverso, desde la formulación diferencial llegar a la integral implica en este caso
obtener:
q·n −q · ∇T
Z Z Z
D Φ
ρsdV = − dA + ( 2
+ )dV (1.110)
Dt Vm (t) Am (t) T Vm (t) T T
De este balance integral de la entropı́a surge que si un proceso es isentrópico entonces la entropı́a del
volúmen material o cuerpo debe permanecer constante y esta condición se cumple si:
11111111
00000000
Abierto a la atmósfera
00000000
11111111 z=h3
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
Tanque de presión 00000000
11111111
00000000
11111111
z=h2
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 z=h1
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
ρ2
ρ1
z=0
Manómetro
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 38
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.3. TP.I.- Trabajo Práctico #1
11
00
00
11
z = L 11111111111111111111111111111111111
00000000000000000000000000000000000
00000000000000000000000000000000000
11111111111111111111111111111111111
00
11
00000000000000000000000000000000000
11111111111111111111111111111111111
00
11
00
11
00
11
dF = n^ d
= 00000
1111100
11 A
z l
00000
1111100
11
000000000000000
111111111111111 00000
11111
000000000000000
111111111111111 00000
11111 dF = n^ 0 0 0 dA
Fuerza sobre un cuerpo plano sumergido
11111111111111111111111111111111
00000000000000000000000000000000 z = L2
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000
11111111111111111111111111111111
z = L1 00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
11111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
Densidad = 2
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
Densidad = 1
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
11111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
0000000000000000000000000000011111111111111111111111111111111
1111111111111111111111111111100000000000000000000000000000000
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
11111111111111111111111111111
z = l
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
11111111111111111111111111111
0000000000000000000000000000011111111111111111111111111111111
1111111111111111111111111111100000000000000000000000000000000
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
Esfera de radio 0
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
11111111111111111111111111111
0000000000000000000000000000011111111111111111111111111111111
1111111111111111111111111111100000000000000000000000000000000
adherida a una l
amina delgada
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
11111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
0000000000000000000000000000011111111111111111111111111111111
1111111111111111111111111111100000000000000000000000000000000
00000000000000000000000000000000
11111111111111111111111111111111
z=0
00000000000000000000000000000
1111111111111111111111111111100000000000000000000000000000000
11111111111111111111111111111111
000000000000000000000000000000
111111111111111111111111111111
000000000000000000000000000000
111111111111111111111111111111
000000000000000000000000000000
111111111111111111111111111111
000000000000000000000000000000
111111111111111111111111111111
Fuerza sobre un cuerpo curvo sumergido
5. Deduzca la expresión de un flujo Couette plano laminar y calcule: (a) la velocidad máxima
y la velocidad promedio en la sección transversal al flujo
(b) el caudal en función de la caida de presión
6. Deduzca la expresión de un flujo Couette plano laminar pero ahora utilizando una ley de visco-
sidad no newtoniana. Para ello tome aquella del modelo de fluido de ley de potencia:
dvx n−1 dvx
τyx = µ0 | |
dy dy
y considere: (a) el caso de un fluido pseudoplástico (n < 1)
(b) el caso de un fluido dilatante (n > 1)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 39
Capı́tulo 1. Modelos fisı́cos y matemáticos
Sección 1.3. TP.I.- Trabajo Práctico #1
8. Repita el Ej 7 pero utilizando un fluido no newtoniano con una ley como la presentada en el ej
6 y calculo la relación entre el caudal y la caida de presión.
11. A partir del teorema del transporte de Reynolds (1.52) aplicado a una función escalar del tipo
S = ρs hallar la forma especial del teorema expresado por (1.62). Ayuda: utilice el principio de
conservación de la masa para alcanzar el resultado
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 40
Capı́tulo 2
2.0.1. Introducción
las ecuaciones de Navier-Stokes
la dependencia de la viscosidad y la conductividad térmica con otras variables
leyes constitutivas
describen completamente el fenómeno fluidodinámico en régimen laminar.
No obstante en casi todas las situaciones reales en la naturaleza y en la tecnologı́a existe una
particular forma de inestabilidad conocida con el nombre de turbulencia. Esta ocurre cuando en ciertas
situaciones un número adimensional llamado número de Reynolds, definido por Re = ρUchar L/µ,
alcanza o supera determinado valor que depende del problema en particular. L representa una longitud
caracterı́stica y Uchar una velocidad caracterı́stica. Este fenómeno se caracteriza por la presencia de
fluctuaciones estadı́sticas en todas las variables del flujo que se agregan a los valores medios, llegando
en algunos casos a alcanzar valores de hasta el 10 % del promedio.
Dado que la escala que imponen los fenómenos turbulentos están fuera de los alcances de los
recursos computacionales actuales, es la tarea de estos tiempos tratar de resolver las ecuaciones de
Navier-Stokes en su versión promediada y suplementada por alguna descripción externa de las tensiones
de Reynolds. Esta información es suministrada por los modelos de turbulencia, cubriendo ellos un rango
muy amplio, desde los más simples basados en definir una longitud de mezcla y una viscosidad para
los eddies hasta aquellos que plantean un balance para el transporte de cantidades como la energı́a
cinética turbulenta y la disipación, modelo denominado k − , o formas más complicadas de calcular
las componentes del tensor de Reynolds. A continuación presentamos en forma resumida cuales serı́an
los distintos niveles de aproximación que se pueden plantear sobre la base de los efectos dinámicos
presentes.
Navier-Stokes tridimensional laminar
Navier-Stokes tridimensional turbulento
En el caso de no existir extensas regiones viscosas podemos plantearnos Thin shear layer (TSL).
Esta aproximación desprecia los fenómenos de difusión molecular y turbulenta en la dirección
de transporte reduciendo el número de términos de tensión viscosa a calcular.
41
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.1. Las ecuaciones de Navier-Stokes
Capa lı́mite Para altos Re podemos introducir una suerte de separación de los efectos viscosos
e invı́scidos, desacoplando la presión de los efectos viscosos y confinando éstos a una región
cercana a los cuerpos mientras que lejos el flujo se comporta como invı́scido.
Aproximación invı́scida (ecuaciones de Euler). Aquı́ despreciamos todos los efectos visco-
sos y nos acercamos a los cuerpos tanto como el espesor de la capa lı́mite, no resolviendo lo que
sucede dentro de ellas.
Modelo de flujo potencial Este está asociado a flujo irrotacional y por su carácter isoentrópi-
co presenta problemas de unicidad cuando aparecen discontinuidades debiendo imponerse las
condiciones de Rankine-Hugoniot para evitarlas.
donde Wf = ρf~e ·~v . Estas forman un sistema de 5 ecuaciones en el caso 3D expresado aquı́ en variables
conservativas U definidas como:
ρ
ρ ρu
U = ρ~v =
ρv
(2.2)
ρE ρw
ρE
No debe confundirse lo que se llama una forma conservativa de lo que son las variables conservativas.
La matriz de los vectores flujos F~ tiene dimensión (5 × 3)
ρ~v
F~ = ρ~v ⊗ ~v + pI − τ (2.3)
~
ρ~v H − τ · ~v − k ∇T
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 42
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.1. Las ecuaciones de Navier-Stokes
De esta forma podemos arribar a una forma condensada de las ecuaciones que suele ser muy útil en
ciertas situaciones
∂U ~ · F~ = Q
+∇ (2.5)
∂t
que expresada en sus tres coordenadas cartesianas da lugar a
∂U ∂f ∂g ∂h
+ + + =Q (2.6)
∂t ∂x ∂y ∂z
Las ecuaciones de Navier-Stokes deben ser suplementadas por leyes constitutivas y por la definición
del tensor de tensiones viscosas en función de otras variables del flujo. Consideraremos las hipótesis
Newtonianas ya vistas. Las leyes termodinámicas definen la relación entre la energı́a o la entalpı́a y
otras variables termodinámicas, tales como la temperatura, la densidad o la presión.
Además deben especificarse leyes de dependencia de la viscosidad y la conductividad térmica con otras
variables del flujo como la temperatura o eventualmente la presión. En particular es muy usual en
gases expresar la dependencia de la viscosidad con la temperatura a partir de la ley de Sutherland
1.45 T 3/2 −6
µ= 10 , [T ]Kelvin (2.8)
T + 110
Para la conductividad térmica puede plantearse algo similar conociendo la relación que vincula Cp =
Cp (T ). En el caso de lı́quidos k es asumida como constante.
Muchas veces se usa la hipótesis de gases perfectos que plantea una expresión particular de (2.7),
como e = Cv T y una relación para las tres variables termodinámicas a través de la ecuación de estado
de los gases
p = ρRgas T
donde Rgas es la constante universal de los gases.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 43
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.1. Las ecuaciones de Navier-Stokes
fuerzas de flotación
entre otras.
En el caso incompresible la ecuación de masa se transforma en:
~ · ~v = 0
∇ (2.9)
que aparece como una especie de restricción a la ecuación del movimiento que en forma no conser-
vativa se puede escribir como:
∂~v ~ v = − 1 ∇p
~ + ν∆~v + f~e
+ (~v · ∇)~ (2.10)
∂t ρ
La ecuación de vorticidad de Helmholtz, presentada previamente, se transforma en
∂ ζ~ ~ ζ~ = (ζ~ · ∇)~
~ v + ∇p ~ 1 + ν∆ζ~ + ∇
~ ×∇ ~ × f~e
+ (~v · ∇) (2.11)
∂t ρ
Para flujos donde la densidad no se estratifica el término en presión desaparece de las ecuaciones y el
primer término del lado derecho se anula si el flujo es plano.
El caso incompresible presenta una situación muy particular, una de las 5 incógnitas, la presión, no
tiene una forma dependiente del tiempo debido al carácter no evolutivo de la ecuación de continuidad.
Esto redunda en una dificultad numérica que ha dado y continua dando lugar a muchas especulaciones.
Una ecuación para la presión puede obtenerse tomando la divergencia de las ecuaciones de momento
y asumiendo un campo de velocidades solenoidal , conduce a:
1 ~ · (~v · ∇)~ ~ · f~e
~ v+∇
∆p = −∇ (2.12)
ρ
que puede ser considerada como una ecuación de Poisson para la presión cuando el campo de velo-
cidades es especificado. El término derecho contiene solo derivadas de primer órden para la velocidad.
A = A + A0
1 T /2 (2.13)
Z
A(~x, t) = A(~x, t + τ )dτ
T −T /2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 44
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.1. Las ecuaciones de Navier-Stokes
donde T se define como un tiempo suficientemente largo comparado con la escala de sucesos de la
turbulencia pero pequeño comparado a la escala temporal del problema no estacionario. En flujos
compresibles este proceso de promediación conduce a productos de fluctuaciones entre cantidades
como la densidad y otras variables como la velocidad y la energı́a interna. Para evitarlas se recurre a
un promedio pesado con la densidad.
ρA
à =
ρ
(2.14)
A = Ã + A00
ρA00 = 0
De esta forma se remueven todos los productos necesarios de las fluctuaciones de la densidad con las
fluctuaciones de las otras variables. Por ejemplo, la ecuación de continuidad se transforma en
∂ ~ · (ρ̃~v˜) = 0
ρ̃ + ∇ (2.15)
∂t
Aplicada a las ecuaciones de momento llegamos a:
∂ ˜ ~ · (ρ~v˜⊗~v˜ + p̃I − τ v − τ R ) = 0
(ρ̃~v ) + ∇ (2.16)
∂t
donde las tensiones de Reynolds se definen como:
R
τ = −ρ~v 00 ⊗~v 00 (2.17)
v
y se agregan a las tensiones viscosas promediadas τ .
En coordenadas cartesianas tenemos que
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 45
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.1. Las ecuaciones de Navier-Stokes
∂τ in ∂ n i
~ · τ )i '
= (∇
(~τ ) (2.19)
∂n ∂n
Entonces si tomamos los flujos en cada una de las tres direcciones locales (tangente, normal y
binormal) vemos que
ρu
ρu2 + p
f = ρuv
ρuw
ρuH
ρv
ρuv
2
g= ρv + p
(2.20)
ρvw
ρvH
ρw 0
ρuw −µ ∂u∂z
∂v
h = ρvw +
−µ ∂z
ρw2 + p 4 ∂w
− 3 µ ∂z
ρwH −µ(u ∂u ∂v 4 ∂w ∂T
∂z + v ∂z + 3 w ∂z ) − k ∂z
Como vemos esta aproximación asume flujo invı́scido para las direcciones del plano tangente y flujo
viscoso sólo en la dirección normal. A diferencia de la aproximación de capa lı́mite, TSL no asume que
la presión sea constante dentro de la capa lı́mite, con lo cual representa una aproximación tipo capa
lı́mite de mayor órden.
∂ ∂ ∂ ∂ ∂u ∂ ∂u
(ρu2 + p) + (ρuv) + (ρuw) = (µ ) + (µ ) (2.21)
∂x ∂y ∂z ∂y ∂y ∂z ∂z
Esta ecuación por haber perdido el término de derivada segunda según la dirección x cambió de
tipo elı́ptico a parabólico ya que según ”x” la derivada primera es la de mayor órden. Entonces la
variable ”x” puede ser vista como un pseudo tiempo y se resuelven problemas en 2D avanzando de a
capas en ”x”. Similarmente la ecuación de energı́a parabolizada se vuelve
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 46
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.2. Modelo de flujo invı́scido
Una consideración importante le cabe a la entropı́a. Ya que el modelo de Euler asume la no existencia
de conducción del calor ni de esfuerzos viscosos, si tomamos la ecuación (2.6.f)
ds ~ · (k ∇T
~ ) + qH
ρT = v + ∇ (2.25)
dt
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 47
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.2. Modelo de flujo invı́scido
− ~v × ζ~ = T ∇s
~ − ∇H
~ (2.27)
Si por un momento asumimos un campo uniforme de entalpı́as vemos que la derivada normal de la
entropı́a (en el plano tangente no varı́a) equivale a la componente normal en la terna de Frenet del
producto vectorial entre la velocidad y la vorticidad y que es equivalente al producto de la componente
binormal de la vorticidad con la velocidad normal, o sea
∂s
wζb = T (2.28)
∂n
Por lo tanto gradientes de entropia y vorticidad están directamente vinculados. Las ecuaciones de Euler
también permiten discontinuidades en capas vorticosas, en ondas de choque o del tipo discontinuidades
de contacto, pero ellas deben obtenerse usando la forma integral del las ecuaciones ya que la forma
diferencial asume continuidad de la solución.
Ya que debemos seguir el movimiento de la superficie para poder estudiar su evolución, debemos
aplicar el teorema del transporte de Reynolds sobre el término temporal, que dice:
Para cualquier función f (~x, t) tenemos que
Z Z
d ∂f
~ ~
f dΩ = + ∇ · (f C) dΩ (2.30)
dt V (t) V (t) ∂t
Entonces usando (2.30) con f = 1 y el teorema de la divergencia sobre (2.29) produce lo siguiente:
Z I I
∂U ~ ~
dΩ − U C · dS + F~ · dS
~=0 (2.31)
Ω ∂t S S
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 48
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.2. Modelo de flujo invı́scido
Asumiendo que el volúmen tiende a cero el término del flujo puede ponerse como:
I Z Z h i
lim F~ · dS
~ = (F~2 − F~1 ) · dΣ
~ = F~ · ~1n dΣ (2.32)
V →0 S Σ Σ
~ es la normal a la superficie de la discontinuidad Σ y donde definimos el salto de una variable
donde dΣ h i
que cruza una discontinuidad A como
h i
A = A2 − A1
~ + ∂Σ U = 0
h i h i
F~ · ∇Σ (2.35)
∂t
Si vemos las propiedades del sistema desde una terna que se mueve junto a la discontinuidad, las
relaciones de Rankine Hugoniot para las ecuaciones de Euler se transforman en:
h i
ρ~v · ~1n = 0
h i h i
ρ~v ~v · ~1n + p · ~1n = 0 (2.36)
h i
ρ~v · ~1n H = 0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 49
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.3. Flujo potencial
vn1 = vn2 = 0
vn1 = vn2 = 0
h i (2.37)
p =0
Ondas de choque Ellas permiten el transporte de masa a través y por lo tanto la velocidad normal y
la presión pueden ser discontinuas mientras que la velocidad tangencial permanece continua. Entonces
h i
ρ 6= 0
h i
p 6= 0
h i (2.38)
vn 6= 0
h i
vt = 0
La llamada condición de entropı́a da la información necesaria para poder filtrar de todas las posibles
soluciones aquellas que no tengan sentido fı́sico. Esto está fuera de los alcances de este curso. Del
mismo modo no será tratado aquı́a el tema de la formulación de flujo invı́scido rotacional mediante la
representación de Clebsch que permite una descripción más económica en término de cómputo pero
más compleja en cuanto a su interpretación.
ζ~ = ∇
~ × ~v = 0
el campo tridimensional de velocidades puede ser descripto por una única función escalar φ, llamada
función potencial y definida por:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 50
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.3. Flujo potencial
~
~v = ∇φ
lo cual reduce notoriamente el cálculo. Si las condiciones iniciales son compatibles con un campo
de entropı́a uniforme, luego para flujos continuos la entropı́a será constante en todo el dominio y las
ecuaciones de momento se transforman en
∂ ~ ~ =0
(∇φ) + ∇H (2.39)
∂t
o
∂φ
+ H = H0 constante
∂t
donde la constante H0 es la entalpı́a de todas las lı́neas de corriente. De esta forma la ecuación
de energı́a ya no será independiente del resto. La ecuación para flujo potencial surge de la ecuación
de continuidad tomando en cuenta la hipótesis de flujo isoentrópico para poder expresar la densidad
como una función de la velocidad, o sea del gradiente del potencial.
En forma de conservación tenemos
∂ρ ~ ~
+ ∇ · (ρ∇φ) =0 (2.40)
∂t
que junto con la relación entre densidad y función potencial
ρ h h ∂φ i1/(γ−1)
= ( )1/(γ−1) = H0 − ~v 2 /2 − /hA (2.41)
ρA hA ∂t
completan el modelo. ρA y hA son valores de referencia para la densidad y la entalpı́a que a menudo
corresponden con las condiciones de estancamiento.
Caso estacionario
~ · (ρ∇φ)
∇ ~ =0 (2.42)
y
ρ ~ 2 1/(γ−1)
(∇φ)
= 1− (2.43)
ρA 2H0
surgen como el modelo a resolver.
Algunos temas a agregar más adelante son:
Flujo irrotacional con circulación - condición de Kutta-Joukowski
Limitaciones del modelo de flujo potencial para flujos transónicos
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 51
Capı́tulo 2. Niveles dinámicos de aproximación
Sección 2.3. Flujo potencial
2 1
(1 − M∞ )φxx + φyy + φzz = (φtt + 2φx φxt ) (2.44)
a2
∆φ = 0 (2.46)
la ecuación de Laplace.
Otra forma de linealizar el problema es usando superposición de flujos simples, como fuentes,
sumideros y vórtices calibrando los coeficientes con que cada uno participa de forma de ajustar la
condición de contorno de velocidad normal nula sobre cuerpos sólidos.
Los métodos basados en singularidad provienen de plantear el problema en forma integral, usar
núcleos (“ kernels “) que representen la influencia espacial y resolver numéricamente. Estos métodos
son llamados singulares porque casualmente producen integrales singulares cuyo tratamiento no es
trivial y está fuera del alcance del curso. Métodos como el de los paneles o el método de los elementos
de borde son los máximos representantes de ésta técnica.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 52
Capı́tulo 3
3.1. Introducción
Para comenzar resumimos las varias aproximaciones vistas en el capı́tulo anterior de forma tal de
mostrar las ecuaciones que surgen de los modelos vistos.
En general las leyes de conservación plantean una ecuación del tipo
∂U ~ · F~ = Q
+∇ (II.1.e)
∂t
que expresada en sus tres coordenadas cartesianas dan lugar a
∂U ∂f ∂g ∂h
+ + + =Q (II.1.f )
∂t ∂x ∂y ∂z
Las ecuaciones de Navier-Stokes se pueden expresar en su forma general como
ρ~v
ρ 0
∂ ~
ρ~v + ∇ · ρ~v ⊗ ~v + pI − τ = ρf~e (3.1)
∂t ~
ρE ρ~v H − τ · ~v − k ∇T Wf + qH
∂~v ~ v = − 1 ∇p
~ + ν∆~v + f~e
+ (~v · ∇)~ (II.2.b)
∂t ρ
donde es muy común desacoplar el problema en una solución para la velocidad y otra para la presión.
Para esta última surge
1 ~ · (~v · ∇)~ ~ · f~e
~ v+∇
∆p = −∇ (II.2.d)
ρ
53
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.1. Introducción
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 54
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.1. Introducción
V 2 T ∂u ∂p
− ρ + ∆u = Re (3.5)
ν ∂t ∂x
Asumimos que el gradiente de presión está fijado para poder reducir este caso ejemplificatorio al caso
de una ecuación y no entar en las complejidades que presupone un sistema de ecuaciones con varias
incógnitas. Asi como están escritas son de naturaleza parabólica debido a la existencia de un operador
de primer órden para una de las variables independientes, el tiempo, y uno de segundo órden para la
otra, la coordenada x. Si agregamos la hipótesis de flujo estacionario entonces desaparece el término
temporal y la ecuación se transforma en elı́ptica (ec. de Poisson)
Si Re → ∞ y si nos ubicamos fuera de la capa lı́mite, los términos viscosos tendrán muy poca
influencia haciendo que el flujo sea dominado por los términos convectivos (ecs. de Euler).
∂u ~ = − ∂p
ρ + ρ(~v · ∇)u (3.6)
∂t ∂x
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 55
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.2. Superficies caracterı́sticas. Soluciones del tipo ondas
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 56
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.3. Ecuaciones diferenciales parciales de segundo órden
Si la solución es expresable como una onda plana que se propaga en la dirección ~n, ésta tendrá la
forma
U = Û eI(~n·~x) = Û eI(nx x+ny y) (3.11)
√
con I = −1.
Reemplazando la solución(4.2.3) en (4.2.2) y tomando la parte homogénea nos queda
det|A1 nx + A2 ny | = 0 (3.13)
En lo anterior hemos asumido una solución del tipo onda plana. Esto puede generalizarse a hiper-
superficies generales con una representación no lineal de la onda. Esta consiste en definir una superficie
que funciona como frente de onda S(x, y) y la solución se representa por una onda general del tipo
U = Û eIS(x,y) (3.15)
A partir de aquı́ la operatoria es la misma que en el caso de onda plana. Un sistema es hiperbólico si
(4.2.7) es una solución para valores reales de S(x, y)
Esto se logra calculando
det|A1 Sx + A2 Sy | = 0 (3.16)
donde Sx , Sy son las derivadas de la superficie respecto a las direcciones que caen sobre ella.
Las superficies S(x, y) que hacen el anterior determinante nulo son superficies caracterı́sticas con
una normal que apunta segun ∇S.~
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 57
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.3. Ecuaciones diferenciales parciales de segundo órden
Ejemplo 1: Flujo potencial estacionario Llamemos c a la velocidad del sonido. Si tomamos la ecuación
del modelo de flujo potencial y trabajamos algebraicamente sobre la relación entre densidad y función
potencial asumiendo transformaciones isoentrópicas llegamos a
∂2φ 1 h ∂2φ ∂ ~ 2i
(δij − Mi Mj ) = 2 + (∇φ) (3.17)
∂xi dxj c ∂t2 ∂t
que en el caso 2D estacionario se simplifica a
u2 ∂ 2 φ 2uv ∂ 2 φ v2 ∂ 2φ
(1 − ) − + (1 − ) =0 (3.18)
c2 ∂x2 c2 ∂xdy c2 ∂y 2
que bajo la forma de una ecuación general de segundo órden (4.2.2) posee los siguientes coeficientes:
u2
a=1− 2
c
uv
b=− 2 (3.19)
c
v2
c=1− 2
c
Entonces el discriminante b2 − 4ac se vuelve
u2 + v 2
b2 − 4ac = − 1 = M2 − 1
c2
lo cual es negativo (elı́ptico) en el caso subsónico y positivo (hiperbólico) en el caso supersónico. En el
caso transónico el problema se transforma en parabólico. Como vemos el problema potencial tiene una
naturaleza bastante variada dependiendo del régimen de velocidades que estemos resolviendo. Una
complicación adicional a esto aparece por el hecho que en el caso transónico y supersónico pueden
aparecen discontinuidades como ondas de choque con un tratamiento numérico bien particular.
2 ∂2φ ∂2φ
(1 − M∞ ) + 2 =0 (3.20)
∂x2 ∂y
entonces las raices de la ecuación (4.2.6) son
ny p
2 −1
= ± M∞
nx
que definen las normales a las dos caracterı́sticas para flujos supersónicos. Estas se obtienen como
dy p
2 − 1) = ± tan µ
= ±1/ (M∞
dx
Estas caracterı́sticas son idénticas a las lı́neas de Mach que se hallan a un ángulo µ respecto a la
dirección del vector velocidad, con
sin µ = 1/M∞
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 58
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.4. Definición general de superficie caracterı́stica
∂Fik
Akij = (3.22)
∂uj
Por lo tanto el sistema (4.5.1) toma la forma cuasi-lineal
∂uj
Akij = Qi , k = 1, . . . , m; i = 1, . . . , n (3.23)
∂xk
que en forma condensada se escribe como
∂U
Ak = Q, k = 1, . . . , m
∂xk
donde el vector columna U es de (n × 1) y contiene las incógnitas uj , mientras que Ak son matrices
de n × n y Q un vector de términos fuentes. Las matrices Ak y el vector Q pueden depender de xk y
de U pero no del gradiente de U .
Una solución expresada como una onda plana de la forma (4.2.3) o en general (4.2.7) existirá si el
sistema homogéneo
∂S
Ak k Û = Ak nk Û = 0 k = 1, . . . , m
∂x
admite soluciones no triviales, lo cual como antes redunda en que
det |Ak nk | = 0
Esta ecuación tiene a los sumo n soluciones, las n superficies caracterı́sticas. El sistema se dice hi-
perbólico si todas las caracterı́sticas son reales y si las soluciones son linealmente independientes. Si
todas son complejas es elı́ptico y si hay de ambas es hı́brido. Además si el rango de Ak nk no es comple-
to el sistema se dice parabólico. Esto ocurrirá cuando al menos una de las variables no posea derivadas
respecto a alguna de las coordenadas espaciales.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 59
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.4. Definición general de superficie caracterı́stica
donde
1 a 0 2 0 c
A = , A =
0 b d 0
Planteando el determinante e igualando a cero conduce a las raices:
ny 2 cd
| | =
nx ab
Si cd/ab > 0 el sistema es hiperbólico, por ejemplo tomemos a = b = c = d = 1, en este caso el sistema
de ecuaciones es la conocida ecuación de las ondas que escrita como una ecuación de segundo órden
luce como
∂2u ∂2u
− 2 =0
∂x2 ∂y
Si cd/ab < 0 el sistema es elı́ptico, por ejemplo tomemos a = b = 1 ; c = −d = −1, en este caso el
sistema de ecuaciones es la conocida ecuación de difusión o de Laplace
∂2u ∂2u
+ 2 =0
∂x2 ∂y
Finalmente si b = 0 existe una sola caracterı́stica y el sistema es parabólico. Con a = 1 ; b = 0 ; c =
−d = −1 ; f1 = 0 ; f2 = v obtenemos la conocida ecuación del calor
∂u ∂2u
=
∂x ∂y 2
Ejemplo 4: Ecuaciones en aguas poco profundas estacionaria Este sistema, conocido como ”shallow
water equations”, describe la distribución espacial de las alturas de la superficie libre de una corriente
de agua que posee un campo de velocidades (u, v). Si llamamos g a la aceleración de la gravedad,
entonces:
∂h ∂h ∂u ∂v
u +v +h +h =0
∂x ∂y ∂x ∂y
∂u ∂u ∂h
u +v +g =0 (3.25)
∂x ∂y ∂x
∂v ∂v ∂h
u +v +g =0
∂x ∂y ∂y
Introduciendo el vector de incógnitas
h
U = u
v
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 60
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.5. Dominio de dependencia - zona de influencia
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 61
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
111111111
000000000
000000000
111111111
características 000000000
111111111
000000000
111111111
000000000
111111111
000000000
111111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
P
11111111
00000000
00000000
11111111
00000000
11111111
00000000
11111111
Γ 00000000
11111111
A 11111111
00000000
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
B
111
000
000
111
000
111
1111
0000
Región de dependencia de P
000
111 C
0000
1111
0000
1111
Zona de influencia de P
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 62
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
3.6.1. Introducción
MatLab es un lenguaje de programación interpretado de bajo nivel que a diferencia de los lengua-
jes compilados permite gran flexibilidad para programar, debuggear y correr pequeñas aplicaciones
respecto a los tradicionalmente rápidos pero muy rı́gidos lenguajes compilados. Además es un sof-
tware de aplicación y como su nombre lo indica es un laboratorio de matrices (Mat=Matrices / Lab
=Laboratorio). Otra de las importantes caracterı́sticas es que incluye poderosas facilidades gráficas
que se pueden correr run-time, mientras que en el caso de los lenguajes compilados uno debe o bien
generar un software gráfico completo o sino adaptar algunas rutinas para los casos particulares de
aplicación, lo cual lo transforma en una gran complicación. Además el hecho que los cálculos y las
gráficas se vayan generando en tiempo de ejecución lo hace muy flexible. Otras de la caracterı́sticas
interesantes de este lenguaje interpretado es que equivale a un entorno en sı́ mismo, o sea permite
ejecutar comandos en forma muy interactiva lo cual lo hace apto para ir avanzando en lo que uno
está haciendo, viendo resultados en pantalla de lo que uno está obteniendo, corrigiendo rumbos, etc.
Además cuenta con una enorme biblioteca de rutinas de cálculo que lo transforma en un lenguaje de
bajo nivel sin necesidad de tener que programar demasiado, salvo aplicaciones especiales. Hemos dicho
al comienzo que una de las principales diferencias entre un lenguaje compilado y uno interpretado es la
velocidad de procesamiento de datos, especialmente para grandes problemas. El programa compilado
arma un ejecutable habiendo interpretado cada sentencia previamente en la etapa de compilación y
genera un archivo binario optimizado. En cambio el lenguaje interpretado realiza la interpretación de
cada sentencia a medida que corre lo cual lo hace lento. Por ejemplo si uno realiza un loop de 1000
iteraciones el intérprete debe trabajar 1000 veces haciendo lo mismo. MatLab soporta vectorización lo
cual hace que en lugar de manejar escalares e interpretar operaciones entre escalares pueda manejar
vectores e interpretar vectores. Por ejemplo si tenemos un vector de 1000 elementos y queremos hacer
cálculos con cada uno de sus coeficientes, en lugar de hacer un loop de 1000 iteraciones podemos
invocar directamente la operación sobre todo el vector. Por ejemplo, si tenemos una matriz A de
(1000 × 2), donde cada columna representa un vector de 1000 elementos y queremos calcular la suma
de ellos podemos hacer:
for k=1:1000,
c(k) = A(k,1)+A(k,2);
end
o sencillamente
c = A(:,1)+A(:,2);
Todo esto y muchas cosas más que surgen cuando uno lo utiliza hacen a MatLab una muy interesante
herramienta para la investigación en torno a los métodos numéricos.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 63
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
MatLab cuenta con muchas rutinas propias llamadas built in functions, solo basta con recorrer
el help para ver la enorme cantidad de ellas. Además cuenta con lo que se llaman Toolkits que son
paquetes de rutinas para aplicaciones particulares. Aquı́ no entraremos en detalle sobre estas últimas
sino que sólo mencionamos su existencia para aquellos curiosos que puedan interesarse. A grandes
rasgos podemos decir que MatLab es un lenguaje de programación integrado con un software de
aplicación. Entonces podemos hacer una división inicial en:
(
software de aplicación cálculo numérico
Matlab visualización gráfica
lenguaje de programación
A continuación planeamos hacer un pequeño tour por las galerı́as de MatLab tratando de tocar
sólo algunos de sus puntos con el objetivo de motivar a los turistas a volver a ellos en el futuro.
debemos ingresar sus coeficientes como una lista de números separados por un blanco al menos que
corresponden a los elementos de cada fila, separando las filas entre si con un ; o simplemente con
<Enter>, o sea
A = [ 1 2 3 ;
4 5 6 ;
7 8 9 ];
El ; despues del ] finaliza la sentencia sin mostrar por pantalla lo ingresado. Si uno quiere ver lo que
ingresa hay que remover el ;. Su uso es muy importante cuando las matrices son muy grandes ya que
la salida por pantalla puede tomar bastante tiempo.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 64
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
Un vector es un caso particular de lo anterior, este puede ser un vector fila o un vector columna.
Sean
b= 1 2 3
4 (3.28)
c = 5
6
En estos casos el ingreso es
b = [ 1 2 3 ];
c = [ 4 ;
5 ;
6 ];
b = [ 4 5 6 ];
c = b’;
donde el sı́mbolo ’ significa la transpuesta, de un vector como en este caso pero su uso es en general
para cualquier matriz.
Todas los cálculos que se van haciendo si se asignan a variables permanecen en la memoria de
trabajo, sino se asignan son eliminadas permaneciendo solo en memoria el último resultado almacenado
en una variable denominada ans. Por ejemplo la instrucción siguiente genera un vector fila pero al no
estar asignado solo queda en memoria bajo la variable ans.
[ 4 5 6 ];
Si a continuación emito otra instrucción pierdo el resultado anterior, salvo que previamente lo haya
almacenado en una variable, como por ejemplo
b = ans
Si hacemos who podemos ver las variables en memoria hasta el momento almacenadas y si hacemos
whos podemos ver más detalles de las mismas.
Como es sabido del algebra lineal una matriz puede generarse como el producto tensorial de
vectores. Por ejemplo si en el caso anterior hacemos
A1 = c*b
A1 = [ 4 8 12;
5 10 15;
6 12 18;
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 65
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
Del mismo modo podemos definir el producto interno entre vectores de una forma trivial. La definición
de producto interno es:
X N
b, c = bi ci
i=1
b*c
obtenemos el producto interno anterior y tal como hemos definido la instrucción no está alojado en
ninguna variable por lo cual corre peligro de ser destruido después de la próxima instrucción.
Otro aspecto importante es que existen formas de generar matrices muy especiales. Por ejemplo
(-3:2:15) genera un vector fila cuyo primer elemento es −3, generando el resto avanzando de
a 2 y no supera el valor 15.
kron((1:3)’,(2:5))
que produce el producto tensorial del vector columna (1:3)’ con el vector fila (2:5), lo cual arroja
la siguiente matriz como resultado
2 3 4 5
4 6 8 10
6 9 12 15
>> diag(ones(5,1),2)
ans =
0 0 1 0 0 0 0
0 0 0 1 0 0 0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 66
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
A esta altura debemos asegurarnos de salvar lo hecho por si ocurriera algún imprevisto o por si
tuviéramos que detener temporariamente nuestro trabajo. El comando save salva las variables en
memoria en un archivo. Si omitimos el nombre (solo invocamos el comando save) guarda el contenido
de la memoria en un archivo llamado matlab.mat, caso contrario, si especificamos el nombre , por
ejemplo save tempo, guarda la memoria entera en el archivo tempo.mat Tambien podemos guardar
parte de la memoria, para ello debemos invocar save <filename> variables.
Cuando uno desea continuar con el trabajo interrumpido y quiere recuperar la memoria salvada
con el comando save debe ejecutar load <filename> o simplemente load si salvó las variables sin
especificar el fichero.
Con clear se limpia todo el espacio de trabajo (memoria) y con clear variables aquellas varia-
bles que uno desea.
Con size(<arreglo>) o length(<arreglo>) se puede obtener la dimensión del arreglo. El primer
caso es general y devuelve dos valores mientras que el segundo es exclusivamente para vectores y
devuelve solo un valor.
El software contiene una serie de operadores de matrices tal como suma, resta, producto, potencia,
división por derecha e izquierda, etc. Todos estos operadores se definen tal como lo establece el álgebra
de los espacios vectoriales. Una aclaración va con la división.
Que significa dividir matrices para MatLab?
Sean A, B dos matrices de (m × m), entonces
A / B = A B −1
(3.29)
A B = A−1 B
Como vemos la división involucra matrices inversas, pero especial cuidado hay que tener cuando
tratamos grandes matrices ya que el tiempo de cálculo se achica mucho en estos casos con los comandos
de división comparado al comando de inversión inv(A) o A−1
Otro detalle interesante en el manipuleo de matrices es que uno puede extraer submatrices de otras
matrices o armar matrices con bloques de otras submatrices. Por ejemplo,
>> A = eye(4) ;
>> B = ones(4,2) ;
>> C = zeros(2,4) ;
>> D = eye(2) ;
>> E = [A B ; C D]
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 67
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
ans =
1 0 0 0 1 1
0 1 0 0 1 1
0 0 1 0 1 1
0 0 0 1 1 1
0 0 0 0 1 0
0 0 0 0 0 1
Del mismo modo podemos tomar un bloque de la matriz E, por ejemplo el de las filas 1,3,5 con
las columnas 2,3 haciendo:
E([1;3;5],[2;3])
En cuanto a las capacidades de cálculo además de existir toda una gama de funciones standard para
escalares existen otras más para vectores y matrices. Por ejemplo es muy común hablar del seno
trigonométrico de un número real. Como se calcula el seno de una matriz?
Bueno existen varias formas de calcularlo pero hay que tener cuidado al hacerlo con MatLab.
Si nosotros definimos por ejemplo una matriz A de (3 × 3) y ejecutamos la instrucción sin(A) el
resultado será diferente a si nosotros usamos la definición de una función aplicada a una matriz
Conclusión, cuando queremos realizar una función especial sobre una matriz debemos o realizar la
descomposición en autovalores y autovectores utilizando la función de MatLab eig(A) o sino usar
otra función llamada funm que en este caso se usa de la siguiente forma : funm(A,’sin’).
MatLab soporta muchas funciones para matrices, por ejemplo:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 68
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
factorización LU →lu
ortogonalización →orth
entre otras.
Consulte el help de matrices.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 69
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
.^n equivale a elevar todos los coeficientes del arreglo a una potencia n
Visualización gráfica
El hecho de permitir un manejo de matrices como si fuera una lista de datos ordenados según la
estructura de la matriz o como una tabla de valores permite altas facilidades de graficación.
Visite el help de los comandos plot, mesh, surf, etc para ver todas las capacidades gráficas que
ofrece MatLab.
Programación
Finalmente cerramos este breve paseo con otra facilidad muy importante a la hora de pretender
ir un poco más alla de lo que ofrece MatLab. Programando en MatLab es posible generar programas
de propósitos particulares o generales, como por ejemplo construir un generador de mallas, mejores
formas de visualizar soluciones, visualizar mallas de elementos finitos, generar un programa de algún
método numérico, etc. Aquı́ no entraremos en detalle de los aspectos de programación. Para aquellos
intersados visitar el help o la bibliografı́a especializada.
[Ejercicio 1.] Dadas las grandes capacidades que tiene Matlab para el tratamiento de matrices
uno de los principales objetivos es aprender como manipularlas. Existen muchas formas de in-
gresar matrices. En este ejemplo se pretende que Ud explore diferentes formas de hacerlo. Por
ejemplo, dada la siguiente matriz de (10 × 10) con los siguientes elementos:
2 −1 0 0 0 0 0 0 0 0
−1 2 −1 0 0 0 0 0 0 0
0 −1 2 −1 0 0 0 0 0 0
0
0 −1 2 −1 0 0 0 0 0
0 0 0 −1 2 −1 0 0 0 0
A= (3.33)
0
0 0 0 −1 2 −1 0 0 0
0
0 0 0 0 −1 2 −1 0 0
0
0 0 0 0 0 −1 2 −1 0
0 0 0 0 0 0 0 −1 2 −1
0 0 0 0 0 0 0 0 −1 1
explique una forma sencilla de cargarla sin necesidad de entrar cada uno de los 100 coeficientes
que la conforman.
A continuación calcule:
1.- la traspuesta
2.- el producto consigo misma
3.- su raiz cuadrada
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 70
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
donde A es la matriz del ejemplo anterior. Muestre una forma sencilla de hacerlo.
[Ejercicio 3.] Tome la matriz del ejemplo 2 y arme una nueva matriz de 3 × 2 que contenga los
elementos de las filas 1,3,5 y columnas 2,4 de la matriz B.
[Ejercicio 5.] Calcule el determinante de la matriz anterior A del ejemplo 1 y sus autovalores.
A continuación grafique los autovalores en el plano complejo. Posteriormente ingrese la matriz
−1 1 0 0 0 0 0 0 0 0
−1 0 1 0 0 0 0 0 0 0
0 −1 0 1 0 0 0 0 0 0
0
0 −1 0 1 0 0 0 0 0
0 0 0 −1 0 1 0 0 0 0
C= (3.35)
0
0 0 0 −1 0 1 0 0 0
0
0 0 0 0 −1 0 1 0 0
0
0 0 0 0 0 −1 0 1 0
0 0 0 0 0 0 0 −1 0 1
0 0 0 0 0 0 0 0 −1 1
[Ejercicio 6.] Para las matrices A y C de los ejemplos anteriores calcule la solución del sistema
lineal (A + C)u = b con el miembro derecho similar al usado en el Ej. 4. Grafique la solución.
A continuación resuelva el sistema(A + 10C)u = b y grafique la solución.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 71
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
y encuentre las raices del mismo usando un conjunto de coeficientes ai a elección. Grafique el
polinomio en el rango donde se hallan todas sus raices.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 72
Capı́tulo 3. Naturaleza matemática de las ecuaciones
Sección 3.6. Condiciones de contorno e iniciales
[Ejercicio 13.] Utilice las rutinas del proyecto sobre sistemas dinámicos masa resorte amorti-
guador para el caso de 1 grado de libertad lineal y verifique el valor del amortiguamiento crı́tico
del sistema.
[Ejercicio 14.] Genere una aplicación para resolver el ejemplo del péndulo doble y trate de
animar el movimiento del sistema
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 73
Capı́tulo 4
74
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
C
φl+1 B
φl
D A
φl-1
xl-1 xl xl+1
xl-1 xl xl+1
Figura 4.1: Interpretación geométrica de las diferentes aproximaciones por diferencias finitas a la
derivada.
A esta aproximación para la derivada de primer orden la llamamos “por diferencia hacia adelante”
(forward difference):
dφ φl+1 − φl
≈ (4.6)
dx l ∆x
Véase la figura 4.1 para una interpretación gráfica de esta aproximación. Hemos aproximado la derivada
en el punto xl por la pendiente de la secante a la curva que pasa por los puntos xl y xl+1 (segmento
AC). El error de esta aproximación es:
∆x d2 φ
E =−
2 dx2 l+θ1
2
∆x d φ
|E| ≤ max 2 ≤ C∆x, ∆x → 0 (4.7)
2 [xl ,xl+1 ] dx
Similarmente, la aproximación hacia atrás (“backward difference”)da:
dφ φl − φl−1
≈ (4.8)
dx l ∆x
2
∆x d φ
|E| ≤ max 2 ≤ C 0 ∆x, ∆x → 0 (4.9)
2 [xl−1 ,xl ] dx
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 75
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
∆x2 d2 φ ∆x3 d3 φ
dφ
φl±1 = φl ± ∆x + ± , 0 ≤ θ3,4 ≤ 1 (4.10)
dx l 2 dx2 l 6 dx3 l±θ3,4
de donde:
dφ φl+1 − φl−1
≈ (4.11)
dx l 2∆x
que corresponde al segmento DC de la figura 4.1. La correspondiente estimación del error es:
∆x2
3
d φ
|E| ≤ max 3 ≤ C 00 ∆x2 (4.12)
6 [xl−1 ,xl+1 ] dx
A esta la llamamos una “aproximación centrada”, ya que involucra a los dos nodos vecinos del nodo
l. Notar que, al contrario de las otras, esta es simétrica con respecto al punto en cuestión. Notar
también que el error resulta ser un orden mayor. Con lo cual en principio se pueden obtener mejores
aproximaciones con menos puntos usando un aproximación de mayor orden como esta. Pero, como
veremos más adelante, en la sección §4.1.7, el hecho de que la aproximación sea de un mayor orden no
es una condición “suficiente” para obtener un orden de convergencia mayor.
∆x2 d2 φ ∆x3 d3 φ
dφ
φl±1 = φl ± ∆x + ±
dx l 2 dx2 l 6 dx3 l
∆x4 d4 φ
+ , 0 ≤ θ5,6 ≤ 1 (4.13)
24 dx4 l±θ5,6
de donde: " #
d2 φ φl+1 − 2φl + φl−1 ∆x2 d4 φ d4 φ
= − + (4.14)
dx2 l ∆x2 24 dx4 l+θ5 dx4 l+θ6
o sea que:
d2 φ
φl+1 − 2φl + φl−1
≈ (4.15)
dx2 l ∆x2
∆x2
4
d φ
|E| ≤ max 4 (4.16)
12 [xl−1 ,xl+1 ] dx
Esta es una “aproximación centrada”.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 76
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
a (4.17))
zados
da)
Tipo de aproximación
hacia atrás/adelante 1 1 2 2
centrada 2 1 3 3
centrada 2 2 3 4
Cuadro 4.1: Tabla Número de puntos utilizados en las diferentes aproximaciones por diferencias utili-
zadas.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 77
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
hay una ecuación para cada l = 1, 2, . . . , L − 1, que son los puntos interiores.
Concretamente, las ecuaciones resultan ser:
∆x2 Q1
+2φ1 −φ2 = k +φ̄0
∆x2 Q2
−φ1 +2φ2 −φ1 = k
∆x2 Q3
−φ2 +2φ3 −φ4 = k
.. .. .. .. (4.20)
. . . .
∆x2 QL−2
−φL−3 +2φL−2 −φL−1 = k
∆x2 QL−1
−φL−2 +2φL−1 = k +φ̄Lx
Kφ = f (4.22)
con:
2 −1 0 0 ... ... ... ...
−1 2 −1 0 ... ... ... ...
0 −1 2 −1 . . . . . .
K=
.. .. .. .. ..
(4.23)
. . . . .
.. .. .. ..
. . . . 0 −1 2 −1
.. .. .. ..
. . . . 0 0 −1 2
∆x2 Q1 /k + φ̄0
∆x2 Q2 /k
f = (4.24)
..
.
∆x2 QL−1 /k + φ̄Lx
Nótese la analogı́a:
d2 /dx2
φ = −Q/k
↓ ↓ ↓ (4.25)
K φ = f
El operador del continuo d2 /dx2 es reemplazado por la matriz K, el campo del continuo φ es
reemplazado por el conjunto de valores nodales φ y, finalmente, la fuente interna Q(x) es reemplazada
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 78
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
x0 x1 x2 x3
Figura 4.2: Problema unidimensional con condiciones de contorno Dirichlet en ambos extremos
por el vector miembro derecho f . A su vez, la condiciones de contorno tipo Dirichlet también generan
un término en el miembro derecho.
La matriz K es simétrica (Kij = Kji para todos i, j) y definida postitiva (vT Kv > 0 para todo
v ∈ IRL−1 ). Esto tiene mucha importancia: se puede demostrar la existencia y unicidad de la solución
discreta y además tiene importancia práctica ya que permite el desarrollo de rutinas de resolución
especialmente diseñadas.
4.1.6. Ejemplo
Resolver:
d2 φ
− φ = 0, φ(0) = 0, φ(1) = 1 (4.26)
dx2
Usaremos ∆x = 1/3 (ver figura 4.2). Tenemos 4 valores nodales φ0 , φ1 , φ2 y φ3 , de los cuales φ0 y
φ3 son conocidos de las condiciones de contorno y sólo restan dos incógnitas φ1 y φ2 . La ecuación en
los nodos interiores es:
φl+1 − 2φl + φl−1 − ∆x2 φl = 0 (4.27)
para:
φ2 − 2φ1 + φ0 − ∆x2 φ1 = 0 (4.28)
pero φ0 = 0 por la condición de contorno, de manera que la ecuación resultante es:
φ2 − 19/9φ1 = 0 (4.29)
1
φ1 = = 0.2893 . . .
(19/9)2 − 1
φ2 = 19/9φ1 = 0.6107 . . . (4.31)
La solución exacta a este problema puede ser encontrada fácilmente. Proponiendo soluciones de
la forma e−αx , se obtiene la ecuación caracterı́stica α2 = 1 de donde α = ±1. Proponemos entonces
soluciones de la forma φ = aex + be−x . a y b se obtienen de imponer las condiciones de contorno, y
resulta ser:
sinh(x)
φ= (4.32)
sinh(1)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 79
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
Cuadro 4.2: Tabla : Errores para φ00 − φ = 0, φ(0) = 0, φ(1) = 1, para ∆x = 1/3, 1/6
Los resultados numéricos y exactos son comparados en la tabla 4.2, se incluyen también los resultados
obtenidos para ∆x = 1/6:
Nótese que tanto en x = 1/3 como en x = 2/3 el error ha bajado en un factor 1/4 al reducir el paso
de la malla en un factor 1/2. Primero vemos que, cualitativamente, el esquema de discretización es
convergente, es decir el error, en alguna norma predeterminada, se reduce, al reducir el paso de la
malla. Cuantitativamente, podemos decir que el error tiene un comportamiento ∝ ∆x2 . Tambien se
dice que el “orden de convergencia” es ∝ h2 , donde h representa el paso de la malla (∆x en nuestro
caso). Esto es consistente con el error de truncamiento que encontramos en el desarrollo de Taylor
usado.
K Eφ = −Etrunc (4.37)
y entonces,
Eφ = −K−1 Etrunc (4.38)
Al hecho de que el error de truncamiento Etrunc,i → 0 para ∆x → 0 lo llamamos “consistencia” del
método. Queremos saber bajo que condiciones, el esquema es “convergente”, es decir kEφ k → 0 para
∆x → 0. Por lo que vemos, esto está relacionado con alguna propiedad de K, es decir que de alguna
forma la inversa de K “se mantenga acotada”, para ∆x → 0.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 80
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
Tomando normas
kEφ k ≤ kK−1 k kEtrunc k (4.39)
Recordemos que la norma (Euclı́dea) de un vector está definida como
L−1
X
kvk2 = vi2 (4.40)
i=1
y la norma de una matriz está definida como el máximo autovalor de la misma. Puede verse entonces
que kK−1 k es la inversa del mı́nimo autovalor de K, y usando (4.12)
1
qX qX
2
(φex,i − φi ) ≤ 2
Etrunc,i (4.41)
λmin
1 √
≤ L − 1 C∆x2 (4.42)
λmin
de manera que
v
u 1 L−1
u
1
X qX
t (φex,i − φi )2 ≤ 2
Etrunc,i (4.43)
L−1 λmin
i=1
1
C∆x2 ≤ (4.44)
λmin
El miembro izquierdo de esta ecuación representa el “error cuadrático medio” de la solución numérica.
Esta expresión nos dice que este error es del mismo orden que el error de truncamiento, con la condición
de que λmin se mantenga acotado (es decir, que no tienda a cero) cuando ∆x tiende a cero. Si se cumple
esta condición decimos que la discretización es “estable”. Entonces, la condición para la convergencia
es
Consistencia + Estabilidad =⇒ Convergencia (4.45)
Este resultado es conocido como Teorema de Lax y es la base del análisis de error para el método de
diferencias finitas.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 81
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
Cuadro 4.3: Tabla : Errores para φ00 − φ = 0, φ(0) = 0, φ0 (1) = 1, para ∆x = 1/3, 1/6
Para determinar esta incógnitas tenemos L − 1 ecuaciones que provienen de aproximar el operador
diferencial por diferencias finitas de segundo orden en puntos interiores como en la ecuación (4.19).
Para dar cuenta de la condición de contorno tipo Neumann en Lx agregamos la siguiente aproximación:
dφ φL − φL−1 q̄
≈ =− (4.50)
dx L ∆x k
Ahora sı́, tenemos L ecuaciones en L incógnitas. Volviendo al ejemplo anterior del problema (4.26),
pero ahora con condición de tipo Neumann en x = 1: φ0 (1) = 1 el sistema resultante es:
−φ2 +19/9φ1 = 0
−φ3 + /9φ2
19 −φ1 =0 (4.51)
φ3 −φ2 =3
Resolviendo el sistema, se encuentran los valores discretos que pueden observarse en la tabla 4.3. (se
incluyen también los resultados obtenidos para ∆x = 1/6):
La solución exacta puede obtenerse de la misma forma que en el caso Dirichlet y resulta ser:
sinh(x)
φ(x) = (4.52)
cosh(1)
Notamos que los errores resultan ser notablemente mayores que en el caso Dirichlet puro, concre-
tamente son dos órdenes de magnitud mayores. Un indicio de la causa del problema la da el hecho
de que, al reducir el paso de la malla a la mitad, el error no ha bajado en un factor 1/4 como antes,
sino que apenas ha bajado un factor 1/2, exhibiendo una convergencia ∝ ∆x. La causa es que hemos
usado una expansión orden O(∆x) para la condicion de Neumann, ecuación (), si bien la expansión
en los nodos interiores es O(∆x2 ). Podemos deducir una regla muy importante que es que el orden de
convergencia está dictado por el más bajo orden de las expansiones utilizadas, tanto para el interior
del dominio como para las condiciones de contorno.
En consecuencia, si queremos recuperar el orden de convergencia ∝ ∆x2 , necesariamente debemos
desarrollar una aproximación O(∆x2 ) para la condición tipo Neumann. Una forma de hacer esto es
introduciendo un “nodo ficticio” (ver figura 4.3) xL+1 y aproximando la condición de contorno como:
dφ φL+1 − φL−1 q̄
≈ =− (4.53)
dx L 2∆x k
Pero hemos introducido una incógnita más: φL+1 , de manera que agregamos la ecuación para nodos
interiores en el nodo de contorno L:
d2 φ −φL+1 + 2φL − φL−1 QL
2
≈ 2 =− (4.54)
dx ∆x k
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 82
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
x=0 x=L
nodo ficticio
dominio "real"
x1 x2 x3 xL-1 xL xL+1
Figura 4.3: Inclusión de un nodo ficticio para obtener una discretización más precisa de la condición
de contorno tipo Neumann.
x0 x1 x2 x3 x4
El sistema es:
Kφ = f (4.55)
2 −1 0 0 ... ... ... ...
−1 2 −1 0 . . . . . . . . . ...
0 −1 2 −1 . . . . . .
K=
.. .. .. .. ..
(4.56)
. . . . .
.. .. .. ..
. . . . 0 −1 2 −1
.. .. .. ..
. . . . 0 −1 0 1
∆x2 Q1 /k + φ̄0
∆x2 Q2 /k
f =
..
(4.57)
.
2
∆x QL /k
−2q̄∆x/k
φ1
φ2
φ = ... , φ ∈ IRL+1 (4.58)
φL
φL+1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 83
Capı́tulo 4. Método de diferencias finitas
Sección 4.1. Diferencias finitas en 1D
Cuadro 4.4: Tabla : Errores para φ00 − φ = 0, φ(0) = 0, φ0 (1) = 1, para ∆x = 1/3, 1/6, con esquema
O(∆x2 )
∆x2 QL q̄∆x
φL − φL−1 = − (4.59)
2k k
Nótese que esta ecuación es la misma que la (4.50) pero con el agregado del término ∆x2 QL /2k
en el miembro derecho. De hecho, esta misma ecuación puede obtenerse planteando un balance de
energı́a en el intervalo [L − 1/2, L]∆x. El sistema total es:
2 −1 0 0 ... ... ... ...
−1 2 −1 0 . . . . . . . . . . . .
0 −1 2 −1 . . . . . .
. .. .. .. ..
K = .. (4.60)
. . . .
. .. .. ..
..
. . . 0 −1 2 −1
.. .. .. ..
. . . . 0 0 −1 1
∆x2 Q1 /k + φ̄0
∆x2 Q2 /k
f = , (4.61)
..
.
∆x2 QL /2k − q̄∆x/k
φ1
φ2
φ = . , φ ∈ IRL (4.62)
..
φL
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 84
Capı́tulo 4. Método de diferencias finitas
Sección 4.2. Problemas no-lineales
de allı́ viene el nombre de “esquema conservativo”, ya que reproduce el balance de energı́a que
satisface la ecuación del continuo (ver figura 4.5):
Z Lx −∆x/2 Z Lx
d dφ
Q(x) dx = − k(x) dx = q̄0 + q̄Lx (4.69)
x=∆x/2 x=0 dx dx
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 85
Capı́tulo 4. Método de diferencias finitas
Sección 4.2. Problemas no-lineales
x=0 x=L
Q(x)
Esto es muy importante en problemas donde puede llegarse a esperar variaciones abruptas de las
variables en intervalos muy pequeños, como es el caso de las ondas de choque (“shock waves”) en
fluidos compresibles.
El sistema de ecuaciones es ahora no-lineal:
K(φ)φ = f (4.70)
y no puede resolverse, en general, en forma cerrada, pero puede resolverse en forma aproximada
generando una sucesión de valores φ0 , φ1 , . . ., φn , . . . de tal forma que converja a la solución exacta
del sistema (4.70):
φn → φ, para n → ∞ (4.71)
Una forma apropiada de generar estas sucesiones es llevando el sistema anterior a una forma de
“punto fijo”:
φ = O(φ) (4.72)
donde O es un mapeo de IRL−1 en sı́ mismo, fácilmente evaluable. Además, debe elegirse un vector
de inicialización φ0 y la secuencia se genera recursivamente como:
En la práctica, esta forma de recurrencia es ejecutada un número finito de iteraciones N , de tal manera
que φN esté suficientemente cerca de φ. Obviamente, como no conocemos φ, el criterio para qP detener
N n 2
el proceso iterativo, no puede basarse en una evaluación directa de kφ − φk. Aquı́, kvk = i=1 vi
es la norma L2 del vector. Una posibilidad es analizar la diferencia entre dos iteraciones consecutivas
de la sucesión:
kφN +1 − φN k < (4.74)
donde es la “tolerancia” deseada. Este criterio puede hacerse adimensional poniendo:
kφN +1 − φN k
< (4.75)
kφ0 k
Este criterio puede ser engañoso, por ejemplo, si la sucesión está convergiendo muy lentamente.
Un criterio más robusto se basa en el residuo del sistema de ecuaciones:
kR(φN )k
< (4.76)
kf k
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 86
Capı́tulo 4. Método de diferencias finitas
Sección 4.2. Problemas no-lineales
Debido a errores de redondeo, es de esperarse que, ambos criterios no puedan bajar más allá de un
cierto valor mach . Con esto queremos decir que kR(φn )k > mach para n → ∞, en vez de tender
a cero, como serı́a en una máquina de precisión infinita. Para problemas bien condicionados,
y si el criterio ha sido convenientemente adimensionalizado la precisión de la máquina está en
mach = 10−13 , 10−16 , si todos los cáculos se hacen en doble precisión. Si los cáculos se hacen en
simple precisión entonces la precisión cae a: mach = 10−6 , 10−8 .
Debe recordarse siempre que φ (la solución exacta al problema discreto) posee un error debido
a la discretización. Llamando φ∗ a los valores nodales de la solución del continuo, tenemos que:
El error que interesa es el miembro izquierdo de esta desigualdad, es decir, el error con respecto
a al solución del continuo. El primer término del miembro derecho es el error en la resolución
del sistema no-lineal, mientras que el segundo es el error de discretización. A medida que se
itera, el error de resolución se va reduciendo, hasta anularse, en el lı́mite:
Este expresión quiere decir que, por más que se itere, el error con respecto a la solución exacta
no va a bajar del error propio de discretización. De poder estimarse, el error de discretización,
puede fijarse la tolerancia en una fracción (digamos 1/10) del error de discretización. Poner una
tolerancia más baja, aumenta el costo sin mejorar notablemente la solución.
4.2.1. Ejemplo
El esquema de iteración puede ponerse simplemente como:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 87
Capı́tulo 4. Método de diferencias finitas
Sección 4.2. Problemas no-lineales
Figura 4.6: El esquema de punto fijo (4.80) aplicado a un problema undimensional con k(φ) = φ−0.7 .
Dado el valor de φj , se puede obtener una pendiente aproximada entre el punto Pj = (φj , k(φj )φj )
y el origen O. La intersección de esta recta con y = f marca el nuevo punto φj+1 . El esquema es
convergente si k(φ)φ es monótona creciente. En caso contrario es divergente (ver figura 4.7, para el
caso m = −1.5. Esta condición se cumple en muchos casos fı́sicos, ya que está asociado a una condición
de estabilidad del sistema. Pensemos por ejemplo en un resorte no-lineal, para el cual k es la constante
del resorte, φ la elongación y f la fuerza aplicada. Entonces k(φ)φ creciente quiere decir: a mayor
elongación, mayor fuerza, lo cual coincide con el criterio de estabilidad. Sin embargo, la convergencia
puede ser muy lenta, como por ejemplo en la figura 4.8, que corresponde a m = −0.9, f = 1, φ0 = 3.
Supongamos que φj está suficientemente cerca de la solución φ, de maner que podemos hacer un
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 88
Capı́tulo 4. Método de diferencias finitas
Sección 4.2. Problemas no-lineales
n=0.1
0
x6 x5 x4 x3 x2 x1 x0 x
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 89
Capı́tulo 4. Método de diferencias finitas
Sección 4.2. Problemas no-lineales
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 90
Capı́tulo 4. Método de diferencias finitas
Sección 4.3. Precisión y número de puntos en el esquema de diferencias finitas
convergencia lineal
|Residuo|
convergencia cuadrática
n (iteraciones)
φ = Ad + N e (4.104)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 91
Capı́tulo 4. Método de diferencias finitas
Sección 4.3. Precisión y número de puntos en el esquema de diferencias finitas
donde:
φ0
φ1
φ= , (4.105)
..
.
φL
φ0
φ00
d= .. (4.106)
.
(N −1) N −1
φl
Ahora bien, A no depende de de manera que tampoco dependen los coeficientes de su inversa ckl ,
de manera que:
N
(k)
X
φ0 = −k ckl φl + O(N −k ) (4.109)
l=1
De manera que llegamos a la siguiente regla simple que vincula la el orden de la derivada k, el número
de puntos del stencil N y el orden de la aproximación p:
p=N −k (4.110)
En particular, si se quiere aproximar una derivada k-ésima, entonces es necesario al menos k +1 puntos
para que la aproximación sea “convergente” es decir p ≥ 1. Por ejemplo, podemos obtener la derivada
de primer orden k = 1 con precisión O(∆x)2 (p = 2), con N = 3 puntos. Por el contrario, para la
derivada segunda (k = 2) sólo podemos esperar una precisión O(∆x) (p = 1) con N = 3 puntos. En el
caso de una malla de paso constante, y con diferencias centradas se puede obtener una precisión un
orden mayor por cuestiones de simetrı́a.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 92
Capı́tulo 4. Método de diferencias finitas
Sección 4.4. Método de diferencias finitas en más de una dimensión
Lx Ly
∆x = , ∆y = (4.116)
L M
llamamos “nodo lm” al punto de coordenadas:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 93
Capı́tulo 4. Método de diferencias finitas
Sección 4.5. Aproximación en diferencias finitas para derivadas parciales
yM=Ly
yM-1
Ω ∆x
y2
y1
y0=0 x
x0=0 x1 x2 xL-1 xL
∆x
Igual que en 1D, se obtienen expresiones aproximadas para las derivadas de primer y segundo
orden:
∂φ φl+1,m − φlm
= + O(∆x) (4.120)
∂x lm ∆x
∂φ φlm − φl−1,m
= + O(∆x) (4.121)
∂x lm ∆x
∂φ φl+1,m − φl−1,m
= + O(∆x2 ) (4.122)
∂x lm 2∆x
2
∂ φ φl+1,m − 2φlm + φl−1,m
= + O(∆x2 ) (4.123)
2
∂x lm ∆x2
y expresiones similares en y.
La discretización se hace remplazando las derivadas segundas por diferencias de segundo orden
para los nodos interiores:
φl+1,m − 2φlm + φl−1,m φl,m+1 − 2φlm + φl,m−1
k + = −Qlm para l = 1, . . . , L − 1 (4.124)
∆x2 ∆y 2
m = 1, . . . , M − 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 94
Capı́tulo 4. Método de diferencias finitas
Sección 4.5. Aproximación en diferencias finitas para derivadas parciales
m+1
(l,m)
m
m-1
l-1 l l+1
siendo K̄:
4 −1 0 0 ... ... ... ...
−1 4 −1 0 . . . ...
... ...
0 −1 4 −1 . . . ... ... ...
K̄ = (4.128)
.. .. ..
. . .
−1 4 −1
0 −1 4
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 95
Capı́tulo 4. Método de diferencias finitas
Sección 4.5. Aproximación en diferencias finitas para derivadas parciales
yM
M-1 2(M-1) (M-1)(L-1)
yM-1
2 M+1
y2
M
y1 1
y0 x
x0 x1 x2 xL-1 xL
que corresponde a haber numerado las incógnitas primero según y y después según x (ver figura 4.13).
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 96
Capı́tulo 4. Método de diferencias finitas
Sección 4.6. Resolución del sistema de ecuaciones
-1
m+1
-1 4 -1
m
-1
m-1
l-1 l l+1
operador discreto por una sola de las lı́neas. Para ser más grafico aún, podemos poner los coeficientes
en los nodos asociados. A esto se le llama el stencil o estrella del operador discreto. Para el caso de
la ecuación de Poisson que estamos tratando, con ∆x = ∆y, el stencil obtenido consta de 5 puntos
involucrados y tiene como coeficientes 4 para el nodo central y -1 para todos los otros (ver figura 4.14)
−1 0 0 −1 0
4 0 0
−1 4 −1 0 0 −1 0 0
0
−1 4 −1 0 0 −1 0
0 0 −1 4 0 0 0 −1
K=
−1
(4.130)
0 0 0 4 −1 0 0
0
−1 0 0 −1 4 −1 0
0 0 −1 0 0 −1 4 −1
0 0 0 −1 0 0 −1 4
vemos que los elementos no nulos se encuentran sólo sobre la diagonal y sus cuatro codiagonales
superiores e inferiores, es decir (ver figura 4.16):
con a = 4. Toda matriz que satisface (4.131) para algún a es llamada una matriz banda y a el
ancho de banda de la matriz. Obviamente, el interés surge cuando a es mucho menor que la dimensión
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 97
Capı́tulo 4. Método de diferencias finitas
Sección 4.6. Resolución del sistema de ecuaciones
4 8
3 7
2 6
1 5
Figura 4.15: Malla de diferencias finitas para un problema con condiciones Dirichlet.
N de la matriz, que es el caso para las matrices de elementos finitos. Veremos que en ese caso se
puede ganar mucho tanto en requerimientos de memoria para factorizar la matriz, como en tiempo de
procesamiento. Podemos ver que en el caso que nos ocupa a = M − 1.
Consideremos ahora el costo computacional en términos de tiempo de CPU del método de eli-
minación de Gauss para una matriz llena. Para eliminar la primera columna, debemos hacer N − 1
operaciones de fila, cada una de las cuales tiene N elementos, lo cual requiere N (N − 1)e operaciones,
donde e es el número de operaciones necesarios para eliminar un elemento. Usualmente se necesita
una suma y una multiplicación, de manera que e = 2, sin embargo, dependiendo de la máquina y
de detalles de implementación, debe tenerse en cuenta las operaciones de traer los elementos desde
la RAM el procesador y de incrementar los contadores. Para eliminar la segunda columna, debemos
realizar N − 2 operaciones de N − 1 elementos, es decir (N − 1)(N − 2)e operaciones. El número total
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 98
Capı́tulo 4. Método de diferencias finitas
Sección 4.6. Resolución del sistema de ecuaciones
Kij=0
N
2a
Kij=0
de operaciones es de:
Si la matriz es banda, entonces en la primera columna solo hay a + 1 elementos no nulos. Por lo
tanto, solo debemos hacer a operaciones de fila. Además, en cada una de las filas sólo los 2a primeros
elementos están dentro de la banda, de manera que deben efectuarse 2ea2 operaciones para eliminar
la primera columna. Para las otras columnas, ocurre algo parecido y el costo total es:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 99
Capı́tulo 4. Método de diferencias finitas
Sección 4.6. Resolución del sistema de ecuaciones
yM
(L-1)(M-1)
yM-1
y0 x
x0 x1 x2 xL-1 xL
Con respecto al costo computacional, para la matriz llena es 400003 /3e ≈ 2.1×1013 e operaciones,
mientras que para matriz banda es de sólo 2 × 2002 × 40000e = 3.2×109 e operaciones. Considerando
e = 2 y una velocidad de procesamiento de 1Gflops (1 Gflop=109 operaciones de punto flotante por
segundo) los tiempos de procesamiento resultan ser de:
4.3×1013 flops
(tiempo de CPU matriz llena) = = 11.9 horas (4.136)
1×109 flops/sec
3.2×109 flops
(tiempo de CPU matriz banda) = = 6.4 segundos (4.137)
1×106 flops/sec
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 100
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
Ω
Ω
∆y
∆x
entonces el ancho de banda pasa a ser de a = L − 1. La regla es, entonces, numerar siempre primero
en aquella dirección en la cual hay menos nodos.
Considerar al dominio inmerso en una malla homogénea (ver figura 4.18). En este caso el
esquema para los nodos interiores es el mismo como el que consideramos hasta ahora.
Ajuste del contorno (“boundary fitting”) (ver figura 4.19): La idea es encontrar una transfor-
mación de coordenadas que lleve el dominio irregular en cuestión a un rectángulo. La ecuación
original es transformada siguiendo las reglas clásicas y finalmente se resuelven las ecuaciones
transformadas en el dominio transformado.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 101
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
η y
Ω Ω′
ξ x
Figura 4.19: La malla es generada por mapeo de una malla homogénea sobre un rectángulo al dominio
Ω.
• Los esquemas en diferencias, tanto para nodos interiores como nodos de contorno se obtienen
fácilmente por los métodos estándar (,)
• La malla suele estar más densa en ciertas partes que en otras. Esto puede ser una ventaja
o desventaja dependiendo de si el lugar donde la malla está mas densa es un punto donde
se necesita mayor precisión o no (/,?)
• Admite cierto grado de refinamiento (,)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 102
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
∆y
U
λ∆y
S V P T
µ∆x
∆x
Figura 4.20: Diagrama general de los nodos sobre la malla regular en la zona cercana al contorno del
dominio de resolución. Fŕmulas especiales en diferencias deben ser desarrolladas para los nodos como
el P
La derivada de primer orden se puede obtener, a orden ∆x2 , haciendo una combinación lineal de
φT y φV de forma de que se cancelen los términos que contienen la derivada segunda.
2 2 2 ∂φ
µ φT − φV = (µ − 1)φP + (µ + µ)∆x + O(∆x3 ) (4.143)
∂x P
de manera que:
µ2 φT − φV − (µ2 − 1)φP
∂φ
= + O(∆x2 ) (4.144)
∂x P ∆xµ(µ + 1)
La derivada segunda se puede aproximar de:
2
1/2∆x2
∂ φ ∂φ
= φT − φP − ∆x + O(∆x3 ) (4.145)
∂x2 P ∂x P
µ2 φT − φV − (µ2 − 1)φP
= φT − φP − ∆x + O(∆x3 ) (4.146)
∆xµ(µ + 1)
µφT + φV − (µ + 1)φP
= + O(∆x3 ) (4.147)
µ(µ + 1)
de donde:
∂2φ
µφT + φV − (µ + 1)φP
=2 + O(∆x) (4.148)
∂x2 P µ(µ + 1)∆x2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 103
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
Nótese que para µ = 1 (P V = P S) se recupera la fórmula centrada de segundo orden. Por el contrario,
la expresión anterior es de primer orden y, de hecho es imposible generar una aproximación de segundo
orden para la derivada segunda con 3 puntos en una malla irregular (Confiérase a la sección anterior
donde se explica la relación entre precisión, número de puntos y orden de la derivada).
Finalmente, el sistema de ecuaciones se halla planteando las ecuaciones en diferencias para los
puntos interiores sobre una malla regular, mientras que para los puntos como el P sobre el contorno,
las ecuaciones son de tipo:
µφT + φV − (µ + 1)φP λφR + φU − (λ + 1)φP QP
2 + 2 =− (4.149)
µ(µ + 1)∆x λ(λ + 1)∆y 2k
Debe recordarse que esta expresión es O(∆x) de manera que sólo puede esperarse una tal conver-
gencia.
Para condiciones de tipo Neumann, el problema es aún más complicado.
∇ · (k∇φ) = −Q (4.150)
En notación tensorial:
∂ ∂φ
k = −Q (4.151)
∂xi ∂xi
Como fue adelantado, aquı́ se trata de encontrar una transformación de coordenadas:
derivadas de las incógnitas y los datos (propiedades del material) con respecto a las coordenadas
transformadas, e.g.: (∂φ/∂ηj ), etc...
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 104
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
donde:
La ecuación transformada puede ser reescrita como una ecuación quasi-ármonica con una conductivi-
dad anisotrópica:
∂ ∂φ
k̃ij = −Q̃ (4.158)
∂ηi ∂ηj
donde:
1
k̃ij =kgij g /2 (conductividad anisotrópica equivalente) (4.159)
1
Q̃ =g /2 Q (término fuente equivalente) (4.160)
4.7.4. Ejemplo
Sea resolver la ecuación del calor en una cáscara esférica:
rint ≤
r ≤ rext
Ω = {r, θ, ϕ}tales que −π/2 ≤ θ ≤ π/2 (4.163)
−π ≤ ϕ≤π
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 105
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
Se contruye una malla homogénea en coordenadas transformadas, dada por una serie de (I + 1) ×
(J + 1) × (K + 1) puntos Pijk cuyas coordenadas (ri , θj , ϕk ) están dadas por:
donde 0 ≤ θ π tiene el fin de evitar la singularidad en los polos θ = ±π/2. La ecuación para el
nodo ijk es:
qr,i+1/2 jk − qr,i−1/2 jk qθ,i j+1/2 k − qθ,i j−1/2 k qϕ,ij k+1/2 − qϕ,ij k−1/2
+ + = ri2 cos θj Qijk (4.171)
∆r ∆θ ∆ϕ
donde:
2 φi+1 jk − φijk
qr,i+1/2 jk = ri+ 1/ cos θj
2 ∆r
φi j+1 k − φijk
qθ,i j+1/2 k = cos θj+1/2 (4.172)
∆θ
1 φij k+1 − φijk
qϕ,ij,k+1/2 =
cos θj ∆ϕ
y
∆r
ri+1/2 = ri +
2 (4.173)
∆θ
θj+1/2 = θi +
2
La ecuaciones (4.171-4.173) son conservativas y precisas de segundo orden.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 106
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
β A’
B’
γ
∆η e e’
α B
η ∆ξ y δ
A
ξ x
Figura 4.21: Transformación de un “elemento” de volumen ∆ξ, ∆η por una transformación conforme.
No sólo los ángulos interiores permanecen aproximadamente rectos, sino que la relación de aspecto
permanece inalterado.
x = eξ cos η
(4.174)
y = eξ sin η
y es muy similar al cambio de coordenadas de cartesianas a polares. Por ejemplo, un dominio rectan-
gular como el ABCDEF (ver figura 4.22) es transformado en una corona circular. Nótese que el ∆r
entre sucesivas capas de nodos va aumentando con el radio. Lo interesante es que esta variación es tal
que la relación de aspecto se mantiene constante, como fue mencionado en un marco más general.
Las transformaciones conformes pueden ser concatenadas de forma de poder obtener dominios bas-
tantes más complicados. Por ejemplo, a la transformación (4.174) se puede aplicar una transformación
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 107
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
w π r=e z
F E D
1
O r=1 E
0 A≡C B
0 D≡F
A B C
−π
−π 0 π −π 0 π
z=eiw
Figura 4.22: Un rectángulo es transformado en una corona circular usando la transformación expo-
nencial z = ew .
lineal para correr el centro del cı́rculo interior O de z(O) = 0 a z1 (O) = 1 + e, manteniendo el punto
B en z = 1 (ver figura 4.24). La transformación es:
z1 = 1 + (1 − e)(z − 1) (4.175)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 108
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
z2
0 D≡F
E
A≡C=L.E. B=T.E.
-1 0 1
Figura 4.23: Transformación de Joukowski. El cı́ rculo interior es mapeado sobre el perfil mientras
que el exterior es mapeado sobre un cuasi-cı́rculo al infinito.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 109
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
z1
1
D≡F
A≡C O B
0
E
0 1
Figura 4.24: Transformación intermedia para correr el centro del cı́rculo, manteniendo el punto z = 1
fijo.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 110
Capı́tulo 4. Método de diferencias finitas
Sección 4.7. Dominios de forma irregular
F E D
1
0
A B C
-1 0 1
1.5 D z
z=w
1
E
C
0
B
A
-1
-1 0 1
3
Figura 4.26: Dominio transformado en el plano z = w /2. .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 111
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
∂φ
= Término temporal
∂t
v · ∇φ = convectivo o de transporte
k∆φ = difusivo (4.179)
cφ = reacción
g = producción
Tanto v como c, g y k pueden ser funciones de la posición y del tiempo v = v(x, t), etc... Las
dimensiones de las costantes es
v[=]m/sec
k[=]m2 /sec
(4.180)
c[=]sec−1
g[=][φ]/sec
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 112
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
1
φ
0.8 θ=1
0.6
θ=3
0.4
0.2
θ=10
θ=100 θ=30
0
0 0.2 0.4 0.6 0.8 x/L 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 113
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
k∆φ − cφ = 0, en 0 ≤ x ≤ L
(4.184)
φ = 1, en x = 0, L
entonces la solución es
cosh(θ(x/L − 1/2)) p
φ= , θ = c/kL (4.185)
cosh(θ/2)
donde θ es el “módulo de Thiele” o “número de reacción”. La solución se observa en la figura 4.27 y
vemos que para números de Thiele altos la solución se pega al valor de equilibrio p en el interior del
dominio y empalma con la condición de contorno en una capa lı́mite de esperor k/c = L/θ. Estas
capas lı́mites representan grandes gradientes para la solución y pueden aparejar problemas (falta de
convergencia) para los métodos numéricos.
En el caso térmico φ es la temperatura, k la difusividad térmica y g una fuente de calor distribuida.
c puede provenir de una reacción endotérmica proporcional a la temperatura. Tambien en el caso 2D
el término −c(φ − φeq ) puede pensarse como un término de enfriamiento Newtoniano.
Notar que si v = 0, los restantes términos sólo contienen derivadas espaciales de orden par (0 ó 2)
y por lo tanto son invariantes ante inversión de coordenadas (x → −x). Esto dará lugar después a que
las matrices de los métodos numéricos resulten simétricas.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 114
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
∂φ ∂2φ
v − k 2 = 0, en 0 ≤ x ≤ L
∂x ∂x
(4.186)
φ = 0, en x = 0
φ = 1, en x = L
De nuevo, estos altos gradientes son una fuente de problemas para los métodos numéricos.
Si la velocidad se invierte entonces la discontinuidad se produce en x = 0 que es la nueva salida
(x = L es la entrada).
Una forma diferente de ver este fenómeno es considerar que, a medida que k → 0, el problema
se hace cada vez más advectivo (Pe → ∞). Ahora bien, para el problema advectivo puro la ecuación
es de primer orden y por lo tanto requiere de una sola condición de contorno. La teorı́a de sistemas
hiperbólicos indica que la condición de contorno debe aplicarse donde las lı́neas caracterı́sticas entran.
El valor de la variable en un contorno donde las caracterı́sticas salen resulta de la integración de la
ecuación dentro del dominio. Si se pretende imponer un valor diferente como condición de contorno
Dirichlet, la diferencia se absorbe en una capa lı́mite.
Debido a que la ecuación de advección pura propaga los valores a lo largo de las caracterı́sticas,
también se pueden producir altos gradientes en el interior del dominio. Por ejemplo consideremos
advección pura en u dominio rectangular ADD0 A0 como se muestra en la figura 4.30. El flujo entra
por el lado AA0 y sale por DD0 . La condición a la entrada es φ = φ̄ donde φ̄ contiene un salto cerca del
punto W . El transporte convectivo tiende a propagar esta discontinuidad a lo largo de la caracterı́stica
W W 0 , pero debido a la difusión la discontinuidad se va suavizando y termina en un escalón suavizado
a la salida DD0 .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 115
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
0.8
Pe=−10
0.6
0.4 Pe=0
Pe=1
0.2 Pe=30
Pe=3
Pe=10 Pe=100
0
0 0.2 0.4 0.6 0.8 1
imite
capa lí
a
víscid
ión in
soluc
φ
contorno de salida
a
ístic
cter
cara
B
contorno de entrada
capa líimite
φ
solución invíscida
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 116
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
φ A’
W B’
x
C’
A
y D’
C W’
Figura 4.30: Discontinuidad interna propagada desde la condición de en un sistema fuertemente ad-
vectivo
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 117
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
1
φ
0.8
v=1 v=10
0.6
v=3
0.4 v=20
v=40
0.2
v=100
0 v=500
−0.2
−0.4
−0.6
−0.8
−1
0 0.2 0.4 0.6 0.8 x/L 1
Figura 4.31: Solución numérica al problema de advección difusión con un esquema centrado
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 118
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
1.1
1
sign(x)
0.8 f 3(x)
0.6
0.4
0.2
0
f 1(x)
−0.2
−0.4
−0.6
−0.8
−1
−1.1
−20 −15 −10 −5 0 5 10 15 20
Notemos que, en el caso de advección pura (Pe = ∞) la solución numérica deberı́a ser
(
0 ; si j <= N
φj = (4.196)
1 ; si j = N + 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 119
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
y esto se lograrı́a si reemplazamos la derivada centrada en (4.193) por una derivada lateral a izquierda
(también llamada “contracorriente” o “upwinded”)
φj − φj−1
v = 0, j = 2, . . . , N (4.197)
∆x
Pero esto se puede reescribir como
φj+1 − φj−1 v∆x φj+1 − 2φj + φj−1
v − =0 (4.198)
2∆x 2 ∆x2
o, poniendo knum = v∆x/2,
φj+1 − φj−1 φj+1 − 2φj + φj−1
v − knum =0 (4.199)
2∆x ∆x2
donde knum es una difusión “numérica artificial” que “estabiliza” el esquema. Notar que, si v < 0,
entonces el esquema debe estar decentrado a derecha
φj+1 − φj
v (4.200)
∆x
y entonces debe ser knum = −v∆x/2, de manera que, en general
|v|∆x
knum = (4.201)
2
Ahora bien, para Pe < ∞ podemos tomar
φj+1 − φj−1 φj+1 − 2φj + φj−1
v − (k + knum ) =0 (4.202)
2∆x ∆x2
Este esquema no presenta más inestabilidades y para Pe 1 se aproxima al upwindado pero para Pe
pequeños sigue agregando difusión, incluso para Pe∆x < 1 cuando sabemos que el esquema es estable,
resultando en un esquema demasiado difusivo. Entonces surge la idea de tratar de reducir la difusión
numérica para valores de Pe∆x pequeños. Notemos que (4.201) puede reescribirse como
|v|∆x v∆x
knum = = k|Pe∆x | = kPe∆x f (Pe∆x ) = f (Pe∆x ) (4.203)
2 2
con
f (x) = sign(x) (4.204)
de manera que podrı́amos reemplazar la “función de upwinding” sign() por otra que anule la difusión
numérica para |Pe∆x | <= 1, por ejemplo podemos usar
v∆x
knum = f1 (Pe∆x ) (4.205)
2
con (
sign(x) ; si |x| > 1
f1 (x) = (4.206)
0 ; si |x| <= 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 120
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
4.8.5. El caso 2D
El primer intento por extender el esquema upwindado a 2D (o 3D) es agregar una viscosidad
numérica según cada una de las direcciones principales de la malla. Sea un dominio rectangular 0 ≤
x ≤ Lx , 0 ≤ y ≤ Ly , dividido en Nx , Ny intervalos de longitud ∆x = Lx /Nx , ∆y = Ly /Ny . Los puntos
de la malla están ubicados en xjk = ((j − 1)∆x, (k − 1)∆y) y sea φ(xjk ) ≈ φj,k . Ademas, consideremos
v = (vx , vy ) = cte,
x v∆x
knum = f (Pex )
2 (4.212)
y
knum =0
o, en forma tensorial
x
knum 0
knum = (4.213)
0 0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 121
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
y, en general, knum es un tensor anisotrópico, con ejes principales a lo largo de los ejes principales de
la malla.
Si consideramos una velocidad cruzada con la √ malla, entonces el esquema resulta ser demasiado
disipativo. Por ejemplo, consideremos v = v (1, 1)/ 2, y ∆x = ∆y = h. Entonces
x y vx ∆x
knum = knum = knum = f (Pex ) (4.214)
2
es decir que el tensor de difusión numérica es escalar
knum 0
knum = = knum I2×2 (4.215)
0 knum
donde I2×2 es el tensor identidad de 2 por 2. Ahora bien, si consideramos un sistema de coordenadas
alineado con la velocidad, es decir x0 k v e y 0 ⊥ v, entonces el tensor difusividad numérica sigue siendo
0 knum 0
knum = = knum I2×2 (4.216)
0 knum
mientras que lo deseable serı́a tener una difusividad según x0 pero no según y 0
0x
0 knum 0
knum = (4.217)
0 0
con
vhs 0x
f (Pes )
knum = (4.218)
2
donde el subı́ndice s indica valores según la lı́nea de corriente, ası́ por ejemplo
√
hs = 2h
vhs (4.219)
Pes =
2k
Antitransformando el tensor (4.217) a los ejes x − y obtenemos
vhs
kij = si sj f (Pes ) (4.220)
2
donde ŝ = v/v es el versor según la lı́nea de corriente.
Finalmente el esquema es
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 122
Capı́tulo 4. Método de diferencias finitas
Sección 4.8. La ecuación de convección-reacción-difusión
Notar la expresión en diferencias de la última fila que es una aproximación O(∆x∆y) para ∂ 2 φ/∂x∂y .
u B
O y
hs =2
A
x
Falta definir la expresión general para hs en función del ángulo que forma v con la malla. Existen
varias propuestas para esto, no siendo ninguna de ellas totalmente satisfactoria. La√más simple podrı́a
ser tomar alguna media de los parámetros de la malla h = (∆x + ∆y)/2 o h = ∆x∆y. Notar que
en realidad estas definiciones no son “según la lı́nea de corriente”. Consecuentemente, es de esperarse
que puedan ser muy sobre- o sub-difusivas en ciertos casos. Una posibilidad mejor es tomar la mayor
distancia dentro de la celda a lo largo de una dirección paralela a v como el segmento AB en la
figura 4.33. La expresión resulta ser
∆xj
hs = min (4.223)
j |sj |
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 123
Capı́tulo 4. Método de diferencias finitas
Sección 4.9. Conducción del calor con generación en un cuadrado
φ̇ + Kφ = f . (4.226)
Al mismo puede aplicarse una serie de esquemas de integración temporal, por ejemplo
φn+1 − φn
+ K φn = f n , forward Euler
∆t
φn+1 − φn
+ K φn+1 = f n+1 , backward Euler (4.227)
∆t
φn+1 − φn φn+1 + φn 1
+K = f n+ /2 , Crank Nicholson
∆t 2
Donde φ(tn ) ≈ φn , tn = n∆t. El método de forward Euler permite avanzar un paso de tiempo con
un costo en tiempo de procesamiento y memoria de almacenamiento muy bajos, ya que no necesita
resolver ningún sistema lineal. Por el contrario, en los otros dos casos sı́ se necesita resolver un sistema.
Si el problema es lineal, entonces podemos notar que la matriz del sistema K es constante (no varı́a
con el tiempo) de manera que podemos factorizarla una vez y posteriormen hacer solamente una
retrosustitución. De todas formas el tiempo y memoria necesarios para avanzar un paso de tiempo en
el backward Euler es mucho mayor que para el forward. Pero el forward tiene la limitación de que,
para pasos de tiempo grandes la solución se hace inestable y diverge. El paso de tiempo crı́tico viene
dado por
h h2
∆tcrit < min , . (4.228)
v 4k
Notar que estos criterios pueden ponerse como
v∆t k∆t
Co = < 1, Fo = 2 < 1 (4.229)
h 4h
donde Co, Fo son los números adimensionales de Courant y Fourier.
Este desarrollo satisface las condiciones de contorno y representa una base completa. Por simetrı́a
podemos descartar los términos para j, k pares, ya que involucrarı́an funciones antisimétricas con
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 124
Capı́tulo 4. Método de diferencias finitas
Sección 4.9. Conducción del calor con generación en un cuadrado
Multiplicamos miembro a miembro por sin(lπx) sin(mπy) e integrando sobre el cuadrado. Usando que
Z 1
sin(lπx) sin(jπx) dx = 1/2 δjl
0
Z 1 ( (4.233)
2/(πl) ; l impar
sin(lπx) dx =
0 0 ; l par
De manera que
1/ π 2 (j 2
4
4 + k 2 ) ajk = , (l, m impares). (4.234)
π 2 lm
Es decir que
16
ajk = , (l, m impares). (4.235)
π 4 lm(l2+ m2 )
Pero (
+1 ; p par
sin((2p + 1)πx)|x=1/2 = sin((p + 1/2)π) = sp = (4.236)
−1 ; p impar
De manera que el valor máximo de φ, que ocurre en el centro del cuadrado, es
∞
X 16sl sm
max φ(x, y) = φ(1/2, 1/2) = ≈ 0.073671 ± 10−6 (4.237)
0≤x,y≤1 π lm(l2 + m2 )
4
l,m=1, impar
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 125
Capı́tulo 5
Técnicas de discretización
Habiendo presentado en la primera parte los modelos matemáticos que rigen el movimiento de
los fluidos y estableciendo el conjunto de ecuaciones que gobiernan el caso general y algunos otros
particulares ahora estamos en condiciones de pasar a tratar algunos aspectos numéricos relacionados
con el diseño de los esquemas más comúnmente empleados en fluidodinámica computacional. Una de
las técnicas más empleadas en fluidodinámica computacionalha sido la de diferencias finitas. Esta fue
una de las primeras en aparecer y conserva vigencia a pesar de algunas restricciones propias de la
técnica. Su alta eficiencia para la resolución de problemas definidos en geometrı́as sencillas lo hace
muy atractivo y es muchas veces la mejor opción cuando existe la posibilidad de mapear el dominio
real en otro completamente regular y estructurado. Su definición se basa en aproximar los operadores
diferenciales por otros denominados operadores en diferencias que se aplican a un vector de datos que
representa la solución en un conjunto finito de puntos en el dominio. Esta forma de discretizar un
operador diferencial es una alternativa y no la única para tal fin. Desventajas claras del método como
su difı́cil implementación en problemas gobernados por geometrı́as arbitrarias hizo que en los últimos
años gran cantidad de investigación en el area de fluidodinámica computacionalse volcase al uso de
otras técnicas alternativas. La mayorı́a de las mismas se pueden presentar bajo un método general
conocido como el método de los residuos ponderados (WRM).
donde en general am forman un conjunto finito de coeficientes con M la dimensión del espacio finito
dimensional empleado y Nm las funciones analı́ticas conocidas y elegidas para representar o expandir
a la solución del problema. Estas funciones son comúnmente denominadas soluciones de prueba y su
126
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
elección hace a la diferencia entre una vasta cantidad de métodos numéricos, como veremos en breve.
La función ψ es introducida con el propósito de satisfacer las condiciones de contorno del problema.
Sea Γ el contorno del dominio Ω del problema, entonces la elección de la función ψ es tal que
ψ|Γ = φ|Γ
(5.2)
Nm |Γ = 0 ∀m
De la elección de ψ y Nm dependerá la calidad de la solución y la convergencia del método
numérico a medida que se refina la discretización, o sea que M → ∞. Este requisito denominado
completitud está sustentado fuertemente en bases matemáticas con lo que a diferencia del método
de las diferencias finitas esta clase de técnica goza con el apoyo de sólidos conceptos matemáticos
de teorı́a de operadores, análisis funcional y análisis numérico. Si bien nuestra aplicación será la de
obtener soluciones a ecuaciones a derivadas parciales un buen ejercicio para introducir los conceptos
de aproximación es el caso simple de aproximar una función conocida a priori con una expansión del
tipo (5.1) .
ψ(x = 0) = φ(x = 0) = 0
(5.3)
ψ(x = 1) = φ(x = 1) = sin(−1.8π) + 1
La rutina Ej 2 0.m permite definir una aproximación a φ usando una cantidad M de términos
a elección del alumno. En la figura 5.1 se grafica en la parte superior izquierda en linea de puntos
la solución numérica obtenida con 2 términos y a su derecha el valor absoluto del error donde como
vemos este vale cero en un conjunto de puntos equidistribuidos cuya cantidad coincide con M . Las
dos gráficas del medio corresponden a M = 3 mientras que las dos de abajo representan solamente el
error que se comete cuando M = 4 y M = 9.
La forma de construir el sistema de ecuaciones algebraicas a resolver es bastante simple. Se debe
reemplazar (5.1) para los M puntos interiores al dominio e igualarlos a los valores de la función φ en
esos nodos. Esto, para el caso de M = 2 genera lo siguiente:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 127
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
|e| = 0.07486
2 0.3
1.5 0.25
1 ψ 0.2
0.5 0.15
0 0.1
φ
φ
-0.5 0.05
-1 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
|e| = 0.05065
2 0.14
1.5 0.12
0.1
1
0.08
0.5
0.06
0
0.04
-0.5
0.02
-1 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
-5
|e| = 0.00429 x 10 |e| = 2.199e-006
0.025 2
0.02
0.015
1
0.01
0.005
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 128
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
La figura 5.2 muestra como varı́a el error en un gráfico semilogarı́tmico siendo su convergencia del
tipo espectral. En general el error en la aproximación se puede escribir como:
(|e|) = ChM
(5.5)
log(|e|) = log(C) + M log(h)
por lo que la pendiente en el gráfico nos da una idea de la convergencia en función de la discretización.
Convergencia
-1
10
-2
10
log(|E|)
-3
10
-4
10
-5
10
-6
10
-1 0
10 10
log(M)
Figura 5.2: Convergencia de la aproximación
La inherente completitud de que gozan las series de Fourier le confiere la propiedad que al incre-
mentar la dimensión del espacio de trabajo la precisión mejora.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 129
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
siendo ésta una función de la posición en el dominio Ω. En la figura chapV-1 hemos presentado
funciones de este tipo. La idea es que en lugar de pedir que esta función RΩ sea idénticamente nula
en todo el dominio le pedimos que integrada mediante alguna función de peso esta sea nula, es decir:
Z Z
Wl (φ − φ̂)dΩ = Wl RΩ dΩ = 0 l = 1, 2, . . . , M (5.8)
Ω Ω
Ka = f
aT = a1 a2 . . . aM
Z
Klm = Wl Nm dΩ 1 ≤ l, m ≤ M (5.9)
Ω
Z
fl = Wl (φ − ψ)dΩ 1≤l≤M
Ω
Una vez que la función φ se conoce la aproximación se define mediante la elección de ψ y las funciones
de peso Wl y de prueba Nm . Diferentes funciones de peso dan orı́gen a diferentes métodos, todos del
tipo de residuos ponderados.
Wl = δ(x − xl ) (5.10)
con δ(x − xl ) la función delta de Dirac. Esto equivale a anular el residuo en un conjunto finito de
puntos xl , o sea es similar a la aproximación por ajuste puntual. La matriz K y el vector derecho se
calculan como:
Klm = Nm (xl ) fl = [φ − ψ]x=xl (5.11)
(
1 xl < x < xl+1
Wl = (5.12)
0 x < xl , x > xl+1
donde en este caso se requiere que el error integrado sobre cada una de estas subregiones sea nulo.
Z xl+1 Z xl+1
Klm = Nm dx fl = (φ − ψ)dx (5.13)
xl xl
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 130
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
Método de Galerkin
Es uno de los más populares métodos y se basa en elegir
Wl = Nl (5.14)
Este método goza con la ventaja de que la matriz del sistema es simétrica Si elegimos como funciones
de prueba y de peso aquellas que conforman la base de un desarrollo en series de Fourier se puede
demostrar que el sistema queda reducido a una simple expresión para los coeficientes am ya que la
matriz del sistema esR diagonal. Esta caracterı́stica tan particular se debe a que la base elegida es
ortogonal con lo que Ω Nl Nm dΩ = 0 l 6= m.
Otros pesos
En general existen muchas posibles elecciones de la función de peso. Entre las más conocidas aún
no presentadas podemos mencionar el método de los momentos donde Wl = xl−1 donde se requiere
que no solo la integral del error sea nula sino algunos de sus momentos. Otro método del estilo de
los presentados bajo el método de los residuos ponderados es el método de los cuadrados mı́nimos.
Comúnmente definido como la minimización de un funcional formado como:
Z
I(a1 , a2 , . . . , aM ) = (φ − φ̂)2 dΩ (5.16)
Ω
∂I
la idea es hallar un extremo de dicho funcional mediante ∂al = 0, que al introducirla en (5.16)
produce que
Z
(φ − φ̂)Nl dΩ = 0 (5.17)
Ω
∂ φ̂
habiendo usado el hecho que ∂z l
= Nl a partir de (5.1) .
(5.17) equivale al método de Galerkin y es un caso particular del mismo.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 131
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
A(φ) = Lφ + p = 0 en Ω
∂ ∂φ ∂ ∂φ
Lφ = (κ ) + (κ ) (5.18)
∂x ∂x ∂y ∂y
p=Q
donde κ puede ser la conductividad térmica de un material y Q el flujo de calor aportado por una
fuente y en este caso φ serı́a la temperatura. En el caso lineal κ y Q son independientes de φ. En
general un problema de valores de contorno como éste para estar bien planteado requiere definir las
condiciones de frontera. Estas en general pueden ser escritas como otro operador diferencial, del tipo:
Mφ = φ r = −φ sobre Γφ DIRICHLET
∂φ
Mφ = −κ r = −q sobre Γq NEUMANN (5.20)
∂n
∂φ
Mφ = −κ + hφ r = −hφ sobre Γq+φ MIXTAS
∂n
Aproximando la solución mediante funciones del tipo (5.1) y eligiendo
Mψ = −r
(5.21)
MNm = 0 sobre Γ
entonces φ̂ automáticamente satisface las condiciones de borde chapV-19 para todos los valores de am .
Aplicando el operador diferencial a la función aproximante (5.1) y asumiendo que las funciones de
prueba y sus derivadas son continuas tenemos:
M
X
φ ≈ φ̂ = ψ + am Nm
m=1
M
∂φ ∂ φ̂ ∂ψ X ∂Nm
≈ = + am (5.22)
∂x ∂x ∂x ∂x
m=1
M
∂2φ ∂ 2 φ̂ ∂2ψ X ∂ 2 Nm
≈ = + am
∂x2 ∂x2 ∂x2 ∂x2
m=1
Aquı́ se requiere que hasta la segunda derivada sea continua. Cuando en las próximas secciones anali-
cemos el método de los elementos finitos veremos como estas restricciones serán debilitadas. La forma
en la cual hemos construido la aproximación garantiza el cumplimiento de las condiciones de borde
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 132
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
y entonces nos queda que φ̂ debe satisfacer solo la ecuación diferencial en el interior del dominio.
Sustituyendo φ̂ en (5.18) :
M
X
RΩ = A(φ̂) = Lφ̂ + p = Lψ + am LNm + p (5.23)
m=1
obtenemos el residuo de la misma con L asumido un operador lineal. Una vez definido el residuo
aplicamos el método de los residuos ponderados
Z Z n M
X o
Wl RΩ dΩ = Wl Lψ + am LNm + p dΩ = 0 (5.24)
Ω Ω m=1
Esta ecuación contiene M incógnitas, entonces aplicando esta misma ecuación para l = 1, 2, . . . , M se
obtiene un sistema de ecuaciones algebraicas que pueden ser escritas en forma compacta como:
Ka = f
Z
Klm = Wl LNm dΩ 1 ≤ l, m ≤ M
(5.25)
Z ZΩ
fl = − Wl pdΩ − Wl LψdΩ 1≤l≤M
Ω Ω
El procedimiento requiere calcular los coeficientes de las matriz y del miembro derecho y luego invertir
el sistema para calcular los coeficientes con los cuales se obtiene la solución aproximada al operador
diferencial de (5.18). Ya que las funciones de prueba elegidas para aproximar la solución tienen soporte
global entonces la matriz de coeficientes será llena y no tendrá estructura de banda, tı́pica de los
métodos de diferencias finitas y elementos finitos. Además, en lo anterior nada se ha dicho acerca
de la elección de las funciones de peso con lo cual uno puede aplicar todo lo anterior a las distintas
alternativas mostradas en secciones anteriores.
A modo de ejemplo calcularemos la solución al siguiente problema de valores de contorno unidi-
mensional:
d2 φ
−φ=0
dx2
(5.26)
φ(x = 0) = 0
φ(x = 1) = 1
De acuerdo a las definiciones generales presentadas antes las condiciones de borde y las funciones de
prueba elegidas son:
Mφ = φ r=0 en x = 0
Mφ = φ r = −1 en x = 1
(5.27)
ψ=x
Nm = sin(mπx)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 133
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
La elección de ψ y Nm es arbitraria, existen muchas otras posibles alternativas a estas pero aquı́ usa-
remos la base trigonométrica. Aplicando el método de los residuos ponderados y la definición de los
coeficientes de la matriz y el vector del miembro derecho tenemos:
Z 1
Klm = Wl (1 + m2 π 2 ) sin(mπx)dx
0
Z 1 (5.28)
fl = − Wl xdx
0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 134
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
∂2φ ∂2φ
+ 2 = −2Gθ (5.34)
∂x2 ∂y
donde G es el módulo elástico de torsión, θ es el ángulo que se gira la sección y φ equivale a una
función tensión que de acuerdo a la teorı́a es nula en todo el contorno. Detalles acerca de la forma
que se obtiene esta ecuación pueden verse en libros sobre teorı́a de la elasticidad, como por ejemplo
Timoschenko [Ti]. Esta ecuación tiene la estructura de una ecuación de Poisson y analogı́as con otros
experimentos gobernados por la misma ecuación pueden hacerse. Por ejemplo la anterior también
surgurı́a si queremos resolver un problema de conducción del calor con una fuente aplicada en todo
el volúmen del material asumiendo que en la dirección z la barra es infinita y la temperatura del
contorno está fija a un valor de referencia.
Supongamos que en este ejemplo Gθ = 1, con lo cual la ecuación a resolver se transforma en:
∂2φ ∂2φ
+ 2 = −2 x ∈ [−3, 3] , y ∈ [−2, 2]
∂x2 ∂y (5.35)
φ=0 x = ±3 , y = ±2
Aquı́ apelamos a la intuición. Siendo el problema simétrico respecto a los ejes x e y deberı́amos elegir
funciones de prueba que tengan esta propiedad y satisfagan las condiciones de contorno. Por ejemplo,
si tomamos ψ = 0 y usamos 3 términos una elección posible serı́a:
N1 = cos(πx/6) cos(πy/4)
N2 = cos(3πx/6) cos(πy/4) (5.36)
N3 = cos(πx/6) cos(3πy/4)
La rutina Ej 2 2 muestra el aspecto que tienen estas tres funciones donde se alcanza a apreciar la
paridad deseada.
De esta forma aplicando la aproximación (5.1), comparando (5.18) con (5.34) y usando la definición
de la matriz y el vector derecho del sistema algebraico (5.9) que permite calcular los coeficientes am
tenemos: Z 3Z 2 2
∂ Nm ∂ 2 Nm
Klm = Nl + dydx
−3 −2 ∂x2 ∂y 2
Z 3Z 2 (5.37)
fl = − 2Nl dydx
−3 −2
Como vemos, ahora las integrales a calcular son bidimensionales por lo que debe estimarse con más
detalle la forma de realizar el cálculo. Nosotros aquı́ solo deseamos mostrar la metodologı́a a usar y
en este caso estas integrales las realizaremos a mano. Cuando se pretende volcar estos conceptos en
un programa para fines de cálculo intensivo deben adoptarse métodos más eficientes y generales para
tal fin, como por ejemplo la integración numérica, tema que veremos más adelante cuando abordemos
el estudio del método de los elementos finitos . Analizando (5.37) vemos que la derivada segunda de
funciones tipo cosenos generan funciones cosenos, y considerando la ortogonalidad de estas bases las
integrales en (5.37) se simplifican notablemente.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 135
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
La rutina Ej 2 2 contiene el cálculo de este ejemplo donde se puede apreciar la forma de calcular
la matriz (diagonal) y el miembro derecho del sistema. En este caso se ha empleado una resolucion
analı́tica de las integrales. La rutina mejorada Ej 2 2b muestra como puede emplearse una rutina de
integración numérica con el fin de evitar tediosos calculos.
La figura (5.4) muestra en la parte superior la solución obtenida con la mencionada rutina en la
cual se incluye el valor de la tensión máxima que es de 3.103, cercano al teórico de 2.96 5 % de error.
Para terminar esta sección mencionamos que el método de los cuadrados mı́nimos aplicado a la
resolucion de ecuaciones a derivadas parciales no es equivalente al método de los residuos ponderados
de Galerkin. Para ver esto tomemos como antes el funcional definido como:
Z Z n M
X o2
2
I(a1 , a2 , . . . , aM ) = RΩ dΩ = Lψ + am LNm + p dΩ
Ω Ω m=1
∂I
=0 l = 1, 2, . . . , M
∂al (5.38)
Z
∂RΩ
RΩ dΩ = 0 l = 1, 2, . . . , M
Ω ∂al
∂RΩ
Wl = = LNl
∂al
o sea la función de peso que surge del método de los cuadrados mı́nimoses equivalente al operador
diferencial del problema aplicado a las funciones de prueba. En algunas circumstancias este tipo de
aproximación es deseable mientras que en algunos casos no.
que no satisface las condiciones de contorno. Entonces el residuo en el interior del dominio (RΩ ) es
suplementado por otro en el borde (RΓ ):
RΩ = A(φ̂) = Lφ̂ + p
(5.40)
RΓ = B(φ̂) = Mφ̂ + r
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 136
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
En este ejemplo usaremos para el peso en el interior del dominio el método de Galerkin Wl = Nl
mientras que para el peso en el borde Wl = −Nl |Γ , entonces:
Z 1
∂ 2 φ̂
Nl ( 2 − φ̂)dx − [Nl φ̂]x=0 − [Nl (φ̂ − 1)]x=1 = 0 (5.44)
0 ∂x
Si usamos una expasión en tres términos se llega a la siguiente matriz:
3 3/2 −2/3
K = 3/2 4/3 1/4
4/3 5/4 8/15
(5.45)
1
f = 1
1
La solución a este problema es:
φ̂ = (4 − y 2 )(a1 + a2 x2 + a3 y 2 + a4 x2 y 2 + a5 x4 )
es obvio ver que la misma satisface las condiciones de contorno en y = ±2, mientras que la condición
x = ±3 debe incluirse en el cálculo.
Tomando (5.40) y (5.42) y reemplazando la anterior expresión vemos que:
Z 3Z 2 ∂ 2 φ̂ ∂ 2 φ̂ Z 2 Z 2
Wl + 2 + 2 dydx + Wl φ̂|x=3 dy − Wl φ̂|x=−3 dy = 0 (5.47)
−3 −2 ∂x2 ∂y −2 −2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 137
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 138
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
∂φ
−κ =q (5.52)
∂n
∂
Si hechamos un vistazo a (5.40) vemos que M = ∂n y si lo que estamos resolviendo es la ecuación
∂
de conducción térmica en ese caso el operador E = ∂n = M, por lo cual Wl = −Wl satisface (5.51)
simplificando (5.50) a:
Z Z Z
CWl Dφ̂ dΩ = − Wl pdΩ − Wl rdΓ (5.53)
Ω Ω Γ
En lo anterior hemos utilizado el teorema de Green o su equivalente, la fórmula de integración por
partes. Una versión un poco más detallada del mismo aplicada a un caso sencillo expresa que:
Z Z Z
α∇βdΩ = − ∇αβdΩ + αβndΓ (5.54)
Ω Ω Γ
con α y β funciones escalares. A pesar que (5.54) incluye solo derivadas de primer órden, la técnica
es bien general como lo expresa chapV-46 e incluso se extiende al caso de funciones vectoriales. No
obstante en la mayorı́a de las aplicaciones los operadores que se trabajan son de relativo bajo órden.
con lo cual la definición del método de los residuos ponderados (chapV-38) se reduce simplemente a:
Z
Wl RΓ dΓ = 0 (5.56)
Γ
Un solo conjunto de funciones de prueba Wl , definidas solamente sobre el borde del dominio deben
definirse. Además como el problema se plantea sobre el contorno la dimensión espacial se reduce en
una unidad con lo cual problemas en 3D se transforman en bidimensionales y aquellos en 2D en
unidimensionales. Estas ventajas tiene su contracara en la dificultad de elegir funciones de prueba
que satisfagan el operador diferencial en el interior del dominio. Este es el principal limitante de esta
técnica que se muestra atractiva por todo lo que implica reducir la dimensión espacial. Una de las
aplicaciones más divulgadas de esta técnica es la resolución de problemas gobernados por la ecuación de
Laplace, por ejemplo: conducción del calor, flujo potencial, elasticidad lineal, y otros. La razón es que
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 139
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
f (z) = u + iv u, v ∈ IR (5.57)
luego,
∂2f
= f 00
∂x2
∂2f
= i2 f 00 = −f 00
∂y 2
sumando m.a.m. (5.58)
2 2 2
∇ f = ∇ u + i∇ v = 0
⇒ ∇2 u = ∇ 2 v = 0
df
con f 00 =
dz
Por ejemplo tomando la función analı́tica
f (z) = z n (5.59)
Todas las funciones u y v que surgen de (5.59) satisfacen la ecuación de Laplace siendo todas ellas
candidatas para integrar las funciones de prueba con las cuales armar una función aproximante que
satisfaga este problema en particular en el interior del contorno. El siguiente ejemplo muestra una
aplicacion del método de los elementos de contorno al problema de la torsión de una viga.
φ = {φ1 , φ2 . . . } (5.60)
que debe satisfacer ciertas ecuaciones diferenciales, una por cada componente del vector incógnita
A1 (φ) = 0
(5.61)
A2 (φ) = 0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 140
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 141
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
incógnita. Dado que en todas las secciones anteriores hemos considerado la aplicación del método de
los residuos ponderados al caso lineal se hace necesario hacer algunos comentarios respecto al caso no
lineal. El método de los residuos ponderados es completamente aplicable al caso no lineal. Suponga-
mos que queremos resolver un problema de conducción del calor donde la conductividad depende de
la misma temperatura. La ecuación de gobierno puede escribirse como:
∂ ∂φ ∂ ∂φ
(κ(φ) ) + (κ(φ) ) + Q = 0 en Ω
∂x ∂x ∂y ∂y
φ=φ en Γφ (5.67)
∂φ
κ(φ) = −q en Γq
∂n
Planteando una aproximación del tipo (5.1) , introduciendo la misma en la formulación por residuos
ponderados de (5.67) produce un sistema de ecuaciones algebraico no lineales del tipo:
K(a)a = f (5.68)
que puede resolverse iterativamente en la forma:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 142
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
1
_Gal = 0.001596
0.8
0.6
_Col = 0.004067
0.4
e
0.2
0
0
0.01
0.008
0.006
0.004
0.002
1
0.8
0.6
0.4
0.2
0
0
0.07
0.06
0.05
0.04
0.03
0.02
0.01
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 143
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
max(|tau|) = 3.103
0
2
4
0 2
0
−2
−2 −4
max(|tau|) = 3.217
φ
0.2
4 0.1
3 0
2
−0.1
1
−0.2
0
−1 −0.3
−2 −1 0 1 2
2
5
0
0
y
−2 −5
Solucion en x=3
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 144
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
5.1.8. Conclusiones
En esta primera parte de este capı́tulo que trata acerca de diferentes técnicas numéricas de dis-
cretización hemos presentado el caso del método de los residuos ponderados aplicado a la resolución
de ecuaciones a derivadas parciales utilizando para aproximar un conjunto de funciones de prueba
definidas globalmente, satisfaciendo o no las condiciones de contorno, de fácil extensión al caso de sis-
temas de ecuaciones diferenciales y al caso no lineal. No obstante, como se desprende de los ejemplos
incluidos la elección de dichas funciones no es tarea fácil, incluso no es extensible al caso de geometrı́as
arbitrarias si uno requiere que dichas funciones satisfagan las condiciones de contorno exactamente.
Además, a medida que se aumenta el grado de la aproximación el condicionamiento del sistema lineal
a resolver se vuelve crı́tico salvo que se usen funciones base con mayor grado de ortogonalidad. Esto
se logra mediante el uso de polinomios de Legendre o de Chebyshev. En realidad estos son muy fre-
cuentemente utilizados en el contexto de los métodos espectrales el cual en forma indirecta ha sido el
tema de esta sección (5.1) . Este tema darı́a para una sección aparte pero por el momento diferimos
un tratamiento más detallado para futuras versiones de estas notas. En las próximas secciones tra-
taremos de relajar algunas de las limitaciones de esta técnica, en especial aquella relacionada con el
tratamiento de dominios de forma arbitraria, presentando primero el método de los elementos finitos
y posteriormente el método de los volúmenes finitos .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 145
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
2. Demuestre que la aproximación por residuos ponderados del tipo Galerkin, tomando como fun-
ciones de prueba la base Nm = sin(mπx/Lx ) conduce a un sistema de ecuaciones con una matriz
diagonal.
3. Un ensayo experimental sobre la deflección u(x, y) de una placa cuadrada de lado unitario con
todo su contorno empotrado dio como resultado los valores que se muestran en la figura.
0.75 X0.25
0.75 X1.25 X0.25
1.75 X 0.5
X
X
∆x
1.0
0.5
X
∆y
y usando el método de los residuos ponderados estimar los coeficientes alm . Ayuda: las integrales
que aparecen del cálculo de los coeficientes pueden resolverse mediante integración numérica
usando regla del trapecio bidimensional
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 146
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
notas teóricas:
d2 φ
−φ=0
dx2
(5.71)
φ(x = 0) = 0
φ(x = 1) = 1
El mismo se ha usado con M = 2 términos en la expansión. Pruebe de modificar la cantidad de
términos y trace una curva donde se muestre la convergencia de cada uno de los métodos.
6. Resuelva el ejercicio anterior pero utilizando como conjunto de funciones de prueba la base
Nm = xm (1 − x). Construya una rutina en base a la Ej 2 1 para resolver este problema y
muestre la convergencia de la misma. Saque conclusiones respecto a los obtenido en este ejercico
y el anterior.
7. Utilizando como base la rutina Ej 2 2 realice las modificaciones necesarias para realizar un
estudio de convergencia de la aproximación. Tenga en cuenta de mantener la simetrı́a en la
elección de las funciones de prueba y utilice las propiedades de ortogonalidad para calcular la
matriz de coeficientes.
8. Utilice el método de los residuos ponderados aplicado al residuo en el dominio interior y agregado
el proveniente del contorno para resolver el problema de la torsión de la barra definido en la
teorı́a. Utilice una expansión del tipo
φ̂ = (4 − y 2 )(a1 + a2 x2 + a3 y 2 + a4 x2 y 2 + a5 x4 )
∂2φ ∂2φ
+ 2 =0
∂x2 ∂y
φ=0 y = ±1(Γφ )
(5.72)
∂φ
= cos(πy/2) x = ±1(Γq )
∂n
κ=1
φ̂ = (1 − y 2 )(a1 + a2 x2 + a3 y 2 + a4 x2 y 2 + a5 x4 )
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 147
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
φ = θ − 1/2(x2 + y 2 )
Usando el método de los residuos ponderados aplicado solo al contorno y la siguiente base de
funciones
hallar la solución aproximada φ̂ y compararla con la obtenida por el método de los residuos
ponderados aplicado al interior.
11. Sistema de ecuaciones diferenciales
El problema de conducción térmica
∂ ∂φ ∂ ∂φ
(κ ) + ( )+Q=0 en Ω
∂x ∂x ∂y ∂y (5.74)
φ(x = 0) = 0 q(x = 1) = 0
puede descomponerse en un sistema de dos ecuaciones diferenciales de primer orden del tipo:
dφ
q+κ =0
dx (5.75)
dq
−Q=0
dx
q
siendo el vector incógnita φ = . Usando la aproximación:
φ
Nm,1 = xm−1 (1 − x)
(5.76)
Nm,2 = xm
calcular la solución a este problema usando dos términos.
12. Ejemplo : Problemas no lineales
Resolver la ecuación no lineal
d dφ
(κ ) = −10x
dx dx
φ(x = 0) = 0 (5.77)
φ(x = 1) = 0
κ = 1 + 0.1φ
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 148
Capı́tulo 5. Técnicas de discretización
Sección 5.1. Método de los residuos ponderados
usando como funciones de prueba la base Nm = xm (1 − x) con dos términos mediante un método
de los residuos ponderados por colocación puntual.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 149
Capı́tulo 6
6.1. Introducción
El método de los residuos ponderados presentado en el capı́tulo anterior sirvió como una teorı́a
unificadora de una gran cantidad de métodos numéricos a la vez que en sı́ mismo puede concebirse como
una técnica numérica en particular. Esa técnica comúnmente denominada método espectral goza de
ciertas ventajas siendo su principal desventaja la de estar muy restringida a dominios con geometrı́as
muy simples como zonas rectangulares, paralelepı́pidos u otras mapeables a las anteriores. Este no
es el caso que más interesa a los ingenieros de las últimas décadas los cuales requieren herramientas
computacionales de cálculo que permitan tratar dominios arbitrarios. Si bien en el procedimiento antes
empleado uno planteaba la aproximación de forma tal de satisfacer las condiciones de contorno, hemos
visto que existe la posibilidad de elegir funciones más generales que no satisfacen las condiciones
de contorno y para las cuales un método de los residuos ponderados que incluya el residuo en el
contorno debe plantearse. Esto provocaba la aparición de integrales adicionales sobre el contorno de
difı́cil tratamiento analı́tico. En los métodos empleados en el capı́tulo anterior trabajamos en el espacio
transformado en lugar que en el espacio fı́sico y esto puede verse de inmediato si pensamos que el vector
de incógnitas a = {a1 , a2 , . . . , aM } representan las amplitudes de diferentes componentes ondulatorias
de la solución y no el valor de la incógnita del problema en cada posición de la malla. Una idea
explorada en los últimos tiempos es la de trabajar con métodos espectrales pero en el dominio fı́sico
del problema. Entonces para poder aplicar todo lo anterior es necesario hacer una transformación al
dominio de la frecuencia para luego volver al dominio fı́sico con la solución del problema. Trabajar en
el dominio fı́sico del problema permite descomponer espacialmente el problema asi como el método
espectral lo descompone en el espacio de las frecuencias. Esta descomposición del dominio en pedazos
(elementos, volúmenes, celdas, etc) de tamaño finito le confiere el nombre al método. Aquı́ esta la
gran idea en torno a estas técnicas las cuales no requieren demasiado trabajo para especificar las
funciones de prueba ya que al ser de soporte compacto aproximan bien la mayorı́a de las funciones
aún siendo de bajo orden. A su vez las integrales a calcular para obtener los coeficientes de la matriz
y del vector miembro derecho son integrales sobre elementos que tienen una forma completamente
mapeable a un cuadrado o cualquier otra figura geométrica simple (triángulos) lo cual permite su
cálculo en forma muy sencilla, tanto analı́ticamente como mediante cuadratura numérica. En cuanto
a las condiciones de contorno estas presentan un tratamiento mucho más simple debido a que las
150
Capı́tulo 6. Método de los elementos finitos
Sección 6.1. Introducción
variables sobre las cuales se especifican coinciden con las variables a calcular. Diferente era el caso
de los métodos espectrales en los cuales las condiciones de contorno se especifican sobre las variables
del problema siendo la incógnita las amplitudes de su descomposición espectral. Esto motivaba tener
que elegir adecuadamente a priori las funciones de prueba antes de realizar el cálculo. No obstante
esto, la selección de una técnica numérica no es una cosa obvia. Los métodos espectrales sirven y son
insuperables para algunas aplicaciones donde el fenómeno fı́sico requiere alto orden de precisión y la
geometrı́a no presenta dificultades, mientras que los métodos localizados son más aplicables a los casos
donde no interesa entrar en demasiado detalle de la solución pero el dominio del problema es muy
complicado.
Resumiendo, vimos que el método de los residuos ponderados consiste en aproximar la solución
mediante
M
X
φ ≈ φ̂ = ψ + am Nm (6.1)
m=1
∩e Ωe = ∅
(6.3)
∪e Ωe = Ω
De esta forma las integrales IV.38 se pueden calcular agregando la contribución a la integral
proveniente de cada elemento,
Z E Z
X
Wl RΩ dΩ = Wl RΩ dΩ
Ω e
e=1 Ω
(6.4)
Z E Z
X
Wl RΓ dΓ = Wl RΓ dΓ
Γ e=1 Γe
donde Γe es el borde del elemento que cae sobre algún borde del dominio Γ y es tal que ∪e Γe = Γ.
E denota la cantidad total de elementos en la partición. Si se usan elementos de forma simple y si
la definición de las funciones de forma permite un cálculo de manera repetitiva entonces es posible
tratar dominios con formas completamente arbitrarias con facilidad. Es de notar que el método de los
residuos ponderados al estilo del presentado en el capı́tulo anterior equivale a hacer lo mismo pero sobre
un solo elemento que coincide con el dominio Ω. La definición a trozos de la aproximación introduce
ciertas discontinuidades en la solución o en alguna de sus derivadas. Cierto grado de discontinuidad
es permisible y esto limita fuertemente la formulación a emplear. Por otro lado el hecho de que las
funciones de prueba se elijan a trozos provoca un beneficio computacional importante respecto a la
estructura de la matriz resultante. Un función a trozos en general tiene un soporte compacto, o sea esta
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 151
Capı́tulo 6. Método de los elementos finitos
Sección 6.2. Funciones de forma locales de soporte compacto
no es nula solo en una región pequeña del dominio abarcando algunos pocos elementos del mismo. Esto
produce matrices con estructura de banda lo cual tratada convenientemente puede reducir muchı́ismo
el costo computacional de obtener una solución. Esto lo veremos en más detalle más adelante al tratar
el problema de la resolución numérica del sistema de ecuaciones. Nosotros ya hemos pasado por una
situación similar al resolver el sistema de ecuaciones para calcular los coeficientes a en el capı́tulo
anterior. Allı́ no hemos tenido mayor dificultad tanto porque los sistemas eran de un tamaño chico y
además porque la matriz era completamente llena en cuyo caso recurrı́mos directamente a una especie
de eliminación gaussiana. Ya veremos que esto no es admisible en especial en problema con gran
número de incógnitas (sistemas de ecuaciones en 3D). Esta es otra de las grandes diferencias entre los
métodos locales y aquellos globales, la resolución del sistema de ecuaciones.
donde φm es el valor de la función en cada nodo m de la malla (el centro del elemento) y reemplazaa
am la amplitud de cada componente espectral en el método de los residuos ponderados presentado
en el capı́tulo anterior. Esto ya fue comentado previamente y tiene la ventaja que en este caso los
coeficientes a calcular tienen un significado fı́sico más directo con el problema. La función ψ ha sido
omitida por lo que la aproximante no coincidirá con el valor especificado en el borde aunque por
un proceso de refinamiento se puede llegar tan cerca como se quiera a satisfacer los mismos. Sobre
cualquier elemento e la aproximación global puede expresarse en términos del valor φe y de la función
de forma del elemento N e como:
φ = φ̂ = φe N e = φe sobre el elemento e (6.8)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 152
Capı́tulo 6. Método de los elementos finitos
Sección 6.2. Funciones de forma locales de soporte compacto
Otro tipo de aproximación de frecuente uso y que mejora la anterior es la que surge de emplear
funciones de forma lineales. Estas funciones de forma desde el punto de vista global asumen
1
en x = xi
0 en x = xi−1
Ni = (6.9)
0 en x = xi+1
0 en el resto de Ω
con una variación lineal entre los valores mencionados. Esto puede construirse a nivel elemental si por
cada elemento definimos dos funciones de forma, una por cada nodo del elemento. Ahora el concepto
de nodo ya no coincide como antes con el centro del mismo sino que ahora se ubican en los extremos
del intervalo que define al elemento. Estos son ahora los puntos de colocación. La figura 6.2 muestra
graficamente lo que recien se acaba de mencionar.
La aproximación global para este caso es:
Mn
X
φ ≈ φ̂ = φm Nm ∈Ω (6.10)
m=1
donde a diferencia del caso anterior la suma se extiende a Mn puntos, los nodos de esta malla. Es
de remarcar que esta aproximación satisfará automáticamente los valores en el contorno x = 0, x = Lx
sin necesidad de agregar una función ψ ya que ahora los puntos de colocación están justamente sobre
los extremos de los elementos y para el caso del primer y último elemento estos coinciden con los
extremos del dominio donde se agregan las condiciones de contorno . Sobre cualquier elemento e con
nodos i, j la aproximación toma el valor:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 153
Capı́tulo 6. Método de los elementos finitos
Sección 6.2. Funciones de forma locales de soporte compacto
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 154
Capı́tulo 6. Método de los elementos finitos
Sección 6.2. Funciones de forma locales de soporte compacto
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 155
Capı́tulo 6. Método de los elementos finitos
Sección 6.2. Funciones de forma locales de soporte compacto
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 156
Capı́tulo 6. Método de los elementos finitos
Sección 6.3. Aproximación a soluciones de ecuaciones diferenciales. Requisitos sobre la continuidad
de las funciones de forma
A su vez es posible tanto aplicar un método de los residuos ponderados de colocación como uno tipo
Galerkin. En el primer caso las integrales se pesan con distribuciones tipo delta de dirac en los nodos,
ya sea en el centro del elemento como en sus extremos. En el caso de la formulación de Galerkin las
funciones de peso coinciden con las de interpolación dando resultados distintos pero equivalentes. Al
igual que en el capı́tulo anterior el método de los residuos ponderados puede aplicarse para aproximar
una función como para resolver una ecuación diferencial. El primero es un caso particular del segundo
donde el operador L es la identidad. Los detalles del procedimiento incluido en el método de los
elementos finitos se verán en próximas secciones cuando resolvamos algunos ejemoplos en particular.
A(φ) = Lφ + p = 0 en Ω (6.12)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 157
Capı́tulo 6. Método de los elementos finitos
Sección 6.4. Formulación débil y el método de Galerkin
ejemplo una función de forma que usa polinomios de segundo órden en el interior de los elementos
no necesariamente tiene mayor continuidad que una lineal. La continuidad depende de como se pegan
las funciones elemento a elemento y no de como se interpola en su interior. Los elementos de la clase
Lagrange, los más standard en método de los elementos finitos pertenecen a la clase C 0 mientras que
aquellos del tipo Hermite son C 1 . Mientras los primeros requieren que las funciones se peguen en
forma continua entre los elementos los últimos son más estrictos y requieren que la primera derivada
también sea continua, independientemente de lo que suceda adentro. La figura 6.5 pretende ilustrar
una función de forma hermitiana para un elemento unidimensional de dos nodos.
Los requisitos de continuidad que estuvimos tratando también se aplican a las funciones de peso. En
estos casos una sutileza debe remarcarse. Cuando hablamos del método de colocación hemos empleado
la función delta de Dirac para tal fin. Esto solo es factible si se garantiza que el residuo sea finito.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 158
Capı́tulo 6. Método de los elementos finitos
Sección 6.5. Aspectos computacionales del método de los elementos finitos
6.5.1. Ejemplo 1
Este primer ejemplo consiste en resolver:
d2 φ
−φ=0 0≤x≤1
dx2
(6.18)
φ(x = 0) = 0
φ(x = 1) = 1
donde el último término representa la contribución del residuo en el borde porque la aproximación
elegida no necesariamente satisface las condiciones de borde. No obstante este término puede omitirse
si uno elije funciones de peso que se anulen sobre la parte del contorno donde se prescriben condiciones
tipo Dirichlet. Entonces si lo anulamos y si debilitamos la integral sobre el interior del dominio para
poder usar funciones con menores requisitos de continuidad llegamos a:
Z 1
dWl dφ̂ h dφ̂ i1
− + Wl φ̂ dx + Wl =0 l = 1, 2, . . . , M, M + 1 (6.21)
0 dx dx dx 0
Usando el método de Galerkin Wl = Nl surge obviamente la necesidad de emplear funciones clase
C 0.
∩e Ωe = ∅
(6.22)
∪e Ωe = Ω
En este caso simple la partición es trivial, el dominio es un segmento de recta y la partición
consiste en dividir este segmento en intervalos que satisfagan (6.22). La situación unidimensional es
muy particular y simple ya que (6.22) se puede alcanzar en forma exacta. En varias dimensiones esto
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 159
Capı́tulo 6. Método de los elementos finitos
Sección 6.5. Aspectos computacionales del método de los elementos finitos
se obtiene en general en forma aproximada. Para simplificar los pasos siguientes dividamos el dominio
Ω = [0, 1] en 3 elementos (4 nodos) como se muestra en la figura 6.6.
De esta forma quedan definidas las coordenadas de los nodos
Paso 3: Definición de las funciones de forma Este paso es una consecuencia de los dos ante-
riores. Habiendo elegido el tipo de funciones de forma necesarios para satisfacer los requerimentos de
continuidad que plantea el operador diferencial a resolver y habiendo realizado la discretización de
las variables independientes surge de su combinación la definición de las funciones de forma. Estas se
pueden escribir como:
χ
Ni = Nie =
he
he − χ (6.27)
Nj = Nje =
he
con χ = x − xi
donde se asume que xi < xj y tiene un valor unitario en el nodo cayendo linealmente hasta ser
nula en el otro nodo del mismo elemento.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 160
Capı́tulo 6. Método de los elementos finitos
Sección 6.5. Aspectos computacionales del método de los elementos finitos
Esta definición es muy ad-hoc para el caso unidimensional y no usa la idea de mapeo al elemento
master definida anteriormente. La siguiente si presenta esa idea y la incluimos porque será la que en
definitiva usaremos al momento de calcular las integrales.
Ni = Nie = 1/2(1 − ξ)
(6.28)
Nj = Nje = 1/2(1 + ξ)
Esta definición como vemos satisface la definición de la función, en el nodo i, ξ = −1 ⇒ Ni = 1 y
Nj = 0 mientras que en el nodo j, ξ = 1 ⇒ Ni = 0 y Nj = 1. Una definición equivalente a la anterior
que suele unificar la anterior y es válida para los dos nodos es la siguiente:
Nl = Nle = 1/2(1 + ξl ξ)
(
−1 ; l = 1 (6.29)
ξl =
+1 ; l = 2
donde l representa la numeración local de los nodos, a nivel del elemento. Esta tiene la ventaja que
permite operar algebraicamente con más flexilibidad.
Ensamblándola sobre todo el conjunto de elementos produce una función que tiene la forma de un
sombrero como fue mostrada en la figura 6.2.
Paso 4: Cálculo de la matriz del sistema y del miembro derecho Como hemos visto en el
primer paso (6.21) la formulación del problema contiene el cálculo de varias integrales, una por cada
nodo de la malla. Reemplazando en ella la aproximación (6.19), la definición de la función de peso que
para este ejemplo coincide con la de interpolación (Galerkin) y la definición de las funciones de forma
(6.27), entonces el cálculo de estas integrales se puede escribir como:
Z 1
dNl dNm
Klm = + Nl Nm dx 1 ≤ l, m ≤ M + 1
0 dx dx
(6.30)
h dφ̂ i1
fl = Nl 1≤l ≤M +1
dx 0
Estas integrales definidas sobre todo el dominio Ω = [0, 1] pueden descomponerse aditivamente por
una de las propiedades de la integración en varias integrales, una por cada elemento. Entonces, calcular
las integrales a nivel del elemento y luego ensamblarlas o agregarlas cada una de sus contribuciones
es equivalente a integrar sobre todo el dominio. Esto es ası́ porque las funciones que aproximan a la
solución fueron definidas elemento a elemento. Por lo tanto lo dicho equivale a:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 161
Capı́tulo 6. Método de los elementos finitos
Sección 6.5. Aspectos computacionales del método de los elementos finitos
E
X
Klm = Υlm e
l0 m0 Kl0 m0
e=1
Z he h dN e dN i
l0 m0
Kle0 m0 = + Nl0 (x)Nm0 (x) dx =
dx dx0
Z 1
h dN e dξ dN 0 dξ i dx
l0 m (6.31)
= + Nl0 (ξ)Nm0 (ξ) dξ =
−1 dξ dx dξ dx dξ
Z 1 h i he
2 1 2 1
= 1/ ξl0
2 / ξ 0
2 m e + /2 (1 + ξ l 0 ξ) 1/2 (1 + ξm 0 ξ) dξ =
−1 he h 2
Z 1 h i he
2 1 2 1
= 1/ ξl0
2 /2 ξm0 + /2 (1 + ξ l 0 ξ) 1/2 (1 + ξm 0 ξ) dξ =
−1 he he 2
1 he 2
= e ξl0 ξm0 + (2 + ξl0 ξm0 )
h 8 3
Reemplazando por sus valores
(
l0 = 1 he he
1 1
−1 e he + 3 e − he + e6
ξl0 = K = (6.32)
+1 l0 = 2 − h1e + h6 1
he + 3
h
Esta expresión contiene dos juegos de ı́ndices, unos sin primas que representan la numeración global
de la matriz y está asociado a la numeración global de la malla y otros ı́ndices primados que tienen la
numeración local dentro del elemento. Hay una relación entre ambos y viene expresada por la tabla de
conectividades definida antes (6.24). Para el el elemento é-simo, fila e del arreglo IX se satisface que
con lo cual el álgebra anterior se pudo compactar bastante. Nosotros para simplificar la notación
y expresar este cambio de numeración en la expresión (6.31) usamos Υlm l0 m0 .
Esta relación entre numeraciones es la que permite el ensamble de contribuciones elementales en
globales. Esto significa que
K = AE
e=1 K
e
E 2
X X (6.33)
Kl,m = Kle0 ,m0
e=1 l0 ,m0 =1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 162
Capı́tulo 6. Método de los elementos finitos
Sección 6.5. Aspectos computacionales del método de los elementos finitos
Kφ = f
he e
1 1 h
he + 3 −
he + 6e 0 0 − ddxφ̂
1 e e φ1 x=0 (6.34)
− he + h6 2 h1e + h3 − h1e + h6 0
φ2 0
=
he he he φ3
0 − h1e + 1
2 he + 3 1
− he + 0
6 6
he he φ4 dφ̂
0 0 − h1e + 6
1
he + 3 dx x=1
Dado que las condiciones de contorno definidas inicialmente implicaban imponer el valor de φ(x =
0) = 0 y φ(x = 1) = 1, esto implica primero reemplazar dichos valores en el vector incógnita y pasar
para el miembro derecho todos aquellos términos que dichos valores generan para luego remover las
filas y las columnas correspondientes a estas variables impuestas.
Por lo tanto el sistema (6.34) se transforman en otro más reducido:
e
e
2 h1e + h3 − h1e + h6
φ2 0
= e (6.35)
−(− h1e + h6 )
e
e
− 1e + h 2 1e + h φ3
h 6 h 3
La resolución de este sistema es inmediata obteniendo los valores del arreglo φ, solución a nuestro
problema. Con ellos es posible estimar las derivadas en los extremos reemplazando simplemente el
vector solución en (6.34) y despejando el valor de ddxφ̂ .
x=0,1
Comentarios finales Para terminar con este ejemplo haremos dos comentarios, uno acerca del
cálculo de las integrales elementales y otro acerca de la resolución del sistema algebraico. Respecto al
primero es de destacar que si bien aquı́ hemos recurrido a la integración analı́tica en general se trabaja
utilizando integración numérica con lo cual solo se necesita evaluar el integrando en determinados
puntos del dominio y sumar las contribuciones, como es el caso de integración por cuadratura numérica.
Con esto es posible extender el tratamiento a operadores de diferente tipo, incluso con coeficientes
variables dentro del elemento, etc. El tema de la integración numérica será abordado más adelante.
Respecto a la resolución del sistema se debe evaluar el método a seguir según el tipo de problema a
resolver, lineal o no lineal, estacionario o transiente, 2D o 3D y fundamentalmente teniendo en cuenta
los recursos computacionales disponibles. Este tema que hoy en dia es un area en si misma será tratada
en un próximo capı́tulo.
6.5.2. Ejemplo 2
Este ejemplo es similar al anterior salvo en el tipo de condiciones de contorno impuesta. En este
caso las mismas son: φ|x=0 = 0 y dφ
dx |x=1 = 1
La formulación del método de los residuos ponderados para este problema es la siguiente:
Z 1 d2 φ̂ h dφ̂ i h dφ̂ i
Wl − φ̂ dx + W l − 1 − Wl =0 (6.36)
0 dx2 dx x=1 dx x=1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 163
Capı́tulo 6. Método de los elementos finitos
Sección 6.5. Aspectos computacionales del método de los elementos finitos
Ya que la integral sobre el dominio no ha cambiado y los términos de contorno no influyen sobre
la matriz del sistema, esta última queda igual que en la del ejemplo anterior. Por el cambio en el tipo
de derivada solo se modifica el miembro derecho con lo que el sistema a resolver se transforma en uno
idéntico a (6.34) con un miembro derecho
T
− ddxφ̂ 0 0 1 (6.37)
x=0
Lo restante es todo similar a lo ya visto.
6.5.3. Ejemplo 3
Este ejemplo muestra como tratar un sistema de ecuaciones diferenciales e incluso para darle cierta
generalidad usaremos una formulación mixta.
El problema a resolver es el de conducción del calor con fuente (ec. de Poisson) reemplazado por
una formulación mixta del tipo:
dφ
+q =0 κ
dx (6.38)
dq
−Q=0
dx
Escribiendo para cada variable incógnita su aproximación en la forma:
Mq
X
q ≈ q̂ = qm Nm,1
m=1
(6.39)
Mφ
X
φ ≈ φ̂ = φm Nm,2
m=1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 164
Capı́tulo 6. Método de los elementos finitos
Sección 6.6. Interpolación de mayor orden en 1D
2.- usar una malla fija y una interpolación de mayor orden tipo p,
Desde el punto de vista práctico la mejor solución es la alcanzar la mayor precisión al menor costo
posible. Si bien la elección es muy dependiente del problema es cierto que en muchas aplicaciones
refinar en el polinomio de aproximación es el camino óptimo. No obstante, en ciertas aplicaciones
la definición de las funciones de interpolación está muy restringida por la formulación del problema.
Ejemplos de este caso lo tenemos en las formulaciones aplicadas a la resolución de flujo compresible e
incompresible. El tratamiento de la compresibilidad pone una fuerte restricción en la elección de los
espacios funcionales. No todas las combinaciones posibles para aproximar la velocidad y la presión son
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 165
Capı́tulo 6. Método de los elementos finitos
Sección 6.6. Interpolación de mayor orden en 1D
permisibles, existiendo un criterio a satisfacer (critero de inf-sup) para los espacios funcionales. Por
otro lado la advección dominante requiere la estabilización numérica del problema que se hace cada
vez más complicada de definir a medida crece el orden de los polinomios interpolantes. Estas son las
principales causas por las cuales en el tratamiento numérico de modelos fı́sicos más complicados se
prefiere el uso de funciones de interpolación de bajo orden y se refina sobre el tamaño de la malla. De
todos modos nosotros aquı́ presentaremos algunos detalles acerca de la interpolación de mayor orden
restringida al caso unidimensional, aunque la extensión a muchas dimensiones es tan directa como la
del caso lineal. Dado un grado polinomial, existen muchas formas para generar funciones de forma que
tengan ese orden de aproximación. La más standard es la de utilizar una base de Lagrange en la cual
cada grado polinomial diferente se alcanza con un juego de bases diferentes. No obstante existen otros
métodos que son aditivos en el sentido que dada una función de forma de grado n se puede generar
aquella de orden n + 1 usando la de grado n y agregandole alguna función adicional. Este método es
denominado formas jerárquicas de aproximación y son computacionalmente muy eficientes aunque su
uso no ha sido muy difundido aún.
dφ (∆x)2 d2 φ
|O +
φ(∆x) = φ|O + ∆x |O + . . . (6.45)
dx 2 dx2
donde la serie de Taylor se ha tomado alrededor del punto O. Entonces al usar funciones de prueba
polinomiales de grado p estamos aproximando exactamente los primeros p + 1 término en (6.45) y el
error de la aproximación se vuelve O(hp+1 . Es de notar que la aproximación a la primera derivada
será O(hp ) y aquella correspondiente a la derivada d-ésima será O(hp+1−d )
Volviendo a la formulación general del método de los residuos ponderados o a aquella del método
de los elementos finitos vimos que estaban involucrados dos operadores diferenciales L y M. Estos
operadores contienen derivadas y supongamos que la máxima derivada sea d, es claro que el menor
orden para la aproximación de la solución debe ser tal que la representación del operador diferencial
de la solución sea O(h) por razones de completitud. Entonces se requiere que:
p+1−d≥1⇒p−d≥0 (6.46)
Este requisito de completitud pone de manifiesto la utilidad de la formulación débil presentada
anteriormente. Habı́mos visto oportunamente que al debilitar la formulación disminuı́an los requisitos
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 166
Capı́tulo 6. Método de los elementos finitos
Sección 6.6. Interpolación de mayor orden en 1D
Nle = α0 + α1 ξ + α2 ξ 2 + · · · + αp ξ p (6.49)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 167
Capı́tulo 6. Método de los elementos finitos
Sección 6.7. Problemas con advección dominante - Método de Petrov-Galerkin
dφ d2 φ
=κ 2 u (6.53)
dx dx
Entonces adimensionalizando la ecuación anterior surge el número de Peclet,
|u|L
Pe = (6.54)
κ
relación entre la convección y la difusión, con L una dimensión caracterı́stica del problema. Si
barremos el valor de Peclet desde 0 → ∞ vemos que la ecuación cambia de tipo, de ser una elı́ptica
pasa a ser hiperbólica y este cambio depende sobre la competencia entre los términos convectivos y
los difusivos. Al resolver el problema por diferencias finitas centradas aparecen oscilaciones cuando el
Peclet de la grilla supera un valor próximo a la unidad. La técnica del upwindind surgió en el área
de las diferencias finitas como intento de evitar las mencionadas oscilaciones y fue planteada sobre
la base de aplicar una aproximación en diferencias decentrada a la derivada primera. El decentraje
debı́a hacerse aguas arriba considerando la orientación del flujo y esto pudo explicarse desde muchos
puntos de vista. Uno de los más importantes es aquel ligado al concepto de error de truncamiento
explicándose la aparición de las oscilaciones del hecho que al truncar la aproximación centrada esta
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 168
Capı́tulo 6. Método de los elementos finitos
Sección 6.7. Problemas con advección dominante - Método de Petrov-Galerkin
introduce una especie de difusión numérica negativa que compite con la fı́sica. Existe un cierto valor
del número de Peclet para el cual la difusión numérica supera a la fı́sica y de acuerdo a argumentos
termodinámicos se viola el segundo principio y el problema pasa a estar mal planteado. Para ver
mejor esto recurrimos nuevamente a la ecuación de advección-difusión en 1D y la discretizamos por
diferencias finitas centradas, lo cual es completamente equivalente a haberlo hecho por método de los
elementos finitos . El esquema resultante es:
φi = ξ i (6.56)
que reemplazada en la ecuación produce la siguiente ecuación algebraica de segundo grado:
ξ 2 (P e − 1) + 2ξ − (P e + 1) = 0 (6.57)
la cual produce las siguientes raı́ces:
(
1
ξ1,2 = 1+P e
(6.58)
1−P e
Vemos que si P e = 1 la ecuación degenera en una de primer grado con la solución ξ = 1 o sea φ =
constante. Si P e < 1 las dos raı́ces son positivas lo cual genera soluciones positivas, combinaciones de
ei
la solución constante y otra del tipo φ = 1+P
1−P e . El problema surge cuando P e > 1 ya que en este caso
1+P e i
una de las raı́ces es negativa y genera soluciones del tipo φ = (−1)i |1−P e| . Esta solución contiene una
oscilación numérica que puede arreglarse refinando el elemento siempre que exista algo de difusión
en el problema, o sea que el P e 6= ∞. Extrapolando al caso de mecánica de fluidos esta situación se
presenta en el caso de flujo viscoso (Navier-Stokes) cuando el Reynolds del elemento supera un valor
crı́tico, del órden de la unidad. Una situación extrema ocurre en el caso de los modelos invı́scidos.
Allı́ la difusión fı́sica es nula y por más que refinemos el P e → ∞, generando las raices ξ = ±1 , lo
cual implica una oscilación irremediable. Usando diferencias finitas descentradas aguas arriba equivale
a que la raiz negativa introducida por el término cuadrático, o sea el nodo aguas abajo, sea removida.
Es por ello que es usual aproximar la primera derivada con una diferencia hacia atrás, de forma de
que ahora el esquema es:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 169
Capı́tulo 6. Método de los elementos finitos
Sección 6.7. Problemas con advección dominante - Método de Petrov-Galerkin
El upwind puede verse como el agregado de viscosidad artificial o difusión artificial en pos de
contrarestar la difusión negativa que introduce la discretización. Controlar esta difusión agregada
artificialmente es importante ya que si nos excedemos la solución es sobredifusiva y estamos resolviendo
un problema con mayor difusión que la real, y por el lado contrario si no introducimos la suficiente
aparecerán oscilaciones no fı́sicas. Para ver esto se puede partir de la ecuación discreta centrada (6.55)
y restarle la recién obtenida (6.59), lo cual pone en evidencia el término introducido artificialmente:
dNl
Wl = Nl + τ u (6.63)
dx
donde el primer término reproduce el método de Galerkin mientras que el segundo es una pertur-
bación cuyo efecto en la matriz es tal que al ser aplicado a un término proporcional a dφ
dx produce un
término similar a uno difusivo. El parámetro τ debe ajustarse en función de la cantidad de pertur-
bación (difusión artificial) a agregar. De todos modos existen muchos trabajos que dan cuenta de la
buena confiabilidad de la definición:
1
τ = ψ(P e) dξ
(6.64)
|| dx u||
dξ
donde || dx u|| equivale al vector velocidad transformado al elemento máster y la función ψ(P e) es
la llamada función mágica definida más arriba.
Un aspecto de importancia es la continuidad de las funciones de peso. Según la definición Nl ∈ C 0 ,
luego Wl ∈ C −1 con lo cual se plantea una dificultad matemática que ha sido muy bien estudiada. Sin
entrar en detalles las conclusiones han sido que el problema se suscita en los bordes entre elementos y
que la formulación variacional que surge del planteamiento de la forma débil del método de los residuos
ponderados arroja la satisfacción de las ecuaciones en el interior de los elementos y de los flujos en los
bordes.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 170
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
Su extensión al caso multidimensional dió orı́gen a los métodos denominados Streamline diffusion
ya que introducen la difusión según las lı́neas de corriente. Estos métodos han mostrado ser muy
robustos y eficientes a la hora de resolver problemas de flujo de fluidos no obstante, a diferencia del
caso unidimensional, ahora no se cuenta con una solución que permita controlar la cantidad de difusión
a agregar y esta debe ser introducida acorde a criterios ad-hoc.
La extensión al caso de sistemas de ecuaciones, tal como ocurre con los modelos de Navier-Stokes
y Euler requieren un estudio un poco más detallado del tema y será abordado en futuros capı́tulos.
Nie (x, y) = 1 en x = xi , y = yi
Nie (x, y) =o en x = xj , xk , y = yj , yk
(6.65)
con Ni (x, y) continua sobre ∪e∈Sie Γe
con Ni (x, y) 6= 0 ∪e∈Sie Ωe
con Sie
el conjunto de elementos que contienen al nodo i.
El mapeo de cualquier triángulo al elemento master puede verse en la figura 6.8, donde los nodos
i, j, k se posicionan en 1, 2, 3 respectivamente.
Las funciones de interpolación lineales que satisfacen lo anterior son:
N1 (ξ, η) = 1 − ξ − η
N2 (ξ, η) = ξ (6.66)
N3 (ξ, η) = η
Como se puede apreciar geométricamente con 3 puntos definimos exactamente un plano y por lo
tanto el gradiente de cualquier función φ definida como combinación lineal de sus tres valores nodales
será constante dentro del elemento. Calcularemos primero el mapeo.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 171
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
3
X
x(ξ, η) = xk Nk (ξ, η)
k=1
= x1 (1 − ξ − η) + x2 ξ + x3 η
= x1 + ξ(x2 − x1 ) + η(x3 − x1 )
(6.67)
3
X
y(ξ, η) = yk Nk (ξ, η)
k=1
= y1 (1 − ξ − η) + y2 ξ + y3 η
= y1 + ξ(y2 − y1 ) + η(y3 − y1 )
¯ η̄) podemos calcular inmediatamente su correspondiente (x̄, ȳ)
De lo cual surge que dado un par (ξ,
y viceversa. Retomando lo dicho antes con la aproximación de la solución tenemos
3
X 3
X
ue (x, y) = uk Nke (x(ξ, η), y(ξ, η)) = uk Nke (ξ, η) (6.68)
k=1 k=1
Entonces
ue = u1 + ξ(u2 − u1 ) + η(u3 − u1 )
∂ue ∂ue ∂ue ∂ξ ∂ue ∂η ∂ue ∂ξ ∂ue ∂η (6.69)
∇ue = , = + , +
∂x ∂y ∂ξ ∂x ∂η ∂x ∂ξ ∂y ∂η ∂y
donde
∂φ
= φ2 − φ1 = constante
∂ξ
(6.70)
∂φ
= φ3 − φ1 = constante
∂η
con φ = x, y, u
Lo mismo vale para los elementos del jacobiano y su inversa
! !
∂ξ ∂η ∂x ∂y
J= ∂x
∂ξ
∂x
∂η J −1 = ∂ξ
∂x
∂ξ
∂y (6.71)
∂y ∂y ∂η ∂η
1 (y3 − y1 ) −(y2 − y1 ) −1 (x2 − x1 ) (y2 − y1 )
J= J = (6.72)
|J| −(x3 − x1 ) (x2 − x1 ) (x3 − x1 ) (y3 − y1 )
con el determinante del jacobiano expresado como
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 172
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
introduciremos la integración numérica como medio para evaluar las mismas. Una vez que las contri-
buciones elementales han sido computadas se deben agregar a la matriz global. Este procedimiento
puede visualizarse en la figura 6.9 donde se muestra un ejemplo 2D discretizado mediante elementos
triangulares lineales. La forma en que se hace la numeración de la malla influye notablemente en la
posición de los elementos no nulos de la malla y esto influye directamente sobre la definición del ancho
de banda de la matriz, un parámetro que afecta el costo de resolver el sistema en forma drástica.
Visualizando el elemento e = 1 si por un momento alteramos la numeración intercambiando aquella
del nodo 4 con la del nodo 17, entonces la matriz será llena y el ancho de banda coincide con la
dimensión completa de la matriz.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 173
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 174
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
I=1 2 3 4
1 2 3 4
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 175
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 176
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
k η
y
(0,1)
3
i x ξ
1 2
(0,0) (1,0)
Figura 6.8: Mapeo para elementos triangulares
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 177
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 178
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
Las funciones de interpolación se calculan como el producto cartesiano de las funciones de prueba
unidimensionales (funciones bilineales) y pueden escribirse como:
1
Ni = (1 + ξi ξ)(1 + ηi η)
n o 4
ξi = − 1 ; +1 ; +1 ; −1 (6.74)
n o
ηi = − 1 ; −1 ; +1 ; +1
Esto origina un polinomio incompleto de segundo grado. De la misma forma que en el caso trian-
gular el mapeo se logra interpolando cada coordenada según:
4
X
x(ξ, η) = xk Nk (ξ, η) =
k=1
1n o
= x1 (1 − ξ)(1 − η) + x2 (1 + ξ)(1 − η) + x3 (1 + ξ)(1 + η) + x4 (1 − ξ)(1 + η) =
4 (6.75)
x1 + x2 + x3 + x4 h (x + x ) − (x + x ) i h (x + x ) − (x + x ) i
2 3 1 4 3 4 1 2
= +ξ +η +
4 4 4
h (x + x ) − (x + x ) i
1 3 2 4
+ ξη
4
¯ η̄) podemos calcular inmediatamente su correspondiente (x̄, ȳ) pero no podemos
Entonces dado (ξ,
plantear la correspondencia inversa ya que el sistema es incompletamente cuadrático.
En estos casos ni los gradientes ni los jacobianos son constantes por elemento sino que dependen
de la posición. Esto agrega complicación algebraica al cálculo de las integrales y es aquı́ donde más
rédito se obtiene de emplear integración numérica.
y η
l
k (1,1)
4 3
i ξ
j
x 1 2
(−1,−1)
Figura 6.10: Mapeo elemento cuadrangular
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 179
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
x = r cos(θ)
y = r sin(θ)
(6.76)
ξ=r
η=θ
En la figura ?? vemos detalles bien conocidos de esta transformación. Supongamos que un mapeo
en general se describa mediante funciones
x = f1 (ξ, η)
y = f2 (ξ, η)
z = f3 (ξ, η) ()
xk = fk (ξj ) j, k = 1, . . . , ndm
con ndm el número de dimensiones del dominio o número de variables independientes espaciales.
Una vez que se conocen las coordenadas en el dominio fı́sico de cada uno de los elementos de la malla
(xe , y e ) ∈ Ωe ⊂ Ω y elegido el tipo de mapeo a realizar fk (ξj ) se pueden escribir las funciones de forma y
sus derivadas sobre el elemento de referencia master (Ω̂) de tal forma de poder realizar las integraciones
propias del método sobre este dominio sencillo apelando a técnicas standard de cálculo numérico como
la integración por cuadratura gaussiana u otras. Los requisitos de continuidad de las funciones en
los contornos entre elementos se garantiza eligiendo apropiadamente las funciones de forma. En las
aplicaciones standard del método de los elementos finitos se usan funciones de forma del tipo C 0 , o sea
continuas con todas sus derivadas discontinuas. No obstante eligiendo apropiadamente estas funciones
se podrı́an obtener aproximaciones con mayor suavidad. Cuando presentamos las diferentes técnicas
numéricas aplicadas a los modelos vimos que existe la necesidad de derivar las funciones de forma
respecto a las variables independientes, tanto las coordenadas espaciales en el dominio global como el
tiempo. Con respecto a las derivadas especiales es necesario aplicar la regla de la cadena:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 180
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
Mapeo paramétrico
Una forma útil de definir un mapeo de entre muchas posibles alternativas es utilizando la misma
clase de funciones utilizadas para interpolar la o las variables dependientes de un problema φ. En
este caso cada una de las coordenadas espaciales pueden tratarse como si fueran una función más a
aproximar:
M
X
x= Nle (ξ, η)xl
l=1
(6.80)
M
X
y= Nle (ξ, η)yl
l=1
Si elegimos las mismas funciones de forma para las variables dependientes e independientes, en-
tonces la aproximación se denomina isoparamétrica. Ya que las funciones de forma son continuas el
mapeo paramétrico será continuo. De todas formas es posible aproximar a distinto orden las variables
independientes y las dependientes aunque no es lo usual. Con el mapeo se simplifica mucho el análisis
y la programación de los esquemas numéricos.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 181
Capı́tulo 6. Método de los elementos finitos
Sección 6.8. El caso multidimensional
donde ξpg , wpg son las coordenadas de cada punto de muestreo y su correspondiente peso. La forma
en que se deducen las coordenadas y los pesos en los puntos de muestreo diferencian a un método
de otro. Sin entrar en detalles técnicos acerca de este tema el cual es ampliamente tratado en cursos
regulares de cálculo numérico podemos decir que en el contexto de método de los elementos finitos es
muy usual el método de la cuadratura gaussiana. Este procedimiento define la posición de los puntos
de muestreo en el interior del dominio de forma de aproximar exactamente la integral de una función
aproximada por un polinomio de grado ≤ p. Sea la función
Fp (ξ) = α0 + α1 ξ + · · · + αp ξ p + (6.82)
cuya integral evaluada numéricamente mediante (6.81) nos da:
Z 1 N
X pg
I= Fp (ξ)dξ = Fp (ξpg )wpg =
−1 pg
(6.83)
w0 (α0 + α1 ξ0 + · · · + αp ξ0p ) + w1 (α0 + α1 ξ1 + · · · + αp ξ1p ) + · · · +
p
wN pg (α0 + α1 ξN pg + · · · + αp ξN pg )
p + 1 = 2(N pg + 1) (6.85)
y ya que N pg es un entero p será siempre un número impar.
Comparando este método de cuadratura de Gauss-Legendre con el método de Newton-Cotes ve-
mos que este permite con 3 evaluaciones aproximar un integrando de 5to orden mientras que el de
Newton-Cotes con 3 evaluaciones solo permite aproximar exactamente una función de tercer orden.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 182
Capı́tulo 6. Método de los elementos finitos
Sección 6.9. Problemas dependientes del tiempo
n+1 p
1 1
2 3
3 5
4 4
Las coordenadas de los puntos de muestreo y sus pesos correspondientes tanto para el caso 1D como
para el multidimensional pueden consultarse en la abundante bibliografı́a del tema.
da
Ka + C + ··· = f (6.87)
dy
con el orden de la ecuación diferencial ordinaria determinado por el máximo orden de derivación
respecto a y. Este tipo de solución prueba ser útil cuando el dominio es prismático en y, o sea no
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 183
Capı́tulo 6. Método de los elementos finitos
Sección 6.9. Problemas dependientes del tiempo
depende de y.
En general podemos decir que si el problema fı́sico viene gobernado por la ecuación diferencial
∂φ ∂2φ
−β 2 =0
Lφ + p − α en Ω (6.88)
∂t ∂t
entonces si la aproximación planteada es del tipo
M
X
φ ≈ φ̂ = ψ + am (t)Nm (x, y, z) (6.89)
m=1
entonces el sistemas de ecuaciones diferenciales ordinarias resultante se puede escribir como:
d2 a da
M 2
+C + Ka = f
dt dt
Z
Mlm = βWl Nm dΩ
Ω
Z (6.90)
Clm = αWl Nm dΩ
ZΩ
Klm = − Wl LNm dΩ
Ω
∂2ψ
Z
∂ψ
fl = p + Lψ − α − β 2 Wl dΩ
Ω ∂t ∂t
Adecuadas condiciones de borde sobre Γ para todo instante t junto con valores iniciales para
a(t = 0) y para da
dt (t = 0) si β 6= 0 deben suministrarse para un buen planteamiento del problema.
Ejemplos tı́picos de las ecuaciones anteriores son:
∂2φ 1 ∂2φ
− =0 propagación de ondas
∂x2 c2 ∂t2
(6.91)
∂2φ ∂2φ ∂2φ
κ( 2 + 2 ) + Q − ρc 2 = 0 ecuación del calor lineal
∂x ∂y ∂t
Posponemos para capı́tulos posteriores la resolución de algunos problemas no estacionarios.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 184
Capı́tulo 6. Método de los elementos finitos
Sección 6.9. Problemas dependientes del tiempo
adelante. Por el momento solo ejemplificamos como se podrı́a efectuar esta discretización para el caso
de una ecuación como la (6.90).
d2 a da
M 2
+C + Ka = f
dt dt
(6.92)
an+1 − 2an + an−1 an+1 − an−1
M + C + Kan = f
(∆t)2 ∆t
donde vemos que existen tres niveles de tiempo tn−1 = tn − ∆t = (n − 1)∆t, tn = n∆t y tn+1 =
tn + ∆t = (n + 1)∆t y además hemos empleado operadores en diferencias centradas. La forma de llevar
a cabo el cálculo da oria gen a dos clases de métodos, los explı́citos y los implı́citos. En los primeros
no se requiere invertir ninguna matriz y el valor de la solución en un instante de tiempo se puede
despejar directamente a partir de aquellos valores de la solución evaluada en tiempos anteriores. En
el caso implı́cito esto no es factible y se requiere invertir un sistema. Este tema será profundizado más
adelante.
La segunda alternativa que exploraremos con más detalle a continuación es la de usar funciones
de prueba dependientes del tiempo. El hecho de que no sea esta una forma general de trabajo se debe
a que:
1.- problemas con tiempos caracterı́sticos largos involucran un excesivo volúmen de cálculo,
2.- las matrices resultan en general no simétricas aun usando el método de Galerkin,
3.- la simple topologı́a que existe en el dominio temporal ofrece poco atractivo para usar discreti-
zación irregulares en el tiempo.
En los últimos tiempos ha habido un gran interés por el uso de formulaciones espacio-temporales
para tratar problemas con dominios variables en el tiempo.
Por su mayor grado de aplicación en el area de la mecánica de fluidos en la sección que sigue
trataremos exclusivamente el caso de ecuaciones de primer orden.
da
+ Ka = f C (6.93)
dt
Las condiciones iniciales implican conocer el valor de φ(t = 0) lo cual en forma discreta equivale
a conocer a(t = 0) = a0 . De acuerdo a (6.89) vemos que el problema espacial y el temporal están
desacoplados por lo que una posterior aproximación, ahora exclusivamente en el tiempo, para la
incógnita a se puede plantear. Entonces,
∞
X
a ≈ â = am N m (6.94)
m=1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 185
Capı́tulo 6. Método de los elementos finitos
Sección 6.9. Problemas dependientes del tiempo
Nnn = 1 − T n
Nn+1 =T
n n
dNn+1
dNn −1 1
= = (6.95)
dt ∆tn dt ∆tn
t − tn
T = ∆tn = tn+1 − tn
∆tn
Aplicando el método de los residuos ponderados a (6.93) llegamos a:
Z ∞
dâ
C + Kâ − f (t) Wn dt = 0 n = 0, 1, 2, . . . (6.96)
0 dt
Si las funciones de peso elegidas satisfacen que
Z 1 Z 1 Z 1 Z 1
C C
{ Wn dT + K T Wn dT }an+1 +{− Wn dT + K (1 − T )Wn dT }an =
∆tn 0 0 ∆tn 0 0
Z 1 (6.101)
= f (tn + ∆tn T )Wn dT
0
(6.101) es válida para cada elemento n de la discretización temporal o sea que permite para cada
n obtener los valores de la incógnita a1 , a2 , a3 . . . comenzando con el valor a0 . Este tipo de esquema
de marcha temporal se lo denomina de dos niveles ya que cada cálculo involucra solo dos instantes de
tiempo, el actual y el anterior. Existen extensiones a esto que involucran varios niveles de tiempo pero
no serán abordados por el momento.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 186
Capı́tulo 6. Método de los elementos finitos
Sección 6.9. Problemas dependientes del tiempo
Para generalizar el tratamiento la expresión (6.101) puede reescribirse para ser usada con cualuquier
función de peso de la siguiente forma:
C C
n
+ γn K an+1 + − + (1 − γn )K an = f
∆tn ∆tn
Z 1 Z 1
γn = Wn T dT / Wn dT (6.102)
0 0
Z 1 Z 1
n
f = f (tn + ∆tn T )Wn dT / Wn dT
0 0
y ya que la función f en general varı́an suavemente en el tiempo es algunas veces conveniente
interpolarla mediante:
γn = θ (6.106)
la cual reemplazada en (6.105) nos da el bien conocido método theta que se escribe como:
C C
+ θK an+1 + − + (1 − θ)K an = (1 − θ)f n + θf n+1 (6.107)
∆tn ∆tn
Este método sirve como un marco teórico general ya que de él se derivan muchos de los esquemas
frecuentemente usado en la práctica. Algunos de los ejemplos más citados son:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 187
Capı́tulo 6. Método de los elementos finitos
Sección 6.10. El método de los elementos finitos aplicado a las leyes de conservación
∂U
+∇·F=Q (6.110)
∂t
siendo F el vector de flujos. Supongamos por un momento que solo incluimos los flujos convectivos
dentro de éste y que aplicamos las siguientes condiciones iniciales sobre el dominio Ω y sobre el contorno
Γ = Γ 0 ∪ Γ1 :
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 188
Capı́tulo 6. Método de los elementos finitos
Sección 6.10. El método de los elementos finitos aplicado a las leyes de conservación
Z Z Z Z
∂U
W dΩ − (F · ∇)WdΩ + WF · dΓ = WQ (6.113)
Ω ∂t Ω Γ Ω
Interpolando la solución
X
U= Um (t)Nm (x) (6.114)
m
y debido a que el flujo es generalmente una función no lineal de U es preferible una representación
separada para los flujos
X
F= Fm Nm (x) (6.115)
m
Usando el método de Galerkin (W = N), la ecuación para el nodo j es:
X dUm Z X Z Z Z
Nm Nj dΩ − Fm Nm · ∇Nj dΩ + gNj dΓ = Nj Q (6.116)
m
dt Ωj m Ωj Γ1 Ωj
donde Ωj es el subdominio formado por todos los elementos que contienen al nodo j y la suma
sobre m cubre todos los nodos de Ωj .
La matriz de masa se define como:
Z
Mmj = Nm Nj dΩ (6.117)
Ωj
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 189
Capı́tulo 6. Método de los elementos finitos
Sección 6.11. TP.VI- Trabajo Práctico
1. Dada una malla unidimensional formada por 5 nodos equiespaciados y numerados consecutiva-
mente de izquierda a derecha, con el extremo izquierdo en z = 0 y el derecho en x = 1. Calcular
la matriz
K = {Kij }
Z 1
Kij = Ni Nj dx (6.121)
0
i, j = 1, . . . , 5
usando
x i
0.00 1
0.25 5
(6.122)
0.50 3
0.75 4
1.00 2
2. Evalúe que tipo de funciones de forma utilizar para resolver las ecuaciones diferenciales que
abajo se muestran si se adopta el método de Galerkin. Fundamentar la selección hecha.
d2 φ
(a) 2
+φ=0
dx
2
(
EI ddxφ2 + M = 0
(b) d2 M
(6.123)
dx2
+ kφ = −w
d4 φ
(c) EI − kφ = −w
dx4
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 190
Capı́tulo 6. Método de los elementos finitos
Sección 6.11. TP.VI- Trabajo Práctico
2
3. Resolver la ecuacón ddxφ2 + φ = 0 con φ(x = 0) = 1 y φ(x = 1) = 0 usando el método de Galerkin
con 4 elementos lineales de igual tamaño. Tome la ecuación del nodo central y evalúe el orden
de precisión del esquema. Ayuda: Expandir usando series de Taylor la ecuación del nodo
4. (Uso del FemCode en 1D)
Usando el programa FemCode resolver la ecuación
d2 φ
−φ=1 0≤x≤1
dx2
(6.124)
φ(x = 0) = 0
φ(x = 1) = 1
usando 4,8,16,32 y 64 elementos lineales.
d dφ
(κ ) + φ = 1
dx dx
φ(x = 0) = 0 (6.125)
φ(x = 1) = 1
utilizando elementos cuadráticos y cúbicos. Hacer un estudio del orden de convergencia de cada
uno de ellos.
6. (Mapeo)
Un elemento de 4 nodos se muestra en la figura siguiente. Construya un mapeo isoparamétrico
entre este y un elemento bilineal cuadrado sobre −1 ≤ ξ, η ≤ 1.
7. (Mapeo)
Encuentre el mapeo isoparamétrico a un elemento serendı́pido de 8 nodos del elemento de la
figura, con el borde curvo descripto por la función y 4 = 5x.
8. (Integración numérica)
En el cómputo por elementos finitos es muy usual evaluar integrales del tipo
R ∂Ni ∂Nj
Ωe ∂xk ∂xl dxk dxl
R
y Ωe Ni Nj dxk dxl .
Determine el número de puntos de Gauss que se necesitan tomar si requerimos que ambas
integrales se evalúen exactamente usando elementos :
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 191
Capı́tulo 6. Método de los elementos finitos
Sección 6.11. TP.VI- Trabajo Práctico
(a) triangulares
(b) cuadrangulares de 4 nodos
(c) cuadrangulares de 9 nodos
10. (Upwind)
Resolver la ecuación de transporte
v · ∇T = ∇ · (κ∇T )
T (x = 0, y) = 0
T (x = 1, y) = 1 (6.126)
κ = 10−3
(x, y) ∈ [0, 1] × [0, 1]
usando el programa FemCode para una malla bidimensional compuesta por 10 × 10 elementos
tomando:
11. Repita el ejemplo anterior usando una velocidad no alineada con la malla. Tome lo mismo que
antes con una velocidad orientada a 30 grados respecto al eje horizontal.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 192
Capı́tulo 6. Método de los elementos finitos
Sección 6.11. TP.VI- Trabajo Práctico
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 193
Capı́tulo 6. Método de los elementos finitos
Sección 6.11. TP.VI- Trabajo Práctico
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 194
Capı́tulo 7
7.1. Introducción
Continuando con la presentación de los diferentes métodos que surgen a partir del método de los
residuos ponderados ahora trataremos el caso del método de los volúmenes finitos . A modo de resúmen
de lo visto antes la aplicación del método de los residuos ponderados a las ecuaciones de conservación
fue escrita como:
Z Z Z
∂U
W dΩ + W∇ · FdΩ = WQ (7.1)
Ω ∂t Ω Ω
Los métodos de colocación, tanto el caso puntual como el de subdominios, usan la ecuación residual
sin integración parcial sobre la función de peso quedando el problema en forma diferencial. Si a cada
nodo j del dominio le asignamos un subdominio Ωj y si tomamos una función de peso definida como:
Wj (x) = 0 x∈
/ Ωj
(7.2)
Wj (x) = 1 x ∈ Ωj
que aplicada a (7.1) nos da:
Z Z Z
∂U
dΩ + ∇ · FdΩ = QdΩ (7.3)
Ωj ∂t Ωj Ωj
que equivale a la misma ley de conservación aplicada a cada subdominio. La idea detrás del método
de los volúmenes finitos es discretizar cada integral siendo esta la principal diferencia del método
respecto a muchos otros que llevan el problema a una formulación diferencial. Para poder arribar a
la forma más conveniente del método de los volúmenes finitos debemos aplicar a (7.3) el teorema de
Gauss-Green o de la divergencia y transformar la integral de volúmen en otra de superficie,
Z I Z
∂U
dΩ + F · dS = QdΩ (7.4)
Ωj ∂t Γj Ωj
(7.4) es la ecuación básica del método de los volúmenes finitos que tiene como una de sus principales
ventajas la de trabajar con el término de los flujos sobre el contorno del dominio, con lo cual si el
costo computacional es dominado por esta operación la reducción del mismo puede ser notable. A
195
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.1. Introducción
partir de (7.4) se necesita discretizar las integrales de alguna forma y lograr el sistema discreto final
a resolver. Ya que el método es planteado sobre la forma integral de las leyes de conservación es de
notar que al satisfacer las mismas sobre cada subdominio implica satisfacerlas sobre el dominio global.
Por ejemplo, si planteamos las leyes de conservación sobre los 3 dominios de la figura 7.1 llegamos a:
C
Ω1
D Ω2
Ω3
A E
Z I Z
∂U
dΩ + F · dS = QdΩ
Ω1 ∂t ABCA Ω1
Z I Z
∂U
dΩ + F · dS = QdΩ (7.5)
Ω2 ∂t DEBD Ω2
Z I Z
∂U
dΩ + F · dS = QdΩ
Ω3 ∂t AEDA Ω3
que sumados producen el mismo resultado que si lo hubiéramos aplicado a todo el dominio. Esto se
explica ya que dos subdominios vecinos por una cara o arista comparten los términos de flujo, con la
diferencia que debido a la orientación de la normal exterior a cada uno, los mismos se deben balancear,
Z Z
F · dS = − F · dS (7.6)
ED DE
Esta propiedad debe ser satisfecha si se requiere que el esquema sea conservativo, caso contrario
pueden aparecer contribuciones internas produciendo esquemas no conservativos.
Como para ilustrar la diferencia entre un esquema conservativo y otro que no lo es planteamos el
caso de una ley de conservación en un dominio unidimensional que solo cuenta con un término de flujo
convectivo,
∂u ∂f
+ =q (7.7)
∂t ∂x
En la figura 7.2 se muestra la discretización espacial adoptada.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 196
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.1. Introducción
∆x ∆x B
A
Este esquema sencillo, similar a aquel obtenido por diferencias finitas equivale a haber tomado
como volúmen la longitud de cada segmento que representa cada celda, con el valor de la variable en
cada nodo de la grilla, la fuente evaluada también en cada nodo de la misma y los flujos evaluados en
los puntos medios entre los nodos. Lo anterior tambien es equivalente a haber tomado los flujos en los
nodos y tanto la variable como la fuente en el centro de cada celda.
Si aplicamos (7.8) para los nodos i + 1 e i − 1 y sumamos llegamos a:
∂f ∂f ∂u ∂u
=( ) = a(u) (7.10)
∂x ∂u ∂x ∂x
donde a(u) es conocido como el jacobiano del flujo convectivo. Pensando nuevamente en la ecuación
de momento podemos tomar el caso de f = u2 /2 donde en este caso a(u) = u, entonces la forma
matemáticamente equivalente a (7.7) expresada en términos de este jacobiano es
∂u ∂u
+ a(u) =q (7.11)
∂t ∂x
Discretizando la (7.11)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 197
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.2. Formulación del método de los volúmenes finitos
Si hubiéramos discretizado (7.11) sobre un solo subdominio AB en lugar de agregar las contribu-
ciones de 3 subdominios equivalentes hubiéramos obtenido solo el miembro izquierdo de (7.13) , con
lo cual el miembro derecho equivale a una fuente interna numérica que no representa la fı́sica del pro-
blema. Haciendo un análisis numérico sobre el esquema no conservativo mediante expansión en series
de Taylor se puede ver que la importancia de estas fuentes internas es similar al error de truncamiento
con lo cual en principio parecerı́a ser despreciable. No obstante, lo anterior no es válido en el caso de
existir fuertes gradientes en la solución tal el caso de flujo transónico con ondas de choque, bastante
citado en la bibliografı́a.
La expresión formal de una discretización conservativa a (7.7) puede escribirse como:
∗ ∗
∂ui fi+1/2 − fi−1/2
+ = qi (7.14)
∂t ∆x
donde f ∗ es llamado el flujo numérico y es una función de los valores de u en los puntos vecinos,
∗ ∗
fi+ 1/ = f (ui+k , . . . , ui−k+1 ) (7.15)
2
La consistencia de (7.14) requiere que cuando la solución u es constante el flujo numérico sea igual
al del continuo,
∂ X
(Uj Ωj ) + (F · S) = Qj Ωj (7.17)
∂t
lados
donde la suma de los flujos se refiere a todos los contornos externos de la celda de control Ωj . La
figura 7.3 muestra en su parte superior un ejemplo de grilla aplicable a volúmenes finitos. Tomando
la celda 1 identificada por los ı́ndice (i, j) entonces Uj = Uij , Ωj = area (ABCD) y los términos de
flujo se obtienen como suma sobre los 4 lados AB, BC, CD, DA. Asimismo en la figura inferior Ωj
está representada por el area sombreada formada por los triángulos que tienen como nodo común al
nodo j y los flujos se obtienen sumando sobre los lados 12, 23, 34, 45, 56, 61. Esta es la formulación
general del método de los volúmenes finitos , y el usuario tiene que definir para un volúmen Ωj
seleccionado cómo estimará el volúmen y las caras de la celda y cómo aproximará los flujos sobre estas
caras. Esto en diferencias finitas equivale a elegir la aproximación en diferencias para las derivadas.
Para definir una formulación conservativa se requiere:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 198
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.2. Formulación del método de los volúmenes finitos
P
1.- j Ωj = Ω ,
2.- ∩Ωj 6= ∅, pueden solaparse pero solo si los contornos internos que surgen del solapamiento son
comunes entre dos celdas,
3.- los flujos en las superficies de las celdas deben calcularse con independencia de a cual celda le
corresponde.
(2) significa que todos los contornos de las celdas deben pertenecer a lo sumo a dos celdas y solo
aquellos que están en el contorno exterior del dominio pueden no satisfacer este requisito.
La condición (3) garantiza la conservatividad.
A continuación y tomando como referencia la figura 7.3 mencionaremos algunas diferencias entre
el método de los volúmenes finitos con el método de las diferencias finitas y el método de los elementos
finitos .
1.- Las coordenadas del nodo j que es la precisa ubicación de la variable U dentro de la celda Ωj
no aparece explicitamente. Consecuentemente Uj no está asociada con ningún punto fijo del
dominio y puede considerarse como un valor promedio de la variable de flujo U sobre la celda.
Esta interpretación surge inmediatamente inspeccionando la figura superior de la gráfica 7.3.
2.- Las coordenadas de la malla aparecen solamente para definir el volúmen de la celda y las areas
de las caras, por ejemplo en la misma figura superior las coordenadas A, B, C, D son suficientes.
3.- En problemas estacionarios sin fuentes el único término que permanece es el de la suma de
los flujos sobre las caras con lo cual el método puede programarse para barrer estas caras e ir
descargando los flujos sobre las dos celdas al mismo tiempo considerando la diferencia en signo.
4.- El método de los volúmenes finitos permite una fácil introducción de las condiciones de con-
torno, especialmente aquellas que vienen expresadas en término de los flujos que pueden ser
directamente impuestos en el respectivo término.
1.- mallas estructuradas, son aquellas en las cuales cualquier nodo puede ser ubicable en término
de dos ı́ndices (i, j) en 2D o tres ı́ndices (i, j, k) en 3D. Estas mallas son muy comúnmente
denominadas mallas de diferencias finitas.
2.- mallas no estructuradas, son aquellas comúnmente empleadas por el método de los elementos
finitos y donde no es posible encontrar una expresión de 2 o 3 ı́ndices que permita ubicar un
nodo.
Una vez que la malla se ha construido el usuario debe decidir entre 2 opciones propias del método
de los volúmenes finitos :
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 199
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.3. El método de los volúmenes finitos en 2D
3 2
i,j+1 9
C
4 B F
1
i−1,j i,j 8
D i+1,j
A E
5 6
i,j−1 7
G
H K
1.- centrado en las celdas, las variables de flujo representan un promedio de los valores de la misma
sobre la celda y están asociadas a la celda. (ver figura 7.3 (a) y (c))
2.- centrado en los vértices, en este caso las variables de flujo representan los valores en los vértices
o los puntos de la malla. (ver figura 7.3 (b) y (d))
donde la derivada temporal pudo ser extraida de la integral siempre que consideremos el caso
de dominio y malla fija. f y g representan las dos componentes cartesianas del vector flujo F. Al
discretizar estas integrales llegamos a la siguiente expresión:
∂ X
(UΩ)ij + [fAB (yB − yA ) − gAB (xB − xA )] = (QΩ)ij
∂t (7.19)
ABCD
ΩABCD = 1/2|xAC ∧ xBD |
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 200
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.3. El método de los volúmenes finitos en 2D
con la dirección de propagación de las componentes ondulatorias. Ahora exploraremos las distintas
posibilidades.
∂F
A(U ) =
= a(U )i + b(U )j
∂U (7.26)
∂f ∂g
a(U ) = b(U ) =
∂U ∂U
Considerando la figura 7.3 en su parte superior (centrado en las celdas), se podrı́a definir:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 201
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.3. El método de los volúmenes finitos en 2D
LADO AB
∆yAB = yi+1/2,j+1/2 − yi+1/2,j−1/2 = ∆y
∆xAB = xi+1/2,j+1/2 − xi+1/2,j−1/2 = 0
LADO BC
∆yBC = yi−1/2,j+1/2 − yi+1/2,j+1/2 = 0
∆xBC = xi−1/2,j+1/2 − xi+1/2,j+1/2 = −∆x
LADO CD
∆yCD = yi−1/2,j−1/2 − yi−1/2,j+1/2 = −∆y
∆xCD = xi−1/2,j−1/2 − xi−1/2,j+1/2 = 0
(7.29)
LADO DA
∆yDA = yi+1/2,j−1/2 − yi−1/2,j−1/2 = 0
∆xDA = xi+1/2,j−1/2 − xi−1/2,j−1/2 = ∆x
Ωij = ∆x∆y
fAB = fi+1/2,j
fBC = fi,j+1/2
fCD = fi−1/2,j
fDA = fi,j−1/2
Reemplazando lo anterior en (7.19) llegamos a
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 202
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.3. El método de los volúmenes finitos en 2D
∂Uij
∆x∆y + (fi+1/2,j − fi−1/2,j )∆y + (gi,j+1/2 − gi,j−1/2 )∆x = Qij ∆x∆y
∂t
(7.30)
∂Uij (fi+1/2,j − fi−1/2,j ) (gi,j+1/2 − gi,j−1/2 )
+ + = Qij
∂t ∆x ∆y
Ahora tenemos que especificar como definir los flujos en los centros de los lados fi±1/2,j±1/2
Caso (a) Aplicando (7.20) a un esquema centrado en las celdas
Comentarios:
1.- Se puede demostrar que estos esquemas son de segundo orden de precisión,
3.- (7.31) puede generar oscilaciones debido al desacoplamiento de las ecuaciones correspondientes
a (i + j) par de aquellas donde (i + j) es impar. (7.32) no contiene este inconveniente.
Idéntico tratamiento puede hacerse con el caso de formulaciones centradas en los vértices pero esto
es dejado como ejercicio práctico.
∂U ∂U ∂U
+a +b =0 a, b > 0 (7.33)
∂t ∂x ∂y
sobre una malla similar a la representada en la parte superior de la figura 7.3 pero rectificada de
forma de lograr alinearla con los ejes coordenados cartesianos. Si f = aU y g = bU entonces,
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 203
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.3. El método de los volúmenes finitos en 2D
∂Uij a b
+ (Uij − Ui−1,j ) + (Uij − Ui,j−1 ) = 0 (7.35)
∂t ∆x ∆y
Mallas no uniformes
Garantizar la precisión de segundo orden de algunos esquemas cuando las mallas involucradas son
no uniformes no es tarea fácil. No entraremos en detalles aquı́ por ser un tema demasiado especı́fico
pero hacer promedios sobre mallas no uniformes es muy dependiente del problema, de la discretización
usada, etc. Por el momento nos conformamos con lo ya visto y debemos cuidar que las mallas no tengan
fuertes gradientes, o sea que sean suaves. Esto hace que la generación de mallas para el método de los
volúmenes finitos sea bastante restrictiva.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 204
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.3. El método de los volúmenes finitos en 2D
∂U Z
1 ∂U 1 X
= dΩ = (Ul + Ul+1 )(yl+1 − yl )
∂x Ω Ω Ω ∂x 2Ω
l
−1 X
= (yl + yl+1 )(Ul+1 − Ul )
2Ω
l
(7.37)
1 X
= Ul (yl+1 − yl−1 )
2Ω
l
−1 X
= yl (Ul+1 − Ul−1 )
2Ω
l
−1 X
∂U Z
1 ∂U
= dΩ = (Ul + Ul+1 )(xl+1 − xl )
∂y Ω Ω Ω ∂y 2Ω
l
1 X
= (xl + xl+1 )(Ul+1 − Ul )
2Ω
l
(7.38)
−1 X
= Ul (xl+1 − xl−1 )
2Ω
l
1 X
= xl (Ul+1 − Ul−1 )
2Ω
l
donde la suma se extiende a todos los vértices desde 1 hasta 6 que rodean al nodo j en la figura 7.3
con U0 = U6 y U7 = U1 .
La misma expresión se puede aplicar para el cálculo del area de las celdas,
1X
Ω= (xl + xl+1 )(yl+1 − yl )
2
l
−1 X
= (yl + yl+1 )(xl+1 − xl )
2
l
(7.39)
1X
= xl (yl+1 − yl−1 )
2
l
−1 X
= yl (xl+1 − xl−1 )
2
l
Si las celdas fueras cuadrangulares se puede hallar una forma interesante y particular de la anterior
tomando la tercera de las ecuaciones (7.37,7.38,7.39) y agrupando por valores en los nodos opuestos.
Esto queda para la práctica.
Ejemplo: Ecuación de difusión en 2D
Tomemos la ecuación
∂U ∂ ∂U ∂ ∂U
+ (κ )+ (κ )=0 (7.40)
∂t ∂x ∂x ∂y ∂y
considerando κ constante las componentes del flujo son:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 205
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.4. El método de los volúmenes finitos en 3D
∂U
f =κ
∂x
(7.41)
∂U
g=κ
∂y
Considerando (7.19) llegamos a una ecuación para cada celda, siendo la de (i, j) escrita como:
∂U
∆x∆y + (fAB − fCD )∆y + (gBC − gDA )∆x = 0 (7.42)
∂t ij
El flujo fA se toma como valor promedio entre las celdas 1678 y de manera similar con fB sobre
las celdas 1892 con lo cual se escriben como:
∂U κ
)A =
fA = κ( (Ui+1,j + Ui+1,j−1 − Ui,j − Ui,j−1 )
∂x 2∆x (7.43)
∂U κ
fB = κ( )B = (Ui+1,j + Ui+1,j+1 − Ui,j − Ui,j+1 )
∂x 2∆x
Tomando fAB = 1/2(fA + fB ), multiplicando por ∆y y haciendo lo mismo con las restantes 3 caras
se obtiene una expresión sencilla si consideramos ∆x = ∆y,
∂Uij κ h i
+ Ui+1,j+1 + Ui+1,j−1 + Ui−1,j+1 + Ui−1,j−1 − 4Uij (7.44)
∂t 4(∆x)2
Si en su lugar usamos
κ ∂U
fAB = κ
= (Ui+1,j − Uij ) (7.45)
∂x AB ∆x
esta conduce a la standard forma del operador de Laplace en el método de las diferencias finitas
∂Uij κ h i
+ Ui+1,j + Ui,j−1 + Ui−1,j + Ui,j+1 − 4Uij (7.46)
∂t (∆x)2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 206
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.4. El método de los volúmenes finitos en 3D
mostrando que el vector superficie de una dada cara contenida en una superficie cerrada S y
orientado en la dirección saliente
Z
Sf ace = dS (7.48)
f ace
depende solamente del propio contorno de la cara. Tomemos la figura 7.4 donde se muestra el
vector superficie exterior para algunas de las caras del hexaedro. Si por ejemplo tomamos la cara
ABCD vemos que entre las muchas alternativas para evaluar el vector area podemos citar a:
No obstante ambas expresiones conducen a idénticos resultados aun en el caso general en el que
la cara no sea coplanar, siendo la (7.49) la más económica desde el punto de vista de la cantidad de
operaciones involucradas.
G
S DCGH
F
B
E D
S ABCD
S ADHE
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 207
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.4. El método de los volúmenes finitos en 3D
Z I
∇ · adΩ = a · dS
Ω S
en 2D tomando a = x ⇒ ∇ · x = 2
I I
2Ω = x · dS = (xdy − ydx) (7.51)
S S
en 3D tomando a = x ⇒ ∇ · x = 3
I X
3ΩP ABC = x · dS = x · Sf aces
P ABC f aces
P
G
C
D D
F
C
A B
E
B
A
(a) G
C
(b)
H
D
F
E B
A
(c)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 208
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.4. El método de los volúmenes finitos en 3D
caras excepto a la cara ABC solo con ella el producto escalar es no nulo. Si recurrimos a la expresión
(7.49) para evaluar el area de las caras de la celda y la reemplazamos en (7.52) hallamos:
1
ΩP ABC = x(P A) · (xAB ∧ xBC ) (7.53)
6
que puede escribirse también como un determinante :
xP yP zP 1
1 xA yA zA 1
ΩP ABC = (7.54)
6 xB yB zB 1
xC yC zC 1
Se debe tener cuidado con la numeración dada al tetraedro ya que de esta dependerá el signo de
algunas contribuciones. Una regla general podrı́a ser utilizar la regla de la mano derecha partiendo de
la cara y tomando el cuarto nodo en el sentido que indica el pulgar. Otra recomendación importante
es que cuando partimos una malla de hexaedros en tetraedros se debe tomar la precaución de que las
caras hexaédricas comunes a dos celdas tengan diagonal coincidente. Estas diagonales surgen al hacer
la partición.
En el caso de una partición del hexaedro en pirámides esta puede dividirse en dos tetraedros y el
cálculo del volúmen y las areas se reduce a lo visto anteriormente.
Como caso de interés se puede demostrar que si alguna de las caras de la celda hexa edrica no
es coplanar entonces las dos únicas particiones del hexaedro en 5 tetraedros no producen el mismo
valor de volúmen. Si tomamos un promedio de los dos valores obtenidos este equivale a hacer una
transformación isoparamétrica trilineal al estilo método de los elementos finitos e integrarla con 2×2×2
puntos de Gauss.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 209
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.5. TP.VII.- Trabajo Práctico
∂u ∂f
+ =0
∂t ∂x (7.55)
f (a) = f (b)
se reduce a que
Z b
udx
a
es constante en el tiempo. Aplique esta condición a la variable espacial discretizada con una
distribución arbitraria de puntos en la malla y muestre que la anterior condición se reduce a:
X
1/2 ∆ui (xi+1 − xi−1 ) = 0
i
∂u (7.56)
i
∆ui = un+1
i − uni = ∆t
∂t
∂
Rb
Ayuda: Aplique la regla del trapecio para evaluar la integral ∂t a udx = 0 y reescriba la suma
aislando los términos en ui .
Escriba un programa en MatLab para resolver la ecuación de advección difusión 1D no estacio-
naria utilizando una formulación
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 210
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.5. TP.VII.- Trabajo Práctico
∂U ∂ ∂U ∂ ∂U
+ (κ )+ (κ )=0
∂t ∂x ∂x ∂y ∂y
y escriba la formulación centrada en la celda para una malla estructurada considerando que los
coeficientes de difusión son variables con la posicón y se definen en los vértices de la celda, siendo
el valor en el centro de cada arista aquel que surge como promedio de los valores en los vértices
extremos de cada arista.
De la figura 7.6 surgen algunas alternativas para definir las celdas en 2D para el método de los
volúmenes finitos . Tome la mostrada a la izquierda ((a) Mc Donald-1971), aplique la definición
del método de los volúmenes finitos (7.17) a la celda ACDEGH
∂ X
(Uj Ωj ) + (F · S) = Qj Ωj
∂t
lados
y derive el esquema para el nodo (i, j) usando como definición de flujos por cara aquella definida
como el promedio de los flujos en los puntos extremos, es decir, fAC = 1/2(fA + fC ) y compare
con la expresión (7.57)
F E F E
D D
G C G C
B B
A A
H H
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 211
Capı́tulo 7. Método de los volúmenes finitos
Sección 7.5. TP.VII.- Trabajo Práctico
1
SABCD = [(xAB + xDC ) ∧ (xBC + xAD )]
4
utilizadas para evaluar el area de las caras de la celda de control en 3D son equivalente a la
expresión:
Tome un hexaedro con al menos una cara no coplanar. Realice las dos únicas posibles particiones
en 5 tetraedros cada una y calcule el volúmen de cada partición utilizando la expresión del
determinante:
x1 y1 z1 1
1 x2 y2 z2 1
Ω1234 = (7.58)
6 x3 y3 z3 1
x4 y4 z4 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 212
Capı́tulo 8
8.1. Introducción
De acuerdo a lo establecido en los capı́tulos precedentes vimos que la discretización de las variables
independientes y de las ecuaciones conducen a un esquema numérico particularmente dependiente del
método usado. Un esquema numérico en general se lo representa mediante un stencil o estrella del
operador discreto que permite vincular la solución entre los nodos de la malla. Si bien en el continuo
el dominio de dependencia e influencia de un operador abarca regiones extensas del dominio espacial
en el caso discreto este se restringe a una zona más acotada y que dependerá del orden y tipo de
aproximación utilizado. Uno de los pasos que anteceden a la aplicación práctica de los esquemas
numéricos es llevar a cabo un análisis del mismo para tener una idea de lo que puede esperarse del
mismo. El análisis más clásico incluye tópicos como consistencia, precisión, estabilidad y convergencia.
Existe una gran variedad de métodos de análisis desde aquellos que estudian el comportamiento
del operador discreto en un medio infinito, otros que incluyen el tratamiento del contorno y algunos
otros que dan cuenta de la influencia de las no linealidades. Antes de pasar a tratar los más impor-
tantes métodos de análisis introduciremos al lector en los conceptos básicos de los 4 tópicos antes
mencionados.
∂u ∂u
+a =0 (8.1)
∂t ∂x
donde a es la velocidad de propagación de la onda cuya amplitud es u. Reescribimos la anterior
usando subı́ndices para referirnos a las derivadas, entoces:
ut + aux = 0 (8.2)
213
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.2. Definiciones básicas
Consideremos un problema de valores iniciales de frontera, entonces para poder resolver la (8.2)
necesitamos especificar :
Esquema explı́cito Eligiendo una forma en diferencias hacia adelante, el esquema más simple
que se obtendrı́a serı́a evaluar el lado derecho en el tiempo anterior. Este esquema se denomina
forward Euler y se escribe como:
un+1 − uni a
i
=− (un − uni−1 ) (8.5)
∆t 2∆x i+1
Surge por inspección directa que la solución se obtiene despejando directamente
un+1
i = f (uni−1 , uni , uni+1 ) (8.6)
Esquema implı́cito
Si en cambio evaluamos el lado derecho en el tiempo posterior y si usamos diferencias hacia atrás
para la forma discreta de la derivada temporal tenemos el esquema backward Euler:
un+1 − uni a
i
=− (un+1 − un+1
i−1 ) (8.7)
∆t 2∆x i+1
Como vemos aquı́ la solución se obtiene invirtiendo un sistema de ecuaciones de la forma
donde la matriz que representa el sistema es tridiagonal debido a que la estrella es centrada y
fue generada mediante la combinación de tres nodos.
Estos esquemas producen aproximaciones con una precisión de segundo órden en el espacio y
primer órden en el tiempo. Usando esquemas de primer órden en el espacio surgen los siguientes dos
esquemas:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 214
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.2. Definiciones básicas
un+1 − uni a
i
=− (un − uni−1 ) (8.9)
∆t ∆x i
un+1 − uni a
i
=− (un+1 − un+1
i−1 ) (8.10)
∆t ∆x i
Analizando lo que ocurre con los esquemas (8.5-8.10) se puede comprobar que los dos primeros
son incondicionalmente inestables mientras que el tercero es condicionalmente estables y el cuarto
es incondicionalmente estable. Esto significa que los dos primeros producen un error que crece en
amplitud con el paso de tiempo (divergen) mientras que en el tercer esquema debemos elegir una
relación entre el paso de tiempo y el de la malla acorde a un criterio de estabilidad. Como veremos
más adelante en problemas de advección pura el parámetro que gobierna la estabilidad de un esquema
numérico es el número de Courant. Este se define como:
a∆t
σ= (8.11)
∆x
El cuarto esquema (8.10) converge sin restricciones pero tiene una precisión baja (primer órden).
Problema: Usando Matlab implementar los 4 esquemas (8.5-8.10) para una función f (x)
0 ; x < −0.2
1 + 1/ x
2 ; −0.2 ≤ x ≤ 0
f (x) = (8.12)
1 − /2x
1 ; 0 ≤ x ≤ 0.2
0 ; x > 0.2
con a = 1, ∆x = 1, g(x = −5) = 0, L = 10. Tome distintos valores del número de Courant, desde
σ = 0.1 hasta valores superiores a σ = 1.
Este ejemplo simple muestra la importancia del análisis antes de realizar cualquier experimento
numérico. Podemos formularnos las siguientes preguntas a la hora de analizar un esquema:
consistencia Esta define una relación entre la ecuación diferencial y la formulación discreta.
estabilidad Establece una relación entre la solución calculada y la solución exacta de las ecuaciones
discretas
convergencia Conecta la solución calculada con la solución exacta de la ecuación diferencial.
En la figura 8.1 vemos un cuadro sinóptico con la relación entre los operadores, sus soluciones y
los tópicos de análisis. A continuación entraremos más en detalle en ellos.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 215
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.3. Consistencia
8.3. Consistencia
Un esquema es consistente si la ecuación discreta tiende al operador diferencial cuando todos los
incrementos de las variables independientes tienden a cero. Esto se puede expresar como:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 216
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.3. Consistencia
n ∆t2 n
un+1
i = u n
i + ∆t ut + utt + . . .
i 2 i
n ∆x2 n ∆x3 n
uni+1 = uni + ∆x ux + uxx + uxxx + . . . (8.14)
i 2 i 6 i
n ∆x2 n ∆x3 n
= uni−1
− ∆x ux +uni uxx − uxxx + . . .
i 2 i 6 i
Para los esquemas de primer órden como el aplicado a la derivada temporal hemos cortado el
desarrollo en el término O(∆t2 ) mientras que en las aproximaciones espaciales centradas, que son de
segundo órden hemos extendido el desarrollo un término más. Reemplazando (8.14) en el esquema
(8.5) y usando la definición (8.13) vemos que
∆t n ∆x2 n
T = −
utt − uxxx + O(∆t2 , ∆t4 ) (8.17)
2 i 6 i
que puede ser expresado en forma equivalente aplicando la ecuación diferencial sobre él para
eliminar la derivada temporal,
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 217
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.4. Estabilidad
n n
ut = −a ux + O(∆t, ∆x2 )
ni in
utt = −a uxt + O(∆t, ∆x2 ) (8.18)
i i
n
= −a uxx + O(∆t, ∆x2 )
2
i
con lo cual el error de truncamiento puede ser escrito como
∆t 2 n ∆x2 n
a uxx − a
T = − uxxx + O(∆t2 , ∆x2 ) (8.19)
2 i 6 i
lo cual equivale finalmente a resolver una ecuación diferencial modificada
∆t 2
a uxx + O(∆t2 , ∆x2 )
ut + aux = − (8.20)
2
Esto muestra porqué el esquema es inestable. Tal como mencionáramos anteriormente el esquema
numérico (8.5) genera un error de truncamiento equivalente a una difusión negativa, con un coeficiente
− ∆t
2 a
2
8.4. Estabilidad
La definición de estabilidad ha sufrido bastantes cambios desde que fue por primera vez introducida
por O’Brien en 1950. Sin entrar en detalles históricos saltamos hasta 1956 cuando Lax y Richtmyer
introdujeron el concepto de estabilidad basado en la evolución temporal de la solución. Posteriormente,
en 1967, Ritchmyer y Morton desarrollaron esta idea que se basa en definir en forma matricial la
influencia del operador discreto. Asi como un operador diferencial acepta una descomposición espectral
sobre un espacio de dimensión infinita, el operador discreto acepta una equivalente pero en un espacio
de dimensión finita, o sea representable por matrices. Supongamos que expresamos todas las incógnitas
en cada punto del espacio y del tiempo (variables nodales) en un arreglo, que al tiempo n∆t se puede
expresar como:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 218
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.4. Estabilidad
un1
..
.
n
n
u
U = i−1 (8.22)
un
i
un
i+1
..
.
El esquema numérico puede ser escrito en forma de operador C : IRN → IRN como:
U n+1 = C · U n (8.23)
con C = C(∆x, ∆t)
A modo de ejemplo tomemos el esquema numérico (8.5) y veamos que forma toma el operador.
Una ecuación tı́pica de aquel esquema es
un+1
i = uni − σ(uni+1 − uni−1 )/2
..
... ... ... ... ... ... ... . (8.24)
. . . σ/2 1 −σ/2 . . . ... . . . n
ui−1
CU n =
−σ/2 . . . un
. . . . . . σ/2 1 . . .
i
. . . ... ... σ/2 1 −σ/2 . . . n
ui+1
... ... ... ... ... ... ... ..
.
Si tomamos en cambio el esquema (8.7,8.8) por su carácter de implı́cito debemos previamente
definir un operador B sobre U n+1 para luego generar el operador C sobre U n .
un+1
i = uni − σ(un+1 n+1
i+1 − ui−1 )/2
.
. . . ..
... ... ... ... ... ... (8.25)
−σ/2 n+1
ui−1
. . . 1 +σ/2 . . . ... . . .
BU n+1 n+1
. . .
= ... −σ/2 1 +σ/2 . . . . . .
ui
n+1
. . . ... ... −σ/2 1 +σ/2 . . .
ui+1
... ... ... ... ... ... ... ..
.
Problema: Calcular el operador discreto C del esquema (8.9) y el operador discreto B del
esquema (8.10).
La condición de estabilidad se establece del siguiente modo: Dada una solución inicial U 0 a tiempo
t = 0 la acción repetida de C sobre ella produce que
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 219
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
U n = Cn · U 0
Para que todas las soluciones U n permanezcan acotadas y el esquema definido por C sea estable
el operador C tiene que ser uniformemente acotado. Esto es, existe una constante K tal que
(
0 < ∆t < τ
||C n || < K para (8.26)
0 ≤ n∆t ≤ T
para valores fijos de τ, T y ∀n. A continuación presentamos el método de Von Neumann, uno de
los métodos más conocidos para el análisis de estabilidad.
Este método es bien popular y simple de aplicar, pero como tal tiene algunas limitaciones relacio-
nadas con: • válido solamente para operadores lineales
• válido solamente para coeficientes constantes
• válido solamente para problemas periódicos
Como vimos en la figura 8.1 el análisis de estabilidad se basa en la relación que existe entre la
solución computada uni y la solución exacta de la ecuación discretizada ūni . Entre ellas existe una
diferencia que viene dada por los errores de redondeo y los errores en los valores iniciales. Por lo tanto
n+1 − ni a
i
=− (n − ni−1 ) (8.29)
∆t 2∆x i+1
que es idéntica al esquema original. Por lo tanto, según una visión lineal los errores evolucionan
con el tiempo en la misma forma que la solución. Del mismo modo podemos plantear algo equivalente
aplicando una visión de operadores, como presentamos en (8.23), llegando a que
en = Cen (8.30)
con en un vector equivalente al definido en (8.22) pero conteniendo a los errores en lugar de los
valores nodales. Si las condiciones de borde son periódicas entonces podemos descomponer al error en
series de Fourier para la variable espacial en cada paso de tiempo. Ya que el dominio tiene longitud
finita la representación de Fourier será discreta y sumada sobre un conjunto finito de armónicas.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 220
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
G = 1 − Iσ sin(φ) (8.37)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 221
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
lo cual indica que su módulo será siempre mayor que uno y por lo tanto incondicionalmente
inestable.
Habı́amos visto anteriormente sin demostración evidente que el esquema (8.9) era condicionalmente
estable. Tratemos de justificarlo con las herramientas recién presentadas. Para ello tomemos una
armónica como la anterior, ingresémosla en el esquema (8.9)
un+1 − uni a
i
=− (un − uni−1 ) (8.9)
∆t ∆x i
aplicado al error y saquemos factor común E n eIiφ , entonces arribamos a la siguiente expresión
para el factor de amplificación:
0<σ≤1 (8.39)
La condición (8.39) es muy conocida y denominada condición de Courant-Friedrichs-Lewy (CFL)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 222
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
Otra forma de ver esta condición es mediante teorı́a de caracterı́sticas. Si trazamos las caracterı́sti-
cas a partir de un punto de la malla se debe elegir la relación entre el paso espacial y el temporal
de forma tal de satisfacer que el dominio de dependencia de la ecuación diferencial debe estar con-
tenido en el dominio de dependencia de las ecuaciones discretizadas. La figura 8.4 muestra lo que
recién comentamos. Es la discretización empleada capaz de capturar el dominio de dependencia de las
caracterı́sticas del problema ?
Finalmente si tomamos un esquema como el (8.10)
un+1 − uni a
i
=− (un+1 − un+1
i−1 ) (8.10)
∆t ∆x i
vemos que este tiene una estabilidad incondicional. Esto se puede demostrar siguiendo los mismos
pasos que en los casos anteriores, llegando finalmente a que el factor de amplificación tiene una
expresión como:
1
G= (8.40)
1 + Iσ sin(φ)
lo cual implica que su módulo será siempre menor que la unidad.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 223
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
dui
= Sui + qi (8.41)
dt
donde el término qi contiene eventuales fuentes y las contribuciones del contorno. La represen-
tación matricial de lo anterior se transforma en
dU
= SU + Q (8.42)
dt
(2) Aplicación de un esquema de integración temporal.
un+1
i = Cuni + q̄i (8.43)
U n+1 = CU n + Q̄ (8.44)
En estos casos C = 1 + ∆tS. Esto corresponde al caso de un esquema de dos niveles explı́citos. El
caso implı́cito adopta la forma
B1 U n+1 = B0 U n (8.45)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 224
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
|G · u|
||G|| = max (8.47)
u6=0 |u|
y considerando el hecho que
ρ(G) ≤ 1 (8.50)
puede ser necesaria para evitar que algunos modos numéricos crezcan más rápidamente que sus
correspondientes modos fı́sicos. Por ejemplo cuando la matriz de amplificación tiene autovalores de
valor 1 con multiplicidad mayor que uno. Estas condiciones suficientes de estabilidad (b) son válidas
también para el caso de matrices normales donde G conmuta con su hermitiana conjugada y el radio
espectral coincide con la norma.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 225
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
2. Si G puede expresarse como una función de varias matrices que conmutan entre si, esto es:
G = P (A, B) con AB = BA
Esta condición deja de ser válida cuando las matrices no conmutan como es el caso de las
ecuaciones de movimiento fluido en varias dimensiones.
∂U
+ A · ∇U = 0
∂t
U = {h ; u ; v}
(8.52)
u h 0 v 0 h
Ax = g u 0 ; Ay = 0 v 0
0 0 u g 0 v
∂U ∂U
+A =0
∂t ∂x
U = {h ; v} (8.53)
v h0
Ay = 0
g v0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 226
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
Esquema Euler
∆ − ∆−1 n ∆ − ∆−1 n
Un+1
i = Uni − A∆t Ui = I − A∆t Ui = CUni (8.55)
2∆x 2∆x
donde ∆ representa el operador de corrimientos espaciales y si llevamos a cabo el ensamblaje de
la matriz C esta se expresa como:
..
.
A∆t
1/2(− A∆t )
1/2(
∆x ) I
∆x
1/ ( A∆t ) A∆t
C=
2 ∆x I 1/2(−
∆x )
(8.56)
1/2( A∆t ) I 1/2(− A∆t
∆x )
∆x
..
.
Por otro lado podemos arribar a la matriz de amplificación reemplazando (8.54) en (8.55),
A∆t Iφ −Iφ
En+1
i = I − (e − e ) Eni
2∆x (8.57)
A∆t Iφ
G(φ) = I − (e − e−Iφ )
2∆x
Comparando (8.55) y (8.57) vemos que
λ(G(φ)) = P (λ(A))
A∆t Iφ
G(φ) = I − (e − e−Iφ ) (8.59)
2∆x
λ(A)∆t Iφ
λ(G(φ)) = 1 − (e − e−Iφ )
2∆x
o sea los autovalores de la matriz A se transforman conforme a 8.59)
Los autovalores de la matriz A se calculan en forma directa como:
|A − λI| = 0
v0 − λ h0
=0 (8.60)
g v0 − λ
p
λ(A)1,2 = v0 ± gh0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 227
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
Esquema Lax-Friedrichs
En 1954 Lax sugirió una forma de estabilizar el esquema anterior conservando la discretización
espacial centrada. Este esquema bien popular en estos dias se puede escribir como:
A∆t n
Un+1 = 1/2(Uni+1 + Uni−1 ) − (U − Uni−1 ) (8.62)
i
2∆x i+1
Realizando un procedimiento similar al caso del integrador Euler hacia adelante llegamos a que
existe una condición tipo CFL aquı́ del tipo,
p ∆t
(|v0 | + gh0 ) ≤1 (8.63)
∆x
v n = v̂e−Iωn∆t (8.65)
con ω = ω(k) una función compleja del número de onda que representa la dispersión numérica.
Relacionando (8.64) con (8.65) vemos que existe una relación directa entre el factor o matriz de
amplificación y esta dispersión numérica,
G = e−Iω∆t (8.66)
Entonces, la representación de la solución numérica en término de armónicas simples se puede
escribir como:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 228
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
ω = ξ + Iη (8.70)
de forma tal que si reemplazamos (8.70) en (8.69) tenemos
k G̃ k = e+η̃∆t
(8.72)
˜
Φ̃ = ξ∆t
Si comparamos ambos módulos y ambas fases entre si llegamos a la definición de dos parámetros
de error muy importantes:
|G|
D = ERROR POR DISIPACION
eη̃∆t (8.73)
φ = Φ − Φ̃ ERROR POR DISPERSION
La definición del error de dispersión dada en (8.73) es adecuada en problemas parabólicos sin
términos convectivos (Φ̃ = 0), caso contrario esta puede cambiarse por
φ = Φ/Φ̃ (8.74)
mejor adecuada en aquellos problemas dominados por convección.
α∆t n
un+1
i = uni + n n
2 (ui+1 − 2ui + ui−1 ) (8.75)
∆x
El factor de amplificación se obtiene mediante el procedimento presentado oportunamente y este
se expresa como:
G = 1 − 4β sin2 (φ/2)
α∆t
β= (8.76)
∆x2
α≥0 β ≤ 1/2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 229
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
1 − 4β sin2 (φ/2)
D = (8.78)
e−βφ2
que si lo expandimos en series de potencias en φ se obtiene después de algo de algebra
β 2 φ4 βφ4
+D ' 1 −
+ ...
2 12 (8.79)
α2 k 4 ∆t2 αk 4 ∆t∆x2
'1− +
2 12
Este esquema produce errores numéricos bajos para modos de baja frecuencia pero para aquellos
de alta frecuencia estos pueden ser inaceptables, especialmente para aquellos β ≤ 1/2 próximos a la
cota superior. No obstante para β = 1/6 los dos últimos términos se cancelan y este esquema presenta
un alto orden O(∆t2 , ∆x4 ). Además ya que G es real no existe error en phase por lo tanto no presenta
dispersión numérica.
∂u ∂u
+a =0 (8.80)
∂t ∂x
Fı́sicamente el transporte por convección se puede ejemploficar colocando inicialmente en el domi-
nio una onda y viendo que esta viaja en una determinada dirección guiada por el campo de velocidades
sin modificarse, o sea sin amortiguarse ni dispersarse. Si como hicimos para el caso parabólico reem-
plazamos una armónica del tipo u = e−I ω̃t eIkx en el operador diferencial encontramos que:
ω̃ = ka = ξ˜
(8.81)
η̃ = 0
Como vemos a diferencia del caso parabólico aquı́ el coeficiente de dispersión numérica es un
número real lo que le da un carácter ondulatorio a la solución y sin amortiguamiento. Entonces, de
acuerdo a la definición (8.73) el error por disipación y por dispersión vienen dados por:
|G|
= |G|
D =
eη̃∆t (8.82)
φ = Φ/Φ̃ = Φ/(ka∆t) = Φ/(σφ)
Entonces, k G k es la amortiguación numérica del esquema mientras que φ es el error por disper-
sión. Si φ > 1 la solución numérica viaja más rápido que la exacta mientras que si es φ < 1 viaja
más lento.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 230
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
Figura 8.5: Error de disipación del método explı́cito con upwind para la ec. de advección pura.
1 1
k G k= [(1 − σ + σ cos(φ))2 + σ 2 sin2 (φ)] /2 = [1 − 4σ(1 − σ) sin2 (φ/2)] /2 (8.83)
=G
Φ = ∆t<ω = ∆t tan−1 −
<G
(8.84)
h i
tan−1 σ sin(φ)/(1 − σ + σ cos(φ))
φ = Φ/Φ̃ =
σφ
La figura 8.6 muestra como es el error de dispersión para diferentes números de Courant, funda-
mentalmente para σ = 1/2 que da dispersión nula y para σ = 1/4 y 3/4 que son casos representa-
tivos de ondas numéricas que viajan más lentas y más rápido que las exactas respectivamente.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 231
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
Figura 8.6: Error de dispersión del método explı́cito con upwind para la ec. de advección pura.
un+1
i = zin − σ(uni+1 − uni−1 )
(8.85)
zin+1 = uni
(1 = 2β)un+1
i = (1 − 2β)un−1
i + 2β(uni+1 − uni−1 )
(8.86)
β = α∆t/∆x2 Número de Fourier
dω̃
ṽG (k) = (8.87)
dk
Su contraparte numérica la definimos como
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 232
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.5. El método de Von Neumann
dξ dω
= Re{ } vG (k) = (8.88)
dk dk
Un ejemplo lo tenemos con el esquema leapfrog que tiene una relación de dispersión numérica
expresada como:
a cos(φ) a cos(φ)
vG (k) = = (8.90)
cos(ω∆t) (1 − σ 2 sin2 (φ))1/2
Para bajas frecuencias la velocidad de grupo es similar a la velocidad de transporte a pero a altas
frecuencias φ ≈ π esta tiende a −a o sea en contrafase con la exacta.
∂u ∂2u ∂2u
=α + 2 (8.93)
∂t ∂x2 ∂y
Si usamos un esquema centrado en las variables espaciales y explı́cito de primer órden en el tiempo
la versión discreta se escribe como:
h un − 2uni,j + uni−1,j uni,j+1 − 2uni,j + uni,j−1 i
i+1,j
un+1 n
i,j − ui,j = α∆t + (8.94)
∆x2 ∆y 2
Una descomposición de Fourier discreta se define por:
X
uni,j = v n eIkx i∆x eIky j∆y (8.95)
kx ,ky
∆x 2 Iφy
G − 1 = β[(eIφx + e−Iφx − 2) + ( ) (e + e−Iφy − 2)] (8.96)
∆y
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 233
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.6. Convergencia
con β el número de Fourier antes definido. Otra vez, haciendo que el factor de amplificación se
mantenga en módulo menor que la unidad se llega a dos condiciones similares al caso 1D apenas más
restrictivas,
α>0
∆x 2 (8.97)
β(1 + ( ) ) ≤ 1/2
∆y
8.6. Convergencia
La convergencia puede ser establecida siguiendo a Richtmyer y Morton de la siguiente forma:
(1) La consistencia conduce a la determinación del órden de precisión del esquema y su error de
truncación
(2) la estabilidad nos brinda información detallada de la distribución en frecuencias del error
como función del contenido en frecuencia de la solución calculada.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 234
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.7. TP. Trabajo Práctico
a.- P eh << 1
b.- P eh < 1
c.- P eh = 1
d.- P eh > 1
e.- P eh >> 1
σ n
un+1 = 1/2(uni+1 + uni−1 ) − (u − uni−1 )
i
2 i+1
3. Calcule la matriz de amplificación para la ecuación de las ondas unidimensional de segundo
orden:
∂2w 2
2∂ w
− a =0
∂t2 ∂x2
usando el siguiente esquema de discretización basado en una descomposición del operador de
segundo orden en 2 ecuaciones de primer orden:
a∆t n
vin+1 − vin = (w − win )
∆x i+1 (8.99)
a∆t n+1
win+1 − win = (v n+1
− wi−1 )
∆x i
a.- Encuentre la condición de estabilidad de este esquema.
b.- Es este esquema adecuado para resolver una ecuación elı́ptica del tipo
∂2w 2
2 ∂ w
+ |a | =0
∂t2 ∂x2
4. Calcule el error por disipación y por dispersión para la ecuación de advección pura discretizada
espacialmente en forma centrada y temporalmente mediante un esquema del tipo Lax-Friedrichs.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 235
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.7. TP. Trabajo Práctico
5. Obtenga el esquema numérico de Lax-Wendroff. Este se puede escribir partiendo de una expan-
sión en series de Taylor como la siguiente:
∂u ∂2u
un+1
i = uni + ∆t + 1/2∆t2 2 + O(∆t3 )
∂t i ∂t i
un+1
i = un−1
i − σ(uni+1 − uni−1 ) (8.100)
2
u(x, t = 0) = e−αx sin(2πkx)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 236
Capı́tulo 8. Análisis de esquemas numéricos
Sección 8.7. TP. Trabajo Práctico
8. Analice el esquema leapfrog en combinación con una discretización espacial con upwind para
resolver la ecuación de advección pura no estacionaria en 1D. Calcule la matriz de amplificación
y muestre que el esquema es inestable.
9. Aplique una discretización espacial con full upwind en ambas direcciones a la ecuación de con-
vección pura no estacionaria en 2D
ut + aux + buy = 0
usando un esquema explı́cito de primer order para integrarla en el tiempo. Realice un análisis
de estabilidad de von Neumann y compare la condición de estabilidad con aquella del caso 1D.
10. Escriba un programa para analizar la estabilidad de von Neumann del esquema de Lax-Wendroff
aplicado a una discretización espacial centrada en 2D para resolver la ecuación de advección pura.
Grafique el factor de amplificación en función de la fase para diferentes números de Courant.
Compare con el caso 1D.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 237
Capı́tulo 9
lim xk = x∗ (9.2)
k→∞
Debemos asegurar la convergencia del método iterativo y si es posible determinar la tasa de conver-
gencia, es decir como se comporta el error kx − xk k para k → ∞.
Normas inducidas
Dada una norma para vectores k . k, denotamos por kAk la norma de A inducida por k . k, definida
por
kAxk
kAk = max kAxk = max (9.3)
kxk=1 x6=0 kxk
Las normas inducidas tienen la importante propiedad de que
y también:
kABk ≤ kAk kBk (9.5)
238
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
ya que
xT Bx
kAk22 = max (9.10)
x6=0 xT x
P
Si x = j αj vj entonces
X
Bx = αj λj vj (9.11)
j
y
X X
xT Bx =( αk vkT )( αj λj vj ) (9.12)
X
= αk αj λj vkT vj (9.13)
jk
X
= αj2 λj (9.14)
j
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 239
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
de manera que
kAk2 = max |autovalores de A| (9.18)
Norma infinito inducida de una matriz.
Por definición
kxk∞ = max |(x)i | (9.19)
y entonces, la norma inducida es
X X
kAxk∞ = max | aij xj | ≤ max |aij | |xj | (9.20)
i i
j j
X
≤ max |aij | max |xk | (9.21)
i k
j
X
= max |aij | kxk∞ (9.22)
i
j
por lo tanto
X
kAk∞ ≤ max |aij | . (9.23)
i
j
Por lo tanto,
kAvk∞ X
kAvk∞ = = max |aij | (9.32)
kvk∞ i
j
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 240
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
y entonces X
kAk1 ≤ max |aik | (9.38)
k
i
P
Sea v tal que (v)i = δij con j = argmaxk i |aik |,
entonces
X
kvk1 = δij = 1 (9.39)
i
y como
(Av)i = aij (9.40)
entonces X X
kAvk1 = |aij | = max |aik | (9.41)
k
i i
y por definición de norma inducida
kAvk1 X
kAk1 ≥ = max |aik | (9.42)
kvk1 k
i
Normas no inducidas. Es fácil demostrar que existen normas que no son inducidas, es decir que
satisfacen
kAk =
6 0, si A 6= 0 (9.44)
kαAk = α kAk (9.45)
kA + Bk ≤ kAk + kBk (9.46)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 241
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
pero no provienen de ninguna norma para vectores. Por ejemplo, si definimos la norma k . k∗ como
con c > 0, c 6= 1, entonces es claro que es una norma pero kIk∗ = c 6= 1 y por lo tanto no es inducida.
Número de condición
El número de condición de una matriz no-singular en la norma k . k es
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 242
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
◦
[Ai j] = W/ C, pero lo importante es que el residuo tendrá las mismas dimensiones que b es decir
potencia (Watts). Ahora si hacemos un cambio de unidades tomando como unidad de potencia a cal/s
entonces el criterio de parada krk < tol es completamente diferente, mientras que krk / kr0 k es el
mismo en los dos sistemas de unidades. Por otra parte, este criterio depende de la solución inicial x0
lo cual puede llevar a iterar demasiado en el caso en que partimos de una buena solución (kr0 k muy
pequeño). Otra posibilidad es
krk k
< tol (9.57)
kbk
Ambos coinciden si x0 = 0.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 243
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
(I − M )−1
≤
1
(9.67)
1 − kM k
Pk
Demostración. Veremos que la serie converge a (1 − M )−1 . Sea Sk = l=0 M
l. Mostraremos que
es una secuencia de Cauchy
Xm
kSk − Sm k =
M l
(9.68)
l=k+1
Xm
l
≤ M
(9.69)
l=k+1
Xm
≤ kM kl (9.70)
l=k+1
!
k+1 1 − kM km−k
= kM k (9.71)
1 − kM k
→0 (9.72)
M = S −1 ΛS (9.77)
−1
(I − M ) =S (I − Λ)S (9.78)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 244
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
Como kM k = maxj |λj | < 1 esto quiere decir que todos los autovalores λj de M , que son reales ya
que M es simétrica, están estrictamente contenidos en el intervalo −1 < λj < 1. Por otra parte
−1
1
(I − M )
= max (9.79)
2 j 1 − λj
1
= (9.80)
min |1 − λj |
1
= (9.81)
1 − max λj
1 1
≤ = (9.82)
1 − max |λj | 1 − kM k2
Una consecuencia del corolario es que la iteración de Richardson (1.6) converge si kI − Ak < 1. A
veces podemos precondicionar el sistema de ecuaciones multiplicando ambos miembros de (9.1) por
una matriz B
BA x = Bb (9.87)
de manera que la convergencia del método iterativo es mejorada. En el contexto de la iteración de
Richardson las matrices B tales que permiten aplicar el Lema de Banach y su corolario se llaman
inversas aproximadas
Definición 1.2.1. B es una inversa aproximada de A si kI − BAk < 1.
El siguiente teorema es llamado comúnmente Lema de Banach.
Teorema 1.2.1. Si A y B ∈ IRN ×N y B es una inversa paroximada de A, entonces A y B son no
singulares y
−1
kBk kAk
,
B −1
≤
A
≤ , (9.88)
1 − kI − BAk 1 − kI − BAk
y
A − B
≤ kBk kI − BAk ,
A − B −1
≤ kAk kI − BAk ,
−1
(9.89)
1 − kI − BAk 1 − kI − BAk
Demostración. Sea M = I − BA, entonces I − M = BA es no singular y por lo tanto B y A son
no-singulares y
(BA)−1
=
A−1 B −1
≤
1
(9.90)
1 − kI − BAk
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 245
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
y
−1
−1 −1
A
≤
A B
kBk ≤ kBk
. (9.91)
1 − kI − BAk
Por otra parte,
A − B
=
(I − BA)A−1
≤ kBk kI − BAk
−1
(9.92)
1 − kI − BAk
La demostración de las otras desigualdades es similar. 2
Notar que hay una cierta simetrı́a en el rol jugado por A y B. De hecho deberı́amos definir inversa
aproximada por derecha y por izquierda y B serı́a la inversa aproximada por derecha de A.
La iteración de Richardson, precondicionada aproximadamente, tiene la forma
Si kI − BAk 1 las iteraciones convergen rápido y además, (por el Lema 1.2.1) las decisiones basadas
en el residuo precondicionado kB(b − A x)k reflejarán muy bien el error cometido.
Siempre que k . k sea una norma inducida. En realidad puede demostrarse algo ası́ como que ρ(A) es
el ı́nfimo de todas las normas de A. Esto es el enunciado del siguiente teorema (que no demostraremos
aquı́).
Teorema 1.3.1. Sea A ∈ IRN ×N . Para cada > 0 existe una norma inducida k . k tal que
ρ(A) > kAk − .
Puede verse que, si ρ(M ) ≥ 1 entonces existen x0 y c tales que (9.60) diverge. Efectivamente, sea
v el autovalor tal que M v = λv y |λ| = ρ(M ) ≥ 1. Tomemos x0 = v, c = 0, entonces
xk = M k x0 = λk x0 (9.97)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 246
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
Teorema 1.3.2. Sea M ∈ IRN ×N . La iteración (9.60) converge para todos x0 , c ∈ IRN ×N sy y solo
si ρ(M ) < 1.
Demostración. Si ρ(M ) > 1 entonces en cualquier norma tal que kM k > 1 la iteración no
converge por el párrafo anterior. Por otra parte, si ρ(M ) < 1 entonces, tomando = (1 − ρ(M ))/2,
existe una norma tal que
1
kM k < ρ(M ) + = (1 + ρ(M )) < 1 (9.98)
2
y por lo tanto converge. 2
Tasa de convergencia de métodos estacionarios. Para un esquema convergente de la forma
y por lo tanto
Es usual visualizar la convergencia del método graficando krk k versus k. Como krk k2 puede redu-
cirse en varios órdenes de magnitud durante la iteración, es usual usuar ejes logarı́tmicos para krk k2 .
Por otra parte (9.103) no sólo es una estimación de la tasa de convergencia sino que, de hecho, muchas
veces el residuo de la ecuación termina comportándose de esta forma, después de un cierto transitorio
inicial (ver figura) es decir
krk k ∼ γ k kr0 k (9.105)
Este tipo de comportamiento se refleja en una recta de pendiente log γ en el gráfico. Un ı́ndice de la
velocidad de convergencia es el número de iteraciones n necesario para bajar el residuo un factor 10,
γ = 1 − , 1 (9.109)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 247
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
y entonces,
log 10
log(1/γ) ∼ , n= (9.110)
A veces podemos calcular la tasa de convergencia “experimentalmente” conociendo el valor del
residuo krk k para dos iteraciones k1 , k2 . Asumiendo que en el intervalo k1 ≤ k ≤ k2 la tasa de
convergencia es constante como en (9.105) (ver figura 9.2), entonces
de donde
log(kr2 k / kr1 k)
log γ = (9.112)
k2 − k1
y entonces,
(log 10) (k2 − k1 ) (k2 − k1 )
n= = (9.113)
log(kr1 k / kr2 k) log10 (kr1 k / kr2 k)
x = A−1
1 (b − A2 x) (9.116)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 248
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
A1 = D = diag(A) (9.117)
A2 =L+U =A−D (9.118)
Notar que A1 es diagonal y, por lo tanto, trivial de invertir. La matriz de iteración correspondiente es
Entonces, X
kMJac k∞ = max |mij | < 1 (9.123)
i
j
x = M x + D−1 b (9.124)
−1 −1
x = (I − D A)x + D b (9.125)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 249
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
y la matriz de iteración
MGS = −(D + L)−1 U (9.129)
A1 es triangular inferior y por lo tanto A−1
1 es fácil de calcular. Notar también que a diferencia de
Jacobi, depende del ordenamiento de las incógnitas. También podemo hacer un “backward Gauss-
Seidel” con el splitting
A1 = D + U, A2 = L (9.130)
La iteración es
y la matriz de iteración
MBGS = −(D + U )−1 L (9.132)
Gauss-Seidel simétrico. Podemos combinar alternando una iteración de forward GS con una de
backward GS poniendo
(D + L) xk+1/2 = b − U xk (9.133)
(D + U ) xk+1 = b − Lxk+1/2 (9.134)
La matriz de iteración es
Si A es simétrica, entonces U = LT y
Queremos escribir estos esquemas como una iteración de Richardson precondicionada, es decir que
queremos encontrar B tal que M = I − BA y usar B como inversa aproximada. Para la iteración de
Jacobi,
BJac = D−1 (9.137)
y para Gauss-Seidel simétrico
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 250
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
Veremos más adelante que el valor óptimo de ω está relacionado con la distribución de autovalores de
la matriz de iteración en el plano complejo. Mientras tanto podemos ver intuitivamente que
Esquema iterativo de Richardson con relajación para matrices spd. Aplicando el método
de relajación a la iteración básica de Richardson obtenemos el esquema
MSR = I − ωA (9.151)
Asumiendo que A es simétrica y definida positiva (spd), el espectro de MSR esta dado por
pero como A es spd, los autovalores λ ∈ σ(A) son reales y positivos. Asumamos que están ordenados
λ1 ≥ λ2 ≥ . . . ≥ λN . También denotaremos λmin = λN , λmax = λ1 . Los autovalores de MSR se
comportan en función de ω como se observa en la figura 9.5. Para un dado ω todos los autovalores
de MSR están comprendidos entre los autovalores correspondientes a λmin y λmax (la región rayada de
la figura). Para ω suficientemente chico todos los autovalores se concentran cerca de la unidad. Para
un cierto valor ωcrit el autovalor correspondiente a λmax se pasa de −1 con lo cual la iteración no
converge. El valor de ωcrit está dado entonces por
2
1 − ωcrit λmax = −1, ωcrit = (9.153)
λmax
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 251
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.1. Conceptos básicos de métodos iterativos estacionarios
La tasa de convergencia está dada por γ = maxj |1 − ωλj |, y queremos buscar el ω que da la mejor
tasa de convergencia, es decir el mı́nimo γ. Como los 1 − ωλj están comprendidos en el intervalo
1 − ωλmin , 1 − ωλmax , se cumple que
γ = max(|1 − ωλmin |, |1 − ωλmax |) (9.154)
Ahora bien, para un cierto intervalo de valores 0 < ω < ωopt el máximo corresponde a 1 − ωλmin y γ
decrece al crecer ω, mientras que para ωopt < ω < ωcrit el máximo está dado por −1 + ωλmax y crece
con ω. Para ω = ωopt ambos valores coinciden y entonces
1 − ωopt λmin = −1 + ωopt λmax (9.155)
de donde
2
ωopt = (9.156)
λmax + λmin
Además es fácil ver que γ es mı́nimo para ω = ωopt , de ahı́ el nombre de coeficiente de relajación
óptimo.
Podemos ver también que, para números de condición muy altos el valor óptimo se encuentra muy
cerca del valor crı́tico,
1
ωopt = ωcrit ∼ ωcrit (9.157)
1 + κ(A)−1
La tasa de convergencia que se obtiene para ωopt es de
log 10
nopt = (9.158)
log(1/γopt )
log 10
= (9.159)
log[1 − 2λmin /(λmax + λmin )]
log 10
= (9.160)
log[(κ + 1)/(κ − 1)]
que para sistemas mal condicionados (κ 1) es
κ log 10
∼ 1.15 κ
nopt = (9.161)
2
Método de relajaciones sucesivas. La combinación de Gauss-Seidel puede mejorarse dramáti-
camente con sobre-relajación para una cierta elección apropiada del parámetro de relajación. Este
método es muy popular y se llama SSOR por “Successive Standard Over-Relaxation”. Partiendo de
(9.127) y reescribiéndolo como
D xk+1 + L xk+1 = b − U xk (9.162)
y combinando con la sobre-relajación estándar (9.148)
xk+1 = ω −1 (xk+1 − (1 − ω) xk ) (9.163)
llegamos a
D[xk+1 − (1 − ω) xk ] + ωLxk+1 = ω (b − U xk ) (9.164)
(D + ω L)xk+1 = [(1 − ω) D − ωU ]xk + ωb (9.165)
de manera que la matriz de iteración es
MSOR = (D + ω L)−1 [(1 − ω) D − ω U ] (9.166)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 252
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Figura 9.5: Comportamiento de los autovalores de la matriz de iteración en función del parámetro de
relajación
Ax = b, inicializando en x0 (9.169)
0 0
Ax = b , inicializando en x00 (9.170)
con
x0 = x − x̄ (9.171)
0
b = b + Ax̄ (9.172)
x00 = x0 − x̄ (9.173)
de manera que el espacio de Krylov es el mismo. Entonces podemos, o bien eliminar b haciendo x̄ = x∗
o eliminar x0 haciendo x̄ = x0 .
El residuo es r = b − Ax, de manera que {rk } para k ≥ 0 denota la secuencia de residuos
rk = b − Axk . Como antes, x∗ = A−1 b, es la solución del sistema. El método de GC es en realidad
un método directo, en el sentido de que llega a la solución en un número finito de pasos, de hecho
veremos más adelante que converge en N (o menos) iteraciones, es decir que
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 253
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
GC es un método que sirve en principio sólo para matrices (spd). Recordemos que A es simétrica si
A = AT y definida positiva si
xT Ax > 0, para todo x 6= 0 (9.179)
Luego veremos que podemos extender cualquier sistema (no simétrico ni definido positivo) a un sistema
spd. Como A es spd. podemos definir una norma como
√
kxkA = xT Ax (9.180)
es la llamada “norma A” o “norma energı́a” ya que en muchos problemas prácticos el escalar resultante
(kxk2A ) representa la energı́a contenida en el campo representado por el vector x.
El esquema a seguir será
Descripción formal del método y consecuencias de la propiedad de minimización
Criterio de terminación, performance, precondicionamiento
Implementación
La k-ésima iteración de GC xk minimiza el funcional cuadrático
φ(x) = (1/2)xT Ax − xT b (9.181)
en x0 + Kk .
Notemos que si hacemos el mı́nimo sobre todo IRN , entonces si
x̃ = argmin φ(x), (9.182)
x∈IRN
vale que
∇φ(x̃) = Ax̃ − b = 0, implica x̃ = x∗ (9.183)
Lema 2.1.1. Sea S ∈ IRN , si xk minimiza φ sobre S, entonces también minimiza kx∗ − xkA = krkA−1
sobre S.
Demostración. Notemos que
kx − x∗ k2A = (x − x∗ )T A (x − x∗ ) (9.184)
T ∗T T ∗ ∗T ∗
= x Ax − x Ax − x Ax + x Ax (9.185)
pero A = AT , entonces x∗T A x = xT AT x∗ = xT A x∗ y Ax∗ = b, de manera que
kx − x∗ k2A = xT Ax − 2x∗T b + xT A x∗ (9.186)
∗T ∗
= 2φ(x) + x Ax (9.187)
Pero x∗T A x∗ =cte de manera que xk minimiza kx − x∗ kA . Sea e = x − x∗ , entonces,
kek2A = eT A e (9.188)
∗ T −1 ∗
= [A(x − x )] A [A(x − x )] (9.189)
T −1
= (b − Ax) A (b − Ax) (9.190)
= kb − Axk2A−1 2. (9.191)
Usaremos este lema para el caso S = x0 + Kk .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 254
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Pero
r0 = b − Ax0 = A(x∗ − x0 ) (9.195)
entonces
k−1
X
∗ ∗
x −w = (x − x0 ) − γj Aj+1 (x∗ − x0 ) (9.196)
j=0
= p(A) (x∗ − x0 ) (9.197)
donde el polinomio
k−1
X
p(z) = 1 − γj z j+1 (9.198)
j=0
Pk denota el conjunto de los polinomios de grado k. El teorema espectral para matrices spd afirma
que existe una base de autovectores {ui }N
i=1 con autovalores {λi }
A ui = λ i u i (9.200)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 255
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
La descomposición diagonal de A es
A = U Λ UT (9.204)
Además
Aj = (U ΛU T ) (U ΛU T ) . . . (U ΛU T ) (9.205)
j T
= UΛ U (9.206)
y
p(A) = U p(Λ) U T (9.207)
Definamos
A1/2 = U Λ1/2 U T (9.208)
y notemos que
1/2
2
kxk2A T
= x A x =
A x
(9.209)
2
y volviendo a (9.199)
∗ ∗
kxk − x kA ≤ kx0 − x kA min max |p(z)| (9.214)
p∈Pk ,p(0)=1 z∈σ(A)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 256
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
N
Y
p̄(z) = (λi − z)/λi (9.217)
i=1
ya que
k
X
Ax∗ = (γl /λl )Aul (9.221)
l=1
Xk
= (γl /λl )λl ul (9.222)
l=1
=b (9.223)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 257
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Teorema 2.2.3. Sea A spd y supongamos que hay exactamente k ≤ N autovalores distintos de
A. Entonces GC termina en, a lo sumo, k iteraciones
Demostración. Usar el polinomio residual
k
Y
p̄k (z) = (λl − z)/λl 2. (9.227)
l=1
Sin embargo, las estimaciones de error basadas en la propiedad de minimización están expresadas en
la norma energı́a del error
kxk − x∗ kA
≤ max |p̄k (z)| (9.229)
kx0 − x∗ kA z∈σ(A)
El siguiente lema relaciona la norma euclı́dea del error con la norma energı́a del error
Lema 2.3.1. Sea A spd, con autovalores λ1 ≥ λ2 ≥ . . . ≥ λN . Entonces para todo z ∈ IRN
1/2
A z
= kzkA (9.230)
2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 258
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
y
1/2 1/2
λN kzkA ≤ kzk2 ≤ λ1 kzkA (9.231)
Demostración.
1/2
2
kzk2A T
= z AZ = (A 1/2 T
z) (A 1/2
z) =
A z
(9.232)
2
Entonces,
2 N
X
λN
A1/2 z
= λN λi (uTi z)2 (9.235)
2
i=1
N
X
≤ λ2i (uTi z)2 = kAzk22 (9.236)
i=1
N
X
2
≤ λ1 λi (uTi z)2 = λ1
A1/2 z
2. (9.237)
2
i=1
Lema 2.3.2.
x0 = 0, λ1 = 11, λN = 9, (9.243)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 259
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Por lo tanto k2 = 1.22 (relativamente pequeño). Tomemos el polinomio (ver figura 9.8)
Como vemos en la figura todos los polinomios se anulan en z = 10 la mitad del intervalo donde se
encuentran los autovalores. Esta región está sombreada en la figura. El máximo valor de p̄k (z) sobre
el intervalo se alcanza en los extremos del intervalo
lo cual implica que la tasa de convergencia es γ = 1/10 y el número de iteraciones por orden de
magnitud es
log(10)
n= =1 (9.246)
log(1/γ)
Mientras tanto, para los residuos
kAxk − bk2 √
≤ 1.22 × 10−k (9.247)
kbk2
= 1.10 × 10−k (9.248)
(9.249)
Para obtener la mejor estimación basada solamente en la información del autovalor máximo y
mı́nimo debemos construir un polinomio de tal forma que tome los valores más bajos posibles en el
intervalo λ1 ≤ z ≤ λn (ver figura 9.9). Estos polinomios pueden construirse en base a los polinomios
de Tchebyshev. Efectivamente, hagamos el cambio de variable
T0 (x) =1 (9.252)
T1 (x) =x (9.253)
2
T2 (x) = 2x − 1 (9.254)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 260
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Figura 9.10: Polinomio residual apropiado para un espectro con dos clusters de autovalores
Por construcción vemos que |Tn | ≤ 1 en |x| ≤ 1, o sea λn ≤ z ≤ λ1 . Entonces tomamos pk (z) =
Tn (x(z))/Tn (x(z = 0)). Como x(z = 0) cae fuera del intervalo |x| ≤ 1 y Tn crece fuertemente (como
xn ) fuera del mismo, es de esperar que Tn (x(z = 0)) 1 y entonces |pk (z)| 1 en λn ≤ z ≤ λ1 .
Mediante estimaciones apropiadas para el valor de Tn (x(z = 0)) puede demostrarse que
√
κ2 − 1 k
∗ ∗
kxk − x kA ≤ 2 kx0 − x kA √ (9.255)
κ2 + 1
Podemos ver que, si κ 1, entonces podemos aproximar
√
κ2 − 1 2
√ ≈1− √ (9.256)
κ2 + 1 κ
y entonces
log(10) √ √
n≈
κ = 1.15 κ (9.257)
2
que debe ser comparada con n ≈ 1.15κ para Richardson con ω = ωopt . La ventaja es clara, teniendo en
cuenta que (como veremos después) el costo (número de operaciones) de una iteración de gradientes
conjugados es similar al de una iteración de Richardson.
Sin embargo, la convergencia puede ser mucho mejor que la dada por la estimación anterior,
dependiendo de la distribución de los autovalores. Por ejemplo, asumamos que los autovalores están
distribuidos en (ver figura 9.10)
1 ≤ λ ≤ 1.5 ó 399 ≤ λ ≤ 400 (9.258)
Entonces κ = 400 y la estimación anterior (basada sólo en el número de condición) da
√
n = 1.15 400 = 23 (9.259)
Por lo tanto,
max |p̄3k (z)| ≤ 0.2k (9.264)
z∈σ(A)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 261
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
y γ = 0.21/3 ,
log 10
n= = 4.29 (9.265)
(1/3) log(1/0.2)
que representa una tasa de convergencia 5 veces más rapida que la predicha sólo en base al número
de condición de A.
En el contexto de GC la convergencia se puede mejorar tratando de encontrar precondicionamientos
que disminuyan el número de condición o bien que los autovalores están agrupados en pequeños
“clusters” (ver figura 9.11).
de donde
pTk+1 (b − Axk )
αk+1 = (9.271)
pTk+1 A pk+1
Si xk+1 = xk entonces α = 0, pero esto sólo ocurre si xk es la solución.
Lema. rl ∈ Kk para todo l < k
Demostración. Lo haremos por inducción en k. Para k = 1 Kk = span{r0 } y obviamente se
verifica que r0 ∈ Kk . Ahora asumiendo que es válido para k lo demostraremos para k + 1. Para l < k,
se cumple que rl ∈ Kk ⊂ Kk+1 , por lo tanto sólo resta demostrarlo para rk . Pero
k−1
X
xk = x0 + αj Aj r0 (9.272)
j=0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 262
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
y entonces,
rk = b − Axk (9.273)
k−1
X
= r0 − αj Aj+1 r0 ∈ Kk+1 2. (9.274)
j=0
por lo tanto xk = x∗ .De paso esto permite ver también que GC converge en N iteraciones (cosa que
ya hemos demostrado basándonos en la propiedad de minimización.) Efectivamente, supongamos que
rk 6= 0 entonces
dim Kk+1 = dim Kk + 1 (9.279)
Pero para k = N dim Kk = N entonces rk+1 = 0.
Lema 2.4.2. Si xk =6 x∗ entonces xk+1 = xk + αk+1 pk+1 donde pk+1 está determinado (a menos
de una constante multiplicatva) por
pTk+1 Aξ = 0 (9.284)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 263
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Teorema 2.4.1. Sea A spd. y asumamos que rk 6= 0. Sea p0 = 0. Entonces pk+1 = rk + βk+1 pk
para algún escalar βk+1 y k ≥ 0.
Demostración. ver libro.
Lema 2.4.3. Las siguientes fórmulas son también válidas para obtener los αk y βk .
krk k22 krk k22
αk+1 = , βk+1 = (9.286)
pTk+1 Apk+1 krk−1 k22
Demostración. Ver libro.
Algoritmo 2.4.1. cg(x, b, A, , kmax )
1. r = b − Ax, ρ0 = krk22 , k = 1
√
2. Do while ρk−1 > kbk2 y k < Kmax
a. If k = 1 then
p=r
else
β = ρk−1 /ρk−2
p = r + βp
endif
b. w = Ap
c. α = ρk−1 /(pT w)
d. x = x + αp
e. r = r − αw
f. ρk = krk k2
g. k = k + 1
Notar que no es necesario formar explı́citamente la matriz A (ni siquiera en forma “sparse”, es
decir, la lista de {i, j, aij }), sino que solo es necesario definir una rutina que, dado x calcule Ax.
Esto se llama una operación matriz-vector. Debido a esta propiedad de no necesitar tener la matriz
almacenada, GC es llamado un método mátrix free.
Costo de GC. Las variables que se deben mantener almacenadas durante la iteración son x, w, p, r
o sea 4N elementos. En cuanto al número de operaciones,
1 producto matriz vector (paso 2.b)
2 productos escalares (pasos 2.c y 2.f)
3 “axpys” (pasos 2.a, 2.d y 2.e).
Una operación “axpy” es aquella de la forma y ← αx + y, es decir adicionar a un vector x un
múltiplo escalar de otro vector y. (El nombre proviene de que la rutina de la librerı́a BLAS que realiza
esta operación y que a su vez es una descripción mnemotécnica de la operación que se realiza.). De
todos, el que requiere más operaciones es generalmente el producto matriz vector, sobre todo en la
versión matrix free y sobre todo cuanto más compleja es la fı́sica del problema. Por ejemplo, si x
representa el vector de potenciales nodales guardados por columnas para una malla homogénea de
paso h (como en la función laplacian.m usada en la Guı́a 1), entonces la implementación de Ax es
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 264
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
phi=reshape(phi,n-1,n-1);
lap_phi=lap_phi(:);
donde vemos que básicamente el número de operaciones necesario es O(5N ), ya que 5 es el número
de puntos involucrados en el stencil de Poisson. Sin embargo, si la complejidad de la representación
aumenta el cómputo se mantiene en general O(N ) pero con cada vez más operaciones por nodo.
Por ejemplo, si la malla está refinada hacia los lados, es decir si el h no es constante, entonces hay
que multiplicar cada fila por un h distinto. Si además permitimos que las lı́neas de la malla no sean
paralelas a los ejes, entonces habrá que calcular los coeficientes métricos de la malla. Si consideramos
el uso de mallas no estructuradas con el método de los elementos finitos el cálculo de las matrices de
cada elemento aumentará todavı́a más el número de operaciones por nodo.
Costo de GC como método directo. Si bien el método de GC se usa raramente como método
directo, por razones que veremos más adelante, vamos a estimar el número de operaciones necesarios
y compararlo con eliminación de Gauss. Considerando un cuadrado de N = n × n nodos en 2D y un
cubo de N = n × n × n en 3D, tenemos que,
Hemos hecho uso de que el número de operaciones para eliminación de Gauss es N m2 . Para GC
hemos usado
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 265
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Vemos que, incluso como método directo, GC llega a ser más competitivo en 3D. De todas formas, como
ya hemos mencionado, por el problema de precisión finita (ver figura 9.7) en general para problemas
grandes se llega a la precisión de la máquina antes de las N iteraciones.
En cuanto a la capacidad de almacenamiento, GC obviamente requiere mucho menos memoria
(O(N ) para GC contra O(N 1.5 ) en 2D y O(N 1.33 ) en 3D para Gauss).
Comparación como método iterativo con Richardson. Tanto para Richardson como para
GC el costo para bajar el error un order de magnitud es, básicamente
Donde n es el número de iteraciones necesario para bajar el error un orden de magnitud. Asumiendo
que el costo de las iteraciones es prácticamene el mismo para los dos métodos (lo cual es válido si
hacemos una implementación matrix free con una formulación relativamente compleja, por ejemplo
FEM), entonces los costos relativos están dados por las tasas de convergencia y, usando que en 3D
κ ∼ n2 = N 2/3 .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 266
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
verdadero valor del residuo, puede creer que realmente el error ha bajado (después de 600 iteraciones)
hasta 2×10−64 , mientras que el error verdadero está en el orden de 3×10−3 .
Cuando calculamos los residuos directamente a partir de (9.50) decimos que se trata de los verda-
deros residuos. El porqué los residuos calculados según el algoritmo cg(...) (ver pág. 264) tienden a
bajar, en vez de rebotar como lo hacen los verdeaderos residuos, puede entenderse más fácilmente en
el algoritmo de Richardson. Efectivamente, puede demostrarse simplemente que los residuos también
satisfacen una relación como la (9.101) a saber
De manera que también podrı́amos calcular los residuos utilizando recursivamente esta relación. Pero
esta relación no involucra diferencias entre magnitudes grandes como en (9.50) y por lo tanto krk k
calculado por esta expresión sigue descendiendo, independientemente de la precisión de la máquina.
Una forma de corregir el el algoritmo cg(...) (ver pág. 264) es agregar una lı́nea en cada iteración
que calcule el verdadero residuo, sólo a los efectos de chequear convergencia, sin embargo esto involucra
un producto matriz vector adicional por iteración, es decir prácticamente duplica el costo del método.
Precondicionamiento. Asumamos que tenemos una matriz M fácil de invertir y tal que
κ(M A) κ(A) o tal que los autovalores están agrupados en clusters. Entonces podemos tratar
de resolver
(M A) x = (M b) (9.293)
en vez del sistema original, ya que este está bien condicionado. Sin embargo, incluso si M es spd. el
producto de dos matrices spd. no es necesariamente spd. Basta con ver el ejemplo,
1 0
A = , (9.294)
0 2
2 1
M = (9.295)
1 2
y una vea obtenido y obtener x = Sy. Como SAS es equivalente a S 2 A = M A tienen la misma
distribución de autovalores y SAS sı́ es spd. Pero falta resolver el problema de hallar S, lo cual puede
ser más complicado que hallar M y por otra parte el cálculo de SAS por un vector involucra el cálculo
de dos productos matriz-vector adicionales, contra uno sólo si precondicionamos de la forma (9.293).
La solución pasa por reproducir el algoritmo de Gradiente Conjugado pero reemplazando el producto
escalar por xT M x y finalmente resulta en el siguiente algoritmo de GC precondicionado,
Algoritmo 2.4.1. pcg(x, b, A, M, , kmax )
1. r = b − Ax, τ0 = rT M r, ρ0 = krk2 , k = 1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 267
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
√
2. Do while ρk−1 > kbk2 y k < Kmax
a. If k = 1 then
z = Mr
else
β = ρk−1 /ρk−2
p = M r + βp
endif
b. w = αp
c. α = ρk−1 /(pT w)
d. x = x + αp
e. r = r − αw
f. ρk = krk k22 ,τk = rkT M r
g. k = k + 1
La modificación principal del algoritmo pasa por reemplazar p por M p en las definiciones de los p
y reemplazar los productos escalares xT y por la forma cuadrática xT M y. Además, ahora calculamos
escalares τk para el cálculo de las direcciones pk y escalares ρk para chequear la convergencia. (Mientras
que en la versión no precondicionada, ρk = τk ).
El costo adicional más importante para el esquema precondicionado es un producto matriz-vector
adicional con la matriz precondicionada. El costo del producto matriz-vector para el precondiciona-
miento puede variar mucho y depende de la complejidad del precondicionamiento. Por ejemplo, si
tomamos M como la inversa de la parte diagonal de A (precondicionamiento Jacobi), entonces el
costo es ı́nfimo, pero en el otro extremo podemos tomar M = A−1 . Entonces GC converge en una
iteración pero el costo de calcular M x es el costo de invertir A!! Tenemos entonces que
Intrı́nsecos al problema
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 268
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
De tipo general
• Jacobi
• Factorización incompleta
• Precondicionamiento polinomial
Sea x de la forma
(xk )i = ei2πki/N (9.300)
donde i es la unidad imaginaria. Puede verse que (x)i es un autovector de A. Esto vale, no sólo para
la matriz del laplaciano 1D, sino también para cualquier operador homogéneo (que no depende de x)
discretizado sobre una malla homogénea. En este caso las filas de la matriz A son las mismas, sólo que
se van corriendo una posición hacia la derecha a medida que bajamos una fila, es decir:
donde µ es cı́clico en p de perı́odo N , es decir Âp+N = Âp . Pero los x de la forma (9.300) son la
base que induce la transformada de Fourier, de manera que si F es la matriz que tiene como columnas
estos autovectores, vale que
F z = fft(z), ∀z (9.302)
donde fft(z) indica el operador de transformada de Fourier tal como está definido en Matlab. Como
las columnas de F son autovectores de A, entonces F −1 AF es diagonal y podemos tomar como
precondicionamiento
M = F −1 [diag(A)]−1 F (9.303)
por lo visto, para matrices periódicas, M = A−1 y entonces GC convergerá en una iteración. La
idea es que (9.303) puede ser un buen precondicionamiento incluso en condiciones más generales, por
ejemplo cuando la matriz no es periódica o cuando la malla no es homogénea. En cuanto al costo del
precondicionamiento, multiplicar por F y −1 es equivalente a aplicar transformadas y antitransforma-
das de Fourier (aplicar las operaciones fft( ) y ifft( ) de Matlab. Estas requieren O(N log2 (N ))
operaciones y la inversión de la parte diagonal de A sólo requiere O(N ) operaciones. La idea puede
extenderse fácilmente a 2D y 3D.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 269
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
Multigrilla. Si hacemos una descomposición modal del error, puede verse que el error en las com-
ponentes correspondientes a los autovalores más pequeños converge en general mucho más lentamente
que para los autovalores más altos. Esto es más evidente para el método de Richardson, donde los
factores de amplificación 1 − ωλi son muy cercanos a 1 para los autovalores más pequeños. A su vez,
como ya hemos visto en los ejemplos, los autovalores altos están asociados a frecuencias altas (fun-
ciones que son muy oscilatorias espacialmente) mientras que los autovalores bajos están asociados a
autofunciones suaves. Esto significa que después de un cierto número de iteraciones el error para las
frecuencias altas se debe haber reducido mucho mientras que el grueso del error está en las componen-
tes de baja frecuencia. Como las funciones suaves pueden ser restringidas a una malla más gruesa sin
perder información, esto sugiere la idea de proyectar el problema a una malla más gruesa (digamos con
h0 = 2h y por lo tanto con la mitad de nodos, ver figura 9.13) y realizar una serie de iteraciones sobre
esta malla para obtener una corrección. Una vez obtenida ésta se interpola sobre la malla original y
se agrega al vector de iteración. La idea es que la corrección va a ser tan buena como si hubiéramos
iterado sobre la malla original pero a un costo igual a la 1/2nd ya que la malla gruesa tiene la mitad
de nodos. Esta idea puede ser aplicar recursivamente, ya que al iterar en la malla gruesa va a volver
a ocurrir que despues de una serie de iteraciones va a quedar una fuerte componente del error en las
frecuencias bajas y estas las podemos corregir iterando sobre una malla h00 = 2h0 = 4h y ası́ siguiendo.
De esta manera, multigrilla se basa en resolver el problema en una serie de mallas con paso de malla
h, 2h, 4h, . . . , 2m h, haciendo una serie de iteraciones en la malla fina seguida de iteraciones sobre la
malla más gruesa y ası́ siguiendo.
Descomposición de dominios. Ver §9.4.1
Precondicionamiento Jacobi. Consiste en simplemente tomar M = (diag A)−1 . Como la matriz
a invertir es diagonal el costo de invertirla es muy bajo (O(N ) opeaciones). Este precondicionamiento
no aporta nada en situaciones donde los elementos de la diagonal son aproximadamente constantes
(precondicionar con un múltiplo escalar de la identidad no puede nunca mejorar el número de condi-
ción). Esto ocurre por ejemplo para el Laplaciano (tanto en 1D como en más dimensiones) cuando el
paso de la malla es constante. Cuando la malla no es homogénea (ver figura- 9.14) entonces el número
de condición es !
L 2
κ(A) = O (9.304)
hmin
donde hmin es el mı́nimo h sobre toda la malla y entonces puede ser bastante peor que O(n2 ) donde n
es el número de elementos en una dirección caracterı́stica. Los elementos diagonales de A son ∝ h−2
x +
h−2
y = O(min(h ,
x yh )−2 ) y puede verse que este precondicionamiento corrige el mal condicionamiento
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 270
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.2. Método de Gradientes Conjugados
y=0;
for k=0:m
y=p(k)*x+A*y;
end
donde (usando la notación de Octave) p(x) = p1 xm + p2 xm−1 + . . . + pm+1 y los coeficientes pi están
almacenados en un vector de longitud m + 1. En la versión matrix free, el producto Ax está definido
por medio de una rutina. Sea w=prodvec(x) la rutina que retorna w = Ax cuando se le pasa x entonces
el algoritmo se escribe como
y=0;
for k=0:m
y=p(k)*x+prodvec(y);
end
en el cual aparece la matriz AT A que es simétrica y definida positiva si A es no singular. Notar que
en cada iteración de GC sobre este sistema estamos minimizando
de ahı́ el nombre de “Conjugate Gradient on the Normal Equations to minimize the Residual” (CGNR).
Otra posibilidad es hacer el cambio de variable x = AT y y resolver
(AAT )y = b (9.309)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 271
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
para y. Una vez encontrado y, x se obtiene con una operación matriz vector adicional x = AT y. La
norma que se minimiza es en este caso
de ahı́ el nombre de “Conjugate Gradient on the Normal Equations to minimize the Error” (CGNE).
Observaciones
En general ocurre que κ(AT A) ∼ κ(A)2 , lo cual augura muy bajas tasas de convergencia si el
κ(A) es grande.
En la versión matrix free hay que programar no sólo una rutina que calcule Ax sino también una
que calcule AT x. Para problemas provenientes de discretizaciones por FEM o FDM de PDE’s,
esto puede resultar bastante complicado.
Nótese que esta propiedad de minimización es muy similar con la de Gradientes Conjugados, con la
diferencia que en GC se aplica al funcional (9.181). Como aquı́ estamos contemplando la posibilidad
que A no sea simétrica o definida positiva, entonces no podemos tomar este funcional. Si consideramos
que minimizar kb − A xk2 es equivalente a minimizar kb − A xk22 el cual contiene en la forma cuadrática
AT A, entonces vemos que GMRES es en parecido a CGNR, pero con la diferencia de que el espacio
de Krylov contiene span{r0 , Ar0 , A2 r0 , ...}, no span{r0 , AT Ar0 , (AT A)2 r0 , ...}. Esta diferencia es muy
importante ya que es la que hace que la tasa de convergencia de GMRES c
con la salvedad de que con GMRES no debemos calcular productos AT -vector pero en contraparte
debemos mantener una base del espacio de Krylov.
Como x ∈ x0 + Kk puede ponerse de la forma
k−1
X
x = x0 + γj Aj r0 (9.314)
j=0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 272
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
entonces
k−1
X
b − Ax = b − A x0 − γj Aj+1 r0 (9.315)
j=0
k
X
= r0 − γj−1 Aj r0 (9.316)
j=1
= p̄(A) r0 (9.317)
krk k2
≤ kp̄k (A)k2 (9.319)
kr0 k2
Teorema 3.1.2. Sea A no-singular. Entonces GMRES encuentra la solución dentro de las N
iteraciones
Demostración. Usar p̄(z) = p(z)/p(0), donde p(z) = det(A − zI) es el polinomio caracterı́stico.
2
Para GC hemos usado el teorema espectral para encontrar estimaciones de la tasa de convergencia.
Esto no puede asumirse en general si A no es simétrica. Sin embargo podemos restringir el análisis al
caso de que A sea diagonalizable aunque los autovalores y autovectores pueden ser ahora comlejos.
Nota sobre la condición de diagonalizabilidad de matrices. Recordemos que
El producto escalar de dos vectores pertenecientes a C N se define como xH y = nk=1 (x)k (y)k .
P
Puede verse que si A conmuta con su transpuesta conjugada (es decir AH A = A AH ) entonces
A es normal.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 273
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
krk k2
≤ κ2 (V ) max |p̄k (Z)| (9.320)
kr0 k2 z∈σ(A)
≤ kV k2
V −1
2 kp̄k (Λ)k2
kp̄k (A)k2 (9.321)
= κ2 (V ) max |p̄k (Z)|2. (9.322)
z∈σ(A)
kV xk2
kV k2 = max (9.323)
x6=0 kxk2
p
(V x)H (V x)
= max √ (9.324)
x6=0 xH x
p
x (V H V ) x
H
= max √ (9.325)
x6=0 xH x
=1 (9.326)
y similarmente para V −1 . Por otra parte, si A se aproxima a una matriz no diagonalizable, entonces
κA () → ∞. Esto puede verse con un ejemplo simple. La matriz
0 1
A= (9.327)
0 0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 274
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
0.0000e+00 0.0000e+00
0.0000e+00 1.0000e-05
octave> cond(v)
ans = 2.0000e+05
octave>
Ahora consideremos que ocurre si utilizamos una rutina numérica de diagonalización (como el
eig( ) de Octave) sobre una matriz que no es diagonalizable. Lo deseable serı́a que la rutina numérica
nos mostrara un mensaje de eror diciendo que la matriz no es diagonalizable. Sin embargo, debido a
los errores de redondeo, la matriz aparece ser como diagonalizable desde el punto de vista numérico y
entonces la forma efectiva de verificar “cuán diagonalizable es una matriz” es chequear κ2 (V ). Cuanto
más grande es este número “menos diagonalizable” es la matriz.
octave>a=[0 1;0 0]
a =
0 1
0 0
octave> [v,d]=eig(a)
v =
1.00000 -1.00000
0.00000 0.00000
d =
0 0
0 0
octave> cond(v)
ans = 1.9958e+292
Esto es similar a cuando nos preguntamos si una matriz es inversible o no. Si calculamos el de-
terminante de la matriz, por errores de redondeo este número siempre resulta ser diferente de cero.
Además, la misma matriz multiplicada por una factor a < 1 tiene un determinante que es un factor aN
veces menor. Para matrices grandes (digamos N = 100) un pequeño factor 0.1 puede representar un
cambio en la magnitud del determinante por un factor 10−100 . Todo esto indica que el determinante
no es un buen indicador de “cuan singular es una matriz” y un análisis más detallado muestra que el
indicador correcto es el número de condición de la matriz: cuanto más alto es el número de condición
“más singular es la matriz”.
Los siguientes Teoremas reproducen los resultados ya obtenidos para GC. Su demostración se basa
nuevamente en la construcción de polinomios residuales apropiados que se anulan en los autovalores
de la matriz.
Teorema 3.1.4. Sia A tienen autovalores distintos entonces GMRES converge en k iteraciones.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 275
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
Una estimación bastante cruda de la tasa de convergencia se puede obtener asumiendo que existe
un ω tal que kI − ωAk2 = ρ < 1. Tomando el polinomio de p̄k (x) = (1 − ωz)k podemos obtener la
estimación de convergencia
krk k2 ≤ ρk kr0 k2 (9.329)
Esta estimación de convergencia tiene algunos puntos en común con las estimaciones de convergencia
que hemos obtenido para el método de Richardson. Notemos que bajoe estas mismas condiciones el
método de Richardson predice la misma tasa de convergencia. Sin embargo la diferencia fundamental
está en que con GMRES no es necesario conocer el valor de ω, de hecho, como (9.329) es válido
para cualquier ω es válido para aquel que minimize kI − ωAk2 , es decir que su convergencia es mejor
que la de Richardson sobre-relajado con el mejor valor del parámetro de relajación que pudiéramos
obtener, sin necesidad de conocer ningúna norma ni estimación de los autovalores de A. Por otra
parte, GMRES tiene en su contra que debe guardar la base del espacio de Krylov. Pero si hacemos la
estrategia del “restart” que veremos más adelante, según la cual se realizan un cierto número m (bajo)
de iteraciones de GMRES y obtenido el xm se vuelve a iterar GMRES de cero desde xm , entonces
este GMRES con restart tendrı́a una tasa de convergencia mejor que la mejor que podrı́amos obtener
con el mejor parámetro de relajación ω, a un costo similar por iteración y con un requerimiento de
capacidad de almacenamiento no demasiado alto.
Como esta estimación no depende de una diagonalización de A podrı́amos esperar que nos de
alguna estimación de la convergencia en el caso en que A no es diagonalizable. Deafortunadamente,
puede verificarse que para un bloque de Jordan de la forma
λ 1 0 ... 0
0 λ 1 0 ...
..
A= . 0 λ 1 ... (9.330)
. .
0 .. .. .. 1
.
0 0 ... 0 λ
vale que kI − ωAk2 > 1 para todo ω, es decir que no hay ω que haga convergente a Richardson y, a la
vez, nos permita obtener una estimación de la tasa de convergencia para GMRES. Too esto harı́a pensar
que si la matriz no es diagonalizable (o “casi no diagonalizable’) entonces GMRES no convergerá. Pero
si la forma de Jordan de una Matriz incluye un pequeño bloque de Jordan de dimension kJ y el resto
es diagonalizable, entonces basta con tomar polinomios residuales de la forma
(z − λJ ) kJ
p̄k (z) = qk−kJ (z) (9.331)
λJ
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 276
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
9.3.3. Precondicionamiento
La forma de implementar el precondicionamiento en GMRES difiere con GC en cuanto a que para
GMRES no es necesario que el sistema precondicionado
(M A) x = (M b) (9.332)
sea ni simétrico ni definido positivo. Entonces basta con encontrar un precondicionamiento M tal que
kI − M Ak2 < 1 y se resuelve directamente el sistema precondicionado. Debido a esto, la rutina de
GMRES no incluye nada en especial en cuanto al precondicionamiento, sino que directamente se pasa
M b como miembro derecho, y la rutina que calcula el producto matriz vector retorna (M A) x en vez
de A x.
Por otra parte se pueden usar precondicionadores por derecha y por izquierda. El precondiciona-
miento por izquierda es como fue expuesto en el párrafo anterior mientras que el precondicionamiento
po derecha consiste en encontrar un M tal que kI − AM k2 < 1 y entonces hacer el cambio de variable
x = M y, resolver con GMRES el sistema
(AM ) y = b (9.333)
y finalmente, una vez encontrado y obtener x de x = M y.
En cuanto a las ideas para desarrollar precondicionadores son similares a las utilizadas con GC.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 277
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
qk = BkT r0 (9.342)
r0 A r0
r0 A2 r0
qk−1
= = (9.343)
.. r0 Ak r0
.
r0 Ak r0
de donde vemos que en cada iteración sólo necesitamos calcular el último elemento del vector, lo cual
involucra O(N ) operaciones. Algo similar ocurre con el cálculo de la matriz Hk = BkT Bk a invertir.
Hk = BkT Bk (9.344)
T
h
Bk−1 i
= k T Bk−1 Ak r0 (9.345)
(A r0 )
T Ak r
Hk−1 Bk−1 0
= T Ak r )T r T (Ak )T Ak r (9.346)
(Bk−1 0 0 0
con lo cual sólo es necesario calcular la última columna y el elemento diagonal. La última fila es igual
a la transpuesta de la última columna ya que Hk es simétrica y definida positiva por construcción. El
cálculo de esta última columna requiere de O(kN ) operaciones. Finalmente la inversión del sistema
cuya matriz es Hk requiere O(k 3 ) operaciones. Mientras mantengamos k N (más estrictamente es
k 2 N ) este costo es despreciable contra las k N operaciones.
1. r0 = b − Ax0 , v1 = r0 / kr0 k2
2. Para i = 1, . . . , k − 1
w = Avi − ij=1 ((Avi )T vj ) vj
P
vi+1 = wi / kwi k2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 278
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
Si en algún i sucede que w = 0 entonces decimos que el algoritmo falla o colapsa (“breakdown”).
Asumiendo que los r0 , Ar0 , . . . , Ak−1 r0 son linealmente independientes (o sea que: dim Kk = k), en-
tonces podemos que
El algoritmo no falla.
Esto se puede demostrar por inducción en i. Para i = 1 es obvio, ya que v1 es igual a r0 normalizado.
Para demostrarlo para i + 1, observemos que w es otogonal a todos los vj para j ≤ i
i
X i
X
vjT A vi − T
((Avi ) vl ) vl ) = vjT A vi − (Avi )T vl ) δjl (9.347)
l=1 l=1
= vjT A vi − (Avi )T vj ) (9.348)
=0 (9.349)
Ahora bien Avi pertenece a Ki+1 y los vl para l = 1, . . . , i pertenecen a Ki . Si w 6= 0 entonces podemos
normalizar w apra obtener vi+1 y {vl }i+1
l=1 es un conjunto de vectores ortonormales en Ki+1 . Como Ki=1
es de dimensión a lo sumo i + 1, vi+1 y {vl }i+1
l=1 es una base ortogonal. Sólo falta demostrar entonces
que bajo las hipótesis asumida el algoritmo no falla.
Ahora bien, por inducción podemos asumir que
Pero si el algoritmo falla, entonces quiere decir que Avi es una combinación lineal de los {vl }l = 1i y
eso implicarı́a que Ai r0 es una combinación lineal de los mismos e indicarı́a que los {Aj−1 r0 }ij=1 son
linealmente dependientes.
Por construcción Avj ∈ Ki para j < i, con lo que resulta que AKi ⊂ Ki . Pero como
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 279
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
para una cierta matriz H de i × i. La columna j-ésima de H son los coeficientes de la expansión de
Avj en término de los {vl }j+1
l=1 . H es no singular ya que A no lo es. Efeectivamente si z 6== 0, z ∈ IR
i
A (Vi z) = Vi H z = 0 (9.354)
vk+1 = Avk
for j = 1, . . . , k
T v )v
vk+1 = vk+1 − (vk+1 j j
Esto quiere decir que Avi es una combinación lineal de los {vj }i+1
j=1 . Como la columna j-ésima de Hk
son los coeficientes de la expansión de Avj en término de los {vl }j+1
l=1
A Vk = VK Hk (9.361)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 280
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
vemos los hlj deben ser de la forma hlj = 0 para l > j + 1. Es decir
h11 h12 h13 ...
h21 h22 h23 ...
Hk =
0 h32 h33 ...
(9.362)
0 0 h43 ...
.. .. .. ..
. . . .
y como Vk es ortogonal
krk k2 =
βe1 − Hk y k
(9.365)
2
Para resolver este problema se recurre a una estrategia similar a la anterior. Es decir, en Octave
y=beta*H\e1 si usamos la solución por mı́nimos cuadrados interna de Octave, o y=beta*(H’*H)\H*e1
si lo resolvemos explı́citamente. Finalmente, existen algoritmos especiales que permiten factorizar la
matriz con un algoritmo QR en forma más eficiente usando la estructura Hessenberg superior de Hk .
Independientemente de la implementación de la resolución del problema de cuadrados mı́nimos, el
algoritmo de GMRES es
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 281
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
9.3.9. Restart
Como debemos almacenar una base para Kk esto requiere kN reales lo cual va creciendo con k y
eventualmente excede la memoria de la máquina. Entonces la idea es iterar GMRES m iteraciones y
empezar de nuevo a partir de la última iteración, es decir aplicar GMRES inicializando con x0 ← xm .
El siguiente algoritmo gmresm refleja esto,
Por otra parte los CGN* tienen la desventaja de que necesitan un producto AT x y su tasa de con-
vergencia está regida por κ(AT A) ∼ κ(A)2 , mientras que GMRES sólo necesita calcular A x y la
convergencia está basada en κ(A), pero es necesario guardar una base de Kk , lo cual representa una
capacidad de almacenamiento que va creciendo con las iteraciones. Como esto es virtualmente im-
posible para grandes sistemas desde el punto de vista práctico se utiliza el GMRESm, lo cual puede
involucrar un serio deterioro de la convergencia.
El método ideal deberı́a ser como CG:
Requerir baja capacidad de almacenamiento. (Sobre todo que no crezca con las iteraciones).
Converger en N iteraciones.
En esta sección describiremos algunos métodos que tratan de aproximarse a estos requerimientos con
menor o mayor éxito.
Bi-CG: (por Biconjugate Gradient Squared) No se basa en una propiedad de minimización sino
de ortogonalidad
rkT w = 0, para todo w ∈ Kk (9.366)
donde Kk
Kk = span{r̂0 , AT r̂0 , . . . , (AT )k−1 r̂0 } (9.367)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 282
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
es el espacio de Krylov conjugado. r̂0 es un vector que debe ser provisto por el usuario, pero lo más
usual es tomar r̂0 = r0 . El algoritmo genera secuencias de residuos y direcciones de búsqueda {rk , pk }
y sus correspondientes conjugados {r̂k , p̂k } tales que hay biortogonalidad entre los residuos
r̂kT rl = 0, k 6= l (9.368)
p̂Tk A pl = 0, k 6= l (9.369)
pero debe recordarse que Bi-CG comparado con GMRES no necesita un espacio de almacenamiento
creciente. Además una iteración de Bi-CG requiere dos productos matriz vector, pero el costo de
GMRES también crece con las iteraciones.
CGS (por Conjugate Gradient Squared). Este método trata de ser una extensión de Bi-CG pero
tal que no necesita calcular AT x. Puede verse que en la iteración k
entonces el factor rkT r̂k (que juega el papel de ρk en GC, (ver el algoritmo cg(...) en pág. 264),
puede reescribirse de la forma
donde
k
Y
qk (z) = (1 − ωi z) (9.376)
i=1
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 283
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
de manera que
4 productos escalares
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 284
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.3. El método GMRES
Figura 9.16: Solución para el problema de advección difusión, en los lı́mites dominado por difusión y
por advección
donde
La solución exacta es
e2Pex − 1
φ(x) = (9.388)
e2Pe − 1
donde
aL
Pe = (9.389)
2k
Aquı́ L = 1. En la figura 9.16 vemos Para a → 0 el problema se acerca a la ec. de Laplace y
la solución tiende a ser una recta que une los valores de contorno, mientras que para Pe grandes y
positivos el fluido va en la dirección +x y arrastra el valor de la condición aguas arriba una cierta
longitud hasta que a una distancia pequeña δ sube rápidamente para tomar el valor dado por la
condición en x = 1.
La discretización numérica pasa por reemplazar las derivadas por diferencias numéricas
y
φ0j ≈= (φj+1 − φj−1 )/(2h) (9.391)
Lamentablemente, esta discretización falla cuando el Pe 1, en el sentido de que produce fuertes
oscilaciones numéricas. La solución usual es agregar una cierta cantidad de difusión numérica, es decir
que se modifica la ecuación original a
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 285
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.4. Descomposición de dominios.
donde
1 1
knum = (ah/2) − (9.393)
Peh tanh(Peh )
ah
Peh = (9.394)
2k
Realizar las siguientes tareas:
3. Verificar que la matriz no es simétrica. Ver que la parte correspondiente a φ00 es simétrica mientras
que la que corresponde a φ0 es antisimétrica.
La descomposición en bloques refleja el hecho de que como los grados de libertad contenidos en x1
y x3 no están compartidos por ningún elemento, los bloques correspondientes A13 y A31 son nulos.
Podemos eliminar x1 y x3 de la primera y última lı́nea de ecuaciones y obtener una ecuación para los
grados de libertad de interfase x2
(−A23 A−1 −1 0
33 A32 + A22 − A21 A11 A12 )x2 = b2 (9.396)
S x2 = b02 (9.397)
Ahora consideremos resolver este sistema por GC. En cada iteración debemos calcular el producto
de la matriz entre paréntesis por un vector x2 . Para los términos primero y tercero de la matriz es
necesario factorizar y resolver un sistema lineal con las matrices A33 y A11 . Esto corresponde a resolver
problemas independientes sobre cada uno de los dominios con condiciones Dirichlet sobre la interfase,
por lo tanto estos problemas pueden ser resueltos en procesadores independientes lo cual implica un
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 286
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.4. Descomposición de dominios.
alto grado de paralelización del problema. Esto se puede extender a más procesadores, y en el lı́mite
podemos lograr que en cada procesador se resuelva un sistema lineal lo suficientemente pequeño como
para ser resuelto en forma directa. La eficiencia del método puede ser mejorada aún más encontrando
un buen precondicionamiento.
Si separamos la matriz S que aparece en el sistema (9.397) en la contribución por el dominio de
la izquierda SL y de la derecha SR
S = SR + SL (9.398)
SL = (1/2)A22 − A21 A−1
11 A12 (9.399)
SR = −A23 A−1
33 A32 + (1/2)A22 (9.400)
M = (1/4) (SL−1 + SR
−1
) (9.401)
M = S −1 = (1/2)SL−1 (9.402)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 287
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.4. Descomposición de dominios.
estos números de condición nos basaremos en un análisis de Fourier del problema del continuo para
la ecuación de Laplace. Las ecuaciones de gobierno son
∆φ = −f en Ω (9.406)
φ = φ̄ en Γ1 (9.407)
(9.408)
Consideremos la solución en dos dominios Ω1 , Ω2 . La restricción de φ a cada uno de los dominios debe
satisfacer
∆φ1 = −f en Ω1 (9.409)
φ1 = φ̄1 en Γ1 (9.410)
(9.411)
∆φ2 = −f en Ω2 (9.412)
φ2 = φ̄2 en Γ2 (9.413)
(9.414)
∆ψ1 = −f en Ω1 (9.417)
ψ1 = ψ̄1 en Γ1 (9.418)
ψ1 = 0 en ΓI (9.419)
∆ψ2 = −f en Ω2 (9.420)
ψ2 = φ̄2 en Γ2 (9.421)
ψ2 = 0 en ΓI (9.422)
∆φ̃1 = 0 en Ω1
φ̃1 = 0 en Γ1
φ̃1 = u en ΓI (9.423)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 288
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.4. Descomposición de dominios.
∆φ̃2 = 0 en Ω2
φ̃2 = 0 en Γ2
φ̃2 = u en ΓI (9.424)
donde ( )
∂ψ1 ∂ψ2
b̃ = − − (9.426)
∂x ΓI ∂x ΓI
donde ∂φ 1
∂n denota la derivada normal tomando la normal exterior al dominio en cuestión, que para el
dominio Ω1 coincide con la dirección de +x, y φ1 es la solución de (9.423), para el correspondiente u.
Análogamente se puede definir S2 por
∂φ2 ∂φ2
S2 {u} = =− (9.428)
∂n ∂x
donde φ2 está definido en función de u por (9.424) y el signo − viene de que la normal exterior a Ω2
sobre ΓI va ahora según la dirección −x . Entonces
S{u} = g (9.429)
donde S = S1 + S2 .
Ec. (9.429) es la versión del continuo de (9.397). Calcularemos el número de condición de S a partir
del cálculo de autovalores de S.
Cada uno de los operadores de Stekhlov-Poincaré actúa sobre el espacio de funciones definidas
sobre ΓI . Podemos mostrar que las funciones de la forma
son autofunciones de estos operadores. La solución φ̃1 que es solución de (9.423) correspondiente a
u = um es de la forma
φ̃1 = φ̂(x) sin(km y), (9.431)
Reemplazando en las ecuaciones que definen (9.423), la primera de las ecuaciones resulta ser
φ̂00 − km
2
φ̂ = 0 (9.432)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 289
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.4. Descomposición de dominios.
de donde
φ̂(x) = a ekm y + b e−km y (9.433)
y de las condiciones de contorno en x = 0, L1 resulta ser
sinh km y
φ̂(x) = (9.434)
sinh km L1
la derivada normal en ΓI es entonces
∂ φ̃1 cosh km L1 km
= km = (9.435)
∂n sinh km L1 tanh km L1
de manera que
km
S1 {um } = um (9.436)
tanh km L1
Vemos entonces, que um es una autofunción de S1 con autovalor
km
λ1m = (9.437)
tanh km L1
Análogamente, el operador S2 tiene autovalores
km
λ2m = (9.438)
tanh km L2
El operador S tiene autovalores
1 1
λm = km + (9.439)
tanh km L1 tanh km L2
Ahora bien, dijimos que estimarı́amos el número de condición de la matriz S a partir de los autovalores
de S. En el continuo S tiene infinitos autovalores y los λm van a infinito para m → ∞, de manera que
el número de condición de S va a infinito. Obtendremos una estimación para el número de condición
de S asumiendo que los autovalores de S se aproximan a los primeros NI autovalores de S, donde NI
es la dimensión de S. El autovalor más bajo es
π 1 1
λmin = λ1 = + (9.440)
L tanh(L1 /L) tanh(L2 /L)
si L1 = L2 = L/2, entonces
π 2 13.6
λmin = = (9.441)
L tanh(1/2) L
El autovalor máximo se obtiene para m = NI y asumiendo que NI 1 y L1 /L, L2 /L no son demasiado
pequeños, entonces km L1 = NI πL1 /L 1 y tanh km L1 ≈ 1 y similarmente tanh km L2 ≈ 1 y por lo
tanto
λmax = 2km = 2NI π/L (9.442)
y el número de condición es
κ(S) ≈ tanh(1/2) NI = 0.46 NI (9.443)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 290
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.4. Descomposición de dominios.
Notar que κ(S) va como 1/h al refinar, mientras que recordemos que el número de condición de A (la
matriz del sistema) va como 1/h2 (Guı́a de ejercicios Nro. 1).
Otro punto interesante a notar es que, para m → ∞ los autovalores tienden a hacerse indepen-
dientes de las longitudes de los dominios en la dirección normal a la interfase. Por ejemplo, para los
autovalores λ1m de S1 , L1 aparece en el argumento de la tangente hiperbólica y esta tiende a 1 para
m → ∞, independientemente del valor de L1 . Incluso puede verse que para m → ∞ los autovalores se
hacen independientes del tipo de condición de contorno sobre el borde opuesto (es decir sobre x = 0).
Esta observación se basa en el hecho de que el operador de Laplace es muy local. Si u es de la forma
sin mπy/L sobre ΓI , entonces la longitud de onda es β = 2L/m la cual se va achicando a medida que
m → ∞. Las perturbaciones inducidas decaen como e−n/β donde n es una coordenada en la dirección
normal a ΓI y si β es muy pequeño la perturbación no llega al contorno opuesto.
Ahora consideremos los autovalores del problema precondicionado. Como todos las um de la forma
(9.430) son autofunciones de los operadores S1 , S2 y S, entonces los autovalores de M S son aproxi-
madamente los primeros NI autovalores de (1/4)(S1−1 + S2−1 )(S1 + S2 ), es decir
1 −1
λprec
m = (1/4) [(λm ) + (λ2m )−1 ] (λ1m + λ2m ) (9.444)
Como mencionamos previamente (ver pág. 287), si el problema es simétrico (en el caso del continuo
basta con L1 = L2 , en el caso del discreto además la malla también tiene que ser simétrica alrededor
de x = 1/2), entonces M = S −1 . En el caso del continuo ocurre lo mismo ya que si los dos dominios
son iguales, entonces
λ1m = λ2m (9.445)
y por lo tanto λprec
m = 1 para todo m. Si L1 6= L2 , entonces puede verse que para m grandes λ1 ≈ λ2
ya que ambos se hacen independientes de L1,2 y de la condición de contorno en el contorno opuesto y
por lo tanto
λprec
m → 1 para m → ∞ (9.446)
Pero entonces esto quiere decir que κ(M S) se hace independiente de NI para m suficientemente
grandes. Este resultado es muy importante desde el punto de vista práctico, el número de condición
del problema precondicionado no se deteriora bajo refinamiento para el precondicionamiento Dirichlet-
to-Neumann.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 291
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.5. Guı́a de Trabajos Prácticos
φ00 = −f (9.448)
Consideramos una discretización por diferencias finitas de paso constante h = 1/N . Los nodos
son xj = jh, j = 0, . . . , N y las ecuaciones para los nodos interiores 1 < j < N − 1 son
φ0 y φN son datos dados por las condiciones de contorno Dirichlet. El sistema puede ponerse de
la forma Ax = b con
2 −1
−1 2 −1
0 −1 2
f1
−1
A = h−2 , b = ... (9.450)
.. .. ..
. . .
fN
−1 2 −1
−1 2
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 292
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.5. Guı́a de Trabajos Prácticos
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 293
Capı́tulo 9. Métodos iterativos para la resolución de ecuaciones lineales
Sección 9.5. Guı́a de Trabajos Prácticos
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 294
Capı́tulo 10
Flujo incompresible
295
Capı́tulo 10. Flujo incompresible
Sección 10.2. Ecuaciones de Navier-Stokes incompresible
Las ecuaciones son no locales: Esto es más fácil de ver en el caso de elasticidad. Se sabe
bien que en el caso de elasticidad compresible el problema es elı́ptico, de manera que hay una
cierta localidad de los efectos. Esto se pierde en el caso incompresible. Por ejemplo, considere-
mos un sólido incompresible que ocupa una región Ω (ver figura 10.1). Las condiciones son de
desplazamiento nulo en toda la frontera, menos en una cierta parte Γ1 donde se aplica un cierto
desplazamiento uniforme, y otra cierta parte Γ2 donde las condiciones son libres, es decir tracción
nula. En el caso compresible, el operador es elı́ptico, local, y la influencia del desplazamiento
impuesto sobre el dominio Γ1 en el dominio Γ2 dependerá de la distancia entre ambas regiones,
sus tamaños relativos, etc... Si el tamaño de ambas regiones es similar y muy pequeños con
respecto a la distancia que los separa, entonces los desplazamientos en Γ2 serán despreciables.
Por el contrario, en el caso incompresible, el cambio de volumen total en Γ2 debe ser igual al
impuesto en Γ1 , por lo tanto los desplazamientos en Γ2 serán del mismo orden que aquellos
impuestos en Γ1 (asumiendo que ambas regiones de la frontera tienen dimensiones similares).
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 296
Capı́tulo 10. Flujo incompresible
Sección 10.3. Formulación vorticidad-función de corriente
∂Ω
+ (u · ∇)Ω − (Ω · ∇)u = ν∆Ω (10.9)
∂t
pero (sólo en 2D!) el tercer término es nulo, ya que ∇u debe estar en el plano y Ω está fuera del plano,
de manera que la ecuación se reduce a una ecuación de advección difusión para la vorticidad
∂Ω
+ (u · ∇)Ω = ν∆Ω (10.10)
∂t
Por otra parte, recombinando (10.6) con (10.7) se llega a una ecuación de Poisson para la función de
corriente:
∆ψ = −Ω (10.11)
La “formulación vorticidad/función de corriente” consiste en resolver (10.10) y (10.11) en forma
acoplada.
Las ventajas y desventajas de la formulación, con respecto a la formulación en variables primitivas
(10.3-10.4) son
Las condiciones de contorno para la presión son desconocidas para la formulación en variables
primitivas.
Las condiciones de contorno para la vorticidad son desconocidas para la formulación vortici-
dad/función de corriente .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 297
Capı́tulo 10. Flujo incompresible
Sección 10.4. Caracterı́sticas particulares acerca de la discretización de las ecuaciones de
Navier-Stokes
∂φ
∂ρφ ∂ρuj φ ∂Γ ∂xj
+ = + qφ (10.12)
∂t ∂xj ∂xj
(10.13)
y la comparamos con las ecuaciones de Navier-Stokes vemos que existen algunas diferencias para
ser mencionadas. Si bien el término temporal y el convectivo son similares en ambas y por lo tanto su
tratamiento será abordado en la misma forma que en el caso escalar sobre cada una de las componentes
de las ecuaciones vectoriales de cantidad de movimiento, vemos que con los términos difusivos aparece
algo diferente debido a que la difusión presenta un carácter tensorial. Además aparece un término de
presión que por un lado puede incorporarse como un término fuente (tratamiento no conservativo) o
como una fuerza de superficie (tratamiento conservativo) pero debido al vı́nculo entre la presión y la
ecuación de continuidad este requiere especial atención.
Z
∂ρui uj
ρui v · ndS (10.14)
∂xj S
(10.15)
Como lo hemos dicho el término convectivo es similar a lo ya presentado tanto en el caso escalar
como en el caso compresible por lo que su tratamiento no merece mayores comentarios.
Los términos difusivos provienen de lo siguiente:
Z
∂τij
(τij |ej ) · ndS (10.16)
∂xj S
(10.17)
∂ui ∂uj
τij = µ( + ) (10.18)
∂xj ∂xi
(10.19)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 298
Capı́tulo 10. Flujo incompresible
Sección 10.4. Caracterı́sticas particulares acerca de la discretización de las ecuaciones de
Navier-Stokes
∂ui ∂u
∂µ ∂xj
∂µ ∂xji
Z Z
∂uj
+ µgradui · ndS (µ |ei ) · ndS (10.20)
∂xj ∂xj S S ∂xi
(10.21)
El primero de los términos es similar al término difusivo en 10.12 usando φ = ui y por lo tanto
su tratamiento es similar. Por otro lado el tratamiento del segundo término es distinto y merece una
discusión aparte pero en el caso incompresible con una viscosidad constante se anula, es decir:
∂u ∂u
∂µ ∂xji ∂( ∂xjj )
=µ =0 (10.22)
∂xj ∂xi
(10.23)
ya que el término entre paréntesis se anula si el campo de velocidad es solenoidal, o sea de diver-
gencia nula, tal como lo plantea la hipótesis incompresible.
2
p0 = p − ρ0 g · r + µ divv (10.24)
3
(10.25)
donde hemos considerado además de la presión propiamente dicha las contribuciones del campo
gravitatorio y de la dilatación por efectos compresibles. En el caso incompresible este último término se
anula. De todos modos todo puede resumirse en una presión efectiva que requiere ser discretizada. En
el contecto de volúmenes finitos donde se parte siempre de una aproximación conservativa el término
de presión se calcula según:
Z
p|ei · ndS (10.26)
S
(10.27)
mientras que la versión no conservativa se suele escribir como:
Z
gradp : |ei dΩ (10.28)
Ω
(10.29)
Como veremos en lo que sigue tanto la forma en que se calcula este término como la forma en que
se colocan las variables sobre la grilla juega un rol preponderante a la hora de definir la calidad de la
solución numérica.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 299
Capı́tulo 10. Flujo incompresible
Sección 10.4. Caracterı́sticas particulares acerca de la discretización de las ecuaciones de
Navier-Stokes
fuerzas volumétricas
Debido a esto los balances locales producen que las integrales sobre los volúmenes de cada VC se
vayan cancelando en el interior y finalmente lleguemos a que el sistema globalmente queda definido
por aportes de las integrales sobre el contorno, lo cual es la propia hipótesis de conservación. Lo mismo
sucede con la masa en la ecuación de continuidad. Lo que nos preguntamos ahora es que sucede con
la energı́a en el caso incompresible ?
Si el flujo es isotérmico la única forma de energı́a es la cinética mientras que cuando existe transfe-
rencia de calor la contribución de energı́a térmica en la energı́a total es preponderante con lo cual un
planteamiento conservativo de la ecuación de transporte de energı́a térmica es suficiente como para
pensar que la energı́a total se va a conservar. Una forma de plantear la ecuación de energı́a térmica
en forma conservativa surge de 10.12 y una discretización conservativa acorde a lo ya visto oportu-
namente. Si las propiedades del flujo no dependen de la temperatura entonces el acoplamiento entre
las ecuaciones de Navier-Stokes y la ecuación de la energı́a es en un solo sentido con lo cual esta
última puede calcularse a posteriori de aquella. De esta forma nos quedarı́a en muchos casos que la
discusión sobre la conservación de la energı́a quede planteada en términos de la conservación de la
energı́a cinética del flujo. Para ello, tal como es usual en mecánica, tomamos el producto interno del
vector velocidad con la ecuación de cantidad de movimiento para armar la expresión para la energı́a
cinética.
1/2ρv 2 dΩ
R
∂
Z Z Z Z
Ω 2
=− 1/2ρv v · ndS − pv · ndS + (S · v) · ndS − (S : gradv − pdivv + ρb · v)dΩ
∂t S S S Ω
(10.30)
(10.31)
siendo S la parte viscosa del tensor de tensiones, o sea S = T + pI. Tomando el último término de
10.30 y asumiendo las hipótesis de:
invı́scido (S : gradv) = 0
incompresible pdivv = 0
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 300
Capı́tulo 10. Flujo incompresible
Sección 10.4. Caracterı́sticas particulares acerca de la discretización de las ecuaciones de
Navier-Stokes
las primeras 3 integrgales de superficie en el miembro derecho nos dicen que ni la convección ni la
presión dentro del VC modifican la energı́a cinética del sistema. En el caso invı́scido incompresible
solo el flujo de energı́a a través de la superficie o el trabajo hecho por las fuerzas actuando en
la superficie pueden alterar el contenido de energı́a cinética con lo cual esta es globalmente
conservada en ese caso. Esta propiedad deberı́a permanecer válida al usar un esquema numérico.
por lo tanto la presión altera la energı́a cinética por su acción sobre le contorno. Sea Gip la
aproximación numérica al gradiente de la presión, entonces:
N
X X N
X
ui Gip ∆Ω = pvn ∆S − pDi ui ∆Ω (10.34)
i=1 Sb i=1
N
X
(ui Gip + pDi ui )∆Ω = términos de contorno (10.35)
i=1
N
X
(ui (pi − pi−1 ) + pi (ui+1 − ui )) = uN +1 pN − u1 p0 (10.36)
i=1
(10.37)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 301
Capı́tulo 10. Flujo incompresible
Sección 10.4. Caracterı́sticas particulares acerca de la discretización de las ecuaciones de
Navier-Stokes
con lo cual los dos términos que permanecen después de agregar todas las contribuciones interio-
res son aquellos del contorno, con lo cual se satisface el criterio planteado de conservación global
de la energı́a cinética. Del mismo modo si invertimos la selección de los esquemas el resultado
siguie siendo el mismo y también si usamos diferencias centradas para ambos.
para calcular la presión se suele usar una ecuación de Poisson siendo esta obtenida tomando la
divergencia de la ecuación de cantidad de movimiento como veremos más adelante. Por lo tanto
el laplaciano de la ecuación de Poisson equivale a dos operadores aplicados en forma sucesiva, a
saber:
∆p = div(grad(p)) (10.38)
(10.39)
La forma discreta de lo anterior requiere por un lado que ambos operadores, divergencia y
gradiente sean consistentes con lo usado para discretizar las ecuaciones de continuidad y cantidad
de movimiento asi como con lo concluido acerca de la conservación de la energı́a cinética.
para un flujo incompresible sin fuerzas de volúmen la única integral de volúmen que permanece
es aquella proveniente de los términos viscosos. En el caso newtoniano si tomamos 10.30 vemos
que aparece un término proporcional a
Z Z
∂uj ∂ui ∂uj ∂uj
− τij dΩ = − µ( + ) dΩ (10.40)
Ω ∂xi Ω ∂xj ∂xi ∂xi
Z Z
∂ui ∂uj 1 ∂ui ∂uj ∂ui ∂uj 2
= − µ( + ) /2( + )dΩ = −1/2 µ( + ) dΩ (10.41)
Ω ∂x j ∂xi ∂xj ∂xi Ω ∂xj ∂xi
con lo cual este término es escencialmente negativo y representa una irreversibilidad producto
del trabajo de las fuerzas de fricción.
La discretización temporal puede destruir la conservación de la energı́a aún cuando la discre-
tización espacial se elija compatible con la conservación de la energı́a. De todos los esquemas
temporales precisos el Crank Nicholson es una buena elección. Si tomamos la derivada temporal
de la ecuación de momento como:
ρ∆Ω n+1
(ui − uni ) (10.42)
∆t
y la multiplicamos por la velocidad para construir la energı́a cinética pero evaluada en n + 1/2, o
1
sea vn+ /2 = 1/2(vn + 1 + vn ) entonces resulta:
ρ∆Ω 1 2 n+1 1 2 n
( /2(v ) − /2(v ) ) (10.43)
∆t
y con una apropiada aproximación de los restantes términos el Crank-Nicholson es conservativo
en energı́a.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 302
Capı́tulo 10. Flujo incompresible
Sección 10.5. Discretización en variables primitivas
En algunas aplicaciones otra propiedad de interés para ser conservada es el momento angular,
especialmente cuando hay flujos rotantes, tal es caso de máquinas rotantes o flujos que ingresan
con un movimiento de swirl.
Figura 10.2: Grilla estándar (no staggered) usada para flujo incompresible en variables primitivas.
Resolver una ecuación alternativa para la presión llamada PPE (Poisson Pressure Equation).
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 303
Capı́tulo 10. Flujo incompresible
Sección 10.6. Uso de mallas staggered
Figura 10.6: Grilla staggered usada para flujo incompresible en variables primitivas.
Esto evita el desacoplamiento de las presiones entre nodos pares e impares. Entonces tenemos 3
redes “staggered” a saber (ver figura 10.6)
con i, j enteros. Por otra parte, la ecuación de continuidad también queda en un stencil más
compacto, si lo imponemos sobre los nodos de presión (ver figura 10.9)
ui+1/2,j − ui−1/2,j vi,j+1/2 − vi,j−1/2
+
=0 (10.48)
h h
Por otra parte, las condiciones de contorno también se simplifican algo, en cuanto a las condiciones
sobre la presión, ya que utilizando sólo contornos que coinciden con lineas semienteras (i, j=entero+1/2).
El método de mallas staggered es probablemente el más robusto y prolijo para tratar flujo incom-
presible por diferencias finitas.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 304
Capı́tulo 10. Flujo incompresible
Sección 10.6. Uso de mallas staggered
∂p pe − pw ( pE +p
2
P
) − ( pP +p
2
W
) pE − pW
= = = (10.49)
∂x δx δx 2δx
(10.50)
∂p pN − pS
= (10.51)
∂y 2δy
Esta patologı́a se la conoce como modos checker-board (tablero de damas) por el aspecto que se
obtiene coloreando de blanco y negro las diagonales con los valores del campo de presiones. Como se
ve en 10.50 vemos que los gradientes de presiones son nulos aún cuando existe un comportamiento
oscilatorio sin sentido fı́sico. Harlow y Welch en 1965 introdujeron la idea de usar mallas desparramadas
en donde las presiones o cualquier campo escalar se evalúa en una grilla y las velocidades en otra grilla
corrida respecto a la anterior en media celda para cada lado, horizontalmente para definir la velocidad
u y verticalmente para definir la componente v. En un contexto de volúmenes finitos equivale a usar
las presiones en el centro de la celda y las velocidades o bien en los centros de las caras o en los vértices
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 305
Capı́tulo 10. Flujo incompresible
Sección 10.7. Ecuación para el cálculo de la presión
de las celdas. De esta forma al calcular el gradiente de presión para la ecuación de momento en el
centro de cada cara necesitamos hacer la siguiente operación:
∂p pP − pW
= (10.52)
∂x δx
∂p pP − pS
= (10.53)
∂y δy
De esta forma se alcanza a ver que el campo oscilatorio de presiones afecta enormemente el cálculo
de las componentes del campo de velocides y su realimentación tiende a filtrar esta solución en presiones
sin sentido fı́sico.
∂ρu
∇ · (∇p) = −∇ · [ + ∇ · (ρuu − S) − ρb] (10.54)
∂t
Usando notación indicial y después de introducir la restricción cinemática de la incompresibilidad
∇ · |v = 0 llegamos a:
∂ ∂p ∂ ∂ ∂ρbi ∂ 2 ρ
( )=− [ (ρui uj − τij )] + + 2 (10.55)
∂xi ∂xi ∂xi ∂xj ∂xi ∂t
Para el caso de densidad y viscosidad constante la anterior se simplifica a:
∂ ∂p ∂ ∂ ∂ρbi
( )=− [ (ρui uj ] + (10.56)
∂xi ∂xi ∂xi ∂xj ∂xi
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 306
Capı́tulo 10. Flujo incompresible
Sección 10.7. Ecuación para el cálculo de la presión
∂ ∂p ∂ ∂
( )=− [ (ρui uj ] (10.57)
∂xi ∂xi ∂xi ∂xj
En esta ecuación hemos respetado un doble operador, por un lado el exterior la divergencia y por
otro el interior o el gradiente. Como vimos debemos ser consistentes en esta caso con la forma en
que discretizamos cada una de las ecuaciones para poder llegar a resultados precisos y estables. Esta
ecuación puede resolverse en forma explı́cita o implı́cita y además de ser una forma de calcular el
campo de presiones también muchas veces es usada para calcular el mismo cuando la formulación no
lo incluye, como en el caso de la formulación de vorticidad-función de corriente
∂(ρui )
= (ρui uj )xj − pxi + τij xj = Hi − pxi (10.58)
∂t
Si la parte temporal la resolvemos en forma explı́cita la podemos escribir como:
xi pn xi = Hin xi (10.62)
Por lo tanto el algoritmo se resuelve de la siguiente manera:
tomar el campo de velocidad en el paso anterior uni que tiene divergencia nula (solenoidal)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 307
Capı́tulo 10. Flujo incompresible
Sección 10.8. Métodos de paso fraccional
y de la misma forma que antes se obtiene una ecuación para la presión de la forma:
un+1
i = uni + (Ci + Di + Pi )∆t (10.65)
donde Ci , Di , Pi representan los términos convectivos, difusivos y de presión respectivamente. De
esta forma uno resuelve de la siguiente forma:
en el tercer paso el término Pi es el gradiente de una cantidad que satisface la ecuación de Poisson
producto de imponer la incompresibilidad. Dependiendo de las particularidades del método el término
fuente en la ecuación de Poisson puede diferir ligeramente de aquel propuesto en 10.55 por esta razón
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 308
Capı́tulo 10. Flujo incompresible
Sección 10.9. Métodos de compresibilidad artificial
se la suele llamar a la variable de cálculo como una pseudo presión A continuación planteamos uno de
los tantos esquemas propuestos.
Primer paso:
En el primer paso la velocidad se actualiza usando la presión del paso anterior, mientras que los
términos convectivos, difusivos y las fuerzas de cuerpo se calculan acorde con el esquema temporal
usado, explı́cito, implı́cito, Crank-Nicholson u otro.En el caso particular de Crank-Nicholson usamos:
(ρui )∗ − (ρui )n 1
= /2[H(uni ) + H(u∗i )] − pn xi (10.67)
∆t
Segundo paso:
En el segundo paso mitad del gradiente de presión se remueve de u∗i
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 309
Capı́tulo 10. Flujo incompresible
Sección 10.9. Métodos de compresibilidad artificial
incompresible la densidad es contante o sea que este término carece de sentido. En las ecuaciones de
momento existe una mayor similitud y finalmente llegamos a que el caso compresible cuenta con una
ecuación dinámica para la presión mientras que en el caso incompresible la presión no tiene ni siquiera
una ecuación. Por ello y ademas por el hecho que la presión sirve para reforzar la satisfacción de la
condición de incompresibilidad ha surgido una propuesta de Chorin en 1967 se modificar la ecuación
de continuidad de forma de agregarle un término temporal del tipo:
1 ∂p ∂(ρui )
+ =0 (10.72)
β ∂t ∂xi
donde se ve que en el estacionario se recupera la ecuación de continuidad del caso incompresible
pero en tiempos intermedios se satisface solo parcialmente con lo cual este método parecerı́a solo apto
para resolver flujos estacionarios. Por otro lado existe un parámetro β que equivale a una especie de
velocidad del sonido llamada pseudo velocidad del sonido cuya especificación responde exlcusivamente
a argumentos numéricos.
Cuanto mayor es el valor de β más se refuerza la hipótesis de incompresibilidad pero más rı́gidas se
vuelven las ecuaciones. Este método si bien fue planteado para flujos con densidad constante también
puede ser extendido al caso de flujos con densidad variable.
Un comentario adicional es que si bien este método parace ser exclusivamente aplicable al caso
estacionario uno podrı́a extenderlo al caso transiente cambiando el término temporal de la presión por
uno en donde el tiempo este relacionado con un paso de iteración.
Una forma de resolver este problema podrı́a ser explı́cita lo cual en principio es directa pero severas
restricciones en el paso de tiempo aparecerı́an. En este caso un cambio por un esquema implı́cito parece
más razonable.
pn+1 − pnP
P
+ [(ρui )xi ]n+1
P =0 (10.73)
β∆t
Como la velocidad que se necesita es la del nivel de tiempo a calcular el sistema debe ser resuelto
en forma simultánea.
Otra alternativa puede ser linealizar alrededor del estado conocido y transformar la ecuación an-
terior en una tipo Poisson para la presión o para su corrección. Veamos como hacerlo. La cantidad
(ρui )n+1 se aproxima por:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 310
Capı́tulo 10. Flujo incompresible
Sección 10.10. Discretización por elementos finitos
ν∆u − ∇p = f en Ω (10.77)
∇·u=0 en Ω (10.78)
u = ū en Γ (10.79)
y espacios de interpolación
Xh = span{Npµ , µ = 1 . . . N } (10.80)
Vh = span{Nuµ , µ = 1 . . . N } (10.81)
La formulación débil Galerkin se obtiene pesando la ecuación de momento por una función de
interpolación de velocidad y pesando la ecuación de continuidad con las funciones de interpolación de
presión.
Z
φ (∇ · u) dΩ = 0, ∀φ ∈ Xh (10.82)
Ω
Z Z Z Z
(∇ · φ)p dΩ + ν(∇v : ∇u) dΩ = f · v dΩ + v · t · n̂ dΓ, ∀v ∈ Vh (10.83)
Ω Ω Ω Γ
Notar que, como no aparecen derivadas de p ni φ entonces es posible utilizar aproximaciones discon-
tinuas para p.
El sistema al que se llega es;
0 −QT
P 0
= (10.84)
−Q νK U F
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 311
Capı́tulo 10. Flujo incompresible
Sección 10.11. El test de la parcela
o
AX = B (10.85)
donde
X
ph = pµ Npµ (10.86)
µ
p1
p2
P= (10.87)
..
.
pN
X
uh = uµ Nuµ (10.88)
µ
u1
u2
P= (10.89)
..
.
uN
Z
Qµkν = Nuµ,k Npν dΩ (10.90)
ZΩ
Kiµjν = Nuµ,k δij Nuν,k dΩ (10.91)
Ω
Nótese que la matriz K es simétrica y definida positiva, mientras que la matriz total A sólo es
simétrica y de hecho no puede ser definida positiva ya que tiene elementos diagonales (en el bloque 0)
nulos.
Como K es no-singular podemos eliminar U de la ecuación de momento e insertarla en la ecuación
de continuidad obteniendo una ecuación para P de la forma
La matriz H es simétrica y semidefinida positiva. Para que el problema este bien planteado debemos
al menos exigir que la matriz sea no-singular. Podemos ver que esto ocurre si y sólo si Q tiene rango de
filas (el número de filas linealmente independiente) Np (el número de grados de libertad de presión).
Efectivamente, si Q tiene rango menor que Np entonces existe algun vector P tal que QP = 0 y
entonces HP = 0. Por otra parte, si Q tiene rango igual a Np entonces para todo P 6= 0 vale que
u = QP 6= 0 y entonces
PT (QT K−1 Q) P = uT K−1 u > 0 (10.93)
con lo cual H resulta ser definida positiva y por lo tanto no-singular.
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 312
Capı́tulo 10. Flujo incompresible
Sección 10.11. El test de la parcela
Figura 10.10: Combinaciones de espacios de interpolaci ’on de elementos finitos. Velocidades continuas,
presiones discontinuas.
descartar toda una serie de familias de interpolación y da lugar al famoso “test de la parcela” (“patch
test”).
Consideremos por ejemplo la interpolación más simple que se nos pueda ocurrir es P 1/P 0 pa-
ra triángulos, es decir velocidades lineales continuas y presiones constantes por elemento (ver figu-
ra 10.10). (La convención aquı́ es poner primero el espacio de interpolación para velocidades y después
el que se usa para presiones. En general, a menos que se mencione lo contrario el espacio para ve-
locidades se asume continuo y el de presiones discontinuo. P n denota el espacio de funciones que
es polinomial de grado n por elemento, mientras que Qn denota el espacio de funciones bilineales
(trilineales en 3D) de grado n.) En una malla estructurada de cuadrángulos, donde dividimos cada
cuadrángulo en dos triángulos, tenemos (para una malla suficientmente grande) Np =2 grados de li-
bertad de presión por cada cuadrángulo y un nodo de velocidad (es decir Nu = 2), por lo tanto no
se satisface el test de la parcela y la aproximación es inestable. Si tomamos parcelas más pequeñas la
situación es peor, ya que el Nu es mayor o igual al Nu asintótico pero imponiendo las condiciones de
contorno “más inestables posibles”, es decir todo el contorno de la parcela con velocidades impuestas
el Nu resulta ser
Figura 10.11: Parcela de 2 × 2 elementos cuadrangulares. Nodos pintados de negro indican grados de
libertad restringidos.
Entonces, si bien el test de la parcela asintótico permite descartar una serie de familias de inter-
polación, el test aplicado sobre parcelas más pequeño resulta ser más restrictivo. Por ejemplo para
la interpolación Q1/P 0 el análisis asintótico da Nu por celda = 2, Np por celda = 1 lo cual en prin-
cipio está bien, pero cuando vamos a una parcela de 2 × 2 = 4 elementos cuadrangulares tenemos
Nu = 2 (sólo el nodo de velocidad del medio está libre), Np = 3 (uno de los nodos de presión siempre
está restingido) lo cual está mal.
Sin embargo, puede verse que un macroelemento triangular formado por 3 elementos Q1/P 0 es
estable.
La relación asintótica más apropiada parece ser Nu = 2Np .
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 313
Capı́tulo 10. Flujo incompresible
.
Sección 10.12. La condición de Brezzi-Bab..uska
.
10.12. La condición de Brezzi-Bab..uska
Si bien el test de la parcela es muy útil para descartar posibles familias de interpolación, no es
suficiente para asegurar la convrgencia. Rı́os de tinta han corrido en cuanto a cual es la condición
para asegurar convergencia en problemas de este tipo y la respuesta es la conocida “condición de
.
Brezzi-Bab..uska” tambien conocida como condicion “inf-sup”.
R
Ω qh ∇ · vh dΩ
inf sup 1/2 R 1/2 = BB ≥ C 6= C(h) (10.95)
qh ∈Xh −0 vh ∈vh −0 2
R
2
Ω |∇vh | dΩ Ω |qh dΩ
Trabajando un poco esta ecuación puede llegarse a la conclusión de que
Como Mp es una “matriz de masa”, tiene un número de condición muy bajo y no afecta mucho la
expresión anterior, de manera que podemos tomar también
El sistema de ecuaciones es
−QT
−αL P −αS
= (10.101)
−Q νK + βG U F
donde Z
Hµν = Npµ,k Npν,k dΩ (10.102)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 314
Capı́tulo 10. Flujo incompresible
Sección 10.13. Métodos FEM estabilizados
Z
Giµ,jν = Nuµ,i Nuν,j dΩ (10.103)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 315
Capı́tulo 11
Turbulencia y su modelización
En este capı́tulo se introduce el tema del modelado de la turbulencia con el objeto de poder
plantear su simulación teniendo en cuenta las bondades y las desventajas de cada uno de los modelos
más usados en la actualidad.
316
Capı́tulo 11. Turbulencia y su modelización
Sección 11.1. Introducción a la fı́sica de la turbulencia
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 317
Capı́tulo 11. Turbulencia y su modelización
Sección 11.1. Introducción a la fı́sica de la turbulencia
un perfil con un punto de inflexión y otros que no cuentan con un punto de inflexión y su curvatura
es constante, en general con convexos.
Los primeros, los perfiles con punto de inflexión son siempre inestables ante perturbaciones sobre
un flujo a altos números de Reynolds. La teorı́a originalmente se basó en considerar el flujo invı́scido
y posteriormente incluyendo efectos viscosos se vió que no alteraba mucho el análisis por lo que esta
inestabilidad se la conoce como inestabilidad invı́scida. Estos perfiles suelen aparecer mucho en jets,
estelas y capas de mezcla y capa lı́mite en placas planas bajo influencia de un gradiente de presión
adversa. El rol de la viscosidad es amortiguar las perturbaciones y estabilizar el flujo pero solo a bajo
Reynolds.
En el caso de un perfil sin punto de inflexión este es susceptible de lo que se conoce como inesta-
bilidad viscosa. La teorı́a invı́scida predice estabilidad incondicional para estos perfiles que son carac-
terı́sticos de flujos cercanos a objetos o paredes sólidas como flujo en canales, ductos o capa lı́mite sin
gradiente adverso de presión. La viscosidad juega un rol mas complejo ya que amortigua las pertur-
baciones a muy bajos o muy altos Reynolds pero desestabiliza a Reynolds intermedios.
El punto donde la inestabilidad primero se presenta ocurre siempre aguas arriba del punto donde
la transición finalmente se lleva a cabo. Por lo tanto existen dos números de Reynols distintos, uno
crı́tico Rex,crit que surge de la teorı́a lineal como aquel donde se lleva a cabo la inestabilidad producto
de la perturbación agregada y otro de transición Rex,tr . Estos dependen de la amplificación de las
perturbaciones y pueden ser ambos predichos por la teorı́a de inestabilidad hidrodinámica lineal. A
continuación comentamos algunos hechos observados experimentalmente llevados a cabo sobre flujos
simples.
11.1.3. Capa lı́mite sobre una placa plana: un ejemplo de perfil sin un punto de
inflexión
Este flujo es altamente dependiente de las condiciones de ingreso del flujo. Si este es muy suave
puede ocurrir que el Reynolds crı́tico ronde los Rex,crit ≈ 91, 000.
1ro Se produce una estructura de ondas que avanzan con un frente llamadas ondas de Tollmien-
Schlichting (T-S) que se amplifican en la dirección del flujo.
2do si la amplitud de la perturbación es grande un mecanismo de inestabilidad no lineal secundario
causa que las ondas T-S se vuelvan 3D evolucionando en una estructura vorticosa tipo gancho u
horquilla llamados vórtices Lambda
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 318
Capı́tulo 11. Turbulencia y su modelización
Sección 11.1. Introducción a la fı́sica de la turbulencia
3ro Por delante de estos vórtices tipo gancho una región de alta intensidad de corte se induce que
luego se intensifica, se elonga y se enrolla.
4to Un proceso de cascada y separación de capas de corte intensas inducen unidades más pequeñas
con un espectro de frecuencias que se aproxima a lo aleatorio. Regiones de grandes cambios localizadas
en forma aleatorio tanto en el tiempo como en el espacio se producen cerca de objetos sólidos dando
orı́gen a la formación de spots (sitios) turbulentos.
5to Estos sitios de forma triangular son transportados por el fluido y difunden transversalmente
involucrando a regiones del flujo que tienen un movimiento laminar.
6to Estos sitios o spots a su vez se van juntando aguas abajo, fenómeno que tiene lugar a un
Reynolds de transición del orden de 106
nivel de la perturbación
la transferencia de calor
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 319
Capı́tulo 11. Turbulencia y su modelización
Sección 11.2. Ecuaciones de Navier-Stokes promediadas en el tiempo
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 320
Capı́tulo 11. Turbulencia y su modelización
Sección 11.2. Ecuaciones de Navier-Stokes promediadas en el tiempo
Z ∆t
1
q
φrms = (φ0 )2 =[ (φ0 )2 dt](1/2) (11.6)
∆t 0
Esta propiedad es muy interesante ya que puede ser medida experimentalmente mediante un sensor
de velocidad como puede ser un anemómetro de hilo caliente y un simple circuito eléctrico.
La energı́a cinética por unidad de masa se define como:
(2/3k)1/2
Ti = (11.8)
Uref
Antes de derivar las ecuaciones del flujo medio vamos a colocar algunas de las propiedades asociadas
al promedio temporal de cantidades. Supongamos que tenemos dos propiedades
φ = Φ + φ0
(11.9)
ψ = Ψ + ψ0
entonces:
φ0 = 0
ψ0 = 0
Φ=Φ
Ψ=Ψ
∂φ ∂Φ
=
∂s ∂s
Z Z (11.10)
φds = Φds
φ+ψ =Φ+Ψ
φψ = ΦΨ + φ0 ψ 0
φΨ = ΦΨ
φ0 Ψ = 0
En el caso de los operadores de diferenciación más frecuentemente encontrados podemos citar
el gradiente y la divergencia, lo cual hace necesario introducir una cantidad fluctuante de carácter
vectorial como:
a = A + a0 (11.11)
y de este modo
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 321
Capı́tulo 11. Turbulencia y su modelización
Sección 11.2. Ecuaciones de Navier-Stokes promediadas en el tiempo
div(a) = div(A)
div(φa) = div(φA) = div(ΦA) + div(φ0 a0 ) (11.12)
div(grad(φ)) = div(grad(Φ))
Consideremos las ecuaciones de Navier-Stokes escritas para un flujo con viscosidad constante ν de
la siguiente manera:
∂u 1
+ ∇ · (uu) = − ∇p + ν∆u (11.13)
∂t ρ
∇·u=0 (11.14)
∂U 1
+ ∇ · (UU) + ∇ · (u0 u0 ) = − ∇P + ν∆U (11.15)
∂t | {z } ρ
Tensor de Reynolds
∇·U=0 (11.16)
Estas ecuaciones son comúnmente llamadas ecuaciones de Reynolds y contienen además de los
términos que contienen las ecuaciones para flujo laminar ahora expresados para las variables medias,
un término adicional equivalente a un tensor de tensiones que tiene por un lado términos que dependen
del cuadrado de cada componente de la fluctuación lo cual suele ser importantes y además términos
que correlaciones componentes entre sı́. Si por ejemplo una de las componentes de las fluctuaciones
fuera independiente de otra componente entonces su correlación serı́a nula y este término se anuları́a.
Para el caso del transporte de un escalar
En estos casos hemos planteado que la densidad era constante, no obstante esta puede variar y en
ese caso conviene hacer un promedio especial denominado promedio de Favre que incluye la densidad
en el promedio, es decir
ρu
u= (11.19)
ρ
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 322
Capı́tulo 11. Turbulencia y su modelización
Sección 11.3. Caracterı́sticas de flujos simples
(u0i u0j )
(11.20)
u0j φ0
de los cuales no podemos decir a priori nada. Aquı́ es donde aparece la necesidad de modelizar
estas ecuaciones, o sea decir como estos términos dependen o bien de las variables ya puestas en juego
en el modelo o sino de otras que deben ser agregadas.
• capas de mezcla
• jet
• estelas
• placa plana
• flujo en ductos
Observaciones experimentales y análisis dimensional de ellos dan cuenta del siguiente hecho:
Capas de mezcla
U − Umin y
= f( ) (11.21)
Umax − Umin b
Jets
U y
= g( ) (11.22)
Umax b
Estelas
Umax−U y
= h( ) (11.23)
Umax − Umin b
donde b en todas ellas representa el ancho de la capa formada. Se evidencia que estas leyes
dimensionales se auto-preservan en la dirección del flujo. También suelen obtenerse leyes para
los principales términos del tensor de Reynolds en función de esta relación y/b, a saber:
u02 y
2 = f1 ( b )
Uref
(11.24)
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 323
Capı́tulo 11. Turbulencia y su modelización
Sección 11.3. Caracterı́sticas de flujos simples
De los flujos más estudiados estos son dos de los máximos exponentes. Sin entrar en detalles
acerca de los principales resultados podemos decir que se ha enfocado el análisis hacia lo que
sucede cerca de las paredes y lo que sucede lejos de ellas. Haciendo análisis dimensional podemos
establecer dos leyes.
Ley de pared
U = f (y, ρ, µ, τw )
r
τw
uτ =
ρ (11.25)
U ρuτ y
u+ = = f( ) = f (y + )
uτ µ
U = g(y, ρ, δ, τw )
U y Umax − U y (11.26)
u+ = = g( ) = g( )
uτ δ uτ δ
Subcapa lineal sobre paredes suaves
∂U
y + < 5τ (y) = µ ≈ τw
∂y
U = f (y, ρ, µ, τw )
integrando
τw y (11.27)
U=
µ
haciendo álgebra
u+ = y +
Capa logarı́timica
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 324
Capı́tulo 11. Turbulencia y su modelización
Sección 11.4. Modelos de turbulencia
En la zona de solapamiento ambas deben ajustarse para ser compatibles. Tennekes y Lumley
propusieron la siguiente forma:
Umax − U 1 y
= ln + A (11.29)
uτ κ δ
En resúmen, en la capa lı́mite turbulenta adyacente a una superficie sólida tenemos dos regiones:
• Región interna: formada por el 10 : 20 % del espesor total de la capa de pared donde la
tensión de corte es casi constante e igual a la tensión de corte de pared τw . Dentro de esta
región hay a su vez tres zonas:
◦ la subcapa lineal donde dominan los efectos viscosos
◦ el buffer donde los efectos viscosos y las tensiones turbulentas son del mismo orden
◦ capa logarı́tmica donde dominan las tensiones turbulentas sobre los efectos viscosos
• Región externa: donde dominan los efectos inerciales y el flujo es libre de cualquier efecto
viscoso.
Los modelos clásicos han sido los mas difundidos y son los que comúnmente se hallan dentro del
paquetes comerciales de CFD. Modelos del tipo LES son actualmente vistos con mayor atención
pero aún requieren un esfuerzo computacional importante dado su carácter no estacionario y la
necesidad de usar mallas finas para poder capturar los vórtices más importantes presentes en el
flujo.
Uno de los grandes inconvenientes del planteamiento de las ecuaciones promediadas 11.15 es la
necesidad de usar un tensor de tensiones turbulentas que tiene en principio todas sus componentes
(9 en 3D) vivas y que en general no se cuenta con información precisa para ellas. Una de las
hipótesis más usadas fue planteada por Boussinesq y consiste en pensar que este tensor es
isotrópico, o sea múltiplo de la identidad para lo cual se usa como expresión para el mismo:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 325
Capı́tulo 11. Turbulencia y su modelización
Sección 11.4. Modelos de turbulencia
∂Ui ∂Uj
τ ij = −ρu0i u0j = µt ( + ) (11.30)
∂xj ∂xi
∂Φ
−ρu0i φ0 = Γt (11.31)
∂xi
donde podemos definir un número adimensional que las vincule:
µt
σt = (11.32)
Γt
siendo este número una especie de Prandtl turbulento que en general es de O(1)
Unido a la hipótesis de Boussinesq este modelo define una viscosidad turbulenta acorde a su
relación con una longitud de mezcla:
νt = C (11.33)
En estos modelos se suele usar una relación entre velocidad turbulenta y longitud turbulenta del
tipo:
∂U
= c| | (11.34)
∂y
que combinada con la anterior nos da
∂U
νt =m | | (11.35)
∂y
donde m es una nueva longitud de escala que puede obtenerse en forma algebraica para flujos
simples o sino extendiendo su uso acorde a criterios de trabajo.
Ventajas:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 326
Capı́tulo 11. Turbulencia y su modelización
Sección 11.4. Modelos de turbulencia
• bien conocido
Desventajas:
Este modelo se basa en seguir la evolución de dos cantidades, una la energı́a cinética turbulenta
κ y otra la tasa de disipación turbulenta . Para construir una ecuación para la energı́a cinética
como siempre partimos de las ecuaciones de momento 11.15 y la multiplicamos escalarmente por
la velocidad media U. De esta forma nos queda la ecuación siguiente:
• la tasa de cambio de κ
• el transporte por convección
• trabajo de las fuerzas asociadas al tensor de Reynolds
• trabajo de las fuerzas de presión
• trabajo de las fuerzas viscosas
• tasa de disipación de κ
• producción turbulenta
Haciendo algo similar pero ahora multiplicando escalarmente la fluctuación de velocidad por
10.3 y por 11.15 y restando ambas nos conduce a una expresión muy similar a la anterior. Para
detalles ver pp. 67-70.
De esta forma arribamos a un modelo que tiene dos ecuaciones de la forma:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 327
Capı́tulo 11. Turbulencia y su modelización
Sección 11.4. Modelos de turbulencia
κ3/2
donde la velocidad caracterı́stica turbulenta es = κ1/2 y la longitud caracterı́stica es =
Para calcular las tensiones de Reynolds en un modelo κ − recurrimos a:
∂Uj
= µt ( ∂U
∂xj +
i
∂xi ) − 2/3ρκδij = 2µt Eij − 2/3ρκδij
El modelo evita calcular el flujo en zonas muy cercanas a la pared asumiendo que en ellas existe
una ley conocida y caracterizada por:
U 1
u+ = = ln Ey +
uτ κ
u2
κw = p τ (11.41)
Cµ
u3τ
w =
κy
donde para poder usar la ley logarı́tmica de pared debemos tratar de hacer que el flujo alcance
un valor de 30 < y + < 500 De todos modos uno puede usar la ley de pared en toda su gama
acorde al valor de y + , sea este el del rango lineal, el del buffer o el del perfil logarı́tmico.
Para bajos Reynolds la ley de pared necesita ser corregida y se suele usar una función de amor-
tiguamiento que tenga en cuenta la importancia de los efectos viscosos sobre los turbulentos en
las cercanı́as de los objetos y paredes. Para ello se suele usar como modelo lo siguiente:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 328
Capı́tulo 11. Turbulencia y su modelización
Sección 11.4. Modelos de turbulencia
• modelo muy simple entre aquellos que usan ecuaciones de valores iniciales y de contorno
• excelente performance para aplicaciones industriales
• ampliamente conocido y validado
Desventajas:
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 329
Índice alfabético
330
ÍNDICE ALFABÉTICO
ÍNDICE ALFABÉTICO
precisión de la máquina, 87
punto fijo, método de, 86
reacción, 112
residuo de un sistema no-lineal de ecs., 86
secante
método, 88
simétrica
matriz, 79, 98
stencil, 91, 96
tangente
método, 90
Taylor
serie de T. para aprox. en diferencias, 74
tensor métrico contravariante, 105
tolerancia, 87
tolerancia
para la resol. de un sistema no-lin., 86
transformación conforme, 106
tri-diagonal
matriz, 95
((docver curso-cfd-0.0.2 ’clean) (docdate Sat Aug 18 10:08:51 2007 -0300) (proc-date Sat Aug 18 10:11:18 2007 -0300)) 331