Diferencia entre revisiones de «Usuario:Grupo 4»
(→Interpretación de la derivada de la función de forma f(η)) |
(→Interpretación de la derivada de la función de forma f(η)) |
||
| Línea 237: | Línea 237: | ||
<br /> | <br /> | ||
Realizando otra interpretación en la búsqueda de este valor podemos encontrarnos con el concepto de grosor de capa, siendo éste el valor para el cual la primera derivada del factor de forma llega al 99% de su límite. | Realizando otra interpretación en la búsqueda de este valor podemos encontrarnos con el concepto de grosor de capa, siendo éste el valor para el cual la primera derivada del factor de forma llega al 99% de su límite. | ||
| − | |||
<br /> | <br /> | ||
[[Archivo:APARTADO3.png|marco|derecha]] | [[Archivo:APARTADO3.png|marco|derecha]] | ||
Revisión del 14:23 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 | |
Contenido
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.
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:
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 la variable de similaridad "η":
donde la viscosidad del fluido "ν" será (ν=1) y "f" satisface la ecuación de Blasius:
Las condiciones iniciales serán: f(0)=f'(0)=0 y:
El campo de velocidades del fluido viene dado por:
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.
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:
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".
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.
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.
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(η)
En este caso, vamos a estudiar el valor de la variable de similaridad "η" a partir del cual la diferencia entre cualquier valor de la primera derivada de la función de forma y 1 es menor de 0,01. El método numérico escogido para la resolución de este problema es el de Runge-kutta debido a las propiedades mencionadas en el anterior apartado y la k obtenida es 0,33. Como se puede apreciar en el gráfico, el valor de η para el cual la función f'(η) se acerca a menos de 0,01 de 1, que es su límite cuando la variable de similaridad tiende a infinito, es de 5,225 en nuestro caso.
Realizando otra interpretación en la búsqueda de este valor podemos encontrarnos con el concepto de grosor de capa, siendo éste el valor para el cual la primera derivada del factor de forma llega al 99% de su límite.
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(η)
4.1 Resolución numérica y representación gráfica de la componente U1 del campo de velocidades
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
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








