proyecto fin de carrera solución numØrica de las

103
Proyecto Fin de Carrera Solucin numØrica de las ecuaciones de Navier-Stokes en dos dimensiones Jesœs Bosque Martnez 49228 Escuela Universitaria de Ingeniera TØcnica Industrial

Upload: others

Post on 26-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proyecto Fin de Carrera Solución numØrica de las

Proyecto Fin de CarreraSolución numérica de las ecuaciones deNavier-Stokes en dos dimensiones

Jesús Bosque Martínez49228

Escuela Universitaria de Ingeniería Técnica Industrial

Page 2: Proyecto Fin de Carrera Solución numØrica de las

Índice General

I Conceptos fundamentales de Mecánica de MediosContinuos 5

1 El medio continuo 61.1 Descripción lagrangiana y euleriana . . . . . . . . . . . . . . . 7

2 Variación de magnitudes 82.1 Caso de la descripción lagrangiana . . . . . . . . . . . . . . . 82.2 Caso de la descripción euleriana . . . . . . . . . . . . . . . . . 82.3 Caso de un volumen general . . . . . . . . . . . . . . . . . . . 9

3 Campos de desplazamientos y velocidades 12

4 Fuerzas que actúan sobre un medio continuo 14

5 Tensores y medios continuos 155.1 Tensores de deformación . . . . . . . . . . . . . . . . . . . . . 165.2 Tensores de velocidad de deformación . . . . . . . . . . . . . . 195.3 Tensores de tensión . . . . . . . . . . . . . . . . . . . . . . . . 21

6 Ecuación de continuidad 23

7 Principio de la cantidad de movimiento 25

8 Ecuaciones constitutivas 288.1 Medios elásticos, homógeneos e isótropos . . . . . . . . . . . . 288.2 Medios elásticos en el caso de incompresibilidad . . . . . . . . 308.3 Ecuaciones de Navier Stokes . . . . . . . . . . . . . . . . . . . 31

II Desarrollo del método numérico 33

9 El método de las diferencias �nitas 34

2

Page 3: Proyecto Fin de Carrera Solución numØrica de las

3

9.1 Tipos de derivadas primeras . . . . . . . . . . . . . . . . . . . 359.2 Tipos de derivadas segundas . . . . . . . . . . . . . . . . . . . 36

10 Tratamiento de las ecuaciones de Navier-Stokes 3710.1 Ecuación del transporte de vorticidad . . . . . . . . . . . . . . 3810.2 Ecuación de Poisson para la función de corriente . . . . . . . . 4010.3 Ecuación de Poisson para la presión . . . . . . . . . . . . . . . 4010.4 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

11 Condiciones iniciales y de contorno 43

12 Ecuación de Poisson 4612.1 Método directo . . . . . . . . . . . . . . . . . . . . . . . . . . 5112.2 Método iterativo (método de Liebmann) . . . . . . . . . . . . 5212.3 Método de Liebmann con sobrerrelajación . . . . . . . . . . . 53

13 Ecuación de Burgers 55

14 Resolución de Navier-Stokes 58

III Implementación del código 60

15 Malla discreta 62

16 Derivadas 6416.1 Derivadas primeras . . . . . . . . . . . . . . . . . . . . . . . . 6416.2 Derivadas segundas . . . . . . . . . . . . . . . . . . . . . . . . 6716.3 Rotacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

17 Ecuación de Poisson 6917.1 Contorno Dirichlet . . . . . . . . . . . . . . . . . . . . . . . . 6917.2 Contorno Neumann . . . . . . . . . . . . . . . . . . . . . . . . 72

18 Ecuación de Burgers 74

19 Resolución de las ecuaciones de Navier-Stokes 7619.1 Código de NavierStokes . . . . . . . . . . . . . . . . . . . . . 80

20 Salida grá�ca 82

Page 4: Proyecto Fin de Carrera Solución numØrica de las

4

IV Resultados 85

21 Test "Lid Driven Cavity" 8621.1 Número de Reynolds 100 . . . . . . . . . . . . . . . . . . . . . 8621.2 Número de Reynolds 400 . . . . . . . . . . . . . . . . . . . . . 9121.3 Número de Reynolds 1000 . . . . . . . . . . . . . . . . . . . . 94

22 Conclusiones y trabajo futuro 99

Page 5: Proyecto Fin de Carrera Solución numØrica de las

Parte I

Conceptos fundamentales deMecánica de Medios Continuos

5

Page 6: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 1

El medio continuo

El objetivo principal de esta parte del proyecto es establecer las bases delestudio teórico de los medios continuos en general y de los �uidos en parti-cular y a partir de ello conocer las ecuaciones que rigen su comportamientomecánico. Para ello debemos entender el �uido como un medio continuo, estoes considerarlo como un agregado continuo en el espacio cuyas propiedadesfísicas están dispersas de forma continua y no concentradas en pequeñas frac-ciones del mismo. Así supondremos que las funciones matemáticas queaparecen en la teoría son en general continuas salvo quizás en un número�nito de puntos concretos que separen zonas de continuidad. Atendiendo ala teoría atómica esta hipótesis sería errónea ya que al observar el �uido aescalas de unas pocas moléculas observaríamos zonas completamente vacíasy otras en las que la materia estaría concentrada. Sin embargo la hipótesisde medio continuo es su�cientemente e�caz (prácticamente exacta) para es-calas mesoscópicas (mayores de 10�5cm) en las que la distinción entre unasmoléculas y otras se hace imposible y la apariencia es la de un todo continuo.En cualquier caso no debemos olvidar las hipótesis de partida y entenderque nuestra �nalidad es establecer un modelo para conocer y predecir larealidad, y como tal está sujeto a limitaciones.El enfoque seguido en esta parte es hacer una exposición lo más ge-

neral posible para cualquier medio continuo (tanto sólido como �uido) ymás tarde, a partir de las herramientas generales, exponer el caso concretode los �uidos. Obviamente existen grandes diferencias entre las distintasramas de la Mecánica de los Medios Continuos pero entre todas ellas hay untronco común que las relaciona. Por esta razón se incluyen en el proyectotemas como las ecuaciones constitutivas de la elasticidad lineal de sólidos apartir de las cuales deduciremos las de los �uidos estableciendo una conexiónentre ambas teorías.Con el objeto de manejar el concepto de medio continuo utilizaremos la

6

Page 7: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 1. El medio continuo 7

noción de partícula material introducida por Euler: se considera que encada punto �!x y en cada instante t existe una cantidad elemental de masadm con su centro de gravedad en �!x que se mueve con velocidad �!v (�!x ; t).Esta velocidad que nosotros consideramos puntual es la velocidad media delelemento dm = �(�!x ; t)dV , estamos admitiendo pues que existe un valorlímite de los promedios cuando el elemento se hace muy pequeño pero aúnmuy por encima de la escala atómica. El mismo tratamiento se utiliza paralas demás magnitudes macroscópicas como la densidad (�) o la presión.

1.1 Descripción lagrangiana y euleriana

Además de su continuidad, la otra característica que distingue al medio con-tinuo de otros modelos físicos es que es deformable, puede variar su forma.Cuando un medio continuo experimenta una deformación pasa de una con-�guración 0 de coordenadas ~X a una con�guración t de coordenadas ~xen un tiempo t. Llámamos 0 al conjunto de puntos de R3 que ocupa elcuerpo en la posición inicial y t al mismo concepto pero en el tiempo t enel que el cuerpo se ha transformado. Para analizar la transformación segúnel parámetro t podemos decidir colocar la dependencia del tiempo en el con-junto de inicio o en el conjunto transformado. Estos dos puntos de vistadistintos se conocen como:

� Descripción lagrangiana (o material): La dependencia del tiempose encuentra en la con�guración no deformada de manera que si � esuna magnitud general, �( ~X; t) será el valor de dicha magnitud paraun tiempo t de un punto que inicialmente se encontraba en ~X en lacon�guración no deformada. De esta manera seguiremos una partículade coordenadas iniciales ~X en t = t0 a lo largo de su movimiento conel tiempo. Esta descprición es más usada en la Mecánica de Sólidos.

� Descripción euleriana (o espacial): La dependencia del tiempo seencuentra en la con�guración deformada, se asocia a cada punto de t elvalor que toma la magnitud � en el instante t (�(~x; t)). Las coordenadas~x expresan puntos �jos del espacio en los que no encontramos siemprela misma partícula sino un �ujo de partículas que pasa por dicho puntosegún el tiempo t. Por tanto �(~x; t) es el valor de la magnitud en lapartícula material que se encuentra en ese punto en ese instante. Estadescripción es la usada generalmente en Mecánica de Fluidos.

Es necesario advertir de que en todo momento consideraremos coorde-nadas cartesianas y algunos resultados pueden no ser directamente aplica-bles para otro tipo de coordenadas.

Page 8: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 2

Variación de magnitudes

Para el análisis de los medios continuos necesitamos cuanti�car la variaciónque experimentan las magnitudes estudiadas con respecto al tiempo. Porsupuesto recurriremos a las derivadas pero estas presentan algunas particu-laridades que es preciso comentar. Analizaremos los casos de representaciónlagrangiana, representación euleriana y la generalización para un volumen.

2.1 Caso de la descripción lagrangiana

En la descripción lagrangiana conocer la tasa de variación con respecto altiempo de una magnitud en una determinada partícula es sencillo dado queesta descripción sigue la evolución de partículas concretas de coordenadasiniciales ~X. Por ello, una vez �jada una partícula ( ~X �jo), para conocer lavariación de una de sus magnitudes con respecto al tiempo en un instanteúnicamente habrá que derivar parcialmente

@�( ~X; t)

@t:

Así por ejemplo la aceleración de una partícula en un instante t es

~a( ~X; t) =@~v( ~X; t)

@t:

2.2 Caso de la descripción euleriana

En este caso no será tan sencillo conocer la variación de una magnitud yaque ~x se referirá a un punto �jo del espacio y no únicamente a una solapartícula. Por ello la derivada parcial no expresa toda la variación de dicha

8

Page 9: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 2. Variación de magnitudes 9

magnitud por unidad de tiempo, en el instante considerado la partícula quese encuentra en ~x estará moviéndose hacia otro punto en el que la magnitudtendrá otro valor y esta variación también deberá cuanti�carse. Para hacerlousamos el operador derivada sustancial

D(�)Dt

=@(�)@t

+ ~v � r(�): (2.1)

Esta derivada tiene un primer sumando (derivada local) que representa lavariación por unidad de tiempo de la magnitud en un punto �jo y un segundosumando (derivada convectiva) que representa el cambio de la magnitud de-bido al cambio de posición de la partícula. La derivada sustancial tiene laspropiedades usuales de una derivada tanto para la suma como para elproducto de funciones así como la regla de la cadena.Es necesario advertir que la derivada sustancial puede aplicarse tanto a

magnitudes escalares como vectoriales. En este segundo caso puede resultarmás claro aceptar la siguiente notación para un campo vectorial genérico ~r

D~r

Dt=@~r

@t+ ~v � r ~r;

en la que es un producto tensorial de Kronecker para tensores de ordenuno que equivale a @irj y tanto D~r

Dtcomo @t~r y ~v están en forma de �la. De

esta manera al igualar componente a componente lo que se está haciendo esdar lugar a tres ecuaciones en cada una de las cuales se aplica (2.1) para lascomponentes escalares del vector ~r. Otra notación habitual que aparece enla bibliografía es prescindir del signo a pesar de que se esté aplicando (2.1)a un campo vectorial.Siguiendo el ejemplo anterior de la aceleración, tendremos que una

partícula determinada que en el instante t se encuentre en ~x estará sufriendola aceleración

~a(~x; t) =D~v

Dt=@~v

@t+ ~v � r ~v.

si llamamos (u; v; w) a las componentes del vector ~v lo anterior será equiva-lente a 8<:

a1 =@u@t+ ~v � ru = @u

@t+ u@u

@x+ v @u

@y+ w @u

@z

a2 =@v@t+ ~v � rv = @v

@t+ u @v

@x+ v @v

@y+ w @v

@z

a3 =@w@t+ ~v � rw = @w

@t+ u@w

@x+ v @w

@y+ w @w

@z

2.3 Caso de un volumen general

Del mismo modo podría desearse conocer la variación de una magnitud ex-tensiva (dependiente de la cantidad de masa) dentro de un cierto volumen,

Page 10: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 2. Variación de magnitudes 10

bien sea un volumen cualquiera ajeno al medio continuo (volumen de control)o bien sea un volumen formado siempre por las mismas partículas del mediocontinuo (volumen material).Sea � una magnitud especí�ca (magnitud extensiva dividida por unidad

de volumen) cualquiera. La cantidad total de la magnitud contenida dentrode un volumen variable con el tiempo, que puede ser tanto material como decontrol, es Z

V (t)

�(~x; t)d;

y la variación de esa cantidad por unidad de tiempo es

d

dt

ZV (t)

�(~x; t)d:

Para conocer el valor de esta derivada se recurre al teorema del trans-porte de Reynolds que nos dice:

d

dt

ZV (t)

�(~x; t)d =

ZV (t)

@�(~x; t)

@td +

Z�(t)

�(~x; t)~vc � ~nd� (2.2)

siendo �(t) la super�cie que en ese instante limita al volumen estudiado,~n su normal exterior y ~vc su velocidad de avance (si se trata de un volumenmaterial ~vc es la propia velocidad del �uido, ~v). La primera integral deltérmino derecho será la suma total de la variación por unidad de tiempoque la magnitud � sufre dentro del volumen como consecuencia del cambiode la función considerada en cada punto interior. Obsérvese que para unvolumen de control la segunda integral del término derecho representa el �ujode � que va atravesando la super�cie de control forzada por el movimientodel volumen independientemente del movimiento que pueda tener el �uido;de esta manera si el volumen de control permanece �jo con el tiempo estaintegral de super�cie será nula a pesar de que pudiese existir un �ujo de � ensu super�cie debido al movimiento de entrada/salida del �uido. Entonces,para un volumen de control �jo tenemos:

d

dt

ZV0

�(~x; t)d =

ZV0

@�(~x; t)

@td (2.3)

Para un volumen materialR�(t)

�(~x; t)~v �~nd� debe entenderse como el �ujode � que atraviesa la super�cie � instantánea, �ja en ese instante, cuando elpropio movimiento del �uido ~v traslada al volumen hacia una nueva regiónlimitada por �(t+ dt).

Page 11: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 2. Variación de magnitudes 11

Una forma alternativa de enunciar el teorema es referenciar un volumenmaterial a un cierto volumen de control. Para un volumen material Vm(t)que en un instante determinado coincide con un volumen de control Vc(t)limitado por la super�cie �c(t) la expresión del teorema es:

d

dt

ZVm(t)

�(~x; t)d =d

dt

ZVc(t)

�(~x; t)d +

Z�c(t)

�(~x; t)(~v � ~vc) � ~nd�; (2.4)

donde ~vc es la velocidad del volumen de control mientras que ~v es lavelocidad del medio continuo. Esta ecuación permite calcular la variaciónpor unidad de tiempo de una magnitud ligada a un volumen material comola variación de la magnitud dentro de un volumen de control más su �ujoconvectivo a través de la super�cie que limita dicho volumen de control.La utilidad principal de las expresiones del teorema del transporte reside

en que las leyes de la Mecánica están referidas a sistemas cerrados que nopermiten el intercambio de masa, sin embargo suele resultar más útil disponerde estas leyes para sistemas de control que permiten el paso de masa entrantey saliente. La demostración del teorema puede encontrarse en [18].

Page 12: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 3

Campos de desplazamientos yvelocidades

Consideramos un medio continuo cualquiera que en un instante inicial ocupael conjunto 0 cuyos puntos están caracterizados por las coordenadas ~X. Siconocemos la función de posición de este conjunto para el tiempo t podemosde�nir el campo vectorial

~U( ~X; t) = ~x( ~X; t)� ~X

que es el campo de desplazamientos en la descripción lagrangiana. Rep-resenta la diferencia entre la posición de una partícula en la con�guracióndeformada y su posición inicial, es decir, como se ha trasladado un punto delmedio después de la transformación.Como ~x( ~X; t) ha de ser invertible por su propio sentido físico, porque

cada punto transformado viene de un punto inicial de 0, entonces podemosde�nir el campo de desplazamientos para la descripción euleriana como

~u(~x; t) = ~x� ~X(~x; t) (3.1)

siendo ~X(~x; t) la aplicación que hace corresponder a una partícula situadaen ~x en el tiempo t su posición en la con�guración no deformada. Como puedeobservarse ~U y ~u tienen los mismos valores.Si el medio continuo sufriese una traslación como sólido rígido los valores

del campo del desplazamientos serían iguales para todos los puntos, siendopor tanto un campo dependiente sólo del tiempo.De las expresiones anteriores sabemos que si es conocido el campo de

desplazamientos puede ser conocida la posición de la con�guración deformaday de cualquiera de sus partículas. Utilizando la notación tensorial la formamás general de expresar esto, para un tiempo �jo, es

~x = ~a+ ~X +M ~X = ~a+ (I+M) ~X (3.2)

12

Page 13: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 3. Campos de desplazamientos y velocidades 13

donde ~a es una componente de traslación que imprime en el cuerpo unmovimiento de sólido rígido (igual en todos sus puntos) y (I +M) es untensor, o mejor dicho, un campo tensorial que aplica a cada punto un tensoren función de ~X. Cada uno de esos tensores necesariamente debe ser regularpara que la correspondencia sea biunívoca. Más tarde analizaremos más afondo la expresión.(3.2).También podemos de�nir un campo de velocidades tanto en la repre-

