Você está na página 1de 87

METODOS FINITOS

JOSE FERNANDO BOSCH MORENO







Trabajo de grado para optar al ttulo de:
Especialista en Modelacin, Simulacin,
y Optimizacin de Sistemas





Director
WHADY FELIPE FLORES ESCOBAR
Ph.D Mecnica Computacional








UNIVERSIDAD PONTIFICIA BOLIVARIANA
INSTITUTO DE ENERGIA Y TERMODINAMICA
MEDELLIN
2006






CONTENIDO

1 INTRODUCCION.......................................................................................................... 4
2 ANTECEDENTES ................................ ................................ ................................ ......... 5
3 CONCEPTOS ............................................................................................................... 7
3.1 FUNDAMENTOS MATEMTICOS................................ ................................ ................. 7
3.1.1 Operadores ................................................................................................................... 7
3.1.2 Series de Taylor. ........................................................................................................... 7
3.1.3 Teoremas de Green e Integracin por partes. ................................ ................................ . 8
3.1.4 Integracin Gaussiana. .................................................................................................. 9
3.2 CONCEPTOS FSICOS................................ ................................ ................................ 10
3.2.1 Propiedades especficas ............................................................................................... 10
3.2.2 Flujo ............................................................................................................................ 11
3.3 FUNCIONES DE FORMA E INTERPOLACIN.............................................................. 12
3.3.1 Interpolacin lineal ................................ ................................ ................................ ........ 13
3.3.2 Interpolacin lineal bidimensional .................................................................................. 14
3.4 MTODO DE GALERKIN. ............................................................................................ 16
3.5 ECUACIONES DE LAPLACE Y POISSON..................................................................... 17
4 MTODOS FINITOS ....................................................................................................19
4.1 PROBLEMA DE TRABAJO........................................................................................... 21
4.2 DIFERENCIAS FINITAS............................................................................................... 22
4.2.1 Formulacin................................................................................................................. 22
4.2.2 Aplicacin. ................................................................................................................... 25
4.2.3 Programacin............................................................................................................... 27
4.3 VOLMENES FINITOS ................................ ................................ ................................ 29
4.3.1 Formulacin................................................................................................................. 29
4.3.2 Aplicacin .................................................................................................................... 30
4.3.3 Programacin............................................................................................................... 32
4.4 ELEMENTOS FINITOS.................................................................................................34
4.4.1 Formulacin................................................................................................................. 34
4.4.2 Aplicacin .................................................................................................................... 40
4.4.3 Programacin............................................................................................................... 43
4.5 ELEMENTOS DE FRONTERA ...................................................................................... 46
4.5.1 Formulacin................................................................................................................. 46
4.5.2 Aplicacin .................................................................................................................... 57
4.5.3 Programacin............................................................................................................... 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






LISTA DE FIGURAS
Figura 1. Interpolacin lineal. ..........................................................................................13
Figura 2. Interpolacin lineal bidimensional. ................................................................14
Figura 3. Problema de trabajo........................................................................................21
Figura 4. Divisin del dominio en diferencias finitas. ..................................................25
Figura 5. Sistema matricial para diferencias finitas.....................................................27
Figura 6. Convencin para los nodos............................................................................30
Figura 7. Divisin del dominio en volmenes finitos. ..................................................30
Figura 8. Sistema matricial para volmenes finitos.....................................................32
Figura 9. Elemento finito triangular................................................................................39
Figura 10. Divisin 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 funcin radial. ......................................................................51
Figura 16. Fronteras y divisin dominio triangular .....................................................57
Figura 17. Divisin 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. Distribucin de nodos clave para lectura de resultados..........................75
Figura 21. Temperaturas.................................................................................................75
Figura 22. Resultado por el mtodo de elementos finitos..........................................77
Figura 23. Resultado por el mtodo de elementos de frontera.................................78
Figura 24. Estructura del programa. ..............................................................................79





1 INTRODUCCION


En la solucin de problemas de ingeniera se utilizan tcnicas de modelacin,
simulacin y optimizacin de sistemas mediante la aplicacin de mtodos
numricos en programas de computador. Los mtodos numricos para la
modelacin y simulacin de sistemas fsicos que se tratan en este trabajo son
diferencias finitas (FDM), volmenes 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 mtodos mencionados y resolver un mismo problema con cada uno de
los mtodos. Este trabajo permitir entender el proceso de formulacin de cada
mtodo, como se aplica a un problema especifico y como se puede programar en
un lenguaje de computador.

Aunque en la formulacin de los distintos mtodos se mostrarn sus fundamentos
matemticos bsicos, no se pretende realizar un anlisis matemtico completo el
cual incluira solucin analtica, anlisis de error y de convergencia. Para el autor,
el propsito de este trabajo esta en entender cada mtodo, sus fundamentos,
similitudes, diferencias, aplicacin y forma de programacin.





2 ANTECEDENTES


A continuacin se resean algunos hechos importantes en la historia de los mtodos
finitos.

Leonhard Euler (1707-1783) desarrolla un mtodo de diferencias finitas conocido como
mtodo de Euler para hallar la solucin 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
Anlisis to the Theories of Electricity and Magnetism. En este ensayo se presenta por
primera vez la expresin funcin de potencial y se presentan las tres identidades del
Teorema de Green, el cual fue utilizado inicialmente para resolver problemas de
electroesttica y magnetismo de forma tan exitosa que su uso se extendi para resolver
muchos otros problemas fsicos en las reas de la acstica, elasticidad, dilatacin y otras.

Carl Friedrich Gauss (1777-1855), a la edad de 22 aos public su tesis doctoral
Fundamental Theorem of lgebra, invent el mtodo de los mnimos cuadrados y lo
utiliz para calcular las orbitas de los planetas. Hizo aportes en la teora matemtica,
electromagntica, ptica, probabilidad, astronoma y geofsica.

Boris Grigorievich Galerkin (1871-1945), desarroll un Mtodo para realizar
integraciones aproximadas de ecuaciones diferenciales, el cual es conocido como Mtodo
de Galerkin. En 1915 public su mtodo del elemento finito basado en el Mtodo de
Galerkin.

Lord Rayleigh (1842 1919), Walter Ritz (1879 1909) establecieron la aplicacin del
mtodo variacional conocido como mtodo Rayleigh-Ritz a problemas de slidos
elsticos.

A partir de 1940 numerosos investigadores realizan aportes que llevan al desarrollo y uso
difundido del mtodo de los elementos finitos. Hrennikoff en 1941 utiliz el mtodo de
trabajo del marco para solucionar problemas de elasticidad. Courant public un artculo
en 1943 donde utiliza la interpolacin lineal por partes sobre regiones triangulares para
modelar problemas de torsin. En 1955, Argyris presenta teoremas de energa y mtodos
matriciales que permiten expandir la teora del elemento finito. En 1956, Turner y otros
investigadores obtuvieron matrices de rigidez para armaduras y vigas. Clough retoma el
trmino elemento finito en 1960. En 1967, Zienkiewicz publica el primer libro sobre
elementos finitos. Alrededor de 1970 se inicio su aplicacin a modelos no lineales, se
afianzaron sus bases matemticas y estudios de convergencia.

Carlos Alberto Brebbia (1948-). El trmino Boundary Element surgi en 1977 al ser
utilizado por simultneamente por varios autores en la universidad de Southampton.
Brebbia present el mtodo de elementos de frontera utilizando la formulacin de residuos
ponderados. Brebbia tambin ha publicado numerosos textos en el tema de elementos
finitos.

En el 2004, una revisin de las referencias a los mtodos finitos que se encontraron en
Internet arrojo como resultado 66.237 entradas para el mtodo de los elementos finitos
(FEM); 19.531, para el mtodo de diferencias finitas (FDM); 10.126, para el mtodo de
elementos de frontera (BEM); 1.695, para el mtodo de volmenes finitos (FVM) y 1.615
para el mtodo de colocacin (CM). Con lo cual se observa que el mtodo de mayor
difusin es el mtodo de los elementos finitos.

El profesor Eduard Kansa ha escrito numerosos artculos sobre la solucin de
ecuaciones diferenciales mediante mtodos numricos sin grilla basados en funciones de
base radial. A la fecha continua expandindose las aplicaciones de los mtodos finitos y
anualmente se publican numerosos artculos sobre el tema.





3 CONCEPTOS


3.1 FUNDAMENTOS MATEMTICOS

3.1.1 Operadores

Gradiente

k
z
f
j
y
f
i
x
f
f Con f funcin escalar

Divergencia
z
f
y
f
x
f
F
z
y
x

Con F funcin vectorial



Laplaciano
2
2
2
2
2
2
2
z
f
y
f
x
f
f
z
y
x

Con f funcin escalar



3.1.2 Series de Taylor.

Las series de Taylor son importantes en los mtodos de Diferencias Finitas y de
Volmenes Finitos. Cuando solo se toman los primeros trminos de una serie de Taylor
se denominan polinomios de Taylor. Una serie de Taylor permite aproximar el valor de
una funcin en un punto cercano x alrededor de un punto conocido
0
x mediante una
suma de trminos obtenidos de la forma:
( ) ( ) ( )
( )
( )
( )
( )
( )
( ) ...
!
...
! 3 ! 2
) (
3
' ' '
2
' '
'
+ + + + + +
n
o
o
n
o
o
o
o
o o o
x x
n
x f
x x
x f
x x
x f
x x x f x f x f


3.1.3 Teoremas de Green e Integracin 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 lnea. La segunda al reducir el orden de las derivadas.
Los teoremas de Green pueden considerarse como casos de integracin por partes,
puesto que una integral se descompone en integrales que deben ser ms simples de
resolver. As los teoremas de Green permiten expresar ecuaciones integro diferenciales
de forma ms apropiada para su manipulacin y solucin utilizando mtodos numricos
y/o analticos.

Se tiene la siguiente expresin inicial:

dxdy
x


Mediante la regla de integracin por partes:
( ) ( )



b
a
a x b x
b
a
vdu uv uv udv
La integral interna se puede expresar de la siguiente forma:
( ) ( )


b
a
b
a
a x b x
dx
x
dx
x


Reemplazando en la expresin inicial como se observa a continuacin:
( ) ( ) [ ] dy dx
x
dy dxdy
x
d
c
b
a
d
c
a x b x


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

> >
d n d i n dy x

El trmino ( ) ( ) [ ]



d
c
a x b x
dy se puede expresar como una integral de lnea sobre la
frontera as: ( ) ( ) [ ]
>


d i n dy
d
c
a x b x
y la expresin general queda:
dy dx
x
d i n dxdy
x
d
c
b
a

>






Para la variable y se tiene:
dy dx
y
d j n dxdy
y
d
c
b
a

> >


Sumando las dos ecuaciones anteriores:
dy dx
y x
d j n i n dxdy
y x
d
c
b
a
1
]
1


1
]
1

,
_

+
1
]
1

> > > >




Partiendo del Teorema de la Divergencia de Gauss se puede obtener la primera identidad
o Teorema de Green y la segunda identidad o Teorema Simtrico. Sea el siguiente
Teorema de Gauss donde F es una funcin vectorial.

>

S V
dS n F dV F
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 expresin
( ) ( ) ( )

>
+
S V
dS n dV
2

Conocida como la primera identidad de Green.
Realizando el mismo procedimiento con F se obtiene:
( ) ( ) ( )

>
+
S V
dS n dV
2

Se restan las dos ltimas ecuaciones y se obtiene el teorema simtrico de Green.
( ) ( ) ( ) ( )

>

S V
dS n dV
2 2


3.1.4 Integracin Gaussiana.

Existen varios mtodos de integracin numrica para calcular una integral definida de una
funcin. Entre estos se puede mencionar la regla trapezoidal, las reglas de Simpson y
otras, las cuales estn basadas en la divisin del intervalo de integracin en segmentos

