115
Índice Página 1. Introducción y planteamiento del proyecto 4 1.1. Introducción e historia de los Problemas de mecánica de 4 fluidos resolviendo la ecuación de Navier-Stokes 1.1.1. Historia de mecánica de fluidos 4 1.1.2. Ecuación de Navier-Stokes 7 1.2. Objetivos del presente Proyecto 21 1.3. Motivación del presente proyecto 22 1.4. Ámbito de Aplicación del proyecto 24 1.5. Implantación Numérica 25 1.6. Organización del presente proyecto 26 2.Descripción de los algoritmos desarrollados y los 27 métodos empleados 2.1. Mallador GID 27 2.1.1. Preprocesador de GID 30 2.1.1.1. Creación de mallas para el estudio (Generación de malla a través 30 de parámetros) 2.1.1.2. Mallado 3D en GID 33 2.1.2. Postprocesador del GID: 36 Página 1 de 115

Página 1 de 115 Índice - IIT | Instituto de Investigacion ... ndice Página 1. Introducción y planteamiento del proyecto 4 1.1. Introducción e historia de los Problemas de mecánica

Embed Size (px)

Citation preview

Índice

Página

1. Introducción y planteamiento del proyecto 4

1.1. Introducción e historia de los Problemas de mecánica de 4

fluidos resolviendo la ecuación de Navier-Stokes

1.1.1. Historia de mecánica de fluidos 4

1.1.2. Ecuación de Navier-Stokes 7

1.2. Objetivos del presente Proyecto 21

1.3. Motivación del presente proyecto 22

1.4. Ámbito de Aplicación del proyecto 24

1.5. Implantación Numérica 25

1.6. Organización del presente proyecto 26

2.Descripción de los algoritmos desarrollados y los 27

métodos empleados

2.1. Mallador GID 27

2.1.1. Preprocesador de GID 30

2.1.1.1. Creación de mallas para el estudio (Generación de malla a través 30

de parámetros)

2.1.1.2. Mallado 3D en GID 33

2.1.2. Postprocesador del GID: 36

Página 1 de 115

2.1.2.1. Postprocesado 2D 36

2.1.2.2. Postprocesado 3D: 38

3. Programa para resolver la ecuación de transporte puro 42

de Euler en bajo orden para comprobar la difusión

matemática del problema:

3.1. Fundamentos de la ecuación del transporte puro de Euler 42

3.2. Generación de la malla en GID y generación de los 45

archivos de datos necesarios para el problema

3.3. Cálculo del Pie de las características 50

3.4. Cálculo del elemento al que pertenece el pie de las 54

características

3.4.1. Cálculo de los elementos vecinos 54

3.4.2. Paso del triángulo físico a coordenadas locales. 56

3.4.3. Cálculo del elemento al que pertenece el pie de las características 61

3.5. Cálculo del valor de la función en el pie de las características 64

3.6. Funcionamiento completo del programa 66

4.Programa para resolver la ecuación de transporte puro de 67

Euler en alto orden a través del método de los polinomios

De Legendre

4.1. Explicación general del programa 67

4.2. Estructura General del Programa 68

Página 2 de 115

4.3. Generación de la malla definitiva 70

4.4. Matriz de masa de el espacio de los polinomios de Legendre 74

4.5. Proyección del espacio Real al espacio de los polinomios 75

de Legendre: La subrutina “fromPhys2Leg”

4.6. Proyección del espacio de los polinomios de Legendre al 77

espacio real: La subrutina “fromLeg2Phys”

5.Métodos matemáticos de aproximación empleados 80

5.1. Introducción 80

5.2. Método de interpolación de Lagrange 84

5.2.1. Introducción a los polinomios de Lagrange 84

5.2.2. Interpolación polinómica de Lagrange 1D 85

5.2.3.Interpolación de Lagrange en 2D. Resolución para el caso particular 88

de triángulos cuadráticos:

5.3. Método modal de los polinomios de Legendre 91

6.Comparación de los dos métodos de estudio 95

6.1.Datos tomados para la comparación 95

6.2.Resultados obtenidos para el caso de Lagrange 97

6.3.Resultados obtenidos para el caso de Legendre 109

6.4.Comparación de los dos métodos 114

Página 3 de 115

1. Introducción y planteamiento del proyecto:

1.1. Introducción e historia de los Problemas de mecánica de fluidos

resolviendo la ecuación de Navier-Stokes:

1.1.1. Historia de mecánica de Fluidos:

Es Claude Loius Marie Henri Navier (1785-1836) quien empieza el desarrollo de

las ecuaciones que se usan hoy en día para los problemas de mecánica de fluidos.

Debido a la muerte de su padre, cuando Claude tenía 8 años, éste quedo a cargo de

su tío, Emiland Gauthey, quien era un destacado ingeniero civil de la época, lo

que impulso a Claude Navier a interesarse por la ingeniería y a ponerse en

contacto con los pensadores e investigadores más importantes de la época. Entre

ellos podemos citar a Fourier, Auguste Comte, etc. Con esta influencia terminó

por convertirse en miembro del cuerpo de puentes y caminos (corps des ponts et

chaussées). Antes de desarrollar sus teorías sobre mecánica de fluidos, fue el

primero en desarrollar una teoría sobre puentes suspendidos, los cuales habían

sido desarrollados siempre de forma empírica, aunque nunca llegó a ponerla en

práctica debido a la falta de apoyo municipal. Tras esto tuvo una vida muy

fructífera en la ingeniería francesa, siendo asesor del gobierno en temas de

ingeniería durante gran parte de su vida. Sin Embargo a Claude Navier le

recordamos por su labor desarrollando las primeras ecuaciones no basadas en

estudios empíricos de la mecánica de fluidos.

Inicialmente no entendía muy bien los esfuerzos cortantes que se daban en los

fluidos hasta que en 1821, gracias a los trabajos de Euler desarrolló dichas

Página 4 de 115

ecuaciones para fluidos incompresibles, y más tarde en 1822 para fluidos

viscosos.

Las ecuaciones obtenidas por Navier fueron nuevamente desarrolladas con un

entendimiento teórico mayor de los esfuerzos que se generaban en los fluidos por

El Barón Louis de Cauchy (1789-1857) y por George Gabriel Stokes (1819-1903).

A pesar de que Cauchy estaba dedicado sobre todo a la matemática teórica,

desarrolló también en el campo de la mecánica de fluidos las ecuaciones que

regían la naturaleza de los esfuerzos cortantes que se dan en un fluido, así como

las ecuaciones de análisis de Flujos ideales de Cauchy-Rieman.

Stokes, en cambio se dedicó al estudio empírico de las tensiones cortantes en los

fluidos, llegando a la definición de el concepto de ”Fricción Interna” y, con ello, a

formular las ecuaciones de Navier-Stokes, que son las que se usan hoy en día en la

resolución de problemas de mecánica de fluidos. Esta ecuación tiene una

complejidad matemática elevada, hasta el punto de que la resolución analítica de

la misma no es conocida en la actualidad, y se plantea como uno de los seis

problemas matemáticos del siglo. Éste hecho da lugar a la necesidad de resolver la

ecuación de Navier-Stokes a través de métodos numéricos para poder estudiar los

fenómenos que se producen en los fluidos. A raíz de esto nace lo que se conoce

como la dinámica de fluidos computacional, que tiene sus primeras aplicaciones

en la industria aerospacial, que fue donde primeramente se planteó la necesidad

del estudio de la dinámica de un fluido alrededor de un cuerpo.

Página 5 de 115

A pesar de el gran desarrollo que ha tenido la dinámica de fluidos computacional

durante los últimos años, sigue siendo fundamental la utilización de túneles de

viento y ensayos experimentales para la validación de los resultados obtenidos por

simulación.

!"#$%"&'

($)*%&#*&+,*)-"&./&#*&0,12$,-"&34,*1-"

!"#$%$&$"#$'!

"#!$%#&'!(&!)*&#$+!&,!%#-!.&//-0*&#$-!$()$*+,$"#-.!1-/-!&,$%(*-/!'+,!&2&3$+,!(&'!2'%4+!(&!-*/&!,+5/&!+54&$+,!+!3%&/1+,!,+'*(+,6!!7'!1/*#3*1*+!(&!2%#3*+#-0*&#$+!,&!5-,-!&#!8%&!&'!2'%*(+!9-*/&:!&,!!,+1'-(+!+!-,1*/-(+!-!$/-);,!(&!%#!(%3$+!&8%*1-(+!3+#!%#-!,&33*+#!(&!&#,-<+,= !(+#(&!,&!3+'+3-#!0+(&'+,!(&!(*,$*#$-, !>&+0&$/*-, !1-/- !,%!&,$%(*+6

?-<!)-/*-,!$&3#*3-,!1-/-!0&(*/!'-,!)-/*-5'&,!*01+/$-#$&,!8%&!(&,3/*5&#!'-!*#$&/-33*+#!&#$/&!&'!2'%4+!(&!-*/&!<!&'!0+(&'+6!@-,!)-/*-5'&, !0-, ! 3+0%#&, ! ,+# ! )&'+3*(-(= ! 1/&,*+#= ! 2%&/A-, ! (&!-//-,$/&!<!,%,$&#$-3*+#!&$36!@-,!$&3#*3-,!1-/-!0&(*/!)-#!(&,(&!&'!%,+!(&!$%5+,!1*$+$!91/&,*+#:=!-#&0+0&$/+,!(&!.*'+!3-'*&#$&=!'-,&/ ! (+11'&/ ! + ! BCD ! 9)&'+3*(-(: ! < ! 5-'-#A-, ! -&/+(*#-0*3-,!92%&/A-,:=!1-/$*3%'-,!$/-A-(+/-,!$*1+!.%0+!9)*,%-'*A-3*+#&,:6

@+,!$%#&'&,!(&!)*&#$+!1%&(&#!,&/!(&!3*/$%*$+!-5*&/$+!9&'!-*/&!&,!,+1'-(+!+!-,1*/-(+!<!'%&>+!&,3-1-!(&'!$%#&'!.-3*-!'-!-$0+,2&/-:!+!(&!3*/3%*$+!3&//-(+=!(+#(&!&'!-*/&!&,!2+/A-(+!-!3*/3%'-/!&#!2+/0-!*#(&2*#*(-!-'!*#$&/*+/!(&'!$%#&'6!7'!