sentación lagrangiana como en la euleriana. En este segundo caso tendríamosuna aplicación ~v = ~v(~x; t) que a cualquier punto ~x le haría corresponder elvalor de la velocidad de la partícula que en el instante t se encuentra enese punto. Este campo es la magnitud primaria en Mecánica de Fluidos ydebe ser obtenido mediante la resolución de las ecuaciones que gobiernan elmovimiento. En Mecánica de Sólidos la magnitud primaria con la que sueletrabajarse es el campo de desplazamientos.

Page 14: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 4

Fuerzas que actúan sobre unmedio continuo

Podemos dividir en dos tipos las fuerzas que actúan sobre un �uido:

� Fuerzas de largo alcance: Son fuerzas por unidad de volumen omasa que son ejercidas por el exterior del medio penetrando en suinterior y actúando sobre todas sus partículas. El ejemplo más claroes la fuerza de la gravedad por unidad de volumen ~b (~F=V = �~g = ~b).Otros ejemplos importantes son las fuerzas de inercia, que son nulas ennuestra exposición por considerar siempre un sistema de referencia �jo,o las fuerzas electromagnéticas.

� Fuerzas de corto alcance: Son fuerzas por unidad de super�cie. Pue-den diferenciarse según sean fuerzas internas de cohesión (~s), que mantienenunidas las partículas del medio, o fuerzas de contacto ejercidas sobre lafrontera, a las que se conoce como tracciones (~t). Se describen medianteel tensor de tensiones que se estudiará posteriormente.

En conjunto, las fuerzas y momentos totales que recibe un medio continuode volumen Vm limitado por la super�cie � vienen dadas por:

~f =

Z�

~td� +

ZVm

~bd; (4.1)

~m =

Z�

~r � ~td� +ZVm

~r �~bd;

donde no aparecen las fuerzas internas porque tienen un balance nulo.

14

Page 15: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5

Tensores y medios continuos

Para describir numerosos fenómenos en Mecánica de Medios Continuos uti-lizamos tensores [20]. Se trata de utilizar las posibilidades que nos brindanestos objetos matemáticos para describir el desplazamiento entre un puntoy los puntos de su entorno así como las fuerzas internas que aparecendebidas a ese desplazamiento. Analizaremos dicho movimiento cuando seproduce una variación in�nitesimal entre la con�guración inicial 0 y lacon�guración deformada t; podemos considerar esto como el movimientoen el transcurso de un tiempo dt, como sucede en cada uno de los instantesen el movimiento de un �uido, o podemos considerar que se trata de unadesplazamiento pequeño de por sí, tal y como pasa en la deformación de unsólido elástico.Lo que se está haciendo en este segundo caso es considerar que por ser

la variación de posición tan pequeña la con�guración inicial y �nal coinciden(~x = ~X) y no tiene sentido distinguir entre la representación lagrangianay euleriana. En el caso de que la variación entre 0 y t fuese grande lasdeformaciones ocurridas deberían referirse a la con�guración inicial y los ten-sores utilizados estarían en función de las coordenadas lagrangianas. Estoes así porque en un sólido queremos conocer el comportamiento de un sis-tema inicial estudiado ante unas determinadas deformaciones así como iden-ti�car lo que le está sucediendo a cada punto de dicho sistema. Sin embargo,las fuerzas internas aparecen en la con�guración deformada y a ella debenreferirse. Por tanto el caso de grandes deformaciones necesita un tratamientoespecial y el caso aquí tratado es una importante simpli�cación.EnMecánica de Fluidos sin embargo no interesará analizar el movimiento

según la posición de la partícula inicial sino el movimiento instantáneo quese está produciendo en cada punto del espacio en cada instante. Cuandoestos movimientos en dt se encadenan uno detrás de otro dan lugar a unmovimiento apreciable de forma macroscópica. Aquí no nos interesa "guardar

15

Page 16: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 16

memoria" de dónde estaban las partículas inicialmente si no lo que está ocu-rriendo instantáneamente en cada punto espacial. Por tanto todos los ten-sores usados se re�eren a la representación euleriana y las hipótesis realizadasson válidas siempre.Según las razones expuestas los tensores presentados estarán referidos a

una representación euleriana o espacial.

5.1 Tensores de deformación

Analizaremos el movimiento que se produce en el entorno de un puntopor medio de un tensor relacionado con el desplazamiento y a partir deél obtendremos la información sobre la deformación que sufre la partículamaterial situada en ese punto.Sea un punto P del medio continuo que tomamos como referencia en un

tiempo t0 con coordenadas ~xP y sea un punto cercano Q con coordenadasiniciales ~xQ. Una vez ocurrida la transformación del medio hasta t, lospuntos P y Q habrán variado su posición teniendo por nuevas coordenadas~x0P y ~x

0Q. Como ya introdujimos, las nuevas coordenadas de los puntos de

t

para un tiempo �jo se pueden expresar según la ecuación (3.2):�~x0P = ~a+ ~xP +M�~xP~x0Q = ~a+ ~xQ +M�~xQ

:

Si consideramos los desplazamientos de estos puntos según la expresión(3.1) �

~uP = ~x0P � ~xP~uQ = ~x0Q � ~xQ

;

de manera que �~uP = ~a+ ~xP +M�~xP � ~xP~uQ = ~a+ ~xQ +M�~xQ � ~xQ

:

Como lo que nos interesa es conocer el movimiento relativo del entornode un punto con respecto a este, restaremos las expresiones anteriores obte-niendo

~uQP =M � (~xQ � ~xP );

como en general el tensor M es distinto para cada punto del espacio, paraque la expresión anterior sea válida los puntos P y Q deben ser muy cercanos,es decir:

~xQ � ~xP = d~x;

d~u =M�d~x: (5.1)

Page 17: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 17

Por tanto, el tensorM nos da los desplazamientos relativos con respectoa un punto que suceden a los puntos de su entorno cuando se produce unavariación in�nitesimal de 0 a t. Podemos entender que el punto P ysu entorno in�nitesimal limitan una partícula material y en tensor M dala información sobre el movimiento que esta partícula experimenta con latransformación.De la expresión (5.1), a partir de un desarrollo en serie de Taylor y de-

spreciando los in�nitésimos de orden superior, se obtiene que el valor deltensor es Mij =

@ui@xj. Si modi�camos (5.1) para que d~u y d~x sean vectores

�la entonces tendremos que

Mij =@uj@xi

= r ~u =

0@@u1@x

@u2@x

@u3@x

@u1@y

@u2@y

@u3@y

@u1@z

@u2@z

@u3@z

1A (5.2)

d~u = d~x �M =d~x � (r ~u) (5.3)

donde uj son las coordenadas cartesianas del vector desplazamiento evaluadasen el punto P .A partir de las expresiones (5.2) y (5.3) podemos analizar más profun-

damente en qué consiste la transformación de 0 a t y como afecta a unapartícula material individual o lo que es lo mismo, al entorno in�nitesimalde un punto. Sabemos que todo tensor puede descomponerse en su partesimétrica (") y antisimétrica (�) de la siguiente manera

M =1

2(M+Mt) +

1

2(M�Mt) = "+ �:

En este caso la descomposición de M dará lugar a los dos siguientestensores

" =1

2

0B@ 2@u1@x

@u2@x+ @u1

@y@u3@x+ @u1

@z@u1@y+ @u2

@x2@u2@y

@u3@y+ @u2

@z@u1@z+ @u3

@x@u2@z+ @u3

@y2@u3@z

1CA ; (5.4)

� =1

2

0B@ 0 @u2@x� @u1

@y@u3@x� @u1

@z@u1@y� @u2

@x0 @u3

@y� @u2

@z@u1@z� @u3

@x@u2@z� @u3

@y0

1CA : (5.5)

Puede comprobarse que � produce el mismo efecto sobre un vector d~xque el producto vectorial de este por un cierto vector común para todo elentorno de P

d~x � � =12(r� ~uP )� d~x;

Page 18: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 18

este producto vectorial representa un giro de todos los puntos del entornoin�nitesimal de P en torno a un eje �jado en él de vector director (r�~uP ) convalor angular 1

2k (r�~uP ) k y respetando los módulos de los vectores d~x. Esto

signi�ca que el tensor � produce en una partícula material únicamente ungiro como sólido rígido sin variación relativa entre la distancia de dos puntoscualesquiera, es decir, sin deformación. A � se le conoce con el nombre detensor de rotación in�nitesimal.Por otro lado el tensor simétrico " produce en un vector una dilatación y

un giro distinto para cada punto por lo que representa la deformación deun elemento diferencial de masa y se conoce como tensor de deformación in-�nitesimal. Su importancia es capital en la Mecánica de Medios Continuos,especialmente en Teoría de la Elasticidad donde las fuerzas internas exis-tentes en un punto son proporcionales a este tensor. Sus componentes tienenuna interpretación física clara que resulta muy interesante pero no es estric-tamente necesaria para el desarrollo de este proyecto; para un desarrollo másamplio se recomienda acudir a las secciones 3.7 y 3.8 de [22].Como el tensor " es simétrico siempre es posible encontrar una base en

la que el tensor tenga forma diagonal

" =

0@"1 0 00 "2 00 0 "3

1A :

Supongamos un paralelepípedo previo a la deformación formado por losvectores (X1; 0; 0),(0; X2; 0) y (0; 0; X3) en esa base. Si despreciamos la com-ponente de traslación que es común para todo el paralelepípedo y no afectapara nuestro análisis, la ecuación (3.2) nos da las coordenadas de esos vec-tores después de la transformación

x = ~x � (I + ")8<:~x01 = [(1 + "1)X1; 0; 0]~x02 = [0; (1 + "2)X2; 0]~x03 = [0; 0; (1 + "3)X3]

El volumen inicial del paralelepípedo antes de la transformación era V =X1X2X3 y después de la transformación

V +�V = (1 + "1)X1(1 + "2)X2(1 + "3)X3;

que después de despreciar in�nitésimos de segundo y tercer orden queda

V +�V = V (1+"1+"2+"3) = V +V ("1+"2+"3) =) �V = V ("1+"2+"3);

Page 19: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 19

�V

V= "1 + "2 + "3 = tr("); (5.6)

magnitud que expresa la variación relativa de volumen después de latransformación y que llamaremos coe�ciente de dilatación cúbica. Comosabemos que la traza de un tensor es invariante esta de�nición será válidasea cual sea el tensor de deformación y aunque no esté referido a su base deautovectores.Puede dividirse el tensor de deformación en dos partes de las cuales una

sólo provoca dilatación sin deformación (componente dilatacional) y la otrasólo provoca variación de forma manteniendo el volumen (componente desvi-adora)

" =1

