¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
Métodos de continuación EDO
1. Metodos de continuacion: analisis de soluciones estacionarias
Departamento de Matematica Aplicada y Estadstica 7 de abril de 2014
Juan Manzanero Torrico j.manzanero@alumnos.upm.es
Abstract
Los metodos de continuacion evitan la resolucion de ecuaciones diferenciales
que dependen de cierto parametro mediante la resolucion directa tratando cada
caso como si estuviera aislado del resto.
De esta forma, se le da cierta continuidad a la solucion, y no se trata como si
se calculara la solucion en una serie de puntos discretos del parametro. Cada
solucion que se calcula se interpreta como un paso mas en la solucion, y no
una nueva solucion.
A lo largo de este artculo se emplean estos metodos en la resolucion de una
ecuacion diferencial en particular, extrayendo de ella conclusiones muy intere-
santes.
Indice
1. Planteamiento del problema 1
2. Discretizacion espacial 2
2.1. Discretizacion de un punto interior 2
2.2. Discretizacion de un contorno con
condicion en la derivada . . . . . . 2
2.3. Discretizacion de un contorno con
condicion en el valor de la funcion 3
3. Continuacion por pseudolongitud de
arco 3
3.1. El metodo de continuacion . . . . . 4
3.2. Calculo del vector tangente . . . . 4
3.3. Paso del predictor . . . . . . . . . 5
3.4. Paso del corrector . . . . . . . . . 5
3.5. Resultados . . . . . . . . . . . . . . 6
4. Puntos singulares 7
5. Cambio de rama 9
1. Planteamiento del proble-
ma
El objetivo del siguiente artculo es resumir los
metodos empleados para continuar la solucion de
una ecuacion diferencial ordinaria a medida que
se vara un parametro de la misma.
Esta ecuacion proviene de una ecuacion en deriva-das
parciales, de la cual se pretende calcular sus
soluciones estacionarias. As, el objetivo sera rea-lizar
un analisis de la estabilidad de la solucion
estacionaria obtenida y localizar cambios en el
caracter de dicha estabilidad.
La ecuacion en derivadas parciales objeto de estu-dio
es la siguiente:
EDP: ut = uxx + u3 +
CC: ux(0) = u(1) = 0
(1)
para cierta funcion u(x; t; ) de
2. nida entre x 2
[0; 1] y t 2 [0;1).
De esta forma, se buscan soluciones estacionarias
de la misma, transformandose en una ecuacion di-ferencial
ordinaria
EDO:
d2u
dx2 + u3 + = 0
CC:
du(0)
dx
= u(1) = 0
9=
;
(2)
Como se intuye de la expresion del problema, el
primer paso consistira en llevar a cabo la discre-tizaci
on espacial de (2) para aplicarle los metodos
conocidos como metodos de continuacion.
Estas tecnicas consisten en, a partir de una solu-ci
on conocida para cierto valor del parametro ,
avanzar en el valor de la misma en lugar de resol-ver
de nuevo la ecuacion con los metodos usuales
para el nuevo valor de .
Las grandes ventajas que se desprenden de el em-pleo
de estos metodos, consiste en que el resultado
3. nal se asemeja a recorrer un camino continuo,
haciendo posible acceder a soluciones que por el
contrario mediante la resolucion directa son difci-les
de alcanzar, ya que el metodo nos lleva a ellas.
1
4. La estructura del siguiente artculo es la siguiente:
en primer lugar se procedera a la discretizacion
espacial de la ecuacion, llegando a un sistema del
tipo ~g(~U
) = ~0.
En segundo lugar se presentaran los metodos de
continuacion, aplicados a este caso en particular.
Despues se presentaran las soluciones obtenidas al
implementar los metodos en esta ecuacion.
Por ultimo se realizara una discusion de la estabi-lidad
y los cambios de ramas en puntos singulares.
2. Discretizacion espacial
El primer paso en todo problema de analisis
numerico es la discretizacion del dominio in
5. nito
y lo que ello conlleva: La discretizacion de los ope-radores
que dependen de el.
En lo que se re
6. ere a la discretizacion del domi-nio,
se han escogido un conjunto de nodos equies-paciados
en el dominio en el cual esta de
7. nida la
ecuacion. Si se toman N+1 nodos, la ecuacion que
determina la posicion del nodo jesimo es:
xj = j
1
N
= j h; j = 0; 1; :::;N (3)
x0 x1 xi xN
x
u(x)
Figura 1: Discretizacion espacial
As, se de
8. ne el valor de la variable en el nodo xj
como
Uj = u(xj) (4)
consiguiendo al
9. nal componer un vector de
incognitas con todos los valores que toma u(x) en
los nodos de la discretizacion.
~U
=
8
:
U0
U1
...
UN1
UN
9=
;
; 2 RN+1 (5)
Una vez discretizada la variable y de
10. nidos los
valores que la funcion incognita puede tomar en
ella se procede a discretizar la ecuacion.
As, el procedimiento consistira en la colocacion
de la ecuacion en los (N + 1) nodos, con especial
tratamiento en los contornos.
d2u(x)
dx2
11.
12.
13.
14. x=xj
+ u(xj)3 + = 0 (6)
Se comenzara por los puntos interiores j =
1; :::;N 1 y despues se analizara que alternati-vas
se disponen para los contornos.
2.1. Discretizacion de un punto in-
terior
Para los puntos interiores se escoge para los
operadores diferenciales un esquema en diferen-cias
15. nitas centradas de orden 2, que es el maximo
orden que se presenta en la ecuacion.
Para el operador derivada segunda se tiene:
d2u
dx2
16.
17.
18.
19. xj
=
uj+1 + uj1 2uj
h2 + o(h2) (7)
De esta forma, la ecuacion diferencial se transfor-ma
en una ecuacion algebraica por medio de (7):
gj =
uj+1 + uj1 2uj
h2 + u3j
+ = 0 (8)
Esta sera la ecuacion algebraica que debe resol-verse
para los nodos interiores al dominio j =
1; 2; :::;N 1.
2.2. Discretizacion de un contorno
con condicion en la derivada
Es el caso del contorno situado en el nodo
x0 = 0. Para ello se proponen tres alternativas,
cada una con sus puntos positivos y puntos en con-tra:
1. Usar como funcion la discretiacion de la de-rivada
primera mediante un operador de se-gundo
orden descentrado: Tiene la ventaja
de mantener el orden, a costa de que des-truye
la estructura tridiagonal de la matriz
jacobiana de las ecuaciones.
g0 =
3u0 + 4u1 u2
2h
= 0 (9)
2. Usar como funcion la discretizacion de la de-rivada
primera mediante un operador de pri-mer
orden: Tiene la ventaja de que mantiene
la estructura diagonal en detrimento de estar
utilizando una discretizacion de orden infe-rior.
2
20. g0 =
u1 u0
h
= 0 (10)
3. Usar como funcion la discretizacion de la
ecuacion utilizando para la derivada segun-da
un operador centrado de segundo orden.
Para ello hay que de
21. nir una celda fantasma.
A esta ecuacion se le debe a~nadir el opera-dor
derivada primera igualado a cero para
volver a obtener el mismo numero de ecua-ciones
que incognitas
g0 =
u1 + u1 2u0
h2 + u30
+ = 0
g1 =
u1 u1
2h
= 0
9=
;
La mejor opcion es la tercera de las propuestas, ya
que es posible despejar u1 en la segunda ecua-ci
on y recuperar un sistema de N + 1 ecuaciones
con N + 1 incognitas manteniendo una estructura
tridiagonal en el jacobiano.
La estructura tridiagonal del jacobiano esta asegu-rada
con tal de que se veri
23. nal
para g0
u1 = u1 ! g0 = 2
u1 u0
h2 + u30
+ (12)
2.3. Discretizacion de un contorno
con condicion en el valor de la
funcion
Es el caso mas sencillo, ya que basta con impo-ner
que
gN = uN = 0 (13)
De esta forma, se tiene de
24. nido el vector de
incognitas ~g
~g(~U
; ) =
8
:
g0(u0; u1; )
...
gj(uj1; uj ; uj+1; )
...
gN(uN1; uN; )
9=
;
(14)
donde cada uno de los gj se toman de (8), (12), y
(13):
~g(~U
; ) =
8
:
g0(u0; u1; )
...
gj(uj1; uj ; uj+1; )
...
gN(uN1; uN; )
9=
;
=
8
:
2u1u0
h2 + u30
+
...
uj+1+uj12uj
h2 + u3j
+
...
uN
9=
;
=
8
:
0
...
0
...
0
9=
;
(15)
3. Continuacion por pseudo-
longitud de arco
Los metodos de continuacion buscan lo siguien-te:
dada una ecuacion diferencial con un parametro
~U
libre, y una solucion de la misma para cierto valor
del parametro (0; 0), hallar la solucion en:
(0; ~U
0) ! (1 = 0 + ; ~U
1) (16)
Una vez obtenida una nueva solucion (1; ~U
1) se
vuelve a dar otro paso para obtener (2; ~U
2), y
as sucesivamente.
Como se observa en (16), el grado de libertad en
cada paso es el salto en la variable . Cuando esto
es as, se dice que el metodo es continuacion por
parametro natural.
En este texto no se utilizara este parametro como
directriz para la siguiente iteracion, si no que se
empleara un nuevo parametro: la pseudolongi-
tud de arco.
La motivacion de utilizar como variable indepen-diente
otra distinta a reside en la di
25. cultad para
sortear ciertas singularidades que se presentan de
forma natural a medida que la solucion avanza por
una rama: los puntos de plegado.
En ellos ocurre que la rama se pliega y retorna
por los mismos valores de los cuales acababa de
recorrer.
Realizando un smil con la parametrizacion de cur-vas,
en el caso particular de la curva x2+y2 = R2,
si se escoge la parametrizacion y(x) =
p
R2 x2
ocurre que cuando x = R la parametrizacion no
es unica.
Esto se solventa escogiendo una parametrizacion
3
26. regular de la curva, por ejemplo
x(s) = Rsin(s)
y(s) = Rcos(s)
(17)
algo similar ocurre con los metodos de continua-ci
on cuando se escoge como parametro.
Algunos autores utilizan como parametro hasta
que detectan que la solucion se aproxima a un
punto de pliegue, momento en el que se cambia la
formulacion a pseudolongitud de arco, para des-pu
es volver a tomar como parametro una vez
sorteado el punto.
Las ventajas de emplear como parametro residen
en que se tiene un control total de cuanto vara el
parametro en cada paso, mientras que al utilizar
la pseudolongitud de arco se
27. ja el paso en s ob-teniendo
valores variables para el correspondiente
paso en .
3.1. El metodo de continuacion
A continuacion se expone el metodo de conti-nuaci
on para una ecuacion algebraica arbitraria ~g.
~U
Como ya se ha introducido, el objetivo es, dada
la solucion del paso anterior, (j ; j) calcular una
solucion cercana (j+1; ~U
j+1). Este proceso se rea-liza
en dos etapas:
Predictor: Mediante la linealizacion de las
ecuaciones particularizada en la solucion pre-via
se obtiene una semilla para el corrector.
Corrector: Utilizando el algoritmo de
Newton-Rhapson se asegura el cumplimien-to
de la ecuacion ~g(~U
j+1; j+1) = ~0 intro-duciendo
como semilla la aproximacion del
predictor
Las variables (; ~U
), como ya se ha introducido, se
controlaran por medio de una tercera variable, la
pseudolongitud de arco s, es decir:
~U
= ~U
(s); = (s) (18)
donde s es monotona, es decir, dado el valor inicial
siempre crece hacia valores mas grandes y no se
ve in
uida por el caracter de la solucion.
Entonces, el parametro s es la longitud de arco si
veri
28. ca:
XN
j=0
dUj
ds
2
+
d
ds
2
= 1 (19)
Discretizando el operador derivada se obtiene la
de
29. nicion de la pseudolongitud de arco:
XN
i=0
(Ui Uj
i )
dUj
i
ds
+ ( j)
dj
ds
= s sj (20)
Las derivadas de las variables respecto a la pseu-dolongitud
de arco estan particularizadas para el
valor de de la solucion anterior, por lo que se
calculan derivando la ecuacion ~g = 0:
Gu(~U
j ; j)
d~U
j
ds
+ ~ G(~U
j ; j)
dj
ds
= 0 (21)
donde Gu es el jacobiano de ~g respecto a ~U
Gu =
2
6664
@g0=@U0 @g0=@U1 @g0=@UN
@g1=@U0 @g1=@U1 @g1=@UN
...
...
. . .
...
@gN=@U0 @gN=@U1 @gN=@UN
3
7775
y ~G
el jacobiano de ~g respecto al parametro
~G
=
8
:
@g0=@
@g1=@
...
@gN=@
9=
;
(22)
Entonces, en primer lugar se indicara como se
procede al calculo de los vectores tangentes a la
ecuacion en el paso inicial.
3.2. Calculo del vector tangente
El vector tangente a la ecuacion en el paso ini-cial
se calcula utilizando las dos siguientes condi-ciones:
1. Ser efectivamente tangente a la ecuacion.
2. Poseer modulo unitario.
3. Ir en el mismo sentido que el vector tangente
de la iteracion anterior (ya que de lo contra-rio
puede dar lugar a oscilaciones indeseadas
en el entorno de algun punto).
Llamando ~_U
j a d~U
j=ds y _
j a dj=ds, estas con-diciones
se materializan en el siguiente sistema de
ecuaciones:
Gu(~U
j ; j)~_U
j + ~G
(~U
j ; j)_
j = 0
jj~_U
j jj + j_
j j = 0
)
(23)
En la practica se resuelve de la siguiente forma: se
calcula el vector ~
de
31. ~
= G1
u
~G
(24)
y despues se supone que la solucion es
~_U
j = a~
_
j = a
)
(25)
de tal forma que se calcula a para que cumplir la
condicion de modulo unitario
a =
1 q
1 + jj~
jj2
(26)
y por ultimo, es preciso elegir el signo correcto de
a, de tal forma que el nuevo vector tangente posea
el mismo sentido que el de la iteracion anterior
~_U
j1 ~_U
j + _
j1_
j = a(~_U
j1 ~
+ _
j1) 0
De esta forma se obtiene el vector tangente unita-rio
a la ecuacion ~g = 0 en la iteracion inicial. A
continuacion se presenta el codigo Matlab que se
encarga de llevar a cabo estas operaciones.
1 function [ du,dlambda ] =
2 calctangent(U0,lambda0,dU0,
3 dlambda0,fun)
4 %Calculo del vector tangente ...
normalizado, se trata de resolver ...
el sistema
5 %lineal Ax=b siendo A=Gu(u0,lambda), ...
b=Glambda(u0,lambda).
6 %
7 % *Input:
8 % U0: Solucion del paso anterior
9 % lambda0: lambda del paso ...
anterior
10 % dU0: Derivada del paso anterior
11 % dlambda0: Derivada del paso ...
anterior
12 % *Output:
13 % du: derivada de u respecto ...
al parametro
14 % dlambda: derivada de lambda ...
respecto al parametro
15
16 [g,Gu,Glambda]=fun(U0,lambda0);
17 N=length(U0)1;
18 h=1/N;
19 phi=Gun(Glambda');
20 normphi=norm(phi);
21 a=1/sqrt(1+normphiˆ2);
22 %KA=det(Gu)*det(inv(Gu))
23 %sign(det(Gu))
24
25 %Orientacion del vector consistente ...
con el ultimo calculado
26 product=a*(dot(dU0,phi)+dlambda0);
27
28 if sign(product)0
29 a=a;
30 end
31
32 du=phi*a;
33 dlambda=a;
34
35 end
Codigo 1: Calculo de los vectores tangentes
a la ecuacion
3.3. Paso del predictor
Una vez establecido el calculo del vector tan-gente
a la ecuacion, se procede a dar el primer paso
en la obtencion de la nueva solucion: El predictor.
Sea s el paso escogido en pseudolongitud de ar-co,
la solucion que establece el predictor viene dada
por el desarrollo de Taylor de la ecuacion ~g(~U
; )
usando s como variable independiente:
~U
j+1
= ~U
j + s~_U
j
j
+1 = j + s_
j
)
(27)
3.4. Paso del corrector
El ultimo paso para determinar la nueva solu-ci
on (~U
j+1; j+1) consiste en utilizar el metodo de
Newton-Rhapson a la ecuacion ~g = 0 hasta dar
con una solucion de la misma.
Para ello se empleara como semilla la solucion
propuesta por el corrector.
~U
Debido a que la ecuacion ~g = 0 solo posee N + 1
ecuaciones gj para N + 2 incognitas (y ) hay
que emplear una ecuacion mas: la de
32. nicion de la
variable pseudolongitud de arco dada por (20).
Sea N(~U
; ;s) la funcion que de
33. ne la pseudo-longitud
de arco:
N = (~U
~U
j) ~_U
j + ( j)_
j s (28)
el sistema de ecuaciones a resolver es:
~g(~U
; ) = 0
N(~U
; ;s) = 0
(29)
El metodo de Newton aplicado a un sistema
~ f(~x) = 0 establece en cada iteracion que el desa-rrollo
en serie de Taylor de la ecuacion centrada
en la iteracion anterior es nula. De esta condicion
se extrae la solucion de la iteracion siguiente
~ f(~x) = ~ f(~xi) + Jf (~xi)(~xi+1 ~xi)
f (~xi) ~ f(~xi)
~xi+1 = ~xi J1
(30)
en este caso ~x = f~U
; gT y ~ f = f~g;NgT , de tal for-ma
que el jacobiano de f es una matriz por cajas
cuyo contenido es:
5
34. Jf =
Gu G~
~N
~U
N
#
=
Gu G~
~_U
_
#
(31)
A diferencia de la matriz Gu
1, el jacobiano del
sistema extendido nunca es singular, por lo que
no debe preocupar en principio la inversion de la
matriz.
El algoritmo de Newton habra
36. que el siguiente criterio de parada:
~x ~x
~ x ~ x
=
~U
~U
+ 2
~U
~U
+ 2
TOL (32)
A continuacion se presenta el codigo Matlab pro-puesto
para dar el paso en el esquema corrector.
1 function [Ucorr,lambdacorr,UF] =
2 correctorpseudoarc(Upred,
3 lambdapred,dU,dlambda,,TOL,fun)
4 omega=1; %Parametro de relajacion
5
6 UF=0;
7 c=1;
8 U1=Upred;
9 lambda1=lambdapred;
10 N=length(Upred);
11 A=zeros(N+1);
12 B=zeros(N+1,1);
13 while c==1
14 UF=UF+1;
15 [g,Gu,Glambda]=fun(U1,lambda1);
16 A(1:N,1:N)=Gu;
17 A(1:N,end)=Glambda';
18 A(end,1:N)=dU';
19 A(end,end)=dlambda;
20 B(1:N)=g;
21 B(end)=(dot(dU,U1Upred)+
22 dlambda*(lambda1lambdapred));
23 dX=AnB;
24 U=omega*dX(1:N);
25 lambda=omega*dX(end);
26 U1=U1+U';
27 lambda1=lambda1+lambda;
28 ERROR=(dot(U,U)
29 +lambdaˆ2)/
30 (dot(Upred,Upred)+lambdapredˆ2);
31
32 if abs(ERROR)TOL
33 c=0;
34 end
35 end
36 Ucorr=U1;
37 lambdacorr=lambda1;
38 end
Codigo 2: Corrector por pseudolongitud de
arco.
Entre las lneas 16 19 del codigo se divisa el
montaje de la matriz jacobiana (A) a partir del
previo calculo de los dos jacobianos y el vector
tangente.
Para la ecuacion ejemplo que se resuelve en este
artculo, la expresion del jacobiano de las ecuacio-nes
respecto a la variable ~U
es la siguiente:
GU =
2
666664
2=h2 + 3U2
0 2=h2 0 0 0
1=h2 2=h2 + 3U2
1 1=h2 0 0
0 1=h2 2=h2 + 3U2
2 0 0
...
...
...
. . .
...
...
0 0 0 0 1
3
777775
(33)
y el jacobiano respecto a :
~G
= [1; 1; 1; :::; 1; 0]T (34)
con esto se tienen todos los elementos que intervie-nen
en el desarrollo del algoritmo de continuacion
por pseudolongitud de arco en el caso particular
de la ecuacion diferencial de interes.
A continuacion se presentan los resultados obteni-dos
al integrar la ecuacion mediante el algoritmo
mostrado.
3.5. Resultados
Antes de comenzar a hablar de puntos singu-lares,
puntos de pliegue, y similar, se ha preferido
mostrar la solucion obtenida para despues analizar
que ocurre en dichas zonas.
As, partiendo de la solucion trivial (0; ~U
0) =
(0;~0), se avanza en la pseudolongitud de arco des-de
el valor inicial (0, por convenio) hasta el valor
50 mediante un paso s = 0:005.
Para evaluar la funcion ~U
en funcion de en un
unico plano, se ha empleado una norma de
37. nida
como
p
jju(x)jj = sign(u0(1))
ju(0)u0(1)j (35)
En primer lugar se presenta en la
38. gura 2 la norma
de u(x) a lo largo de la rama encontrda, donde se
observa la existencia de dos puntos de pliegue.
1Ver la parte relacionada con puntos singulares para mas detalle.
6
39. 5
0
−5
−10
−15
−50 −40 −30 −20 −10 0 10
6
norm(u(x))
Figura 2: Norma de u(x) a lo largo de la rama
que parte del origen
Como se observa, solo crece al principio hasta
valores proximos a 1:3, a partir del cual encuentra
el primer punto de pliegue y retorna hasta valores
proximos a 42, donde vuelve a aumentar.
10
0
−10
−20
−30
−40
−50
0 10 20 30 40 50 60
s
6
Figura 3: Valores que toma a medida que se
recorre la curva
Y por ultimo se presenta en la
40. gura 4 la forma
que toma la funcion u(x) a lo largo de la rama en
una gra
41. ca de contornos. En el eje de ordenadas
la pseudolongitud de arco s y en abcisas la coor-denada
x.
x
s
50
40
30
20
10
0
0 0.2 0.4 0.6 0.8 1
6
4
2
0
−2
−4
Figura 4: Representacion 2D de u(x) a lo largo
de la rama
A continuacion se presenta teora general acerca
de los puntos singulares (que incluye a los puntos
de pliegue) para entender que propiedades tienen y
como in
uyen al sistema de ecuaciones, y tambien
que metodos se pueden emplear para aproximar
su posicion con la exactitud que se desee.
De la
42. gura 3 ya se intuye la condicion necesaria
que presenta un punto de pliegue: _= 0, ya que
presenta un extremo relativo en el.
4. Puntos singulares
En el estudio de la rama de una ecuacion
~g(~U
; ) = 0, se dice que un punto es singular cuan-do
veri
43. ca que:
Rg[Gu; ~G
] = N (36)
Esto implica que el nucleo de Gu tiene por lo me-nos
dimension uno.
Entonces, si el objetivo es buscar puntos singula-res,
la funcion que se debera forzar a cero sera el
determinante del gradiente de ~g respecto ~U
.
Esto no es adecuado, ya que en general a medida
que se aumenta N, la matriz va adquiriendo mas
tama~no, y esto se traduce en que el determinante
por lo general toma valores altsimos.
Como la matriz es diagonalizable, a partir de lo
autovalores es posible identi
44. car el punto singu-lar
sin mas que estudiar que autovalor cambia de
signo, ya que:
det(A) =
NY
j=0
j (37)
por lo que si el determinante se anula y es diago-nalizable
implica que algun autovalor se anula y
7
45. cambia de signo.
El primer inconveniente asociado a seguir los va-lores
que toma un autovalor residen en que los
algoritmos numericos normalmente mezclan los
autovalores en el orden que los muestran.
Esto es, el autovalor que en la primera solucion
se designo como j no estara en general tras una
serie de iteraciones en la posicion jesima del vec-tor
de los autovalores, si no que lo mas probable
es que se hayan mezclado.
La forma de evitar este indeseable fenomeno es me-diante
el metodo conocido como Modal Assurance
Criteria (MAC), muy utilizado en vibraciones y
aeroelasticidad.
Mediante este metodo, se compara la estructura
de autovectores de la iteracion actual con la solu-ci
on anterior, de tal forma que cada autovalor de
la nueva iteracion se coloca en la posicion que mas
se parece a la que debera tener segun la iteracion
anterior.
Al
46. nal para cada autovalor se calcula la siguiente
magnitud:
MAC =
~K
j
i ~K
j+1
k
j
i j j~K
j~K
j+1
k j
(38)
de tal forma que si los autovalores no hubieran
cambiado se tendra que i = k, pero si cambian, a
traves de esta magnitud se observa como se debe
estructurar.
Realizar este proceso para cada una de las itera-ciones
es una de las etapas que mas coste compu-tacional
conlleva.
Un codigo Matlab para reordenar la matriz segun
el MAC se presenta a continuacion.
1 function [ munew,vecnew ] = ...
modalassurance( ...
mu,vec,muprev,vecprev )
2
3 [N,N]=size(vec);
4 munew=zeros(N,1);
5 for i=1:N1
6 %Recorro cada autovalor del estado ...
previo y veo cual es el que mas se
7 %parece al anterior
8 for j=1:N1
9 MAC(j)=abs(dot(vec(:,j),
10 vecprev(:,i))/(norm(vec(:,j))
11 *norm(vecprev(:,i))));
12 end
13 [maxim,index]=max(MAC); %El
14 % autovalor en index es
15 % el que mas se parece al previo
16 munew(i)=mu(index);
17 vecnew(:,i)=vec(:,index);
18 end
19
20 munew(N)=mu(N);
21 vecnew(:,N)=vec(:,N);
22 end
Codigo 3: Codigo para cumplir el MAC.
Entonces, una vez eliminadas las dudas que pue-den
surgir de una posicion arbitraria por parte de
los autovalores entre dos iteraciones, se procede a
buscar el autovalor que causa que el determinante
se anula.
El proceso para determinar un punto crtico con-siste
en, a partir de la solucion que ya se ha pre-sentado,
buscar el intervalo en la solucion que
contiene al punto crtico. Despues se realiza un al-goritmo
de biseccion para hallarlo con la precision
que se desee.
Del analisis de la solucion previa se obtienen los
siguientes puntos crticos:
Punto i; d _
i; _
d
1 1:36 [0:0055; 0:0094] [+;]
2 41:68 [0:0186; 0:019] [; +]
Tabla 1: Puntos crticos obtenidos en el primer
analisis. Como _
cambia de signo al atravesarlos
se deduce directamente que ambos son puntos de
pliegue.
Realizando las iteraciones del metodo de la bisec-ci
on se obtiene el valor de en los dos puntos de
pliegue con la precision deseada.
El criterio de parada se ha escogido como
2jnew ij
ji + dj
TOL (39)
De esta forma, como la solucion inicial se ha ob-tenido
utilizando un paso muy peque~no (s =
0:005), el metodo de la biseccion apenas a~nade pre-cisi
on, resultando al
47. nal los resultados mostrados
en la tabla 2
Punto
1 1:36134356 0:00942
2 41:6795858 0:01878
Tabla 2: Puntos crticos obtenidos tras iterar el
metodo de la biseccion
Y a continuacion se presenta la solucion en los dos
puntos crticos.
8
48. 8
6
4
2
0
−2
−4
0 0.2 0.4 0.6 0.8 1
x
u(x)
61
62
Figura 5: Soluciones en los dos puntos singulares
hallados
Y para cerrar esta seccion, se ha representado en
la
49. gura 6 la forma que presentan los autovectores
correspondientes al autovalor que cambia de signo
en ambos puntos singulares.
0.4
0.2
0
−0.2
−0.4
0 5 10 15 20 25
i
Ki
61
62
Figura 6: Autovectores asociados al autovalor que
hace singular la matriz jacobiana
Decir en primer lugar, que haber obtenido la solu-ci
on u(x) y el valor de en el punto singular con
la mayor precision posible sera de vital importan-cia
para buscar nuevas ramas en el entorno de los
puntos singulares.
Y en segundo lugar, que la forma que presentan los
autovectores asociados al autovalor que se anula
en el punto singular permite intuir como van a ser
las soluciones de las nuevas ramas.
El mismo resultado se poda haber obtenido me-diante
integracion directa de las ecuaciones para
el punto singular 1 = 1:36. Para el punto 2,
al estar tan alejada la solucion el metodo ya no
converge y no es preciso obtener la solucion.
Un hecho curioso, es que la integracion s es capaz
de captar una solucion perteneciente a la rama
que deriva del punto singular 1, para ello basta
con resolver la ecuacion para 1 = 1:37.
1
0
−1
−2
−3
0 0.2 0.4 0.6 0.8 1
x
u(x)
6 = 1.36
6 = 1.37
Figura 7: Solucion mediante simulacion directa
A continuacion se presentan las tecnicas para reali-zar
e
50. cazmente los cambios de rama, y los fenome-nos
de estabilidad que ocurren en estas zonas.
5. Cambio de rama
El hecho de que algun autovalor se anule al
atravesar un punto singular, hace que su autovec-tor
asociado al mismo pertenezca al nucleo del ja-cobiano
de ~g.
j = 0 ! GU ~K
j = ~0 ! ~K
j 2 N(GU) (40)
donde j = j(s) y ~K
j = ~K
j(s) siendo s = s
la posicion del punto singular.
Cuando se ha introducido la condicion que veri-
51. ca un punto singular, es decir, que el rango de
la matriz [GU;G] es N, se ha indicado que la
consecuencia directa de esto se mani
52. esta en un
nucleo de GU de dimension uno o dos.
Pues bien, esto depende de si el punto es un punto
de bifurcacion o un punto de pliegue.
Para demostrarlo se partira de la base de que hay
dos vectores pertenecientes al nucleo de GU, lle-gando
a la conclusion de que si se trata de un
punto de pliegue estos dos deben ser linealmen-te
dependientes y por tanto solo posee dimension
uno.
En primer lugar, lo que s es cierto es que en un
punto de bifurcacion el nucleo de [GU;G] es de
9
53. dimension dos, ya que utilizando la formula de las
dimensiones:
dim(N(M)) + rg(M) | {z }
N
= dim(RN+2)
dim(N(M)) = 2
Esto quiere decir que el subespacio vector tangente
a la curva ~g = ~0 posee dimension dos y por tanto
puede escribirse en la forma
~_X
=
(
~_U
_
)
! [GU;G] ~_X
= ~0 (41)
~_X
= ~
1 +
55. car estos dos
vectores ~
1 y ~
2.
El primero de ellos resulta trivial, ya que se trata
del vector tangente tal y como se ha calculado a lo
largo de todo este trabajo:
GU~
0 = ~G
! ~
1 =
~
0
1
(43)
y el segundo vector no es otro que el autovector
del autovalor que se anula:
2 =
~K
j
0
(44)
por lo que
56. nalmente se puede componer el vector
tangente
~_X
=
(
~_U
_
)
=
~
0
1
+
57. ~K
j
0
(45)
pero como se trata de un punto de pliegue, debe
cumplirse que _
= 0 y por tanto = 0, lo que
implica directamente que ~
0 y ~K
j son linealmente
dependientes y la dimension del nucleo de GU es 1.
De esta forma, para calcular las nuevas ramas se
emplea como predictor la siguiente semilla:
~U
pred = ~U
crit + ~K
j (46)
siendo ~U
sing el vector de incognitas en el punto
singular, y un numero su
58. cientemente peque~no.
As, se obtiene la nueva rama, la cual coincide con
la obtenida mediante simulacion directa
2
1
0
−1
−2
−3
0 0.2 0.4 0.6 0.8 1
x
u(x)
61
62
Figura 8: Nueva rama obtenida perturbando la
solucion singular
y aplicando los metodos de continuacion se obtie-ne
la rama completa, cuya norma se representa en
la
59. gura 9
15
10
5
0
−5
−10
−15
−50 0 50
6
norm(u)
Rama1
Rama2
Figura 9: Continuacion de la nueva rama
Referencias
[1] Continuation method: theory - Dolors Puig-janer
[2] Lectures on Numerical Methods In Bifurca-tion
Problems - H.B. Keller
[3] Numerical Bifurcation Methods and their Ap-plication
to Fluid Dynamics: Analysis beyond
Simulation - H. A. Dijkstra et al.
10