iguales y el clculo de la funcin en los extremos de cada segmento. Esto conduce a
expresiones conformadas por sumatorias de la evaluacin de la funcin en distintos
puntos del intervalo ponderadas por un valor de peso. Estos mtodos an cuando son
muy fciles de implementar en muchos casos son ineficientes.
El mtodo de Integracin utilizando cuadraturas de Gauss es similar a los anteriores
siendo a la vez eficiente y fcil de implementar. La extensin de este mtodo a dos y tres
dimensiones se puede obtener fcilmente.

( ) ( ) ( )

+ + +
npg
i
i i n n
w f f w f w f w d f I
1
2 2 1 1
1
1
) ( .... ) (
Donde:
La variable npg indica el nmero de puntos de Gauss.
Las variables
i
y
i
w representan respectivamente los puntos de Gauss y los pesos de
Gauss.
Para el caso en que se requiera integrar una funcin con respecto a x entre lmites
generales a y bse puede emplear el cambio de variable:
( ) ( ) + + 1
2
1
2
b a
x
( )
( )
( ) ( )

1
1
2
d x f
a b
dx x f
b
a

Un tratamiento ms profundo de este tema se puede consultar en textos de mtodos
numricos (Ver CHAPRA).


3.2 CONCEPTOS FSICOS

En esta parte se presentan los conceptos fsicos fundamentales asociados a los
problemas de ingeniera que se pretenden resolver mediante los mtodos numricos
finitos.
3.2.1 Propiedades especficas

Una propiedad especifica expresa una cantidad contenida por unidad de masa. Las
propiedades especficas tambin se llaman propiedades intensivas, en contraposicin a

las propiedades extensivas, las cuales expresan la cantidad contenida total. Entre las
propiedades especficas se pueden mencionar las siguientes: volumen especfico (v en
m
3
/Kg.), entalpa especfica (h en KJ/Kg.), entropa especfica (s en KJ/Kg.). Las
propiedades especficas generalmente se denotan mediante letras minsculas.

Si se tiene una propiedad especfica f para una sustancia y se multiplica por la densidad
? de la sustancia se obtiene la concentracin volumtrica de la propiedad, es decir, la
cantidad contenida por unidad de volumen:

[ ]
3 3
m kg m
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.

dV
V

Para un volumen dado.



3.2.2 Flujo

El flujo volumtrico consiste en el volumen que atraviesa una superficie dada en la unidad
de tiempo, sus unidades son por lo tanto metros cbicos por segundo. Sin embargo,
cuando se refiere al flujo por unidad de rea se habla de flux. El flux volumtrico 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 volumtrico y el flujo masico.
( )( ) Area Velocidad Flujo
co Volumentri

( )( )( ) Area Velocidad Densidad Flujo
masico

( )( )( ) Area Velocidad rica inVolumet Concentrac Flujo
General

( )( )( )( ) Area Velocidad Densidad Flujo
opiedad

Pr


La concentracin volumtrica se refiere a cualquier propiedad especfica que sea de
inters.
Si se tiene un campo de velocidad sobre una frontera el flujo sobre la frontera esta
dado por la integral:

>

d n d Flujo
n o Volumetric


d Flujo
n Msico

Donde
n
es la componente normal de la velocidad sobre la frontera .
Para una propiedad especifica su flujo masico esta dado por:

d Flujo
n Msico


3.3 FUNCIONES DE FORMA E INTERPOLACIN

Los mtodos numricos se refieren a las funciones de forma e interpolacin en muchos
casos de forma indistinta. La diferencia entre estos trminos puede ser sutil y en algunos
casos contextos pueden ser equivalentes, sin embargo, son conceptos distintos. Debido
al uso comn de estas funciones en los mtodos numricos se explicar la diferencia
entre estas y se mostrar dos casos bsicos. En trminos de solucin numrica de
ecuaciones diferenciales, se puede decir que las funciones de forma se utilizan para
aproximar la solucin de la ecuacin diferencial, mientras que las funciones de
interpolacin se utilizan para calcular el valor de una variable entre valores conocidos.
Las funciones de forma se utilizan cuando se aproxima una funcin desconocida mediante
una combinacin de funciones se trata de que la forma de la combinacin de funciones se
asemeje a la forma de la funcin desconocida en un dominio dado.
Sea la funcin desconocida f(x) la cual ser aproximada por:
( )
n n
a a a x f + + + ...
2 2 1 1

Las funciones
n
,..., ,
2 1
son llamadas funciones de forma.
Las constantes
n
a a a ,.... ,
2 1
son constantes por determinar. La forma como se determinan
estas constantes depende del mtodo numrico empleado, lo cual ser visto ms
adelante.


Mientras que las funciones de interpolacin, son funciones que se utilizan para
determinar el valor de una variable conociendo los valores en los extremos de un dominio
en cualquier nmero de dimensiones. Por ejemplo, si el dominio es una lnea se requiere
conocer dos valores, si el dominio es un plano se requieren al menos tres valores.

Una funcin de interpolacin supone un comportamiento de la variable entre los extremos
del dominio. Este comportamiento se puede suponer:
a) Constante, El valor de la funcin en cada punto del dominio es igual al valor de un
punto conocido en el dominio.
b) Lineal, El valor de la funcin en cada punto del dominio vara linealmente entre los
valores conocidos de dos puntos en el dominio.
c) Polinomial. En general, se utiliza la interpolacin con polinomios para determinar
los valores de la funcin 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 utilizarn dos clases de interpolacin. La interpolacin lineal entre dos
puntos e interpolacin bidimensional Isoparamtrica. La interpolacin lineal entre dos
puntos se aplica en el mtodo de elementos finitos y de elementos de frontera para
evaluar integrales de lnea. La interpolacin bidimensional se utiliza para calcular
integrales de dominio.

3.3.1 Interpolacin lineal



Figura 1. Interpolacin lineal.


Se utiliza un polinomio de primer grado para aproximar el comportamiento de la funcin U:
x a a x u
1 0
) ( +
La funcin debe pasar a travs de los valores de ) (x u en los puntos
1
x y
2
x , entonces se
debe cumplir:
1 1 0 1
x a a u +
2 1 0 2
x a a u +
Resolviendo este sistema se obtiene:
1 2
1 2 2 1
0
x x
x u x u
a


1 2
1 2
1
x x
u u
a


Sustituyendo
0
a y
1
a en x a a x u
1 0
) ( + se tiene:
x
x x
u u
x x
x u x u
x u
1 2
1 2
1 2
1 2 2 1
) (


Reorganizando los trminos:

2 2 1 1 2
1 2
1
1
1 2
2
1 2
1 2 1 2 2 1
) ( u N u N u
x x
x x
u
x x
x x
x x
x u x u x u x u
x u +

+

Donde
1 2
2
1
x x
x x
N

y
1 2
1
2
x x
x x
N

son las funciones de interpolacin.



3.3.2 Interpolacin lineal bidimensional


Figura 2. Interpolacin lineal bidimensional.

y c x c c y x U
3 2 1
) , ( + + . En forma matricial: [ ]

'

3
2
1
1
c
c
c
y x U
Para cada punto se debe cumplir:
1 3 1 2 1 1
y c x c c u + +
2 3 2 2 1 2
y c x c c u + +
3 3 3 2 1 3
y c x c c u + +

Con lo cual se obtiene el sistema:
1
1
1
]
1

1
1
1
]
1

1
1
1
]
1

3
2
1
3
2
1
3 3
2 2
1 1
1
1
1
u
u
u
c
c
c
y x
y x
y x


Por lo tanto: [ ]{ } { } U C X
Resolviendo se obtiene: { } [ ] { } U X C
1

Dado que ( ) [ ]

'

3
2
1
1 ,
c
c
c
y x y x U se tiene: ( ) [ ][ ]
1
1
1
]
1


3
2
1
1
1 ,
u
u
u
X y x y x U
Haciendo [ ] [ ][ ]
1
1

X y x N Es decir [ ] [ ][ ]
1
3 2 1
1

X y x N N N

Resolviendo el sistema anterior se obtiene:
( ) ( ) ( )
A
x x y y y x y x y x
N
2
2 3 3 2 2 3 3 2
1
+ +

( ) ( ) ( )
A
x x y y y x y x y x
N
2
3 1 1 3 3 1 1 3
2
+ +

( ) ( ) ( )
A
x x y y y x y x y x
N
2
1 2 2 1 1 2 2 1
3
+ +

Donde: ( ) ( ) ( ) [ ] X y y x y y x y y x A det 2
2 1 3 1 3 2 3 2 1
+ +

Se pueden obtener funciones de interpolacin generalizadas a partir de los polinomios de
Lagrange:
( )

n
i j
j j i
j
i
x x
x x
x L

0


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


3.4 MTODO DE GALERKIN.

El mtodo de Galerkin es un mtodo para resolver ecuaciones diferenciales. Se basa en
la integracin de los residuos ponderados sobre un intervalo. Este mtodo se fundamenta
en la teora de funciones ortogonales.
Uno de los mtodos para resolver ecuaciones diferenciales consiste en suponer que su
solucin se puede aproximar mediante los trminos de una suma de funciones. El mtodo
de Galerkin se aplica de la siguiente manera:
Por ejemplo sea la siguiente ecuacin:
b u
2

Se elige una funcin de la forma:
n n
y x u + + +

