Deducción de la formulación matricial de un elemento en una ecuación diferencial lineal ordinaria de segundo orden con funciones de interpolación lineales. Caso 1.- Ecuación de la forma -[p(X)·y']' + q(X)·y =g(X). Funciones de interpolación lineales Considérese el intervalo [α,β] dividido en L elementos cuyos extremos son [X1, X2], [X2, X3], [X3, X4], ……., [Xk , Xk+1], …….., [XL, XL+1], donde X1 = α y XL+1 = β. Se va reducir este estudio al elemento genérico e k , definido en el subintervalo [Xk , Xk+1] cuyos nodos son Xk y Xk+1. Se aproxima la solución mediante las funciones de interpolación lineales: x N1k ( x) = 1 − hk y Nk2 (x) = x hk donde hk = Xk+1 - Xk y las funciones están expresadas en coordenadas locales que se relacionan con las globales mediante la ecuación: X = x + Xk Repárese que dX = dx, con lo que la ecuación diferencial expresada en coordenadas locales para el elemento ek tendría la forma: -[p(x + Xk )·y']' + q(x + Xk )·y =g(x + Xk ) Con estas funciones de interpolación la función en este elemento se aproxima mediante la línea recta definida por: y = u k ⋅ Nk1 ( x) + uk +1 ⋅ Nk2 ( x ) donde uk y uk+1 son los valores de las ordenadas en los nodos del elemento, es decir en las abscisas, expresadas en coordenadas globales, Xk y Xk+1, respectivamente. Llevando esta aproximación a la ecuación diferencial se llega a: − [p( Xk + x )· y' ] '+ q( Xk + x)· uk ⋅ N1k ( x) + uk +1 ⋅ Nk2 ( x) − g( Xk + x ) = R( x,...,uk +1) Aplicando el método de Galerkin, en el que h k ∫o k R( x, Xk , Xk +1,u k , uk +1)·Nr ( x )·dx = 0 ∀ r = 1, 2 ( ) esta integral conduce a las siguientes integrales cuya suma ha de ser nula: i) Integrando por partes la integral correspondiente al primer sumando del primer miembro de la ecuación diferencial [ ] − ∫0hk [p( X k + x )·y' ]'·Nkr ( x)·dx = − p( Xk + x )· y'·Nkr ( x) 0 + ∫0hk p( Xk + x)· y'. hk dN kr ( x ) ·dx dx ii) El segundo término conduce a la integral iii) h k k k ∫0 k q( Xk + x )· u k ⋅ N1 ( x ) + u k +1 ⋅ N 2 ( x ) ·Nr ( x )·dx El tercer término, que se le llamará -fr, donde, como es sabido r toma los valores 1 ó 2: ( ) − ∫0hk g( X k + x )·N kr ( x )· dx = − fr reuniendo los tres resultados e imponiendo que s suma sea cero se llega a p( Xk )· y' ( X k )·Nkr ( 0 ) − p( Xk +1)· y' ( X k +1 )·Nkr (h k ) + ∫0hk p( Xk + x)· y'. ( ) dNkr ( x) ·dx + dx + ∫0hk q( Xk + x )· uk ⋅ Nk1 ( x ) + uk +1 ⋅ N k2 ( x ) ·N kr ( x )· dx = fr Particularizando ahora para r = 1 y sustituyendo en la integral primera y' por su valor en función de las derivadas de las funciones de interpolación, se obtiene dN k dN k dN k ( x) p( Xk )· y' ( Xk ) + ∫0hk p( Xk + x)· uk · 1 + uk +1· 2 . 1 ·dx + dx dx dx ( ) + ∫0hk q( Xk + x )· u k ⋅ N1k ( x ) + u k +1 ⋅ Nk2 ( x ) ·N1k ( x )· dx = f1 Para r = 2 se obtiene, dNk dN k − p( Xk +1 )· y' ( Xk +1) + ∫0h k p( Xk + x )· u k · 1 + u k +1· 2 dx dx ( ) dNk ( x) 2 . ·dx + dx + ∫0hk q( Xk + x )· u k ⋅ N1k ( x ) + u k +1 ⋅ Nk2 ( x ) ·Nk2 ( x )·dx = f2 llamando dN k1 dN k1 ( x ) Kk11 = ∫0h k p( Xk + x) ⋅ ⋅ + q( X k + x) ⋅ N1k ( x) ⋅ Nk1 ( x) ⋅ dx dx dx dNk dN k2 ( x) Kk12 = K k21 = ∫0hk p( Xk + x) ⋅ 1 ⋅ + q( Xk + x) ⋅ Nk1 ( x ) ⋅ Nk2 ( x) ⋅ dx dx dx dNk2 dN k2 ( x) Kk22 = ∫0hk p( X k + x) ⋅ ⋅ + q( Xk + x) ⋅ N k2 ( x ) ⋅ Nk2 ( x) ⋅ dx dx dx se llega a las siguientes expresiones k p( Xk )· y' ( X k ) + K11 ⋅ u k + Kk12 ⋅ uk +1 = f1 − p( Xk +1 )· y' ( Xk +1) + K k21 ⋅ uk + K k22 ⋅ u k +1 = f2 que en forma matricial adopta la forma: k k p(Xk )·y'(Xk ) K 11 K 1 2 uk f1 + ⋅ = k k − p(Xk +1 )·y'(Xk +1 ) K 2 1 K 22 u k +1 f2 se suele llamar k K k K12 Kkel = 11 k k K 21 K 22 que, como se ha visto, es simétrica. Caso 2.- Ecuación de la forma p(X)·y'' + q(X)·y' + r(x)·y(X) = g(X). Haciendo las mismas consideraciones que en el caso anterior en cuanto a funciones de interpolación y al cálculo del residuo, aplicando Galerkin, se llega a las siguientes integrales: i) Integrando por partes la integral correspondiente al primer sumando del primer miembro de la ecuación diferencial h ∫0 k [ ] hk p( Xk + x)· y"·Nkr ( x)· dx = p( X k + x)· y'·Nkr ( x) 0 + ∫0hk − p( Xk + x )· y'. + ∫0hk − Nkr ( x)· y'. dN kr ( x) ·dx + dx dp ( Xk + x) ·dx dx ii) El segundo define la integral iii) dN1k ( x) dN k2 ( x ) k h + u k +1 ⋅ ·Nr ( x )·dx ∫0 k q( Xk + x)· uk ⋅ dx dx El tercer término conduce a la integral iv) h k k k ∫0 k r ( X k + x )· uk ⋅ N1 ( x ) + uk +1 ⋅ N 2 ( x ) ·N r ( x )· dx El cuarto término se llamará -fr, al igual que en el caso anterior: ( ) − ∫0hk g( X k + x )·N kr ( x )·dx = − fr Reuniendo todo los sumandos e imponiendo que esta suma sea nula, se llega a: p( Xk +1)· y' ( X k +1 )·Nkr (h k ) − p( X k )· y' ( Xk )·Nkr ( 0 ) + dN k1 ( x) dN k ( x) dN kr ( x) + ∫0h k − p ( Xk + x) ⋅ uk ⋅ + u k +1 ⋅ 2 ⋅ ·dx + dx dx dx dN k ( x) dN k2 ( x ) dp ( Xk + x) + ∫0h k − N kr ( x) ⋅ u k ⋅ 1 + u k +1 ⋅ ⋅ ·dx + dx dx dx dN k1 ( x ) dN k2 ( x) k + ∫0hk q( Xk + x)· u k ⋅ + uk +1 ⋅ ·N r ( x)· dx + dx dx ( ) + ∫ 0hk r ( Xk + x )· uk ⋅ Nk1 ( x ) + uk +1 ⋅ N k2 ( x ) ·N kr ( x )· dx = fr particularizando para r= 1 dN k dN k − p( Xk )·y' ( Xk ) + ∫0hk − p( Xk + x )· uk · 1 + uk +1· 2 dx dx 2/4 dN k ( x ) . 1 ·dx + dx dN k ( x) dN k2 ( x ) dp ( Xk + x) + ∫0h k − N1k ( x) ⋅ u k ⋅ 1 + u k +1 ⋅ ⋅ ·dx + dx dx dx dN k1 ( x ) dN k2 ( x) k + ∫0hk q( Xk + x)· u k ⋅ + uk +1 ⋅ ·N1 ( x)· dx + dx dx ( ) + ∫0hk r ( X k + x )· uk ⋅ Nk1 ( x ) + u k +1 ⋅ Nk2 ( x ) ·N1k ( x )· dx = f1 y para r = 2, se llega a que: dNk dN k p( Xk +1)· y' ( Xk +1 ) + ∫0hk − p( Xk + x )· u k · 1 + u k +1· 2 dx dx dNk ( x) 2 . ·dx + dx dN k1 ( x ) dN k2 ( x) dp ( Xk + x ) + ∫0hk − Nk2 ( x) ⋅ u k ⋅ + u k +1 ⋅ ⋅ ·dx + dx dx dx dN k1 ( x ) dN k2 ( x) k + ∫0hk q( Xk + x)· u k ⋅ + uk +1 ⋅ ·N 2 ( x)· dx + dx dx ( ) + ∫0hk r ( Xk + x )· uk ⋅ Nk1 ( x ) + uk +1 ⋅ N k2 ( x ) ·N k2 ( x )· dx = f2 llamando Kk11 = ∫0h k − p( X k + x) ⋅ dNk1 dN k1 ( x) ⋅ ·dx + dx dx dN1k ( x) dp( Xk + x ) dN k ( x) k ⋅ ·dx + ∫0hk q( Xk + x) ⋅ 1 ⋅ ⋅N1 ( x )·dx + dx dx dx + ∫0hk r ( Xk + x ) ⋅ Nk1 ( x ) ⋅ N1k ( x )· dx + ∫0h k − N1k ( x) ⋅ Kk22 = ∫0h k − p( X k + x) ⋅ + ∫0hk − Nk2 ( x) ⋅ + hk ∫0 dN k2 dN k2 ( x) ⋅ ·dx + dx dx dN k2 ( x ) dp ( Xk + x) dN k ( x) k ⋅ ·dx + ∫0hk q( Xk + x) ⋅ 2 ⋅ ⋅N2 ( x )·dx + dx dx dx r ( Xk + x) ⋅ Nk2 ( x ) ⋅ Nk2 ( x)·dx Kk12 = ∫0hk − p( Xk + x) ⋅ dN k1 dNk2 ( x) ⋅ ·dx + dx dx dN k2 ( x ) dp( Xk + x) dN k ( x) k ⋅ ·dx + ∫0hk q( Xk + x) ⋅ 2 ⋅ ⋅N1 ( x)· dx + dx dx dx + ∫0hk r ( Xk + x ) ⋅ Nk1 ( x ) ⋅ Nk2 ( x )·dx + ∫0h k − N1k ( x) ⋅ Kk21 = ∫0hk − p( Xk + x) ⋅ dN k1 dN k2 ( x) ⋅ ·dx + dx dx dN k1 ( x ) dp( Xk + x) dN k ( x ) k ⋅ ·dx + ∫0hk q( Xk + x) ⋅ 1 ⋅ ⋅N2 ( x)· dx + dx dx dx + ∫0hk r ( Xk + x ) ⋅ Nk1 ( x ) ⋅ Nk2 ( x )·dx se llega a las siguientes expresiones k − p( Xk )· y' ( Xk ) + K11 ⋅ u k + Kk12 ⋅ uk +1 = f1 + ∫0h k − Nk2 ( x) ⋅ p( Xk +1)· y' ( X k +1 ) + K k21 ⋅ u k + Kk22 ⋅ uk +1 = f2 que en forma matricial adopta la forma: k − p( Xk )·y' ( Xk ) K11 Kk12 u k f1 + = ⋅ k k p( Xk +1 )·y' ( Xk +1) K 21 K 22 u k +1 f2 se suele llamar 3/4 k K k K12 Kkel = 11 k k K 21 K 22 que, como se ha visto, no es simétrica. Código en Maple Caso 1.Definición de las funciones p(x), q(x), g(x) > p:=x->;# se expresan en coordenadas locales > q:=x->; > g:=x->; Funciones de interpolación de un elemento genérico: > N1:=(x,h_k)->1. -x/h_k;# h_k es la longitud del elemento > DN1:=D[1](N1);# cálculo de la derivada con respecto a x > N2:=(x,h_k)->x/h_k; > DN2:=D[1](N2); Integración de los términos de la matriz de rigidez de un elemento genérico >K_11:=int(N1(x,h_k)*N1(x,h_k)*q(X_k+x)+DN1(x,h_k)*DN1(x,h_k)*p(X_k+x),x=0..h_k); # en la función p(x) se ha hecho el cambio de coordenadas de globales a locales, X_k es el extremo izquierdo del elemento >K_12:=int(N1(x,h_k)*N2(x,h_k)*q(X_k+x)+DN1(x,h_k)*DN2(x,h_k)*p(X_k+x),x=0..h_k); >K_22:=int(N2(x,h_k)*N2(x,h_k)*q(X_k+x)+DN2(x,h_k)*DN2(x,h_k)*p(X_k+x),x=0..h_k); Matriz de rigidez del elemento >with(linalg):# se invoca esta librería para definir la matriz del elemento k >K_el:=matrix(2,2,[K_11, K_12, K_12, K_22,]); #repárese que la matriz es simétrica Determinación del vector f (vector del segundo miembro) > f_1:=int(g(x+X_k)*N1(x,h_k),x=0..h_k); > f_2:=int(g(x+X_k)*N2(x,h_k),x=0..h_k); > f_el:=matrix(2,1,[f_1,f_2]); Caso 2.Definición de las funciones p(x), q(x), r(x), g(x) > p:=x->;#se expresan en coordenadas locales > q:=x->; > r:=x->; > g:=x->; > Dp:=D(p);# se obtiene la derivada de la función p(x) Funciones de interpolación de un elemento genérico: > N1:=(x,h_k)->1. -x/h_k;# h_k es la longitud del elemento > DN1:=D[1](N1);# cálculo de la derivada con respecto a x > N2:=(x,h_k)->x/h_k; > DN2:=D[1](N2); Integración de los términos de la matriz de rigidez de un elemento genérico > K_11:=int(-DN1(x,h_k)*N1(x,h_k)*Dp(X_k+x)DN1(x,h_k)*DN1(x,h_k)*p(X_k+x)+DN1(x,h_k)*N1(x,h_k)*q(X_k+x)+N1(x,h_k)*N1(x,h_k)*r(X_k+x),x=0..h_k); > K_12:=int(-DN2(x,h_k)*N1(x,h_k)*Dp(X_k+x)DN1(x,h_k)*DN2(x,h_k)*p(X_k+x)+DN2(x,h_k)*N1(x,h_k)*q(X_k+x)+N1(x,h_k)*N2(x,h_k)*r(X_k+x),x=0..h_k); > K_21:=int(-DN1(x,h_k)*N2(x,h_k)*Dp(X_k+x)DN2(x,h_k)*DN1(x,h_k)*p(X_k+x)+DN1(x,h_k)*N2(x,h_k)*q(X_k+x)+N2(x,h_k)*N1(x,h_k)*r(X_k+x),x=0..h_k); > K_22:=int(-DN2(x,h_k)*N2(x,h_k)*Dp(X_k+x)DN2(x,h_k)*DN2(x,h_k)*p(X_k+x)+DN2(x,h_k)*N2(x,h_k)*q(X_k+x)+N2(x,h_k)*N2(x,h_k)*r(X_k+x),x=0..h_k); Matriz de rigidez del elemento > with(linalg):# se invoca esta librería para definir la matriz del elemento k > K_el:=matrix(2,2,[K_11, K_12, K_21, K_22,]); #repárese que la matriz no es simétrica Determinación del vector f (vector del segundo miembro) > f_1:=int(g(x+X_k)*N1(x,h_k),x=0..h_k); > f_2:=int(g(x+X_k)*N2(x,h_k),x=0..h_k); > f_el:=vector(2 ,[f_1,f_2]); 4/4