Diferencia entre revisiones de «Usuario:Grupo 4»

De MateWiki
Saltar a: navegación, buscar
(Comparativa y elección de k)
(Comparativa y elección de k)
Línea 229: Línea 229:
  
 
===Comparativa y elección de k===
 
===Comparativa y elección de k===
Analizando los resultados de los tres métodos utilizados para el estudio de la ecuación de Blasius, y fijándonos en las gráficas y en el valor de K obtenido de cada uno de ellos para que f'(20) sea lo más próximo a la unidad, podemos afirmar que la diferencia entre ellos es muy pequeña. El valor obtenido para los métodos Runge-kutta y Euler modificado es de 0,33 y para el método de Euler es de 0,32. Esto último se debe a una mayor precisión local de los dos primeros métodos numéricos y un mayor error en el de Euler siendo en este caso prácticamente despreciable debido a que "h" (valor de salto) es muy pequeño.
+
Analizando los resultados de los tres métodos utilizados para el estudio de la ecuación de Blasius, y fijándonos en las gráficas y en el valor de K obtenido de cada uno de ellos para que f'(20) sea lo más próximo a la unidad, podemos afirmar que la diferencia entre ellos es muy pequeña. El valor obtenido para los métodos Runge-kutta y Euler modificado es de 0,33 y para el método de Euler es de 0,32. Esto último se debe a una mayor precisión local de los dos primeros métodos numéricos y un mayor error en el de Euler siendo en este caso prácticamente despreciable debido a que "h" (valor de salto) es muy pequeño.<br />
 +
 
 
El método que vamos a elegir para determinar el valor de k es ek de Runge-kutta de orden 4, ya que el error de paso es de orden O(h<sup>5</sup>) mientras que el error total acumulado es O(h<sup>4</sup>), razón por la cual es un método muy preciso y además el más usado en los desarrollos computacionales. El inconveniente a la hora de usar este método es una mayor cantidad de evaluaciones de la función, resultando un mayor tiempo de cálculo y una mayor solicitación de la computadora.
 
El método que vamos a elegir para determinar el valor de k es ek de Runge-kutta de orden 4, ya que el error de paso es de orden O(h<sup>5</sup>) mientras que el error total acumulado es O(h<sup>4</sup>), razón por la cual es un método muy preciso y además el más usado en los desarrollos computacionales. El inconveniente a la hora de usar este método es una mayor cantidad de evaluaciones de la función, resultando un mayor tiempo de cálculo y una mayor solicitación de la computadora.
  

Revisión del 13:32 28 abr 2016

Trabajo realizado por estudiantes
Título Fluido por encima de una placa plana. Grupo 4
Asignatura Ecuaciones Diferenciales
Curso Curso 2015-16
Autores Ruben Martos López,
Guillermo Megino León,
Silviu Popa
Alejandro Sistac Ara,
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción.

En el trabajo que nos ocupa se va a estudiar la capa límite de un fluido laminar sobre una placa plana. Todo esto se va a efectuar mediante métodos numéricos ayudados con el programa MATLAB.

derecha

Para resolver el problema tomaremos que la placa ocupa la semirrecta "y=0" estudiando lo que ocurre por encima de la misma, es decir, en los puntos "(x,y) con x>0 y y>0". Antes de llegar a la placa, el fluido mantiene una velocidad constante:

centro

con "u0=2",al igual que una vez superada. En cambio en los puntos de la placa la velocidad será nula existiendo también una zona de transición. En esa zona la corriente del fluido "ψ(x,y)" viene dada por la función "ψ" y siendo "η":

centro

donde la viscosidad del fluido "ν" será (ν=1) y "f" satisface la ecuación de Blasius:

centro

Las condiciones iniciales serán: f(0)=f'(0)=0 y:

centro

El campo de velocidades del fluido viene dado por:

centro

A continuación resolveremos la Ecuación de Blasius con las condiciones iniciales dadas mediante el uso de métodos numéricos buscando a su vez el valor inicial óptimo de la segunda derivada del factor de forma "k".

2 Resolución numérica del problema.

centro

2.1 Resolución mediante Euler modificado.

En este primer apartado se va a resolver la ecuación de Blasius, en función de las siguientes condiciones iniciales: centro

donde "k" toma valores de [0,1-1] con un intervalo de 0,01; mediante el método numérico de Euler modificado siendo "h=0,05".