3tr(")I+ "D:

A parte de este tensor de deformación puede de�nirse otros más conve-nientes según el tipo de transformación, por ejemplo sería necesario utilizarotro tensor distinto del in�nitesimal si estuviesemos ante grandes deforma-ciones tal y como hemos indicado al principio; algunos ejemplos de tensoresde deformación distintos del in�nitesimal son el tensor de Green-Lagrange yel tensor de Finger.

5.2 Tensores de velocidad de deformación

Cuando un medio continuo evoluciona puede interesarnos saber cómo es esaevolución según el tiempo, entonces en vez de analizar simplemente la dife-rencia entre la con�guración inicial y �nal llevaremos a cabo el tratamientoindicado anteriormente consistente en analizar la transformación que se pro-duce instante a instante. En este caso, en vez de analizar únicamente losdesplazamientos necesitaremos conocer como están sucediendo estos en cadainstante de tiempo a para ello utilizaremos la velocidad. Considerando unpunto ~x que después del movimiento en un instante dt pasa al punto ~x0, lavelocidad de la partícula material será:

~v =~x0 � ~xdt

=~u

dt:

Por tanto la relación entre un desplazamiento in�nitesimal y la velocidad esmuy estrecha y por ello esta última recibe un tratamiento análogo al vistoen la sección anterior y sólo se expondrá esquemáticamente.Las velocidades en dos puntos P y Q serán:�

~vP =1dt(~x0P � ~xP )

~vQ =1dt(~x0Q � ~xQ)

Page 20: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 20

y la expresión tensorial para las diferencias de velocidad entre dos puntoscercanos en un instante

~vQP = L � (~xQ � ~xP );

d~v = L � d~x:Por tanto L da las velocidades relativas entre el punto que tomamos comoreferencia y aquellos de su entorno in�nitesimal y será el siguiente tensor

Lij =@vj@xi

= r ~v =

0@@u@x

@v@x

@w@x

@u@y

@v@y

@w@y

@u@z

@v@z

@w@z

1Ad~v = d~x � (r ~v):

Este tensor puede dividirse en su parte simétrica y antisimétrica

L = + !

=1

2

0@ 2@u@x

@v@x+ @u

@y@w@x+ @u

@z@u@y+ @v

@x2@v@y

@w@y+ @v

@z@u@z+ @w

@x@v@z+ @w

@y2@w@z

1A

! =1

2

0@ 0 @v@x� @u

@y@w@x� @u

@z@u@y� @v

@x0 @w

@y� @v

@z@u@z� @w

@x@v@z� @w

@y0

1A :

De la parte antimétrica se tiene que

d~x � ! =12(r� ~vP )� d~x;

donde el vector (r� ~v) se denomina vorticidad (~!), más tarde se volverá aél. El tensor ! representa por tanto un giro como sólido rígido en torno aP con velocidad angular 1

2~!.

El tensor antimétrico representa la velocidad de deformación queexperimenta la partícula material; si se multiplica por dt obtendremos eltensor de deformación entre el instante t y t+ dt por lo que sus signi�cadosson análogos. Se trata de un tensor muy importante en algunas ramas deMecánica del Sólido y sobre todo en Mecánica de Fluidos ya que se con-sidera que las fuerzas que aparecen en un �uido son proporcionales a estetensor. A partir de un producto mixto puede calcularse el volumen de unparalelepípedo in�nitesimal que resulta de la deformación de los vectores de

Page 21: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 21

un prisma rectangular en un tiempo dt por aplicación de el tensor ; si de-spreciamos los términos de segundo orden que aparecen y comparamos elvolumen inicial y �nal tendremos que

1

dt

�V

V= tr( )=r � ~v

que se denomina velocidad de deformación cúbica unitaria y comopuede verse es, en cada punto, la divergencia del campo de velocidades.Es importante tener en cuenta esta interpretación de la divergencia porqueaparece en repetidas ocasiones a lo largo de este proyecto y en Mecánica deMedios Continuos en general.

5.3 Tensores de tensión

También pueden de�nirse tensores que nos den la información de la fuerzaque sufre un punto por la unidad de super�cie.El tensor más comúnmente utilizado es tensor de tensiones de Cauchy

(�) que se de�ne sobre la con�guración deformada

d~F = �d~�

d~� = d~x� d~x = ~nd�

donde d~F es la fuerza interna de cohesión y d~� es el elemento diferencial desuper�cie.Usando el tensor de tensiones podemos obtener la fuerza de cohesión por

unidad de super�cie en un punto interno del medio en una cierta dirección devector director ~n así como las tracciones externas ejercidas sobre la frontera:

~s = � � ~n; ~t = � � ~n:

A veces es útil utilizar otras magnitudes asociadas al tensor que proporcionanmás información que este por sí mismo, por ejemplo:

� Tensiones principales: Son los autovalores del tensor.

� Tensión efectiva: Módulo del tensor (p� : �)1

1El operador (:) representa una doble contracción entre tensores � : � = � ij� ijSu resultado es la suma de los cuadrados de cada componente del tensor

Page 22: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 5. Tensores y medios continuos 22

� Componente desviadora de la tensión:

�D = � � 13tr(�)I = � + pI

donde p es lo que se conoce como presión mecánica (magnitud es-calar) y es el valor medio de las tensiones en la dirección normal. Segúnesto podemos partir el tensor de tensiones en dos tensores

� = �H + �D = [1

3tr(�)I] + [� � 1

3tr(�)I]

�H es la tensión esférica o hidrostática, en ella las tensiones cortantes(las que están fuera de la diagonal principal) son nulas y todas lastensiones normales (las de la diagonal principal) son �p. Está últimatensión produce en un medio continuo isótropo un cambio de volumensin variar la forma.

Otros tensores de tensiones que pueden de�nirse son los dos tensores dePiola (útiles cuando existen grandes deformaciones) o el tensor de Kirchho¤.Al igual que en el tensor de deformación in�nitesimal, el tensor de ten-

siones de Cauchy en conjunto y sus distintas componentes pueden interpre-tarase de forma física. Además puede resultar útil conocer algunas inter-pretaciones que surgen al analizar sus autovalores y autovectores. Para untratamiento simple que se centra en el signi�cado físico se recomienda acudira los capítulos 1 y 2 de [22]; para un mayor rigor matemático y explicaciónformal del tensor de tensiones se recomiendan los puntos 3.1 y 3.3 de [29].

Page 23: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 6

Ecuación de continuidad

Cuando ocurre una transformación en un medio continuo la masa de estedebe conservarse siempre. En el caso concreto de los �uidos esta condición seconoce como ecuación de continuidad que deduciremos en este capítulo. Paraque se cumpla esta condición de conservación de la masa debe sucederque en un volumen material la masa no varíe con el tiempo de manera quese cumple

d

dt

ZV m(t)

�(~x; t)d = 0:

Por aplicación del teorema de Reynolds (2.4)podemos generalizar la expresiónsiguiente para un volumen de control cualquiera que puede ser un sistemaabierto en el que la masa pueda entrar y salir

d

dt

ZV c(t)

�(~x; t)d +

Z�(t)

�(~v � ~vc) � ~nd� = 0;

lo que signi�ca que la variación de la masa en un volumen de control sedebe únicamente al �ujo de esta a través de la super�cie. Si el volumende control está �jo, es decir no es variable según el tiempo y ~vc es nula, yademás contiene una única fase de manera que �(~x; t) es continua derivable,por aplicación de (2.3) podemos hacerZ

V c

@�

@td +

Z�

�~v � ~nd� = 0;

expresión que puede reescribirse utilizando el teorema de Gauss comoZV c

[@�

@t+r � (�~v)]d = 0;

23

Page 24: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 6. Ecuación de continuidad 24

y esto debe cumplirse para cualquier volumen �jo, con lo cual en el límitecuando V c! 0:

@�

@t+r � (�~v) = 0; (6.1)

que es la expresión general de la ecuación de continuidad para cualquier�uido. La ecuación (6.1) puede desarrollarse para obtener la forma alterna-tiva

@�

@t+ ~v � r�+ �r � ~v = 0: (6.2)

En el caso de que consideremos un �uido incompresible la densidad será con-stante y por tanto la derivada @t� será nula, además � saldrá de la expresiónde la divergencia y la ecuación de continuidad para un�uido incompresiblequedará

r � ~v = 0: (6.3)

De nuevo encontramos un camino para la interpretación física de la divergen-cia del campo de velocidades en Mecánica de Medios Continuos. Vemos quesu sentido es completamente equivalente al mostrado en el capítulo anteriorya que si el medio es incompresible su coe�ciente de velocidad de dilatacióncúbica será cero. Un resultado equivalente de incompresibilidad aparece siconsideramos el campo de desplazamientos:

r � ~u = 0:

Para una explicación más detallada pero simple del signi�cado de la diver-gencia puede consultarse [21] en sus seccciones 4.4 y 8.4.

Page 25: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 7

Principio de la cantidad demovimiento

Introduciremos las ecuaciones que rigen el equilibrio (tanto estático comodinámico) de un medio continuo que constituirán un principio equivalente ala segunda ley de Newton para partículas.En primer lugar presentaremos el teorema de Gauss para campos ten-

soriales ya que será necesario en este capítulo. Llamamos T a un campotensorial cualquiera de�nido sobre un volumen V limitado por una super�cie�; la expresión del teorema es:ZZ

T � ~nd� =ZZZ

V

(r �T)d;

La divergencia del tensor tiene la siguiente forma

(r �T)i =@Tij@xj

=

264@T12@x+ @T12

@y+ @T13

@z@T21@x+ @T22

@y+ @T23

@z@T31@x+ @T32

@y+ @T33

@z

375 :Una vez hecho esto recordamos la segunda ley de Newton, que postula quela variación con el tiempo de la cantidad de movimiento (m~v) es igual a lafuerza actuante; en el caso particular de que la masa constante esta fuerzaserá igual a la masa por la aceleración. Para un medio continuo la tasa devariación de la cantidad de movimiento en un volumen material vienedada por

d

dt

ZV m

�~vd:

Que, añadido a la expresión (4.1)que vimos para las fuerzas totales, resulta:

~f =

Z�

~td� +

ZV m

~bd =d

dt

ZV m

�~vd;

25

Page 26: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 7. Principio de la cantidad de movimiento 26

donde ~t son las tracciones ejercidas sobre la super�ce externa y ~b son lasfuerzas gravitatorias por unidad de volumen. Tal y como se indicó, las trac-ciones pueden expresarse a partir del tensor de tensiones resultandoZ

� � ~nd� +ZV m

~bd =d

dt

ZV m

�~vd:

Si consideramos un volumen de control �jo, mediante la aplicación del teo-rema de Reynods (2.2) tendremos:Z

�0

� � ~nd� +ZV0

~bd =

ZV0

@(�~v)

@td +

Z�0

�~v ~v � ~nd�:

Aplicando el teorema de Gauss en la integrales de super�cie para expresarlascomo integrales de volumen obtenemos:Z

V0

r � �d +ZV0

~bd =

ZV0

@(�~v)

@td +

ZV0

r � (�~v ~v)d;

y agrupando en una sola integralZV0

[@(�~v)

@t+r � (�~v ~v)�r � ��~b]d = 0;

lo que deberá cumplirse para cualquier volumen y por tanto:

@(�~v)

@t+r � (�~v ~v) = r � �+~b:

Si aquí trabajamos el primer término tendremos:

@(�~v)

@t+r � (�~v ~v) = �

@~v

@t+ ~v

@�

@t+ �~v(r � ~v) + ~v � (r (�~v)) =

= �@~v

@t+ ~v

@�

@t+ �~v(r � ~v) + ~v(~v � r�) + �(~v � (r ~v)) =

= �@~v

@t+ ~v(

@�

@t+ �(r � ~v) + ~v � r�) + �(~v � (r ~v)):

Por la ecuación de continuidad (6.2) se sabe que

@�

@t+ �(r � ~v) + ~v � r� = 0;

y por tanto este primer término queda de la forma

�@~v

@t+ �(~v � (r ~v)) = �

D~v

Dt;

Page 27: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 7. Principio de la cantidad de movimiento 27

resulando la expresión de la segunda ley de Newton para medios continuos,la siguiente:

�D~v

Dt= r � �+~b; (7.1)

que se conoce con los nombres de ecuación de la cantidad de movimiento,ecuación de equilibrio dinámico o ecuación de Cauchy del movimiento.En el caso de que el medio se encuentre en equilibrio estático, es de-

cir, que la resultante de las fuerzas y de sus momentos sea igual a cero ylas velocidades y aceleraciones sean nulas, se puede escribir la ecuación deequilibrio estático como

r � � = �~b:

Page 28: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 8

Ecuaciones constitutivas

En este capítulo se presentarán las relaciones que existen entre tensiones ydeformaciones, descritas por las llamadas ecuaciones constitutivas. Estasecuaciones describen el comportamiento macroscópico que es resultado de laconstitución interna del medio continuo. Para su desarrollo se empieza con laforma más general de estas ecuaciones y se intenta determinar restriccionesbasadas en principios generales. En la última sección del capítulo se expon-drán los materiales en los que la tensión no depende de la deformación, sinode la velocidad de deformación; este es el caso, por ejemplo, de los �uidos. Decualquier forma veremos como ambos casos no son independientes sino quelas deducciones realizadas para uno pueden ser aplicadas, con adaptaciones,al otro.Si consideramos un medio elástico (aquel que una vez cesada la carga

retorna a su posición original) y lineal (la dependencia entre tensiones ydeformaciones es lineal) la relación más general que se puede de�nir entretensiones y deformaciones es de la forma:

� ij = Cijkl"kl;

donde Cijkl es un tensor de cuarto orden que a priori contiene 81 constantes.

8.1 Medios elásticos, homógeneos e isótropos

En este caso el material cumple lo anterior y además está formado porpartículas de idénticas características (homógeneo) y sus propiedades sonidénticas en cualquiera de sus direcciones (isótropo). Recordemos ademásque los tensores de tensión y deformación son simétricos. Bajo estas condi-ciones el tensor de módulos elásticos Cijkl tiene las siguientes propiedades:

28

Page 29: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 8. Ecuaciones constitutivas 29

� Es un tensor isótropo, es decir, sus componentes no cambian anteuna transformación ortogonal de los ejes de coordenadas. Como puedecomprobarse en un libro de Álgebra Tensorial la forma más general deeste tipo de tensores es

Cijkl = ��ij�kl + �(�ik�jl + �il�jk) + #(�ik�jl � �il�jk):

� Como los tensores � ij y "ij son simétricos se debe cumplir

� ij = Cijkl"kl = � ji = Cjikl"kl; � ij = Cijkl"kl = Cijlk"lk;

y por tanto del tensorCijkl será simétrico en ij y en kl (simetría menor).

� Por consideraciones termodinámicas se impone la condición de simetríamayor

Cijkl = Cklij:

Esta condición hace que �ik�jl��il�jk = 0 y la forma general del tensorqueda

Cijkl = ��ij�kl + �(�ik�jl + �il�jk) = ��ij�kl + 2��ik�jl:

Como puede observarse, en estas condiciones el tensor de módulos elás-ticos depende únicamente de dos variables independientes. Así la relaciónentre tensión y deformación es

� ij = (��ij�kl + 2��ik�jl)"kl;

o lo que es lo mismo

� ij = ��ij�kl"kl + 2��ik�jl"kl;

donde (�kl"kl) es la traza del tensor " y el segundo sumando sólo será distintode cero si i = k y j = l de manera que la expresión de la ecuación constitutivade medios elásticos, homogéneos e isótropos queda

� ij = ��ij"kk + 2�"ij: (8.1)

� y � son los coe�cientes experimentales de Lamé que están relacionadoscon el módulo de elasticidad transversal (G), el módulo de Young (E) y elcoe�ciente de Poisson (�):

� = G =E

2(1 + �); � =

�E

(1 + �)(1� 2�) :

Page 30: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 8. Ecuaciones constitutivas 30

Todas las constantes elásticas pueden ser expresadas en términos de sólo dosconstantes independientes, a pesar de que muchas veces se utilizan ecuacionesen las que aparecen tres constantes, pero sólo dos de esas tres pueden especi-�cadas independientemente. Más información sobre estas constantes, su usoy signi�cado puede encontrarse en el capítulo 4 de [22] y en [25].Para mayor claridad puede usarse una expresión de la relación entre ten-

siones y deformaciones en forma vectorial de la siguiente manera:

~�= (�x; � y; � z; �xy; �xz; � yz)

~" = ("x; "y; "z; "xy; "xz; "yz)

y entonces el tensor Cijkl pasa a ser

C =

0BBBBBB@�+ 2G � � 0 0 0� �+ 2G � 0 0 0� � �+ 2G 0 0 00 0 0 2G 0 00 0 0 0 2G 00 0 0 0 0 2G

1CCCCCCA :

8.2 Medios elásticos en el caso de incompre-sibilidad

El coe�ciente de Poisson expresa la tendencia de un sólido elástico a cambiarde volumen cuando se le somete a una deformación. Cuando este coe�cientees � = 1

2el sólido no experimenta cambio de volumen alguno. Al mismo

tiempo que � = 12el coe�ciente � se hace in�nito y la ecuación (8.1) deja

de estar bien de�nida. También sabemos a partir de (5.6) que la traza deltensor de deformación será nula. En estas condiciones propongo la siguienteexpresión

~p

�+ "kk = 0; (8.2)

que se cumple perfectamente para el caso tratado. Sustituyendo el valordel tensor de deformación que se obtiene de esta expresión en la ecuaciónconstitutiva (8.1) tenemos:

� ij = �~p

���ij + 2�"ij = �~p�ij + 2�"ij: (8.3)

De la ecuación (8.1) podemos sacar fácilmente el valor de la traza deltensor de tensiones:

� kk = 3�"kk + 2�"kk = (3�+ 2�)"kk:

Page 31: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 8. Ecuaciones constitutivas 31

Recordamos la componente hidrostática de la tensión

�p�ij = �1

3� kk�ij; p = �1

3� kk;

con lo que tenemos la siguiente expresión que relaciona la componente hidrostáticadel tensor de tensiones con el tensor de deformación

p = �(3�+ 2�)3

"kk:

Para conocer el valor del parámetro ~p lo introducimos en la expresión anteriora partir de (8.2)

p =(3�+ 2�)

3�~p;

esta expresión sólo será válida en el límite de incompresibilidad ya que (8.2)sólo lo es en este caso por tanto tomando el límite llegamos a la siguienteconclusión

p = lim�!1

(3�+ 2�)

3�~p = lim

�!1

3�

3�~p+ lim

�!1

2�

3�~p = ~p;

es decir, que el parámetro ~p de la expresión (8.3) es equivalente a la compo-nentes hidrostática del tensor de tensiones cuando estamos tratando con unsólido incompresible. De esta manera la ecuación constitutiva para estetipo de materiales es

� ij = �p�ij + 2�"ij: (8.4)

8.3 Ecuaciones de Navier Stokes

En el caso de los medios �uidos no se establece una relación lineal entre eltensor de tensiones y el de deformación si no entre el primero y el tensorde velocidad de deformación ya que cuando un �uido se somete a unesfuerzo su deformación puede llegar a ser in�nita y depende el tiempo que seconsidere. Teniendo esto en cuenta resulta que la relación constitutiva en un�uido homógeneo, isótropo e incompresible es equivalente a la expresión(8.4) para medios elásticos incompresibles pero cambiando el tensor indicado:

� ij = �p�ij + 2� ij: (8.5)

En este caso el parámetro � tiene un sentido análogo al de G en los sólidos yse denomina coe�ciente de viscosidad dinámica, ambos parámetros midenla resistencia a la deformación.

Page 32: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 8. Ecuaciones constitutivas 32

Una vez obtenida la ecuación constitutiva para �uidos incompresiblespodemos desarrollar la ecuación (7.1) incluyendo (8.5)

�(@~v

@t+ ~v � r ~v) = r � (�p�ij + 2� ij)+~b: (8.6)

Teniendo en cuenta la ecuación de continuidad incompresible puede compro-barse fácilmente lo siguiente

r � (�p�ij + 2� ij) = �rp+ 2� � (1

2�~v)

y la ecuación (8.6) queda:

�(@~v

@t+ ~v � r ~v) = �rp+ ��~v +~b;

que son las ecuaciones de Navier Stokes para un �uido incompresible.

Page 33: Proyecto Fin de Carrera Solución numØrica de las

Parte II

Desarrollo del método numérico

33

Page 34: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 9

El método de las diferencias�nitas

Para describir y cuanti�car los fenómenos de la naturaleza utilizamos ecua-ciones diferenciales. En el caso de los �uidos las ecuaciones que rigen lamecánica son, como ya hemos visto, las ecuaciones de Navier-Stokes. Estasecuaciones en derivadas parciales son no lineales lo que hace que por desgra-cia no pueden ser resueltas analíticamente de forma general. Para conocerel comportamiento de los �uidos sin tener que recurrir a la experimentaciónse recurre a la integración numérica de las ecuaciones, es decir, se busca unmétodo de discretización que pueda ser implementado en un ordenadory obtenga una solución aproximada.Uno de los métodos existentes es el de las diferencias �nitas que es el

usado en este Proyecto. Consiste en sustituir las expresiones de las derivadaspor la diferencia entre los valores de la función estudiada en dos puntos ydividirla por la distancia entre esos puntos.

f 0(xi) =f(xi+h)� f(xi)

xi+h � xi:

La herramienta básica para construir derivadas discretas de diferente or-den de aproximación por diferencias �nitas es el teorema de Taylor. A pesarde que las funciones que utilizamos son de varias variables nos bastará cono-cer el teorema para una variable ya que en general las derivadas serán segúnla dirección de las variables y prescindiremos de derivadas cruzadas. Esteteorema se formula para dos puntos x y x0 :

x� x0 = h

f(x0 + h) = f(x0) +f 0(x0)

1!h+

f00(x0)

2!h2 + :::+

f (n)(x0)

n!hn +Rk(x0; h)

34

Page 35: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 9. El método de las diferencias �nitas 35

limh!0

Rk(x0; h)

hk= 0:

Las discretización de las derivadas puede ser adelantada, centrada o atrasadasegún el punto o los puntos que tomemos para evaluar la diferencia estén sólopor delante del punto estudiado, por delante y por detrás o sólo por detrásteniendo en cuenta siempre que la diferencia se efectúa entre el punto ade-lantado menos el atrasado.

9.1 Tipos de derivadas primeras

� Derivadas adelantadas

1. De primer orden de aproximación

f 0(xi) =f(xi+1)� f(xi)

h(9.1)

2. De segundo orden de aproximación

f 0(xi) =�f(xi+2) + 4f(xi+1)� 3f(xi)

2h(9.2)

� Derivadas atrasadas1. De primer orden de aproximación

f 0(xi) =f(xi)� f(xi�1)

h(9.3)

2. De segundo orden de aproximación

f 0(xi) =3f(xi)� 4f(xi�1) + f(xi�2)

2h(9.4)

� Derivadas centradas1. De segundo orden de aproximación

f 0(xi) =f(xi+1)� f(xi�1)

2h(9.5)

2. De cuarto orden de aproximación

f 0(xi) =�f(xi+2) + 8f(xi+1)� 8f(xi�1) + f(xi�2)

12h(9.6)

Page 36: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 9. El método de las diferencias �nitas 36

9.2 Tipos de derivadas segundas

� Derivadas adelantadas1. De primer orden de aproximación

f00(xi) =

f(xi+2)� 2f(xi+1) + f(xi)

h2(9.7)

2. De segundo orden de aproximación

f00(xi) =

�f(xi+3) + 4f(xi+2)� 5f(xi+1) + 2f(xi)h2

(9.8)

� Derivadas atrasadas1. De primer orden de aproximación

f00(xi) =

f(xi)� 2f(xi�1) + f(xi�2)

h2(9.9)

2. De segundo orden de aproximación

f00(xi) =

2f(xi)� 5f(xi�1) + 4f(xi�2)� f(xi�3)

h2(9.10)

� Derivadas centradas1. De segundo orden de aproximación

f00(xi) =

f(xi+1)� 2f(xi) + f(xi�1)

h2(9.11)

2. De cuarto orden de aproximación

f00(xi) =

�f(xi+2) + 16f(xi+1)� 30f(xi) + 16f(xi�1)� f(xi�2)

12h2(9.12)

Page 37: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 10

Tratamiento de las ecuacionesde Navier-Stokes

El objetivo de este proyecto es realizar la simulación del movimiento de un�uido newtoniano incompresible en dos dimensiones obteniendo los valoresprecisos de velocidad y de presión. Para ello debemos integrar las ecua-ciones de Navier-Stokes con las condiciones iniciales y de contorno propiasdel problema especí�co que queramos resolver.�

�D~vDt= �rp+ ��~v +~b

r � ~v = 0 :

Para mayor facilidad en el trabajo con las ecuaciones desarrollaremos to-das las expresiones. En lo sucesivo consideraremos que la fuerza de gravedadno afecta a nuestro problema de manera que se resolverán las ecuacionesdespreciando las fuerzas externas.Llamaremos (u; v) a las componentes del vector ~v y utilizaremos la vis-

cosidad cinemática (#), resultado de dividir la viscosidad dinámica (�) porla densidad del �uido (�).

@~v

@t+ ~v � r~v = �1

�� rp+ #(r � r ~v) (Forma vectorial)

8><>:@u@t+ u@u

@x+ v @u

@y= �1

�� @p@x+ #(@

2u@x2+ @2u

@y2)

@v@t+ u @v

@x+ v @v

@y= �1

�� @p@y+ #( @

2v@x2+ @2v

@y2)

@u@x+ @v

@y= 0

: (10.1)

Estas tres ecuaciones en derivadas parciales se encuentra acopladas. Conel objetivo de resolverlas más fácilmente vamos a desacoplarlas obteniendotres nuevas ecuaciones que podremos resolver de forma separada; estas

37

Page 38: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 10. Tratamiento de las ecuaciones de Navier-Stokes 38

ecuaciones serán la ecuación del transporte de vorticidad, la ecuación dePoisson para la función de corriente y la ecuación de Poisson para la presión.Como los nombres indican recurriremos a un cambio de variable en el queharemos uso de la vorticidad (!) y de la función de corriente ( ).La expresión para la vorticidad no es más que que el rotacional del

campo de velocidad, que ya aparecía relacionado con el tensor de velocidadde deformación

! = r� ~v = @v

@x� @u

@y;

y para la función de corriente

@

@y= u;

@

@x= �v:

Este último resultado tiene un signi�cado muy interesante que puede encon-trarse en la lección 4 de [18].

10.1 Ecuación del transporte de vorticidad

Para la obtención de esta ecuación y para los cálculos sucesivos damos porhecho que las incógnitas u,v y p son continuas y es aplicable el teorema deSchwarz de igualdad de las derivadas cruzadasLa �nalidad principal en un primer momento es eliminar la incógnita

de presión de nuestro sistema de ecuaciones. Para ello tomamos el rota-cional de la ecuación en su forma vectorial

r� (@~v@t+ ~v � r~v) = r� (�1

�� rp+ #(r � r~v));

lo que es equivalente a derivar la ecuación (2) según x, y restarle la ecuación(1) derivada según y

@2v

@t@x� @2u

@t@y+@u

@x

@v

@x� @u

@y

@u

@x+ u

@2v

@x2� u

@2u

@x@y+@v

@x

@v

@y� @v

@y

@u

@y+

+v@2v

@y@x� v

@2u

@y2= �1

@2p

@y@x+1

@2p

@x@y+ #(

@3v

@x3� @3u

@x2@y+

@3v

@y2@x� @3u

@y3):

Con este primer cambio ya podemos observar como la presión va a desa-parecer de nuestra ecuación, el objetivo ahora es, a partir de esta ecuación,encontrar una ecuación que tenga a la vorticidad por incógnita.

Page 39: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 10. Tratamiento de las ecuaciones de Navier-Stokes 39

Trabajando la parte izquierda de la ecuación (4) vemos que aparece laderivada según t de la vorticidad

@2v

@t@x� @2u

@t@y=

@

@t(@v

@x� @u

@y) =

@!

@t:

Por aplicación de la ecuación (3), ecuación de continuidad, desaparecen lostérminos producto de derivadas

@u

@x

@v

@x+@v

@x

@v

@y� (@u

@y

@u

@x+@v

@y

@u

@y) =

@v

@x(@u

@x+@v

@y)� @u

@y(@u

@x+@v

@y) = 0:

Y por último, a partir de las derivadas segundas restantes obtenemos térmi-nos no lineales de vorticidad

u@2v

@x2� u

@2u

@x@y= u(

@2v

@x2� @2u

@x@y) = u

@

@x(@v

@x� @u

@y) = u

@!

@x:

v@2v

@y@x� v

@2u

@y2= v(

@2v

@y@x� @2u

@y2) = v

@

@y(@v

@x� @u

@y) = v

@!

@y:

En partir de la parte derecha de la ecuación vemos como efectivamentese elimina p

�1�

@2p

@y@x+1

@2p

@x@y= 0;

y aparece un término laplaciano de la vorticidad

#(@3v

@x3� @3u

@x2@y+

@3v

@y2@x�@

3u

@y3) = #(