$-0-E+!<!$*1+!(&!2'%*(+!1%&(&!)-/*-/=!(&,(&!'+,!0%<!1&8%&E+,!9.$$1FGGHHH6/1*6&(%G$1.$'G/&,&-/3.G')21G')216.$0':!(+#(& ! &' ! $-0-E+ !(& ! '- ! ,&33*+# !(& ! &#,-<+ ! &, !(&'!+/(&# ! '+, ! ! 0*3/+#&, ! 92'%*(+ ! $*1*3-0&#$& ! &, ! %#!'*8%*(+:= ! .-,$- ! '+, ! >/-#(&, ! 8%& ! 1%&(&# ! -'+4-/ ! %#!-)*+#!(&!$-0-E+!/&-'!9.$$1FGGHHH6+#&/-62/:!3+0+!,&!+5,&/)-!&#!'-!2+$+,6!

"#-!$&/3&/-!3'-,*2*3-3*+#!,&!/&-'*A-!&#!2%#3*I#!(&!'-!)&'+3*(-(!(&'!2'%4+!"=!(+#(&!,&!(*,$*#>%&!&'!#%0&/+!(&!J-3.!JK"GL!(&'!$%#&'=!(+#(&!L!&,!'-!)&'+3*(-(!

(&'!,+#*(+6!!M*!JNO!&'!$%#&'!&,!,%5,+#*3+=!<!,*!JPO!&,!,%1&/,+#*3+6!

@+,!1-/-0&$/+,!0-,!*01+/$-#$&,!8%&!(&2*#&#!'-!3-'*(-(!(&!%#!$%#&'!(&!)*&#$+!,+#!9O:!Q-#>+!(&!)&'+3*(-(!9R:!"#*2+/0*(-(!(&'!2'%4+!(&!-*/&!&#!'-!,&33*+#!(&!&#,-<+!!9S:!T'%3$%-3*+#&,!$&01+/-'&,!(&!)&'+3*(-(!9N!U6S!V:6!!

Figura 1: Túnel de viento tamaño real

Los inconvenientes son claros. Frente a los ensayos experimentales, la CFD

(Dinámica de Fluidos Computacional, en inglés Computational Fluid Mechanics)

es un método poco seguro debido a varios factores. Entre ellos, tenemos el

problema de que al aumentar el número de Reynolds, la resolución se vuelve

inexacta; o el problema del error generado por la inexactitud de geometría del

mallado. Y por último el problema que tratamos de mejorar en este proyecto: la

difusión numérica de la solución debida al uso del método de las características,

ajena a la física del problema. Aunque se explicará más adelante, el presente

proyecto pretende estudiar la repercusión en la difusión numérica de un cambio en

el método de aproximación modal (Interpolación) de la función transportada. Es

Página 6 de 115

decir, que la solución modal aproximada se pueda expresar como una suma de

coeficientes por los modos de aproximación que describen la solución.

Por otro lado las ventajas de la CFD sobre los túneles de viento son también muy

claras: En primer lugar el sistema es más barato y rápido para el cálculo, lo que

hace que sea especialmente cómodo para el cambio de diseño dinámico de una

pieza, superficie o similar. Tiene también la ventaja de que en un túnel del viento

se pueden extraer menos datos que con un método computacional, aunque en la

actualidad hay métodos con los que se van pudiendo extraer cada vez más

información, como puede ser el PIV, medición de velocidad a través de un láser

Doppler, anemómetros de hilo caliente, e incluso trazas de humos para poder

distinguir la dirección del flujo.

En CFD se conoce la aproximación a cada variable que influye en el movimiento

del fluido en cada punto de la malla de elementos finitos independientemente, de

que éstos estén en una zona concreta del dominio (superficie de medida) o que

estén en cualquier otro punto del fluido, sin que se pueda acceder a dichas

medidas de ninguna manera física sin variar los resultados.

1.1.2. Ecuación de Navier-Stokes:

Establezcamos las ecuaciones del movimiento de un fluido compresible y viscoso.

Para el caso general de un movimiento tridimensional, el campo de corrientes está

determinado por el vector velocidad

v= ui+ v j+ wk

Página 7 de 115

con las tres componentes rectangulares u,v,w además de la presión p y la densidad

ρ Para la determinación de estas cinco magnitudes disponemos de la ecuación de

continuidad (conservación de la masa), las tres ecuaciones del movimiento

(conservación de la cantidad de movimiento) y la ecuación termodinámica de

estado p = f ρ,t( ) , es decir, cinco ecuaciones también.

La ecuación de continuidad expresa que la suma de las masas entrante y saliente

por unidad de volumen en la unidad de tiempo es igual a la variación de la

densidad por unidad de tiempo. Luego, para el movimiento no estacionario de un

fluido compresible ella podrá escribirse como:

∂ρ∂t

+ div ρv( ) = 0 (I.1)

mientras que para un fluido incompresible toma la forma simplificada

div(v) = 0 (I.1a)

Para establecer las ecuaciones fundamentales del movimiento partimos de las

leyes fundamentales de la Mecánica, según las cuales, el producto de la masa por

la aceleración es igual a la suma de las fuerzas. Las fuerzas que actúan, son

Página 8 de 115

fuerzas de masa (peso) y fuerzas de superficies (fuerzas de presión y de

rozamiento viscoso).

Sean k = ρg la fuerza másica por unidad de volumen (g= vector del campo

gravitatorio terrestre) y P la fuerza de superficie por unidad de volumen, luego, las

ecuaciones del movimiento en notación vectorial vendrán dadas por:

ρ Dv

Dt= K + P (I.2)

siendo

K = Xi

+Y j+ Zk

P = Px i

+ Py j+ Pz k

Dv

Dt=∂v

∂t+dv

dt

la fuerza de masa, la fuerza superficial y la aceleración sustancial

respectivamente.

Las fuerzas másicas se consideran fuerzas exteriores, mientras que las fuerzas

superficiales dependen del estado de deformación (estado de movimiento) del

fluido.

Página 9 de 115

El conjunto de fuerzas superficiales determinan un estado de tensión. Nuestro

objetivo es ahora, obtener la relación entre el estado de tensión y el estado de

deformación.

I.1.2.1 Campo general de tensiones de un cuerpo deformable

Para formular las fuerzas de superficie, imaginemos un elemento de volumen de

forma cúbica dV=dx+dy+dz con su vértice inferior izquierdo en el punto (x,y,z).

Es conocido de la Mecánica que la fuerza total procedente de las fuerzas de

superficie, ℘ por unidad de volumen dV es,

℘=∂Px∂x

+∂Py∂y

+∂Pz∂z (I.3)

con

Px = σ x i+ τ xy j+ τ xz k

Py = τ yx i+σ y j+ τ yz k

Py = τ zx i+ τ zy j+σ z k

⎨⎪⎪

⎩⎪⎪

⎬⎪⎪

⎭⎪⎪ (I.4)

donde σ denota las tensiones normales y sus índices las direcciones normales,

mientras que τ representa las tensiones tangenciales y en doble índice, el primero

Página 10 de 115

indica la dirección a la cual es perpendicular el elemento de superficie y el

segundo la dirección en la que apunta la tensión τ.

La tensión puede ser determinada mediante nueve magnitudes escalares, que

forman un tensor de tensiones. El conjunto de las nueve componentes del tensor

se llaman también matriz del tensor

Π =σ x τ xy τ xzτ yx σ y τ yzτ zx τ zy σ z

⎜⎜⎜

⎟⎟⎟

Se puede demostrar, que las tensiones tangenciales con iguales índices pero en

orden inverso, deben ser iguales, o sea τ xy = τ yx ; τ xz = τ zx y τ yz = τ zy . Esto

resulta de la igualdad de momentos alrededor de un eje arbitrario para cuerpos

elásticos en equilibrio . Por tanto, la matriz del tensor Π que tendrá solo seis

componentes distintas y será simétrica se puede escribir como

Π =σ x τ xy τ xzτ xy σ y τ yzτ xz τ yz σ z

⎜⎜⎜

⎟⎟⎟

(I.5)

Página 11 de 115

De las ecuaciones (I.3), (I.4) y la simetría de las tensiones tangenciales expresadas

en (I.5) tendremos que, la fuerza de superficie por unidad de volumen será

℘=∂σ x

∂x+∂τ xy∂y

+∂τ xz∂z

⎛⎝⎜

⎞⎠⎟i +

∂τ xy∂x

+∂σ y

∂y+∂τ yz∂z

⎛⎝⎜

⎞⎠⎟j +

∂τ xz∂x

+∂τ yz∂y

+∂σ z

∂z⎛⎝⎜

⎞⎠⎟k

(I.5a)

Luego, si consideramos la ecuación de movimiento (I.2) escrita para la fuerza

total procedente de las fuerzas de superficie ℘( ) , ésta expresada por componentes

tomará la forma

ρ DuDt

= X +∂σ x

∂x+∂τ xy∂y

+∂τ xz∂z

⎛⎝⎜

⎞⎠⎟

ρ DvDt

= Y +∂τ xy∂x

+∂σ y

∂y+∂τ yz∂z

⎛⎝⎜

⎞⎠⎟

ρ DwDt

= Z +∂τ xz∂x

+∂τ yz∂y

+∂σ z

∂z⎛⎝⎜

⎞⎠⎟

(I.6)

Para un fluido sin rozamiento, todas las tensiones tangenciales son nulas, solo

quedan las tensiones normales, que además son iguales entre sí y cuyo valor

cambiado de signo, se llama presión del fluido :

τ xy = τ xz = τ yz = 0σ x = σ y = σ z = − p

Página 12 de 115

De ahí que, la presión del fluido es también igual a la media aritmética de las

tensiones normales cambiada de signo, o sea:

13σ x +σ y +σ z( ) = σ = − p (I.7)

El sistema de las ecuaciones (I.6) contiene las seis componentes de la tensión

σ x , σ y , σ z , τ xy , τ xz , τ yz El paso siguiente debe ser poner en relación estas seis

componentes con las deformaciones, y de aquí con las tres componentes de la

velocidad u, v, w.

Según se conoce de la Mecánica, la ley general de Hooke para un cuerpo sólido

elástico escrita en forma matricial viene dada por

σ x τ xy τ xzτ xy σ y τ yzτ xz τ yz σ z

⎜⎜⎜

⎟⎟⎟=

σ x 0 00 σ y 00 0 σ z

⎜⎜⎜

⎟⎟⎟+G

∂ξ∂x

∂ξ∂y

∂ξ∂z

∂η∂x

∂η∂y

∂η∂z

∂ζ∂x

∂ζ∂y

∂ζ∂z

⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟⎟

+G

∂ξ∂x

∂η∂x

∂ζ∂x

∂ξ∂y

∂η∂y

∂ζ∂y

∂ξ∂z

∂η∂z

∂ζ∂z

⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟⎟

−23

div S 0 00 div S 00 0 div S

⎜⎜

⎟⎟

(I.8)

donde ξ, η, ζ son las tres componentes del desplazamiento S, G el módulo de

rigidez y σ , como habíamos dicho, la media aritmética de las tensiones normales.

Página 13 de 115

I.1.2.3 Relación entre las tensiones y la deformación para líquidos y gases

La ecuación matricial (I.8) expresa también inmediatamente la ley de la

resistencia de Stokes, con la única diferencia de que las tensiones, según la ley de

Stokes, son proporcionales a las velocidades de la deformación. De aquí resulta

que el tensor de las tensiones para un fluido en movimiento se obtiene

sustituyendo en la ecuación (I.8) el desplazamiento

S = ξi

+η j+ζ k

por la velocidad de desplazamiento

dSdt

= v= ui+ v j+ wk

que se identifica con el vector velocidad usual. En lugar del módulo de rigidez G,

aparece el coeficiente de viscosidad µ . Además sustituiremos la media aritmética

de las tensiones normales σ( ) por la presión del fluido cambiada de signo − p( ) ,

de acuerdo con la ecuación (I.7). Con estas modificaciones, la fórmula de Stokes

para la matriz de las tensiones de un fluido, análoga a la expresión (I.8), será:

Página 14 de 115

σ x τ xy τ xzτ xy σ y τ yzτ xz τ yz σ z

⎜⎜⎜

⎟⎟⎟=

− p 0 00 − p 00 0 − p

⎜⎜

⎟⎟ + µ

∂u∂x

∂u∂y

∂u∂z

∂v∂x

∂v∂y

∂v∂z

∂w∂x

∂w∂y

∂w∂z

⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟⎟

+ µ

∂u∂x

∂v∂x

∂w∂x

∂u∂y

∂v∂y

∂w∂y

∂u∂z

∂v∂z

∂w∂z

⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟⎟

−23

div v

0 0

0 div v

0

0 0 div v

⎜⎜⎜

⎟⎟⎟

(I.9)

Luego, si separamos de las tensiones normales la presión, poniendo

σ x = − p +σ x´ ; σ y = − p +σ y´ ; σ z = − p +σ z´ (I.10)

obtendremos las siguientes expresiones para las componentes de la resistencia o

viscosidad:

σ x´= µ 2 ∂u∂x

−23div v⎛

⎝⎜⎞⎠⎟

σ y´= µ 2 ∂v∂y

−23div v⎛

⎝⎜⎞⎠⎟

σ z´= µ 2 ∂w∂z

−23div v⎛

⎝⎜⎞⎠⎟

⎪⎪⎪

⎪⎪⎪

τ xy = µ ∂u∂y

+∂v∂x

⎛⎝⎜

⎞⎠⎟

τ yz = µ ∂v∂z

+∂w∂y

⎛⎝⎜

⎞⎠⎟

τ xz = µ ∂w∂x

+∂u∂z

⎛⎝⎜

⎞⎠⎟

(1.11)

Para fluidos viscosos incompresibles desaparece el último término de la ecuación

(I.9) por ser div v= 0 , mientras que para fluidos no viscosos (µ = 0 ) e

Página 15 de 115

i n c o m p r e s i b l e s d i c h a e c u a c i ó n s e r e d u c e a σ x = σ y = σ z = − p ;

τ xy = τ xz = τ yz = 0 .

I.1.2.4 Ecuaciones de Navier – Stokes

Las ecuaciones del movimiento (I.6) una vez separada la componente de la

presión independiente de la resistencia según (I.10), toman la forma

ρ DuDt

= X −∂p∂x

+∂σ x´∂x

+∂τ xy∂y

+∂τ xz∂z

⎛⎝⎜

⎞⎠⎟

ρ DvDt

= Y −∂p∂y

+∂τ xy∂x

+∂σ y´∂y

+∂τ yz∂z

⎛⎝⎜

⎞⎠⎟

ρ DwDt

= Z −∂p∂z

+∂τ xz∂x

+∂τ yz∂y

+∂σ z´∂z

⎛⎝⎜

⎞⎠⎟

⎪⎪⎪⎪

⎪⎪⎪⎪

Con estas expresiones de Navier-Stokes obtendremos la fuerza superficial

resultante en función de las componentes de la velocidad, por ejemplo, para la

dirección la ecuación (I.5a) nos da

℘x =∂σ x

∂x+∂τ xy∂y

+∂τ xz∂z

= −∂p∂x

+∂σ x´∂x

+∂τ xy∂y

+∂τ xz∂z

y según (I.11)

℘x = −∂p∂x

+∂∂x

µ 2 ∂u∂x

−23div v⎛

⎝⎜⎞⎠⎟

⎡⎣⎢

⎤⎦⎥+

∂∂y

µ 2 ∂v∂y

−23div v⎛

⎝⎜⎞⎠⎟

⎣⎢

⎦⎥ +

∂∂z

µ 2 ∂w∂z

−23div v⎛

⎝⎜⎞⎠⎟

⎡⎣⎢

⎤⎦⎥

Página 16 de 115

Para ℘y y ℘z se obtienen expresiones análogas.

Si sustituimos estas expresiones fundamentales en (I.6), obtendremos el sistema

de ecuaciones:

ρ DuDt

= X −∂p∂x

+∂∂x

µ 2 ∂u∂x

−23div v⎛

⎝⎜⎞⎠⎟

⎡⎣⎢

⎤⎦⎥+

∂∂y

µ ∂u∂y

+∂v∂x

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥ +

∂∂z

µ ∂w∂x

+∂u∂z

⎛⎝⎜

⎞⎠⎟

⎡⎣⎢

⎤⎦⎥

ρ DvDt

= Y −∂p∂y

+∂∂y

µ 2 ∂v∂y

−23div v⎛

⎝⎜⎞⎠⎟

⎣⎢

⎦⎥ +

∂∂z

µ ∂v∂z

+∂w∂y

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥ +

∂∂x

µ ∂u∂y

+∂v∂x

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥

ρ DwDt

= Z −∂p∂z

+∂∂z

µ 2 ∂w∂z

−23div v⎛

⎝⎜⎞⎠⎟

⎡⎣⎢

⎤⎦⎥+

∂∂x

µ ∂w∂x

+∂u∂z

⎛⎝⎜

⎞⎠⎟

⎡⎣⎢

⎤⎦⎥+

∂∂y

µ ∂v∂z

+∂w∂y

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥

(I.12a,b,c)

conocido con el nombre de ecuaciones de Navier – Stokes las cuales constituyen

el fundamento de toda la Mecánica de Fluidos . A ellas hay que añadir la ecuación

de continuidad, que para fluidos compresibles, según la ecuación (I.1) es

∂ρ∂t

+∂ ρu( )∂x

+∂ ρv( )∂y

+∂ ρw( )∂z

= 0 (I.13)

Para flujo incompresible todavía se simplifica más este sistema de ecuaciones, aun

en el caso de no ser constante la temperatura.

Página 17 de 115

En primer lugar, según la ecuación (I.1a) se tiene div v= 0 . Además, por ser

pequeña la variación del coeficiente de viscosidad con la temperatura, se le puede

considerar como constante.el punto 1.

Luego, las ecuaciones (I.12a,b,c) y (I.13) desarrollando las aceleraciones, se

convertirán en:

ρ ∂u∂t

+ u∂u∂x

+ v∂u∂y

+∂u∂z

⎛⎝⎜

⎞⎠⎟= X −

∂p∂x

+ µ ∂2u∂x2

+∂2u∂y2

+∂2u∂z2

⎛⎝⎜

⎞⎠⎟

ρ ∂v∂t

+ u∂v∂x

+ v∂v∂y

+∂v∂z

⎛⎝⎜

⎞⎠⎟= Y −

∂p∂y

+ µ ∂2v∂x2

+∂2v∂y2

+∂2v∂z2

⎛⎝⎜

⎞⎠⎟

ρ ∂w∂t

+ u∂w∂x

+ v∂w∂y

+∂w∂z

⎛⎝⎜

⎞⎠⎟= Z −

∂p∂z

+ µ ∂2w∂x2

+∂2w∂y2

+∂2w∂z2

⎛⎝⎜

⎞⎠⎟

⎪⎪⎪⎪

⎪⎪⎪⎪ (1.14,a, b, c)

∂u∂x

+∂v∂y

+∂w∂z

= 0 (I.15)

Estas ecuaciones de Navier–Stokes dadas en (I.14a,b,c) para fluidos

incompresibles, se pueden escribir en forma vectorial, así:

ρ Dv

Dt= K − ∇p + µ Δv

(I.16)

donde Δ representa el operador de Laplace Δ =∂2

∂x2+

∂2

∂y2+

∂2

∂z2

Ellas, se diferencian de las ecuaciones de Euler del movimiento para fluidos no

viscosos por la presencia del término de la resistencia viscosa µ Δv

.

Página 18 de 115

Debido a la dificultad de todo cálculo que involucre a las ecuaciones de Navier-

Stokes y la versión computacional de las mismas, todo cálculo computacional

elaborado mediante dichas ecuaciones debe ser validado de forma experimental.

A pesar de las grandes dificultades matemáticas que ofrecen estas ecuaciones, son

conocidas algunas soluciones particulares que resultan ser interesantes, como por

ejemplo, el flujo por conductos y alrededor de los mismo (cilindros), así como el

flujo correspondiente a la capa límite, las cuales concuerdan perfectamente con

los resultados experimentales, no permitiendo dudas sobre la validez general de

las ecuaciones de Navier – Stokes.

Veamos a continuación que forma presentan las ecuaciones de Navier – Stokes y

de continuidad en coordenadas cilíndricas.

Si designamos por x, r, φ las coordenadas axial, radial y angular, y por vx , vr , vϕ

las componentes de la velocidad en las direcciones de dichas coordenadas,

obtenemos estas ecuaciones en coordenadas cilíndricas para fluidos

incompresibles que de las ecuaciones (I.15) y (I.16) se escriben como sigue

∂vx∂x

+ ∂vr∂r

+1r∂vϕ∂ϕ

+ vrr

=0

Página 19 de 115

ρ ∂vx∂t

+ vx∂vx∂x

+ vr∂vx∂r

+vϕr∂vx∂ϕ

⎛⎝⎜

⎞⎠⎟= Kx −

∂p∂x

+µ ∂2vx∂x2 +

∂2vx∂r2 +

1r∂vx∂r

+1r2

∂2vx∂ϕ 2

⎛⎝⎜

⎞⎠⎟

ρ ∂vr∂t

+ vx∂vr∂x

+ vr∂vr∂r

+vϕr∂vr∂ϕ

+vϕ

2

r⎛

⎝⎜⎞

⎠⎟= Kr −

∂p∂r

+µ ∂2vr∂x2 +

∂2vr∂r2 +

1r∂vr∂r

+1r2

∂2vr∂ϕ 2 −

2r2

∂vϕ∂ϕ

−vrr2

⎛⎝⎜

⎞⎠⎟

ρ∂vϕ∂t

+ vx∂vϕ∂x

+ vr∂vϕ∂r

+vϕr∂vϕ∂ϕ

+vr vϕr

⎛⎝⎜

⎞⎠⎟= Kϕ −

1r∂p∂ϕ

+µ∂2vϕ∂x2 +

∂2vϕ∂r2 +

1r∂vϕ∂r

+1r2

∂2vϕ∂ϕ 2 +

2r2

∂vr∂ϕ

−vϕr2

⎝⎜⎞

⎠⎟

Particularmente podemos destacar que en modelos de fluido no newtoniano como

los empleados en hemodinámica (ver Antanovskii – Ramkissoon) , las ecuaciones

de continuidad y de Navier – Stokes toman la forma

∂ ρr( )∂t

+∂ ρrvx( )

∂x+∂ ρrvr( )

∂r= 0 (I.17)

ρ ∂vx∂t

+ vx∂vx∂x

+ vr∂vx∂r

⎛⎝⎜

⎞⎠⎟= −

∂p∂x

+∂∂x

2µ ∂vr∂x

⎛⎝⎜

⎞⎠⎟+1r∂∂r

µr ∂vr∂x

+∂vx∂r

⎛⎝⎜

⎞⎠⎟

⎡⎣⎢

⎤⎦⎥

(I.18)

ρ ∂vr∂t

+ vx∂vr∂x

+ vr∂vr∂r

⎛⎝⎜

⎞⎠⎟= −

∂p∂r

+∂∂x

µ ∂vr∂x

+∂vx∂r

⎛⎝⎜

⎞⎠⎟

⎡⎣⎢

⎤⎦⎥+1r∂∂r

2µr ∂vx∂r

⎛⎝⎜

⎞⎠⎟− 2µ vr

r2

(1.19)

puesto que allí, el fluido es compresible y viscoso, no actúan fuerzas másicas por

unidad de volumen (fuerzas externas), y no se considera la componente angular de

la velocidad, o sea, vϕ = 0

Página 20 de 115

1.2. Objetivos del presente Proyecto:

-Estudio del método de las características en bajo orden (primer y segundo orden),

medición del error y contrastación con los resultados existentes en la literatura

actual. Este objetivo se realizará mediante un código de elementos finitos de bajo

orden basado en una interpolación nodal lagrangiana y el método semi-

Lagrangiano de transporte.

-Creación de un interpolador de alto orden. Mediante el uso de polinomios de

Legendre, se creará un interpolador que sea capaz de realizar interpolaciones

modales más precisas a medida que se incrementa el orden de la familia de

polinomios que realiza la interpolación, tanto en una como en dos dimensiones.

Comparación de los resultados con la versión lagrangiana de bajo orden.

-Determinación de un orden de aproximación polinómica que nos permita integrar

el conjunto de las ecuaciones de Navier-Stokes con un error de difusión mínimo y,

al mismo tiempo, unas necesidades computacionales aceptables.

-Implementación del método de las características de alto orden en un esquema de

Gradiente Conjugado capaz de resolver el problema de Stokes derivado de la

resolución semi-Lagrangiana de las ecuaciones de Navier-Stokes.

-Aplicación a problemas aerodinámicos clásicos en distintos regímenes y número

de Reynolds.

Página 21 de 115

1.3. Motivación del presente proyecto

La descripción y el control de los flujos laminares y turbulentos que se producen

en un contexto industrial es unos de los principales objetivos que los ingenieros se

plantean cuando tienen ante sí un problema de diseño aerodinámico.

Los objetivos más clásicos en lo que respecta al diseño aerodinámico son, por un

lado, la minimización del coeficiente de arrastre o Drag (Cd) y, por otro, la

optimización del coeficiente de sustentación o Lift (Cl). Este último objetivo

puede tener una doble interpretación ya que se podría proyectar un Lift máximo

con signo positivo tal y como se hace en un contexto fundamentalmente

aeronáutico, o bien con signo negativo como, por ejemplo, cuando se trata de

asentar un monoplaza de Fórmula1 contra el suelo a altas velocidades.

Estos coeficientes de resistencia y sustentación no son otra cosa que el resultado

de la suma de todas las fuerzas de presión y viscosas que un cuerpo siente por

parte del fluido que le rodea. Para conseguir estos objetivos, son muchas las

técnicas que se emplean. Una amplia rama de procedimientos tienen que ver con

mediciones experimentales de dichos coeficientes y posterior rediseño de las

geometrías o perfiles. Este conjunto de técnicas se conocen como control pasivo

del flujo. Dentro de estas llamadas técnicas de control pasivo, encontramos entre

otras, los riblets, que quizás son los más conocidos. Consiste en aplicar a la

superficie del cuerpo una geometría similar a la de una pelota de golf para

favorecer cierto comportamiento del fluido en torno a esa superficie.

Página 22 de 115

Figura 2: Tipos de Riblets

Por otro lado también es posible crear mecanismos físicos que interaccionen

energéticamente con el fluido y cambien consecuentemente el valor de los

coeficientes de resistencia y sustentación. Esto se conoce como control activo.

El estudio de cada uno de estos procedimientos de optimización da lugar a una

interacción entre el mecanismo de control, el comportamiento del fluido y, por

consiguiente, el valor final de los coeficientes. Este estudio se puede llevar a

cabo,de forma experimental o bien en forma computacional, teniendo cada una de

ellas sus ventajas e inconvenientes. Tiempo, economía, error cuantitativo o

detalles del campo fluidodinámico son variables que nos pueden llevar a optar por

un análisis experimental o bien por una simulación computacional.

En este proyecto se ha optado por el segundo caso y por lo tanto vamos a tratar de

describir un flujo aerodinámico alrededor de distintas geometrías, evaluando su

margen de error respecto a las mediciones experimentales. El fluido será

estudiado a través de la resolución computacional de las ecuaciones de Navier-

Stokes. Dicho cálculo conlleva una resolución de las variables físicas de velocidad

y presión del fluido en función del espacio y del tiempo, de forma que hay que

elegir una forma de discretización espacial y otra temporal. El método numérico

Página 23 de 115

que se ha elegido para la discretización espacial han sido los elementos finitos de

alto orden, que tienen, por un lado, la capacidad para adaptarse a las complejas

geometrías que se emplean a nivel industrial y, por otro, la posibilidad de

incrementar su precisión en función del orden de aproximación polinómica de la

base escogida. A nivel de discretización temporal se va a emplear el método de las

características que va a proporcionar una descripción semi-Lagrangiana donde

cada punto de la discretización espacial es tratado como una partícula fluida que

se mueve en su trayectoria. Este enfoque coincide con el escogido por los códigos

más modernos y exigentes que resuelven flujos turbulentos alrededor de

geometrías complejas. [WICK02]

1.4. Ámbito de Aplicación del proyecto

Los resultados del proyecto, en nuestro caso, serán estudiados para ver la difusión

en un problema de transporte de Euler, pero serán extrapolables a diversos campos

de aplicación.

• En CFD se aplica para la resolución de la ecuación de Navier-Stokes,

aproximando datos tales como la presión, la velocidad y otros semejantes

mediante polinomios de Legendre. Ésta es la aplicación principal del proyecto.

• Este mismo principio es aplicable a otro tipo de problemas de elementos

finitos ,como puede ser la resolución de estructuras u otros problemas similares,

incluso de transferencia de calor.

En nuestro caso, antes de aplicar el método a la mecánica de fluidos, se utilizará

para la resolución de la Ecuación del transporte de Euler en un espacio mallado,

Página 24 de 115

para comprobar la mejora que supone el método de los polinomios de Legendre

de alto orden, en detrimento del método de interpolación Lagrangiano de bajo

orden que se utiliza de forma habitual en este tipo de problemas.

1.5. Implantación Numérica

Todo el desarrollo del proyecto está programado en Fortran 95, lenguaje que es

muy apropiado debido a la sencillez, uso de memoria y asignación dinámica de la

misma, así como por su velocidad de cálculo.

Además del código en Fortran hay otras partes del método de cálculo. En primer

lugar nos encontramos con la generación de la malla, que se han realizado con el

programa GID desarrollado por la Universidad Politécnica de Cataluña y, en

concreto, por el centro internacional de Métodos Numérico en la Ingeniería

( CIMNE ). Este programa está desarrollado pensando en la exportabilidad de sus

resultados, así como con la compatibilidad de entrada de datos. De este programa

hablaremos en el punto 2 de este proyecto. La generación de la malla junto con la

elección de las condiciones de contorno, forma parte de lo que vamos a conocer

como tarea de preproceso, mientras que la visualización de los resultados se

conocerá como tarea de postproceso.

Página 25 de 115

1.6. Organización del presente proyecto

En el resto de la memoria del proyecto se explicarán progresivamente las partes

que componen la herramienta creada para resolver el problema, entrando un poco

más en detalle en los puntos de desarrollo de este estudio. Finalmente, se

comentarán los resultados obtenidos en los cálculos, los cuales se incluirán en los

anejos y en el apartado de cálculos.

En el apartado de cálculos se incluirán todos los problemas de validación de los

resultados obtenidos así como las pruebas iniciales del método y la comparativa

con el método utilizado convencionalmente.

Este proyecto no consta de planos ni de pliego de condiciones por tratarse de un

proyecto de estudio y no de uno convencional.

Página 26 de 115

2.Descripción de los algoritmos desarrollados y los

métodos empleados:

2.1. Mallador GID:

El Mallador GID es un programa desarrollado por el Centro Internacional de

Métodos Numéricos en la Ingeniería (CIMNE) de la Universidad Politécnica de

Cataluña. Este es el programa que realiza el mallado, es decir, la discretización

del dominio de estudio, y también permite definir las condiciones de contorno del

problema a estudiar. El GID permite importar librerías que añaden condiciones de

contorno distintas a las que tiene el programa, para poder usar el GID para

resolución de los problemas con sus peculiaridades en cuanto a condiciones de

contorno.

Dentro de las carpetas que usa el programa hay una llamada “problem types”, en

la que se añaden las librerías disponibles en internet o programadas por el usuario.

En la siguiente figura se aprecia la pantalla con el menú desplegable donde se

selecciona el tipo de problema a usar.

En nuestro caso se usaran condiciones de contorno Dirichlet homogeneas que no

son otras, que obligar a que los nodos situados en los bordes tengan valor cero.

Página 27 de 115

Figura 3: Ejemplo de condiciones de contorno en GID

Esta función se lleva a cabo en la ventana del GID de “conditions”:

Figura 4: Asignación de condiciones (ventana)

Página 28 de 115

Para el solver de la ecuación de Navier-Stokes se imponen condiciones de

velocidades y presiones para determinar el movimiento del fluido en el dominio

del problema.

Figura 5: Condiciones asignadas sobre un ensayo

En la figura 6 se puede ver un ejemplo de definición de volumen a mallar de GID

para un caso de resistencia de materiales

Página 29 de 115

Figura 6: Ejemplo de geometría de GID

2.1.1. Preprocesador de GID

2.1.1.1. Creación de mallas para el estudio

(Generación de malla a través de parámetros)

Para generar una malla sencilla, lo primero que se ha de hacer es crear la

superficie o volumen que se desea estudiar a través de el propio programa o

importándolo de otro programa que sea compatible con el GID. Este puede

importar de programas del tipo CAD tales como el Solid Edge y otros similares,

aunque es capaz de generar sus propias geometrías. Esto se ve representado en la

figura anterior. Pero se explica a continuación con los pasos necesarios para crear

una geometría.

Página 30 de 115

Una malla se caracteriza básicamente por la distancia que existe entre sus nodos, y

en la forma de los elementos que la componen. Estos datos, se introducen una vez

seleccionada la superficie, en las opciones de mallado del propio programa.

En la figura 7 podemos ver tres mallas de elementos triangulares, y de diferente

longitud entre nodos. Tras elegir la longitud entre nodos (propiedad fundamental

de la malla), la malla se genera automáticamente. Adicionalmente tenemos la

oportunidad de refinar esta característica de forma local. Es decir, que podemos

hacer que el mallado sea más fino en unas zonas que en otras.

(A) (B) (C)

Figura 7: Representación de distintas distancias entre nodos en mallado

Como he dicho antes, las mallas pueden tener zonas más densas (mayor número

de nodos por unidad de superficie), geometrías internas, agujeros y otros

elementos, generando el refinamiento local en cuantas zonas de estudio nos haga

falta con la precisión necesaria en cada zona del problema.

En la figura 8 se aprecian unas imágenes a modo de ejemplo de las densidades de

malla, los distintos elementos con los que podemos construir las mallas y de

geometrías internas del espacio de estudio:

Página 31 de 115

Figura 8: Mallado con especificaciones por zonas

Para generar mallas como la que hay de ejemplo en la figura 8, se requiere

cambiar los parámetros del programa en función de la distancia entre nodos cerca

de las geometrías que se indiquen. En este caso hemos querido ver con más

detalle lo que ocurría alrededor de los obstáculos, con lo que le hemos asignado

un valor distinto a la distancia entre nodos.

Con el propio GID, se asigna también, la rapidez de la transición de elementos

con una cierta distancia entre nodos, a otra dada. Con esto se consigue que no

haya cambios bruscos de tamaño de elementos, y se regula la continuidad de la

transición de un tamaño de un elemento a otro.

Página 32 de 115

Figura 9: Transición del tamaño de los elementos en cilindro

Se debe aclarar que la figura 8 es una malla puramente orientativa ya que es una

geometría compleja que no merece ninguna atención a efectos de estudio, pero a

nivel explicativo nos es muy útil porque contiene la mayoría de las condiciones

especiales que se pueden dar en una malla 2D en el programa de mallado GID.

2.1.1.2. Mallado 3D en GID

El mallador GID trabaja también con geometrías 3D. De hecho este tipo de

geometrías se emplearan en la segunda parte del proyecto para resolver los

problemas elegidos como comprobación del método.

Los elementos empleados en 3D son tetraedros de distancia entre vértices

constantes. La distancia entre los vértices de los tetraedros es el equivalente a la

distancia entre nodos de los triángulos en 2D.

Página 33 de 115

Al aumentar la dimensión del problema, no solo se incrementa el número de

nodos de la malla. También se incrementa el cálculo requerido por nodo, y por lo

tanto todos los cálculos se ven afectados.

(A) (B) Figura 10: Elementos básicos de una malla

Para ilustrar un poco este tipo de mallas vemos con un ejemplo de malla de

tetraedros de un prisma rectangular con un hueco esférico central para hacer el

estudio de el flujo alrededor de la esfera que se ve en la figura 10(A). También de

modo ilustrativo presentaremos en el capítulo 3 la manera de visualizar los

resultados mediante el postprocesador para entender como se realiza el análisis

visual de los resultados:

(A)

Página 34 de 115

(B)

Figura 10: Ejemplos de mallado 3D de GID en casos de estudio real

Como se puede ver en la figura 10(B) el GID comparte las herramientas que ya

tenía en 2D referentes al refinamiento del mallado ampliándolo a volúmenes y

usando tetraedros o cubos. Esto es especialmente útil en 3D para optimizar el

número de elementos y por lo tanto el tiempo de cálculo, ya que en 3D el número

de nodos y elementos aumenta significativamente.

Como resultado podemos conseguir resultados detallados en función de la

importancia de la zona del dominio de estudio. Así conseguimos resultados muy

detallados localmente sin aumentar el número de elementos de toda la malla y por

lo tanto no añadiendo más tiempo de computación.

Página 35 de 115

2.1.2. Postprocesador del GID:

2.1.2.1. Postprocesado 2D

El postprocesado del gid es válido solo para aquellos casos en los que los valores

que se quieren observar gráficamente se encuentran el los mismos puntos que ha

generado el preprocesador pertenecientes a la malla, por eso esto no valdrá para el

estudio de los resultados de la ecuación de transporte en el caso de usar el método

de los polinomios de Legendre, ya que no usa como datos los puntos de la malla

directamente sino que lo que se estudia son los puntos de Gauss de cada elemento

como se explicará más adelante.

Figura 11: Postproceso de GID

Página 36 de 115

El Postprocesador de GID tiene diversas herramientas útiles para el estudio

gráfico de los resultados obtenidos como puede ser la generación automática de

vídeos en distintos formatos o las gráficas con valores máximos y mínimos en la

escala de colores de cada tiempo de la solución.

Para ilustrar el tipo de representaciones gráficas que genera GID adjunto

fotografías tomadas de los resultados de estudios en 2D tanto de la Ecuación de

transporte de Euler, como de la resolución de la ecuación de Navier-Stokes para

casos bidimensionales:

(A)

(B)Figura 12: Imagen de postproceso de GID en 2D

Página 37 de 115

2.1.2.2. Postprocesado 3D:

La dinámica y el tratamiento es muy similar al de 2D con la peculiaridad de que

en 3D lo que interesa es ver lo que pasa dentro del volumen.

GID permite al usuario realizar diversos cortes en el volumen para que con

dichos cortes se pueda entender la solución en espacios bidimensionales donde lo

que se ve es el valor de las diferentes variables en los puntos del dominio de

estudios contenidos en el plano de corte. Esto tiene el inconveniente de que los

puntos de estudio no tienen porqué estar contenidos en dicho plano por lo que lo

que hace el programa es una proyección de los valores de los puntos que están

detrás del plano de corte a dicho plano. Esto puede tener como consecuencia una

solución que a primera vista tiene zonas irregulares e incoherentes con la

geometría del problema, pero en realidad esto lo que nos indica es que está

tomando un valor que no está cerca del plano.

En nuestro caso en particular, al estar compuesta la malla 3D por tetraedros lo

que sucede es que los picos que se ven en el postprocesado son las aristas de algún

pico del tetraedro que queda muy alejado de el plano de corte por el que se está

mirando.

El problema generado por el corte de planos para poder estudiar la solución

gráficamente se resuelve modelando la malla de tal forma que la superficie de

Página 38 de 115

corte represente una superficie para el mallador que ha de representar y mallar

como superficie completa con lo que en este caso los puntos si que se encuentran

en el plano de corte. El inconveniente principal de este método es la

complicación del diseño del modelo que se va a mallar, ya que hará falta que

dicha superficie sea una separación real de volumenes de mallado aumentando la

complejidad de la malla. Esto puede generar problemas e incluso obligarnos a

cambiar el algoritmo de mallado por otro más lento, o quizás menos preciso pero

que tenga más facilidad para cumplir un número determinado de condiciones

impuestas como puede ser el que los puntos estén contenidos en un plano que ya

venga definido anteriormente.

Como ejemplo en la figura 13 se observa un plano del problema de la esfera en el

que hubo que plantear este requisito de geometría para que se viera bien el

resultado el el plano de corte con la esfera:

Figura 13: Mallado con varios volúmenes para cortes

Como se puede observar en la parte inferior de la Figura 5, se ha realizado un

mallado con un corte de tal forma que se pueda estudiar en detalle lo que sucede

Página 39 de 115

en el plano de corte con el diámetro de la esfera para poder realizar un estudio de

la solución un poco más detallado en esta zona como puede ser las variaciones de

velocidad y de presión en el fluido en la zona más comprometida del problema.

Este mismo principio nos vale para múltiples cortes si hace falta, en un mismo

problema analizar resultados de diversas zonas, pero esto ha de ser valorado con

más detalle antes de realizar el mallado teniendo en cuenta intuitivamente donde

van a estar las zonas más interesantes para su estudio.

En la figura 14 se observa un pequeño ejemplo de los resultados pintados en un

plano del postprocesador de 3D del GID:

Figura 14: Postproceso GID 3D

Los resultados de la figura 6 son de un caso en el que se ha empleado la filosofía

de la definición de la malla pensando en el corte de estudio que se va a hacer con

lo que como se observa en la figura, parece que se trata de una malla de 2D, y lo

Página 40 de 115

único que nos dice que lo que estamos viendo es un volumen de estudio es el

hecho de que la figura esta ligeramente girada y presenta unas sombras que son la

profundidad del volumen.

Página 41 de 115

3. Programa para resolver la ecuación de

transporte puro de Euler en bajo orden para

comprobar la difusión matemática del problema:

3.1. Fundamentos de la ecuación del transporte puro de Euler:

A la hora de resolver un problema de mecánica de fluidos, existen dos enfoques

diferentes de la cinemática del problema. El primero es un enfoque según la

descripción euleriana del medio, que describe un fluido de acuerdo a la teoría de

campos. La segunda es la descripción lagrangiana del movimiento que consiste en

seguir la trayectoria de una partícula fluida a lo largo del espacio. Cada una de

estas partículas se rigen por las leyes de la mecánica clásica.

La ecuación del transporte puro en el caso de fluidos y en concreto de nuestro

CFD se resuelve a través del enfoque Lagrangiano.

Este enfoque, en el caso del transporte homogéneo, lo que hace es transportar las

partículas de forma que conserven las propiedades que tenían en su origen.

De este modo vemos que la parte matemática importante es el cálculo del punto

de procedencia de un punto dado. A ese punto se le llama pie de las

características. Ese pie de la característica y el punto en el instante de tiempo

Página 42 de 115

actual están separados por un intervalo de tiempo y por lo tanto por un vector

desplazamiento como se ve en la figura 15

Figura 15: Transporte de un punto (Enfoque lagrangiano)

Donde Xi es la posición inicial de la partícula en un instante de tiempo t0 dado.

Tras un incremento de tiempo Δt pasa a la posición con lo que el vector

desplazamiento se puede definir como α i

α i

= xi− Xii

Al llevar esto a un nivel práctico, se ve que consiste en mover un cuerpo (función

en el espacio) por un dominio geométrico de forma que el cuerpo conserve sus

propiedades con el tiempo.

Página 43 de 115

El dominio para el problema, será un cuadrado mallado con el programa GID

explicado en el capítulo 2.

Aunque los puntos conocidos sean los de la malla, lo que interesa conocer es el

valor de la función en los puntos xi

pasado un intervalo de tiempo Δt . Pero

además los datos de partida son tan solo el campo de velocidades y el valor de la

función en los mismos puntos que la solución xi

pero un intervalo de tiempo

antes .

Aquí es donde entra en juego lo que se ha llamado en el título el bajo orden. Una

vez calculada la posición del punto (nodo) Xi

en el instante de tiempo anterior ,

su valor se calculará interpolando con los datos que se tienen que no son otros que

los valores de la función (cuerpo) en el instante de tiempo anterior al de estudio.

El cálculo del que se habla se realiza a través de un método de interpolación de

bajo orden (segundo orden) y el valor hallado se asigna como nuevo valor de la

función en el punto (nodo) destino xi

. Esta operación se realizará para cada uno

de los nodos de la malla.

Para llevar a cabo todos estos procesos en simulación en el ordenador, se han

tenido que seguir los pasos que se detallan en los apartados siguientes, partiendo

de subrutinas predefinidas o creadas para el efecto deseado. Estos puntos

Página 44 de 115

fundamentales de la realización del estudio y el programa se encuentran escritos a

continuación por temas:

3.2. Generación de la malla en GID y generación de los archivos de datos

necesarios para el problema:

La malla se genera de forma que la distancia entre los nodos sea

aproximadamente la misma o menor que el desplazamiento máximo que se va a

dar en el problema de la ecuación del transporte puro. De hecho, en las

conclusiones se podrá observar la consecuencia de la variación del tamaño de

malla en la convergencia del problema.

La ecuación que representa el transporte puro, a parte de la explicación del punto

3.1. es la siguiente:

DcDt

= 0 Ecuación de Transporte puro

Donde c es el cuerpo o función transportado, y t es el tiempo. De este modo lo

que quiere decir la ecuación es que la derivada sustancial del cuerpo en función

del tiempo es cero, o lo que es lo mismo, que la forma del cuerpo en cada

partícula se mantiene constante.

Tras generar la malla, se generan dos archivos necesarios como entrada del

programa, que se forman con una opción especial de GID que se denomina

Página 45 de 115

“problem type” a la que, se le pueden añadir tipos de problemas para que genere

los archivos con las variables.

Figura 16: Carpeta de “Problem type”

En nuest ro caso, par t imos de un “problem type” denominado

“Homogeneus_transport” ya adaptado a las necesidades de datos que requiere

nuestro programa. La estructura de los archivos generados es la siguiente:

• Archivo mesh-data.txt:

Este archivo lleva la información de las coordenadas físicas de los nodos de la

malla generada así como las posiciones de dichos nodos en sus correspondientes

elementos, con la siguiente estructura:

Página 46 de 115

Figura 17: Archivo tipo “mesh-data”Bloque 1

Cabecera: [Dimensión del problema] [Número de nodos del problema]

[Numero de nodo] [coordenadas de cada nodo]

Bloque 2

Cabecera [Nodos por elemento] [número de elementos en la malla]

[Número de elemento] [Elementos que lo forman]

Página 47 de 115

• Archivo boundary.txt:

Este archivo no es estrictamente necesario ya que se usa para otros casos en los

que es más crítica y más común la situación en la que el punto en el instante

anterior de tiempo se sale del espacio de estudio. Este archivo se genera como

resultado de una opción del GID denominada “conditions” que se encuentra en el

menú de data del preprocesador explicado anteriormente.

Figura 18: Ejemplo archivo boundary

Su estructura es más sencilla, si cabe, que la que tenía el archivo mesh-data.txt,

simplemente se trata de una enumeración en forma de columna de una serie de

nodos, y a su derecha el valor que tienen dichos nodos asignados.

Página 48 de 115

Como su propio nombre indica, este archivo lo que proporciona son las

condiciones de contorno del problema. En el caso de la ecuación de transporte

puro, se han fijado para que la función en los bordes del espacio de estudio

(malla) valga cero indefinidamente, independientemente de lo que suceda con su

pie de la característica.

Figura 19: Movimiento de los nodos de un elemento (pie de las características)

Una vez realizada la malla y generados los archivos explicados anteriormente,

estos se introducen al programa, basado en código Fortran 95 desarrollado por el

alumno teniendo como referencia [RODR02]. De dicha bibliografía se ha

extraído la metodología pero no las subrutinas. Algunas de las partes del programa

han sido desarrolladas anteriormente con lo que en el presente documento no es

necesario desarrollarlas más que teóricamente, aunque en la programación se han

realizado independientemente con los mismos principios. A continuación y en los

Página 49 de 115

siguientes puntos lo que se explica es el funcionamiento de dichas subrutinas que

constituyen el programa desarrollado para el estudio de la ecuación de transporte

puro de bajo orden.

3.3. Cálculo del Pie de las características:

Esta es una parte fundamental del programa ya que de ella depende en cierta

medida la precisión del problema. Cierto es que en el presente estudio no se trata

de ver que repercusión tiene esto en la difusión matemática de la función en la

resolución de la ecuación de transporte puro, no obstante es importante explicarla.

En el caso de bajo orden el programa hace el siguiente cálculo:

Figura 20: Desplazamiento del punto y forma del vector alpha

Se conoce la velocidad, o el campo de velocidades en el espacio del problema, y

en concreto en los nodos. Aunque se conocen estos datos, el desplazamiento de un

punto, sigue la trayectoria que marca la velocidad solo si lo hace de manera

continua, es decir, si se está estudiando el problema analíticamente.

Página 50 de 115

Como nuestro estudio es numérico y por lo tanto discretizado tanto en el espacio

como en el tiempo, el cálculo del vector desplazamiento se llevará a cabo de la

siguiente forma:

dXdt(x,tn+1;t) = u(X(x,tn+1;t),t)

X(x,tn+1;tn+1) = x

⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

En esta fórmula X(x,tn+1;t) representa la posición en el instante t de una partícula

que alcanza el punto x en el instante tn+1

u(X(x,tn+1;t),t) sería entonces la trayectoria de la partícula desde su origen o pie

de la característica hasta su posición en el instante tn+1 .

Además de esta condición, se ha de cumplir que:

X(x,tn+1;tn ) = x − u(X(x,tn+1;t) ⋅ t)dttn

tn+1

∫αi

Aquí es cuando coge sentido el nombre de pie de las características, que que se ve

que es el punto de procedencia de X del que se heredan las características. En

nuestro caso, el valor de la función.

Para llegar a la posición del pié de las características, solo faltaría calcular la

integral que a partir de ahora llamaremos αi

Página 51 de 115

Este cálculo se realiza a través de la aproximación de la integral por la regla del

punto medio.

α i = xi − X(x,tn+1;tn )

α i = Δt ⋅u(Xi (xi ,tn+1;tn+1/2 ),tn+1/2 ) + 0(Δt3)

Siendo Xi (xi ,tn+1;tn+1/2 ) el punto medio del arco que une los puntos

(xi ,tn+1) y (Xi (xi ,tn+1;tn ),tn )

extraemos las siguientes fórmulas:

Xi xi ,tn+1;tn+1/2( ) = xi − α i

2+ 0 Δt2( )

y

u Xi xi ,tn+1;tn+1/2( ),tn+1/2( ) = u xi −12α i ,tn+1/2

⎛⎝⎜

⎞⎠⎟+ 0 Δt 2( )

Tras igualar estas dos ecuaciones se obtiene la siguiente fórmula:

α i = Δt ⋅u(xi −12α i ,tn+1/2 )

De esta fórmula quedaría por determinar el cálculo de “u” en función de alpha

para poder implementar a un código.

Página 52 de 115

Con el fin de calcular la velocidad en el punto medio, se empleará la fórmula de

Adams-Bashforth. En este caso de orden 1.

u(x,tn+1/2 ) =32u(x,tn ) −

12u(x,tn+1) + 0(Δt

2 )

finalmente esto se traduce unas fórmulas de código que dependen del valor actual

de α en la iteración, el valor anterior de α y de la diferencia entre ambos que

determinará el error cometido.

α i0 = Δt ⋅

32u(xi ,tn ) −

12u(xi ,tn−1)

⎛⎝⎜

⎞⎠⎟

α ik+1( ) = Δt ⋅

32u(xi −

12α i(k ),tn ) −

12u(xi −

12α i(k ),tn−1)

⎛⎝⎜

⎞⎠⎟

teniendo en cuenta que las velocidades en los nodos si que son conocidas, de aquí

a través de un método iterativo se extrae el valor aproximado de α

.

Una vez encontrado ese punto, se considera hallado el pie de la característica, y se

puede calcular el valor de la función en dicho punto para asignárselo al nodo que

se estaba estudiando.

Página 53 de 115

3.4. Cálculo de el elemento al que pertenece el pie de las características

Esta subrutina que es necesaria para crear una relación que nos permita determinar

el valor de la función en el pie de la característica así como de comprobar que el

pie de la característica está bien calculado se basa en el principio de movilidad de

elemento a elemento, para lo que nos hace falta definir un vector de los elementos

vecinos entre ellos. Por eso se explicará primero esta subrutina antes de explicar el

método.

3.4.1. Cálculo de los elementos vecinos

El cálculo de un vector que dé los elementos vecinos, es decir, lindantes a un

elemento dado, se basa en que en él, existen tantas fronteras, y por lo tanto

elementos vecinos, como lados tenga la forma de la malla. En este caso los

elementos que se usan son triángulos con lo que solo puede haber tres elementos

vecinos por cada elemento de la malla.

Memoria -32-

El algoritmo iterativo SLALG (Search and Locate ALGorithm) se emplea para buscar y

localizar un punto (x,y) dado dentro de una malla y encontrar qué elemento lo contiene

[ALLI2]. Su uso está enmarcado generalmente en el cálculo del pie de las características: a

lo largo de este proceso los nodos se desplazan siguiendo la curva característica de la

velocidad, pudiendo traspasar los límites del elemento que originalmente lo contenía. Para

saber qué elemento los contiene en su nueva ubicación es necesario aplicar este método de

búsqueda.

Tras la aplicación del método de las características un nodo se desplaza

hasta otra ubicación en un elemento distinto.

Figura 21: Elementos con nodos comunes

Como se puede ver en la figura 21, un elemento dado, en este caso el elemento

“0”, tiene solo tres elementos vecinos: “1”,”2” y “3”. El elemento “0” consta a su

vez de tres nodos que lo forman: “A”,”B” y “C”.

Página 54 de 115

01

2

3

A

BC

cualquiera de los elementos vecinos a “0” comparte dos de estos nodos con él. De

este modo podemos observar que “1” comparte con “0” los nodos “A” y C”, y así

pasa lo mismo con “2” y con “3”.

Por otro lado, se ve en el dibujo, que en ningún caso habrá dos elementos vecinos

que compartan los mismos nodos con “0”, con lo que se pueden diferenciar entre

si por este hecho.

Si a esto añadimos que el archivo mesh-data.txt contiene información acerca de

los nodos que componen cada elemento, obtenemos un vector (matriz) con los

elementos vecinos a uno dado.

Figura 22: Relación de nodos de cada elemento (caso cuadrático)

Página 55 de 115

Como los nodos se compartirán de 2 a 2 con los elementos vecinos, y como los

nodos estarán ordenados de acuerdo al archivo mesh-data.txt al principio, se

ordenarán los elementos vecinos siempre en el mismo orden. Es decir, los nodos

leidos en mesh-data.txt están ordenados de manera que “A” es el primero, “B” es

el segundo, y “C” es el tercero.

De este modo, el primer elemento vecino será el que comparta con “0” los nodos

“A” y “C”. El segundo elemento vecino compartirá con “0” los nodos “A” y

“B”, y por último, el tercero compartirá los nodos “B” y “C”

En este caso coincide con el nombre de los nodos. Pero se adjunta una tabla

explicativa.

Elemento Vecino Nodo en común 1 Nodo en común 21 A C2 A B3 B C

Figura 23: Tabla de pertenencia

Una vez que se llega a este punto ya se conocen los elementos vecinos. Esta

subrutina estará al principio del programa ya que solo es necesario ejecutarla una

vez y los datos quedan guardados.

3.4.2. Paso del triángulo físico a coordenadas locales.

El método de aproximación Lagrangiano consiste en expresar la función como

suma de polinomios.

Página 56 de 115

Como se explicará más adelante, estos polinomios constituyen una base del

espacio con los que aproximar la función. Estos polinomios, se definen solo a

partir de los puntos que se usan para calcular la aproximación de la función. La

estructura consiste en unos polinomios que multiplicados por unos coeficientes

generan la aproximación.

En el caso de la aproximación lagrangiana los coeficientes son los valores de la

función en los nodos, y los puntos de los que se conoce el valor de la función son

los nodos de la malla.

Estos polinomios, antes de ser multiplicados por los coeficientes, se definene a

través de las coordenadas de los nodos en cada elemento. Para que sea más rápido

computacionalmente conviene que estos polinomios sean siempre los mismos,

con lo que se ahorra el cálculo de los mismos para cada elemento y se reduce a

una subrutina que los calcule. Para que esto sea posible, lo que ha de suceder es

que las coordenadas de los nodos sean siempre las mismas al aproximar.

Es por este motivo por el que antes de realizar la aproximación del valor de la

función en un punto de un elemento (el pie de las características en el elemento de

origen), el elemento en estudio y el punto a aproximar, se convierten a

coordenadas locales.

Estas coordenadas tienen la peculiaridad de que las coordenadas de los nodos son

siempre las mismas en estas coordenadas, y lo único que se calcula cada vez, es la

posición en coordenadas locales del punto a aproximar.

Página 57 de 115

Para pasar de coordenadas reales a coordenadas locales, se realiza la siguiente

operación:

Figura 24: Cambio de coordenadas reales a locales

Se genera una aplicación lineal para cada elemento, cumpliendo las condiciones

siguientes:

x1, y1( ) ⋅ a11 a12a21 a22

⎛⎝⎜

⎞⎠⎟=

r1s1

⎛⎝⎜

⎞⎠⎟=00

⎛⎝⎜

⎞⎠⎟

x2 , y2( ) ⋅ a11 a12a21 a22

⎛⎝⎜

⎞⎠⎟=

r2s2

⎛⎝⎜

⎞⎠⎟=10

⎛⎝⎜

⎞⎠⎟

x3, y3( ) ⋅ a11 a12a21 a22

⎛⎝⎜

⎞⎠⎟=

r3s3

⎛⎝⎜

⎞⎠⎟=01

⎛⎝⎜

⎞⎠⎟

siendo “r” y “s” la posición en coordenadas locales de cada uno de los puntos.

Una vez calculada la matriz de la aplicación lineal para el elemento en estudio, se

calculan las coordenadas locales del pie de la característica que se está

aproximando.

Página 58 de 115

xp , yp( ) ⋅ a11 a12a21 a22

⎛⎝⎜

⎞⎠⎟=

rpsp

⎛⎝⎜

⎞⎠⎟

Esta transformación es muy útil también para determinar directamente si un punto

dado se encuentra en un determinado elemento, ya que las condiciones que ha de

cumplir el punto para pertenecer al elemento son sencillos y permiten determinar

en caso de respuesta negativa, el elemento vecino más cercano al punto que se

busca.

La subrutina de búsqueda del elemento al que pertenece el pie de las

características comprueba una serie de desigualdades para determinar si el punto

se encuentra en el elemento en estudio

rp ≥ 0sp ≥ 0rp + sp ≤ 1

La primera indica si el elemento se encuentra más a la izquierda del elemento, la

segunda comprueba si se encuentra por debajo del elemento, y la tercera

determina si está por encima de la arista entre los nodos locales 2 y 3.

Página 59 de 115

Figura 25: posibles posiciones relativas del punto

una vez determinada la no pertenencia al elemento del pie de las características, el

siguiente paso consiste en determinar en cual de los tres elementos vecinos seguir

buscando. Para ello, con las mismas desigualdades tomadas para comprobar la

pertenencia, se estudia qué desigualdad está más lejos de ser cumplida.

Para que quede más claro, las desigualdades que se comparan y la forma de

compararlas es la siguiente:

Página 60 de 115

Figura 26: Subrutina del programa que comprueba las desigualdades

3.4.3. Cálculo del elemento al que pertenece el pie de las características

Con estas herramientas descritas en los puntos anteriores, para encontrar el

elemento al que pertenece el pie de las características, lo único que sucede es que

se ha de seguir un proceso iterativo que, en el caso de que el elemento de estudio

sea en el que se encuentra el pie de la característica, termine y rellene una variable

diciendo qué elemento es éste.

Página 61 de 115

En el caso de este programa, esta variable se denomina:

NE%elem([numero de nodo])

Las variables que se usan para comparar, que se pueden ver en la figura 27 son :

XREF(:,:)

En el caso de que no lo sea, se determina el elemento vecino en el que se ha de

seguir buscando a través de el máximo de los valores antes planteados, y después

se repite exactamente el mismo proceso que se ha hecho para el primer elemento

de la búsqueda:

1. Se pasa el punto a coordenadas locales del nuevo elemento y se comprueba

que cumple las desigualdades de pertenencia.

2. El proceso sigue hasta que se encuentra el elemento de pertenencia.

Página 62 de 115

Figura 27: Diagrama de búsqueda del elemento

Solo existe una excepción en la que se deja de buscar, y en el caso de que se

determine que el pie de la característica se encuentre fuera del dominio de estudio

(malla). En este caso, el valor del pie de la característica no tiene importancia, y se

le asigna a la función el valor de las condiciones de contorno, que en nuestro caso

son iguales a cero.

Página 63 de 115

Figura 28: Proceso de búsqueda del elemento del pie de las características

3.5. Cálculo del valor de la función en el pie de las características

Una vez se conocen tanto la posición física del pie de las características como el

elemento en el que se encuentra, ya se dispone de información suficiente para,

interpolando con los valores de los nodos pertenecientes al elemento en el que se

encuentra el pie de la característica, hallar el valor de la función en el punto.

Esto se realiza a través de una interpolación de segundo orden, ya que en este caso

la malla será siempre cuadrática para que la aproximación sea suficientemente

buena para comparar con la de alto orden conseguida con los polinomios de

Legendre.

La interpolación se realiza en coordenadas locales multiplicando el valor de cada

nodo de alrededor por unos coeficientes y sumando el resultado.

Página 64 de 115

Los coeficientes son el resultado de sustituir la “r” y la “s” de las coordenadas del

pie de las características en los polinomios de Lagrange que se han tomado como

base. Como ejemplo, en la figura 30 se puede observar la parte de la subrutina en

la que se asignan los coeficientes, sabiendo que las coordenadas locales del pie de

las características de expresa como “r y s”.

Figura 29: Código de asignación de factores

En el siguiente capítulo, se explicará con más detalle el funcionamiento de la

interpolación lagrangiana.

Página 65 de 115

3.6. Funcionamiento completo del programa

Todas las subrutinas descritas anteriormente son las que tienen una importancia

más relevante en la ejecución del programa. A pesar de esto, quedarían cosas por

contar, como la generación de condiciones iniciales y el campo de velocidades en

el dominio de estudio.

Todos estos procesos de cálculo se encadenan para poder obtener el siguiente

instante de tiempo y, a su vez, esta operación se repetirá tantas veces como se

considere oportuno para estudiar los resultados pertinentes con respecto al tiempo.

Como resultado, el programa devuelve un archivo que el GID interpreta y

representa gráficamente de forma que se pueden analizar los datos en el

postprocesador, así como la difusión por vuelta, que es el dato que se utilizará en

el estudio final para comparar los distintos métodos.

Página 66 de 115

4. Programa para resolver la ecuación de

transporte puro de Euler en alto orden a través del

método de los polinomios de Legendre:

4.1. Explicación general del programa

El programa que se diseñó para la resolución de la ecuación de transporte con el

método de bajo orden sirve como base para éste segundo que es con el que se

pretende demostrar que la difusión matemática es menor en este caso, y para

determinar qué orden de polinomio es necesario para adquirir unos resultados

mejores o equivalentes a la interpolación de bajo orden.

La explicación de los métodos matemáticos usados se encuentra en un capítulo

posterior. Aquí solo se hablará de la programación y de las diferencias

fundamentales con el programa de bajo orden.

Este programa comparte con el anterior tanto la estructura general como algunas

de las subrutinas programadas. Sobre todo, la búsqueda del pie de la característica

es un proceso que es necesario en cualquier planteamiento de la ecuación del

transporte puro. La única diferencia es que ha habido que adaptarlo para las

variables definidas en el código, ya que estas tienen una estructura de

programación diferente.

Página 67 de 115

Igual que comparte la subrutina de búsqueda del pie de la característica, comparte

también todas las subrutinas relacionadas con la escritura o la lectura de los

archivos con los que interactúa el programa.

4.2. Estructura General del Programa

El programa consta fundamentalmente de cuatro partes que le diferencian del

método de bajo orden.

La primera parte del programa consiste en el diseño de una malla para alto orden.

Los polinomios de Legendre necesitan un número de puntos igual a el cuadrado

del orden empleado. Estos puntos se distribuirán en el interior de cada elemento

de forma que optimicen la aproximación del método. Por este motivo se han

elegido los puntos de Gauss que se desarrollarán en el apartado que habla de la

generación de la malla.

En segundo lugar, una vez generada la malla, se procederá a la construcción de los

polinomios de Legendre bidimensionales como producto tensorial de los

polinomios de Legendre de dimensión uno. Estos se formarán con el producto

escalar de los polinomios de Legendre para una dimensión, generando así una

matriz equivalente a los polinomios base de la interpolación de Lagrange.

Llegado este punto, están definidas las herramientas iniciales para la aplicación

del problema, y faltaría solo la aplicación o transformación que pasa de la función

expresada en los puntos de Gauss de la malla como función real interpolada, a una

Página 68 de 115

serie de coeficientes que son el equivalente a expresar la función en todo el

dominio en el espacio de los polinomios de Legendre.

Es necesaria también una subrutina que haga el cambio inverso, es decir, que

transforme los coeficientes en valores físicos para cualquier punto de el dominio

del problema.

Todas estas subrutinas serán definidas y explicadas más adelante.

Para desarrollar el código, se programó en primer lugar una aplicación que

realizaba solo los pasos específicos de este método, es decir, que generaba la

malla de alto orden, proyectaba el espacio real sobre el de los polinomios de

Legendre, y posteriormente aproximaba la función volviendo a proyectar, pero

esta vez, desde el espacio de los polinomios de Legendre a el espacio físico. Si

partiéramos de este programa, y del programa ya desarrollado de la interpolación

de Lagrange, la estructura de unión de ambos programas, sería equivalente a lo

indicado en la figura 31. Aunque esta linea de desarrollo no prosperó por

problemas de compatibilidad entre programas, esta figura ilustra muy bien el

resultado final, y la estructura del programa final.

Página 69 de 115

Figura 30: Formación del programa a partir de 2 módulos

4.3. Generación de la malla definitiva:

Para entender la malla usada para alto orden, es necesario comprender lo que son

los puntos de Gauss. Estos puntos son los productos escalares de los ceros de los

polinomios de Legendre. Con lo que no son un concepto unidimensional sino más

bien bidimensional. En todo caso, se parte de los ceros de los polinomios de

Legendre.

Los puntos de Gauss son una alternativa a la disposición equidistante de los

puntos de la malla para optimizar la aproximación mediante unos puntos ligados a

los polinomios de la base interpolante.

Página 70 de 115

A esta generación de puntos del mallado, se le denomina cuadratura de Gauss, y

está definida en el intervalo [-1,1], y se define de la siguiente manera:

donde N es el número de puntos de Gauss, los wi son los pesos y las xi

son los puntos de Gauss.

Los polinomios de Legendre de los que son raíces los pintos de Gauss de una

dimensión, tiene la siguiente estructura:

p0 x( ) = 1p1 x( ) = x

p2 x( ) = 3x2 −1( )2

pk+1 x( ) = 2k +1( ) ⋅ x ⋅ pk x( ) − k ⋅ pk−1 x( )⎡⎣ ⎤⎦k +1( )

Siempre definidos en el intervalo [-1,1] de la cuadratura de Gauss.

Los polinomios de Legendre se explicarán más adelante, pero a modo de ejemplo,

se añaden a continuación los primeros órdenes para que se puedan entender en

una dimensión:

Página 71 de 115

Figura 31: Representación de los polinomios de Legendre de orden 1 a orden 8

Para los puntos de Gauss se tomarán los ceros tan solo del polinomio de orden N

modificado para el problema en particular de la ecuación de transporte puro.

Como ejemplo, en la figura 32 se observa la distribución de los puntos de Gauss

para el caso de N=7 en un cuadrado de dimensiones [-1,1]x[-1,1]

Puntos de Gauss

-1,143

-0,857

-0,571

-0,286

0

0,286

0,571

0,857

-1,143 -0,714 -0,286 0 0,286 0,571 0,857

Situación geométrica de los puntos de Gauss en 2D

Figura 32: Distribución de los puntos de Gauss en 2D para N=7

Página 72 de 115

Se puede comprobar que los valores de x y de y de la cuadrícula que termina

siendo la distribución 2D, provienen de los ceros del polinomio de Legendre de

orden 7. Este hecho se aprecia en la figura 33 donde se pueden ver los ceros de

dicho polinomio.

Figura 33: Polinomio de Legendre de orden 7 (N=7)

Tras calcular los puntos de Gauss para un elemento cuadrado, hemos de recordar

que donde se necesita conocer la distribución de los puntos de Gauss es en el

triángulo de referencia, ya que será en este donde se realice la aproximación.

Página 73 de 115

4.4. Matriz de masa de el espacio de los polinomios de Legendre

La parte matemática se explicará en el apartado de fundamentos matemáticos de

este mismo documento (capítulo 5) . Aquí se explica brevemente el

funcionamiento del programa para generar dicha matriz.

La subrutina en cuestión tiene dos funciones principales:

1) Formar los polinomios de Legendre para todos los órdenes iguales o inferiores

al fijado en el programa (se puede cambiar en la programación y que el

programa haga los cambios en los vectores pertinentes).

2) Formar la matriz de 2D a través del producto tensorial de los polinomios en las

combinaciones que se consideran adecuadas para el método.

La matriz de masa, es, el equivalente a la aplicación lineal del método de

interpolación lagrangiano. Su función es la de proyectar sobre el espacio de los

polinomios de Legendre, la función, o lo que es lo mismo, generar la

aproximación en dicho espacio a través de los valores conocidos de la función real

en los puntos de Gauss.

Matemáticamente, la matriz relaciona los coeficientes de Legendre con el valor de

la función en un punto. Esta matriz depende de las coordenadas del punto, con lo

que la ecuación queda de la siguiente manera:

f x, y( ) = f x, y( )i=1

n

∑ M ⋅ f = b

Donde f x, y( ) es el valor de la función aproximada, M = φ es la matriz de

masa, f es el valor en el espacio real e los puntos conocidos, y b es lo que se

denomina Right hand side (rhs). Este rhs, no es otro que el vector que contiene los

Página 74 de 115

coeficientes de Legendre. Estos coeficientes son la proyección sobre el espacio de

los polinomios de Legendre de la aproximación de la función, con lo que para

aproximar el valor de la función en un punto dado, se ha de invertir el proceso, es

decir, partiendo del valor de b se obtiene f

De este modo, el problema inverso queda de la siguiente manera:

f = M −1 ⋅b

De esta forma si extendemos la ecuación tenemos:

f1

f n

⎜⎜⎜

⎟⎟⎟=

m11 … m1n

mn1 mnn

⎜⎜

⎟⎟

−1

⋅b1

bn

⎜⎜

⎟⎟

4.5. Proyección del espacio Real al espacio de los polinomios de Legendre: La

subrutina “fromPhys2Leg”

Como su propio nombre indica, la utilidad de esta subrutina es la de “proyectar”

en el espacio de los polinomios de Legendre la función que se desea aproximar.

Lo que se consigue con este método es pasar de una función definida en puntos

(los puntos de Gauss en nuestro caso) a una función definida por coeficientes

válida para cualquier punto de el espacio del problema.

Página 75 de 115

La difusión matemática que se da en la ecuación de transporte puro ocurre

precisamente porque la función está discretizada en el dominio. Además el

transporte implica que en un punto de Gauss en el instante de tiempo tn+1 se

tengan que aproximar su valor a partir de los valores conocidos en el instante de

tiempo tn que no son otros más que los valores de la función en los puntos de

Gauss en el instante de tiempo

Así como con la interpolación Lagrangiana los coeficientes de Lagrange son los

mismos valores de la aproximación en los nodos (que coincide con el valor

aproximado anterior), en el caso de los polinomios de Legendre no es así.

Los coeficientes que se usan, son los que anteriormente hemos denominado rhs,

que a efectos prácticos son el vector b de las ecuaciones antes descritas.

Partiendo de la malla de puntos de Gauss y de la matriz de masa, la subrutina

calcula la ecuación:

M ⋅ f = b

Donde la salida de la ecuación es el vector b de los coeficientes de Legendre. Para

ello, como se ha explicado anteriormente, parte de la matriz de masas (aplicación

lineal del espacio real al de los polinomios de Legendre) y los valores de la

función en los puntos de Gauss.

Página 76 de 115

Al igual que en el caso de Lagrange, esto se lleva a cabo en coordenadas locales,

de forma que los polinomios de Legendre sean siempre los mismos, que además

resultan ser los definidos en el intervalo [-1,1].

Una vez terminado este proceso, los coeficientes f contienen información para

aproximar cualquier punto en el dominio de la función.

f1

f n

⎜⎜⎜

⎟⎟⎟= Coeficientes de Legendre

4.6. Proyección del espacio de los polinomios de Legendre al espacio Real: La

subrutina “fromLeg2Phys”

Esta subrutina es la segunda parte de la transformación. En esta, se recupera el

valor de la función en el instante de tiempo tn en los pies de las características,

para asignar su valor a los puntos de Gauss del instante de tiempo tn+1 .

La peculiaridad de la subrutina reside en el hecho de que los puntos en los que se

quiere calcular el valor de la función no son puntos conocidos, sino previamente

calculados en la función feetcalc encargada de la búsqueda de los pies de las

características.

Página 77 de 115

Como entradas toma los valores de los pies de las características pero en

coordenadas locales del triángulo de referencia junto con el elemento en el que se

encuentre el pie de la característica.

El primer paso es pasar estas coordenadas a las coordenadas que usa el método de

los polinomios de Legendre, que es el cuadrado de referencia que va de

[-1,1]x[-1,1], en el que se basa también la generación de los puntos de Gauss,

aunque estos luego se reduzcan a la forma triangular debido a la estructura de la

malla que nos interesa emplear.

Una vez se cambian las coordenadas a este entorno, con los coeficientes de

Legendre, la matriz de masa y las coordenadas locales del pie de característica se

calcula el valor aproximado de la función en ese punto, para “transportarlo al

punto de Gauss en el instante de tiempo tn+1 .

Página 78 de 115

como resultado, la estructura de todo el programa es a siguiente:

Figura 34: Esquema general del programa de alto orden

Página 79 de 115

5. Métodos matemáticos de aproximación

empleados:

5.1. Introducción:

La finalidad de este proyecto consiste en estudiar si empleando el método de los

polinomios de Legendre se mejora la calidad de los datos aproximados en la

resolución de la ecuación de transporte puro. Una vez se haya comprobado, estos

resultados serán aplicables a otros problemas, como puede ser la ecuación de

Navier-Stokes, que es para la que se realiza este estudio.

Los métodos empleados son dos: el primero es el método de interpolación

Lagrangiano, y el segundo el el método modal de los polinomios de Legendre.

Ambos son muy distintos el uno del otro, y como se aprecia en los apartados que

hablan de cada uno de los dos programas, necesitan sus propias variables de inicio

y sus propias estructuras.

El método que se ha venido usando típicamente en la resolución de este tipo de

problemas de elementos finitos ha sido el de la interpolación de Lagrange, motivo

por el cual, los resultados del presente documento hablarán de las precisiones

comparadas de ambos métodos con el fin de determinar si el método de los

polinomios de Legendre, es mejor y tiene menor difusión numérica que el de el

método de interpolación de Lagrange.

Página 80 de 115

La diferencia fundamental entre los dos métodos es que uno usa un tipo de

interpolación denominado nodal y el otro una interpolación modal.

Una interpolación nodal, consiste en el cálculo de unos coeficientes que

multiplicados por los polinomios de Lagrange hacen que la función tenga el valor

de la función a interpolar en el nodo de cada función, y cero en el resto.

Por otro lado, una interpolación modal, es algo similar a los desarrollos en serie

de Fourier, que representan la base de un espacio formado por dichos polinomios.

En el caso de Legendre, los polinomios son base, con la ventaja de ser

polinómicos y por lo tanto de computación más rápida, que es uno de los

objetivos de este proyecto: la velocidad de computación. Esto implica que el valor

de la función en los nodos una vez se ha aproximado, no tiene porqué tomar el

valor de la función en los puntos que se toman para calcular la aproximación de

todo el espacio donde se encuentra la solución.

En la figura 38, podemos ver el caso de la interpolación de Lagrange para una

función de Gauss, en la que se ve que el polinomio correspondiente a cada nodo

toma el valor de la función para el valor del punto y cero para el resto de los

puntos usados.

Página 81 de 115

Figura 35: Suma de polinomios de Lagrange

En la figura 35 vemos hasta seis funciones de las cuales, la aproximación final es

la de color azul, mientras que el resto son los polinomios correspondientes a cada

uno de los puntos de la aproximación.

Se puede observar que todas las funciones asociadas a cada nodo toman el valor

de la aproximación final en dicho punto, y cero en el resto. Estos valores

coinciden a su vez con el valor de la función aproximada. En este caso la campana

de Gauss. Más adelante se explicará en detalle este fenómeno.

y = e− x2

En el caso de los polinomios de Legendre, los coeficientes no tienen como

significado el valor de la función en dicho punto, y de hecho el valor en los puntos

empleados para la aproximación no tiene porqué coincidir con los valores de la

función que se intenta aproximar.

Otra de las ventajas de los polinomios de Legendre es la ortogonalidad de sus

polinomios. Este hecho permite que su matriz de masas sea casi diagonal.

Página 82 de 115

Su aproximación en tanto que es modal, representa la suma de unas funciones

multiplicados por unos coeficientes que al sumarlas, producen la aproximación. A

diferencia del método Lagrangiano, estos coeficientes no tienen un significado

físico directamente sino simplemente el de ser los coeficientes o pesos de los

polinomios que se suman. El resto de detalles se explicarán más adelante.

Como se ha podido ver en los párrafos anteriores, ambos son métodos que

convierten una realidad conocida en puntos discretos, en una aproximación válida

para todo el espacio en estudio. Es decir. a través del conocimiento del valor de

una función en algunos puntos, se pretende conocer lo que sucede en sus

alrededores.

Los polinomios de Legendre, al igual que las series de Fourier, permiten hallar

solución a problemas de Sturm-Liouville, con lo que como ya se ha dicho antes,

su aproximación no es individual sumada, sino global en el dominio de estudio.

Una vez vistas a priori las principales diferencias entre los dos métodos, nos

disponemos a describirlos para luego entender mejor su funcionamiento y que se

puede esperar de la comparación entre ambos.

Página 83 de 115

5.2. Método de interpolación de Lagrange:

5.2.1. Introducción a los polinomios de Lagrange:

Los polinomios de Lagrange son una variedad algebraica definida en función de

un determinado número de nodos. Habrá tantos polinomios de Lagrange como

nodos usemos para la construcción de dichos polinomios.

Por la definición de Lagrange, estos polinomios tendrán un orden de P-1 siendo P

el número de nodos, o puntos conocidos que se usan para calcularlos.

La forma canónica, o de definición de los polinomios de Lagrange es la siguiente:

Como se puede observar por la estructura de la fórmula, es una función en la que

para los distintos valores de Xi la función vale 0, excepto para el caso en el que

i = q en el que el valor de este polinomio es 1.

Al crear polinomios con esta estructura, lo que conseguimos es que cada

polinomio tenga como valor en el nodo al que corresponde, valor unidad. Para

cualquier otro nodo, toma el valor cero.

Página 84 de 115

En el código, para que estos polinomios sean siempre los mismos y no haya que

calcular dichos polinomios para cada elemento, se usan las coordenadas locales

mencionadas en el capítulo 3.

En nuestro caso se han empleado elementos cuadráticos, lo que implica que por

cada linea divisoria entre elementos hay tres nodos. Los dos primeros, son los de

la malla lineal, que serían las esquinas de los triángulos de la malla (podrían ser

cuadrados, pero el estudio se lleva a cabo con mallas formadas por elementos

triangulares). El último punto, se encuentra en la mediatriz de el lado del triángulo

entre los dos nodos, lo que hace que la interpolación sea cuadrática, es decir, de

orden 2.

La interpolación que se lleva a cabo por este método es de orden 2 ya que para el

problema 1D, que sería una recta, o como en este caso un segmento, el número de

puntos P es 3, y como se expuso anteriormente, el orden de los polinomios de

Lagrange, es P-1 que en este caso es 2.

5.2.2. Interpolación polinómica de Lagrange 1D:

La finalidad de este tipo de aproximación, es que la superficie cubierta por el

elemento quede acotada y aproximada a través de la suma de los polinomios de

Lagrange propios de cada nodo del elemento.

Página 85 de 115

Si lo que queremos es hallar el valor de un punto cualquiera que se encuentre en

este dominio, lo que debemos hacer es sustituir en cada uno de los polinomios el

valor de la coordenada x. Sustituyendo las coordenadas, en este caso coordenada

del punto a calcular en cada uno de los polinomios de cada nodo, y sumando

después, obtenemos el valor aproximado de la función en dicho punto.

En la figura 36 se muestra una función, unos nodos, y su aproximación formada

por los polinomios de Lagrange para una dimensión.

Figura 36: Aproximación de Lagrange frente a función aproximada

Como podemos ver, la aproximación es mejor cuanto mas cerca del centro del

dominio aproximado nos encontramos.

Para ver la procedencia de la aproximación, hemos de remontarnos a la aplicación

del cálculo de los polinomios de Lagrange para el ejemplo. De este modo

podremos comprender mejor la figura 39.

Página 86 de 115

En este caso la función a aproximar es una campana de Gauss de altura h=1, con

lo que su función será:

y = e− x2

y su representación la podemos ver en la figura 40.

Figura 37: Campana de Gauss a aproximar

Partimos de un conjunto de puntos de valor conocido de la función, que en este

caso se definen en la figura 38:

Número de Punto x f(x,y)1 0 12 1 1/e3 -1 1/e4 2 1/(e^4)5 -2 1/(e^4)

Tabla 38: Nodos de la aproximación

Por otro lado, se aprecia el ya comentado hecho de que el valor de la función

coincide con el de la aproximación en los nodos tomados para realizar la

aproximación.

Página 87 de 115

Como los nodos que se toman en nuestro problema son exteriores, y lo que

tratamos de aproximar son los puntos interiores de los elementos, esta

aproximación nos es válida. Además, el orden que se empleará será siempre

cuadrático, lo que quiere decir que el número P de nodos será 3, y el orden de los

polinomios será 2. Más adelante se explicará el caso 2D para que se entienda

mejor este principio.

5.2.3. Interpolación de Lagrange en 2D. Resolución para el caso particular de

triángulos cuadráticos:

En el caso particular de el programa de la resolución de la ecuación de transporte

puro, se ha de realizar una interpolación en 2 dimensiones en elementos

triangulares cuadráticos que previamente se pasan a coordenadas locales para

realizar una mejor aproximación.

Se incluirán los algoritmos usados en la programación a modo de explicación de

lo desarrollado en el proyecto.

Las condiciones que cumplen los polinomios de Lagrange para cada nodo siguen

siendo las mismas que para una sola dimensión, pero aplicada a dos dimensiones.

El valor del polinomio en las coordenadas del nodo al que pertenece un

determinado polinomio de Lagrange es el de la función a aproximar, mientras que

el valor del polinomio en el resto de nodos del elemento vale cero.

Página 88 de 115

expresado matemáticamente sería:

Lq (xq , yq ) = f (xq , yq )Lq (x≠q , y≠q ) = 0

Siendo el resultado de la aproximación la suma de todos los polinomios (uno por

nodo) de la siguiente manera:

faprox (x, y) = ci ⋅ Li (x, y)i=1

P

Esto a nivel de programa se ve representado por una subrutina que, conociendo de

antemano el polinomio, y con la coordenada x y la coordenada y del punto que se

está aproximando genera el valor de la función de Lagrange para luego

multiplicarlo por el coeficiente, que será el valor de la función en el punto en este

caso.

La estructura de cálculo de pesos, que son los valores de los polinomios una vez

sustituidos x e y, se calcula en coordenadas locales con la siguiente estructura:

Página 89 de 115

Figura 39: Subrutina de Interpolación Lagrangiana

Figura 40: Asignación de los pesos de los coeficientes

Como se puede ver en la Figura 39, al final el valor aproximado de la función en

el punto (ftransf%cont()) se calcula como la suma (o el valor acumulado) del

producto entre el valor de la función en el instante anterior de los nodos

(fsintransf%cont()) y los valores H.

Página 90 de 115

Estos valores H vienen definidos por la figura 40, y lo que en realidad están

haciendo es proporcionar la matriz de aplicación lineal de un espacio a otro, pero

con la diferencia de que en este caso el valor siempre es el mismo y solo depende

de las coordenadas locales del punto que se esté tratando de aproximar.

La estructura al final queda descrita de la siguiente forma:

f(x, y) = fi ⋅Hi (xi , yi )i=1

nodperel

Donde Nodperel, es el número de nodos que tiene cada elemento, fi es el valor de

la función en el nodo i del elemento, y H es el peso.

5.3. Método modal de los polinomios de Legendre:

Como ya se ha explicado anteriormente, el método de los polinomios de Legendre

es un método de aproximación modal.

Para una aproximación con polinomios de orden P, al contrario que Lagrange, el

método de Legendre usa polinomios de orden creciente.

Página 91 de 115

Al contrario que e método de interpolación lagrangiano, los coeficientes de

Legendre no tienen un significado físico, sino que simplemente representan la

proyección del espacio real sobre el espacio de los polinomios de Legendre.

En la figura 41 se incluyen los polinomios de Legendre de orden menor o igual a

6.

Figura 41: Polinomios de Legendre

En este caso están ligeramente modificados con resptecto a los polinomios de

Legendre primarios, pero la base es la misma y conserva sus propiedades de

ortogonalidad, simetría y antisimetría.

Los polinomios de Legendre desde orden 1 hasta orden 6 son los descritos a

continuación.

Página 92 de 115

Figura 42: Primeros polinomios de Legenre

En este caso se pone un ejemplo 2D salido del programa preliminar de los

polinomios de Legendre. Aunque el método es más complicado, al final, consiste

en proyectar un espacio sobre otro siguiendo unas determinadas normas para

conseguir aproximar el problema.

La función a aproximar será una Campana de Gauss de la siguiente forma:

z x, y( ) = e−

x−0.36( )2 + y−0.5( )2

0.082⎛

⎝⎜⎜

⎠⎟⎟

y su representación gráfica es de la forma expresada en la figura 43.

Figura 43: Campana de gauss dibujada para su posterior aproximación.

Página 93 de 115

Por otro lado la función ya aproximada tiene el siguiente aspecto:

Figura 44: Aproximación de la campana de Gauss de orden 4 por Legendre

La aproximación para el orden de los polinomios tomado, es muy buena, y el error

cometido es menor al 1%, dato, que de partida es muy bueno.

Una vez explicados los dos métodos y sus diferencias así como sus desventajas

solo falta la comprobación de los métodos ante un mismo problema y una misma

variable.

En los siguientes capítulos se describirán los resultados obtenidos y se contrastará

el método de los polinomios de Legendre con el de Lagrange.

Página 94 de 115

6. Comparación de los dos métodos en estudio:

6.1. Datos tomados para la comparación:

Para llevar a cabo el estudio comparativo de los dos métodos, se han fijado una

serie de variables de tal forma que el único factor que influya en los resultados sea

el método de aproximación usado. Estos datos, son los descritos en la figura 47,

en los que como se puede apreciar, prácticamente la única diferencia es el método

empleado.

DATOS USADOSTipo de Aproximación usado Lagrange LegendreVelocidad angular del campo de velocidades 3,64E-05 3,64E-05Incremento de tiempo entre pasos 1800 1800Número de pasos dados 96 192iteraciones en búsqueda del pie de las cara 100 25

Número de nodos de la malla 5129 1316Número de elementos de la malla 2498 2498Orden de la aproximación 2 4,5,6

Figura 45: Datos empleados en los dos programas

La malla empleada en los dos casos es la misma.

Figura 46: Malla empleada en la comparación

Página 95 de 115

La malla de la figura 48 esta definida por tener una distancia media entre nodos de

0.03 unidades, sobre una malla de lado unidad. La diferencia de nodos entre los

dos casos es debido a que en el caso de Lagrange, el programa usa una

aproximación cuadráticas, mientras que en el caso de Legendre se usan mallas

lineales, que dentro del programa se convierten en mallas de alto orden.

A parte de los datos del problema, es necesario también conocer los datos de la

función transportada, que no es otra que la que se usó para aproximar como

ejemplo en la figura 45, y su ecuación es la siguiente:

z x, y( ) = e−

x−0.36( )2 + y−0.5( )2

0.082⎛

⎝⎜⎜

⎠⎟⎟

y su forma es la anteriormente descrita en la misma figura:

Figura 47: Función a transportar

Página 96 de 115

Una vez que tenemos todos los datos iniciales del problema, procedemos al

estudio de las dos soluciones para más adelante compararlas y sacar conclusiones

sobre los métodos empleados.

6.2. Resultados obtenidos para el caso de Lagrange:

Los datos que se van a comparar más adelante son el valor máximo de la función

en cada instante de tiempo, y a de modo menos exacto, la conservación de la

forma de la función.

Se compararán datos con la misma distancia recorrida, comparando después como

varía de un programa a otro.

En la figura 49 podemos ver una tabla de los datos recogidos para este estudio.

Tiempo Step Valor Pico0 0 0,96437

0,5 10 0,890811 20 0,86486

1,5 30 0,836072 40 0,83255

2,5 50 0,8283 60 0,80977

3,5 70 0,802934 80 0,80218

4,5 90 0,794255 100 0,78416

5,5 110 0,771136 120 0,76316

6,5 130 0,767237 140 0,75201

7,5 150 0,748488 160 0,74528

8,5 170 0,74389 180 0,72617

9,5 190 0,72905Figura 48: Tabla de los datos del método de Lagrange

Página 97 de 115

En las imágenes de las siguientes figuras (49 a 57) podemos ver las imágenes que

se comparará en cuanto a forma.

Figura 49: Momento Inicial

Página 98 de 115

Figura 50: t=1 α=35º

Figura 51: t=2.5 α=93,75º

Página 99 de 115

Figura 52: t=3.5 α=131º

Figura 53: t=5 α=187,5º

Página 100 de 115

Figura 54: t=6 α=225º

Figura 55: t=7.5 α=281,5º

Página 101 de 115

Figura 56: t=8.5 α=319º

Figura 57: t=9.5 α=360º

Página 102 de 115

6.3. Resultados obtenidos para el caso de Legendre:

Los resultados obtenidos para el caso del método de aproximación de los

polinomios de Legendre en forma del valor máximo de la función son los

siguientes:

Tiempo Step Valor Pico0,05 1 1,00446

0,5 10 1,0040171 20 1,002086

1,5 30 0,9952922 40 0,99841

2,5 50 1,006333 60 0,9956201

3,5 70 1,00464 80 0,98357

4,5 90 0,976175 100 0,97908

5,5 110 0,969376 120 0,94744

6,5 130 0,976247 140 0,95084

7,5 150 0,933498 160 0,93376

8,5 170 0,950289 180 0,93609

9,5 190 0,94165

Figura 58:Tabla de los datos del método de Legendre

Página 103 de 115

La primera apreciación que hacemos es que en la figura 58 los datos no tienen

porqué ser uniformemente decrecientes, y esto es debido a que con el método de

Legendre no tiene porqué ser así.

Para comparar las formas, se han tomado los siguientes momentos de tiempo:

Figura 59: t=0

Página 104 de 115

Figura 60: t= 1

Figura 61: t=2.5 α=93,75º

Página 105 de 115

Figura 62: t=3.5 α=131º

Figura 63: t=5 α=187,5º

Página 106 de 115

Figura 64: t=6 α=225º

Figura 65: t=7.5 α=281,5º

Página 107 de 115

Figura 66: t=8.5 α=319º

Figura 67: t=9.5 α=360º

Página 108 de 115

Aunque las figuras 60 a 68, están tomadas con un programa distinto (Tecplot) al

posprocesador GID debido a que la malla es de alto orden, la visualización de los

resultados es similar.

Como se puede observan en estas figuras, la conservación de la forma de la

función es muy clara, sin prácticamente variar desde el principio.

6.4. Comparación de los dos métodos:

En la Gráfica de la figura 69 podemos apreciar la variación de los valores de pico

de la Gaussiana en estudio a lo largo de una vuelta.

Figura 68: Comparación entre los dos métodos: Lagrange vs Legendre p=4

Una vez visto que el resultado de las aproximaciones es mucho mejor si se emplea

el método de los polinomios de Legendre, se hace una comparación entre los

diferentes ordenes de los polinomios a usar.

Página 109 de 115

En este proyecto, y por la limitada capacidad computacional, se han comparado

únicamente para orden 4, 5 y 6. Tanto para la aproximación de una función de

Gauss, como para el caso de un cono.

La malla usada para esta comparación es de una distancia entre nodos de 0.08

unidades, debido a que esta distancia es la menor que ha sido posible

computacionalmente, para obtener resultados para p=6.

Todos los parámetros son normalizados, y los resultados se justifican en el

programa desarrollado con este fin.

El estudio comparativo realizado entre los distintos órdenes de aproximación, se

puede apreciar en las figuras 70 y 71, donde están representados en forma de

gráfica los valores máximos, en primer lugar del cono y, por último, de la función

de Gauss, ambos en función del ángulo girado con respecto al eje de rotación.

Figura 69: Comparación de los diferentes ordenes de aproximación para un cono

Página 110 de 115

Figura 70: Comparación de los diferentes ordenes de aproximación para una campana de Gauss

Como se puede apreciar en estas figuras, aunque hay fluctuaciones durante el

ensayo, finalmente, la aproximación mejora al aumentar el orden de los

polinomios.

Cabe destacar que la mejora obtenida por la modificación del orden polinómico

del método de los polinomios de Legendre es significativamente menor que la

obtenida al sustituir el método Lagrangiano por el método de los polinomios de

Legendre.

Página 111 de 115

Figura 71: Comparación de orden de interpolación para el cono

Aproximación de Cono:

Valor máximo final

p=6 0,538879

Página 112 de 115

Figura 72: Comparación de orden de interpolación para campana de Gauss

Aproximación de Cono:

Valor máximo final

p=4 0,629119

p=5 0,793500

p=6 0,906894

Página 113 de 115

Bibliografía:

• [GARC02] Mecánica de Fluidos: Antecedentes y actualidad. Universidad

Politécnica de Yucatán Jorge García Sosa, Armando Morales Burgos y Eduardo

José Escalante Triay 2002

• [PRESS02] PRESSMAN, R. S.: Ingeniería del software, un enfoque práctico.

McGraw- Hill. 2002.

• [ALLI00] ALLIEVI, A. y BERMEJO, R.: Finite Element modified method of

characteristicfortheNavier-Stokesequations. International journal of numerical

methods in fluids. 2000.

• [ALLI97] ALLIEVI, A. y BERMEJO, R: A Generalized Particle Search-Locate

Algorithm for Arbitrary Grids. Journal of Computational Physics. 1997.

• [RODR02] Creación de un túnel de viento virtual. Alejandro Rodriguez Gallego

2002.

• [ANTA97] ANTANOVSKII, L. K. A. R., H. Long - wave peristaltic transport of

a compressible viscous fluid in a finite pipe subject to a time - dependent

pressure drop. Fluid Dynamics

• [SCHL79] SCHLICHTING, H. Teoría de la Capa Límite. 1979

Página 114 de 115

• [SACE02] SACERDOTI, J. Univ. politécnica de Buenos Aires. Polinomios y

funciones de Legendre. 2002

• [WINK02] WINKELMAN G.S. Vortex methods for direct numerical simulation

of three-dimensional bluff body flows. Journal of computational physics.

• [GARC99] Fortran 90 Félix García Merallo.1999

Página 115 de 115