derecha
clc
clear all
%Datos iniciales
%Numero de ecuaciones
ne=3;
%Tiempo inicial
t0=0;
%Tiempo final
tn=20;
%Tamaño del salto
h=0.05;
%Numero de elementos
N=round((tn-t0)/h);
%Determinacion del vector t
t=linspace(t0,tn,N+1);
%Vector k, valor inicial de f(3)
k0=0.1;
kf=1;
k=k0:0.01:kf;
G=length(k);
%Sistema de ecuaciones
w=inline('[f(2);f(3);-1/2*f(1)*f(3)]','t','f');
f=zeros(ne,N+1);
%Resolucion
for j=1:G
   f0=[0 0 k(j)];
   f(:,1)=f0;
for i=1:N
      K1=w(t(i),f(:,i));
      t(i)=t(i)+h/2;
      z(:,i)=f(:,i)+K1*h/2;
      f(:,i+1)=f(:,i)+h*w(t(i),z(:,i));
end
   Y(j)=f(2,end);
end
hold on
plot(k,Y)
legend('f´(20)')
xlabel('k')
ylabel('f´(20)')
title('Representación de f(20)´ para los posibles k')
hold off
for q=1:G
   a(q)=abs(Y(q)-1);
end
l=min(a);
for q=1:G
   b(q)=abs(Y(q)-1);
if min(b)==l
      k(q)
      break
end


Parametro de k para el cual f'(20) se acerca mas a 1 es k=0.33

2.2 Resolución mediante Runge-Kutta de orden 4.

En este segundo apartado se resuelve la ecuación de Blasius con las mismas condiciones iniciales, pero en este caso utilizando el método de Runge-Kutta.

derecha
clc
clear all
%Datos iniciales
%Numero de ecuaciones
ne=3;
%Tiempo inicial
t0=0;
%Tiempo final
tn=20;
%Tamaño del salto
h=0.05;
%Numero de elementos
N=round((tn-t0)/h);
%Determinacion del vector t
t=linspace(t0,tn,N+1);
%Vector k, valor inicial de f(3)
k0=0.1;
kf=1;
k=k0:0.01:kf;
G=length(k);
%Sistema de ecuaciones
w=inline('[f(2);f(3);-1/2*f(1)*f(3)]','t','f');
f=zeros(ne,N+1);
%Resolucion
for j=1:G
   f0=[0 0 k(j)];
   f(:,1)=f0;
for i=1:N
      K1=w(t(i),f(:,i));
      t(i)=t(i)+h/2;
      z(:,i)=f(:,i)+K1*h/2;
      K2=w(t(i),z(:,i));
      v(:,i)=f(:,i)+K2*h/2;
      K3=w(t(i),v(:,i));
      c(:,i)=f(:,i)+K3*h;
      K4=w(t(i)-h/2,c(:,i));
      f(:,i+1)=f(:,i)+(h/6)*(K1+2*K2+2*K3+K4);
end
   Y(j)=f(2,end);
end
hold on
plot(k,Y,'r')
legend('f´(20)')
xlabel('k')
ylabel('f´(20)')
title('Representación de f(20)´ para los posibles k')
hold off
for q=1:G
    a(q)=abs(Y(q)-1);
end
l=min(a);
for q=1:G
   b(q)=abs(Y(q)-1);
if min(b)==l
      k(q)
      break
end


Parametro de k para el cual f'(20) se acerca mas a 1 es k=0.33

2.3 Resolución mediante Euler.

En este tercer apartado se resuelve la ecuación de Blasius en las mismas condiciones, pero en este caso mediante el método numérico de Euler.

derecha
clc
clear all
%Datos iniciales
%Numero de ecuaciones
ne=3;
%Tiempo inicial
t0=0;
%Tiempo final
tn=20;
%Tamaño del salto
h=0.05;
%Numero de elementos
N=round((tn-t0)/h);
%Determinacion del vector t
t=linspace(t0,tn,N+1);
%Vector k, valor inicial de f(3)
k0=0.1;
kf=1;
k=k0:0.01:kf;
G=length(k);
%Sistema de ecuaciones
w=inline('[f(2);f(3);-1/2*f(1)*f(3)]','t','f');
f=zeros(ne,N+1);
%Resolucion
for j=1:G
   f0=[0 0 k(j)];
   f(:,1)=f0;
for i=1:N
      f(:,i+1)=f(:,i)+h*w(t(i),f(:,i));
end
   Y(j)=f(2,end);
end
hold on
plot(k,Y,'g')
legend('f´(20)')
xlabel('k')
ylabel('f´(20)')
title('Representación de f(20)´ para los posibles k')
hold off
for q=1:G
   a(q)=abs(Y(q)-1);
end
l=min(a);
for q=1:G
   b(q)=abs(Y(q)-1);
if min(b)==l
   k(q)
   q
   break
end
end


Parametro de k para el cual f'(20) se acerca mas a 1 es k=0.32