@2

@x2(@v

@x�@u@y)+

@2

@y2(@v

@x�@u@y)) = #(

@2!

@x2+@2!

@y2):

De esta manera la ecuación queda de la siguiente forma

@!

@t+ u

@!

@x+ v

@!

@y= #(

@2!

@x2+@2!

@y2); (10.2)

o de forma simpli�cadaD!

Dt= #�!

Esta es la llamada ecuación del transporte de vorticidad que nos indicacómo se propaga la vorticidad a lo largo del seno del �uido y es una de lasecuaciones desacopladas que buscamos para resolver el problema. Se tratade una ecuación parabólica no lineal de tipo advección-difusión que puedeser resuelta a partir de los métodos utilizados para la ecuación de Burgers2D.

Page 40: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 10. Tratamiento de las ecuaciones de Navier-Stokes 40

10.2 Ecuación de Poisson para la función decorriente

Encontraremos ahora una ecuación en la que la función de corriente sea laincógnita. A partir de ella, por derivación, podremos obtener las incógnitasiniciales u y v, es decir el campo de velocidades.Sabemos que

u =@

@y;

v = �@ @x

:

Por tanto, para un instante �jo, las derivadas de las componentes de lavelocidad según las variables cruzadas serán

@u

@y=@2

@y2;

@v

@x= �@

2

@x2:

Como ! = @xv � @yu

�@2

@x2� @2

@y2= ! =) @2

@x2+@2

@y2= �!; (10.3)

� = �!:Que es una ecuación de Poisson (elíptica) que relaciona la función de

corriente en un instante con la vorticidad en dicho instante.

10.3 Ecuación de Poisson para la presión

Por último encontraremos una ecuación mediante la cual podamos obtenerel campo de presiónA la ecuación en forma vectorial le aplicamos el gradiente en ambos lados

de la ecuación, es decir derivamos la primera ecuación de (10.1) respecto ax y la segunda respecto a y. Sumando las dos componentes del gradienteobtenemos

@

@t(@u

@x+@v

@y)+(

@u

@x)2+(

@v

@y)2+2(

@v

@x

@u

@y)+u(

@2u

@x2+

@2v

@x@y)+v(

@2u

@x@y+@2v

@y2) =

= �1�(@2p

@x2+@2p

@y2) + #(

@

@x(�u) +

@

@y(�v)):

Page 41: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 10. Tratamiento de las ecuaciones de Navier-Stokes 41

Al aplicarla la condición impuesta por la ecuación de continuidad tenemosque

@

@t(@u

@x+@v

@y) = 0;

u(@2u

@x2+

@2v

@x@y) = 0; v(

@2u

@x@y+@2v

@y2) = 0;

@

@x(�u)+

@

@y(�v) =

@3u

@x3+

@3u

@y2@x+

@3v

@x2@y+@3v

@y3=

@2

@x2(@u

@x+@v

@y)+

@2

@y2(@u

@x+@v

@y) = 0:

Una vez hecho esto se observa que queda un término relativo a la presiónp y tres más relativos a las velocidades u y v; estos tres términos puedenreordenarse de la siguiente manera, en la que una vez más se usará la ecuaciónde continuidad para eliminar los términos nulos

(@u

@x)2+(

@v

@y)2+2(

@v

@x

@u

@y) = (

@u

@x+@v

@y)2�2(@u

@x

@v

@y)+2(

@v

@x

@u

@y) = �2(@u

@x

@v

@y�@u@y

@v

@x):

Por tanto la ecuación para la presión quedará de la siguiente forma

@2p

@x2+@2p

@y2= 2�(

@u

@x

@v

@y� @u

@y

@v

@x); (10.4)

o expresado según la función de corriente

@2p

@x2+@2p

@y2= 2�(

@2

@x2@2

@y2� ( @

2

@x@y)2)

Como puede apreciarse esta es una nueva ecuación de tipo Poisson que encada instante nos dará los valores de la presión utilizando como términoindependiente una función de la función del campo de velocidades en eseinstante.

10.4 Conclusión

Para la resolución de las ecuaciones de Navier-Stokes se nos presentan dosopciones: resolver las ecuaciones en su forma original usando u,v y p comoincógnitas (enfoque de las variables primitivas) o usar transformaciones bási-cas a partir de las leyes de la Mecánica de Fluidos para el caso particular(incompresibilidad y dos dimensiones) encontrando así otras ecuaciones al-ternativas con diferentes incógnitas y de más fácil resolución. Este último esel método que hemos seguido y recibe el nombre de enfoque de la vorticidad-función de corriente. Dicho enfoque nos da las siguientes ecuaciones de las

Page 42: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 10. Tratamiento de las ecuaciones de Navier-Stokes 42

cuales las dos últimas no son dependientes del tiempo y deben ser resueltaspara cada instante

@!

@t+ u

@!

@x+ v

@!

@y= #(

@2!

@x2+@2!

@y2) (10.5)

@2

@x2+@2

@y2= �! (10.6)

@2p

@x2+@2p

@y2= 2�(

@2

@x2@2

@y2� ( @

2

@x@y)2) (10.7)

Page 43: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 11

Condiciones iniciales y decontorno

Para resolver las ecuaciones deben de�nirse unas condiciones iniciales y decontorno que acoten el problema.Lo primero que debemos hacer es de�nir un campo de velocidades ini-

cial que especi�que el movimiento del �uido a tiempo cero. Este campo hade ser coherente con la física del problema, por ejemplo, a priori, si utilizamosuna frontera cerrada, no podremos imponer un campo de velocidades en elque existan fuentes o sumideros. En una primera prueba lo más lógico seríaque el campo de velocidades fuese cero forzando el movimiento a partir decondiciones externas y observar como evoluciona el sistema; esto será lo quehagamos en el problema "lid driven cavity". Por otro lado también debe-mos imponer condiciones de contorno para la velocidad, será habitualque consideremos que en la frontera la componente de la velocidad paralelaa esta es nula siguiendo la hipótesis de no deslizamiento según la cual elrozamiento entre el �uido y la conducción provoca la adherencia del primerosobre el segundo. Además, para considerar que no entra ni sale �uido de lafrontera que estemos estudiando imponemos que la velocidad perpendiculara la frontera sea también cero. Con estas condiciones de contorno estaremosexpresando matemáticamente las restricciones físicas del problema, por ejem-plo, las que impone una conducción. Podemos optar por tener una fronteracon �uido entrante y saliente, entonces ya no se cumplirán las condiciones decontorno anteriores y lo que habrá que hacer será especi�car cuál es el valorde la velocidad en la frontera.La función de corriente hereda las condiciones de contorno impuestas

para la velocidad por la estrecha relación que existe entre ambas. Como parasu cálculo se empleará una ecuación de Poisson (elíptica) que por tanto notiene dependencia del tiempo, no será necesario establecer unas condiciones

43

Page 44: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 11. Condiciones iniciales y de contorno 44

iniciales. En cuanto a las condiciones de contorno generalmente lo que suelehacer es establecer que la función de corriente sea constante (generalmentecero) en toda la frontera de una conducción que no permita el paso de �uido.Esto es equivalente a considerar que existe una línea de corriente en esafrontera y por tanto el �uido no la atravesará y además la velocidad del�uido sobre esa línea seguirá su dirección.Las condiciones iniciales de la vorticidad se establecen a partir de la

velocidad, por el cálculo en el instante inicial según su expresión conocida.Esto nos da un primer valor a partir del cual calcular los sucesivos instantea instante, utilizando una discretización temporal que posteriormente ve-remos. Las condiciones de contorno sin embargo no son tan sencillas deespeci�car ya que no podemos deducirlas a partir de consideraciones físicas.Lo que se hace es utilizar la ecuación (10.6) para, a partir de su discretización,obtener una relación entre y ! en la frontera que pueda usarse a modo decondiciones de contorno. Si consideramos la frontera superior de un dominiorectangular en la que el valor de la coordenada y es ny sabemos que

i;ny = 0 =)@2

@x2ji;ny = 0;

entonces la ecuación (10.6) para la frontera superior queda

@2

@y2ji;ny = �!i;ny:

Mediante un desarrollo en serie de Taylor aproximamos el valor de la funciónde corriente en un punto por debajo de la frontera pero inmediatamentepróximo a esta

i;ny�1 = i;ny +@

@yji;ny ��y +

1

2

@2

@y2ji;ny � (�y)2 + :::

despreciando los términos de orden superior a dos y sustituyendo el valor dela segunda derivada en la frontera por el valor de la vorticidad tenemos

i;ny�1 = i;ny +@

@yji;ny ��y �

1

2!i;ny � (�y)2:

Además sabemos que @ @y= u con lo cual podemos despejar el valor de la

vorticidad en la frontera superior como

!i;ny =2( i;ny � i;ny�1 � ui;ny ��y)

(�y)2

Page 45: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 11. Condiciones iniciales y de contorno 45

!i;ny =2( i;ny � i;ny�1)

(�y)2� 2ui;ny

�y: (11.1)

Para el resto de fronteras podemos desarrollar otras expresiones muy similarescon la ventaja de que en la mayoría de los casos las fronteras serán �jas ytérmino de velocidad de la frontera será nulo simpli�cando considerablementeel tratamiento del problema. A partir de este desarrollo se empieza a intuirque la ecuación (10.5) no se resolverá junto con sus condiciones de contornode forma clásica.Para resolver la ecuación de la presión (10.7) seguimos el criterio general-

mente adoptado en la literatura de considerar nula la derivada de la presiónen la dirección normal a la frontera

@p

@~n= 0;

lo cual constituye una diferencia importante con las condiciones de contornoadoptadas para (10.6) en las que �jabamos el valor de la función solución enla frontera. En el caso de (10.6) tenemos lo que se conoce como condicionesde contorno de Dirichlet y el caso de (10.7), condiciones de contorno deNeumann. En el siguiente capítulo profundizaremos en las implicaciones queesto tiene y su tratamiento.

Page 46: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12

Ecuación de Poisson

Como se ha visto, a la hora de resolver las ecuaciones de Navier-Stokes en dosdimensiones según el enfoque de la vorticidad-función de corriente aparecendos ecuaciones de Poisson que debemos resolver en cada instante de tiempo.Estas son ecuaciones en derivadas parciales elípticas lineales que tienen laforma

� (~x) = f(~x);

donde � es el operador laplaciano equivalente a la divergencia del gradiente.Su uso es muy frecuente en ingeniería ya que describen multitud de

fenómenos naturales. En el caso de que el término independiente f(~x) seaigual a cero se obtiene la llamada ecuación de Laplace o ecuación del calorpara estado estacionario que describe la distribución de temperaturas en uncuerpo una vez que este ha alcanzado el equilibrio térmico.Para la resolución de esta ecuación mediante diferencias �nitas el primer

paso es discretizarla, pasaremos de tener un dominio continuo a tener unnúmero �nito de puntos en los que habrá que obtener el valor de la funciónpor resolución de un sistema lineal de ecuaciones algebraicas.Si sustituimos las derivadas segundas por una aproximación de segundo

orden en diferencias y centradas (9.11) obtenemos:

@2

@x2= i+1;j � 2 i;j + i�1;j

�x2@2

@y2= i;j+1 � 2 i;j + i;j�1

�y2

siendo �x y �y la diferencia entre dos puntos discretos del dominio en la di-rección x y en la dirección y respectivamente. Y sustituyendo en la expresiónde la ecuación de Poisson

i+1;j � 2 i;j + i�1;j�x2

+ i;j+1 � 2 i;j + i;j�1

�y2= f(xi;j):

46

Page 47: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 47

En este proyecto consideraremos una malla en la que la distancia entrepuntos es igual en la dirección x y en la dirección y y llamaremos h a estadistancia

1

h2( i+1;j � 2 i;j + i�1;j + i;j+1 � 2 i;j + i;j�1) = f(xi;j)

1

h2( i�1;j + i+1;j + i;j�1 + i;j+1 � 4 i;j) = f(xi;j): (12.1)