... ) , (
2 2 1 1
que aproxima u.
Donde los coeficientes
n
,..., ,
2 1
son coeficientes por determinar.
Las funciones
n
,..., ,
2 1
llamadas funciones de forma, deben satisfacer las condiciones
de frontera impuestas al problema.
Como ( ) y x u ,
_
aproxima la solucin de la ecuacin, entonces R b u

2
es igual aun
residuo R diferente de cero. Si la funcin representa adecuadamente la solucin este ser
muy cercano a cero y para algunos casos podr ser cero.
A continuacin se pondera el residuo R multiplicndolo por una funcin de peso
i
y se
integra sobre el dominio.
0
_
2

,
_




d b u d R
i i
Para i = 1,2, , n.
Por esta razn en un mtodo de residuos ponderados.
Por cada funcin de peso se obtiene una ecuacin integral as:

( ) ( ) 0 ...
1 2 2 1 1
2
+ + +

d b
n n

( ) ( ) 0 ...
2 2 2 1 1
2
+ + +

d b
n n



( ) ( ) 0 ...
2 2 1 1
2
+ + +

d b
n n n

Con lo cual despus de realizar las operaciones necesarias se obtiene un sistema de
ecuaciones algebraicas simultaneas que puede ser resuelto por cualquier procedimiento
estndar, para hallar los coeficientes:
n
,..., ,
2 1
.
El mtodo de Galerkin es solo uno de los mtodos residuales que pueden ser aplicados.
Entre otros mtodos residuales se mencionan como referencia el mtodo de colocacin,
el mtodo de mnimos cuadrados y el mtodo 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 difusin, movimiento de fluidos, etc. Generalmente
estos problemas se pueden describir mediante la ecuacin b u
2
, la cual es conocida
como ecuacin de Poisson. Cuando se tiene el trmino 0 b , entonces se llama ecuacin
de Laplace: 0
2
u

La solucin terica de la ecuacin de Laplace es sencilla de obtener, mientras que para la
ecuacin de Poisson su solucin terica es muy dispendiosa y en muchas ocasiones solo
se puede hallar para casos sencillos. La solucin de estas ecuaciones consisten en hallar
el valor del potencial u (sea temperatura, presin, concentracin, 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 continuacin se muestran algunas
transformaciones tiles de la ecuacin de Poisson:

b u
2
en O (3.5.1)
( ) 0
2

wd b u (3.5.2.)
( ) 0
2



bwd wd u (3.5.3.)



Integrando por partes el primer termino utilizando la primera identidad de Green vista en el
numeral 3.1.3 se obtiene:


wd u ud w wd u) (
2
(3.5.4.) sustituyendo en (3.5.3.)
0


bwd wd u ud w (3.5.5.)
Reordenando la expresin (3.5.5) se obtiene la ecuacin inicial para el desarrollo de los
elementos finitos:


bwd ud w wd u (3.5.6.)
Integrando nuevamente por partes el trmino

wd u se tiene:
( ) ( )


ud w ud w wd u
2
(3.5.7.)
Reemplazando en la ecuacin (3.5.5.) se tiene:
( ) ( ) 0
2
+


bwd ud w ud w ud w (3.5.8.)
La expresin (3.5.8.) es equivalente a la (3.5.3.) por lo que
( ) ( ) ( )


+ bwd ud w ud w ud w bwd wd u
2 2
(35.9.)
Se cancelan los trminos iguales a ambos lados
( ) ( ) ( ) +


ud w ud w ud w wd u
2 2
(3.5.10)
Reorganizando y agrupando se obtiene la segunda identidad de Green:
( ) ( )


d w u u w d w u u w
2 2
(3.5.11.)
La cual es el punto de partida para el desarrollo de los mtodos de integrales de frontera.




4 MTODOS FINITOS


En este punto se puede preguntar por que son necesarios los mtodos finitos para
resolver un problema. La respuesta reside en que a menudo es la nica forma de resolver
el sistema sin tener que construirlo fsicamente. Las soluciones analticas exactas para las
ecuaciones que gobiernan muchos fenmenos solo se pueden obtener para problemas en
los cuales se hacen supuestos y se simplifican algunas restricciones con relacin a la
geometra, propiedades del material y condiciones de frontera. Por lo cual no queda otra
opcin que recurrir a mtodos numricos de solucin en situaciones donde tales
simplificaciones no son posibles.

En la solucin de problemas mediante tcnicas de mtodos finitos normalmente existen
varios pasos que son comunes: Preparacin del problema (Preprocesamiento), Solucin
del sistema (Procesamiento) y Anlisis y presentacin de resultados (Postprocesamiento)

En la preparacin 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
manipulacin mediante rutinas de computador, que reduzca el nmero de calculo
necesarios mediante el aprovechamiento de simetras y que su procesamiento sea
eficiente. Los mtodos finitos implican una discretizacin del sistema u objeto del estudio
en el cual la naturaleza contina e infinitos grados de libertad del mismo es representada
por un conjunto finito de elementos cada uno con un nmero limitado de grados de
libertad. La representacin discreta del problema implica una descripcin precisa de la
geometra del sistema, las propiedades del mismo y las condiciones a las cuales esta
sometido, para lo cual se utilizan elementos geomtricos tales como puntos, lneas,
polgonos y volmenes. Las lneas, superficies y volmenes 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 automticamente la descripcin del sistema incluyendo,

geometra, conectividad o topologa, condiciones del sistema, propiedades de los
materiales, etc. Estos programas se conocen con el nombre de malladores.

La preparacin del problema tiene como resultado un sistema algebraico de ecuaciones
que sirve como insumo de entrada para el procesamiento o solucin del sistema, el cual
se puede realizar por mtodos directos o iterativos. Cuando se trata de problemas de
poco tamao, los mtodos directos son inmediatos. Sin embargo para problemas de gran
tamao a menudo la nica alternativa viables son los mtodos iterativos. El mtodo de
solucin tambin 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 nmero de variaciones a este respecto resulta muy grande.

En el procesamiento posterior, se toma como insumo la solucin obtenida en el paso
anterior y se efectan clculos adicionales. Incluso puede repetirse todo el proceso de
solucin variando las condiciones para realizar anlisis 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
grficas para la solucin del sistema.

En el comercio se pueden encontrar desde aplicaciones que incluyen todos las etapas de
preparacin, solucin 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 imgenes en formato grfico.




4.1 PROBLEMA DE TRABAJO

El problema de trabajo es el ejemplo que permitir comparar los distintos mtodos. Se
desea determinar la distribucin de temperaturas de una placa rectangular metlica 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
isotrpico y su coeficiente de conductividad es k = 1.0 K m W / . 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 m W / . Se puede asumir que la placa tiene una unidad
de profundidad, en cuyo caso el flujo de calor sera 10.0
2
/ m W .

q = 10
Placa metalica
T = 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 generacin interna b significa que por cada unidad de rea se generan 10 unidades
de calor y este debe salir de la placa. En trminos matemticos se tiene:
b
y
T
k
x
T
k y x T k
y x


2
2
2
2
2
) , ( Tal que: 5 b y 1
x x
k k k
Con condiciones de frontera: 300 ) , 0 ( y T , 0 ) , 6 ( y T ,
10
0

,
_

x
y
T
,
10
6

,
_

x
y
T

Para 6 0 x y 6 0 y


4.2 DIFERENCIAS FINITAS

4.2.1 Formulacin

El mtodo de diferencias finitas se basa en asignar puntos espaciados de manera
apropiada sobre el dominio y aplicar las ecuaciones constitutivas correspondientes del
fenmeno a cada punto. El mtodo de diferencias finitas tiene como punto de partida las
series de Taylor. Sea x un punto cercano al punto
i
x , tal que x = h x
i
+ , y sea ( ) x f el
valor de una funcin en el punto x. Entonces ( ) x f se puede aproximar mediante una
serie de Taylor alrededor del punto
i
x , de la siguiente manera:
( ) ( ) ( ) ( ) ( ) ...
!
1
...
! 3
1
! 2
1
) (
3 3 2 2 1
+ + + + + + +
n
i
n
i i i i i
h x f
n
h x f h x f h x f x f h x f (1)
Donde ( )
i
k
x f representa la k-esima derivada de la funcin f(x) evaluada en el punto
i
x .
Si se evala ( ) x f en h x x
i
, se obtiene:
( ) ( ) ( ) ( )
( )
( ) ...
!
1
...
! 3
1
! 2
1
) (
3 3 2 2 1
+

+ + +
n
i
n
n
i i i i i
h x f
n
h x f h x f h x f x f h x f (2)
Tomando las ecuaciones (1) y (2) hasta el segundo termino se llega a (3) y (4):
( ) ( )h x f x f h x f
i i i
1
) ( + + (3) ( ) ( )h x f x f h x f
i i i
1
) ( (4)
Se despeja ( )
i
x f
1
en (3) y (4) se obtiene:
( )
( )
h
x f h x f
x f
i i
i
) (
1
+
(5) Ecuacin diferencia finita hacia adelante
( )
( )
h
h x f x f
x f
i i
i

) (
1
(6) Ecuacin diferencia finita hacia atrs.
Si se resta (3) y (4) se obtiene:
( ) ( ) ( )h x f h x f h x f
i i i
1
2 +
Despejando ( )
i
x f
1
:
( )
( ) ( )
h
h x f h x f
x f
i i
i
2
1
+
(7) Ecuacin diferencia finita central.
Para hallar la ecuacin en diferencias finitas de la segunda derivada se toma el polinomio
de Taylor hasta el trmino de segundo orden en las ecuaciones (1) y (2):

( ) ( ) ( )
2 2 1
! 2
1
) ( h x f h x f x f h x f
i i i i
+ + + (8)
( ) ( ) ( )
2 2 1
! 2
1
) ( h x f h x f x f h x f
i i i i
+ (9)
Sumando (8) y (9):
( ) ( ) ( )
2 2
) ( 2 h x f x f h x f h x f
i i i i
+ + +
Despejando ( )
i
x f
2
se tiene la aproximacin de la segunda derivada en diferencias
finitas:
( )
( ) ( )
2
2
) ( 2
h
h x f x f h x f
x f
i i i
i
+ +

En el caso de dos dimensiones la ecuacin de Laplace es:
0 ) , (
2
2
2
2
2


y
T
k
x
T
k y x T k
El coeficiente de conductividad trmica k para un material isotrpico es igual en ambas
direcciones. Este desaparece al ser tomado como factor comn y pasado al lado derecho.
Otra interpretacin es que este coeficiente toma el valor de unitario 1 k .
0 ) , (
2
2
2
2
2


y
T
x
T
y x T
Se aproxima el trmino
2
2
x
T

y
2
2
y
T

mediante diferencias finitas:


( ) ( )
2 2
2
) ( 2
h
h x T x T h x T
x
T
i i i
+ +


( ) ( )
2 2
2
) ( 2
h
h y T y T h y T
y
T
i i i
+ +


( ) ( ) ( ) ( )
0
) ( 2 ) ( 2
2 2 2
2
2
2

+ +
+
+ +

y
i i i
x
i i i
h
h y T y T h y T
h
h x T x T h x T
y
T
x
T

( ) ( ) ( ) ( )
0
) ( 2 ) ( 2
2 2

+ +
+
+ +
y
i i i
x
i i i
h
h y T y T h y T
h
h x T x T h x T

Para el caso de la ecuacin de Poisson:
b
y
T
k
x
T
k y x T k
y x


2
2
2
2
2
) , (

Si el material es isotrpico los coeficientes de conductividad trmica son iguales k
x
= k
y
y
la ecuacin se puede expresar:
k
b
y
T
x
T
y x T


2
2
2
2
2
) , (
Su expresin en diferencias finitas esta dada por:

( ) ( )
( ) ( )
k
b
h
h y T y T h y T
h
h x T x T h x T
y
y i i y i
x
x i i x i

+ +
+
+ +
2 2
) ( 2
) ( 2

Si se toman incrementos h
x
y h
y
de igual tamao h se tiene:
( ) ( ) ( ) ( )
k
b
h x T h y T h y T h x T h x T
i i i i i
2
) ( 4 + + + + +
En este punto se introduce una convencin para simplificar la notacin. Para cada punto o
nodo del dominio se debe establecer una ecuacin. En el caso bidimensional cada punto
esta rodeado mximo por cuatro nodos vecinos los cuales se denominaran con
subndices de acuerdo a su posicin relativa al nodo de referencia, con los subndices n
norte, w- oeste, s sur, e este.

As:
( ) h x x
i e
+ , ( ) h x x
i w
, ( ) h y y
i n
+ , ( ) h y y
i s
y
( )
e e
x T T ( )
w w
x T T ( )
n n
y T T ( )
s s
y T T ) (
i i
x T T

Entonces para un punto i dado su ecuacin sera:
k
b
h T T T T T
i w n e s
2
4 + + +

4.2.2 Aplicacin.
q = 10
T = 300 C b = -5 T = 0 C
q = 10
1
4 3
2
8 7
6
5 12
11
10
9
13 14
15
16

Figura 4. Divisin del dominio en diferencias finitas.

Observe que S, E, N, W son relativos para cada nodo. Como ilustracin 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: 300
1
T Temperatura conocida.
Nodo 2: b h T T T T T
w n e s
2
2
4 + + +
Observe que para el nodo 2 se especifica una condicin de flujo y que el nodo en la
posicin 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 ecuacin. Por
lo tanto aproximando se tiene:
q
h
T T
s n

2
==> h q T T
n s
2 *
Remplazando T
s
en la ecuacin inicial del nodo 2:
b h T T T T h T
w n e n
2
2
4 2 * 10 + + +


Entonces la ecuacin para el nodo 2 queda:
h q b h T T T T T
w n e n
2 * 4
2
2
+ + + +
Reemplazando valores:
) 2 ( 2 * 10 ) 5 ( 2 4 2
2
2
+ + + T T T T
w e n

Nodo 3: ) 2 ( 2 * 10 ) 5 ( 2 4 2
2
3
+ + + T T T T
w e n
Caso similar al del nodo 2.
Nodo 4: 0
4
T Temperatura conocida.
Nodo 5: 0
5
T Temperatura conocida.
Nodo 6: 0
6
T Temperatura conocida.
Nodo 7: 0
7
T Temperatura conocida.
Nodo 8: ) 2 ( 2 * 10 ) 5 ( 2 4 2
2
8
+ + + T T T T
w e s
Caso similar al del nodo 2.
Nodo 9: ) 2 ( 2 * 10 ) 5 ( 2 4 2
2
9
+ + + T T T T
w e s
Caso similar al del nodo 2.
Nodo 10: 300
10
T Temperatura conocida.
Nodo 11: 300
11
T Temperatura conocida.
Nodo 12: 300
12
T Temperatura conocida.
Nodo 13: b h T T T T T
w n e s
2
13
4 + + +
Nodo 14: b h T T T T T
w n e s
2
14
4 + + +
Nodo 15: b h T T T T T
w n e s
2
15
4 + + +
Nodo 16: b h T T T T T
w n e s
2
16
4 + + +
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


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 T16
300 200 100 0 0 0 0 100 200 300 300 300 210 110 110 210


4.2.3 Programacin

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 condicin y
ubicacin 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 ledas del archivo de entrada y se
colocaron en el vector Condicin.
Las instrucciones Select Case e If colocan los coeficientes correspondientes para cada
nodo de acuerdo con la ecuacin 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
funcin 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
informacin se lee del archivo de datos de entrada.

El siguiente es el cdigo del programa que implementa el mtodo de las diferencias
finitas:

SUBROUTINE DiferenciasFinitas
INTEGER I,J
REAL Delta
WRITE(*,*) "Mtodo 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

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 solucin B
CALL ResolverSistema(H,X,B)
DEALLOCATE(S,E,N,W,XF,YF,Condicion,V,H,B)
END SUBROUTINE




4.3 VOLMENES FINITOS

4.3.1 Formulacin

Este se puede obtener de la ponderacin de residuos con la funcin de pesos w = 1 y
aplicar el teorema de la divergencia de Gauss. Lo cual es equivalente a dividir el dominio
en volmenes de control y aplicar un balance de conservacin a cada volumen.
b u
2
Ecuacin de Poisson.
( )

0
2
wd b u Ponderacin de residuos.
Para el mtodo de los volmenes finitos se toma w = 1 como funcin de ponderacin.
( )


bd d u
2

Por definicin del Laplaciano el trmino del lado izquierdo se puede expresar:
( ) ( )


u d u
2

Por el teorema de la divergencia de Gauss:
( ) ds n u d u
s


,
_


>


Por definicin de derivada direccional: ds
n
u
ds n u
s s

,
_

,
_


>
>
Hasta el momento se
tiene:

>

,
_

bd ds
n
u
s


Debido a que el dominio se dividi en volmenes 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
,
j
i i
s
ds
n
u
ds
n
u
j i i



( )
j i
i j
i
L
h
u u
ds
n
u
j i
,
,

,
_

>
Con j = W, E, N, S.
Para la regin bidimensional i la ecuacin de balance queda as:
i
S
N
W
E ?y
?x

Figura 6. Convencin para los nodos.

y x b x
y
u u
x
y
u u
y
x
u u
y
x
u u
i N i S i E i W


Donde b es la generacin interna por unidad del dominio en la regin i.

4.3.2 Aplicacin

q = 10
T = 300 C b = -5 T = 0 C
q = 10
1 4 3 2
8 7
6
5 12
11
10 9
13 14
15
16

Figura 7. Divisin del dominio en volmenes finitos.


En este caso los nodos han pasado a ser el centro de una regin del dominio para cada
una de las cuales se aplica la ecuacin de balance.

Volumen 1: 300
1
T Temperatura conocida (Condicin de frontera).
Volumen 2:
( ) ( ) ( )

,
_

2 2 2
2 2 2
y
x b
T T
q
T T T T
x
y
n
x
y
x
e y
x
w


y x
Malla uniforme

( ) ( ) ( )

,
_

2 2
1
2
1
2 2 2
y
x b
T T
q
T T T T
n
x
e w

2 2
1
2
1
2
1
2
1
2
2 2 2

+ + + b q T T T T T T
x n e w

2
2
2
1
2
1
2
2

+ + + b q T T T T
n e w

Volumen 3:
2
2
2
1
2
1
2
3

+ + + b q T T T T
n e w

Volumen 4: 0
4
T Temperatura conocida (Condicin de frontera).
Volumen 5:
2
2
2
1
2
1
2
5

+ + + b q T T T T
n w s

Volumen 6:
2
2
2
1
2
1
2
6

+ + + b q T T T T
n w s

Volumen 7: 0
7
T Temperatura conocida (Condicin de frontera).
Volumen 8:
2
2
2
1
2
1
2
8

+ + + b q T T T T
w e s

Volumen 9:
2
2
2
1
2
1
2
9

+ + + b q T T T T
w e s

Volumen 10: 0
10
T Temperatura conocida (Condicin de frontera).
Volumen 11:
2
2
2
1
2
1
2
11

+ + + b q T T T T
n e s

Volumen 12:
2
2
2
1
2
1
2
12

+ + + b q T T T T
n e s


Volumen 13:
2
13
4 + + + b T T T T T
w n e s

Volumen 14:
2
14
4 + + + b T T T T T
w n e s

Volumen 15:
2
15
4 + + + b T T T T T
w n e s

Volumen 16:
2
16
4 + + + b T T T T T
w n e s


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 C16
R 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T
1
300
R 2 0.5 -2 0.5 0 0 0 0 0 0 0 0 0 1 0 0 0 T
2
10
R 3 0 0.5 -2 0.5 0 0 0 0 0 0 0 0 0 1 0 0 T
3
10
R 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 T
4 0
R 5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 T
5
0
R 6 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 T
6 0
R 7 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 T
7
0
R 8 0 0 0 0 0 0 0.5 -2 0.5 0 0 0 0 0 1 0 T
8 10
R 9 0 0 0 0 0 0 0 0.5 -2 0.5 0 0 0 0 0 1 T
9
10
R10 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 T
10
300
R11 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 T
11
300
R12 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 T
12
300
R13 0 1 0 0 0 0 0 0 0 0 0 1 -4 1 0 1 T
13 -20
R14 0 0 1 0 1 0 0 0 0 0 0 0 1 -4 1 0 T
14
-20
R15 0 0 0 0 0 1 0 1 0 0 0 0 0 1 -4 1 T
15 -20
R16 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 -4
T
16 -20

Figura 8. Sistema matricial para volmenes finitos.

4.3.3 Programacin

Esta subrutina es muy similar al mtodo anterior debido a que el nmero de puntos,
geometra y ecuaciones tambin resultan ser similares. El nmero 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

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 + 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,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

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 Formulacin

Consiste en un mtodo de Garlerkin, en el cual las funciones de forma son funciones
polinmicas por tramos (Piecewise). Para discretizar la ecuacin de Poisson segn el
mtodo de los elementos finitos se procede de la siguiente manera:
b u
2
en O (4.4.1)
( ) 0
2

wd b u (4.4.2.)
( ) 0
2



bwd wd u (4.4.3.)
Integrando por partes el primer termino utilizando la primera identidad de Green


wd u d u w wd u) (
2
(4.4.4.) sustituyendo en (4.4.3.)
0


bwd wd u d u w (4.4.5.) reordenando se obtiene la ecuacin
inicial para el desarrollo de los elementos finitos:


bwd d u w wd u (4.4.6.)
El mtodo de los elementos finitos requiere por ser un mtodo de Galerkin que las
funciones de peso sean iguales a las de forma. Para que sea un mtodo de elementos

finitos se requiere que sean polinmicas por tramos. Las funciones de interpolacin
cumplen estas condiciones. En este caso se utilizaran funciones lineales de interpolacin
para elementos lineales triangulares.

Se supone que la solucin para u admite la siguiente forma:

3 3 2 2 1 1
N u N u N u u + +
Las funciones de peso w corresponden a:

1 1
N w
2 2
N w
3 3
N w

Para un elemento triangular las funciones de interpolacin
( ) ( ) ( )
A
x x y y y x y x y x
N
2
2 3 3 2 2 3 3 2
1
+ +

( ) ( ) ( )
A
x x y y y x y x y x
N
2
3 1 1 3 3 1 1 3
2
+ +

( ) ( ) ( )
A
x x y y y x y x y x
N
2
1 2 2 1 1 2 2 1
3
+ +

Como x
1
, x
2
, x
3
, y
1
, y
2
, y
3
son permanecen constantes para cada elemento se puede
remplazar:
( ) ( ) ( )
2 3 1 3 2 1 2 3 3 2 1
x x c y y b y x y x a
( ) ( ) ( )
3 1 2 1 3 2 3 1 1 3 2
x x c y y b y x y x a
( ) ( ) ( )
1 2 3 2 1 3 1 2 2 1 3
x x c y y b y x y x c
Con lo cual:
( ) ( ) A y c x b a N 2 /
1 1 1 1
+ +
( ) ( ) A y c x b a N 2 /
2 2 2 2
+ +
( ) ( ) A y c x b a N 2 /
3 3 3 3
+ +
Expresado en forma matricial: [ ] [ ]
1
1
1
]
1

3 2 1
3 2 1
3 2 1
1
2
1
c c c
b b b
a a a
y x
A
N



La expresin


bwd d u w wd u entonces se obtiene una ecuacin
integral por cada funcin de peso, as:

( ) ( )


+ + + + d bN d N u N u N u N d N N u N u N u
1 3 3 2 2 1 1 1 1 3 3 2 2 1 1
(4.4.7)
( ) ( )


+ + + + d bN d N u N u N u N d N N u N u N u
2 3 3 2 2 1 1 2 2 3 3 2 2 1 1
(4.4.8)
( ) ( )


+ + + + d bN d N u N u N u N d N N u N u N u
3 3 3 2 2 1 1 3 3 3 3 2 2 1 1
(4.4.9)

4.4.1.1 Desarrollo de lado izquierdo

Se calcula el gradiente para la funcin u:
( ) ( ) ( )

,
_

+ +

+ +

+ +
3 3 2 2 1 1 3 3 2 2 1 1 3 3 2 2 1 1
, N u N u N u
y
N u N u N u
x
N u N u N u
( ) ( )
1 1
1 1 1
1 1 1
2
1
2
b u
A A
y c x b a
x
u N u
x

,
_

+ +


( ) ( )
2 2
2 2 2
2 2 2
2
1
2
b u
A A
y c x b a
x
u N u
x

,
_

+ +


( ) ( )
3 3
3 3 3
3 3 3
2
1
2
b u
A A
y c x b a
x
u N u
x

,
_

+ +


( ) ( )
3 3 2 2 1 1 3 3 2 2 1 1
2
1
b u b u b u
A
N u N u N u
x
+ + + +



De forma similar:
( ) ( )
3 3 2 2 1 1 3 3 2 2 1 1
2
1
c u c u c u
A
N u N u N u
y
+ + + +


Por lo tanto el gradiente para la funcin u:
( ) ( ) [ ]
1
1
1
]
1