2.4 Comparativa y elección de k

Analizando los resultados de los tres métodos utilizados para el estudio de la ecuación de Blasius, y fijándonos en las gráficas y en el valor de K obtenido de cada uno de ellos para que f'(20) sea lo más próximo a la unidad, podemos afirmar que la diferencia entre ellos es muy pequeña. El valor obtenido para los métodos Runge-kutta y Euler modificado es de 0,33 y para el método de Euler es de 0,32. Esto último se debe a una mayor precisión local de los dos primeros métodos numéricos y un mayor error en el de Euler siendo en este caso prácticamente despreciable debido a que "h" (valor de salto) es muy pequeño.

El método que vamos a elegir para determinar el valor de k es ek de Runge-kutta de orden 4, ya que el error de paso es de orden O(h5) mientras que el error total acumulado es O(h4), razón por la cual es un método muy preciso y además el más usado en los desarrollos computacionales. El inconveniente a la hora de usar este método es una mayor cantidad de evaluaciones de la función, resultando un mayor tiempo de cálculo y una mayor solicitación de la computadora.

3 Interpretación de la derivada de la función de forma f(η)

Se utiliza el metodo RUNGE KUTTA

derecha
clc
clear all
%Datos iniciales
%Numero de ecuaciones
ne=3;
%Tiempo inicial
t0=0;
%Tiempo final
tn=20;
%Tamaño del salto
h=0.05;
%Numero de elementos
N=round((tn-t0)/h);
%Determinacion del vector t
t=linspace(t0,tn,N+1);
%Vector k, valor inicial de f(3)
k0=0.1;
kf=1;
k=k0:0.01:kf;
G=length(k);
%Sistema de ecuaciones
w=inline('[f(2);f(3);-1/2*f(1)*f(3)]','t','f');
f=zeros(ne,N+1);
%Resolucion
   f0=[0 0 k(24)];
   f(:,1)=f0;
   for i=1:N
  K1=w(t(i),f(:,i));
  t(i)=t(i)+h/2;
  z(:,i)=f(:,i)+K1*h/2;
  K2=w(t(i),z(:,i));
  v(:,i)=f(:,i)+K2*h/2;
  K3=w(t(i),v(:,i));
  c(:,i)=f(:,i)+K3*h;
  K4=w(t(i)-h/2,c(:,i));
  f(:,i+1)=f(:,i)+(h/6)*(K1+2*K2+2*K3+K4);
   end
 O=ones(1,N+1);
    plot(t,f(2,:))
 for j=1:N+1   
   if abs(f(2,j)-O)<0.01
       t(j)
       break
   end
end
for m=1:N+1
    b(m,:)=abs(f(2,m)-O);
end
figure(2)
hold on
plot(t,b)
xlabel('n')
ylabel('Modulo de la diferencia')
title('Representacion de la diferencia en funcion de n')
hold off


El valor de η para el cual la diferencia entre cualquier punto de la grafica y 1 es menos que 0.01 es 5.225

4 Estudio de la velocidad en función del factor de forma f(η)


centro


4.1 Resolución numérica y representación gráfica de la componente U1 del campo de velocidades


derecha
clc
clear all
 %Datos iniciales
ne=3;
h=0.05;
x=[0.05 0.2 0.4 0.6 0.8];
y0=0;
yn=3;
y=y0:h:yn;
P=length(y);
N=round((yn-y0)/h);
w=inline('[f(2);f(3);-1/2*f(1)*f(3)]','t','f');
f=zeros(ne,N+1);
for j=1:length(x)
   H2=h*sqrt(2/x(j));
   f0=[0 0 0.33];
   f(:,1)=f0;
   for i=1:N
   t(i)=y(i)*sqrt(2/x(j))+H2/2;
   K1=w(t(i),f(:,i));
   q(:,i)=f(:,i)+K1*H2/2;
   f(:,i+1)=f(:,i)+H2*w(t(i),q(:,i));
   end
   Z(j,:)=f(2,:);
   hold on 
   plot(y,2*Z(j,:))
end
legend('x=0.05','x=0.2','x=0.4','x=0.6','x=0.8')
xlabel('y')
ylabel('U1')
title ('Representacion de U1')
hold off


4.2 Observaciones

5 Representación gráfica e interpretación del borde de la capa limite


derecha

clc
clear all
x0=0;
xn=10;
h=0.05;
x=x0:h:xn;
eta=5.225;
for i=1:length(x)
    y(i)=eta*sqrt(x(i)/2);
end
hold on
plot(x,y);
legend('g(x)')
xlabel('X')
ylabel('Y')
title ('Borde de la capa de transición')
hold off