Esta ecuación discreta se satisface para todos los puntos interiores del do-minio y se denomina ecuación de Poisson en diferencias. Como puedenverse en ella lo que aparece en el término izquierdo no es más que una apro-ximación discreta del operador laplaciano para un determinado punto (i; j)a partir de los puntos de su entorno. Si despejamos el valor i;j vemos quela ecuación discreta toma la forma

i;j =1

4[ i�1;j + i+1;j + i;j�1 + i;j+1]�

h2

4f(xi;j)

en la que se ve que en una función solución de la ecuación de Poisson elvalor de cada punto discreto es un promedio de los valores de los puntosadyacentes en la dirección x e y menos el valor del término independienteen ese punto modi�cado según las condiciones del problema. El términoindependiente f está afectado por la super�cie del cuadrado elemental de lamalla (h2), esto es porque f en una ecuación de Poisson representa siempreuna magnitud de�nida por unidad de super�cie y necesitamos cuanti�car elvalor de esta magnitud en la super�cie de dominio del punto (i; j); podemosentender la división por 4 como un reparto del término independiente en elpunto (i; j) entre los puntos exteriores a los que afecta.Resulta que el laplaciano tiene una propiedad que nos da mucha li-

bertad a la hora de elegir otras discretizaciones que pudiesen ser más venta-josas: es invariante ante rotaciones. Esta propiedad junto con su inter-pretación como promedio (o la interpretación equivalente de la ecuación dePoisson como un promedio en cada punto afectado por una magnitud exteriorpor unidad de super�cie) inspira otros esquemas numéricos. Por ejemplo,podíamos haber decidido utilizar los puntos que se encuentran adyacentes alpunto (i,j) pero en diagonal quedando

1

h2( i�1;j+1 + i+1;j+1 + i�1;j�1 + i+1;j�1 � 4 i;j) = f(xi;j) (12.2)

ecuación en la que hemos considerado predominante la interpretaciónanterior de h2f(xi;j), o podíamos haber considerado más importante que

Page 48: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 48

para este caso la distancia entre puntos adyacentes no es realmente h sinop2h y entonces tendríamos:

1

2h2( i�1;j+1 + i+1;j+1 + i�1;j�1 + i+1;j�1 � 4 i;j) = f(xi;j):

Los métodos numéricos tienen un fuerte carácter práctico de manera quea veces, como es este caso, pueden obtenerse expresiones distintas para unmismo fenómeno. Será nuestra misión elegir aquel que sea más útil para cadacaso particular.Otra aproximación válida consiste en sumar los dos esquemas anteriores,

(12.1) y (12.2), haciendo un promedio de ambos para obtener un laplacianoque será calculado a partir de ocho puntos

1

h2( i�1;j + i+1;j + i;j�1 + i;j+1 + i�1;j+1+

+ i+1;j+1 + i�1;j�1 + i+1;j�1 � 8 i;j) = 2f(xi;j): (12.3)

Existen muchas alternativas más a parte de las mostradas. La elegidapara este proyecto es precisamente esta última ya que existen numerosasevidencias experimentales de su precisión.Una vez planteada la ecuación en diferencias podemos sustituir los índices

por sus valores en cada punto y de esta manera obtendremos una ecuaciónpara cada punto interior de la malla, es decir, todos menos los que se en-cuentran en la frontera de los que ya conocemos sus valores y que ademásnos servirán para resolver el problema. El conjunto de estas ecuaciones for-mará un sistema lineal de (m�1)�(n�1) ecuaciones con (m�1)�(n�1)incógnitas, siendom y n el número de divisiones de la malla en las direccionesx e y. Debe hacerse notar que en cada línea del sistema resultante tendremosun máximo de cinco incógnitas si se ha escogido el laplaciano de cuatro pun-tos y de nueve incógnitas para el laplaciano de ocho puntos; es decir que sitenemos una malla un poco grande en cada ecuación la mayor parte de lostérminos será cero. Además los términos distintos de cero estarán agrupadosen tres zonas de la matriz con forma diagonal, esto es lo que se conoce comomatriz tribanda; ilustramos este concepto mediante una representación delos puntos distintos de cero en la matriz de coe�cientes de una ecuación dePoisson con aproximación del laplaciano de cuatro puntos y una malla de

Page 49: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 49

20x20

y con un mayor nivel de zoom

Una vez resuelto el sistema tendremos los valores en todos los puntosinteriores de la malla. En las secciones siguientes de este capítulo indicaremoslas opciones existentes para resolver el sistema resultante.Todo lo expuesto hasta aquí parte de la base de que los valores de la

incógnita en la frontera son conocidos en todo momento, esto es lo que seconoce como condiciones de contorno de Dirichlet. Existen otros tiposde condiciones de contorno que pueden cambiar algunas de las cosas quehemos visto hasta aquí. De estas las más famosas son las condiciones decontorno de Neumann en las que lo que se conoce no es el valor de lasolución en la frontera si no el valor de su derivada normal a esta. Estas

Page 50: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 50

son las condiciones que aplicaremos por ejemplo para la resolución de laecuación de Poisson de la presión. Resulta que para la resolución del sistemalineal dabamos por hecho que conocíamos los valores en la frontera por loque con las condiciones de Neumann habrá que hacer modi�caciones en laforma de tratar el contorno.Mostraremos la manera de proceder para la frontera superior en la

que es conocida la derivada de la función solución en la dirección normala la frontera @

@~n= g; para mayor simplicidad usaremos la aproximación de

cuatro puntos para el laplaciano (12.1). Además introduciremos una �la depuntos fantasma por encima de la frontera (uo;j)que servirán para calcular laderivada con una mayor precisión mediante (9.5). La expresión (12.1) paraun punto cualquier de la frontera superior será:

4 1;j � 2;j � 0;j � 1;j+1 � 1;j�1 = �h2f1;j:

Evaluamos la derivada en la frontera

g1;j = 0;j � 2;j

2h

y esto implica que 0;j = 2hg1;j + 2;j

por tanto la ecuación de Poisson en diferencias para esa frontera se puedeescribir como

4 1;j � 2 2;j � 2hg1;j � 1;j+1 � 1;j�1 = �h2f1;j

y el valor del punto estudiado puede despejarse

1;j =1

2[ 2;j + 0:5( 1;j+1 + 1;j�1 � h2f1;j) + hg1;j];

que será la ecuación que usemos para cada punto de la frontera superior.Para el resto de fronteras (inferior, izquierda y derecha respectivamente)se sigue el mismo procedimiento y se obtiene:

end;j =1

2[ end�1;j + 0:5( end;j+1 + end;j�1 � h2fend;j)� hgend;j]

i;1 =1

2[ i;2 + 0:5( i+1;1 + i�1;1 � h2fi;1)� hgi;1]

i;end =1

2[ i;end�1 + 0:5( i�1;end + i+1;end � h2fi;end) + hgi;end];

end se re�ere al índice de la última �la o columna.

Page 51: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 51

En los vértices tenemos problemas porque la derivada normal no estábien de�nida. Para solucionarlo consideramos que la derivada en el vérticesegún cada una de las variables es igual a la del punto adyacente dada porla condición de contorno. Por ejemplo para el vértice superior izquierdo:

0;1 � 2;1 = 2hg1;2

1;2 � 1;0 = 2hg2;1

Aplicando la ecuación de Poisson en diferencias para ese punto tenemos que

4 1;1 � 2;1 � 1;2 � 0;1 � 1;0 = �h2f1;1;

y sustituyendo los valores de los puntos fantasma

4 1;1 � 2 2;1 � 2 1;2 = �h2f1;1 + 2h(�g2;1 + g1;2):

A partir de esta expresión se despeja el valor de la función en el vértice

1;1 =1

2[ 2;1 + 1;2 + h(�1

2hf1;1 � g2;1 + g1;2)]:

Para el resto de vértices tendremos

1;end =1

2[ 1;end�1 + 2;end + h(�1

2hf1;end + g2;end + g1;end�1)]

end;1 =1

2[ end;2 + end�1;1 + h(�1

2hfend;1 � gend;2 � gend�1;1)]

end;end =1

2[ end�1;end+ end;end�1+h(�

1

2hfend;end+ gend�1;end� gend;end�1)]:

Una vez expuesto el tratamiento que se hace de la ecuación de Poissonpara los dos tipos principales de condiciones de contorno y desarrollado elsistema de ecuaciones lineales que aparece asociado a su discretización pasare-mos ha comentar los distintos tipos de estrategia de solución que podemosemplear para dicho sistema.

12.1 Método directo

Siguiendo el proceso anterior debemos ordenar las ecuaciones resultantespara que el sistema quede en la forma habitual A~x = ~b; a partir del tér-mino independiente de la ecuación de Poisson y de los puntos en los que es conocido (frontera) se construye el término independiente del sistema deecuaciones lineales ~b. Los puntos interiores de la malla se ordenan en un

Page 52: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 52

vector de incógnitas ~x y con los coe�cientes de las incógnitas ordenados seconstruye la matriz de coe�cientes A. Una vez planteado el sistema sólo seránecesario usar un software de resolución de sistemas de ecuaciones lineales,en el caso concreto de Matlab la formulación usará el operador "n" de lasiguiente forma: x = Anb donde x será el vector de valores solución que de-beremos reordenar para que cada dato se corresponda con su posición realen la malla;Como hemos indicado antes en la matriz A la gran mayoría delos términos será cero por tanto tendremos una matriz "sparse".

12.2 Método iterativo (método de Liebmann)

Una opción alternativa a plantear el sistema de ecuaciones y resolverlo deforma directa es recurrir a un método iterativo que converja a una soluciónaproximada con un error que se reduce en cada iteración de manera quenosotros podemos elegir dicho error parando las iteraciones cuando se tiene unvalor aceptable. Una de estas opciones es el método de resolución de sistemasde ecuaciones lineales de Gauss-Seidel, que cuando se aplica a la resoluciónde una ecuación en derivadas parciales se conoce como método de Liebmann.Con esta técnica en vez de plantear el sistema completo recurrimos a laexpresión (12.3) en la que se ha despejado la incógnita para el punto (i; j)

i;j =1

8[ i�1;j + i+1;j + i;j�1 + i;j+1 + i�1;j+1+

+ i+1;j+1 + i�1;j�1 + i+1;j�1 � 2h2f(xi;j)]: (12.4)

Por supuesto no conocemos todos los valores que existen dentro del corchetepero en un principio se supone que son todos cero. Se resuelve la ecuaciónpara el primero de los puntos (i; j) y el resultado de este se usa inme-diatamente en el cálculo del punto siguiente y así sucesivamente, es-tableciendo de esta manera una secuencia iterativa. Este método convergehacia la solución correcta siempre que la matriz A del sistema de ecuacionessea de diagonal dominante y es un hecho conocido que una matriz tribandaes de diagonal dominante, por tanto el método de Liebmann será válido parala solución de nuestra ecuación de Poisson. Otra solución parecida que po-dríamos haber adoptado sería que en cada punto no se utilicen los valoresque se han obtenido para puntos próximos en esa misma iteración si no losde la iteración anterior, respetando así la secuencia de tiempo para todoslos puntos; esto es lo que se conoce como método de Jacobi para sistemasde ecuaciones lineales. En general el método de Gauss-Seidel da la mejoraproximación por lo que lo hace el método preferido.

Page 53: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 53

En el caso de tener condiciones de contorno de Neumann el proceso essimilar sólo que en vez de utilizar únicamente la ecuación (12.3) se combinael procedimiento con el cálculo de los puntos de la frontera mediante lasexpresiones correspondientes. En este proyecto se utiliza la aproximación decuatro puntos para el laplaciano (12.1) al resolver ecuaciones de Poisson concontorno de Neumann en vez de la mostrada en esta sección.Pues bien, sabemos que el método va a converger siempre con lo cual

el problema ahora estará en saber cuando deben pararse las iteraciones.Como es un método aproximado nunca llegaremos a obtener la solución ex-acta pero como la convergencia está asegurada sabemos que llegará un mo-mento en el que estemos lo su�cientemente cerca con un error razonablementepequeño. Para hacer una estimación del error evaluaremos la diferenciaque existe entre los valores de la iteración anterior y los de la actual y cuandoesta sea su�cientemente pequeña (el valor lo �jamos nosotros) entendemosque estamos muy cerca de la solución y el error que tenemos es aceptable.En ese momento detenemos las iteraciones. Según esto la expresión que uti-lizamos para estimar el error es:

error =

vuuuutmXi=2

nXj=2

( ti;j � t�1i;j )2

(m� 1)(n� 1) (12.5)

12.3 Método de Liebmann con sobrerrelajación

El método de Liebmann es muy adecuado para la resolución de ecuaciones dePoisson como hemos visto pero tiene el problema de que converge de formademasiado lenta. Para mejorar este aspecto se propone una modi�caciónque consiste en que después de que se calcule el nuevo valor de en un puntose modi�ca promediándolo con el resultado de la iteración anterior:

nuevoi;j = � nuevoi;j + (1� �) anteriori;j (12.6)

donde � es un valor que va de 1 a 2. Como el método va a convergersiempre sabemos que el valor de nuevoi;j va en la buena dirección hacia lasolución y la expresión anterior, que consiste en darle un peso mayor alnuevo valor con respecto al antiguo, será aceptable. Lo único que estaremoshaciendo es acercarnos más rápido a la solución. Esto es lo que se conocecomo sobrerrelajación o SOR por sus siglas en inglés.De entre los posibles valores de �, ¿cuál es óptimo que debemos utilizar?

No existe una respuesta general para esto pero en el caso de la ecuación de

Page 54: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 12. Ecuación de Poisson 54

Poisson en un dominio rectangular con una malla uniforme (�x = �y = h)D. Young y S.P. Frankel obtuvieron una expresión teórica: el valor de �óptimo será la raíz más pequeña de la ecuación

t2�2 � 16�+ 16 = 0 (12.7)

siendo t el siguiente valor

t = cos(�

m) + cos(

n): (12.8)

Si nos encontramos ante un caso más complicado no podremos encontraruna expresión de este estilo y el valor deberá obtenerse mediante experi-mentación.Dada la sencillez que existe para programar este método, la precisión que

puede obtenerse y su velocidad, este será el método que empleemos pararesolver las ecuaciones de Poisson con condiciones de frontera de Dirichlet.

Page 55: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 13

Ecuación de Burgers

La ecuación del transporte de vorticidad es una ecuación en derivadas par-ciales parabólica no lineal que debemos resolver para obtener el campo devorticidad en el �uido que actuará posteriormente como término indepen-diente en la ecuación de Poisson para averiguar la función de corriente. Comohemos indicado es una ecuación de advección-difusión y tiene gran parecidocon la ecuación de Burgers viscosa en dos dimensiones. Por esta razón parala resolver la ecuación del transporte de vorticidad pueden usarse los mis-mos métodos que para la ecuación de Burgers. Esta ecuación sirve comomodelo simpli�cado de las ecuaciones de Navier-Stokes porque reproduce al-gunos fenómenos que se observan en ellas pero con una complejidad muchomenor. De hecho la ecuación de Burgers es una de las pocas ecuaciones enderivadas parciales no lineal que tiene solución analítica, aunque sólo paraunas ciertas condiciones iniciales y de contorno. Existen multitud de métodosnuméricos para su resolución de entre los cuales hemos elegido el método deMacCormack "time split", o de paso fraccionado, un método explícito detipo predictor-corrector. Recordemos que la ecuación que queremos resolveres

@!

@t+ u

@!

@x+ v

@!

@y= #(

@2!

@x2+@2!

@y2):

Esta ecuación puede ponerse en forma de conservacion para la que seexpondrá el método

@!

@t+@F

@x+@G

@y= #(

@2!

@x2+@2!

@y2):

Se usarán los siguientes operadores unidimensionales en diferencias �nitas:Lx(�t) y Ly(�t) que aplicados sobre un valor de vorticidad en un punto i; jen un instante n nos devuelven el valor en el punto en un paso de tiempo

55

Page 56: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 13. Ecuación de Burgers 56

virtual posterior denotado por un índice mudo � . Por tanto aplicando Lx(�t)tenemos

!�i;j = Lx(�t)!ni;j

operación que se efectúa en dos pasos mediante una ecuación de prediccióny otra de corrección

!��i;j = !ni;j ��t

�x(F n

i+1;j � F ni;j) + #�t

!ni+1;j � 2!ni;j + !ni�1;j�x2

; (13.1)

!�i;j =1

2[!ni;j + !

��i;j �

�t

�x(F ��i;j � F ��i�1;j) + #�t

!ni+1;j � 2!ni;j + !ni�1;j�x2

]: (13.2)

Y de modo parecido para Ly(�t)

!�i;j = Ly(�t)!ni;j

!��i;j = !ni;j ��t

�y(Gn

i;j+1 �Gni;j) + #�t

!ni;j+1 � 2!ni;j + !ni;j�1�y2

!�i;j =1

2[!ni;j + !��i;j �

�t

�y(G��i;j �G��i�1;j) + #�t

!��i;j+1 � 2!��i;j + !��i;j�1�y2

]:

A partir de estos operadores puede construirse un método numérico parala resolución de la ecuación de Burgers en forma conservativa de la siguientemanera

!n+1i;j = Ly(�t

2)Lx(�t)Ly(

�t

2)!ni;j:

Lo que, a partir del campo de velocidad en un instante, nos da el valor delcampo de vorticidad para el paso de tiempo siguiente.Cabe preguntarse, para la completa de�nición del método, cuál es la