+ + + + + +
3
2
1
3
2
1
3 2 1 3 3 2 2 1 1 3 3 2 2 1 1 3 3 2 2 1 1
2
1
2
1
c
c
c
b
b
b
u u u
A
c u c u c u b u b u b u
A
N u N u N u


Ahora se calculan los gradientes para las funciones de peso N
1
, N
2
, N
3
:

( )
1 1
1 1 1 1 1 1
1
2
1
2 2
c b
A A
y c x b a
y A
y c x b a
x
N

,
_

,
_

+ +

,
_

+ +



( )
2 2 2
2
1
c b
A
N y ( )
3 3 3
2
1
c b
A
N
Sustituyendo las expresiones en las ecuaciones integrales para cada funcin de peso:
Para la primera ecuacin integral
( ) ( ) ( )


+ + + + d bN d N u N u N u N d N N u N u N u
1 3 3 2 2 1 1 1 1 3 3 2 2 1 1

Sustituyendo los respectivos gradientes en el lado izquierdo de las tres ecuaciones se
obtiene:
[ ] [ ] [ ]

1
1
1
]
1

+ + +

,
_

1
1
1
]
1

d
u
u
u
c c b b c c b b c b
A
d c b
c
c
c
b
b
b
u u u
A
3
2
1
3 1 3 1 2 1 2 1
2
1
2
1
2
1 1
3
2
1
3
2
1
3 2 1
2
4
1
4
1

