Está en la página 1de 18

IMPLEMENTACIÓN COMPUTACIONAL DEL

MÉTODO DE ELEMENTOS FINITOS.


CASO 1D

RODOLFO ARAYA

Resumen. En este apunte introducimos las nociones básicas necesarias para la implemen-
tación computacional del método de los elementos finitos en 1D.

1. Problema modelo
En este trabajo mostraremos los detalles de la implementación del método de elementos
finitos aplicado a la resolución del siguiente problema de valores de contorno: Hallar u : Ω →
R tal que 
 −εu′′ + α u′ + β u = f en Ω,
(P ) u(a) =0
 u(b) = 0.
donde Ω :=]a, b[, ε > 0, y f ∈ L2 (Ω), α y β son funciones conocidas.
1.1. Formulación variacional. La formulación variacional de (P) está dada por: Hallar
u ∈ H := H01 (Ω) tal que
A(u, v) = (f, v)Ω ∀v ∈ H, (1)
donde
H01 (Ω) := {v ∈ L2 (Ω) : v ′ ∈ L2 (Ω), v(a) = v(b) = 0}.
La forma bilineal A está definida por:
A Z ×H →R Z
H: Z
′ ′ ′
A(u, v) := ε u v dx + α u v dx + β u v dx.
Ω Ω Ω
Además Z
(f, v)Ω := f v dx.

Nota 1. La existencia y unicidad de la solución del problema (1) está asegurada por una
aplicación del Lema de Lax–Milgram (visto en clases).
1.2. Formulación discreta. Sea Hh un subespacio finito dimensional de H. La formula-
ción discreta asociada a (1) está dada por: Hallar uh ∈ Hh tal que
A(uh , vh ) = (f, vh )Ω ∀vh ∈ Hh . (2)
Date: 23 de marzo de 2023.
1
2 R. ARAYA

1.3. Caso particular: elementos finitos. El método de los elementos finitos consiste
en una elección particular de subespacios finito-dimensionales Hh . Sea Th una triangulación
de Ω̄ compuesta por subintervalos (ver Figura 1), definimos el subespacio Hh por

Hh := vh ∈ C(Ω̄) : vh|T ∈ Pk (T ) ∀T ∈ Th , vh (a) = vh (b) = 0 (k ≥ 1). (3)

Figura 1. Malla del abierto Ω.

Si, por simplicidad de la notación, eliminamos el subı́ndice h tenemos que (2) puede ser
descompuesto de la siguiente manera
X Z Z Z  XZ
′ ′ ′
ε u v dx α u v dx + β u v dx = f v dx, (4)
T ∈Th T T T T ∈Th T

para todo v ∈ Hh , lo que permite localizar el cálculo en cada elemento.

2. Resultados básicos
De ahora en adelante supondremos que α y β son constantes y que k = 1 en (3), es decir
aproximaremos la solución u de (1) por funciones seccionalmente lineales y continuas. Esto
significa que

Hh := vh ∈ C(Ω̄) : vh|T ∈ P1 (T ) ∀T ∈ Th , vh (a) = vh (b) = 0 . (5)
Nota 2. En este caso la dimensión de Hh es igual al número de nodos (vértices) internos de
la triangulación Th . Luego si queremos hacer crecer la dimensión de Hh tenemos que agregar
más elementos a Th , lo que se entiende normalmente por refinar la malla.
Sea T ∈ Th , un elemento arbitrario de la triangulación Th , de vértices (nodos) a1 y a2 , con
a1 < a2 i.e.,
T := [a1 , a2 ].
Sea T̂ el intervalo de referencia de nodos â1 = 0 y â2 = 1, i.e.
T̂ := [â1 , â2 ] = [0 , 1].
IMPLEMENTACIÓN DEL FEM 3

Podemos definir una transformación afı́n invertible F : T̂ → T tal que F(âi ) = ai , i = 1, 2,


de la siguiente forma
F(x̂) := B x̂ + b = x
donde B y b están dados por
B := (a2 − a1 ) y b := a1 .

Nota 3. Se puede demostrar que F −1 : T → T̂ está dada por


F −1 (x) = B −1 x − B −1 b = x̂.

Dada la función u : T → R podemos definir û : T̂ → R por


û = u ◦ F,
de donde, usando la regla de la cadena, se obtiene que
dû du
=B ,
dx̂ dx
luego
 
du dû 1 dû
= B −1 =( ) .
dx dx̂ a2 − a1 dx̂
En lo que sigue necesitaremos el siguiente Teorema del Cambio de Variables en integrales
definidas:
Teorema 1 (Integración por sustitución). Sean f una función continua en un intervalo
cerrado I ⊂ R y g una función C 1 en [a , b], tales que la composición f ◦ g en [a , b] está bien
definida, entonces la función h(x̂) := f (g(x̂))g ′ (x̂) es integrable y se tiene que
Z g(b) Z b
f (x) dx = f (g(x̂))g ′ (x̂) dx̂.
g(a) a

Usando el teorema anterior tenemos


Z Z
u dx = B û dx̂,
T T̂

lo que implica que


Z Z Z
′ ′ −1 ′ −1 ′ −1
ε u v dx = ε B û B v̂ B dx̂ = B ε û′ v̂ ′ dx̂
ZT ZT̂ Z T̂

α u′ v dx = α B −1 û′ v̂ B dx̂ = α û′ v̂ dx̂


ZT ZT̂ Z T̂
β u v dx = β û v̂ B dx̂ = B β û v̂ dx̂.
T T̂ T̂
4 R. ARAYA

3. Cálculos elemento a elemento


Por interpolación tenemos que la solución de elementos finitos u de (2), restringida a un
elemento T , pertenece al subespacio P1 (T ) (recordar que en R se tiene que dim P1 (T ) = 2)
de donde podemos escribir
X2
u= pi (x)ui = [P] [u] , (6)
i=1
donde
[P] := (p1 p2 )1×2
y  
u1
[u] :=   .
u2 2×1
Aquı́ p1 y p2 representan las funciones base (shape functions) asociadas al elemento T (ellas
forman una base de P1 (T )), y u1 y u2 son los valores nodales de u, es decir
ui = u(ai ),
donde a1 y a2 son los nodos (vértices) del subintervalo T .

De (6) se deduce que


2
X

u = p′i (x)ui = [DP] [u] , (7)
i=1
con
p′1 p′2

[DP] := 1×2
.
Las funciones de base pi son elegidas de modo que pi ∈ P1 (T ) y

 1, si j = i
pi (aj ) =
 0, ̸ i
si j =
Notar que las funciones de base pi ∈ P1 (T ), en elemento T , están dadas por
pi (x) = p̂i ◦ F −1 (x),
donde p̂i ∈ P1 (T̂ ) son las funciones de base en el elemento de referencia T̂ . En el caso P1 se
tiene que la transformación afin F está dada por
F(x̂) = p̂1 (x̂)a1 + p̂2 (x̂)a2 .
Nota 4. La notación introducida en (6) y (7), puede ser generalizada a aproximaciones de
orden superior. Por ejemplo, si la solución de elementos finitos u de (2), restringida a un
elemento T , pertenece al subespacio P2 (T ) (recordar que dim P2 (T ) = 3) podemos escribir
3
X
u= pi (x)ui = [P] [u] ,
i=1
IMPLEMENTACIÓN DEL FEM 5

donde
[P] := (p1 p2 p3 )1×3
y  
u1
[u] :=  u2  .
u3 3×1
Aquı́ pi , i = 1, 3 representan las funciones base (shape functions) asociadas al elemento T
(ellas forman una base de P2 (T )), y ui , i = 1, 3 son los valores nodales de u, es decir
ui = u(ai ),
donde los nodos ai , i = 1, 3 están dados por: a1 y a2 son los extremos y a3 el punto medio
del subintervalo T . Además
3
X

u = p′i (x)ui = [DP] [u] ,
i=1
donde
p′1 p′2 p′3

[DP] := 1×3
.
3.1. Matriz de rigidez elemental KT . La matriz de rigidez elemental asociada al ele-
mento T ∈ Th , puede ser calculada de la siguiente forma:
Z Z
′ ′
ε u v dx = [DP] [u] [DP] [v] dx
T
ZT h i h i
= ε B −1 D̂P̂ [u] B −1 D̂P̂ [v] B dx̂

 Z h iT h i 
T −1
= [v] B ε D̂P̂ D̂P̂ dx̂ [u]
T̂ 2×1 1×2
| {z }
d
KT
= [v]T KdT [u]
con KdT ∈ R2×2 .
Z Z

α u v dx = α [DP] [u] [P] [v] dx
T
ZT h i h i
= α B −1 D̂P̂ [u] P̂ [v] B dx̂

Z h iT h i 
T
= [v] α P̂ D̂P̂ dx̂ [u]
T̂ 2×1 1×2
| {z }
KaT
= [v]T KaT [u]
6 R. ARAYA

con KaT ∈ R2×2 .


Z Z
β u v dx = β [P] [u] [P] [v] dx
T T
Z h i h i
= β P̂ [u] P̂ [v] B dx̂

Z h iT h i 
T
= [v] β B P̂ P̂ dx̂ [u]
T̂ 2×1 1×2
| {z }
r
KT
= [v]T KrT [u]
con KrT ∈ R2×2 . Ası́ la matriz de rigidez elemental está dada por
KT := KdT + KaT + KrT . (8)
Nota 5. Notar que en el caso P1 se tiene que
h i
D̂P̂ = [−1 1]1×2 .

3.2. Vector de fuerza elemental FT . Para el miembro del lado derecho tenemos que
Z Z
f v dx ≈ [P] [f ] [P] [v] dx
T T
Z h i h i
= P̂ [f ] P̂ [v] B dx̂

 Z h i h i 
T
T
= [v] B P̂ P̂ [f ]2×1 dx̂
T̂ 2×1 1×2
| {z }
FT
= [v]T FT ,
con FT ∈ R2 (vector de carga elemental).
Nota 6. Notar que al reemplazar f por su interpolada [P] [f ], se introduce una nueva fuente
de error. En general este error no es mayor que el error del método de elementos finitos. La
matriz M T definida por Z h iT h i
M T := B P̂ P̂ dx̂,
T̂ 2×1 1×2

se denomina matriz de masa elemental, ella satisface FT = M T [f ]. Notar que no es difı́cil


calcular exactamente M T cuando usamos polinomios Pk .

4. Mallas de elementos finitos


En esta sección consideraremos el caso particular cuando Ω :=]0, 1[, y la siguiente malla
(triangulación) de Ω̄:
IMPLEMENTACIÓN DEL FEM 7

Figura 2. Ejemplo de una malla de 10 elementos para Ω =]0, 1[.

Esta malla define las siguientes estructuras de datos:

nnodos : número total de nodos de la malla (número entero).


nelem: número total de elementos de la malla (número entero).

coordenadas(1,1:nnodos) (arreglo real):


1 2 3 4 5 6 7 8 9 10 11

x 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

conectividad(1:2,1:nelem) (arreglo entero):


1 2 3 4 5 6 7 8 9 10

nodo 1 1 2 3 4 5 6 7 8 9 10

nodo 2 2 3 4 5 6 7 8 9 10 11

refnodo(1:nnodos) (arreglo entero):


1 2 3 4 5 6 7 8 9 10 11

Referencia 1 0 0 0 0 0 0 0 0 0 1

refele(1:nelem) (arreglo entero):


1 2 3 4 5 6 7 8 9 10

Referencia 1 1 1 1 1 1 1 1 1 1
8 R. ARAYA

Nota 7. En el caso unidimensional, la construcción de la malla suele realizarse de forma


manual. Notar que se debe hacer la diferencia entre nodos geométricos (extremos de los
subintervalos) y los nodos de interpolación. En el caso P1 ambos conceptos coinciden, pero
no es ası́ en el caso Pk con k ≥ 2.

4.1. Matriz de rigidez: Ensamble. Sea T ∈ Th un elemento arbitrario de la triangula-


ción y sea KT = (kijT ), i, j = 1, 2, la matriz de rigidez elemental calculada en (8). A partir
de cada una de estas matrices elementales se debe ensamblar la matriz global de rigidez K.
Usando la malla dada en la Figura 2, dicho proceso da origen a la siguiente matriz:

1 2 3 4 5 6 7 8 9 10 11
X X 0 0 0 0 0 0 0 0 0 1
X X X 0 0 0 0 0 0 0 0 2
0 X X X 0 0 0 0 0 0 0 3
0 0 X X X 0 0 0 0 0 0 4
0 0 0 X X X 0 0 0 0 0 5
K=
0 0 0 0 X X X 0 0 0 0 6
0 0 0 0 0 X X X 0 0 0 7
0 0 0 0 0 0 X X X 0 0 8
0 0 0 0 0 0 0 X X X 0 9
0 0 0 0 0 0 0 0 X X X 10
0 0 0 0 0 0 0 0 0 X X 11

X= elementos no nulos (31=26 % )


0 = elementos nulos (90= 74 %).

Nota 8. Notar que la matriz K tiene esta forma si se considera que se desconoce la solución
en todos los nodos (vértices) de la malla, lo que en la práctica no es efectivo pues el valor de
la solución u en la frontera de Dirichlet (nodos x1 y x11 ) es conocido a priori. En realidad, la
matriz deberı́a ser sólo de 9 × 9. Esta forma de ensamblar la matriz global tiene la ventaja
de facilitar la imposición de este tipo de condiciones de frontera, además de ser fácil de
implementar.

A continuación daremos un ejemplo del proceso de ensamblado, es decir cómo las matrices
locales KT contribuyen a formar la matriz global K. Usaremos como ejemplo el elemento
número 5, de nodos 5 y 6, respectivamente. En este caso

 5 5

k11 k12
KT5 =   (9)
5 5
k21 k22
IMPLEMENTACIÓN DEL FEM 9

Usando la numeración local-global de los nodos de T5 obtenemos:


5
K5,5 ←− K5,5 + k11
5
K5,6 ←− K5,6 + k12
5
K6,5 ←− K6,5 + k21
5
K6,6 ←− K6,6 + k22 .
Nota 9. Es fácil probar que, por ejemplo, la quinta fila de la matriz de rigidez global, tiene
tres elementos no nulos: K5,4 , K5,5 y K5,6 , dados por:
4
K5,4 = k12
4 5
K5,5 = k22 + k11
5
K5,6 = k12 .
Ası́, el procedimiento de ensamble da como resultado exactamente la misma matriz de
rigidez que la versión vista en clases, la cual usaba el conocimiento de las funciones ϕi , las
que formaban una base global del subespacio Hh .
En efecto, si suponemos que todos los elementos (subintervalos) de la malla tienen la misma
longitud h (h = 1/10), y usando la forma de la matriz de rigidez elemental para el caso P1
dada por (9), tenemos
K5,4 = −1/h
K5,5 = 2/h
K5,6 = −1/h.
4.2. Matriz de rigidez: Almacenamiento. Debido al carácter sparse de la matriz de
rigidez K, no es conveniente almacenarla como un arreglo de nnodos×nnodos pues se pierde
demasiada memoria almacenando elementos nulos. Por ello, existen por lo menos tres tipos
de almacenamiento para matrices provenientes de la implementación del método de elemen-
tos finitos: banda, skyline (perfil ) y el almacenamiento Morse (CRS ). En este apunte sólo
revisaremos este último.
4.2.1. Almacenamiento Morse (CRS). El almacenamiento de una matriz K de n×n en una
estructura de tipo Morse (Compressed Row Storage, CRS, en inglés) consiste en almacenar
en memoria sólo los elementos no nulos de la matriz.

Supongamos que la matriz K contiene nzero elementos diferentes de cero. Para almacenar
K en una estructura Morse, es necesario definir tres arreglos:
row(1:n+1) (entero)
column(1:nzero) (entero)
aa(1:nzero) (real)
El arreglo row está destinado a guardar el número de elementos no nulos de cada fila de
la matriz. Este arreglo se construye de la siguiente forma: definimos row(1)=1 y definimos
el valor de row(i+1) de modo que row(i+1)-row(i) sea igual al número de elementos no
10 R. ARAYA

nulos de la fila i . Evidentemente tenemos la identidad: nzero = row(n+1) - row(1).

El arreglo column contiene los ı́ndices de las columnas de los elementos no nulos de K. Es
decir,
column(row(i)), ..., column(row(i+1)-1)
es la lista de los ı́ndices de columna de los elementos no nulos de la fila i. Por convención, el
arreglo column está ordenado de modo que los ı́ndices de las columnas sean crecientes para
una fila dada.

El arreglo aa contiene los elementos no nulos de la matriz. Para la fila i de la matriz K,


los elementos no nulos de dicha fila están dados por: aa(row(i)),..., aa(row(i+1)-1) .

Por ejemplo, dada la siguiente matriz K de 5 × 5:


 
1,0 0,0 0,0 2,0 0,0
 3,0 4,0 0,0 5,0 0,0 
 
K=  6,0 0,0 7,0 8,0 9,0
,

 0,0 0,0 10,0 11,0 0,0 
0,0 0,0 0,0 0,0 12,0
los arreglos generados por el formato Morse son:
aa : 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0
column : 1 4 1 2 4 1 3 4 5 3 4 5
row : 1 3 6 10 12 13
IMPLEMENTACIÓN DEL FEM 11

4.3. Ensamble usando Morse. Es claro que no podemos ensamblar la matriz de rigidez
global K como un arreglo de nnodos×nnodos, para luego almacenarla en Morse. Lo óptimo es
calcular las matrices de rigidez elementales KT para después ensamblarlas en una estructura
Morse para K.
DO i=1,2
i1=conectividad_local(i)
DO j=1,2
j1=conectividad_local(j)
inner: DO l=A_row(i1),A_row(i1+1)-1
IF(A_column(l)==j1) THEN
A_aa(l)=A_aa(l)+kT_local(i,j)
EXIT inner
END IF
END DO inner
END DO
END DO

4.4. Ensamble del vector de fuerza elemental. A continuación daremos un ejemplo


del proceso de ensamblado del vector de fuerza global, es decir como los vectores de fuerza
locales FT contribuyen a formar el vector global F. Nuevamente usaremos el elemento número
5 de nodos 5 y 6, respectivamente.
 5 
f1
FT5 =   (10)
5
f2
Usando la numeración local-global de los nodos de T5 obtenemos:
F5 ←− F5 + f15
F6 ←− F6 + f25

5. Integración numérica
R
En diferentes lugares hemos debido calcular el valor de integrales del tipo T v dx donde v
es una función polinomial. ParaR ello necesitamos usar una fórmula de cuadratura numérica,
es decir el valor de la integral T v dx es aproximado por la expresión
npi
X
ωi v(bi ),
i=1

donde los valores ωi son los pesos de la cuadratura y bi ∈ T los puntos de integración.
Un ejemplo de fórmula de integración es la fórmula de Gauss vista en el curso de Cálculo
Numérico.
12 R. ARAYA

Es necesario recalcar que si se usa integración numérica se está introduciendo una nueva
fuente de error, la cual es necesario controlar para no destruir la calidad del método.

6. Imposición de las condiciones de frontera


Hasta el momento hemos considerado que todos los nodos son incógnitas, lo cual no es
efectivo pues los valores de la solución en la frontera de Dirichlet son conocidos a priori. En
nuesro ejemplo, el valor en el nodo 1 (x1 = 0) es igual a uD , con uD = 0, es decir u1 = uD .
Después de haber ensamblado la matriz de rigidez global K, tenemos que resolver el siguiente
sistema lineal

k11 k12 k13 k14 k15 ... k1 11 u1 f1


     
 k21 k22 k23 k24 k25 ... k2 11   u2   f2 
k31 k32 k33 k34 k35 ... k3 11 u3 f3
     
    =  
 .. .. .. .. .. .. ..   ..   .. 
 . . . . . . .   .   . 
k11 1 k11 2 k11 3 k11 4 k11 5 . . . k11 11 u11 f11

6.1. Primera alternativa: penalización. Consideremos un número real M suficiente-


mente grande, por ejemplo M = 1025 . En tal caso, computacionalmente hablando M −1 ≈ 0,
luego imponemos la condición de frontera del siguiente modo:

k11 + M k12 k13 k14 k15 ... k1 11 u1 M uD


     
 k21 k22 k23 k24 k25 ... k2 11   u2   f2 
k31 k32 k33 k34 k35 ... k3 11 u3 f3
     
    =  
 .. .. .. .. .. .. ..   ..   .. 
 . . . . . . .   .   . 
k11 1 k11 2 k11 3 k11 4 k11 5 . . . k11 11 u11 f11
Esto tiene la ventaja de intervenir la matriz sólo en la diagonal, guardando su estructura
intacta (simetrı́a). La desventaja es que la nueva matriz es, generalmente, mal condicionada
lo cual es un problema si se usan métodos iterativos para resolver el sistema lineal.

6.2. Segunda alternativa. En este caso imponemos la condición de frontera de la forma


siguiente:

1 0 0 0 0 ... 0 u1 uD
     
 k21 k22 k23 k24 k25 ... k2 11   u2   f2 
k31 k32 k33 k34 k35 ... k3 11 u3 f3
     
    =  
 .. .. .. .. .. .. ..   ..   .. 
 . . . . . . .   .   . 
k11 1 k11 2 k11 3 k11 4 k11 5 . . . k11 11 u11 f11
La principal desventaja es que en el caso que K sea simétrica, después de aplicar esta
estrategia perdemos la simetrı́a de la matriz.
IMPLEMENTACIÓN DEL FEM 13

6.3. Tercera alternativa: Descomposición en bloques. Si se renumeran los nodos de


la malla el sistema lineal global Ku = F se puede escribir de la siguiente forma:
    
K11 K12 U F
= ,
K21 K22 UD FD

con U ∈ RM , UD ∈ Rnnode−M . Aquı́ U representa los valores en los nodos donde la solución
debe ser calculada, UD son los valores en los nodos donde se impone una condición de tipo
Dirichlet (conocido a priori). Ası́ obtenemos

K11 U = F − K12 UD .

La principal desventaja es la dificultad de implementar computacionalmente esta estrate-


gia.

7. Solución del sistema lineal


Para resolver el sistema lineal global

Ku = F,

que genera la aplicación del método de elementos finitos, se puede escoger entre los métodos
directos (LU , Cholesky, etc) y los métodos iterativos (Gradiente Conjugado, GMRES, etc).
La elección de uno u otro depende del problema a tratar, del sistema lineal resultante y del
equipamiento computacional del cual se disponga.

Un listado de implementaciones (gratuitas) de diferentes métodos para resolver sistemas


lineales puede ser encontrado en:
http://www.netlib.org/utk/people/JackDongarra/la-sw.html.

8. Resultados numéricos
Presentamos ahora dos simulaciones numéricas obtenidas con una implementación del
FEM, usando polinomios lineales y continuos de orden 1 (i.e. P1 ). En este caso Ω :=]0 , 1[,
ε = 1, α = β = 0, y la función f es tal que la solución del problema está dada por

u(x) = sin(2πx).
14 R. ARAYA

0.8 Exacta
FEM
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Figura 3. Resultado usando una malla con 10 elementos (11 nodos).

0.8 Exacta
FEM
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Figura 4. Resultado usando una malla con 100 elementos (101 nodos).

Como en este caso test conocemos la solución analı́tica, podemos calcular las normas del
error dadas por

Z 1/2
2
∥u − uh ∥0,Ω := |u − uh | dx (norma L2 )

Z 1/2

|u − uh |1,Ω := |u − u′h |2 dx (semi norma H 1 )

1/2
∥u − uh ∥1,Ω := ∥u − uh ∥20,Ω + |u − uh |21,Ω (norma H 1 ).
IMPLEMENTACIÓN DEL FEM 15

En la Figura 5 se observa el comportamiento esperado del error cuando h tiende a cero,


es decir
∥u − uh ∥0,Ω = O(h2 )
|u − uh |1,Ω = O(h)
∥u − uh ∥1,Ω = O(h).

100

10−1

10−2
log (error)

10−3

10−4
ku − uh k0,Ω
10−5 |u − uh |1,Ω
ku − uh k1,Ω
10−6 h2
h
10−7
0.0001 0.001 0.01 0.1 1
log (h)

Figura 5. Curvas de error del FEM, cuando h → 0.


Apéndice A

Polinomios Nodos de interpolación Funciones de Base Matriz de rigidez elemental KdT


 
â1 := 0 p̂1 (x̂) := 1 − x̂ 1 −1
ε
P1  
â2 := 1 p̂2 (x̂) := x̂ a2 − a1 −1 1

 
â1 := 0 p̂1 (x̂) := (1 − 2x̂)(1 − x̂) 7 1 −8
 
ε  
P2 â2 := 1 p̂2 (x̂) := x̂(2x̂ − 1)  1 7 −8 
3(a2 − a1 ) 



â3 := 1/2 p̂3 (x̂) := 4x̂(1 − x̂) −8 −8 16

1
p̂1 (x̂) := (3x̂ − 1)(3x̂ − 2)(1 − x̂)
â1 := 0 2 
148 −13 −189 54

1  
â2 := 1 p̂2 (x̂) := x̂(3x̂ − 1)(3x̂ − 2)  −13

148 54 −189 

2 ε  
P3
40(a2 − a1 )  −189
 
â3 := 1/3 9 54 432 −297 

p̂3 (x̂) := x̂(3x̂ − 2)(x̂ − 1) 
2  
â4 := 2/3 54 −189 −297 432
9
p̂4 (x̂) := x̂(3x̂ − 1)(1 − x̂)
2

Cuadro 1. Resumen para polinomios de grados menores o iguales a 3.


Apéndice B

Polinomios Nodos de interpolación Funciones de Base Matriz de rigidez elemental KrT


 
â1 := 0 p̂1 (x̂) := 1 − x̂ 2 1
β(a2 − a1 ) 
P1 
â2 := 1 p̂2 (x̂) := x̂ 6 1 2

 
â1 := 0 p̂1 (x̂) := (1 − 2x̂)(1 − x̂) 4 −1 2
 
β(a2 − a1 )  
P2 â2 := 1 p̂2 (x̂) := x̂(2x̂ − 1)  −1 4 2 
30 



â3 := 1/2 p̂3 (x̂) := 4x̂(1 − x̂) 2 2 16

1
p̂1 (x̂) := (3x̂ − 1)(3x̂ − 2)(1 − x̂)
â1 := 0 2 
128 19 99 −36

1  
â2 := 1 p̂2 (x̂) := x̂(3x̂ − 1)(3x̂ − 2) 
19 128 −36 99 

2 β(a2 − a1 ) 
 
P3
1680
 
â3 := 1/3 9 
99 −36 648 −81 

p̂3 (x̂) := x̂(3x̂ − 2)(x̂ − 1) 
2  
â4 := 2/3 −36 99 −81 648
9
p̂4 (x̂) := x̂(3x̂ − 1)(1 − x̂)
2

Cuadro 2. Resumen para polinomios de grados menores o iguales a 3.


18 R. ARAYA

CI2 MA & Departamento de Ingenierı́a Matemática, Universidad de Concepción, Casilla


160-C, Concepción, Chile
Email address: rodolfo.araya@udec.cl

También podría gustarte