relación entre la forma conservativa de la ecuación de transporte de vortici-dad y la forma tradicional. Esta puede ser una cuestión de difícil solución sila abordamos únicamente desde el punto de vista matemático pero afortu-nadamente disponemos de otras herramientas. Utilizaremos una vez más laecuación de continuidad que nos de�ne la incompresibilidad del �uido paraeliminar términos que harían que la ecuación no se cumpliese desde el puntode vista matemático. Haremos que F y G sean de la manera siguiente

F = u � !; G = v � !

de manera que según la derivación que se hace en la forma de conservaciónde la ecuación:

@F

@x+@G

@y=@u

@x! +

@!

@xu+

@v

@y! +

@!

@yv

Page 57: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 13. Ecuación de Burgers 57

expresión que a priori no coincide con la correspondiente a la forma tradi-cional de la ecuación pero haciendo uso de la ecuación de continuidad (6.3):

@u

@x! +

@!

@xu+

@v

@y! +

@!

@yv = u

@!

@x+ v

@!

@y+ !(

@u

@x+@v

@y) = u

@!

@x+ v

@!

@y:

Que es lo que estabamos buscando. Por tanto los valores escogidos paraF y G son correctos. Según deben quedar en la expresión discreta serán

F ni;j = uni;j � !ni;j; Gn

i;j = vni;j � !ni;j

F ��i;j = uni;j � !��i;j; G��i;j = vni;j � !��i;j

Page 58: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 14

Resolución de Navier-Stokes

Como conclusión a esta parte expondremos la teoría de los pasos necesariospara obtener la solución numérica de las ecuaciones de Navier-Stokesen dos dimensiones y realizar la simulación del comportamiento del �uidoconsiderado. En la parte siguiente de este PFC veremos su desarrollo prácticoen forma de software.En primer lugar de�nimos las condiciones iniciales del campo de veloci-

dades así como las condiciones de contorno para este, que han de cumplirseen todo momento. Especi�camos las propiedades del �uido que se usará enla simulación, densidad y viscosidad. Decidimos las condiciones geométricasdel problema y establecemos las medidas necesarias, además �jaremos lascondiciones de contorno de la presión que siempre serán las mismas ( @p

@~n= 0).

Todo esto será lo que conoceremos como Paso 0.En el Paso 1 calcularemos la vorticidad inicial a partir de los datos del

campo de velocidades y estableceremos las condiciones de contorno para lafunción de corriente.Una vez hecho esto conocemos todos los datos de inicio del problema y

estaremos preparados para iniciar un proceso de iteraciones que calcule lascondiciones del �uido instante a instante y que englobará todos los pasossiguientes. Lo primero que tenemos que hacer dentro del bucle y constituyeel Paso 2 es resolver la ecuación de transporte de vorticidad según el métodopara la ecuación de Burgers; introducimos el dato de vorticidad inicial y apartir de él se calculará la vorticidad para el instante siguiente. Sólo seránválidos los datos obtenidos para puntos interiores ya que los puntos de fron-tera deberán obtenerse a partir de la función de corriente como indicamos.El Paso 3 consiste en resolver la ecuación de Poisson para la función

de corriente usando como término independiente el opuesto de la vorticidadobtenida en el paso anterior. Los puntos de la frontera de la función decorriente estarán bien de�nidos en todo momento porque son las condiciones

58

Page 59: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 14. Resolución de Navier-Stokes 59

de contorno para esta ecuación. Además sus valores se usarán para el cálculode los demás puntos en la ecuación de Poisson. Una vez llegados a este puntotenemos, para el primer instante, los datos básicos que queríamos obtener yque nos dan toda la información del problema cinemático.Usamos los datos de la función de corriente para, con las expresiones

correspondientes, establecer los valores de vorticidad en los puntos de lafrontera. Estos valores son muy importantes para que en el paso de tiemposiguiente los resultados sigan siendo correctos. El cálculo de la vorticidad enla frontera es el Paso 4.El Paso 5 es el cálculo del campo de velocidades en ese instante por

derivación de la función de corriente. El campo de velocidades es la incógnitafundamental del problema que nos da la información sobre cómo se mueve el�uido. En este paso también debemos corregir los valores del contorno paraque cumplan las condiciones especi�cadas.Por último de�nimos el Paso 6 consistente en integrar la ecuación de

Poisson para la presión a partir de los datos del campo de velocidades. Comoeste dato no afecta para el cálculo de incógnitas sucesivas, puede resolverseesta ecuación sólo en determinados momentos en los que sea necesario, porejemplo, en el caso de un programa de ordenador, cuando exista una salidagrá�ca por pantalla.Llegados a este punto conocemos el valor de todas las incógnitas para el

primer instante discreto de tiempo. Los valores calculados vuelven a entraren el proceso iterativo para calcular las incógnitas en el siguiente paso y asíhasta que se haya obtenido todos los datos del movimiento y de la presiónpara el tiempo requerido en la simulación.

Page 60: Proyecto Fin de Carrera Solución numØrica de las

Parte III

Implementación del código

60

Page 61: Proyecto Fin de Carrera Solución numØrica de las

61

El objetivo de esta parte del proyecto es crear un software de sim-ulación para el análisis del movimiento de un �uido incompresible en dosdimensiones. Los datos resultantes tendrán una salida grá�ca que hará másfácil su interpretación y visualización. La simulación se basa en la resoluciónde las ecuaciones de Navier-Stokes por el método de las diferencias �nitasanteriormente expuesto.En el desarrollo y programación del software se utilizará Matlab, un

programa especialmente diseñado para la realización de cálculos numéricoscon vectores y matrices que supone una potente herramienta en ingeniería.Matlab dispone además de un lenguaje de programación propio en el queestá escrito el código que se mostrará en los siguientes capítulos.

Page 62: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 15

Malla discreta

Como se ha visto, las funciones que se usan en el método de las diferen-cias �nitas tienen un carácter discreto, únicamente conocemos su valor enun conjunto �nito de puntos. Para trabajar con estas funciones se es-coge un dominio de R2 en el que se de�nen las funciones; este dominio seráequivalente al espacio físico ocupado por el medio �uido sobre el que se re-aliza el estudio. En nuestro caso se tratará de un dominio rectangular en elprimer cuadrante. De este dominio se escoge una cantidad �nita de puntos.Hay muchas formas de de�nir estos puntos que dan lugar a muy distintasdiscretizaciones del espacio. Si se escogen puntos equiespaciados en la di-rección x y en la dirección y con una distancia h entre ellos lo que se estáhaciendo es dividir el dominio en una serie de cuadrados iguales de la lado hcomo se muestra en la siguiente �gura

En cada uno de los puntos la función estudiada ha de estar de�nida y paratrabajar con ella se crea una matriz con tantas �las como puntos discretostenga el dominio en la dirección y y tantas columnas como puntos haya en la

62

Page 63: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 15. Malla discreta 63

dirección x. Esta matriz contendrá los valores de la función en cada unode los puntos del dominio discreto y cada uno de estos a su vez se le asociaráuna posición en la matriz.Por ejemplo, tomemos la función z = x2 + y3=2 y hagamos una dis-

cretización en una malla de 5x5 puntos en el primer cuadrante, empezandodesdel el origen de coordenadas y con una distancia entre puntos de h = 1.La matriz que obtendremos de esta función será

y su representación grá�ca (la numeración de los ejes se corresponde con losíndices de la matriz)

Por tanto, una vez de�nida la geometría a estudiar y la cantidad de pun-tos discretos tomados, cada función con la que trabajemos será una matrizque contendrá los valores que toma la función en los puntos estudiados. Laprimera de estas funciones que presentamos es la velocidad (~v) que es uncampo vectorial de dos componentes (u; v); cada una de estas componenteses una función escalar que será tratada según se ha indicado manejando lasmatrices U y V.

Page 64: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 16

Derivadas

Como ya se ha expuesto, la discretización de las derivadas es la pieza claveen el método de resolución de ecuaciones por diferencias �nitas. Se ha vistocomo a partir de este concepto se discretizan las ecuaciones y ahora se verála manera de efectuar el cálculo de estas derivadas mediante las correspon-dientes rutinas programadas en Matlab. Estas rutinas constituyen el nivelmás bajo en el que se apoya todo el código para la resolución de las ecuacionesde Navier-Stokes y aparecen en todas las funciones que se han desarrollado. Alo largo del desarrollo del programa se han considerado numerosas solucionesposibles para el cálculo de las derivadas. Aquí se expondrá únicamente laopinión �nal elegida.

16.1 Derivadas primeras

Para las derivadas primeras fue necesario programar dos funciones distin-tas, una para las derivadas adelantadas (9.1) y otra para las atrasadas (9.3).En un inicio las dos funciones efectuaban el cálculo de forma distinta perocon el objeto de preservar la simetría se buscó uni�car al máximo el métodousado por ambas.Las dos rutinas desarrolladas se basan en la función deMatlab "circshift".

A "circshift" se le pasa como argumento una hipermatriz (o en el caso par-ticular, una matriz) y un vector de tantas componentes como dimensionestenga la hipermatriz y devuelve una matriz del mismo tamaño que la inicial.En el caso de que A sea una matriz (dos dimensiones) la notación será

B=circshift(A,[a b]);

Lo que hace la función es mover a posiciones la matriz A hacia abajo y b

64

Page 65: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 16. Derivadas 65

posiciones hacia la derecha. Por ejemplo

Esto nos viene muy bien ya que moviendo la matriz de valores de la fun-ción que se quiere derivar una posición a la derecha/izquierda tendremossuperpuestos los valores de los que se efectuará la diferencia. Es decir, siqueremos hacer la operación que aparece en las derivada primera adelantada,f(i + 1; j) � f(i; j), para todos los valores de la matriz lo único que habráque hacer es:

circshift(A,[0 -1])-A

y tendremos toda la matriz diferenciada. Para el caso de la derivada atrasadala operación es f(i; j)� f(i� 1; j) y la operación en Matlab:

A-circshift(A,[0 1])

Al efectuar la discretización y derivar de forma adelantada o atrasada siempreexiste una frontera para la que no es posible realizar el cálculo yaque nos falta un punto para hacer la diferencia. Una solución que puedeadoptarse es asignar un valor predeterminado, por ejemplo cero, para laderivada en esa frontera; esto generalmente es una solución demasiado burda.Otra solución es, en esa frontera, efectuar la derivada de forma contraria ala que se está haciendo, si la derivada es adelantada calcular la atrasada, ysi la derivada es atrasada hacer la adelantada. Como las discretizaciones quese están utilizando son de primer orden de error lo que se conseguiría conesta solución es que la derivada en esa frontera fuese igual a la derivada en elpunto anterior lo cual muchas veces puede ser un resultado no satisfactorio.La solución adoptada en este proyecto ha sido efectuar una derivada contrariaen la frontera "desconocida" pero con un mayor orden de aproximación

Page 66: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 16. Derivadas 66

en la serie de Taylor, de manera que para el cálculo se toman más puntoscercanos a la frontera y el problema desaparece; la expresión correspondientepara esa frontera en la derivada adelantada es (9.4) y en la atrasada (9.2).Con todas estas consideraciones las funciones de cálculo de la derivada

son:

� Adelantada(forward)

function A=(B,h)A=(circshift(B,[0 -1])-B)/h;A(:,end)=(3*B(:,end)-4*B(:,end-1)+B(:,end-2))/(2*h);

� Atrasada(backward)

function A=D1b(B,h)A=(B-circshift(B,[0 1]))/h;A(:,1)=(-B(:,3)+4*B(:,2)-3*B(:,1))/(2*h);

Aquí B es la matriz que se está derivando y h el paso que existe entrepunto y punto de la malla.Las funciones programadas para la derivada adelantada y atrasada son

realmente parecidas y no sería difícil uni�carlas en una sola función; esto nose ha hecho para evitar evaluar "if" en todas las derivadas ya que debidoal gran número de veces que se realiza a lo largo del programa podría llegara ralentizarlo.Como puede verse estas funciones diferencian las matrices según la direc-

ción horizontal, es decir, tal y como están darían resultados de @@x. Si quiere

conocerse el valor de la derivada según y lo primero que debe hacer estrasponer la matriz a derivar para que la función actúe en la dirección co-rrecta. Si se requiere la derivada adelantada habrá que usar la función "D1b"y si se requiere la atrasada "D1f" ya que el "giro" de la matriz dejará laordenación contraria a la que queremos. Además habrá que añadir un signonegativo ya que la operación se efectuará restando la posición que se en-cuentra por delante geométricamente a la que está por detrás y debe ser alcontrario. Por último se traspone el resultado para volver al sistema original.Por tanto para evaluar @

@yusaremos:

� Adelantada: -(D1b(A�,h))�

� Atrasada: -(D1f(A�,h))�

Page 67: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 16. Derivadas 67

Es inmediato observar que a partir de la función "circshift" hubiese sidomuy sencillo programar otras dos funciones análogas a "D1f" y "D1b" quecalculasen la derivada según y evitando así tener que hacer uso de las opera-ciones expuestas anteriormente que tienen una complejidad mayor. Bastaríacon cambiar un número. Las razones por las que no se ha hecho son dos. Enprimer lugar carece de sentido realizar dos funciones prácticamente idénticassi no se van a uni�car en una única pero como ya se ha dicho no van a dis-eñarse funciones de derivadas que tengan que evaluar "if". Y en segundolugar no parece práctico tener seis funciones para las derivadas cuando lomismo puede hacerse con tres funciones muy sencillas. Además el coste quetiene trasponer matrices para Matlab es mínimo y más que asumible.

16.2 Derivadas segundas

El cálculo de las derivadas de segundo orden utiliza una estrategia distintaa las de primer orden. Podía haberse usado igual la función "circshift"pero debía llamarse más veces cada vez que se hacía una derivada y estomultiplicaba por tres el tiempo de la operación. La discretización elegidaen este caso es centrada y por ello la �nalidad de la función programada esrealizar la operación (9.11) para todos los valores de una matriz de datos.Lo que se hace es, mediante un bucle "for" que recorra las columnas de lamatriz, efectuar la operación (9.11) por columnas completas. Igual que en elcaso de la derivada primera, existen puntos en los que no es posible calcular ladiferencia, para la derivada segunda esto sucede en la columna inicial y �nalpara derivadas según x y en la primera y última �las para derivadas segúny como puede apreciarse a partir de (9.11). Para solucionarlo se recurre ala misma solución que en la primera derivada pero en este caso tendremosque usar una derivada adelantada para la primera columna y una derivadaatrasada para la última. Con esto la función para la derivada segunda queda:

function A = D2(B,h)n=size(B);A=zeros(n);for i=2:(n(2)-1)

A(:,i)=(B(:,i+1)-2*B(:,i)+B(:,i-1))/(h^2);endA(:,1)=(-B(:,4)+4*B(:,3)-5*B(:,2)+2*B(:,1))/(h^2);A(:,end)=(2*B(:,end)-5*B(:,end-1)+4*B(:,end-2)-B(:,end-3))/(h^2);

De igual forma que antes la función esta preparada para derivar segúnla dirección x ( @

2

@x2) y para derivar sobre y tendremos que modi�car la

Page 68: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 16. Derivadas 68

operación. En este caso no existe una alternativa elegante como en el casode la primera derivada en la que hubiese bastado con cambiar un número,aquí si se hubiese incluido un "if" para poder agrupar las dos derivadas sehubiesen tenido que doblar las líneas de código existentes por lo que estaopción tampoco ofrecería ninguna ventaja. La secuencia es la misma presen-tada anteriormente salvo que en este caso, por la simetría de (9.11), no seránecesario cambiar el signo:

@2

@y2= (D2(A�,h))�

No se contempla diseñar funciones para derivadas cruzadas ya que enningún momento son necesarias en el proyecto.

16.3 Rotacional

En el programa el rotacional del campo de velocidades, es decir, la vorti-cidad, se calculará mediante la resolución de su ecuación correspondiente.Sin embargo en el primer instante únicamente conocemos las condiciones ini-ciales de la velocidad y a partir de ellas debemos calcular la vorticidad inicial.Para ello haremos uso de la expresión usual de la vorticidad discretizándolamediante las funciones anteriores, algo que además nos servirá de ejemplo deestas. En la expresión de la vorticidad (! = @xv�@yu) tenemos una derivadasegún x y otra según y y aplicaremos lo visto anteriormente; si consideramosuna derivada adelantada en los dos casos tenemos

@xv = D1f(V,h)

@yu = -(D1b(U�,h))�

Para obtener una mayor exactitud utilizamos derivadas centradas pero envez de crear una nueva rutina para ello realizamos la media entre la derivadarealizada de forma adelantada y la atrasada. Llamaremos om a la matriz devalores discretos de la vorticidad. La línea de código resultante es:

om=((D1f(V,h)+(D1b(U�,h))�)+(D1b(V,h)+(D1f(U�,h))�))/2;

Page 69: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 17

Ecuación de Poisson

17.1 Contorno Dirichlet

Aparecen varias ecuaciones de Poisson en el proyecto que están planteadascon condiciones de contorno de Dirichlet sobre un dominio rectangular. Parasu resolución, o la resolución de cualquier ecuación de este tipo de las muchasque se encuentran en la práctica en ingeniería se propone la siguiente funciónde Matlab que se desarrollará en esta sección.En primer lugar la función necesitará tres argumentos para su fun-

cionamiento:

� Una matriz efe que será la discretización de la función del términoindependiente f(x; y)