[ ] [ ] [ ]

1
1
1
]
1

+ + +

,
_

1
1
1
]
1

d
u
u
u
c c b b c b c c b b
A
d c b
c
c
c
b
b
b
u u u
A
3
2
1
3 2 3 2
2
2
2
2 2 1 2 1
2
2 2
3
2
1
3
2
1
3 2 1
2
4
1
4
1

[ ] [ ] [ ]

1
1
1
]
1

+ + +

,
_

1
1
1
]
1

d
u
u
u
c b c c b b c c b b
A
d c b
c
c
c
b
b
b
u u u
A
3
2
1
2
3
2
3 3 2 3 1 3 1 3 1 2 3 3
3
2
1
3
2
1
3 2 1 2
4
1
4
1

Puesto que todos los elementos dentro de las integrales son constantes la integral de
dominio corresponde al rea del elemento: A d

. Las anteriores expresiones quedan


as:
[ ] [ ]
1
1
1
]
1

+ + +
1
1
1
]
1

+ + +
3
2
1
3 1 3 1 2 1 2 1
2
1
2
1
3
2
1
3 1 3 1 2 1 2 1
2
1
2
1
2
4
1
4
u
u
u
c c b b c c b b c b
A
u
u
u
c c b b c c b b c b
A
A


[ ] [ ]
1
1
1
]
1

+ + +
1
1
1
]
1

+ + +

3
2
1
3 2 3 2
2
2
2
2 2 1 2 1
3
2
1
3 2 3 2
2
2
2
2 2 1 2 1
2
4
1
4
1
u
u
u
c c b b c b c c b b
A
d
u
u
u
c c b b c b c c b b
A

[ ] [ ]
1
1
1
]
1

+ + +
1
1
1
]
1

+ + +

3
2
1
2
3
2
3 3 2 3 1 3 1 3 1
3
2
1
2
3
2
3 3 2 3 1 3 1 3 1
2
4
1
4
1
u
u
u
c b c c b b c c b b
A
d
u
u
u
c b c c b b c c b b
A

Reuniendo los tres resultados anteriores en una sola expresin matricial el lado izquierdo
de las tres ecuaciones integrales se resume en:
1
1
1
]
1

1
1
1
]
1

+ + +
+ + +
+ + +
3
2
1
2
3
2
3 3 2 3 1 3 1 3 1
3 2 3 2
2
2
2
2 2 1 2 1
3 1 3 1 2 1 2 1
2
1
2
1
4
1
u
u
u
c b c c b b c c b b
c c b b c b c c b b
c c b b c c b b c b
A

Expresada en forma matricial se tiene: KU
La matriz
1
1
1
]
1

+ + +
+ + +
+ + +

2
3
2
3 3 2 3 1 3 1 3 1
3 2 3 2
2
2
2
2 2 1 2 1
3 1 3 1 2 1 2 1
2
1
2
1
4
1
c b c c b b c c b b
c c b b c b c c b b
c c b b c c b b c b
A
K es llamada matriz de rigidez del
elemento o matriz local de rigidez.

4.4.1.2 Desarrollo del lado derecho

Para la ecuacin integral (4.4.7) se tiene:
( ) ( ) ( )


+ + + + d bN d N u N u N u N d N N u N u N u
1 3 3 2 2 1 1 1 1 3 3 2 2 1 1

Se ha demostrado que la integracin sobre elementos unidimensionales que tienen
funciones de forma
1
N y
2
N elevadas a las potencias y se puede calcular mediante
la formula (Ver FAGAN):
( )
L dL N N
L
! 1
! !
2 1
+ +




Donde L es la longitud del elemento.
Para elementos bidimensionales con funciones de forma elevadas a las potencias , y
; su integracin se puede realizar mediante la siguiente formula:
( )
A dL N N
L
2
! 2
! ! !
2 1
+ + +




Donde A es el rea del elemento.
Para el trmino de conduccin de calor en la frontera se tiene la ecuacin:

( )

+ + d N u N u N u N
3 3 2 2 1 1 1
Donde ( )
3 3 2 2 1 1
N u N u N u + + es el gradiente del
potencial o flujo, el cual es una condicin de frontera dada por el problema. Por lo tanto se
puede expresar como: ( )
3 3 2 2 1 1
N u N u N u q + + y la ecuacin queda:
( ) 2 ! 1 0 1
! 0 ! 1
1 1
qL
L q d N q qd N
+ +



Donde L es la longitud de .
Similarmente se procede para

d qN
2
y

d qN
3
.
4.4.1.3 Calculo del trmino de generacin de calor

Para el trmino de generacin de calor:
( ) 3 6
2
2
! 2 0 0 1
! 0 ! 0 ! 1
1
bA bA
A b d bN
+ + +

Donde b es constante.
Similarmente se procede para

d bN
2
y

d bN
3
.
Para un elemento triangular con generacin interna b y conduccin en el lado entre los
nodos i y j se tendra la siguiente ecuacin:
q
b
k
j
1
1
1
]
1

1
1
1
]
1

1
1
0
2
1
1
1
3
qL bA
KU
Figura 9. Elemento finito triangular.













4.4.2 Aplicacin

En este mtodo se debe resaltar que ya no se requiere solamente numerar los nodos,
tambin es necesario numerar los elementos. Del orden de numeracin de nodos y
elementos depender la forma que adopte la matriz de rigidez.
q = 10
b = - 5
T = 300 C T = 0 C
q = 10
1 4
3
2
8 7
6
5
12
11
10 9
13 14
15 16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Figura 10. Divisin 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 ecuacin
1
1
1
]
1

1
1
1
]
1

1
1
0
2
1
1
1
3
qL bA
KU , produce los siguientes resultados.
( ) ( ) ( ) 0 2 2 2 2 0 4 0 2 2 2
2 3 1 3 2 1 2 3 3 2 1
x x c y y b y x y x a
( ) ( ) ( ) 2 2 0 2 0 2 0 2 0 0 2
3 1 2 1 3 2 3 1 1 3 2
x x c y y b y x y x a
( ) ( ) ( ) 2 0 2 0 0 0 0 0 2 0 0
1 2 3 2 1 3 1 2 2 1 3
x x c y y b y x y x c
2
2
2 2

A
( )
( ) ( ) ( )( )
( )( )
1
1
1
]
1

1
1
1
]
1

+ + +
+ + +
+ + +

2
2 2
2
2
3
2
3 3 2 3 2 3 1 3 1
3 2 3 2
2
2
2
2 2 1 2 1
3 1 3 1 2 1 2 1
2
1
2
1
2 2 2 0
2 2 2 2 2 2
0 2 2 2
2 4
1
4
1
c b c c b b c c b b
c c b b c b c c b b
c c b b c c b b c b
A
K

1
1
1
1
1
1
]
1

2
1
2
1
0
2
1
1
2
1
0
2
1
2
1
K

1
1
1
]
1

1
1
1
]
1

1
1
1
]
1

67 . 6
67 . 6
67 . 6
1
1
1
3
2 10
1
1
1
3
bA

1
1
1
]
1

1
1
1
]
1

1
1
1
]
1

0
10
10
0
1
1
2
2 10
1
1
0
2
qL
La conduccin se da en el lado i, j
Donde i, j, k corresponden respectivamente a los nodos 1,2 y 13.
La ecuacin para el elemento 1 entonces queda:
1
1
1
]
1

1
1
1
]
1

1
1
1
]
1

1
1
1
1
1
1
]
1

0
10
10
67 . 6
67 . 6
67 . 6 300
2
1
2
1
0
2
1
1
2
1
0
2
1
2
1
3
2
u
u

El valor de
1
u es conocido por ser condicin de frontera 300
1
u


Matriz rigidez elemento 1 Matriz rigidez elemento 7 Matriz rigidez elemento 13
1 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.5
2 -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 14
2 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.5
14 0 0.5 -0.5 6 -0.5 1 -0.5 16 0 0.5 -0.5
13 -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 15
2 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 0
3 -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 16
3 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.5
5 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 17
3 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 0
4 -0.5 1 -0.5 8 0 0.5 -0.5 14 -0.5 1 -0.5
5 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 18
14 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.5
5 -0.5 1 -0.5 16 -0.5 1 -0.5 15 0 0.5 -0.5
6 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 C16
R1 1 -0.5 0 0 0 0 0 0 0 0 0 -0.5 0 0 0 0
R2 -0.5 2 -0.5 0 0 0 0 0 0 0 0 0 -1 0 0 0
R3 0 -0.5 2 -0.5 0 0 0 0 0 0 0 0 0 -1 0 0
R4 0 0 -0.5 1 -0.5 0 0 0 0 0 0 0 0 0 0 0
R5 0 0 0 -0.5 2 -0.5 0 0 0 0 0 0 0 -1 0 0
R6 0 0 0 0 -0.5 2 -0.5 0 0 0 0 0 0 0 -1 0
R7 0 0 0 0 0 -0.5 1 -0.5 0 0 0 0 0 0 0 0
R8 0 0 0 0 0 0 -0.5 2 -0.5 0 0 0 0 0 -1 0
R9 0 0 0 0 0 0 0 -0.5 2 -0.5 0 0 0 0 0 -1
R10 0 0 0 0 0 0 0 0 -0.5 1 -0.5 0 0 0 0 0
R11 0 0 0 0 0 0 0 0 0 -0.5 2 -0.5 0 0 0 -1
R12 -0.5 0 0 0 0 0 0 0 0 0 -0.5 2 -1 0 0 0
R13 0 -1 0 0 0 0 0 0 0 0 0 -1 4 -1 0 -1
R14 0 0 -1 0 -1 0 0 0 0 0 0 0 -1 4 -1 0
R15 0 0 0 0 0 -1 0 -1 0 0 0 0 0 -1 4 -1
R16 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 -1 4
Figura 12. Matriz de rigidez global


4.4.3 Programacin

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 trmino 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 ledo 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 trminos de
generacin para cada elemento finito. Despus de este se procede a incorporar las
condiciones de conduccin 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 multiplicacin del valor conocido por la columna y su adicin algebraica en el
lado izquierdo. Todos los trminos de la columna reemplazada deben quedar con valor
cero excepto el que corresponde a la variable desconocida que queda con valor uno. Esta
operacin con las columnas se efecta al incorporar las condiciones de frontera de
temperatura para lo cual se debe leer el vector de condiciones de frontera CF.
Obsrvese que una vez calculadas las matrices del sistema su resolucin es inmediata
mediante el empleo de la funcin Resolver Sistema.

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 ! Generacin 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 generacin de calor
B(Nodo1) = B(Nodo1) - Constante*Area/3
B(Nodo2) = B(Nodo2) - Constante*Area/3
B(Nodo3) = B(Nodo3) - Constante*Area/3

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







4.5 ELEMENTOS DE FRONTERA

Resuelve el problema del potencial mediante el clculo de integrales sobre la frontera del
dominio, las cuales se derivan de la minimizacin de residuos ponderados.

4.5.1 Formulacin

b u
2
en O
( ) 0
2

wd b u
( ) 0
2



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


