Comparacion Metodos Mdf Mef Mvf

87
METODOS FINITOS JOSE FERNANDO BOSCH MORENO Trabajo de grado para optar al título de: Especialista en Modelación, Simulación, y Optimización de Sistemas Director WHADY FELIPE FLORES ESCOBAR Ph.D Mecánica Computacional UNIVERSIDAD PONTIFICIA BOLIVARIANA INSTITUTO DE ENERGIA Y TERMODINAMICA MEDELLIN 2006

Transcript of Comparacion Metodos Mdf Mef Mvf

Page 1: Comparacion Metodos Mdf Mef Mvf

METODOS FINITOS

JOSE FERNANDO BOSCH MORENO

Trabajo de grado para optar al título de: Especialista en Modelación, Simulación,

y Optimización de Sistemas

Director WHADY FELIPE FLORES ESCOBAR

Ph.D Mecánica Computacional

UNIVERSIDAD PONTIFICIA BOLIVARIANA INSTITUTO DE ENERGIA Y TERMODINAMICA

MEDELLIN 2006

Page 2: Comparacion Metodos Mdf Mef Mvf

CONTENIDO

1 INTRODUCCION .......................................................................................................... 4 2 ANTECEDENTES ................................ ................................ ................................ ......... 5 3 CONCEPTOS ............................................................................................................... 7 3.1 FUNDAMENTOS MATEMÁTICOS ................................ ................................ ................. 7 3.1.1 Operadores ................................................................................................................... 7 3.1.2 Series de Taylor. ........................................................................................................... 7 3.1.3 Teoremas de Green e Integración por partes. ................................ ................................ . 8 3.1.4 Integración Gaussiana. .................................................................................................. 9 3.2 CONCEPTOS FÍSICOS................................ ................................ ................................10 3.2.1 Propiedades específicas ...............................................................................................10 3.2.2 Flujo ............................................................................................................................11 3.3 FUNCIONES DE FORMA E INTERPOLACIÓN ..............................................................12 3.3.1 Interpolación lineal ................................ ................................ ................................ ........13 3.3.2 Interpolación lineal bidimensional ..................................................................................14 3.4 MÉTODO DE GALERKIN. ............................................................................................16 3.5 ECUACIONES DE LAPLACE Y POISSON .....................................................................17 4 MÉTODOS FINITOS ....................................................................................................19 4.1 PROBLEMA DE TRABAJO...........................................................................................21 4.2 DIFERENCIAS FINITAS ...............................................................................................22 4.2.1 Formulación .................................................................................................................22 4.2.2 Aplicación. ...................................................................................................................25 4.2.3 Programación ...............................................................................................................27 4.3 VOLÚMENES FINITOS ................................ ................................ ................................29 4.3.1 Formulación .................................................................................................................29 4.3.2 Aplicación ....................................................................................................................30 4.3.3 Programación ...............................................................................................................32 4.4 ELEMENTOS FINITOS.................................................................................................34 4.4.1 Formulación .................................................................................................................34 4.4.2 Aplicación ....................................................................................................................40 4.4.3 Programación ...............................................................................................................43 4.5 ELEMENTOS DE FRONTERA ......................................................................................46 4.5.1 Formulación .................................................................................................................46 4.5.2 Aplicación ....................................................................................................................57 4.5.3 Programación ...............................................................................................................61 4.6 SOLUCION MEDIANTE SOFTWARE DE ELEMENTOS FINITOS ANSYS 8.0.................74 4.7 RESULTADO COMPARATIVO .....................................................................................76 5 ESTRUCTURA DEL PROGRAMA.................................................................................79 5.1 ESQUEMA GENERAL..................................................................................................79 5.2 MODULO GLOBALES ..................................................................................................80 5.3 MODULO LECTURAS ..................................................................................................80 5.4 MODULO PRINCIPAL..................................................................................................82 5.5 MODULO RUTINAS .....................................................................................................83 6 CONCLUSIONES.........................................................................................................84 7 BIBLIOGRAFIA ............................................................................................................87

Page 3: Comparacion Metodos Mdf Mef Mvf

LISTA DE FIGURAS

Figura 1. Interpolación lineal. ..........................................................................................13 Figura 2. Interpolación lineal bidimensional. ................................................................14 Figura 3. Problema de trabajo........................................................................................21 Figura 4. División del dominio en diferencias finitas. ..................................................25 Figura 5. Sistema matricial para diferencias finitas.....................................................27 Figura 6. Convención para los nodos............................................................................30 Figura 7. División del dominio en volúmenes finitos. ..................................................30 Figura 8. Sistema matricial para volúmenes finitos.....................................................32 Figura 9. Elemento finito triangular................................................................................39 Figura 10. División del dominio en elementos finitos..................................................40 Figura 11. Matrices locales de rigidez para cada elemento ......................................42 Figura 12. Matriz de rigidez global.................................................................................42 Figura 13. Dominio, frontera y condiciones. .................................................................47 Figura 14. Valores para la constante C i. .......................................................................49 Figura 15. Puntos para la función radial. ......................................................................51 Figura 16. Fronteras y división dominio triangular .....................................................57 Figura 17. División dominio para elementos de frontera............................................59 Figura 18. Flujos de calor y potencial alrededor de un nodo.....................................62 Figura 19. Malla empleada.............................................................................................74 Figura 20. Distribución de nodos clave para lectura de resultados..........................75 Figura 21. Temperaturas.................................................................................................75 Figura 22. Resultado por el método de elementos finitos..........................................77 Figura 23. Resultado por el método de elementos de frontera.................................78 Figura 24. Estructura del programa. ..............................................................................79

Page 4: Comparacion Metodos Mdf Mef Mvf

1 INTRODUCCION

En la solución de problemas de ingeniería se utilizan técnicas de modelación,

simulación y optimización de sistemas mediante la aplicación de métodos

numéricos en programas de computador. Los métodos numéricos para la

modelación y simulación de sistemas físicos que se tratan en este trabajo son

diferencias finitas (FDM), volúmenes finitos (FVM), elementos finitos (FEM) y

elementos de frontera (BEM).

En este trabajo se pretende implementar un programa de computador para cada

uno de los métodos mencionados y resolver un mismo problema con cada uno de

los métodos. Este trabajo permitirá entender el proceso de formulación de cada

método, como se aplica a un problema especifico y como se puede programar en

un lenguaje de computador.

Aunque en la formulación de los distintos métodos se mostrarán sus fundamentos

matemáticos básicos, no se pretende realizar un análisis matemático completo el

cual incluiría solución analítica, análisis de error y de convergencia. Para el autor,

el propósito de este trabajo esta en entender cada método, sus fundamentos,

similitudes, diferencias, aplicación y forma de programación.

Page 5: Comparacion Metodos Mdf Mef Mvf

2 ANTECEDENTES

A continuación se reseñan algunos hechos importantes en la historia de los métodos

finitos.

Leonhard Euler (1707-1783) desarrolla un método de diferencias finitas conocido como

método de Euler para hallar la solución aproximada de ecuaciones diferenciales. Sentó

las bases del calculo variacional inventado por los hermanos Bernoulli.

George Green (1793-1841), en 1828 publicó An Essay on the Application of Mathematical

Análisis to the Theories of Electricity and Magnetism . En este ensayo se presenta por

primera vez la expresión “función de potencial” y se presentan las tres identidades del

Teorema de Green, el cual fue utilizado inicialmente para resolver problemas de

electroestática y magnetismo de forma tan exitosa que su uso se extendió para resolver

muchos otros problemas físicos en las áreas de la acústica, elasticidad, dilatación y otras.

Carl Friedrich Gauss (1777-1855), a la edad de 22 años publicó su tesis doctoral

“Fundamental Theorem of Álgebra”, inventó el método de los mínimos cuadrados y lo

utilizó para calcular las orbitas de los planetas. Hizo aportes en la teoría matemática,

electromagnética, óptica, probabilidad, astronomía y geofísica.

Boris Grigorievich Galerkin (1871-1945), desarrolló un Método para realizar

integraciones aproximadas de ecuaciones diferenciales, el cual es conocido como Método

de Galerkin. En 1915 publicó su método del elemento finito basado en el Método de

Galerkin.

Lord Rayleigh (1842 – 1919), Walter Ritz (1879 – 1909) establecieron la aplicación del

método variacional conocido como método Rayleigh-Ritz a problemas de sólidos

elásticos.

Page 6: Comparacion Metodos Mdf Mef Mvf

A partir de 1940 numerosos investigadores realizan aportes que llevan al desarrollo y uso

difundido del método de los elementos finitos. Hrennikoff en 1941 utilizó el método de

trabajo del marco para solucionar problemas de elasticidad. Courant publicó un artículo

en 1943 donde utiliza la interpolación lineal por partes sobre regiones triangulares para

modelar problemas de torsión. En 1955, Argyris presenta teoremas de energía y métodos

matriciales que permiten expandir la teoría del elemento finito. En 1956, Turner y otros

investigadores obtuvieron matrices de rigidez para armaduras y vigas. Clough retoma el

término elemento finito en 1960. En 1967, Zienkiewicz publica el primer libro sobre

elementos finitos. Alrededor de 1970 se inicio su aplicación a modelos no lineales, se

afianzaron sus bases matemáticas y estudios de convergencia.

Carlos Alberto Brebbia (1948-). El término “Boundary Element” surgió en 1977 al ser

utilizado por simultáneamente por varios autores en la universidad de Southampton.

Brebbia presentó el método de elementos de frontera utilizando la formulación de residuos

ponderados. Brebbia también ha publicado numerosos textos en el tema de elementos

finitos.

En el 2004, una revisión de las referencias a los métodos finitos que se encontraron en

Internet arrojo como resultado 66.237 entradas para el método de los elementos finitos

(FEM); 19.531, para el método de diferencias finitas (FDM); 10.126, para el método de

elementos de frontera (BEM); 1.695, para el método de volúmenes finitos (FVM) y 1.615

para el método de colocación (CM). Con lo cual se observa que el método de mayor

difusión es el método de los elementos finitos.

El profesor Eduard Kansa ha escrito numerosos artículos sobre la solución de

ecuaciones diferenciales mediante métodos numéricos sin grilla basados en funciones de

base radial. A la fecha continua expandiéndose las aplicaciones de los métodos finitos y

anualmente se publican numerosos artículos sobre el tema.

Page 7: Comparacion Metodos Mdf Mef Mvf

3 CONCEPTOS

3.1 FUNDAMENTOS MATEMÁTICOS

3.1.1 Operadores Gradiente

∧∧∧

∂∂

+∂∂

+∂∂

=∇ kzf

jyf

ixf

f Con f función escalar

Divergencia

zf

y

f

xf

F zyx

∂∂

+∂

∂+

∂∂

=⋅∇ Con F función vectorial

Laplaciano

2

2

2

2

2

22

zf

y

f

xf

f zyx

∂∂

+∂

∂+

∂∂

=∇ Con f función escalar

3.1.2 Series de Taylor.

Las series de Taylor son importantes en los métodos de Diferencias Finitas y de

Volúmenes Finitos. Cuando solo se toman los primeros términos de una serie de Taylor

se denominan polinomios de Taylor. Una serie de Taylor permite aproximar el valor de

una función en un punto cercano x alrededor de un punto conocido 0x mediante una

suma de términos obtenidos de la forma:

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ...!