� Una matriz contorno en la que las �las y columnas extremas de�niránlas condiciones de contorno del problema. Sólo se usarán estas partesde la matriz con lo cual los demás elementos pueden ser cero o cualquierotro número y no afectará a la ecuación.

� Un parámetro h que de�na la distancia entre punto y punto. El restode valores geométricos necesarios se obtendrán de los tamaños de lasmatrices que necesariamente deben ser idénticos.

La función devolverá una matriz de valores A que será discretización dela función solución. Teniendo en cuenta todo esto, la sintaxis de declaraciónde la función es:

function[A]=PoissonLieb(efe,contorno,h)

siendo el nombre una indicación del método que se usa en la solución (quizásdebería haberse completado incluyendo SOR para ser exacto).

69

Page 70: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 17. Ecuación de Poisson 70

Se inicializan los parámetros necesarios para el control del programa,contador de iteraciones, número mínimo de iteraciones antes de la parada,error actual de la iteración y error objetivo:

it=0;maxit=100;err=100;tol=1.0e-6;

Además se calcula el parámetro lambda que controlará la sobrerrela-jación a partir de (12.7) y (12.8)

a=cos(pi/(s(1)))+cos(pi/(s(2)));lambda=(8-4*sqrt(4-a^2))/a^2;

Una vez declaradas las variables que controlan el programa de�nimos lamatriz solución sobre la que se realizarán las iteraciones a partirde losdatos conocidos. De esta matriz, de momento, sólo conocemos el contorno

s=size(efe);A=zeros(s);A(1,:)=contorno(1,:);A(s(1),:)=contorno(s(1),:);A(:,1)=contorno(:,1);A(:,s(2))=contorno(:,s(2));

La función de Matlab "size" devuelve un vector que será el tamañode la matriz en sus dos dimensiones. Con "zeros" creamos una matriz deceros del tamaño del argumento. Con todo esto ya estamos en disposiciónde programar un bucle en el que se efectúen las iteraciones del métodode Liebmann. Este bucle se realizará mediante una estructura de control"while" con parámetros it y err; cuando el error esté por debajo delvalor especí�cado las iteraciones se pararán, pero sólo si se ha cumplido elnúmero mínimo de iteraciones. Dentro del bucle introduciremos el contadorde iteraciones así como una sentencia que actualice en cada iteración el valorde la matriz de datos del paso anterior (Aold) que se utilizará para lasobrerrelajación:

while (it<maxit && err>tol)it=it+1;Aold=A;err =0;

Page 71: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 17. Ecuación de Poisson 71

También se pone a cero el dato de error que debe ser calculado en cadaiteración con respecto a la anterior. Pasamos ahora a introducir la mate-rialización de las expresiones (12.4), (12.6) y (12.5) que se efectúa mediantedos bucles "for", uno para cada índice, que recorren todos los puntosinteriores de la matriz asignando el valor que se obtiene de la fórmula yutilizando este para el cálculo del punto siguiente. Por supuesto estas líneasirán también dentro del bucle "while"

for i = 2:1:s(1)-1for j = 2:1:s(2)-1

A(i,j) = (A(i+1,j) + A(i-1,j) + A(i,j+1) + A(i,j-1)+...A(i+1,j+1)+A(i+1,j-1)+A(i-1,j-1)+A(i-1,j+1)-...2*h^2*efe(i,j))/8;

A(i,j) = lambda*A(i,j) + (1-lambda)*Aold(i,j);err = err + (A(i,j) - Aold(i,j))^2;

endend

Y por último introducimos la división que aparece en la fórmula de errory cerramos el bucle "while":

err = sqrt(err/((s(2)-2)*(s(1)-2)));end

Para mayor claridad expongo el código completo de la función

function [A]=PoissonLieb(efe,contorno,h)it=0;maxit=100;err=100;tol=1.0e-6;

s=size(efe);A=zeros(s);A(1,:)=contorno(1,:);A(s(1),:)=contorno(s(1),:);A(:,1)=contorno(:,1);A(:,s(2))=contorno(:,s(2));

a=cos(pi/(s(1)))+cos(pi/(s(2)));lambda=(8-4*sqrt(4-a^2))/a^2;

while (it<maxit && err>tol)

Page 72: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 17. Ecuación de Poisson 72

it=it+1;Aold=A;err =0;for i = 2:1:s(1)-1

for j = 2:1:s(2)-1A(i,j) = (A(i+1,j) + A(i-1,j) + A(i,j+1)+...

A(i,j-1)+A(i+1,j+1)+A(i+1,j-1)+...A(i-1,j-1)+A(i-1,j+1)-2*h^2*efe(i,j))/8;

A(i,j) = lambda*A(i,j) + (1-lambda)*Aold(i,j);err = err + (A(i,j) - Aold(i,j))^2;

endend

err = sqrt(err/((s(2)-2)*(s(1)-2)));end

17.2 Contorno Neumann

Para aquellas ecuaciones que tengan condiciones de contorno de tipo Neu-mann se desarrolla una función parecida a la anterior. Para este caso no seutiliza sobrerrelajación y la discretización del laplaciano elegida es sólode cuatro puntos. Ahora la matriz contorno lleva la información delas derivadas normales a la frontera en cada punto de esta en vez de losvalores de la propia función solución. Además se introducen en el programalas ecuaciones propias de este tipo de contorno que aparecen en la ParteII cuando se trata la teoría de estas EDP. Por lo demás la función es igual a"PoissonLieb". El código de esta función es

function [A]=PoissonLiebNeumann(efe,contorno,h)it=0;maxit=100;err=100;tol=1.0e-6;

s=size(efe);A=zeros(s);

while (it<maxit && err>tol)it=it+1;Aold=A;

Page 73: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 17. Ecuación de Poisson 73

err=0;

%-- Fronteras horizontalesfor k=2:(s(2)-1)

A(1,k)=0.5*(A(2,k)+0.5*(A(1,k+1)+A(1,k-1)-h^2*efe(1,k))+...h*contorno(1,k));

A(end,k)=0.5*(A(end-1,k)+0.5*(A(end,k+1)+A(end,k-1)-...h^2*efe(end,k))-h*contorno(end,k));

end

%-- Fronteras verticalesfor k=2:(s(1)-1)

A(k,1)=0.5*(A(k,2)+0.5*(A(k+1,1)+A(k-1,1)-h^2*efe(k,1))-...h*contorno(k,1));

A(k,end)=0.5*(A(k,end-1)+0.5*(A(k+1,end)+A(k-1,end)-...h^2*efe(k,end))+h*contorno(k,end));

end

%-- EsquinasA(1,1)=0.5*(A(2,1)+A(1,2)+h*(-0.5*h*efe(1,1)-contorno(2,1)+...

contorno(1,2)));A(1,end)=0.5*(A(1,end-1)+A(2,end)+h*(-0.5*h*efe(1,end)+...

contorno(2,end)+contorno(1,end-1)));A(end,1)=0.5*(A(end,2)+A(end-1,1)+h*(-0.5*h*efe(1,1)-...

contorno(end,2)-contorno(end-1,1)));A(end,end)=0.5*(A(end-1,end)+A(end,end-1)+...

h*(-0.5*h*efe(1,1)+contorno(end-1,end)-contorno(end,end-1)));

%-- Puntos interioresfor i = 2:1:s(1)-1

for j = 2:1:s(2)-1A(i,j) = (A(i+1,j) + A(i-1,j) + A(i,j+1) + ...A(i,j-1)+h^2*efe(i,j))/4;err = err + (A(i,j) - Aold(i,j))^2;

endend

err = sqrt(err/((s(2)-2)*(s(1)-2)));end

Page 74: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 18

Ecuación de Burgers

Para resolver la ecuación (10.5) utilizaremos el método comentado que con-sistirá en la aplicación sucesiva de los operadores Lx y Ly. Como losrealmente implicados en la resolución de la ecuación son estos operadoresconstruiremos una función para cada uno de ellos y serán las que carguencon el trabajo computacional. Además crearemos una función que englobea las anteriores y que sea la que reciba el conjunto de argumentos y devuelvauna salida, solución de la ecuación para el instante siguiente.Para el operador Lx diseñamos la rutina "Lx" que debe realizar las

operaciones de predicción y correción, (13.1) y (13.2). Esta rutina debetener los mismos argumentos que actúan en su operador que son:

F = u � ! �! U.*om�x �! h�t �! dt# �! nuSe usa la operación (.*) en Matlab para multiplicar dos matrices elemento

a elemento. Traduciendo las operaciones correspondientes al lenguaje deMatlab y haciendo uso de las funciones para las derivadas la función "Lx"queda:

function[omb]=Lx(om,U,h,dt,nu)om1=om-dt*D1f(U.*om,h)+nu*dt*D2(om,h);omb=0.5*(om+om1-dt*D1b(U.*om1,h)+nu*dt*D2(om1,h));

La primera línea después de la de�nición de la función corresponde alpredictor y la segunda al corrector. Como en esta función no existenderivadas sobre la dirección y no es necesario trasponer matrices ni existencambios de signo y pasar las expresiones a código es casi inmediato. Se hallamado om1 a !��i;j y omb a !

�i;j

74

Page 75: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 18. Ecuación de Burgers 75

De manera similar, para el operador Ly se diseña "Ly" que tiene la si-guiente forma:

function[omb]=Ly(om,V,h,dt,nu)om1=om+dt*(D1b((V.*om)�,h))�+nu*dt*(D2(om�,h))�;omb=0.5*(om+om1+dt*(D1f((V.*om1)�,h))�+nu*dt*(D2(om1�,h))�);

En este caso sí que se observan los debidos cambios de signo y trasposi-ciones para las derivadas primeras en y y las trasposiciones para las derivadassegundas en dicha dirección.Una vez que tenemos las funciones para los operadores sólo queda hacer

una función que los contenga y los maneje de la forma apropiada paraobtener los valores de la vorticidad en el paso siguiente. Llamaremos "Burgers"a esta función ya que, aunque la ecuación resuelta no es estrictamente de estetipo, el método de solución utilizado sí que es propio de esta ecuación. Lafunción realizada es:

function om=Burgers(om,U,V,h,dt,nu)B=Ly(om,V,h,dt/2,nu);C=Lx(B,U,h,dt,nu);om=Ly(C,V,h,dt/2,nu);

Por tanto a "Burgers" le pasamos (entre otras cosas) una matriz devalores de vorticidad "om" y nos devuelve el valor que tiene esta matrizen el instante de tiempo siguiente. Por supuesto los instantes de tiempotambién son discretos en el método numérico y seremos nosotros los que�jemos su valor en la función más general.

Page 76: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 19

Resolución de las ecuaciones deNavier-Stokes

A partir de los métodos y herramientas desarrolladas hasta aquí se programauna función de Matlab llamada "NavierStokes" que realiza la simulacióndel �uido y muestra grá�camente su comportamiento. Con todo lo expuestoa lo largo de esta Parte III más la explicación del método para la resoluciónde las ecuaciones en la parte anterior están prácticamente desarrolladas todaslas piezas que intervienen en el programa de simulación. Por ello, buscandouna mayor claridad, no se desarrollará un descripción línea por línea delcódigo de "NavierStokes", en su lugar se presentará el diagrama de �ujodel programa como exposición grá�ca y posteriormente se mostrará el códigocompleto. Sólo se comentará alguna línea concreta que haya quedado almargen del desarrollo anterior.En el diagrama de �ujo se muestra el proceso que sigue el programa

ilustrándolo con algunas indicaciones. Aparece en letrasmoradas el númerode paso del algoritmo con el que se corresponde cada parte. En las líneas deiniciación se muestran en verde las variables que tienen lugar, en los pasosposteriores no se mencionan ya que todas están involucradas en el cálculo(salvo ly). Los bloques delimitados por una línea roja llaman a otras delas funciones vistas anteriormente salvo las rutinas de derivadas que se usanprácticamente en todos los bloques.

76

Page 77: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 19. Resolución de las ecuaciones de Navier-Stokes 77

Page 78: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 19. Resolución de las ecuaciones de Navier-Stokes 78

Page 79: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 19. Resolución de las ecuaciones de Navier-Stokes 79