wd u ud w wd u) (
2
Sustituyendo en la anterior
0


bwd wd u ud w
Reordenando se obtiene:


bwd ud w wd u
Integrando nuevamente por partes el trmino

wd u se tiene:
( ) ( )


ud w ud w wd u
2

Reemplazando en la ecuacin se tiene:
( ) ( ) 0
2
+


bwd ud w ud w ud w

Si de divide la frontera del dominio en las fronteras
1
y
2
tales que en
1
se
conoce el valor de
_
u u y en
2

_
q q donde
n
u
q

_
u u
_
q q

Figura 13. Dominio, frontera y condiciones.

La ecuacin anterior se puede escribir as:
( ) ( ) ( ) 0
2
+


d w u d u w bwd ud w
( ) ( ) ( ) ( ) 0
2 1 2 1
2 1
_
2
_
1
2

,
_

+ +


d w u d w u d q w d u w bwd ud w
Integrando por partes el trmino ( )

ud w
2
se obtiene:
( ) +


d w u d u w ud w
2

Se separa la ltima integral en dos trminos:
( )
2 1
2
2 1
+ +


d w u d w u d u w ud w
Reemplazando en la ecuacin y cancelando el trmino ( )


2
2
d w u se obtiene:
( ) ( ) 0
1 2 1 1
1
_
2
_
1 1

,
_

+ + +


d w u d q w d u w bwd d w u d u w

Integrando por partes el trmino

d u w se tiene:


+ ud w ud w d u w
2

Separando la integral de frontera en sus componentes:


+ +
2 1
2 1
2
ud w ud w ud w d u w
Sustituyendo en la ecuacin y cancelando el trmino ( )


1
1
d u w se tiene:

( ) 0
1 2 1 2
1
_
2
_
1 2
2

,
_

+ +


d w u d q w bwd d w u ud w ud w
Integrando por partes dos veces el trmino

ud w
2
se obtiene:
( )


+ + ud w wd u ud w ud w ud w ud w
2 2

Separando las integrales de frontera:
( ) ( )


+ + +
2 1 2 1
2 1 2 1
2 2
ud w ud w wd u wd u ud w ud w wd u ud w
Remplazando y cancelando los trminos
1
1

d w u y


2
2
ud w se obtiene:
( ) ( ) 0
1 2 1 2
1
_
2
_
1 2
2

,
_

+ +


d w u d q w bwd ud w wd u ud w

Reorganizando los trminos:
( ) ( )


+ +
,
_


1 2 1 2
1
_
2 1 2
_
2
d w u wd u ud w d q w bwd ud w

Reuniendo nuevamente trminos se tiene la expresin inicial para el mtodo de los
elementos de frontera:
( )


+ wd u bwd ud w ud w
2


En este punto se introduce la funcin radial
*
u , la cual ser utilizada en la ecuacin
anterior para obtener las ecuaciones del mtodo elementos de frontera:
La ecuacin

,
_

r
u
1
ln
2
1
*

,
*
u representa el campo generado por una unidad de carga
concentrada en el punto i , y tiene la propiedad de ( ) 0
* 2
+
i
u
Donde
i
:
. 0 caso otro en
Lim
i
x x
i


>


i
es la funcin delta de Dirac. r es la distancia desde el punto
i
x de aplicacin de la
funcin delta de Dirac hasta cualquier otro punto en consideracin. El efecto de esta carga
se propaga desde el punto i hasta el infinito sin considerar las condiciones de frontera.


De la propiedad anterior se obtiene:
( )
i
u
* 2

En la integral ( )

ud w
2
se toma
*
u w
Por la propiedad del delta de Dirac mediante la cual la integral de una funcin delta de
Dirac multiplicada por otra funcin es igual a la funcin evaluada en el punto i se tiene:
( ) ( ) ( )
i i i
u c ud ud u ud w

* 2 2
El superndice i significa evaluada en el
punto i.
i
c es un factor que permite modificar el valor de la funcin de acuerdo con la
ubicacin punto donde se evala respecto a la frontera. Si el punto i se encuentra en
medio del dominio, es decir es un punto interior 1
i
c . 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 unin, como se muestra en la figura.
1
i
c
5 . 0
i
c
25 . 0
i
c 125 . 0
i
c

Figura 14. Valores para la constante C
i
.

Como se menciono anteriormente se toma la funcin radial y se sustituye en la ecuacin:
( )


+ wd u bwd ud w ud w
2

Para lo cual se emplean las siguientes equivalencias:
( )
i i
u c ud w

2

*
u w
*
q w q u
Con lo cual se llega a la ecuacin integral para el mtodo de elementos de frontera:


+ d uq d bu qd u u c
i i * * *



Reordenando los trminos:


+ + d qu d bu d uq u c
i i * * *

Esta ecuacin 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 ecuacin en cada una de
ellas. La anterior ecuacin 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 ecuacin expresada en forma de sumatoria.


+ +
N
j
j ij i
N
j
i ij i i
q G D u H u c
1 1

Donde


j
j
ij
d uq H
*
sobre la frontera j desde el punto i ,

d bu D
i *
, integral de superficie desde el punto i sobre todo el dominio

d qu G
ij *
, sobre la frontera j desde el punto i.
Si se toman N puntos sobre la frontera entonces se obtiene el sistema matricial:

GQ D HU +
La cual es la ecuacin de partida para la discretizacin del mtodo de los elementos de
frontera, la cual permite calcular el potencial para un punto dado del dominio.
A continuacin se muestra como se efecta su discretizacin. En donde, u* representa la
funcin radial y q* representa su derivada con respecto al vector normal en la frontera,
as:

,
_

r
u
1
ln
2
1
*

Para un medio bidimensional isotrpico.



y

r
u
4
1
* Para un medio tridimensional isotrpico.

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

>

n
u
q
*
*

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



+ d qu d uq u c
i i
* *
Para una frontera dividida en n elementos lineales se tiene para cada nodo:



+ + + + +
n n
n n
i i
d qu d qu d uq d uq u c * ... * * ... *
1
1
1
1

Para evaluar las integrales se debe tener presente que:

,
_

r
u
1
ln
2
1
*

,
>

n
u
q
*
* , ( ) 1
2
1
1
, ( ) + 1
2
1
2


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


Figura 15. Puntos para la funcin radial.

Las coordenadas del elemento se pueden obtener mediante la siguiente expresin:

( )
( )
2 2
) (
A B B A
X X X X
X

+
+
, ( )
( )
2 2
) (
A B B A
Y Y Y Y
Y

+
+
con 1 1

Para el radio se tiene: ( ) ( ) [ ]
2 2 2
I I
Y Y X X r +

El radio en funcin de : ( ) ( ) ( ) ( ) ( ) [ ]
2 2 2
I I
Y Y X X r +

La frontera expresada en funcin del parmetro se puede expresar de la forma:


i
3
(X
A

?j

(X ,Y)
(X
I
,Y
I
)
r
(X
B
,Y
B
)

( )
( ) ( )

,
_


+
+
+
+

2 2
) (
,
2 2
) (
A B B A A B B A
Y Y Y Y X X X X

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

,
_



2
,
2
' A B A B
Y Y X X
y ( ) ( ) ( )
2 2
'
2
1
A B A B
Y Y X X +
Esta ltima constituir ms adelante el Jacobiano para el cambio de variable en la
expresin integral que se obtendr.

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

Sea la integral:

d qu*

2
2
1
1
q q q + y

,
_

r
u
1
ln
2
1
*



Reemplazando q y u* en la integral

( ) ( ) ( )

,
_

,
_

,
_

+ d
r
q
d
r
q
d
r
q q
1
ln
2
1
ln
2
1
ln
2
1
2
2
1
1
2
2
1
1






Del clculo integral para un cambio de variable se tiene:

( ) ( ) ( ) ( )

d x f d x f
'



Por lo tanto haciendo el cambio de variable:

( ) ( ) ( )
( )
( )

,
_

,
_

d
r
q
d
r
q
'
1
1
1
1
1
ln
2
1
ln
2


Se tiene:
( ) ( )
( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( )


+

,
_

,
_

d Y Y X X
Y Y X X
d
r
A B A B
I I
2 2
2 2
'
1
2
1 1
ln 1
2
1 1
ln




4.5.1.2 Calculo de la integral que contiene el termino q*

Sea la integral:

d uq*

Para
>

n
u
q
*
* se tiene
>
>

n u
n
u
q *
*
*

En dos dimensiones se tiene:

,
_

,
_

,
_


y
u
x
u
r
u
*
,
* 1
ln
2
1
*

,
x
r
r
u
x
u

* *
y
y
r
r
u
y
u

* *


Se determinan el gradiente y las derivadas parciales de la funcin radial

( ) ( ) [ ]
2 2 2
I I
Y Y X X r + Derivando implcitamente:
r
X X
x
r
I


r
Y Y
y
r
I

,
_

,
_

,
_

r r r r
u 1
2
1 1
ln
2
1 *


Ahora se determina el vector normal
>
n al vector de recta determinado por los puntos
(X
A
,Y
A
) y (X
B
,Y
B
) 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 , 0 0 , ,
>
A B A B
Y Y X X
n


( ) ( )
j
i
k
j
i
n A B B A
A B A B
X X Y Y
Y Y X X
>
>
>
>
>
>
+

0
1 0 0

Reemplazando los trminos anteriores en
>
>

n u
n
u
q *
*
* se tiene:
( )
A B B A
I I
X X Y Y
r
Y Y
r
X X
n u
n
u
q
,
_

>
>
,
2
,
2
*
*
*
2 2




El valor de u en un punto del elemento en funcin de esta dado por:

( ) ( ) ( )
B A B A
u u u u u + + + 1
2
1
1
2
1
2 1


( )
( )
( )
( )
( )
A B B A
I I
X X Y Y
r
Y Y
r
X X
n u
n
u
q

,
_

>
>
,
2
,
2
*
*
*
2 2



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

,
_

>
>


2
2
*
*
*
r
X X Y Y Y Y X X
n u
n
u
q
A B I B A I



Introduciendo las expresiones anteriores en la integral y teniendo en cuenta el cambio de
variable r por :
( ) ( ) ( ) ( )
( ) ( )( ) ( ) ( )( )
( )

,
_

,
_

+ +

d
r
X X Y Y Y Y X X
u u d q u
A B I B A I B A



2
2
1
2
1
1
2
1
*
Del clculo integral para un cambio de variable se tiene:

( ) ( ) ( ) ( )

d x f dx x f
'



Para este caso se tiene:
( ) ( ) ( ) ( )
( ) ( )( ) ( ) ( )( )
( )
( )


d
r
X X Y Y Y Y X X
u u d q u
A B I B A I B A '
2
2
1
2
1
1
2
1
*

,
_

,
_

+ +



Donde:

( )
( ) ( )

,
_


+
+
+
+

2 2
) (
,
2 2
) (
A B B A A B B A
Y Y Y Y X X X X



( )
( ) ( )

,
_



2
,
2
' A B A B
Y Y X X
y ( ) ( ) ( )
2 2 '
2
1
A B A B
Y Y X X +


Cada integral de la forma

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


+
1
1 11 2 2
1
1 11 1 1
1
1
* * * d q u d q u d uq





Donde:

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


d Y Y X X
r
X X Y Y Y Y X X
u d q u
A B A B
A B I B A I A A 2 2
2
11 1
2
1
2
1
2
1
* +

,
_

,
_

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


d Y Y X X
r
X X Y Y Y Y X X
u d q u
A B A B
A B I B A I B B 2 2
2 11 2
2
1
2
1
2
1
* +

,
_

,
_




4.5.1.3 Calculo de la integral de dominio con generacin b de calor

Ahora se procede a evaluar la integral que contiene el trmino b de generacin de calor:

Sea la integral:

d bu*


,
_

,
_

d
r
b d bu
1
ln
2
1
*



El trmino

d bu* implica que se debe calcular una integral de dominio. Si la forma del
dominio es simple se puede efectuar una integracin sobre todo el dominio. En otros
casos se recomienda dividir el dominio en regiones de integracin llamadas celdas. Al
seleccionar los puntos de integracin se debe tener cuidado de que estos no queden
sobre la frontera ya que esto causara que la distancia r del punto a la frontera empleada
en la funcin 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 Transformacin de Telles.
(Ver BREBBIA, The Dual Reciprocity Boundary Element Method). La funcin contenida
dentro del smbolo de integral se puede evaluar mediante diversos mtodos de
integracin numrica: Romberg, Simpson, Regla del Trapecio, Cuadraturas Gaussianas,
etc. (Ver CHAPRA). Por sencillez y eficiencia se opta por la integracin gaussiana, en la
cual se tomaran puntos de evaluacin de la funcin radial que no estn sobre la frontera.

e
M
e
r
k
i
A bu d bu D


,
_


1 1
*
*

Donde:
e = Nmero de celda

M = Nmero de celdas o regiones internas
A
e
= rea de la celda e
D
i
= Resultado de la integracin para cada punto i
r = Nmero de puntos de integracin en cada celda

Al unir todos los trminos 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 integracin con siete puntos de gauss de acuerdo
con la siguiente tabla:

Punto Peso Coordenada 1 Coordenada 2 Coordenada 3
1 0.225 0.33333333 0.33333333 0.33333333
2 0.12592918 0.79742699 0.10128651 0.10128651
3 0.12592918 0.10128651 0.79742699 0.10128651
4 0.12592918 0.10128651 0.10128651 0.79742699
5 0.13239416 0.05971587 0.47014206 0.47014206
6 0.13239416 0.47014206 0.05971587 0.47014206
7 0.13239416 0.47014206 0.47014206 0.05971587

Tabla 1. Puntos y pesos de gauss para integracin con siete puntos.





















4.5.2 Aplicacin

Debido al tamao 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 divisin dominio triangular

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



+ + d qu d bu d uq u c
i i
* * *


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



+ + + + +
2 3
3
2
2
1
1
3
3 2
1
1
* * * * * * d qu d qu d qu d uq d uq d uq u c
i i

El lado izquierdo de la ecuacin queda de la siguiente forma:



+ + + +
2 3
3 2
1
1
* * * d uq d uq d uq u c
i i




+ + + + + +
3
3 13 2 1
3
3 13 1 3
2
2 12 2 3
2
2 12 1 2
1
1 11 2 2
1
1 11 1 1
1 1
* * * * * * d q u d q u d q u d q u d q u d q u u c

1
3
2
4
?
1

?
3
?
2




+ + + + + +
3
3 23 2 1
3
3 23 1 3
2
2 22 2 3
2
2 22 1 2
1
1 21 2 2
1
1 21 1 1
2 2
* * * * * * d q u d q u d q u d q u d q u d q u u c


+ + + + + +
3
3 33 2 1
3
3 33 1 3
2
2 32 2 3
2
2 32 1 2
1
1 31 2 2
1
1 31 1 1
1 1
* * * * * * d q u d q u d q u d q u d q u d q u u c


Reorganizando los elementos se obtiene:



+ + + + + +
2
2 12 2 3
3
3 13 1 3
1
1 11 2 2
2
2 12 1 2
3
3 13 2 1
1
1 11 1 1
1 1
* * * * * * d q u d q u d q u d q u d q u d q u u c


+ + + + + +
2
2 22 2 3
3
3 23 1 3
1
1 21 2 2
2
2 22 1 2
2 2
3
3 23 2 1
1
1 21 1 1
* * * * * * d q u d q u d q u d q u u c d q u d q u


+ + + + + +
2
2 32 2 3
3
3 33 1 3
3 3
1
1 31 2 2
2
2 32 1 2
3
3 33 2 1
1
1 31 1 1
* * * * * * d q u d q u u c d q u d q u d q u d q u


Lo cual se puede expresar como un producto matricial:

1
1
1
]
1

1
1
1
1
1
1
]
1

+ + + +
+ + + +
+ + + +






3
2
1
2
2 32 2
3
3 33 1
3
1
1 31 2
2
2 32 1
3
3 33 2
1
1 31 1
2
2 22 2
3
3 23 1
1
1 21 2
2
2 22 1
2
3
3 23 2
1
1 21 1
2
2 12 2
3
3 13 1
1
1 11 2
2
2 12 1
1 3
3 13 2 1 11 1
1
* * * * * *
* * * * * *
* * * * * *
u
u
u
d q d q c d q d q d q d q
d q d q d q d q c d q d q
d q d q d q d q d q d q c





Para el lado derecho de la ecuacin:



+ +
3
3
2
2
1
1
* * * d qu d qu d qu

Se tiene:


+ + + + +
3
3 13 2 13
3
3 13 1 33
2
2 12 2 32
2
2 12 1 22
1
1 11 2 21
1
1 11 1 11
* * * * * * d u q d u q d u q d u q d u q d u q


+ + + + +
3
3 23 2 13
3
3 23 1 33
2
2 22 2 32
2
2 22 1 22
1
1 21 2 21
1
1 21 1 11
* * * * * * d u q d u q d u q d u q d u q d u q


+ + + + +
3
3 33 2 13
3
3 33 1 33
2
2 32 2 32
2
2 32 1 22
1
1 31 2 21
1
1 31 1 11
* * * * * * d u q d u q d u q d u q d u q d u q










Expresado en forma matricial se tiene:
1
1
1
1
1
1
1
1
]
1