...!3!2

)( 3'''

2''

' +−++−+−+−+= no

on

oo

oo

ooo xxn

xfxx

xfxx

xfxxxfxfxf

Page 8: Comparacion Metodos Mdf Mef Mvf

3.1.3 Teoremas de Green e Integración por partes.

Los teoremas o identidades Green permiten reducir la dimensionalidad del problema. Esto

lo hace de dos formas: La primera al permitir transformar una integral de volumen a una

de área y/o una de área a una de línea. La segunda al reducir el orden de las derivadas.

Los teoremas de Green pueden considerarse como casos de integración por partes,

puesto que una integral se descompone en integrales que deben ser más simples de

resolver. Así los teoremas de Green permiten expresar ecuaciones integro diferenciales

de forma más apropiada para su manipulación y solución utilizando métodos numéricos

y/o analíticos.

Se tiene la siguiente expresión inicial:

∫∫Ω ∂

∂dxdy

φ

Mediante la regla de integración por partes:

( ) ( ) ∫∫ −−= ==

b

aaxbx

b

avduuvuvudv

La integral interna se puede expresar de la siguiente forma:

( ) ( )∫ ∫ ∂∂

−−=∂

∂==

b

a

b

aaxbx dxx

dxx

ψφ

φψφψψ

φ

Reemplazando en la expresión inicial como se observa a continuación:

( ) ( )[ ] dydxx

dydxdyx

d

c

b

a

d

c axbx ∫ ∫∫∫∫ ∂∂

−−=∂

∂==

Ω

ψφ

φψφψψ

φ

Sea Γ el contorno o frontera del dominio Ω , para un diferencial de frontera Γd se tiene:

Γ=Γ⋅=>−∧>−

dndindy x

El término ( ) ( )[ ]∫ == −d

c axbx dyφψφψ se puede expresar como una integral de línea sobre la

frontera Γ así: ( ) ( )[ ] Γ⋅=−∧>−

Γ== ∫∫ dindy

d

c axbx φψφψφψ y la expresión general queda:

dydxx

dindxdyx

d

c

b

a∫ ∫∫∫∫ ∂∂

−Γ⋅=∂

∂ ∧>−

ΓΩ

ψφ

φψψ

φ

Page 9: Comparacion Metodos Mdf Mef Mvf

Para la variable y se tiene:

dydxy

djndxdyy

d

c

b

a∫ ∫∫∫∫ ∂∂

−Γ⋅=∂

∂ >−>−

ΓΩ

ψφ

φψψ

φ

Sumando las dos ecuaciones anteriores:

dydxyx

djnindxdyyx

d

c

b

a∫ ∫∫∫∫

∂∂+

∂∂−Γ

⋅+⋅=

∂∂+

∂∂

Γ

>−>−>−>−

Ω

ψφψφφψψφψφ

Partiendo del Teorema de la Divergencia de Gauss se puede obtener la primera identidad

o Teorema de Green y la segunda identidad o Teorema Simétrico. Sea el siguiente

Teorema de Gauss donde F es una función vectorial.

∫∫∫∫∫>−

⋅=⋅∇SV

dSnFdVF

Se toma ψφ∇=F con ψφ , funciones escalares y se aplica la propiedad de la

divergencia de un escalar por un vector:

( ) ( ) ( )ψφψφψφψφψφ 2∇+∇⋅∇=∇⋅∇+∇⋅∇=∇⋅∇

Se reemplaza en el Teorema de Gauss y se obtiene la expresión

( )( ) ( )∫∫∫∫∫>−

⋅∇=∇+∇⋅∇SV

dSndV ψφψφψφ 2

Conocida como la primera identidad de Green.

Realizando el mismo procedimiento con φψ∇=F se obtiene:

( )( ) ( )∫∫∫∫∫>−

⋅∇=∇+∇⋅∇SV

dSndV φψφψψφ 2

Se restan las dos últimas ecuaciones y se obtiene el teorema simétrico de Green.

( ) ( )( ) ( )∫∫∫∫∫>−

⋅∇−∇=∇−∇SV

dSndV φψψφφψψφ 22

3.1.4 Integración Gaussiana.

Existen varios métodos de integración numérica para calcular una integral definida de una

función. Entre estos se puede mencionar la regla trapezoidal, las reglas de Simpson y

otras, las cuales están basadas en la división del intervalo de integración en segmentos

Page 10: Comparacion Metodos Mdf Mef Mvf

iguales y el cálculo de la función en los extremos de cada segmento. Esto conduce a

expresiones conformadas por sumatorias de la evaluación de la función en distintos

puntos del intervalo ponderadas por un valor de peso. Estos métodos aún cuando son

muy fáciles de implementar en muchos casos son ineficientes.

El método de Integración utilizando cuadraturas de Gauss es similar a los anteriores

siendo a la vez eficiente y fácil de implementar. La extensión de este método a dos y tres

dimensiones se puede obtener fácilmente.

( ) ( ) ( ) ∑∫=−

=+++≅=npg

iiinn wffwfwfwdfI

12211

1

1

)(....)( ξξξξξξ

Donde:

La variable npg indica el número de puntos de Gauss.

Las variables iξ y iw representan respectivamente los puntos de Gauss y los pesos de

Gauss.

Para el caso en que se requiera integrar una función con respecto a x entre límites

generales a y bse puede emplear el cambio de variable:

( ) ( )ξξ ++−= 12

12

bax

( ) ( ) ( )( )∫∫−

−=

1

12ξξ dxf

abdxxf

b

a

Un tratamiento más profundo de este tema se puede consultar en textos de métodos

numéricos (Ver CHAPRA).

3.2 CONCEPTOS FÍSICOS En esta parte se presentan los conceptos físicos fundamentales asociados a los

problemas de ingeniería que se pretenden resolver mediante los métodos numéricos

finitos.

3.2.1 Propiedades específicas

Una propiedad especifica expresa una cantidad contenida por unidad de masa. Las

propiedades específicas también se llaman propiedades intensivas, en contraposición a

Page 11: Comparacion Metodos Mdf Mef Mvf

las propiedades extensivas, las cuales expresan la cantidad contenida total. Entre las

propiedades específicas se pueden mencionar las siguientes: volumen específico (v en

m3/Kg.), entalpía específica (h en KJ/Kg.), entropía específica (s en KJ/Kg.). Las

propiedades específicas generalmente se denotan mediante letras minúsculas.

Si se tiene una propiedad específica f para una sustancia y se multiplica por la densidad

? de la sustancia se obtiene la concentración volumétrica de la propiedad, es decir, la

cantidad contenida por unidad de volumen:

[ ]33 mkgm

kg φφρφ == Donde φ conserva sus unidades originales.

Entonces la cantidad total dada de una propiedad F se puede expresar de varias formas:

φm=Φ Para una masa m dada.

dVV∫=Φ ρφ Para un volumen dado.

3.2.2 Flujo

El flujo volumétrico consiste en el volumen que atraviesa una superficie dada en la unidad

de tiempo, sus unidades son por lo tanto metros cúbicos por segundo. Sin embargo,

cuando se refiere al flujo por unidad de área se habla de flux. El flux volumétrico es el

volumen que atraviesa una unidad de área en la unidad de tiempo. Si el volumen contiene

una propiedad, se puede calcular el flujo y el flux de esta propiedad. Para el caso

presente se consideraran el flujo volumétrico y el flujo masico.

( )( )AreaVelocidadFlujo coVolumentri =

( )( )( )AreaVelocidadDensidadFlujomasico =

( )( )( )AreaVelocidadricaiónVolumetConcentracFlujoGeneral =

( )( )( )( )AreaVelocidadDensidadFlujo opiedad φ=Pr

Page 12: Comparacion Metodos Mdf Mef Mvf

La concentración volumétrica se refiere a cualquier propiedad específica φ que sea de

interés.

Si se tiene un campo de velocidad sobre una frontera Γ el flujo sobre la frontera esta

dado por la integral:

Γ⋅=Γ= ∫∫Ω

>−

Γ

dndFlujo noVolumetric υυ

Γ= ∫Γ

dFlujo nMásico ρυ

Donde nυ es la componente normal de la velocidad sobre la frontera Γ .

Para una propiedad especifica su flujo masico esta dado por:

Γ= ∫Γ

dFlujo nMásico ρφυ

3.3 FUNCIONES DE FORMA E INTERPOLACIÓN Los métodos numéricos se refieren a las funciones de forma e interpolación en muchos

casos de forma indistinta. La diferencia entre estos términos puede ser sutil y en algunos

casos contextos pueden ser equivalentes, sin embargo, son conceptos distintos. Debido

al uso común de estas funciones en los métodos numéricos se explicará la diferencia

entre estas y se mostrará dos casos básicos. En términos de solución numérica de

ecuaciones diferenciales, se puede decir que las funciones de forma se utilizan para

aproximar la solución de la ecuación diferencial, mientras que las funciones de

interpolación se utilizan para calcular el valor de una variable entre valores conocidos.

Las funciones de forma se utilizan cuando se aproxima una función desconocida mediante

una combinación de funciones se trata de que la forma de la combinación de funciones se

asemeje a la forma de la función desconocida en un dominio dado.

Sea la función desconocida f(x) la cual será aproximada por:

( ) nnaaaxf ϕϕϕ +++= ...2211

Las funciones nϕϕϕ ,...,, 21 son llamadas funciones de forma.

Las constantes naaa ,...., 21 son constantes por determinar. La forma como se determinan

estas constantes depende del método numérico empleado, lo cual será visto más

adelante.

Page 13: Comparacion Metodos Mdf Mef Mvf

Mientras que las funciones de interpolación, son funciones que se utilizan para

determinar el valor de una variable conociendo los valores en los extremos de un dominio

en cualquier número de dimensiones. Por ejemplo, si el dominio es una línea se requiere

conocer dos valores, si el dominio es un plano se requieren al menos tres valores.

Una función de interpolación supone un comportamiento de la variable entre los extremos

del dominio. Este comportamiento se puede suponer:

a) Constante, El valor de la función en cada punto del dominio es igual al valor de un

punto conocido en el dominio.

b) Lineal, El valor de la función en cada punto del dominio varía linealmente entre los

valores conocidos de dos puntos en el dominio.

c) Polinomial. En general, se utiliza la interpolación con polinomios para determinar

los valores de la función en cualquier parte del dominio. Sin que esto quiera decir,

que no se puedan utilizar funciones de otro tipo para interpolar.

En este texto se utilizarán dos clases de interpolación. La interpolación lineal entre dos

puntos e interpolación bidimensional Isoparamétrica. La interpolación lineal entre dos

puntos se aplica en el método de elementos finitos y de elementos de frontera para

evaluar integrales de línea. La interpolación bidimensional se utiliza para calcular

integrales de dominio.

3.3.1 Interpolación lineal

Figura 1. Interpolación lineal.

Page 14: Comparacion Metodos Mdf Mef Mvf

Se utiliza un polinomio de primer grado para aproximar el comportamiento de la función U:

xaaxu 10)( +=

La función debe pasar a través de los valores de )(xu en los puntos 1x y 2x , entonces se

debe cumplir:

1101 xaau +=

2102 xaau +=

Resolviendo este sistema se obtiene:

12

12210 xx

xuxua

−−

= 12

121 xx

uua

−−

=

Sustituyendo 0a y 1a en xaaxu 10)( += se tiene:

xxxuu

xxxuxu

xu12

12

12

1221)(−−

+−−

=

Reorganizando los términos:

2211212

11

12

2

12

121221)( uNuNuxxxx

uxxxx

xxxuxuxuxu

xu +=−

−+

−−

=−

−+−=

Donde 12

21 xx

xxN

−−

= y 12

12 xx

xxN

−−

= son las funciones de interpolación.

3.3.2 Interpolación lineal bidimensional

Figura 2. Interpolación lineal bidimensional.

Page 15: Comparacion Metodos Mdf Mef Mvf

ycxccyxU 321),( ++= . En forma matricial: [ ]

=

3

2

1

1ccc

yxU

Para cada punto se debe cumplir:

131211 ycxccu ++= 232212 ycxccu ++= 333213 ycxccu ++=

Con lo cual se obtiene el sistema:

=

3

2

1

3

2

1

33

22

11

111

uuu

ccc

yxyxyx

Por lo tanto: [ ] UCX =

Resolviendo se obtiene: [ ] UXC 1−=

Dado que ( ) [ ]

=

3

2

1

1,

c

cc

yxyxU se tiene: ( ) [ ][ ]

= −

3

2

111,

u

uu

XyxyxU

Haciendo [ ] [ ][ ] 11 −= XyxN Es decir [ ] [ ][ ] 1321 1 −= XyxNNN

Resolviendo el sistema anterior se obtiene:

( ) ( ) ( )A

xxyyyxyxyxN

223322332

1

−+−+−=

( ) ( ) ( )A

xxyyyxyxyxN

231133113

2

−+−+−=

( ) ( ) ( )A

xxyyyxyxyxN

212211221

3

−+−+−=

Donde: ( ) ( ) ( ) [ ]XyyxyyxyyxA det2 213132321 =−+−+−=

Se pueden obtener funciones de interpolación generalizadas a partir de los polinomios de

Lagrange:

( ) Χn

ijj ji

ji xx

xxxL

≠= −

−=

0

Page 16: Comparacion Metodos Mdf Mef Mvf

Para un tratamiento detallado sobre este tema se puede consultar el texto de O.C.

Zienkiewicz.

3.4 MÉTODO DE GALERKIN.

El método de Galerkin es un método para resolver ecuaciones diferenciales. Se basa en

la integración de los residuos ponderados sobre un intervalo. Este método se fundamenta

en la teoría de funciones ortogonales.

Uno de los métodos para resolver ecuaciones diferenciales consiste en suponer que su

solución se puede aproximar mediante los términos de una suma de funciones. El método

de Galerkin se aplica de la siguiente manera:

Por ejemplo sea la siguiente ecuación:

bu =∇2

Se elige una función de la forma: nnyxu φαφαφα +++=−

...),( 2211 que aproxima u .

Donde los coeficientes nααα ,...,, 21 son coeficientes por determinar.

Las funciones nφφφ ,...,, 21 llamadas funciones de forma, deben satisfacer las condiciones

de frontera impuestas al problema.

Como ( )yxu ,_

aproxima la solución de la ecuación, entonces Rbu =−∇−

2 es igual aun

residuo R diferente de cero. Si la función representa adecuadamente la solución este será

muy cercano a cero y para algunos casos podrá ser cero.

A continuación se pondera el residuo R multiplicándolo por una función de peso iφ y se

integra sobre el dominio.

0_

2 =Ω

−∇=Ω ∫∫

ΩΩ

dbudR ii φφ Para i = 1,2, …, n.

Por esta razón en un método de residuos ponderados.

Por cada función de peso se obtiene una ecuación integral así:

( )( ) 0... 122112 =Ω−+++∇∫

Ω

dbnn φφαφαφα

( )( ) 0... 222112 =Ω−+++∇∫

Ω

dbnn φφαφαφα

Page 17: Comparacion Metodos Mdf Mef Mvf

( )( ) 0...22112 =Ω−+++∇∫

Ω

db nnn φφαφαφα

Con lo cual después de realizar las operaciones necesarias se obtiene un sistema de

ecuaciones algebraicas simultaneas que puede ser resuelto por cualquier procedimiento

estándar, para hallar los coeficientes: nααα ,...,, 21 .

El método de Galerkin es solo uno de los métodos residuales que pueden ser aplicados.

Entre otros métodos residuales se mencionan como referencia el método de colocación,

el método de mínimos cuadrados y el método de subdominios. Ver KAPLAN.

3.5 ECUACIONES DE LAPLACE Y POISSON

El problema del potencial se presenta cuando se requiere resolver problemas de

transferencia de calor, procesos de difusión, movimiento de fluidos, etc. Generalmente

estos problemas se pueden describir mediante la ecuación bu =∇ 2 , la cual es conocida

como ecuación de Poisson. Cuando se tiene el término 0=b , entonces se llama ecuación

de Laplace: 02 =∇ u

La solución teórica de la ecuación de Laplace es sencilla de obtener, mientras que para la

ecuación de Poisson su solución teórica es muy dispendiosa y en muchas ocasiones solo

se puede hallar para casos sencillos. La solución de estas ecuaciones consisten en hallar

el valor del potencial u (sea temperatura, presión, concentración, voltaje, etc.) en cada

punto del espacio para el dominio considerado. Una vez que se conoce el potencial se

puede calcular el flujo correspondiente. A continuación se muestran algunas

transformaciones útiles de la ecuación de Poisson :

bu =∇2 en O (3.5.1)

( ) 02 =Ω−∇∫Ω

wdbu (3.5.2.)

( ) 02 =Ω−Ω∇ ∫∫ΩΩ

bwdwdu (3.5.3.)

Page 18: Comparacion Metodos Mdf Mef Mvf

Integrando por partes el primer termino utilizando la primera identidad de Green vista en el

numeral 3.1.3 se obtiene:

∫∫∫ΩΓΩ

Ω∇∇−Γ∇=Ω∇ wduudwwdu)( 2 (3.5.4.) sustituyendo en (3.5.3.)

0=Ω−Ω∇∇−Γ∇ ∫∫∫ΩΩΓ

bwdwduudw (3.5.5.)

Reordenando la expresión (3.5.5) se obtiene la ecuación inicial para el desarrollo de los

elementos finitos:

∫∫∫ΩΓΩ

Ω−Γ∇=Ω∇∇ bwdudwwdu (3.5.6.)

Integrando nuevamente por partes el término ∫Ω

Ω∇∇ wdu se tiene:

( ) ( ) Ω∇−Γ∇=Ω∇∇ ∫ ∫∫Γ ΩΩ

udwudwwdu 2 (3.5.7.)

Reemplazando en la ecuación (3.5.5.) se tiene:

( ) ( ) 02 =Ω−Ω∇+Γ∇−Γ∇ ∫∫ ∫∫ΩΓ ΩΓ

bwdudwudwudw (3.5.8.)

La expresión (3.5.8.) es equivalente a la (3.5.3.) por lo que

( ) ( ) ( ) ∫∫ ∫∫∫∫ΩΓ ΩΓΩΩ

Ω−Ω∇+Γ∇−Γ∇=Ω−Ω∇ bwdudwudwudwbwdwdu 22 (35.9.)

Se cancelan los términos iguales a ambos lados

( ) ( ) ( ) Ω∇+Γ∇−Γ∇=Ω∇ ∫ ∫∫∫Γ ΩΓΩ

udwudwudwwdu 22 (3.5.10)

Reorganizando y agrupando se obtiene la segunda identidad de Green:

( ) ( )∫∫ΓΩ

Γ∇−∇=Ω∇−∇ dwuuwdwuuw 22 (3.5.11.)

La cual es el punto de partida para el desarrollo de los métodos de integrales de frontera.

Page 19: Comparacion Metodos Mdf Mef Mvf

4 MÉTODOS FINITOS

En este punto se puede preguntar por que son necesarios los métodos finitos para

resolver un problema. La respuesta reside en que a menudo es la única forma de resolver

el sistema sin tener que construirlo físicamente. Las soluciones analíticas exactas para las

ecuaciones que gobiernan muchos fenómenos solo se pueden obtener para problemas en

los cuales se hacen supuestos y se simplifican algunas restricciones con relación a la

geometría, propiedades del material y condiciones de frontera. Por lo cual no queda otra

opción que recurrir a métodos numéricos de solución en situaciones donde tales

simplificaciones no son posibles.

En la solución de problemas mediante técnicas de métodos finitos normalmente existen

varios pasos que son comunes: Preparación del problema (Preprocesamiento), Solución

del sistema (Procesamiento) y Análisis y presentación de resultados (Postprocesamiento)

En la preparación del problema se debe decidir una forma de representar el objeto de tal

manera que se pueda verificar el planteamiento del problema, que permita su

manipulación mediante rutinas de computador, que reduzca el número de calculo

necesarios mediante el aprovechamiento de simetrías y que su procesamiento sea

eficiente. Los métodos finitos implican una discretización del sistema u objeto del estudio

en el cual la naturaleza continúa e infinitos grados de libertad del mismo es representada

por un conjunto finito de elementos cada uno con un número limitado de grados de

libertad. La representación discreta del problema implica una descripción precisa de la

geometría del sistema, las propiedades del mismo y las condiciones a las cuales esta

sometido, para lo cual se utilizan elementos geométricos tales como puntos, líneas,

polígonos y volúmenes. Las líneas, superficies y volúmenes se determinan con sus

puntos, sus coordenadas, matrices de conectividad y propiedades. Existen programas que

permiten tomar dibujos o esquemas del sistema para convertirlos en una malla de puntos

y a partir de ellos generar automáticamente la descripción del sistema incluyendo,

Page 20: Comparacion Metodos Mdf Mef Mvf

geometría, conectividad o topología, condiciones del sistema, propiedades de los

materiales, etc. Estos programas se conocen con el nombre de malladores.

La preparación del problema tiene como resultado un sistema algebraico de ecuaciones

que sirve como insumo de entrada para el procesamiento o solución del sistema, el cual

se puede realizar por métodos directos o iterativos. Cuando se trata de problemas de

poco tamaño, los métodos directos son inmediatos. Sin embargo para problemas de gran

tamaño a menudo la única alternativa viables son los métodos iterativos. El método de

solución también depende de la forma de almacenamiento de la matriz del sistema

algebraico de ecuaciones resultante. La matriz se puede almacenar en forma compacta o

como una matriz dispersa. El número de variaciones a este respecto resulta muy grande.

En el procesamiento posterior, se toma como insumo la solución obtenida en el paso

anterior y se efectúan cálculos adicionales. Incluso puede repetirse todo el proceso de

solución variando las condiciones para realizar análisis de sensibilidad u optimizar el

sistema. Los sistemas de post procesamiento cuentan con facilidades que permite desde

imprimir un simple reporte con los datos hasta diagramas y visualizaciones animadas y

gráficas para la solución del sistema.

En el comercio se pueden encontrar desde aplicaciones que incluyen todos las etapas de

preparación, solución y procesamiento posterior hasta programas especializados en una

sola de estas etapas. Desde aplicaciones que solo reciben formatos texto hasta

aplicaciones que reciben y entregan imágenes en formato gráfico.

Page 21: Comparacion Metodos Mdf Mef Mvf

4.1 PROBLEMA DE TRABAJO

El problema de trabajo es el ejemplo que permitirá comparar los distintos métodos. Se

desea determinar la distribución de temperaturas de una placa rectangular metálica en

condiciones de estado estable sometida a condiciones de temperatura y flujo de calor en

sus fronteras. Las dimensiones de la placa son 6.0 m x 6.0 m . El material de la placa es

isotrópico y su coeficiente de conductividad es k = 1.0 KmW ⋅/ . En el lado izquierdo se

tiene una temperatura de 300° C y en el lado derecho 0° C. En la parte superior e inferior

se tiene un flujo de calor de 10.0 mW / . Se puede asumir que la placa tiene una unidad

de profundidad, en cuyo caso el flujo de calor sería 10.0 2/ mW .

q = 10

Placa metalicaT = 300 °C T = 0 °C

b = -5

q = 10(0,0)

(0,6)

(6,0)

(6,6)

Figura 3. Problema de trabajo.

Los flujos de calor en los lados o fronteras superior e inferior es de 10 unidades por

unidad y sus signos positivos significan que este calor esta saliendo de la placa. El valor

de la generación interna b significa que por cada unidad de área se generan 10 unidades

de calor y este debe salir de la placa. En términos matemáticos se tiene:

byT

kxT

kyxTk yx =∂∂

+∂∂

=∇ 2

2

2

22 ),( Tal que: 5−=b y 1=== xx kkk

Con condiciones de frontera: 300),0( =yT , 0),6( =yT , 100

=

∂∂

=xyT , 10

6

=

∂∂

=xyT

Para 60 ≤≤ x y 60 ≤≤ y

Page 22: Comparacion Metodos Mdf Mef Mvf

4.2 DIFERENCIAS FINITAS

4.2.1 Formulación El método de diferencias finitas se basa en asignar puntos espaciados de manera

apropiada sobre el dominio y aplicar las ecuaciones constitutivas correspondientes del

fenómeno a cada punto. El método de diferencias finitas tiene como punto de partida las

series de Taylor. Sea x un punto cercano al punto ix , tal que x = hxi + , y sea ( )xf el

valor de una función en el punto x . Entonces ( )xf se puede aproximar mediante una

serie de Taylor alrededor del punto ix , de la siguiente manera:

( ) ( ) ( ) ( ) ( ) ...!

1...

!31

!21

)( 33221 ++++++=+ ni

niiiii hxf

nhxfhxfhxfxfhxf (1)

Donde ( )ik xf representa la k-esima derivada de la función f(x) evaluada en el punto ix .

Si se evalúa ( )xf en hxx i −= , se obtiene:

( ) ( ) ( ) ( ) ( ) ( ) ...!

1...

!31

!21

)( 33221 +−

++−+−=− ni

nn

iiiii hxfn

hxfhxfhxfxfhxf (2)

Tomando las ecuaciones (1) y (2) hasta el segundo termino se llega a (3) y (4):

( ) ( )hxfxfhxf iii1)( +=+ (3) ( ) ( )hxfxfhxf iii

1)( −=− (4)

Se despeja ( )ixf 1 en (3) y (4) se obtiene:

( ) ( )h

xfhxfxf ii

i

)(1 −+= (5) Ecuación diferencia finita hacia adelante

( ) ( )h

hxfxfxf ii

i

−−=

)(1 (6) Ecuación diferencia finita hacia atrás.

Si se resta (3) y (4) se obtiene:

( ) ( ) ( )hxfhxfhxf iii12=−−+

Despejando ( )ixf 1 :

( ) ( ) ( )h

hxfhxfxf ii

i 21 −−+

= (7) Ecuación diferencia finita central.

Para hallar la ecuación en diferencias finitas de la segunda derivada se toma el polinomio

de Taylor hasta el término de segundo orden en las ecuaciones (1) y (2):

Page 23: Comparacion Metodos Mdf Mef Mvf

( ) ( ) ( ) 221

!21

)( hxfhxfxfhxf iiii ++=+ (8)

( ) ( ) ( ) 221

!21

)( hxfhxfxfhxf iiii +−=− (9)

Sumando (8) y (9):

( ) ( ) ( ) 22)(2 hxfxfhxfhxf iiii +=−++

Despejando ( )ixf 2 se tiene la aproximación de la segunda derivada en diferencias

finitas:

( ) ( ) ( )2

2 )(2h

hxfxfhxfxf iii

i

−+−+=

En el caso de dos dimensiones la ecuación de Laplace es:

0),(2

2

2

22 =

∂∂+

∂∂=∇

yTk

xTkyxTk

El coeficiente de conductividad térmica k para un material isotrópico es igual en ambas

direcciones. Este desaparece al ser tomado como factor común y pasado al lado derecho.

Otra interpretación es que este coeficiente toma el valor de unitario 1=k .

0),(2

2

2

22 =

∂∂+

∂∂=∇

yT

xTyxT

Se aproxima el término 2

2

xT

∂∂

y 2

2

yT

∂∂

mediante diferencias finitas:

( ) ( )22

2 )(2h

hxTxThxTxT iii −+−+

=∂∂

( ) ( )22

2 )(2h

hyTyThyTyT iii −+−+

=∂∂

( ) ( ) ( ) ( )0

)(2)(2222

2

2

2

=−+−+

+−+−+

=∂∂

+∂∂

y

iii

x

iii

hhyTyThyT

hhxTxThxT

yT

xT

( ) ( ) ( ) ( )0

)(2)(222 =

−+−++

−+−+

y

iii

x

iii

h

hyTyThyT

h

hxTxThxT

Para el caso de la ecuación de Poisson:

byT

kxT

kyxTk yx =∂∂

+∂∂

=∇ 2

2

2

22 ),(

Page 24: Comparacion Metodos Mdf Mef Mvf

Si el material es isotrópico los coeficientes de conductividad térmica son iguales kx = ky y

la ecuación se puede expresar:

kb

yT

xTyxT =

∂∂+

∂∂=∇

2

2

2

22 ),(

Su expresión en diferencias finitas esta dada por:

( ) ( ) ( ) ( )

kb

h

hyTyThyT

h

hxTxThxT

y

yiiyi

x

xiixi =−+−+

+−+−+

22

)(2)(2

Si se toman incrementos hx y hy de igual tamaño h se tiene:

( ) ( ) ( ) ( )kb

hxThyThyThxThxT iiiii2)(4 =−−+++−++

En este punto se introduce una convención para simplificar la notación. Para cada punto o

nodo del dominio se debe establecer una ecuación. En el caso bidimensional cada punto

esta rodeado máximo por cuatro nodos vecinos los cuales se denominaran con

subíndices de acuerdo a su posición relativa al nodo de referencia, con los subíndices n –

norte, w- oeste, s – sur, e – este.

Así:

( )hxx ie += , ( )hxx iw −= , ( )hyy in += , ( )hyy is −= y

( )ee xTT = ( )ww xTT = ( )nn yTT = ( )ss yTT = )( ii xTT =

Entonces para un punto i dado su ecuación sería:

kb

hTTTTT iwnes24 =−+++

Page 25: Comparacion Metodos Mdf Mef Mvf

4.2.2 Aplicación.

q = 10

T = 300 °C b = -5 T = 0 °C

q = 10

1 432

8 7

6

512

11

10 9

13 14

1516

Figura 4. División del dominio en diferencias finitas.

Observe que S, E, N, W son relativos para cada nodo. Como ilustración para el nodo 5; S

es el nodo 4, W es el nodo14, N es el nodo 6. Como el nodo 5 es un nodo de frontera en

el lado derecho el nodo E relativo al nodo 5 no existe. Mientras que para el nodo 12, es un

nodo de frontera en el lado izquierdo por lo tanto el nodo W no existe, S es el nodo 1, E es

el nodo 13 y N es el nodo 11.

Las ecuaciones para los nodos son las siguientes:

Nodo 1: 3001 =T Temperatura conocida.

Nodo 2: bhTTTTT wnes2

24 =−+++

Observe que para el nodo 2 se especifica una condición de flujo y que el nodo en la

posición s es un nodo virtual por no existir. En este caso se aplica la Ley de Fourier del

calor entre el nodo norte y sur con el fin de despejar Ts y reemplazarlo en la ecuación. Por

lo tanto aproximando se tiene:

qhTT sn =

−2

==> hqTT ns 2*−=

Remplazando Ts en la ecuación inicial del nodo 2:

bhTTTThT wnen2

242*10 =−+++−

Page 26: Comparacion Metodos Mdf Mef Mvf

Entonces la ecuación para el nodo 2 queda:

hqbhTTTTT wnen 2*4 22 +=−+++

Reemplazando valores:

)2(2*10)5(242 22 +−=−++ TTTT wen

Nodo 3: )2(2*10)5(242 23 +−=−++ TTTT wen Caso similar al del nodo 2.

Nodo 4: 04 =T Temperatura conocida.

Nodo 5: 05 =T Temperatura conocida.

Nodo 6: 06 =T Temperatura conocida.

Nodo 7: 07 =T Temperatura conocida.

Nodo 8: )2(2*10)5(242 28 +−=−++ TTTT wes Caso similar al del nodo 2.

Nodo 9: )2(2*10)5(242 29 +−=−++ TTTT wes Caso similar al del nodo 2.

Nodo 10: 30010 =T Temperatura conocida.

Nodo 11: 30011 =T Temperatura conocida.

Nodo 12: 30012 =T Temperatura conocida.

Nodo 13: bhTTTTT wnes2

134 =−+++

Nodo 14: bhTTTTT wnes2

144 =−+++

Nodo 15: bhTTTTT wnes2

154 =−+++

Nodo 16: bhTTTTT wnes2

164 =−+++

El anterior sistema de ecuaciones produce el siguiente problema matricial:

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T1 300

1 -4 1 0 0 0 0 0 0 0 0 0 2 0 0 0 T2 20

0 1 -4 1 0 0 0 0 0 0 0 0 0 2 0 0 T3 20

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 T4 0

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 T5 0

0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 T6 0

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 T7 0

0 0 0 0 0 0 1 -4 1 0 0 0 0 0 2 0 T8 20

0 0 0 0 0 0 0 1 -4 1 0 0 0 0 0 2 T9 20

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 T10 300

0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 T11 300

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 T12 300

0 1 0 0 0 0 0 0 0 0 0 1 -4 1 0 1 T13 -20

0 0 1 0 1 0 0 0 0 0 0 0 1 -4 1 0 T14 -20

0 0 0 0 0 1 0 1 0 0 0 0 0 1 -4 1 T15 -20

0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 -4 T16 -20

Page 27: Comparacion Metodos Mdf Mef Mvf

Figura 5. Sistema matricial para diferencias finitas.

El cual al ser resuelto entrega los siguientes valores para las temperaturas T:

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16300 200 100 0 0 0 0 100 200 300 300 300 210 110 110 210

4.2.3 Programación

En esta subrutina el ciclo externo se utiliza para recorrer todos los nodos Do I = 1,nn

Por cada nodo existe una fila y una columna en la matriz H, de acuerdo con la condición y

ubicación de cada nodo se establecen los coeficientes de la matriz H y los coeficientes del

lado derecho en el vector B.

Las condiciones del nodo pueden ser 0 - Potencial conocido, 1 - Flujo conocido, 2 - No se

conoce el flujo ni el potencial. Estas condiciones fueron leídas del archivo de entrada y se

colocaron en el vector Condición.

Las instrucciones Select Case e If colocan los coeficientes correspondientes para cada

nodo de acuerdo con la ecuación planteada para cada nodo como se muestra

anteriormente.

Una vez que se procesan todos los nodos la matriz H y el vector B contienen los valores

del problema para formar el sistema HX = B, el cual se resuelve mediante la llamada de la

función ResolverSistema(H,X,B), donde los valores calculados de las temperaturas

quedan en el vector X.

Los arreglos S(I), E(I), N(I) y W(I), indican respectivamente el nodo que se encuentra al

sur, al este, al norte y al oeste del nodo I, el cual es el nodo que se esta procesando. Esta

información se lee del archivo de datos de entrada.

El siguiente es el código del programa que implementa el método de las diferencias

finitas:

SUBROUTINE DiferenciasFinitas INTEGER I,J REAL Delta WRITE(*,*) "Método de Diferencias Finitas" ALLOCATE(H(nn,nn),B(nn),X(nn)) H = 0 B = 0 X = 0 Delta = XF(2) - XF(1) !Se supone una malla uniforme DO I = 1,nn

Page 28: Comparacion Metodos Mdf Mef Mvf

SELECT CASE (Condicion(I)) CASE (0) !Potencial conocido H(I,I) = 1 B(I) = V(I) CASE (1) !Flujo conocido IF (S(I) == 0) THEN H(I,I) = -4.0 H(I,N(I)) = 2.0 H(I,W(I)) = 1.0 H(I,E(I)) = 1.0 B(I) = 2*V(I)*Delta + Constante*(Delta**2) END IF IF (N(I) == 0) THEN H(I,I) = -4.0 H(I,S(I)) = 2.0 H(I,W(I)) = 1.0 H(I,E(I)) = 1.0 B(I) = 2*V(I)*Delta + Constante*(Delta**2) END IF IF (E(I) == 0) THEN H(I,I) = -4 H(I,W(I)) = 2.0 H(I,S(I)) = 1.0 H(I,N(I)) = 1.0 B(I) = 2*V(I)*Delta + Constante*(Delta**2) END IF IF (W(I) == 0) THEN H(I,I) = -4 H(I,E(I)) = 2.0 H(I,S(I)) = 1.0 H(I,N(I)) = 1.0 B(I) = 2*V(I)*Delta + Constante*(Delta**2) END IF CASE (2) !Valor desconocido H(I,I) = -4.0 H(I,S(I)) = 1.0 H(I,E(I)) = 1.0 H(I,N(I)) = 1.0 H(I,W(I)) = 1.0 B(I) = Constante*(Delta**2) END SELECT END DO CALL ImprimirMatriz(H) CALL WRRRN ('B', 1, UBOUND(B), B, 1, 0) !Imprime el vector solución B CALL ResolverSistema(H,X,B) DEALLOCATE(S,E,N,W,XF,YF,Condicion,V,H,B) END SUBROUTINE

Page 29: Comparacion Metodos Mdf Mef Mvf

4.3 VOLÚMENES FINITOS

4.3.1 Formulación

Este se puede obtener de la ponderación de residuos con la función de pesos w = 1 y

aplicar el teorema de la divergencia de Gauss. Lo cual es equivalente a dividir el dominio

en volúmenes de control y aplicar un balance de conservación a cada volumen.

bu =∇2 Ecuación de Poisson.

( )∫Ω

=Ω−∇ 02 wdbu Ponderación de residuos.

Para el método de los volúmenes finitos se toma w = 1 como función de ponderación.

( ) ∫∫ΩΩ

Ω=Ω∇ bddu2

Por definición del Laplaciano el término del lado izquierdo se puede expresar:

( ) ( )∫∫ΩΩ

Ω∇⋅∇=Ω∇ udu2

Por el teorema de la divergencia de Gauss:

( ) dsnudus∫∫

⋅∇=Ω∇⋅∇

>−

Ω

Por definición de derivada direccional: dsn

udsnu

ss∫∫

∂=

⋅∇

>−

>−Hasta el momento se

tiene:

∫∫Ω

>−Ω=

∂ bddsn

u

s

Debido a que el dominio se dividió en volúmenes rectangulares se separa la integral en i

dominios, para cada uno de los cuales su frontera consta de cuatro segmentos j = 1, 2, 3,

4.

∑ ∫∫= Γ

>−>−

∂=

∂ 4

1,

jii

s

dsn

uds

n

u

jii

Page 30: Comparacion Metodos Mdf Mef Mvf

( )jiij

i Lh

uuds

n

u

ji

,

,

Γ−

=

∂∫

Γ>− Con j = W, E, N, S.

Para la región bidimensional i la ecuación de balance queda así:

i

S

N

W E ?y

?x

Figura 6. Convención para los nodos.

yxbxy

uux

yuu

yxuu

yx

uu iNiSiEiW ∆∆=∆∆−

+∆∆−

+∆∆−

+∆∆−

Donde b es la generación interna por unidad del dominio en la región i.

4.3.2 Aplicación

q = 10

T = 300 °C b = -5 T = 0 °C

q = 10

1 432

8 7

6

512

11

10 9

13 14

1516

Figura 7. División del dominio en volúmenes finitos.

Page 31: Comparacion Metodos Mdf Mef Mvf

En este caso los nodos han pasado a ser el centro de una región del dominio para cada

una de las cuales se aplica la ecuación de balance.

Volumen 1: 3001 =T Temperatura conocida (Condición de frontera).

Volumen 2:

( ) ( ) ( )

∆−=∆

∆−

+∆−∆

∆−

+∆

∆−

222222 y

xbTT

qTTTT x

y

nx

y

x

ey

x

w

∆=∆=∆ yx Malla uniforme

( ) ( ) ( )

∆−=−

+∆−−

+−

221

21 222 y

xbTT

qTTTT n

xew

221

21

21

21 2

222∆+∆=−+−+− bqTTTTTT xnew

22

21

21 2

2∆+∆=−++ bqTTTT new

Volumen 3: 2

221

21 2

3

∆+∆=−++ bqTTTT new

Volumen 4: 04 =T Temperatura conocida (Condición de frontera).

Volumen 5: 2

221

21 2

5∆+∆=−++ bqTTTT nws

Volumen 6: 2

221

21 2

6∆+∆=−++ bqTTTT nws

Volumen 7: 07 =T Temperatura conocida (Condición de frontera).

Volumen 8: 2

221

21 2

8

∆+∆=−++ bqTTTT wes

Volumen 9: 2

221

21 2

9∆+∆=−++ bqTTTT wes

Volumen 10: 010 =T Temperatura conocida (Condición de frontera).

Volumen 11: 2

221

21 2

11∆+∆=−++ bqTTTT nes

Volumen 12: 2

221

21 2

12

∆+∆=−++ bqTTTT nes

Page 32: Comparacion Metodos Mdf Mef Mvf

Volumen 13: 2134 ∆=−+++ bTTTTT wnes

Volumen 14: 2144 ∆=−+++ bTTTTT wnes

Volumen 15: 2154 ∆=−+++ bTTTTT wnes

Volumen 16: 2164 ∆=−+++ bTTTTT wnes

Al sustituir los valores se obtiene el siguiente sistema de ecuaciones:

C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 C10 C11 C12 C13 C14 C15 C16R 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T1 300R 2 0.5 -2 0.5 0 0 0 0 0 0 0 0 0 1 0 0 0 T2 10

R 3 0 0.5 -2 0.5 0 0 0 0 0 0 0 0 0 1 0 0 T3 10

R 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 T4 0R 5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 T5 0

R 6 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 T6 0R 7 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 T7 0

R 8 0 0 0 0 0 0 0.5 -2 0.5 0 0 0 0 0 1 0 T8 10R 9 0 0 0 0 0 0 0 0.5 -2 0.5 0 0 0 0 0 1 T9 10

R10 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 T10 300R11 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 T11 300

R12 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 T12 300

R13 0 1 0 0 0 0 0 0 0 0 0 1 -4 1 0 1 T13 -20R14 0 0 1 0 1 0 0 0 0 0 0 0 1 -4 1 0 T14 -20

R15 0 0 0 0 0 1 0 1 0 0 0 0 0 1 -4 1 T15 -20R16 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 -4 T16 -20

Figura 8. Sistema matricial para volúmenes finitos.

4.3.3 Programación Esta subrutina es muy similar al método anterior debido a que el número de puntos,

geometría y ecuaciones también resultan ser similares. El número de instrucciones

condicionales para tener en cuenta las condiciones de frontera aumenta. Con estos se

pretende saber si el volumen se encuentra ubicado en una esquina, en un lado o en el

medio, en cuyo caso los coeficientes asignados a cada variable son diferentes.

SUBROUTINE VolumenesFinitos INTEGER I,J REAL Delta WRITE(*,*) "Metodo de Diferencias Finitas"

ALLOCATE(H(nn,nn),B(nn),X(nn)) H = 0 B = 0

Page 33: Comparacion Metodos Mdf Mef Mvf

X = 0 Delta = XF(2) - XF(1) !Se supone una malla uniforme DO I = 1,nn SELECT CASE (Condicion(I)) CASE (0) !Potencial conocido H(I,I) = 1 B(I) = V(I) CASE (1) !Flujo conocido IF (S(I) == 0 .AND. W(I) == 0) THEN H(I,I) = -1.0 H(I,N(I)) = 0.5 H(I,E(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/4 END IF IF (S(I) == 0 .AND. E(I) == 0) THEN H(I,I) = -1.0 H(I,N(I)) = 0.5 H(I,W(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/4 END IF IF (N(I) == 0 .AND. W(I) == 0) THEN H(I,I) = -1.0 H(I,S(I)) = 0.5 H(I,E(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/4 END IF IF (N(I) == 0 .AND. E(I) == 0) THEN H(I,I) = -1.0 H(I,S(I)) = 0.5 H(I,W(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/4 END IF IF (E(I) == 0 .AND. S(I) /= 0 .AND. N(I) /= 0 .AND. W(I) /= 0) THEN H(I,I) = -2 H(I,W(I)) = 1.0 H(I,S(I)) = 0.5 H(I,N(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/2 END IF IF (E(I) /= 0 .AND. S(I) == 0 .AND. N(I) /= 0 .AND. W(I) /= 0) THEN H(I,I) = -2 H(I,W(I)) = 0.5 H(I,E(I)) = 0.5 H(I,N(I)) = 1.0 B(I) = V(I)*Delta + Co nstante*(Delta**2)/2 END IF IF (E(I) /= 0 .AND. S(I) /= 0 .AND. N(I) == 0 .AND. W(I) /= 0) THEN H(I,I) = -2 H(I,W(I)) = 0.5 H(I,S(I)) = 1.0 H(I,E(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/2 END IF IF (E(I) /= 0 .AND. S(I) /= 0 .AND. N(I) /= 0 .AND. W(I) == 0) THEN H(I,I) = -2 H(I,E(I)) = 1.0

Page 34: Comparacion Metodos Mdf Mef Mvf

H(I,S(I)) = 0.5 H(I,N(I)) = 0.5 B(I) = V(I)*Delta + Constante*(Delta**2)/2 END IF CASE (2) !Valor desconocido H(I,I) = -4.0 H(I,S(I)) = 1.0 H(I,E(I)) = 1.0 H(I,N(I)) = 1.0 H(I,W(I)) = 1.0 B(I) = Constante*(Delta**2) END SELECT END DO CALL ImprimirMatriz(H) CALL ResolverSistema(H,X,B) DEALLOCATE(S,E,N,W,XF,YF,Condicion,V,H,B) END SUBROUTINE

4.4 ELEMENTOS FINITOS

4.4.1 Formulación

Consiste en un método de Garlerkin, en el cual las funciones de forma son funciones

polinómicas por tramos (“Piecewise”). Para discretizar la ecuación de Poisson según el

método de los elementos finitos se procede de la siguiente manera:

bu =∇2 en O (4.4.1)

( ) 02 =Ω−∇∫Ω

wdbu (4.4.2.)

( ) 02 =Ω−Ω∇ ∫∫ΩΩ

bwdwdu (4.4.3.)

Integrando por partes el primer termino utilizando la primera identidad de Green

∫∫∫ΩΓΩ

Ω∇⋅∇−Γ⋅∇=Ω∇ wduduwwdu)( 2 (4.4.4.) sustituyendo en (4.4.3.)

0=Ω−Ω∇⋅∇−Γ⋅∇ ∫∫∫ΩΩΓ

bwdwduduw (4.4.5.) reordenando se obtiene la ecuación

inicial para el desarrollo de los elementos finitos:

∫∫∫ΩΓΩ

Ω−Γ⋅∇=Ω∇⋅∇ bwdduwwdu (4.4.6.)

El método de los elementos finitos requiere por ser un método de Galerkin que las

funciones de peso sean iguales a las de forma. Para que sea un método de elementos

Page 35: Comparacion Metodos Mdf Mef Mvf

finitos se requiere que sean polinómicas por tramos. Las funciones de interpolación

cumplen estas condiciones. En este caso se utilizaran funciones lineales de interpolación

para elementos lineales triangulares.

Se supone que la solución para u admite la siguiente forma:

332211 NuNuNuu ++=

Las funciones de peso w corresponden a:

11 Nw = 22 Nw = 33 Nw =

Para un elemento triangular las funciones de interpolación

( ) ( ) ( )A

xxyyyxyxyxN

223322332

1

−+−+−=

( ) ( ) ( )A

xxyyyxyxyxN

231133113

2

−+−+−=

( ) ( ) ( )A

xxyyyxyxyxN

212211221

3

−+−+−=

Como x1, x2, x3, y1, y2, y3 son permanecen constantes para cada elemento se puede

remplazar:

( ) ( ) ( )23132123321 xxcyybyxyxa −=−=−=

( ) ( ) ( )31213231132 xxcyybyxyxa −=−=−=

( ) ( ) ( )12321312213 xxcyybyxyxc −=−=−=

Con lo cual:

( ) ( )AycxbaN 2/1111 ++=

( ) ( )AycxbaN 2/2222 ++=

( ) ( )AycxbaN 2/3333 ++=

Expresado en forma matricial: [ ] [ ]

=

321

321

321

121

ccc

bbbaaa

yxA

N

Page 36: Comparacion Metodos Mdf Mef Mvf

La expresión ∫∫∫ΩΓΩ

Ω−Γ⋅∇=Ω∇⋅∇ bwdduwwdu entonces se obtiene una ecuación

integral por cada función de peso, así:

( ) ( ) ∫∫∫ΩΓΩ

Ω−Γ++∇=Ω∇++∇ dbNdNuNuNuNdNNuNuNu 133221111332211 (4.4.7)

( ) ( ) ∫∫∫ΩΓΩ

Ω−Γ++∇=Ω∇++∇ dbNdNuNuNuNdNNuNuNu 233221122332211 (4.4.8)

( ) ( ) ∫∫∫ΩΓΩ

Ω−Γ++∇=Ω∇++∇ dbNdNuNuNuNdNNuNuNu 333221133332211 (4.4.9)

4.4.1.1 Desarrollo de lado izquierdo Se calcula el gradiente para la función u:

( ) ( ) ( )

++

∂∂

++∂∂

=++∇ 332211332211332211 , NuNuNuy

NuNuNux

NuNuNu

( ) ( )11111

111 21

2bu

AAycxba

xuNu

x=

++

∂∂

=∂∂

( ) ( )22222

222 21

2bu

AAycxba

xuNu

x=

++∂∂=

∂∂

( ) ( )33333

333 21

2bu

AAycxba

xuNu

x=

++

∂∂

=∂∂

( ) ( )332211332211 21

bububuA

NuNuNux

++=++∂∂

De forma similar:

( ) ( )332211332211 21 cucucuA

NuNuNuy

++=++∂∂

Por lo tanto el gradiente para la función u:

( ) ( ) [ ]

=++++=++∇

3

2

1

3

2

1

321332211332211332211 21

21

c

cc

b

bb

uuuA

cucucubububuA

NuNuNu

Page 37: Comparacion Metodos Mdf Mef Mvf

Ahora se calculan los gradientes para las funciones de peso N1, N2, N3:

( )11111111

1 21

22cb

AAycxba

yAycxba

xN =

++∂∂

++∂∂=∇

( )222 21

cbA

N =∇ y ( )333 21

cbA

N =∇

Sustituyendo las expresiones en las ecuaciones integrales para cada función de peso:

Para la primera ecuación integral

( ) ( ) ( ) ∫∫∫ΩΓΩ

Ω−Γ⋅++∇=Ω∇⋅++∇ dbNdNuNuNuNdNNuNuNu 133221111332211

Sustituyendo los respectivos gradientes en el lado izquierdo de las tres ecuaciones se

obtiene:

[ ] [ ] [ ]∫∫ΩΩ

Ω

+++=Ω⋅

d

u

uu

ccbbccbbcbA

dcb

c

cc

b

bb

uuuA

3

2

1

3131212121

21211

3

2

1

3

2

1

3212 41

41

[ ] [ ] [ ]∫∫ΩΩ

Ω

+++=Ω⋅

d

u

uu

ccbbcbccbbA

dcb

c

cc

b

bb

uuuA

3

2

1

323222

222121222

3

2

1

3

2

1

3212 41

41

[ ] [ ] [ ]∫∫ΩΩ

Ω

+++=Ω⋅

d

uuu

cbccbbccbbA

dcbccc

bbb

uuuA

3

2

123

2332313131233

3

2

1

3

2

1

3212 41

41

Puesto que todos los elementos dentro de las integrales son constantes la integral de

dominio corresponde al área del elemento: Ad =Ω∫Ω

. Las anteriores expresiones quedan

así:

[ ] [ ]

+++=

+++

3

2

1

3131212121

21

3

2

1

3131212121

212 4

14

u

uu

ccbbccbbcbA

u

uu

ccbbccbbcbAA

Page 38: Comparacion Metodos Mdf Mef Mvf

[ ] [ ]

+++=Ω

+++∫

Ω3

2

1

323222

222121

3

2

1

323222

2221212 4

14

1

uuu

ccbbcbccbbA

duuu

ccbbcbccbbA

[ ] [ ]

+++=Ω

+++∫

Ω3

2

123

2332313131

3

2

123

23323131312 4

141

u

uu

cbccbbccbbA

d

u

uu

cbccbbccbbA

Reuniendo los tres resultados anteriores en una sola expresión matricial el lado izquierdo

de las tres ecuaciones integrales se resume en:

+++++++++

3

2

1

23

2332313131

323222

222121

3131212121

21

41

uuu

cbccbbccbbccbbcbccbbccbbccbbcb

A

Expresada en forma matricial se tiene: KU

La matriz

+++

++++++

=23

2332313131

323222

222121

3131212121

21

41

cbccbbccbb

ccbbcbccbbccbbccbbcb

AK es llamada matriz de rigidez del

elemento o matriz local de rigidez.

4.4.1.2 Desarrollo del lado derecho

Para la ecuación integral (4.4.7) se tiene:

( ) ( ) ( ) ∫∫∫ΩΓΩ

Ω−Γ⋅++∇=Ω∇⋅++∇ dbNdNuNuNuNdNNuNuNu 133221111332211

Se ha demostrado que la integración sobre elementos unidimensionales que tienen

funciones de forma 1N y 2N elevadas a las potencias α y β se puede calcular mediante

la formula (Ver FAGAN):

( ) LdLNNL !1

!!21 ++

=∫ βαβαβα Donde L es la longitud del elemento.

Para elementos bidimensionales con funciones de forma elevadas a las potencias α , β y

γ ; su integración se puede realizar mediante la siguiente formula:

( ) AdLNNL

2!2

!!!21 +++

=∫ γβαγβαβα Donde A es el área del elemento.

Para el término de conducción de calor en la frontera se tiene la ecuación:

Page 39: Comparacion Metodos Mdf Mef Mvf

( )∫Γ

Γ⋅++∇ dNuNuNuN 3322111 Donde ( )332211 NuNuNu ++∇ es el gradiente del

potencial o flujo, el cual es una condición de frontera dada por el problema. Por lo tanto se

puede expresar como: ( )332211 NuNuNuq ++∇= y la ecuación queda:

( ) 2!101!0!1

11

qLLqdNqqdN =

++=Γ=Γ ∫∫

ΓΓ

Donde L es la longitud de Γ .

Similarmente se procede para ∫Γ

ΓdqN 2 y ∫Γ

ΓdqN3 .

4.4.1.3 Calculo del término de generación de calor Para el término de generación de calor:

( ) 362

2!2001

!0!0!11

bAbAAbdbN ==

+++=Ω∫

Ω

Donde b es constante.

Similarmente se procede para ∫Ω

ΩdbN2 y ∫Ω

ΩdbN3 .

Para un elemento triangular con generación interna b y conducción en el lado entre los

nodos i y j se tendría la siguiente ecuación:

q

b

k

j

=

110

2111

3qLbA

KU

Figura 9. Elemento finito triangular.

Page 40: Comparacion Metodos Mdf Mef Mvf

4.4.2 Aplicación

En este método se debe resaltar que ya no se requiere solamente numerar los nodos,

también es necesario numerar los elementos. Del orden de numeración de nodos y

elementos dependerá la forma que adopte la matriz de rigidez.

q = 10

b = - 5T = 300 °C T = 0 °C

q = 10

1 432

8 7

6

512

11

10 9

13 14

1516

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Figura 10. División del dominio en elementos finitos.

Para el elemento 1 ubicado entre los nodos 1,2 y 13. El nodo 1 con coordenadas (0,0), el

nodo 2 con coordenadas (2,0) y el nodo 13 con coordenadas (2,2).

La ecuación

=

1

10

21

11

3qLbAKU , produce los siguientes resultados.

( ) ( ) ( ) 02222040222 23132123321 =−=−=−=−=−==⋅−⋅=−= xxcyybyxyxa

( ) ( ) ( ) 22020202002 31213231132 −=−=−==−=−==⋅−⋅=−= xxcyybyxyxa

( ) ( ) ( ) 20200000200 12321312213 =−=−==−=−==⋅−⋅=−= xxcyybyxyxc

22

22=

⋅=A

( )( ) ( ) ( )( )

( )( )

−−−+⋅−

⋅−−

⋅=

+++++++++

=2

22

2

23

2332323131

323222

222121

3131212121

21

2220222222

0222

241

41

cbccbbccbbccbbcbccbbccbbccbbcb

AK

Page 41: Comparacion Metodos Mdf Mef Mvf

−−

=

21

21

0

21

121

021

21

K

=

⋅=

67.6

67.667.6

1

11

3210

1

11

3bA

=

⋅=

0

1010

0

11

2210

1

10

2qL

La conducción se da en el lado i, j

Donde i, j, k corresponden respectivamente a los nodos 1,2 y 13.

La ecuación para el elemento 1 entonces queda:

=

−−

01010

67.667.667.6300

21

21

0

21

121

021

21

3

2

uu

El valor de 1u es conocido por ser condición de frontera 3001 =u

Page 42: Comparacion Metodos Mdf Mef Mvf

Matriz rigidez elemento 1 Matriz rigidez elemento 7 Matriz rigidez elemento 131 2 13 14 6 15 11 9 10

1 0.5 -0.5 0 14 0.5 0 -0.5 11 0.5 0 -0.52 -0.5 1 -0.5 6 0 0.5 -0.5 9 0 0.5 -0.5

13 0 -0.5 0.5 15 -0.5 -0.5 1 10 -0.5 -0.5 1

Matriz rigidez elemento 2 Matriz rigidez elemento 8 Matriz rigidez elemento 142 14 13 15 6 7 12 16 11

2 0.5 0 -0.5 15 0.5 -0.5 0 12 0.5 0 -0.514 0 0.5 -0.5 6 -0.5 1 -0.5 16 0 0.5 -0.513 -0.5 -0.5 1 7 0 -0.5 0.5 11 -0.5 -0.5 1

Matriz rigidez elemento 3 Matriz rigidez elemento 9 Matriz rigidez elemento 152 3 14 15 7 8 12 13 16

2 0.5 -0.5 0 15 0.5 0 -0.5 12 0.5 -0.5 03 -0.5 1 -0.5 7 0 0.5 -0.5 13 -0.5 1 -0.5

14 0 -0.5 0.5 8 -0.5 -0.5 1 16 0 -0.5 0.5

Matriz rigidez elemento 4 Matriz rigidez elemento 10 Matriz rigidez elemento 163 5 14 16 15 8 1 13 12

3 0.5 0 -0.5 16 0.5 -0.5 0 1 0.5 0 -0.55 0 0.5 -0.5 15 -0.5 1 -0.5 13 0 0.5 -0.5

14 -0.5 -0.5 1 8 0 -0.5 0.5 12 -0.5 -0.5 1

Matriz rigidez elemento 5 Matriz rigidez elemento 11 Matriz rigidez elemento 173 4 5 16 8 9 13 14 15

3 0.5 -0.5 0 16 0.5 0 -0.5 13 0.5 -0.5 04 -0.5 1 -0.5 8 0 0.5 -0.5 14 -0.5 1 -0.55 0 -0.5 0.5 9 -0.5 -0.5 1 15 0 -0.5 0.5

Matriz rigidez elemento 6 Matriz rigidez elemento 12 Matriz rigidez elemento 1814 5 6 11 16 9 13 15 16

14 0.5 -0.5 0 11 0.5 -0.5 0 13 0.5 0 -0.55 -0.5 1 -0.5 16 -0.5 1 -0.5 15 0 0.5 -0.56 0 -0.5 0.5 9 0 -0.5 0.5 16 -0.5 -0.5 1

Figura 11. Matrices locales de rigidez para cada elemento

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16R1 1 -0.5 0 0 0 0 0 0 0 0 0 -0.5 0 0 0 0R2 -0.5 2 -0.5 0 0 0 0 0 0 0 0 0 -1 0 0 0R3 0 -0.5 2 -0.5 0 0 0 0 0 0 0 0 0 -1 0 0R4 0 0 -0.5 1 -0.5 0 0 0 0 0 0 0 0 0 0 0R5 0 0 0 -0.5 2 -0.5 0 0 0 0 0 0 0 -1 0 0R6 0 0 0 0 -0.5 2 -0.5 0 0 0 0 0 0 0 -1 0R7 0 0 0 0 0 -0.5 1 -0.5 0 0 0 0 0 0 0 0R8 0 0 0 0 0 0 -0.5 2 -0.5 0 0 0 0 0 -1 0R9 0 0 0 0 0 0 0 -0.5 2 -0.5 0 0 0 0 0 -1R10 0 0 0 0 0 0 0 0 -0.5 1 -0.5 0 0 0 0 0R11 0 0 0 0 0 0 0 0 0 -0.5 2 -0.5 0 0 0 -1R12 -0.5 0 0 0 0 0 0 0 0 0 -0.5 2 -1 0 0 0R13 0 -1 0 0 0 0 0 0 0 0 0 -1 4 -1 0 -1R14 0 0 -1 0 -1 0 0 0 0 0 0 0 -1 4 -1 0R15 0 0 0 0 0 -1 0 -1 0 0 0 0 0 -1 4 -1R16 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 -1 4 Figura 12. Matriz de rigidez global

Page 43: Comparacion Metodos Mdf Mef Mvf

4.4.3 Programación

La subrutina Elementos Finitos utiliza la matriz H como matriz de rigidez. El calculo de

esta se realiza mediante el calculo de la matriz local de rigidez para cada elemento

directamente en la matriz de rigidez global. Para esto la matriz H se inicia en ceros y en

cada término se van acumulando los valores correspondientes a la matriz de rigidez

global. Para recorrer los elementos se utiliza la variable K. El total de elementos es NCI el

cual es leído del archivo de entrada. Observe que la matriz de rigidez global se calcula en

un solo ciclo DO. En el mismo ciclo se acumulan en el vector B los términos de

generación para cada elemento finito. Después de este se procede a incorporar las

condiciones de conducción de calor en la frontera para cada nodo aprovechando el hecho

de que estos se encuentran en la frontera.

Debido a que se conoce el valor de las variables en algunos nodos por ser condiciones de

frontera, la matriz de rigidez contiene columnas que corresponden a variables conocidas.

Estas variables conocidas deben ser reemplazadas por las variables que no se conocen

mediante la multiplicación del valor conocido por la columna y su adición algebraica en el

lado izquierdo. Todos los términos de la columna reemplazada deben quedar con valor

cero excepto el que corresponde a la variable desconocida que queda con valor uno. Esta

operación con las columnas se efectúa al incorporar las condiciones de frontera de

temperatura para lo cual se debe leer el vector de condiciones de frontera CF.

Obsérvese que una vez calculadas las matrices del sistema su resolución es inmediata

mediante el empleo de la función Resolver Sistema.

Page 44: Comparacion Metodos Mdf Mef Mvf

SUBROUTINE ElementosFinitos

INTEGER K,I,J,Nodo1,Nodo2,Nodo3,nElem REAL N1,N2,N3,Ai,Aj,Ak,Bi,Bj,Bk,Ci,Cj,Ck,Xi,Xj,Xk,Yi,Yj,Yk, pX,pY,Area,Longitud ALLOCATE(H(nn,nn),Q(nn),B(nn),X(nn)) ALLOCATE(Conexion(NNF,2)) WRITE(Salida,*) 'Elementos Finitos' H = 0.0 B = 0.0 ! Generación de calor X = 0.0 DO K = 1,NCI Nodo1 = NodosDeCeldas(K,1) Nodo2 = NodosDeCeldas(K,2) Nodo3 = NodosDeCeldas(K,3) Xi = xf(Nodo1) Xj= xf(Nodo2) Xk = xf(Nodo3) Yi = yf(Nodo1) Yj = yf(Nodo2) Yk = yf(Nodo3) Ai = Xj*Yk - Xk*Yj Aj = Xk*Yi - Xi*Yk Ak = Xi*Yj - Xj*Yi pX = (Xi + Xj + Xk)/3 pY = (Yi + Yk + Yk)/3 Bi = Yj - Yk Bj = Yk - Yi Bk = Yi - Yj Ci = Xk - Xj Cj = Xi - Xk Ck = Xj - Xi Area = fCalcularAreaCelda(K) ! Ensamblar matriz de rigidez para el elemento H(Nodo1,Nodo1) = H(Nodo1,Nodo1) + (Bi**2 + Ci**2)/(4*Area) H(Nodo1,Nodo2) = H(Nodo1,Nodo2) + (Bi*Bj + Ci*Cj)/(4*Area) H(Nodo1,Nodo3) = H(Nodo1,Nodo3) + (Bi*Bk + Ci*Ck)/(4*Area) H(Nodo2,Nodo2) = H(Nodo2,Nodo2) + (Bj*Bj + Cj*Cj)/(4*Area) H(Nodo2,Nodo3) = H(Nodo2,Nodo3) + (Bj*Bk + Cj*Ck)/(4*Area) H(Nodo3,Nodo3) = H(Nodo3,Nodo3) + (Bk*Bk + Ck*Ck)/(4*Area) H(Nodo2,Nodo1) = H(Nodo1,Nodo2) H(Nodo3,Nodo1) = H(Nodo1,Nodo3) H(Nodo3,Nodo2) = H(Nodo2,Nodo3) ! Ensamblar vector generación de calor B(Nodo1) = B(Nodo1) - Constante*Area/3 B(Nodo2) = B(Nodo2) - Constante*Area/3 B(Nodo3) = B(Nodo3) - Constante*Area/3

Page 45: Comparacion Metodos Mdf Mef Mvf

END DO WRITE(Salida,*) 'Matriz de rigidez sin Condiciones frontera' CALL ImprimirMatriz(H) !Imprimir vector B WRITE(Salida,*) 'Vector B' CALL WRRRN ('B', 1, UBOUND(B), B, 1, 0) !Imprime el vector B !Conexion de los elementos de frontera DO nNodo = 1,nnf Conexion(nNodo,1) = nNodo Conexion(nNodo,2) = nNodo+1 END DO Conexion(nnf,2) = 1 !Agregar condiciones de frontera de calor DO K = 1,NEF IF (CF(K*2-1) == 1) THEN Longitud = fCalcularLongitud(Conexion(K,1),Conexion(K,2)) B(Conexion(K,1)) = B(Conexion(K,1)) - Longitud*VF(K*2-1)/2 B(Conexion(K,2)) = B(Conexion(K,2)) - Longitud*VF(K*2)/2 END IF END DO !Agregar condiciones de frontera de temperatura DO K = 1,NNF IF (Condicion(K) == 0) THEN DO I = 1,NN B(I) = B(I) - V(K)*H(I,K) H(I,K) = 0 END DO H(K,K) = 1 END IF END DO !Imprimir vector B WRITE(Salida,*) 'Vector B + Condiciones frontera' CALL WRRRN ('B', 1, UBOUND(B), B, 1, 0) !Imprime el vector B WRITE(Salida,*) 'Matriz H de rigidez mas Condiciones frontera' CALL ImprimirMatriz(H) CALL ResolverSistema(H,X,B) END SUBROUTINE

Page 46: Comparacion Metodos Mdf Mef Mvf

4.5 ELEMENTOS DE FRONTERA

Resuelve el problema del potencial mediante el cálculo de integrales sobre la frontera del

dominio, las cuales se derivan de la minimización de residuos ponderados.

4.5.1 Formulación

bu =∇2 en O

( ) 02 =Ω−∇∫Ω

wdbu

( ) 02 =Ω−Ω∇ ∫∫ΩΩ

bwdwdu

Integrando por partes el primer termino utilizando la primera identidad de Green

∫∫∫ΩΓΩ

Ω∇∇−Γ∇=Ω∇ wduudwwdu)( 2 Sustituyendo en la anterior

0=Ω−Ω∇∇−Γ∇ ∫∫∫ΩΩΓ

bwdwduudw

Reordenando se obtiene:

∫∫∫ΩΓΩ

Ω−Γ∇=Ω∇∇ bwdudwwdu

Integrando nuevamente por partes el término ∫Ω

Ω∇∇ wdu se tiene:

( ) ( ) Ω∇−Γ∇=Ω∇∇ ∫ ∫∫Γ ΩΩ

udwudwwdu 2

Reemplazando en la ecuación se tiene:

( ) ( ) 02 =Ω−Ω∇+Γ∇−Γ∇ ∫∫ ∫∫ΩΓ ΩΓ

bwdudwudwudw

Si de divide la frontera Γ del dominio Ω en las fronteras 1Γ y 2Γ tales que en 1Γ se

conoce el valor de _

uu = y en 2Γ _

qq = donde nu

q∂∂

=

Page 47: Comparacion Metodos Mdf Mef Mvf

Ω

1Γ2Γ

_

uu =_

qq =

Figura 13. Dominio, frontera y condiciones.

La ecuación anterior se puede escribir así:

( ) ( ) ( ) 02 =Γ∇−Γ∇+Ω−Ω∇∫ ∫ ∫∫Ω Ω ΓΓ

dwuduwbwdudw

( ) ( ) ( ) ( ) 02121

21

_

2

_

12 =Γ∇−Γ∇−Γ

+Γ∇+Ω−Ω∇∫ ∫ ∫∫∫∫

Ω Ω ΓΓΓΓ

dwudwudqwduwbwdudw

Integrando por partes el término ( )∫Ω

Ω∇ udw2 se obtiene:

( ) Γ∇+Ω∇∇−=Ω∇ ∫∫∫ΓΩΩ

dwuduwudw2

Se separa la última integral en dos términos:

( ) 212

21

Γ∇+Γ∇+Ω∇∇−=Ω∇ ∫∫∫∫ΓΓΩΩ

dwudwuduwudw

Reemplazando en la ecuación y cancelando el término ( )∫Γ

Γ∇2

2dwu se obtiene:

( ) ( ) 01211

1

_

2

_

11 =Γ∇−Γ

+Γ∇+Ω−Γ∇+Ω∇∇− ∫ ∫∫∫∫∫

Ω ΓΓΓΓΩ

dwudqwduwbwddwuduw

Integrando por partes el término Ω∇∇∫Ω

duw se tiene:

∫ ∫∫Ω ΓΩ

Γ∇+Ω∇−=Ω∇∇ udwudwduw 2

Separando la integral de frontera en sus componentes:

∫ ∫∫∫Ω ΓΓΩ

Γ∇+Γ∇+Ω∇−=Ω∇∇21

212 udwudwudwduw

Sustituyendo en la ecuación y cancelando el término ( )∫Γ

Γ∇1

1duw se tiene:

Page 48: Comparacion Metodos Mdf Mef Mvf

( ) 01212

1

_

2

_

122 =Γ∇−Γ

+Ω−Γ∇+Γ∇−Ω∇ ∫ ∫∫∫∫ ∫

Ω ΓΓΓΩ Γ

dwudqwbwddwuudwudw

Integrando por partes dos veces el término ∫Ω

Ω∇ udw 2 se obtiene:

( ) ∫∫∫∫∫∫ΓΓΩΓΩΩ

Γ∇+Γ∇−Ω∇=Γ∇+Ω∇∇−=Ω∇ udwwduudwudwudwudw 22

Separando las integrales de frontera:

( ) ( ) ∫∫∫∫∫∫∫∫ΓΓΓΓΩΓΓΩ

Γ∇+Γ∇+Γ∇−Γ∇−Ω∇=Γ∇+Γ∇−Ω∇2121

212122 udwudwwduwduudwudwwduudw

Remplazando y cancelando los términos 1

1

Γ∇∫Γ

dwu y ∫Γ

Γ∇2

2udw se obtiene:

( ) ( ) 01212

1

_

2

_

122 =Γ∇−Γ

+Ω−Γ∇+Γ∇−Ω∇ ∫ ∫∫∫∫∫

Ω ΓΓΓΓΩ

dwudqwbwdudwwduudw

Reorganizando los términos:

( ) ( )∫∫∫∫∫∫ΓΓΓΓΩΩ

Γ∇+Γ∇+Γ∇−Γ

−=Ω−Ω∇

1212

1

_

212

_2 dwuwduudwdqwbwdudw

Reuniendo nuevamente términos se tiene la expresión inicial para el método de los

elementos de frontera:

( ) ∫∫∫∫ΓΩΓΩ

Γ∇=Ω−Γ∇+Ω∇ wdubwdudwudw2

En este punto se introduce la función radial *u , la cual será utilizada en la ecuación

anterior para obtener las ecuaciones del método elementos de frontera:

La ecuación

=

ru

1ln

21

, *u representa el campo generado por una unidad de carga

concentrada en el punto i , y tiene la propiedad de ( ) 0*2 =+∇ iu δ

Donde iδ : .0 casootroen

Lim i

xx i

=

∞==>−

δ

iδ es la función delta de Dirac. r es la distancia desde el punto ix de aplicación de la

función delta de Dirac hasta cualquier otro punto en consideración. El efecto de esta carga

se propaga desde el punto i hasta el infinito sin considerar las condiciones de frontera.

Page 49: Comparacion Metodos Mdf Mef Mvf

De la propiedad anterior se obtiene:

( ) iu δ−=∇ *2

En la integral ( )∫Ω

Ω∇ udw2 se toma *uw =

Por la propiedad del delta de Dirac mediante la cual la integral de una función delta de

Dirac multiplicada por otra función es igual a la función evaluada en el punto i se tiene:

( ) ( ) ( ) iii ucududuudw −=Ω−=Ω∇=Ω∇ ∫∫∫ΩΩΩ

δ*22 El superíndice i significa evaluada en el

punto i. ic es un factor que permite modificar el valor de la función de acuerdo con la

ubicación punto donde se evalúa respecto a la frontera. Si el punto i se encuentra en

medio del dominio, es decir es un punto interior 1=ic . Si se encuentra en una frontera es

proporcional al área de un circulo unitario (Con centro en i) entre los lados de la frontera

que tienen el punto i como punto de unión, como se muestra en la figura.

1=ic

5.0=ic

25.0=ic 125.0=ic

Figura 14. Valores para la constante Ci.

Como se menciono anteriormente se toma la función radial y se sustituye en la ecuación:

( ) ∫∫∫∫ΓΩΓΩ

Γ∇=Ω−Γ∇+Ω∇ wdubwdudwudw2

Para lo cual se emplean las siguientes equivalencias:

( ) iiucudw −=Ω∇∫Ω

2 *uw = *qw =∇ qu =∇

Con lo cual se llega a la ecuación integral para el método de elementos de frontera:

∫∫∫ΓΩΓ

Γ=Ω−Γ+− duqdbuqduuc ii ***

Page 50: Comparacion Metodos Mdf Mef Mvf

Reordenando los términos:

∫∫∫ΓΩΓ

Γ=Ω+Γ+ dqudbuduquc ii ***

Esta ecuación esta formulada para el dominio y la frontera completos. Ahora la tarea que

falta consiste en dividir la frontera en varias partes y aplicar la ecuación en cada una de

ellas. La anterior ecuación se cumple para cada punto que este en la frontera. Si la

frontera se divide en N segmentos o elementos entonces para cada punto i del dominio

se cumplirá la siguiente ecuación expresada en forma de sumatoria.

∑∑==

=++N

j

jijiN

j

iijii qGDuHuc11

Donde ∫Γ

Γ=j

jij duqH * sobre la frontera j desde el punto i ,

∫Ω

Ω= dbuDi * , integral de superficie desde el punto i sobre todo el dominio

∫Γ

Γ= dquG ij * , sobre la frontera j desde el punto i.

Si se toman N puntos sobre la frontera entonces se obtiene el sistema matricial:

GQDHU =+

La cual es la ecuación de partida para la discretización del método de los elementos de

frontera, la cual permite calcular el potencial para un punto dado del dominio.

A continuación se muestra como se efectúa su discretización. En donde, u* representa la

función radial y q* representa su derivada con respecto al vector normal en la frontera,

así:

=

ru

1ln

21

Para un medio bidimensional isotrópico.

y

ru

π41

* = Para un medio tridimensional isotrópico.

r es la distancia desde punto de origen a la frontera considerada.

>−

∂=

n

uq

**

Page 51: Comparacion Metodos Mdf Mef Mvf

Para un nodo i se cumple la siguiente integral de frontera:

∫ ∫Γ Γ

Γ=Γ+ dquduquc ii **

Para una frontera dividida en n elementos lineales se tiene para cada nodo:

∫ ∫∫∫Γ ΓΓΓ

Γ++Γ=Γ++Γ+n n

nnii dqudquduqduquc *...**...*

11

11

Para evaluar las integrales se debe tener presente que:

=

ru

1ln

21

, >−

∂=

n

uq

** , ( )εφ −= 1

21

1 , ( )εφ += 121

2

Sea ? la frontera comprendida entre los puntos A y B.

Figura 15. Puntos para la función radial.

Las coordenadas del elemento se pueden obtener mediante la siguiente expresión:

( ) ( )22

)( ABBA XXXXX

−+

+= εε , ( ) ( )

22)( ABBA YYYY

Y−

++

= εε con 11 ≤≤− ε

Para el radio se tiene: ( ) ( )[ ]222II YYXXr −+−=

El radio en función de ε : ( ) ( )( ) ( )( )[ ]222

II YYXXr −+−= εεε La frontera Γ expresada en función del parámetro ε se puede expresar de la forma:

i

3

(XA

? j

(X ,Y)

(XI ,YI)

r

(XB ,YB)

Page 52: Comparacion Metodos Mdf Mef Mvf

( ) ( ) ( )

++−

++

=Γ22

)(,

22)( ABBAABBA YYYYXXXX

εεε

Su derivada ( )ε'Γ y magnitud de la derivada son respectivamente:

( ) ( ) ( )

−−=Γ

2,

2' ABAB YYXXε y ( ) ( ) ( )22'

21

ABAB YYXX −+−=Γ ε

Esta última constituirá más adelante el Jacobiano para el cambio de variable en la

expresión integral que se obtendrá.

4.5.1.1 Calculo integral de la integral que contiene el termino u*

Sea la integral: ∫Γ

Γdqu *

22

11 qqq φφ += y

=

ru

1ln

21

Reemplazando q y u* en la integral

( ) ( ) ( )∫∫∫ΓΓΓ

Γ

+ d

rqd

rqd

rqq 1ln

21ln

21ln

21

2

2

1

12

21

1 φπ

φππ

φφ

Del cálculo integral para un cambio de variable se tiene:

( ) ( )( ) ( ) εεεε

dxfdxf 'Γ=Γ ∫∫Γ

Por lo tanto haciendo el cambio de variable:

( ) ( )( )( )

( )∫∫ΓΓ

Γ

εε

εεφ

πφ

πd

rqd

rq '

1

1

1

1 1ln2

1ln2

Se tiene:

( )( ) ( ) ( ) ( )( )( ) ( )( )

( ) ( )∫∫ΓΓ

−+−

−+−−=Γ

ε

εεεεε

εεφ dYYXX

YYXXd

r ABAB

II

22

22

'1 2

11ln1211ln

Page 53: Comparacion Metodos Mdf Mef Mvf

4.5.1.2 Calculo de la integral que contiene el termino q*

Sea la integral: ∫Γ

Γduq *

Para >−

∂=n

uq ** se tiene >−

>−•∇=

∂= nun

uq ***

En dos dimensiones se tiene:

∂∂

∂=

∇=∇

yu

xu

ru

*,

*1ln

21

, xr

ru

xu

∂∂

∂∂

=∂

∂ ** y

yr

ru

yu

∂∂

∂∂=

∂∂ **

Se determinan el gradiente y las derivadas parciales de la función radial

( ) ( )[ ]222II YYXXr −+−= Derivando implícitamente:

rXX

xr I−

=∂∂

rYY

yr I−

=∂∂

−=

∂∂

=∂

∂rrrr

u 1211

ln21*

ππ

Ahora se determina el vector normal >−

n al vector de recta determinado por los puntos

(XA,YA) y (XB,YB) mediante su producto cruz con el vector ( )1,0,0=>−

k . El producto de un

vector en el plano xy con el vector ( )1,0,0=>−

k produce otro vector normal en el plano xy

perpendicular a ambos vectores.

( ) ( )1,0,00,, ×−−=>−

ABAB YYXXn

( ) ( ) jikji

n ABBA

ABAB

XXYYYYXX

>−>−

>−>−>−

>−

−+−=−−

=0100

Reemplazando los términos anteriores en >−

>−•∇=

∂= nun

uq *** se tiene:

( )ABBAII XXYY

rYY

rXX

nun

uq −−⋅

−−

−=•∇=∂

∂=>−

>−,

2,

2***

22 ππ

Page 54: Comparacion Metodos Mdf Mef Mvf

El valor de u en un punto del elemento en función ε de esta dado por:

( ) ( ) ( ) BABA uuuuu εεφφε ++−=+= 121

121

21

( )( )

( )( ) ( )ABBA

II XXYYr

YYr

XXnu

n

uq −−⋅

−−

−−=•∇=

∂=

>−

>− ,2

,2

**

* 22 επε

επε

( )( )( ) ( )( )( )( )

−−+−−−=•∇=

∂=

>−

>− επεε

22*

**

rXXYYYYXX

nun

uq ABIBAI

Introduciendo las expresiones anteriores en la integral y teniendo en cuenta el cambio de

variable r por ε :

( ) ( ) ( ) ( ) ( )( )( ) ( )( )( )( ) Γ

−−+−−

++−−=Γ∫ ∫

Γ

dr

XXYYYYXXuudqu ABIBAIBA

επεε

εεεε 221

21

121

*

Del cálculo integral para un cambio de variable se tiene:

( ) ( )( ) ( ) εεεε

dxfdxxf 'Γ= ∫∫Γ

Para este caso se tiene:

( ) ( ) ( ) ( ) ( )( )( ) ( )( )( )( )

( ) εεεπ

εεεεεε d

r

XXYYYYXXuudqu ABIBAIBA '

221

21

121

* Γ

−−+−−

++−−=Γ∫ ∫

Γ

Donde:

( ) ( ) ( )

−+

+−+

+=Γ

22)(

,22

)( ABBAABBA YYYYXXXXεεε

( ) ( ) ( )

−−

=Γ2

,2

' ABAB YYXXε y ( ) ( ) ( )22'

21

ABAB YYXX −+−=Γ ε

Cada integral de la forma ∫

Γ

Γ1

1* duq por lo tanto se puede separar en dos integrales:

∫∫∫ΓΓΓ

Γ+Γ=Γ1

111221

111111

1 *** dqudquduq φφ

Page 55: Comparacion Metodos Mdf Mef Mvf

Donde:

( ) ( )( )( ) ( )( )( )( )

( ) ( ) εεπ

εεεφ dYYXX

rXXYYYYXX

udqu ABABABIBAIAA 22

2111 21

21

21* −+−

−−+−−

−−=Γ∫ ∫

Γ

( ) ( )( )( ) ( )( )( )( )

( ) ( ) εεπ

εεεφ dYYXX

r

XXYYYYXXudqu ABAB

ABIBAIBB 222112 2

12

121

* −+−

−−+−−

+−=Γ∫ ∫

Γ

4.5.1.3 Calculo de la integral de dominio con generación b de calor Ahora se procede a evaluar la integral que contiene el término b de generación de calor:

Sea la integral: ∫Ω

Ωdbu *

∫∫ΩΩ

Ω

=Ω d

rbdbu 1ln

21*π

El término ∫Ω

Ωdbu * implica que se debe calcular una integral de dominio. Si la forma del

dominio es simple se puede efectuar una integración sobre todo el dominio. En otros

casos se recomienda dividir el dominio en regiones de integración llamadas celdas. Al

seleccionar los puntos de integración se debe tener cuidado de que estos no queden

sobre la frontera ya que esto causaría que la distancia r del punto a la frontera empleada

en la función radial *u sea cero y su valor infinito con lo cual la integral se vuelva

impropia. Una forma de evaluar las integrales impropias consiste en eliminar la

singularidad mediante su cambio en otra integral utilizando la Transformación de Telles.

(Ver BREBBIA, The Dual Reciprocity Boundary Element Method). La función contenida

dentro del símbolo de integral se puede evaluar mediante diversos métodos de

integración numérica: Romberg, Simpson, Regla del Trapecio, Cuadraturas Gaussianas,

etc. (Ver CHAPRA). Por sencillez y eficiencia se opta por la integración gaussiana, en la

cual se tomaran puntos de evaluación de la función radial que no estén sobre la frontera.

e

M

e

r

ki AbudbuD ∑ ∑∫

= =Ω=

=Ω1 1

**

Donde:

e = Número de celda

Page 56: Comparacion Metodos Mdf Mef Mvf

M = Número de celdas o regiones internas

Ae = Área de la celda e

Di = Resultado de la integración para cada punto i

r = Número de puntos de integración en cada celda

Al unir todos los términos de las ecuaciones integrales para los elementos de frontera se

tiene el siguiente sistema de ecuaciones:

Hu + B = Gq

Para las celdas triangulares se utilizó integración con siete puntos de gauss de acuerdo

con la siguiente tabla:

Punto Peso Coordenada 1 Coordenada 2 Coordenada 31 0.225 0.33333333 0.33333333 0.333333332 0.12592918 0.79742699 0.10128651 0.101286513 0.12592918 0.10128651 0.79742699 0.101286514 0.12592918 0.10128651 0.10128651 0.797426995 0.13239416 0.05971587 0.47014206 0.470142066 0.13239416 0.47014206 0.05971587 0.470142067 0.13239416 0.47014206 0.47014206 0.05971587

Tabla 1. Puntos y pesos de gauss para integración con siete puntos.

Page 57: Comparacion Metodos Mdf Mef Mvf

4.5.2 Aplicación Debido al tamaño de las ecuaciones para el caso de la placa rectangular con 16 nodos y

12 elementos de frontera, se presenta el desarrollo de las ecuaciones para un modelo que

consta de tres elementos de frontera y cuatro nodos.

Figura 16. Fronteras y división dominio triangular

Para un nodo i se cumple la siguiente integral de frontera:

∫ ∫∫Γ Γ

Γ=Ω+Γ+ dqudbuduquc ii ***

Se separa la frontera en tres elementos correspondientes a cada lado del triangulo:

∫ ∫∫∫∫∫Γ ΓΓΓΓΓ

Γ+Γ+Γ=Γ+Γ+Γ+2 3

32

21

13

321

1 ****** dqudqudquduqduqduquc ii

El lado izquierdo de la ecuación queda de la siguiente forma:

∫ ∫∫Γ ΓΓ

Γ+Γ++Γ+2 3

321

1 *** duqduqduquc ii

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ+3

313213

313132

212232

212121

111221

1111111 ****** dqudqudqudqudqudquuc φφφφφφ

1

3

2

4

?1

? 3 ?2

Page 58: Comparacion Metodos Mdf Mef Mvf

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ+3

323213

323132

222232

222121

121221

1211122 ****** dqudqudqudqudqudquuc φφφφφφ

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ+3

333213

333132

232232

232121

131221

1311111 ****** dqudqudqudqudqudquuc φφφφφφ

Reorganizando los elementos se obtiene:

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ+2

212233

313131

111222

212123

313211

1111111 ****** dqudqudqudqudqudquuc φφφφφφ

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ++Γ+Γ2

222233

323131

121222

2221222

332321

112111 ****** dqudqudqudquucdqudqu φφφφφφ

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ++Γ+Γ+Γ+Γ2

232233

3331333

113122

223212

333321

113111 ****** dqudquucdqudqudqudqu φφφφφφ

Lo cual se puede expresar como un producto matricial:

Γ+Γ+Γ+ΓΓ+Γ

Γ+ΓΓ+Γ+Γ+Γ

Γ+ΓΓ+ΓΓ+Γ+

∫∫∫∫∫∫∫∫∫∫∫∫

∫∫∫∫∫ ∫

ΓΓΓΓΓΓ

ΓΓΓΓΓΓ

ΓΓΓΓΓ Γ

3

2

1

22322

33331

3

11312

22321

33332

11311

22222

33231

11212

22221

2

33232

11211

22122

33131

11112

22121

1 331321111

1

******

******

******

uuu

dqdqcdqdqdqdq

dqdqdqdqcdqdq

dqdqdqdqdqdqc

φφφφφφ

φφφφφφ

φφφφφφ

Para el lado derecho de la ecuación:

∫∫∫ΓΓΓ

Γ+Γ+Γ3

32

21

1 *** dqudqudqu

Se tiene:

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ3

3132133

3131332

2122322

2121221

1112211

111111 ****** duqduqduqduqduqduq φφφφφφ

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ3

3232133

3231332

2222322

2221221

1212211

121111 ****** duqduqduqduqduqduq φφφφφφ

∫∫∫∫∫∫ΓΓΓΓΓΓ

Γ+Γ+Γ+Γ+Γ+Γ3

3332133

3331332

2322322

2321221

1312211

131111 ****** duqduqduqduqduqduq φφφφφφ

Page 59: Comparacion Metodos Mdf Mef Mvf

Expresado en forma matricial se tiene:

ΓΓΓΓΓΓ

ΓΓΓΓΓΓ

ΓΓΓΓΓΓ

∫∫∫∫∫∫

∫∫∫∫∫∫

∫∫∫∫∫∫

ΓΓΓΓΓΓ

ΓΓΓΓΓΓ

ΓΓΓΓΓΓ

13

33

32

22

21

11

33332

33331

22322

22321

11312

11311

33232

33231

22222

22221

11212

11211

33132

33131

22122

22121

11112

11111

******

******

******

qqq

qqq

dudududududu

dudududududu

dudududududu

φφφφφφ

φφφφφφ

φφφφφφ

Para el problema de la placa rectangular se tiene:

q = 10

b = -5T = 300 °C T = 0 °C

q = 10

1 432

8 7

6

512

11

10 9

13 14

1516

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1 2 3

4

5

6

789

10

12

11

5

5

Nodo

Celda

Elemento de frontera

Figura 17. División dominio para elementos de frontera.

Page 60: Comparacion Metodos Mdf Mef Mvf

La matriz H queda como sigue:

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12R1 -0.250 0.000 0.000 0.026 0.047 0.037 0.030 0.037 0.047 0.026 0.000 0.000R2 0.070 -0.500 0.000 0.038 0.063 0.041 0.035 0.047 0.052 0.035 0.034 0.085R3 0.038 0.000 -0.500 0.070 0.085 0.034 0.035 0.052 0.047 0.035 0.041 0.063R4 0.026 0.000 0.000 -0.250 0.000 0.000 0.026 0.047 0.037 0.030 0.037 0.047R5 0.035 0.034 0.085 0.070 -0.500 0.000 0.038 0.063 0.041 0.035 0.047 0.052R6 0.035 0.041 0.063 0.038 0.000 -0.500 0.070 0.085 0.034 0.035 0.052 0.047R7 0.030 0.037 0.047 0.026 0.000 0.000 -0.250 0.000 0.000 0.026 0.047 0.037R8 0.035 0.047 0.052 0.035 0.034 0.085 0.070 -0.500 0.000 0.038 0.063 0.041R9 0.035 0.052 0.047 0.035 0.041 0.063 0.038 0.000 -0.500 0.070 0.085 0.034R10 0.026 0.047 0.037 0.030 0.037 0.047 0.026 0.000 0.000 -0.250 0.000 0.000R11 0.038 0.063 0.041 0.035 0.047 0.052 0.035 0.034 0.085 0.070 -0.500 0.000R12 0.070 0.085 0.034 0.035 0.052 0.047 0.035 0.041 0.063 0.038 0.000 -0.500

La matriz G:

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12R1 0.12 -0.03 -0.15 -0.19 -0.24 -0.27 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33R2 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30R3 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28R4 -0.27 -0.24 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.24 -0.27R5 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12 -0.03 0.12 0.12 -0.03 -0.15 -0.19R6 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22 -0.19 -0.15 -0.03 0.12 0.12 -0.03R7 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29 -0.27 -0.24 -0.19 -0.15 -0.03 0.12R8 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12R9 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22R10 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29R11 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29R12 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31

C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24R1 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29 -0.27 -0.24 -0.19 -0.15 -0.03 0.12R2 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12R3 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22R4 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29R5 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29R6 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31R7 0.12 -0.03 -0.15 -0.19 -0.24 -0.27 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33R8 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30R9 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28R10 -0.27 -0.24 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.24 -0.27R11 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12 -0.03 0.12 0.12 -0.03 -0.15 -0.19R12 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22 -0.19 -0.15 -0.03 0.12 0.12 -0.03

Page 61: Comparacion Metodos Mdf Mef Mvf

El vector de integrales de dominio con el término de generación da como

resultado:

-40.80-33.65-33.65-40.78-33.65-33.65-40.80-33.65-33.65-40.78-33.65-33.65-23.40-23.40-23.40-23.40

La solución del sistema formado es:

Nodo T Qd Qa

1 300.00 10.00 -57.452 198.76 10.00 10.003 98.01 10.00 10.004 0.00 42.74 10.005 0.00 61.94 61.946 0.00 61.97 61.977 0.00 10.00 42.668 98.02 10.00 10.009 198.75 10.00 10.00

10 300.00 -57.37 10.0011 300.00 -39.63 -39.6312 300.00 -39.60 -39.60

4.5.3 Programación En la subrutina Elementos Frontera se ejecuta una llamada a MATRICES la cual produce

como salida el sistema AX = B. Este sistema se resuelve llamando a Resolver Sistema y

coloca la solución en el vector X. El vector X debe ser interpretado debido a que contiene

información de temperaturas y flujo de calor. La forma de saber a que corresponde

consiste en leer el vector de condiciones CF. Este vector tiene dos condiciones por cada

elemento de frontera. Una para el nodo al inicio del elemento y otra para el nodo al final

del elemento. La condición es 0 cuando se conoce la temperatura y 1 cuando se conoce

Page 62: Comparacion Metodos Mdf Mef Mvf

el flujo. Para este caso existe un nodo de frontera entre dos elementos de frontera, en

ese nodo la temperatura es única pero el flujo de calor puede ser distinto en cada

elemento.

Gi+1 Gi

qaqd

u

Figura 18. Flujos de calor y potencial alrededor de un nodo.

NEF es el número de elementos de frontera, NNF es el número de nodos de

frontera, nNodo es el número del nodo que se esta procesando y nElem es el

número del elemento de frontera. Entonces se recorren los elementos de frontera

y para cada uno se halla la condición del nodo común en el elemento anterior y en

el elemento actual. Se hace nNodo = nElem. Actual = nElem*2 - 1 esto da la

posición de la condición del nodo común del elemento de frontera en el vector de

condiciones CF. Y Anterior = nElem*2-2 es la posición del mismo nodo en el

elemento de frontera anterior. Es decir que se revisa la condición del mismo nodo

en los dos elementos actual y anterior. Si el elemento es el primer elementos de

frontera, entonces el mismo nodo es compartido con el último elemento y por eso

varia el calculo de la posición del nodo Anterior para el primer elemento: IF (Actual

.EQ. 1) THEN Anterior = nef*2.

Las condiciones para un nodo dado pueden ser:

U(nNodo) Conocido Q(Actual) Desconocido Q(Anterior) Desconocido U(nNodo) Conocido Q(Actual) Desconocido Q(Anterior) Conocido U(nNodo) Conocido Q(Actual) Conocido Q(Anterior) Desconocido U(nNodo) Desconocido Q(Actual) Conocido Q(Anterior) Conocido

Por lo tanto el vector X contiene el valor desconocido y los valores conocidos se

llevan al vector correspondiente. Sí la condición del nodo indica que el flujo de

calor Q(Anterior) es desconocido, entonces X contiene el valor del flujo de calor Q

Page 63: Comparacion Metodos Mdf Mef Mvf

para el nodo sobre el elemento anterior. En el caso de que ambos flujos de calor

Q(Anterior) y Q(Actual) sean desconocidos, entonces se asume que son iguales.

SUBROUTINE ElementosFrontera INTEGER nn,I,J,nNodo WRITE(*,*) "Elementos Frontera" ALLOCATE(H(nnf,nnf),G(nnf,nnf*2),A(nnf,nnf),F(nnf,nnf*2),B(nnf),C(nnf),X(nnf),U(nnf*2),Q(nnf*2)) ALLOCATE(Conexion(nnf,2),D(nnf+nni)) !Conexion de los elementos de frontera DO nNodo = 1,nnf Conexion(nNodo,1) = nNodo Conexion(nNodo,2) = nNodo+1 END DO Conexion(nnf,2) = 1 CALL MATRICES CALL ResolverSistema(A,X,B) WRITE(Salida,*) " nNodo "," X "," U "," QActual "," QAnterior" DO nElem=1,nef nNodo = nElem Actual = nElem*2-1 IF (Actual .EQ. 1) THEN Anterior = nef*2 ELSE Anterior = nElem*2-2 END IF !U(nNodo) Conocido, Q(Actual) Desconocido, Q(Anterior) Desconocido IF (CF(Actual) .EQ. 0 .AND. CF(Anterior) .EQ. 0) THEN U(nNodo) = VF(Actual) Q(Actual) = X(nNodo) Q(Anterior) = X(nNodo) END IF !U(nNodo) Conocido, Q(Actual) Desconocido Q(Anterior) Conocido IF (CF(Actual) .EQ. 0 .AND. CF(Anterior) .EQ. 1) THEN U(nNodo) = VF(Actual) Q(Anterior) = VF(Anterior) Q(Actual) = X(nNodo) END IF !U(nNodo) Conocido, Q(Actual) Conocido Q(Anterior) Desconocido IF (CF(Actual) .EQ. 1 .AND. CF(Anterior) .EQ. 0) THEN U(nNodo) = VF(Anterior) Q(Actual)= VF(Actual) Q(Anterior) = X(nNodo) END IF !U(nNodo) DesConocido, Q(Actual) Conocido Q(Anterior) Conocido IF (CF(Actual) .EQ. 1 .AND. CF(Anterior) .EQ. 1) THEN Q(Anterior) = VF(Anterior) Q(Actual)= VF(Actual) U(nNodo) = X(nNodo) END IF WRITE(Salida,"(I7,4F10.2)") nNodo,X(nNodo),U(nNodo), Q(Actual),Q(Anterior) END DO CALL CalcularPuntosInternos END SUBROUTINE ElementosFrontera

Page 64: Comparacion Metodos Mdf Mef Mvf

En la subrutina MATRICES se elaboran las matrices H, Q y se llama la rutina CALL

IntegralesArea para calcular las integrales de dominio a partir de los datos de entrada.

Para calcular integrales que componen cada número de la matriz se llaman las funciones

correpondientes: CalcularHij, CalcularHii, IntegralG1, IntegralG2. Para cada nodo se

recorren todos los elementos y se calculan las integrales de frontera.

SUBROUTINE MATRICES

INTEGER Nodo,Elem,I,prmElem H = 0.0 G = 0.0 ¡ Calcular los elementos de la matriz H DO Nodo = 1,nnf DO Elem = 1,nef IF (Nodo .NE. Elem) THEN H(Nodo,Elem) = CalcularHij(Nodo,Elem,nef)/2 END IF END DO ! Calcular elemento diagonal de la matriz H H(Nodo,Nodo) = CalcularHii(Nodo,nef) END DO CALL ImprimirMatriz(H) ! Calcular los elementos de la matriz G DO Nodo = 1,nnf DO Elem = 1,nef !IF (Nodo .NE. Elem) THEN G(Nodo,Elem*2-1) = IntegralG1(Nodo,Elem) G(Nodo,Elem*2) = IntegralG2(Nodo,Elem) !END IF END DO END DO CALL ImprimirMatriz(G) CALL IntegralesArea CALL CalcularMatricesAF END SUBROUTINE MATRICES

Page 65: Comparacion Metodos Mdf Mef Mvf

La función CalcularHii calcula los valores de la diagonal principal de la matriz H mediante

la suma de todos los valores de la fila que no pertenecen a la diagonal.

REAL FUNCTION CalcularHii(I,prm_nef) INTEGER, INTENT(IN) :: I INTEGER, INTENT(IN) :: prm_nef INTEGER prmNodo,prmElem REAL fValor fValor = 0.0 DO prmElem = 1,prm_nef IF (prmElem .NE. I) THEN fValor = fValor + H(I,prmElem) END IF END DO CalcularHii = -fValor END FUNCTION CalcularHii En la función CalcularHij se calcula el valor de la integral de frontera o de línea desde un

nodo prmNodo sobre un elemento prmElem.

∫∫ Γ+Γ=+= prmElemprmElemij dqdqhhh ** 2121 φφ

REAL FUNCTION CalcularHij(prmNodo,prmElem,prm_nef)

INTEGER, INTENT(IN) :: prmNodo INTEGER, INTENT(IN) :: prmElem INTEGER, INTENT(IN) :: prm_nef REAL h1,h2

h1 = 0 h2 = 0 h1 = IntegralH1(prmNodo,prmElem) IF (prmElem .EQ. 1) THEN h2 = IntegralH2(prmNodo,prm_nef) ELSE h2 = IntegralH2(prmNodo,prmElem-1) END IF CalcularHij = h1 + h2 END FUNCTION CalcularHij En IntegralH1 se calcula la expresión ∫ Γ= prmElemdqh *11 φ

REAL FUNCTION IntegralH1(prmNodo,prmElem) INTEGER, INTENT(IN) :: prmNodo INTEGER, INTENT(IN) :: prmElem INTEGER I REAL fResultado, fTotal fResultado = 0.0 fTotal = 0.0 DO I = 1,4

Page 66: Comparacion Metodos Mdf Mef Mvf

fResultado = fPhi1(PGauss(I))*fQRadial(prmNodo,prmElem,PGauss(I))* FPeso(I)*fJacobiano(prmElem)

fTotal = fTotal + fResultado END DO IntegralH1 = -fTotal

END FUNCTION IntegralH1 En la función IntegralH2 se calcula ∫ Γ= prmElemdqh *22 φ

REAL FUNCTION IntegralH2(prmNodo,prmElem) REAL fResultado, fTotal INTEGER prmNodo,prmElem,I,J fResultado = 0.0 fTotal = 0.0 DO I = 1,4

fResultado = fPhi2(PGauss(I))*fQRadial(prmNodo,prmElem,PGauss(I))* FPeso(I)*fJacobiano(prmElem)

fTotal = fTotal + fResultado END DO IntegralH2 = -fTotal

END FUNCTION IntegralH2

La función fPhi1 corresponde a la función de interpolación Isoparamétrica ( )εφ −= 121

1 .

REAL FUNCTION fPhi1(PGauss) REAL,INTENT(IN) :: PGauss

fPhi1 = (1-PGauss)/2 END FUNCTION fPhi1

La función fPhi2 corresponde a la función de interpolación Isoparamétrica ( )εφ += 121

2 .

REAL FUNCTION fPhi2(PGauss) REAL,INTENT(IN) :: PGauss

fPhi2 = (1+PGauss)/2 END FUNCTION fPhi2

Page 67: Comparacion Metodos Mdf Mef Mvf

La función fQRadial evalúa la función radial *q en el punto PG desde el nodo prmNodo.

( )( )

( )( ) ( )ABBA

II XXYYr

YYr

XXnu

n

uq −−⋅

−−

⋅−

−=•∇=∂

∂=

>−

>− ,2

,2

**

* 22 επε

επε

Los arreglos xf y yf son variables globales que indican las coordenadas x y y del nodo. REAL FUNCTION fQRadial(prmNodo,prmElem,PG)

INTEGER prmNodo,prmElem REAL XA, XB, YA, YB, XI, YI, X, Y, R2, fNum, fDen, PG

XI = xf(prmNodo) YI = yf(prmNodo) XA = xf(Conexion(prmElem,1)) XB = xf(Conexion(prmElem,2)) YA = yf(Conexion(prmElem,1)) YB = yf(Conexion(prmElem,2)) X = (XA + XB)/2 + PG*(XB - XA)/2 Y = (YA + YB)/2 + PG*(YB - YA)/2 R2 = (X - XI)*(X - XI) + (Y - YI)*(Y - YI) fNum = (X - XI)*(YA - YB) + (Y - YI)*(XB - XA) fDen = 2*3.141592654*R2 fQRadial = fNum/fDen END FUNCTION fQRadial La función fJacobiano calcula corresponde a un medio de la longitud del elemento de frontera.

( ) ( ) ( )22'

21

ABAB YYXX −+−=Γ ε

REAL FUNCTION fJacobiano(prmElem)

REAL XA,XB,YA,YB INTEGER prmElem

XA = xf(Conexion(prmElem,1)) XB = xf(Conexion(prmElem,2)) YA = yf(Conexion(prmElem,1)) YB = yf(Conexion(prmElem,2)) fJacobiano = SQRT((XB - XA)**2 + (YB - YA)**2)/2 END FUNCTION fJacobiano

Page 68: Comparacion Metodos Mdf Mef Mvf

La función IntegralG1 corresponde a la integral de frontera, evaluada mediante el uso de

integración gaussiana de cuatro puntos.

( )( )( )

( )∫Γ

Γ

εε

εεφ d

r'

1

1ln

( )( )( ) ( )( )

( ) ( )∫Γ

−+−

−+−− ε

εεε dYYXX

YYXXABAB

II

22

22 211ln1

21

REAL FUNCTION IntegralG1(prmNodo,prmElem)

INTEGER, INTENT(IN) :: prmNodo,prmElem INTEGER I,J REAL f1,f2,f3,f4,fResultado IntegralG1 = 0.0 f1 = 0.0 f2 = 0.0 f3 = 0.0 f4 = 0.0 fResultado = 0.0 DO I = 1,4 f1 = fPhi1(PGauss(I)) f2 = fURadial(prmNodo,prmElem,PGauss(I)) f3 = FPeso(I) f4 = fJacobiano(prmElem) fResultado = (f1*f2*f3*f4) IntegralG1 = IntegralG1 + fResultado END DO

END FUNCTION IntegralG1

Page 69: Comparacion Metodos Mdf Mef Mvf

La función IntegralG2 corresponde a la integral de frontera, evaluada mediante el uso de

integración gaussiana de cuatro puntos.

( )( )( )

( )∫Γ

Γ

εε

εεφ d

r'

2

1ln

REAL FUNCTION IntegralG2(prmNodo,prmElem)

INTEGER prmNodo,prmElem,I,J REAL f1,f2,f3,f4,fResultado IntegralG2 = 0.0 f1 = 0.0 f2 = 0.0 f3 = 0.0 f4 = 0.0 fResultado = 0.0 DO I = 1,4 f1 = fPhi2(PGauss(I)) f2 = fURadial(prmNodo,prmElem,PGauss(I)) f3 = FPeso(I) f4 = fJacobiano(prmElem) fResultado = (f1*f2*f3*f4) IntegralG2 = IntegralG2 + fResultado END DO

END FUNCTION IntegralG2 La función fURadial evalua la función radial *u en con base en el nodo prmNodo hasta el punto de gauss PG del elemento prmElem.

( )( )( ) ( )( )

−+−=

22

* 1ln21

II YYXXu

εεπε

REAL FUNCTION fURadial(prmNodo,prmElem,PG)

REAL XA,XB,YA,YB,XI,YI,X,Y,R, PG INTEGER prmNodo,prmElem

XI = xf(prmNodo) YI = yf(prmNodo) XA = xf(Conexion(prmElem,1)) XB = xf(Conexion(prmElem,2)) YA = yf(Conexion(prmElem,1)) YB = yf(Conexion(prmElem,2)) X = (XA + XB)/2 + PG*(XB - XA)/2 Y = (YA + YB)/2 + PG*(YB - YA)/2 R = SQRT((X - XI)**2 + (Y - YI)**2) fURadial = (1/(2*3.141592654))*ALOG(1/R) END FUNCTION fURadial

Page 70: Comparacion Metodos Mdf Mef Mvf

En la subrutina CalcularMatricesAF se toman las matrices H y G como variables de

entrada y a partir de estas se construyen las matrices A y F. Este cambio es necesario

debido a que en las matrices H y G existen columnas que corresponden a valores de

frontera conocidos y columnas que corresponden a valores desconocidos. Por lo tanto en

el sistema HQ + D = GU existen valores conocidos en los vectores Q y de U. Para poder

resolver este sistema se debe llevar a la forma AX = B, donde la matriz A contendrá todas

las columnas que corresponden a las variables desconocidas y el vector B contendrá el

valor de todas las valores conocidos multiplicados por su fila columna correspondiente.

Esto requiere un intercambio de columnas entre las matrices H y G. Para realizar este

intercambio se crean dos matrices auxiliares A y F donde A contendrá las columnas

correspondientes a las variables desconocidas y F contendrá los valores de las columnas

correspondientes a las variables conocidas. En el vector C se calculara el resultado de

multiplicar la matriz F por los valores conocidos y se colocará el resultado en el vector B.

Con lo cual se obtiene el sistema AX = B.

SUBROUTINE CalcularMatricesAF INTEGER Actual,Anterior,nElem,nNodo, I,J A = 0.0 F = 0.0 !A = H !F = G ! Ab = c = FV DO nElem=1,nef nNodo = nElem Actual = nElem*2-1 IF (Actual .EQ. 1) THEN Anterior = nef*2 ELSE Anterior = nElem*2-2 END IF !U(nNodo) Conocido, Q(Actual) Desconocido, Q(Anterior) Desconocido IF (CF(Actual) .EQ. 0 .AND. CF(Anterior) .EQ. 0) THEN U(nNodo) = VF(Actual) DO J=1,nnf A(J,nElem) = -G(J,Actual) -G(J,Anterior) F(J,Actual) = -H(J,nElem) END DO END IF !U(nNodo) Conocido, Q(Actual) Desconocido Q(Anterior) Conocido IF (CF(Actual) .EQ. 0 .AND. CF(Anterior) .EQ. 1) THEN U(nNodo) = VF(Actual)

Page 71: Comparacion Metodos Mdf Mef Mvf

Q(Anterior) = VF(Anterior) DO J=1,nnf A(J,nElem) = -G(J,Actual) F(J,Actual) = -H(J,nElem) F(J,Anterior) = G(J,Anterior) END DO END IF !U(nNodo) Conocido, Q(Actual) Conocido Q(Anterior) Desconocido IF (CF(Actual) .EQ. 1 .AND. CF(Anterior) .EQ. 0) THEN U(nNodo) = VF(Anterior) Q(Actual)= VF(Actual) DO J=1,nnf A(J,nElem) = -G(J,Anterior) F(J,Anterior) = -H(J,nElem) F(J,Actual) = G(J,Actual) END DO END IF !U(nNodo) DesConocido, Q(Actual) Conocido Q(Anterior) Conocido IF (CF(Actual) .EQ. 1 .AND. CF(Anterior) .EQ. 1) THEN Q(Anterior) = VF(Anterior) Q(Actual)= VF(Actual) DO J=1,nnf A(J,nElem) = H(J,nElem) F(J,Anterior) = G(J,Anterior) F(J,Actual) = G(J,Actual) END DO END IF END DO WRITE(Salida,*) "Matriz A" CALL ImprimirMatriz(A) WRITE(Salida,*) "Matriz F" CALL ImprimirMatriz(F) !Calcular vector c WRITE(Salida,*) "Vector c" DO I=1,nnf c(I) = 0.0 DO J=1,nef*2 c(I) = c(I) + F(I,J)*VF(J) END DO c(I) = c(I) - D(I) WRITE(Salida,*) c(I) END DO b = c END SUBROUTINE CalcularMatricesAF

Page 72: Comparacion Metodos Mdf Mef Mvf

En la subrutina INTEGRALESAREA se calculan los valores correspondientes a la integral

de dominio,

e

M

e

r

ki AbudbuD ∑ ∑∫

= =Ω=

=Ω1 1

**

Para lo cual se evalúa la función *u utilizando integración gaussiana de siete puntos. NN

es el total de nodos del sistema.

SUBROUTINE INTEGRALESAREA INTEGER Nodo1,Nodo2,Nodo3,K,PG,I REAL XA,XB,XC,YA,YB,YC,XI,YI,XP,YP,IntegralDominio REAL C1,C2,C3,DX,DY,R,LE,LJ !Calcular area celdas internas WRITE(Salida,*) "Area Celdas" DO K = 1,nci AreaCelda(K) = fCalcularAreaCelda(K) WRITE(Salida,*) K," ",AreaCelda(K) END DO DO I = 1,nn !Integración sobre todo el dominio desde el punto i XI = xf(I) YI = yf(I) IntegralDominio = 0.0 DO K=1,nci !Nodo1,Nodo2,Nodo3 Conectividad de la celda !XA,XB,XC,YA,YB,YC Coordenadas de los vértices de las celdas Nodo1 = NodosDeCeldas(K,1) Nodo2 = NodosDeCeldas(K,2) Nodo3 = NodosDeCeldas(K,3) XA = xf(Nodo1) XB = xf(Nodo2) XC = xf(Nodo3) YA = yf(Nodo1) YB = yf(Nodo2) YC = yf(Nodo3) DO PG = 1,7 C1 = PGauss7(PG,1) C2 = PGauss7(PG,2) C3 = PGauss7(PG,3) ! XY YP Coordenadas del punto de integración XP = XA*C1 + XB*C2 + XC*C3 YP = YA*C1 + YB*C2 + YC*C3 ! DX, DY Componentes de R DX = XI - XP DY = YI - YP R = SQRT(DX*DX + DY*DY) IntegralDominio = IntegralDominio - FPeso7(PG)*

Page 73: Comparacion Metodos Mdf Mef Mvf

AreaCelda(K)*ALOG(1.0/R)*Constante/(2.0*PI)

END DO END DO !Al completarse la integración sobre el dominio completo !desde el punto i el resultado se coloca en el vector D D(I) = IntegralDominio WRITE(Salida,*) I," ",D(I) END DO END SUBROUTINE INTEGRALESAREA La subrutina CalcularPuntosInternos calcula el potencial de los puntos interiores del

dominio, es decir los puntos que no están en la frontera. Para esto se aprovecha el hecho

de que las matrices H, la matriz G y el vector D ya están calculados y también se conocen

los valores del potencial y del flujo de calor en cada uno de los puntos de la frontera, por

lo tanto solo es necesario calcular la expresión:

∫ ∫∫ΓΓ

Ω−Γ−Γ= dbuduqdquuc ii ***

La cual expresada en forma matricial para obtener iu queda así:

∑ ∑=

−−=1j

ijijjiji DuHqGu

Esta se cumple para cada punto interior, puesto que es valida para cada punto del

dominio.

SUBROUTINE CalcularPuntosInternos INTEGER I,J REAL G,H G = 0.0 H = 0.0 DO I = NNF+1,NNF+NNI U(I) = 0.0 DO J = 1,NNF U(I) = U(I) - (IntegralG1(I,J)*Q(J*2-1) +

IntegralG2(I,J)*Q(J*2)) + (CalcularHij(I,J,nef)/2)*U(J) END DO U(I) = U(I) + D(I) WRITE(Salida,*) I, U(I) END DO END SUBROUTINE CalcularPuntosInternos

Page 74: Comparacion Metodos Mdf Mef Mvf

4.6 SOLUCION MEDIANTE SOFTWARE DE ELEMENTOS FINITOS ANSYS 8.0 Para resolver el problema con el programa ANSYS 8.0 se planteo un modelo

tridimensional con 12 elementos por lado.

Figura 19. Malla empleada.

Page 75: Comparacion Metodos Mdf Mef Mvf

Figura 20. Distribución de nodos clave para lectura de resultados.

Figura 21. Temperaturas.

Page 76: Comparacion Metodos Mdf Mef Mvf

4.7 RESULTADO COMPARATIVO

En la tabla siguiente se muestra el resumen de los resultados obtenidos por cada método.

Metodo FDM FVM FEM BEM ANSYS 8.0Nodo T T T Q T Qd Qa T

1 300.00 300.00 300.00 -53.30 300.00 10.00 -57.45 300.002 200.00 200.00 200.00 198.76 10.00 10.00 197.573 100.00 100.00 100.00 98.01 10.00 10.00 97.574 0.00 0.00 0.00 43.30 0.00 42.74 10.00 0.005 0.00 0.00 0.00 120.00 0.00 61.94 61.94 0.006 0.00 0.00 0.00 120.00 0.00 61.97 61.97 0.007 0.00 0.00 0.00 46.70 0.00 10.00 42.66 0.008 100.00 100.00 100.00 98.02 10.00 10.00 97.579 200.00 200.00 200.00 198.75 10.00 10.00 197.57

10 300.00 300.00 300.00 -56.70 300.00 -57.37 10.00 300.0011 300.00 300.00 300.00 -80.00 300.00 -39.63 -39.63 300.0012 300.00 300.00 300.00 -80.00 300.00 -39.60 -39.60 300.0013 210.00 210.00 210.00 210.39 209.6514 110.00 110.00 110.00 109.77 109.6515 110.00 110.00 110.00 109.77 109.6516 210.00 210.00 210.00 210.39 209.65

Tabla 2. Resultado comparativo métodos finitos.

Se observa que los valores hallados para la temperatura coinciden. En los métodos de

diferencias y volúmenes finitos solo se obtuvieron valores para la temperatura, los valores

para los flujos de calor se deben hallar mediante un post procesamiento. En el método de

elementos finitos se calcularon los valores faltantes no incluidos en las condiciones de

frontera. En el método de elementos de frontera se calcularon los valores desconocidos

para los nodos de frontera (Del 1 al 12): temperatura del nodo, calor en el nodo del

elemento anterior, calor en el nodo del elemento posterior. Para obtener los valores de

temperatura en los nodos interiores (Del 13 al 16) se realizo un cálculo posterior.

Para verificar si los resultados son consistentes se debe hacer un balance de calor en los

distintos modelos. El calor ingresa al sistema por dos medios por la frontera oeste (W)

que tiene una temperatura de 300° C y por generación de calor en su interior. El calor sale

por todas las demás fronteras (S, E, N).

Page 77: Comparacion Metodos Mdf Mef Mvf

Para el método de los elementos finitos se tiene el siguiente resultado:

300 200 100 0

20 20 20-56.7 46.7

-80 210 110 120

T = 300 °C B= -180 T = 0 °C

-80 210 110 120

-53.3 43.320 20 20

1 432

8 7

6

512

11

10 9

13 14

1516

Figura 22. Resultado por el método de elementos finitos.

Cuyo balance es como sigue:

Por la cara W ingresan 56.7 + 80 + 80 + 53.3 = 270 julios.

El calor generado es 5x6x6 = 180 julios.

El aumento de calor en el sistema es 270 + 180 = 450 julios.

La salida de calor por la cara N es 10 x 6 = 60 julios.

La salida de calor por la cara S es 10 x 6 = 60 julios.

Por la cara E salen: 46.7 + 120 + 120 + 43.3 = 330 julios.

Total calor que abandona el sistema: 60 + 60 + 330 = 450 julios.

Se cumple en condiciones de flujo estable que el aumento de calor es igual a la

disminución en el sistema: 270 + 180 = 60 + 60 + 330 = 450 julios.

Page 78: Comparacion Metodos Mdf Mef Mvf

Para el método de los elementos de frontera se tiene el siguiente resultado:

300 198.75 98.02 0

10 10 10 10 10 10-57.37 42.66

-39.63 210.39 109.77 61.97-39.63 61.97

T = 300 °C B= -180 T = 0 °C

-39.6 210.39 109.77 61.94-39.6 61.94

-57.45 42.7410 10 10 10 10 10

300 198.76 98.01 0

1 432

8 7

6

512

11

10 9

13 14

1516

Figura 23. Resultado por el método de elementos de frontera.

Cuyo balance es como sigue:

Por la cara W ingresan 57.37+39.63x2+39.2x2+57.45 = 273.28 julios.

El calor generado es 5x6x6 = 180 julios.

El aumento de calor en el sistema es 273.28 + 180 = 453.28 julios.

La salida de calor por la cara N es 10 x 6 = 60 julios.

La salida de calor por la cara S es 10 x 6 = 60 julios.

Por la cara E salen: 42.74+61.94x2+61.97x2+42.66 = 333.22 julios.

Total calor que abandona el sistema: 60 + 60 + 330 = 453.22 julios.

Se cumple en condiciones de flujo estable que el aumento de calor es igual a la

disminución en el sistema: 273.28 + 180 = 60 + 60 + 333.22 ≅ = 453.2 julios.

Los resultados obtenidos por elementos finitos y por elementos de frontera son

consistentes para cada método y entre sí.

Page 79: Comparacion Metodos Mdf Mef Mvf

5 ESTRUCTURA DEL PROGRAMA

En este aparte solo se presenta el código compartido por los distintos métodos. El detalle

de cada método se puede consultar en la sección dedicada a cada método en capítulos

anteriores.

5.1 ESQUEMA GENERAL

Figura 24. Estructura del programa.

En este esquema se aprecia que existe un solo modulo de variables globales y un solo

modulo de lectura. Cada método se implemento en un modulo independiente. Las rutinas

que pueden ser utilizadas por dos o mas módulos se agruparon en un solo modulo de

rutinas comunes.

ModuloGlobales

ModuloPrincipal

ModuloDiferencias

Finitas

ModuloVolumenes

Finitos

ModuloElementos

Finitos

ModuloElementos de Frontera

ModuloLectura

ModuloRutinas

Comunes

Page 80: Comparacion Metodos Mdf Mef Mvf

5.2 MODULO GLOBALES

En este modulo, se declaran todas las variables y constantes utilizadas por el programa,

entre ellas:

NN Numero Nodos = NNF + NNI NNF Numero Nodos Frontera NNI Numero Nodos Internos NEF Numero Elementos Frontera NCI Numero Celdas Internas XF Vector coordenadas X de nodos YF Vector coordenadas Y de los nodos Conexion Arreglo bidimensional indica la conexión de los elementos de

frontera. NodosDeCeldas Arreglo indica los nodos que conforman una celda interna. AreaCelda Vector que indica el área de las celdas internas U Vector para almacenar el valor del Potencial Q Vector para almacenar el valor de la derivada del potencial o flujo Las variables son declaradas en este modulo pero solo se le asigna espacio y son

iniciadas con su valores antes de ser utilizadas. Las variables que contienen datos de

entrada son iniciadas en el modulo de lectura, las que contienen resultados son iniciadas

en el modulo respectivo, para lo cual primero se les debe asignar espacio en memoria

utilizando la instrucción ALLOCATE y a continuación se inician sus valores según se

requiera.

5.3 MODULO LECTURAS

La rutina de lectura debe estar en concordancia con el formato del archivo de entrada de

datos, el cual es un archivo texto con el nombre Problema.inp. El archivo de entrada tiene

el siguiente formato que es el mismo para todos los métodos:

Primera línea: b Valor constante de generación

Segunda línea: NF Número nodos de frontera NNI Numero nodos internos NEF Número de líneas de frontera NCI Número de celdas internas o elementos

Tercera línea: Línea de encabezados para las líneas siguientes

Siguientes NN líneas, una línea por cada nodo con la siguiente información:

P Numero nodo S Nodo Sur

E Nodo Este

Page 81: Comparacion Metodos Mdf Mef Mvf

N Nodo Norte W Nodo Oeste

X Coordenada X Y Coordenada Y C Código condición del nodo V Valor condición nodo Observe que NN se calcula con los valores leídos en la segunda línea: NN = NNF + NNI

Siguientes NCI líneas. Una línea por cada celda interna o elemento:

Numero de la celda o elemento Primer nodo local de la celda o nodo 1 o nodo i Segundo nodo local de la celda o nodo 2 o nodo j Tercer nodo local de de la celda o nodo 3 o nodo k Siguientes 2*NEF líneas. Dos líneas por cada elemento de frontera para indicar la

condición frontera y su valor para cada elemento de frontera:

Código de la condición Valor de la condición

Cada dato dentro del archivo de entrada esta separado por tabuladores y cada línea esta

separada de la siguiente por un retorno de línea.

SUBROUTINE LECTURA USE GLOBALES INTEGER nNodo,nElem Entrada = 5 ! Archivo de entrada Salida = 6 ! Archivo de salida OPEN(Entrada, FILE = 'Problema.inp', STATUS='OLD') OPEN(Salida, FILE = 'Salida.txt', STATUS='REPLACE') READ(Entrada,*) Constante,NNF,NNI,NEF,NCI WRITE(Salida,"(F7.3,4I4)") Constante,NNF,NNI,NEF,NCI READ(Entrada,*) !Saltar linea de encabezados NN = NNF + NNI ALLOCATE(S(nn),E(nn),N(nn),W(nn),YF(nn),XF(nn),Condicion(nn),V(nn)) ALLOCATE(NodosDeCeldas(NCI,3),AreaCelda(NCI) ,CF(2*NNF),VF(2*NNF)) READ(Entrada,*) (S(I),S(I),E(I),N(I),W(I),XF(I),YF(I),Condicion(I),V(I),I=1,nn) WRITE(Salida,"(5I4,2F7.2,I3,F7.2)") (I,S(I),E(I),N(I),W(I),XF(I),YF(I),Condicion(I),V(I),I=1,nn) !Leer los nodos de las celdas internas triangulares WRITE(Salida,*) 'Conexión de los nodos de las celdas internas' READ(Entrada,*)(nCelda,(NodosDeCeldas(nCelda,nNodo),nNodo=1,3),nCelda=1,nci) WRITE(Salida,"(4I4)")(nCelda,(NodosDeCeldas(nCelda,nNodo),nNodo=1,3),nCelda=1,nci)

Page 82: Comparacion Metodos Mdf Mef Mvf

!Leer las condiciones de frontera para el método elementos de frontera write(Salida,*) "Condiciones frontera" READ(Entrada,*) (CF(I),VF(I),I=1,2*NNF) WRITE(Salida,"(I4,F7.2)") (CF(I),VF(I),I=1,2*NNF) write(Salida,*) "Fin Lectura" RETURN END SUBROUTINE LECTURA

5.4 MODULO PRINCIPAL

PROGRAM Principal USE Globales USE Lecturas USE MetodoDiferencias USE MetodoVolumenes USE MetodoElementos USE MetodoFrontera USE Rutinas IMPLICIT NONE INTEGER Opcion PI = 3.141592654 Opcion = "0" CALL Lectura DO WHILE (Opcion<>5) WRITE(*,*) "METODOS FINITOS" WRITE(*,*) "1-Diferencias Finitas" WRITE(*,*) "2-Volúmenes Finitos" WRITE(*,*) "3-Elementos Finitos" WRITE(*,*) "4-Elementos de Frontera" WRITE(*,*) "5-Salir" WRITE(*,*) "Elija una opción" READ(*,*) Opcion SELECT CASE (Opcion) CASE (1) CALL DiferenciasFinitas CASE (2) CALL VolumenesFinitos CASE (3) CALL ElementosFinitos CASE (4) CALL ElementosFrontera END SELECT END DO

Page 83: Comparacion Metodos Mdf Mef Mvf

END PROGRAM Principal

Su función es enlazar y coordinar los distintos componentes de la aplicación.

5.5 MODULO RUTINAS Este modulo contiene las siguientes funciones y subrutinas:

Subrutina ResolverSistema(Matriz,X,B)

Resuelve el sistema AX = B

Donde: A es la matriz de entrada.

X es el vector solución del sistema.

B es el vector del lado derecho del sistema.

Para resolver el sistema la subrutina realiza una llamada a la función LSARG de la librería

IMSL de Fortran:

CALL LSARG (N, Matriz, LDA, B, IPATH, X)

Para mostrar el vector solución se utiliza la función WRRRN de la misma librería.

Función fCalcularAreaCelda(nCelda)

Esta función recibe el código o número de la celda (nCelda). Con este valor mediante el

uso de la función NodosDeCelda() determina los tres nodos que conforman la celda y

mediante la magnitud del producto cruz de dos vectores determinados por los tres puntos

calcula el área de la celda. Esta es una propiedad muy conocida del producto cruz.

Función fCalcularLongitud(nNodo1,nNodo2)

Esta función recibe dos puntos y calcula la distancia entre ellos utilizando la formula de la

distancia entre dos puntos.

Subrutina ImprimirMatriz(Matriz)

Utiliza la función WRRRL de la librería IMSL de Fortran. Esta función permite imprimir la

matriz en el archivo de salida utilizando un formato de presentación compacto, legible y

organizado.

Subrutina EnteroATexto(Numero,Texto)

Esta subrutina convierte un numero entero en una cadena de texto que puede ser

concatenada e impresa con otro texto para propósitos de presentación de los datos de los

encabezados de la matriz impresa.

Page 84: Comparacion Metodos Mdf Mef Mvf

6 CONCLUSIONES

Aunque la teoría de los métodos finitos es una campo de las matemáticas cuya

elaboración tomo aproximadamente dos siglos, su aplicación prác tica a la solución de

problemas de ingeniería es relativamente reciente y continúa aumentando el número y

variedad de problemas que se pueden resolver con ellos.

Los métodos finitos requieren la división del sistema en regiones, su descripción

geométrica, topológica y condiciones que afectan al sistema. Dependiendo del tipo de

sistema estos aspectos pueden variar considerablemente. La descripción geométrica se

refiere a la ubicación de los puntos de acuerdo con el sistema de coordinas utilizado. La

descripción topológica se refiere a que puntos conforman cada elemento del dominio. Y

las condiciones se refieren a cualquier conjunto de variables o medidas dadas para

puntos o elementos dados.

El modelo de un sistema elaborado mediante elementos discretos puede variar

notablemente de acuerdo con el número de puntos elegido, el número y forma de

elementos, el sistema de coordenadas, el número de grados de libertad o variables para

cada punto y las funciones de forma e interpolación seleccionadas. Mediante una

definición adecuada del sistema que se desea modelar, eligiendo un sistema de

coordenadas apropiado y aprovechando las propiedades de la simetría, el tamaño,

complejidad y dimensionalidad del problema se puede reducir.

El tiempo de preparación de un modelo y su tiempo de ejecución aumenta

exponencialmente con el número de puntos y elementos utilizados para construir el

modelo. Un error muy común consiste en tratar de modelar un sistema con más exactitud

de la requerida, lo cual ocasiona retrasos, aumento de costos para la obtención de los

resultados o vuelve la solución impractica por la cantidad de información que se debe

recoger y analizar.

Page 85: Comparacion Metodos Mdf Mef Mvf

La estrategia de solución del sistema de ecuaciones resultante del modelo incide en el

tiempo de solución del problema y en la cantidad de almacenamiento necesaria para

realizar los cálculos internos. Por lo cual para problemas pequeños y de propósito

ilustrativo la solución directa del sistema y la representación completa de la matriz puede

ser apropiado, pero esto no sucede en problemas grandes los cuales requieren otro tipo

de procesamiento del modelo y de almacenamiento de la matriz.

La reducción del orden de las ecuaciones diferenciales asociadas a un sistema, mediante

la integración por partes basada en el uso del teorema de Green facilita notablemente el

tratamiento matemático de los métodos finitos.

Uno de los aspectos que más dificultad ofrece al escribir los programas para cada uno de

los métodos es tener en cuenta apropiadamente las condiciones de frontera de forma que

estas se puedan procesar automáticamente. Esta dificultad debe ser tenida en cuenta al

definir el formato del archivo de entrada del problema, para lo cual se debería definir un

estándar que pueda ser procesado por varios métodos.

Para modelar, simular, validar e interpretar los resultados de un sistema cada sistema se

requiere entender el comportamiento físico subyacente del mismo.

Cuando se requiera construir un modelo nuevo es recomendable iniciar con un modelo

pequeño que se pueda verificar y validar fácilmente y solo aumentar su tamaño en la

medida que se requiera para obtener los resultados apropiados con la resolución

requerida.

Existen gran cantidad de programas comerciales y académicos basados en algunos de

los métodos finitos. Sin embargo, estos en su mayoría están escritos para aplicaciones o

problemas específicos. Por lo cual al intentar resolver un problema mediante métodos

numéricos es conveniente revisar si los programas existentes satisfacen la necesidad.

Solo en casos muy específicos y para aplicaciones particulares se recomendaría escribir

un programa.

Para cada una de las etapas de solución de problemas de ingeniería mediante el uso de

métodos finitos: Preparación, solución del sistema y procesamiento posterior existen

Page 86: Comparacion Metodos Mdf Mef Mvf

programas de aplicación que se pueden utilizar independientemente. Lo cual diminuye el

tiempo total para la solución del problema lo que permite dedicar mayor tiempo y esfuerzo

al análisis y optimización del sistema.

Page 87: Comparacion Metodos Mdf Mef Mvf

7 BIBLIOGRAFIA AKIN, J.E., Finite Element Análisis With Error Estimators. Butterwoth Heinemann: Elservier, 2005. 447p. BREBBIA, Carlos Alberto, DOMINGUEZ, J. Boundary elements. An introductory course. 2ed. Boston: Southampton, 1992. 206p. (Computational mechanics publications) BREBBIA, Carlos Alberto, PARTRIDGE, P.W.,WROBEL,L.C. The dual reciprocity boundary element method. 2ed. Boston: Southampton, 1992. 276p. (Computational mechanisc Publications) BUCHANAN, George R. Finite element análisis. Theory and problems. Estados Unidos: McGrawHill, 1994. 280p. CHAPRA, Steven C., CANALE, Raymond P. Métodos numéricos para ingenieros. 3ed. Mexico: Mc Graw Hill, 1999. 982p. FAGAN, M. J., Finite element analysis. Theory and practice. England: Longman. 1992. 315p. FERZIGER, Joel H., PERIC, Milovan. computational methods for fluid dynamics. Germany: Springer, 1996. 364p. HSU, Hwei P. Analisis vectorial. Delaware: Addison-Wesley Iberoamericana, 1987. 286p. KAPLAN, Wilfred. Matemáticas avanzadas. Para estudiantes de ingeniería. Mexico: Fondo Educativo Interamericano, 1985. 874p. LEWIS, R.W. MORGAN, K., THOMAS, H.R., SEETHARAMU, K.N. The finite element method in heat transfer a nalysis. . England: John Wiley & Sons , 1996. 279p. NORRIE, Douglas H., DE VRIES, Gerard. The finite element method. Fundamentals and applications. . New Yorik: Academic Press, 1973. 322p. ZIENKIEWICZ, O. C. El método de los elementos finitos. . España: Reverte, S.A, 1980. 484p. ZILL, Dennos G., CULLEN, Michael R. Ecuaciones diferenciales con problemas de valores en la frontera. 5ed. Boston: Thomson Learning, 2002. 631p. GALERKIN, Boris Grigorievich. [En línea]. <http://www.history.mcs.st- andrews.ac.uk/ Mathematicians/Galerkin.html>