Las variables que manejamos para realizar la simulación son datos físi-cos, geométricos otros relativos al método que proporcionan la informaciónnecesaria para obtener la solución y la manera en qué se va a obtener. Enprimer lugar debemos �jar la viscosidad cinemática (#) nu que tiene el �uidoasí como su densidad (�) ro. Después �jaremos las medidas geométricas, eneste caso, para un rectángulo debemos dar la longitud de la base lx; como lamalla está estrictamente dividida en cuadrados no es válido cualquier valorpara la altura del rectángulo ly, esta se calculará a partir de la proporciónentre el número de divisiones de la malla y la medida lx. Esto signi�ca quelas medidas del rectángulo serán proporcionales al tamaño que tenga cadauna de las hipermatrices de contorno, que llevan la información de las condi-ciones iniciales y de contorno de U y V con las que se resolverá el problema.Por tanto ly no es estrictamente usado en el programa pero se calcula porla importancia que tiene el dato; además para algún tipo de salida grá�capodría ser necesario. Las variables nx y ny serán el número de puntos en lasque se discretiza el eje horizontal y el vertical respectivamente y también sesacan de contorno. Una vez �jada la geometría del problema mediante lx yel tamaño de contorno, que viene a ser el número de puntos que queremostomar para la discretización, puede calcularse el parámetro h de distanciaentre punto y punto que tiene una importancia vital en el método. Para �jarel tiempo que debe durar el fenómeno que queremos simular utilizamos lavariable tf que se discretizará en una serie de instantes de tiempo de valordt. No nos olvidamos de la variable contornoSI, una matriz de la que sólo seusarán sus extremos como condiciones de contorno de la función de corrientesi.Todavía no hemos concretado cómo se obtendrá el valor de la presión;

lo que haremos será simplemente crear una función "Presión" que integrela ecuación de Poisson correspondiente con las condiciones de contorno deNeumann de derivada nula normal a la frontera. Esta función sólo se llamaráen las iteraciones en las que haya salida grá�ca porque no existen valoresdependientes de la presión en este método.

function P=Presion(U,V,ro,contorno,h)efe=2*ro*(-D1f(U,h).*(D1b(V�,h))�+(D1f(U�,h))�.*D1f(V,h));P=PoissonLiebNeumann(efe,contorno,h);

En cuanto a las salidas, puede decidirse que NavierStokes tenga una salidade datos que queramos analizar o de manera más simple puede hacerse quela salida sea simplemente grá�ca. En el código genérico que se mostrará acontinuación no existe ningún tipo de salida ya que se entiende que existirá uncódigo de representación grá�ca como los que se propondrán en el siguiente

Page 80: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 19. Resolución de las ecuaciones de Navier-Stokes 80

capítulo.

19.1 Código de NavierStokes

function = NavierStokes

%-- Paso 0 jj DATOSnu=1e-2;dt=0.005;tf=5;nit=tf/dt;lx=1;ro=1000;

contorno=zeros(71,71,2);contorno(1,:,1)=1;U=contorno(:,:,1);V=contorno(:,:,2);s=size(contorno);nx=s(2);ny=s(1);contornoSI=zeros(ny,nx);h=lx/(nx-1);ly=h*(ny-1);

%-- Paso 1 jj Vorticidad inicialom=((D1f(V,h)+(D1b(U�,h))�)+(D1b(V,h)+(D1f(U�,h))�))/2;

%-- BUCLE PARA INSTANTES SUCESIVOSfor i=1:nit

% Paso 2 jj Vorticidad, puntos interioresom=Burgers(om,U,V,h,dt,nu);

% Paso 3 jj Función de corrientesi=PoissonLieb(-om,contornoSI,h);

% Paso 4 jj Vorticidad, fronteraom(1,:)=2*(si(1,:)-si(2,:))/(h^2)-2*U(1,:)/h;om(ny,:)=2*(si(ny,:)-si(ny-1,:))/(h^2);om(:,nx)=2*(si(:,nx)-si(:,nx-1))/(h^2);om(:,1)=2*(si(:,1)-si(:,2))/(h^2);

% Paso 5 jj VelocidadU=-(D1b(si�,h))�;V=-D1f(si,h);

Page 81: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 19. Resolución de las ecuaciones de Navier-Stokes 81

U(1,:)=contorno(1,:,1);U(ny,:)=contorno(ny,:,1);U(:,1)=contorno(:,1,1);U(:,nx)=contorno(:,nx,1);

V(1,:)=contorno(1,:,2);V(ny,:)=contorno(ny,:,2);V(:,1)=contorno(:,1,2);V(:,nx)=contorno(:,nx,2);

% Paso 6 jj PresiónP=Presion(U,V,ro,zeros(s),h);

%-- SALIDA GRÁFICA

end

Page 82: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 20

Salida grá�ca

Para obtener una buena simulación física a partir de la solución de Navier-Stokes necesitamos que el programa ofrezca una salida grá�ca lo más claraposible de los datos obtenidos. Las opciones que ofrece el programa Matlabson numerosas y muchas de ellas pueden servir para nuestro propósito. Aquíse expondrán únicamente las que se usarán para la comprobación de los testaunque es posible que para otro tipo de análisis realizados con este mismoprograma sean más convenientes otras opciones.Una vez que se hayan resuelto las ecuaciones de Navier-Stokes se necesi-

tará representar los campos de velocidad, las líneas de corriente y los valoresde la presión así como, en la medida de lo posible, una visualización grá�cadel movimiento del �uido. En primer lugar crearemos una malla rectangularque algunas de las funciones de representación necesitan para funcionar, elgenerador de mallas de Matlab es "meshgrid".Para representar campos escalares usamos "pcolor" al que se le pasa

una malla generada con "meshgrid" que da la información de posición decada punto y la matriz de valores que se quiere representar; a partir deestos argumentos la función genera una imagen en la que el color en cadapunto se corresponde con el valor que tiene la matriz en ese punto. Estecolor puede ser plano o puede elegirse que el programa interpole los valoresque existen alrededor de un punto y asigne una degradación de colores segúnesta interpolación, de esta manera se crea una sensación de difuminado. Parahacer esto se incluye "shading interp" detrás de la llamada a la función"pcolor".Puede elegirse que se muestren salidas de varias grá�cos a la vez y estos

pueden juntarse en una misma ventana con el comando "subplot". Otro co-mando de preferencias importante es "axis" con el que escogeremos distinasopciones relativas a los ejes. En este proyecto se usa frecuentemente "axisimage" que impone que los incrementos en el eje x e y sean proporcionales a

82

Page 83: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 20. Salida grá�ca 83

su valor con la misma proporción en ambos y que además la imagen encajeen los ejes.Una función grá�ca de Matlab muy interesante es "quiver" que repre-

senta un campo vectorial por medio de �echas con el módulo, dirección ysentido que tiene el campo en cada punto. Para ello debemos pasarle tam-bién la malla de puntos en cada uno de los cuales se colocará una �echa.En cuanto la malla se hace un poco grande resulta imposible interpretar losdatos con claridad por la cantidad de �echas que se juntan en poco espacio,para solucionar este problema se coge un número menor de puntos, tanto lasmatrices que con�guran la malla como las que se quieren representar, porejemplo se representa únicamente uno de cada dos puntos en cada eje. Otroproblema que puede surgir con "quiver" es que el módulo de los distintosvectores sea muy distinto entre ellos, por tanto la función escalará los vec-tores según el máximo módulo y los vectores más pequeños se verán comopuntos. Para solucionarlo podemos decidir normalizar los vectores para quetodos tenga módulo uno y utilizar un mapa de colores para representar elmódulo.Para la representación de líneas de contorno, como por ejemplo líneas

de corriente, están las funciones "contour" y "contourf" que cuando seles pasa un campo escalar representan las líneas equipotenciales del camporesolviendo las ecuaciones no lineales correspondientes mediante técnicasNewton-Raphson. Mediante la variación de los parámetros podemos ele-gir por ejemplo qué cantidad de líneas queremos que se representen o en quévalor de la función. Para representar líneas de fuerza de un campo vecto-rial se usa la rutina "streamline" que calcula y representa curvas que encada punto son tangentes a un vector del campo vectorial resolviendo lascorrespondientes EDOs mediante técnicas Runge-Kutta.Con el �n de realizar animaciones a partir de una sucesión de imágenes

se utilizan las funciones "getframe" y "movie". La primera de ellas creaun objeto de datos, que controla la imagen representada y la almacena. Sesuele llamar una serie de veces mediante un índice que almacena todas lasimágenes en la misma estructura M. Posteriormente la función "movie(M)"montará y mostrará la secuencia de imágenes a modo de película.Tres ejemplos de código para reproducción de imagen que se han utilizado

en distintas partes de este proyecto junto con el código "NavierStokes", son:

[X Y]=meshgrid(0:h:lx,ly:-h:0);len=sqrt(U.^2+V.^2);Ul=U./len;Vl=V./len;if mod(i,20)==0

j=j+1;

Page 84: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 20. Salida grá�ca 84

P=Presion(U,V,ro,zeros(s),h);contourf(X,Y,-P,20,�w-�), hold oncontour(X,Y,si,20,�k�),quiver(X(1:2:end,1:2:end),Y(1:2:end,1:2:end),...

Ul(1:2:end,1:2:end),Vl(1:2:end,1:2:end),0.4,�k�)hold offaxis imagedrawnowM(j)=getframe;

end

Este primer código se incluiría dentro del "for" de "NavierStokes". Elíndice j tendría que inicializarse al inicio del programa con valor cero.

[X Y]=meshgrid(0:h:lx,ly:-h:0);if (i==0.2)jj(i==0.6)jj(i==1.2)jj(i==2)jj(i==3)jj(i==5)

subplot(3,2,j), pcolor(X,Y,-si),shading interp, axis imageset(gcf,�color�,[1 1 1]);j=j+1;

end

En este caso el bucle "for" de "NavierStokes" tiene que ir desde dt hastatf en pasos de dt y estas líneas, al ser incluidas dentro de él, representaríanuna ventana con el estado del �uido, en seis instantes determinados, insertadoen seis subventanas.

len=sqrt(U.^2+V.^2);Ul=U./len;Vl=V./len;figure, pcolor(X,Y,len),shading interp, hold on, quiver...(X(1:2:end,1:2:end),Y(1:2:end,1:2:end),Ul(1:2:end,1:2:end),...Vl(1:2:end,1:2:end),0.5,�w�), set(gcf,�color�,[1 1 1]),...colorbar, axis image,

Por último, con estas línesas de código podemos representar el módulodel campo de velocidades con una mapa de color así como un conjunto de�echas que representan la dirección y sentido del �uido en un momento �jopara cualquier instante. Para mayor claridad sólo se representarían �echaspara uno de cada cuatro puntos.

Page 85: Proyecto Fin de Carrera Solución numØrica de las

Parte IV

Resultados

85

Page 86: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21

Test "Lid Driven Cavity"

Para la comprobación de los resultados del código se utiliza el test amplia-mente aceptado "Lid driven cavity" que puede traducirse como cavidad contapa impulsada. Este test ha sido objeto de numerosos estudios de los cualesel principal referente es [34]. Aun así todavía existen algunos casos singularespara los que no parece existir un acuerdo sobre el comportamiento del test(véase [7]), estos casos se dan principalmente cuando se estudian movimientosa altos números Reynolds (a partir de 5000). Para evitar estos inconvenientesnuestro estudio se centrará en números de Reynolds que van desde 100 hasta1000.El experimento consiste en de�nir un dominio cuadrado en el cual se

encontrará el �uido y, partiendo de un estado estático, forzar el movimientode este a partir del movimiento de una de sus fronteras. Como la velocidadde deslizamiento entre el �uido y la frontera es cero las partículas adyacentesal contorno adquirirán su misma velocidad y el resto de partículas seránarrastradas por efecto de la viscosidad.

21.1 Número de Reynolds 100

El número de Reynolds expresa la relación entre las fuerzas viscosas y lasfuerzas de inercia que existe en un �uido mediante la expresión

Re = �V � L�

=V � L#

donde V y L son la velocidad y longitud de referencia del movimiento y# la viscosidad cinemática. El número de Reynolds suele ser indicativo delnivel de turbulencia existente en un �uido.Para mayor facilidad escogeremos un cuadrado de lado 1 m y le dare-

mos velocidad 1 m/s a la frontera superior, de esta manera la viscosidad

86

Page 87: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 87

cinemática es el inverso del número de Reynolds. Utilizaremos una mallade 101x101 puntos, es decir dividida en 100 partes iguales en cada eje. Larepresentación del movimiento es la siguiente, que se toma para los instantes0.2, 0.6, 1.2, 2, 3, 5.

Page 88: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 88

A continuación se representa el módulo de velocidad mediante un mapade colores y encima se representa el campo de velocidades mediante vectoresunitarios para que se pueda apreciar el movimiento que está experimentandoel �uido. La imagen se muestra para un tiempo de 5 segundos en el que yase ha alcanzado el estado estacionario.

Puede apreciarse que en las esquinas inferiores aparecen unos vórticesinducidos por el arrastre de las partículas que se encuentran por encima ypor la restricción a su movimiento de las fronteras próximas. Estos vórticestienen una gran importancia para este test por lo que se muestran con unmayor detalle:

Page 89: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 89

Las líneas de corriente pueden obtenerse a partir de los valores constantes

Page 90: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 90

de la función de corriente y dan la información completa de como se estámoviendo el �uido en un instante determinado. Para el último instante te-nemos

Page 91: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 91

En cuanto a los resultados de presión

Los resultados de presión son difíciles de comprobar ya que en la bibliografíasuele ser un dato que se omite para dar preferencia, en general, a los camposde velocidad y el movimiento del �uido. En cualquier caso existe un acuerdoen que la presión en la esquina superior derecha debe aumentar mientras queen la inferior izquierda debe disminiuir. Por otro lado las líneas de contornodeben ser perpendiculares a la frontera por las condiciones impuestas, vemosque esto se cumple con su�ciente precisión en la mayor parte del grá�co.Por otro lado pueden comprobarse tanto los resultados de presión como losresultados de velocidad con [26] para observar el parecido, incluyendo loserrores en la derivada de la presión en la dirección normal a la frontera.Debido a las limitaciones descritas para comprobar datos de presión paraotros número de Reynolds este será el único resultado que se adjunte de estavariable.

21.2 Número de Reynolds 400

En un caso equivalente al anterior en el que el número de Reynolds se subea 400 la materialización del movimiento en los instantes 0.2, 0.6, 1.2, 2, 3, 5es:

Page 92: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 92

La representación grá�ca el módulo de la velocidad junto con el campo

Page 93: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 93

de velocidad unitario superpuesto en el último instante:

Las isolíneas de la función de corriente, que son las líneas de corriente del�uido, en el último instante son:

Page 94: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 94

21.3 Número de Reynolds 1000

Para un �uido 10 veces menos viscoso que el inicialmente presentado tenemosel siguiente movimiento en los instantes 0.2, 0.6, 1.2, 2, 3, 5:

El campo de velocidades representado en dirección y sentido mediante�echas y en módulo mediante un mapa de colores es

Page 95: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 95

Puede verse que en este caso no se llegan a apreciar los vórtices enlas esquinas inferiores, esto se debe a que la menor viscosidad hace que elmovimiento de unas partículas y otras sea más independiente y no sean tandeterminantes las restriciones impuestas por la frontera y el movimiento del�uido en la parte superior sobre la parte inferior. También sabemos quepara esta viscosidad un tiempo de 5 segundos no es su�ciente para que seobtenga el movimiento estacionario. Si hubiesemos permitido mayor tiempode simulación y hubiesemos utilizado una malla más �na para aumentar laaproximación los vórtices se verían claramente. En cualquier caso, para evi-denciar esto se presenta el resultado obtenido con un tiempo de 10 segundos:

Page 96: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 96

Tomando un detalle de las esquinas inferiores realizado se observan lossiguientes vórtices

Page 97: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 97

Los resultados de número de Reynolds 400 y 1000 pueden compararse con[35] teniendo en cuenta que en su caso el número de iteraciones de tiempo escuatro veces mayor y el número de divisiones de la malla, más de seis vecesmayor, con la mayor precisión que ello trae consigo.

Page 98: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 21. Test "Lid Driven Cavity" 98

Y las líneas de corriente del campo de velocidad

Page 99: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 22

Conclusiones y trabajo futuro

En este proyecto �n de carrera se han logrado con éxito los siguientes obje-tivos:- Desarrollar las ecuaciones de la Mecánica de Fluidos desde un enfoque

general que permita conectar el caso de medio �uido con el de sólido.- Aprender las herramientas matemáticas necesarias para abordar la for-

mulación clásica de los conceptos de Mecánica de Medios Continuos.- Elegir y plasmar de forma teórica un esquema numérico para la resolu-

ción de las ecuaciones de Navier-Stokes.- Estudiar y desarrollar métodos numéricos y matemáticos que son nece-

sarios como apoyo para la solución de las ecuaciones de Navier-Stokes.-Programar una herramienta de software que permita simular �uidos in-

compresibles en dos dimensiones.-Visualizar de forma grá�ca datos de tipo numérico usando Matlab.El trabajo futuro debe centrarse en mejorar la facilidad de uso del pro-

grama por ejemplo usando interfaces grá�cas de usuario que eviten tener queintroducir código manualmente y que además permitan uni�car distintos ca-sos sin tener que efectuar cambios en el programa para estudio de distintosproblemas. Otro objetivo muy importante a tener en cuenta de cara a futurosestudios es la introducción de geometrías distintas del cuadrado que dotende mucha mayor generalidad a la herramienta. Deben ponerse los mediospara que el programa adquiera una mayor rapidez de cálculo y, a ser posible,esto debe ir unido a una mejora de la convergencia que permita obtener re-sultados para casos en los que ahora es imposible efectuar el análisis. Comomejora deseable puede pensarse en incluir la posibilidad de establecer fron-teras que sean variables con el tiempo en vez de contornos estáticos. Desde elpunto de vista de la Mecánica de Fluidos sería muy interesante poder analizarfenómenos de turbulencia que aparecen a altos números de Reynolds.En base a todo esto se puede decir que este proyecto ha cumplido con

99

Page 100: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 22. Conclusiones y trabajo futuro 100

creces las expectativas pero el posible trabajo futuro es amplísimo; la granvariedad de mejoras que se proponen hace pensar en que el trabajo quequeda por delante es inabarcable por una única persona por lo que podríaresultar interesante pensar en este proyecto como el comienzo de una líneade proyectos �n de carrera dedicada al desarrollo de métodos de análisis enMecánica de Fluidos.

Page 101: Proyecto Fin de Carrera Solución numØrica de las

Bibliografía

[1] Anderson A D, Tannehill J C, Pletcher R H: Computational Fluid Me-chanics and Heat Transfer [1984]. Taylor and Francis

[2] Asensio Madrid G: Introducción a los medios continuos. Preprint

[3] Batchelor G K: An introduction to �uid dynamics [2010]. CambridgeMathematical Library

[4] Bruneau C H, Saad M: The 2D lid-driven cavity problem revisited [2004]

[5] Chapra S C, Canale R P: Métodos numéricos para ingenieros [2007].McGrawHill

[6] Chorin A J: Numerical solution of the Navier-Stokes equations [1968]

[7] Ertuk E: Discussions On Driven Cavity Flow [2009]

[8] Ertuk E, Dursun B: Numerical Solutions of 2-D Steady IncompressibleFlow in a Driven Skewed Cavity

[9] García A y otros: Cálculo II: Teoría y problemas de funciones de variasvariables [1996]. CLAGSA

[10] García de Jalón J y otros: Aprenda Matlab 7.0 como si estuviera enprimero [2005]. Servicio de publicaciones de ETSII-UPM

[11] García Muñoz F: Apuntes de Mecánica de Fluidos [2001]. Servicio depublicaciones de EUITI-UPM

[12] Asignatura de Geometría Diferencial: Apuntes de tensores. ETSIAeronáuticos-UPM

[13] Gupta M M, Kalita J C: A new paradigm for solving Navier�Stokesequations: streamfunction�velocity formulation [2005]

101

Page 102: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 22. Conclusiones y trabajo futuro 102

[14] Hahn B D, Valentine D T: Essential Matlab For Engineers and Scientists[2008]. BH

[15] Holzapfel A G: Nonlinear Solid Mechanics: A Continuum Approach forEngineering [2000]. Wiley

[16] Ke¤er D: Numerical Methods for the Solution of Elliptic Partial Di¤er-ential Equations [1999]

[17] Kreyszig E: Matemáticas Avanzadas para Ingeniería [2000]. Limusa

[18] Liñán A: Mecánica de Fluidos [2006]. Servio de publicaciones ETSIAeronáuticos-UPM

[19] Long Chen: Finite Di¤erence Methods [2011]

[20] Malvern L E: Introduction to the Mechanics of a Continuous Medium[1969]. Prentice-Hall

[21] Marsden J E, Tromba A J: Cálculo Vectorial [2004]. Pearson Educación

[22] Ortiz Berrocal L: Elasticidad [1998]. McGrawHill

[23] París F: Teoría de la elasticidad [1998] SAND

[24] Rodríguez-Losada D y otros: Introducción a la programación en C. Ser-vicio de publicaciones ETSII-UPM

[25] Romero Olleros I: Introducción a la mecánica de los sólidos deformables[2011]. Servicio de publicaciones de ETSII-UPM

[26] Seibold B: A compact and fast Matlab code solving the incompressibleNavier-Stokes equations on rectangular domains [2008]

[27] Strang G: Computational Science and Engineering [2007]. CambridgePress

[28] Soleimaninia M, Aldabbagh: Numerical Study of Incompressible in aLid-Driven Cavity with Vorticity-Stream Function Approach

[29] Vázquez J L: Fundamentos Matemáticos de la Mecánica de Fluidos[2003]

[30] de la Villa A: Problemas de Álgebra [2007]. CLAGSA

[31] Uña Juarez I y otros: Cálculo de varias variables [2008]. Paraninfo

Page 103: Proyecto Fin de Carrera Solución numØrica de las

Capítulo 22. Conclusiones y trabajo futuro 103

[32] Weinan E y Jian-Guo Liu: Vorticity Boundary Condition and RelatedIssues for �nite Di¤erence Schemes [1995].

[33] Crespo A: Mecánica de Fluidos [2006]. Paraninfo

[34] Ghia U: High-Re solutions for incompressible �ow using the Navier-Stokes equations and a multigrid method [1982]

[35] página web de la Universidad de Pekín:http://dsec.pku.edu.cn/~tanghz/Lid-drivencavity�ow.htm