1
1
1
1
1
1
1
1
1
]
1










13
33
32
22
21
11
3
3 33 2
3
3 33 1
2
2 32 2
2
2 32 1
1
1 31 2
1
1 31 1
3
3 23 2
3
3 23 1
2
2 22 2
2
2 22 1
1
1 21 2
1
1 21 1
3
3 13 2
3
3 13 1
2
2 12 2
2
2 12 1
1
1 11 2
1
1 11 1
* * * * * *
* * * * * *
* * * * * *
q
q
q
q
q
q
d u d u d u d u d u d u
d u d u d u d u d u d u
d u d u d u d u d u d u





Para el problema de la placa rectangular se tiene:
q = 10
b = -5
T = 300 C T = 0 C
q = 10
1 4
3
2
8 7
6
5
12
11
10 9
13 14
15 16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1 2 3
4
5
6
7 8 9
10
12
11
5
5
Nodo
Celda
Elemento de frontera

Figura 17. Divisin dominio para elementos de frontera.












La matriz H queda como sigue:
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12
R1 -0.250 0.000 0.000 0.026 0.047 0.037 0.030 0.037 0.047 0.026 0.000 0.000
R2 0.070 -0.500 0.000 0.038 0.063 0.041 0.035 0.047 0.052 0.035 0.034 0.085
R3 0.038 0.000 -0.500 0.070 0.085 0.034 0.035 0.052 0.047 0.035 0.041 0.063
R4 0.026 0.000 0.000 -0.250 0.000 0.000 0.026 0.047 0.037 0.030 0.037 0.047
R5 0.035 0.034 0.085 0.070 -0.500 0.000 0.038 0.063 0.041 0.035 0.047 0.052
R6 0.035 0.041 0.063 0.038 0.000 -0.500 0.070 0.085 0.034 0.035 0.052 0.047
R7 0.030 0.037 0.047 0.026 0.000 0.000 -0.250 0.000 0.000 0.026 0.047 0.037
R8 0.035 0.047 0.052 0.035 0.034 0.085 0.070 -0.500 0.000 0.038 0.063 0.041
R9 0.035 0.052 0.047 0.035 0.041 0.063 0.038 0.000 -0.500 0.070 0.085 0.034
R10 0.026 0.047 0.037 0.030 0.037 0.047 0.026 0.000 0.000 -0.250 0.000 0.000
R11 0.038 0.063 0.041 0.035 0.047 0.052 0.035 0.034 0.085 0.070 -0.500 0.000
R12 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 C12
R1 0.12 -0.03 -0.15 -0.19 -0.24 -0.27 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33
R2 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30
R3 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28
R4 -0.27 -0.24 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.24 -0.27
R5 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12 -0.03 0.12 0.12 -0.03 -0.15 -0.19
R6 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22 -0.19 -0.15 -0.03 0.12 0.12 -0.03
R7 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29 -0.27 -0.24 -0.19 -0.15 -0.03 0.12
R8 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12
R9 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22
R10 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29
R11 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29
R12 -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 C24
R1 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29 -0.27 -0.24 -0.19 -0.15 -0.03 0.12
R2 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12
R3 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22
R4 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33 -0.33 -0.32 -0.31 -0.30 -0.29 -0.29
R5 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30 -0.31 -0.30 -0.29 -0.29 -0.29 -0.29
R6 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28 -0.29 -0.29 -0.29 -0.29 -0.30 -0.31
R7 0.12 -0.03 -0.15 -0.19 -0.24 -0.27 -0.29 -0.29 -0.30 -0.31 -0.32 -0.33
R8 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.22 -0.23 -0.25 -0.26 -0.29 -0.30
R9 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.12 -0.14 -0.19 -0.22 -0.26 -0.28
R10 -0.27 -0.24 -0.19 -0.15 -0.03 0.12 0.12 -0.03 -0.15 -0.19 -0.24 -0.27
R11 -0.28 -0.26 -0.22 -0.19 -0.14 -0.12 -0.03 0.12 0.12 -0.03 -0.15 -0.19
R12 -0.30 -0.29 -0.26 -0.25 -0.23 -0.22 -0.19 -0.15 -0.03 0.12 0.12 -0.03





El vector de integrales de dominio con el trmino de generacin 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 solucin del sistema formado es:
Nodo T
Q
d
Q
a
1 300.00 10.00 -57.45
2 198.76 10.00 10.00
3 98.01 10.00 10.00
4 0.00 42.74 10.00
5 0.00 61.94 61.94
6 0.00 61.97 61.97
7 0.00 10.00 42.66
8 98.02 10.00 10.00
9 198.75 10.00 10.00
10 300.00 -57.37 10.00
11 300.00 -39.63 -39.63
12 300.00 -39.60 -39.60


4.5.3 Programacin

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 solucin en el vector X. El vector X debe ser interpretado debido a que contiene
informacin 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 condicin es 0 cuando se conoce la temperatura y 1 cuando se conoce

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.

G
i+1
G
i
q
a q
d
u

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

NEF es el nmero de elementos de frontera, NNF es el nmero de nodos de
frontera, nNodo es el nmero del nodo que se esta procesando y nElem es el
nmero del elemento de frontera. Entonces se recorren los elementos de frontera
y para cada uno se halla la condicin del nodo comn en el elemento anterior y en
el elemento actual. Se hace nNodo = nElem. Actual = nElem*2 - 1 esto da la
posicin de la condicin del nodo comn del elemento de frontera en el vector de
condiciones CF. Y Anterior = nElem*2-2 es la posicin del mismo nodo en el
elemento de frontera anterior. Es decir que se revisa la condicin 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 posicin 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 condicin del nodo indica que el flujo de
calor Q(Anterior) es desconocido, entonces X contiene el valor del flujo de calor Q

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(Act ual) 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


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 nmero 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









La funcin 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 funcin CalcularHij se calcula el valor de la integral de frontera o de lnea desde un
nodo prmNodo sobre un elemento prmElem.


+ +
prmElem prmElem ij
d q d q h h h * *
2 1 2 1


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 = Int egralH1(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 expresin


prmElem
d q h *
1 1

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

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 funcin IntegralH2 se calcula


prmElem
d q h *
2 2

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 funcin fPhi1 corresponde a la funcin de interpolacin Isoparamtrica ( ) 1
2
1
1
.
REAL FUNCTION fPhi1(PGauss)
REAL,INTENT(IN) :: PGauss
fPhi1 = (1-PGauss)/2
END FUNCTION fPhi1

La funcin fPhi2 corresponde a la funcin de interpolacin Isoparamtrica ( ) + 1
2
1
2
.
REAL FUNCTION fPhi2(PGauss)
REAL,INTENT(IN) :: PGauss
fPhi2 = (1+PGauss)/2
END FUNCTION fPhi2















La funcin fQRadial evala la funcin radial * q en el punto PG desde el nodo
prmNodo.

( )
( )
( )
( )
( )
A B B A
I I
X X Y Y
r
Y Y
r
X X
n u
n
u
q

,
_

>
>
,
2
,
2
*
*
*
2 2



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 funcin fJacobiano calcula corresponde a un medio de la longitud del elemento de
frontera.

( ) ( ) ( )
2 2
'
2
1
A B A B
Y Y X X +

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







La funcin IntegralG1 corresponde a la integral de frontera, evaluada mediante el uso de
integracin gaussiana de cuatro puntos.
( ) ( )
( )
( )

,
_

d
r
'
1
1
ln
( )
( ) ( ) ( ) ( )
( ) ( )

,
_

+


d Y Y X X
Y Y X X
A B A B
I I
2 2
2 2
2
1 1
ln 1
2
1


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


La funcin IntegralG2 corresponde a la integral de frontera, evaluada mediante el uso de
integracin gaussiana de cuatro puntos.
( ) ( )
( )
( )

,
_

d
r
'
2
1
ln

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 funcin fURadial evalua la funcin radial
*
u en con base en el nodo prmNodo
hasta el punto de gauss PG del elemento prmElem.

( )
( ) ( ) ( ) ( )

,
_

2 2
*
1
ln
2
1
I I
Y Y X X
u



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





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)

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


En la subrutina INTEGRALESAREA se calculan los valores correspondientes a la integral
de dominio,
e
M
e
r
k
i
A bu d bu D


,
_


1 1
*
*


Para lo cual se evala la funcin * u utilizando integracin 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
!Integracin 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 vrtices 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 integracin
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)*


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

!Al completarse la integracin 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 estn en la frontera. Para esto se aprovecha el hecho
de que las matrices H, la matriz G y el vector D ya estn calculados y tambin 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 expresin:


d bu d uq d qu u c
i i
* * *
La cual expresada en forma matricial para obtener
i
u queda as:


1 j
i j ij j ij i
D u H q G u
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


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.



Figura 20. Distribucin de nodos clave para lectura de resultados.


Figura 21. Temperaturas.



4.7 RESULTADO COMPARATIVO

En la tabla siguiente se muestra el resumen de los resultados obtenidos por cada mtodo.
Metodo FDM FVM FEM BEM ANSYS 8.0
Nodo T T T Q T
Qd Qa T
1 300.00 300.00 300.00 -53.30 300.00 10.00 -57.45 300.00
2 200.00 200.00 200.00 198.76 10.00 10.00 197.57
3 100.00 100.00 100.00 98.01 10.00 10.00 97.57
4 0.00 0.00 0.00 43.30 0.00 42.74 10.00 0.00
5 0.00 0.00 0.00 120.00 0.00 61.94 61.94 0.00
6 0.00 0.00 0.00 120.00 0.00 61.97 61.97 0.00
7 0.00 0.00 0.00 46.70 0.00 10.00 42.66 0.00
8 100.00 100.00 100.00 98.02 10.00 10.00 97.57
9 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.00
11 300.00 300.00 300.00 -80.00 300.00 -39.63 -39.63 300.00
12 300.00 300.00 300.00 -80.00 300.00 -39.60 -39.60 300.00
13 210.00 210.00 210.00 210.39 209.65
14 110.00 110.00 110.00 109.77 109.65
15 110.00 110.00 110.00 109.77 109.65
16 210.00 210.00 210.00 210.39 209.65

Tabla 2. Resultado comparativo mtodos finitos.

Se observa que los valores hallados para la temperatura coinciden. En los mtodos de
diferencias y volmenes finitos solo se obtuvieron valores para la temperatura, los valores
para los flujos de calor se deben hallar mediante un post procesamiento. En el mtodo de
elementos finitos se calcularon los valores faltantes no incluidos en las condiciones de
frontera. En el mtodo 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 clculo 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 generacin de calor en su interior. El calor sale
por todas las dems fronteras (S, E, N) .





Para el mtodo 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.3
20 20 20
1
4 3
2
8 7
6
5 12
11
10
9
13 14
15
16

Figura 22. Resultado por el mtodo 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
disminucin en el sistema: 270 + 180 = 60 + 60 + 330 = 450 julios.

Para el mtodo 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.74
10 10 10 10 10 10
300 198.76 98.01 0
1
4 3
2
8 7
6
5 12
11
10
9
13 14
15
16

Figura 23. Resultado por el mtodo 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
disminucin 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 mtodo y entre s.








5 ESTRUCTURA DEL PROGRAMA


En este aparte solo se presenta el cdigo compartido por los distintos mtodos. El detalle
de cada mtodo se puede consultar en la seccin dedicada a cada mtodo en captulos
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 mtodo se implemento en un modulo independiente. Las rutinas
que pueden ser utilizadas por dos o mas mdulos se agruparon en un solo modulo de
rutinas comunes.
Modulo
Globales
Modulo
Principal
Modulo
Diferencias
Finitas
Modulo
Volumenes
Finitos
Modulo
Elementos
Finitos
Modulo
Elementos
de Frontera
Modulo
Lectura
Modulo
Rutinas
Comunes


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 conexin 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 instruccin ALLOCATE y a continuacin se inician sus valores segn 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 mtodos:
Primera lnea: b Valor constante de generacin
Segunda lnea: NF Nmero nodos de frontera
NNI Numero nodos internos
NEF Nmero de lneas de frontera
NCI Nmero de celdas internas o elementos
Tercera lnea: Lnea de encabezados para las lneas siguientes
Siguientes NN lneas, una lnea por cada nodo con la siguiente informacin:
P Numero nodo
S Nodo Sur
E Nodo Este

N Nodo Norte
W Nodo Oeste
X Coordenada X
Y Coordenada Y
C Cdigo condicin del nodo
V Valor condicin nodo

Observe que NN se calcula con los valores ledos en la segunda lnea: NN = NNF + NNI

Siguientes NCI lneas. Una lnea 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 lneas. Dos lneas por cada elemento de frontera para indicar la
condicin frontera y su valor para cada elemento de frontera:
Cdigo de la condicin
Valor de la condicin
Cada dato dentro del archivo de entrada esta separado por tabuladores y cada lnea esta
separada de la siguiente por un retorno de lnea.

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,*) 'Conexin 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
)


!Leer las condiciones de frontera para el mtodo 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-Volmenes Finitos"
WRITE(*,*) "3-Elementos Finitos"
WRITE(*,*) "4-Elementos de Frontera"
WRITE(*,*) "5-Salir"
WRITE(*,*) "Elija una opcin"

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


END PROGRAM Principal
Su funcin es enlazar y coordinar los distintos componentes de la aplicacin.

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 solucin del sistema.
B es el vector del lado derecho del sistema.
Para resolver el sistema la subrutina realiza una llamada a la funcin LSARG de la librera
IMSL de Fortran:
CALL LSARG (N, Matriz, LDA, B, IPATH, X)
Para mostrar el vector solucin se utiliza la funcin WRRRN de la misma librera.

Funcin fCalcularAreaCelda(nCelda)
Esta funcin recibe el cdigo o nmero de la celda (nCelda). Con este valor mediante el
uso de la funcin 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.

Funcin fCalcularLongitud(nNodo1,nNodo2)
Esta funcin recibe dos puntos y calcula la distancia entre ellos utilizando la formula de la
distancia entre dos puntos.

Subrutina ImprimirMatriz(Matriz)
Utiliza la funcin WRRRL de la librera IMSL de Fortran. Esta funcin permite imprimir la
matriz en el archivo de salida utilizando un formato de presentacin 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 propsitos de presentacin de los datos de los
encabezados de la matriz impresa.




6 CONCLUSIONES


Aunque la teora de los mtodos finitos es una campo de las matemticas cuya
elaboracin tomo aproximadamente dos siglos, su aplicacin prctica a la solucin de
problemas de ingeniera es relativamente reciente y contina aumentando el nmero y
variedad de problemas que se pueden resolver con ellos.

Los mtodos finitos requieren la divisin del sistema en regiones, su descripcin
geomtrica, topolgica y condiciones que afectan al sistema. Dependiendo del tipo de
sistema estos aspectos pueden variar considerablemente. La descripcin geomtrica se
refiere a la ubicacin de los puntos de acuerdo con el sistema de coordinas utilizado. La
descripcin topolgica 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 nmero de puntos elegido, el nmero y forma de
elementos, el sistema de coordenadas, el nmero de grados de libertad o variables para
cada punto y las funciones de forma e interpolacin seleccionadas. Mediante una
definicin adecuada del sistema que se desea modelar, eligiendo un sistema de
coordenadas apropiado y aprovechando las propiedades de la simetra, el tamao,
complejidad y dimensionalidad del problema se puede reducir.

El tiempo de preparacin de un modelo y su tiempo de ejecucin aumenta
exponencialmente con el nmero de puntos y elementos utilizados para construir el
modelo. Un error muy comn consiste en tratar de modelar un sistema con ms exactitud
de la requerida, lo cual ocasiona retrasos, aumento de costos para la obtencin de los
resultados o vuelve la solucin impractica por la cantidad de informacin que se debe
recoger y analizar.


La estrategia de solucin del sistema de ecuaciones resultante del modelo incide en el
tiempo de solucin del probl ema y en la cantidad de almacenamiento necesaria para
realizar los clculos internos. Por lo cual para problemas pequeos y de propsito
ilustrativo la solucin directa del sistema y la representacin 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 reduccin del orden de las ecuaciones diferenciales asociadas a un sistema, mediante
la integracin por partes basada en el uso del teorema de Green facilita notablemente el
tratamiento matemtico de los mtodos finitos.

Uno de los aspectos que ms dificultad ofrece al escribir los programas para cada uno de
los mtodos es tener en cuenta apropiadamente las condiciones de frontera de forma que
estas se puedan procesar automticamente. Esta dificultad debe ser tenida en cuenta al
definir el formato del archivo de entrada del problema, para lo cual se debera definir un
estndar que pueda ser procesado por varios mtodos.

Para modelar, simular, validar e interpretar los resultados de un sistema cada sistema se
requiere entender el comportamiento fsico subyacente del mismo.

Cuando se requiera construir un modelo nuevo es recomendable iniciar con un modelo
pequeo que se pueda verificar y validar fcilmente y solo aumentar su tamao en la
medida que se requiera para obtener los resultados apropiados con la resolucin
requerida.

Existen gran cantidad de programas comerciales y acadmicos basados en algunos de
los mtodos finitos. Sin embargo, estos en su mayora estn escritos para aplicaciones o
problemas especficos. Por lo cual al intentar resolver un problema mediante mtodos
numricos es conveniente revisar si los programas existentes satisfacen la necesidad.
Solo en casos muy especficos y para aplicaciones particulares se recomendara escribir
un programa.

Para cada una de las etapas de solucin de problemas de ingeniera mediante el uso de
mtodos finitos: Preparacin, solucin del sistema y procesamiento posterior existen

programas de aplicacin que se pueden utilizar independientemente. Lo cual diminuye el
tiempo total para la solucin del problema lo que permite dedicar mayor tiempo y esfuerzo
al anlisis y optimizacin del sistema.




7 BIBLIOGRAFIA


AKIN, J.E., Finite Element Anlisis 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 anlisis. Theory and problems. Estados Unidos:
McGrawHill, 1994. 280p.

CHAPRA, Steven C., CANALE, Raymond P. Mtodos numricos 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. Matemticas avanzadas. Para estudiantes de ingeniera. Mexico: Fondo
Educativo Interamericano, 1985. 874p.

LEWIS, R.W. MORGAN, K., THOMAS, H.R., SEETHARAMU, K.N. The finite element method
in heat transfer analysis. . 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 mtodo de los elementos finitos. . Espaa: 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 lnea]. <http://www.history.mcs.st- andrews.ac.uk/
Mathematicians/Galerkin.html>

Você também pode gostar