Visualización de campos escalares y vectoriales en fluidos. Grupo 11-A
Contenido
1 INTRODUCCIÓN
Consideramos el flujo de un fluido incompresible a través de una canal con paredes rectas. Para representarlo, usaremos las coordenadas cartesianas. Dibujamos el mallado que representa los puntos interiores del rectangulo [0, 4] × [0, 1] ocupado por un fluido. Fijamos los ejes en la región [0, 4] × [−1, 2].
Para realizar el mallado hemos introducido los siguientes comandos en Octave:
x=0:0.5:4;
y=0:0.5:1;
[xx,yy]=meshgrid(x,y);
figure(1)
mesh(xx,yy,0*xx)
axis([0,4,-1,2])
view(2)
2 VISUALIZACIÓN DE CAMPOS DE PRESIONES Y DE VELOCIDADES
2.1 Ecuación de Navier-Stokes y condición de incompresibilidad.
Tenemos el campo escalar de presiones p(x,y)=p1+(p2−p1)(x−1) y el campo vectorial de la velocidad de las partículas del fluido (x,y)=y(1−y)(p1−p2)/(2μ)i
Para comprobar que es un fluido incompresible, la divergencia debe ser 0.
Como no hay variable “x” la derivada es trivial.
Como cualquier fluido debe satisfacer la ecuación estacionaria de Navier-Stokes.
2.2 Velocidad nula en las paredes.
Por último comprobamos que la velocidad del fluido es nula en las paredes. La velocidad viene dada por:
2.3 Representación de los campos de velocidades y presiones.
Una vez que hemos confirmado que es un fluido incompresible, que verifica la ecuación de Navier y que la velocidad de fluido en las paredes es nula, nos disponemos a representar gráficamente los campos de velocidades y de presiones para p1=2, p2=1 y .
Campo de presiones
x=0:0.1:4;
y=0:0.1:1
[xx,yy]=meshgrid(x,y);
figure (1) f=3-xx
surf(xx,yy,f)
view(2)
Campo de velocidades
x=0:0.1:4;
y=0:0.1:1; [xx,yy]=meshgrid(x,y);
figure (2)
fx=(1/2).*(yy-(yy.^2));
fy=0.*xx;
quiver(xx,yy,fx,fy)
axis([0,4,-1,2])
view(2)
3 LÍNEAS DE CORRIENTE
Llegados a este punto, dibujaremos las líneas de corriente del campo , para ello calculamos el campo que es ortogonal a ayudándonos del vector y utilizando el producto vectorial hallamos el susodicho campo.
Dibujamos las líneas de nivel de la función potencial, que representan las líneas de corriente.
x=0:0.1:4
y=0:0.1:1;
[xx,yy]=meshgrid(x,y);
potencial= (1/2).* ((yy.^2/2)-(yy.^3/3) );
contour(xx,yy,potencial)
view(2)
Superponiendo las líneas de corriente con el campo vectorial de la velocidad observamos que se corresponden:
x=0:0.1:4
y=0:0.1:1;
[xx,yy]=meshgrid(x,y);
potencial= (1/2).* ((yy.^2/2)-(yy.^3/3) );
contour(xx,yy,potencial)
view(2)
hold on
fx=(1/2).*(yy-(yy.^2));
fy=0.*xx;
quiver(xx,yy,fx,fy)
4 VELOCIDAD DEL FLUIDO
Para hallar en qué puntos la velocidad del fluido es máxima derivamos e igualamos a 0.
Observamos que esto se anula en y=0,5, por lo que en ese punto la velocidad será máxima.
x=0:0.5:4;
y=0:0.5:1;
[xx,yy]=meshgrid(x,y);
figure(1)
fx=0.5.*(yy.*(1-yy));
fy=0*xx;
quiver(xx,yy,fx,fy);
axis([0,4,-1,2])
view(2)
5 ROTACIONAL
x=0:0.1:4;
y=0:0.1:1;
[xx,yy]=meshgrid(x,y);
s=1/2.*(1-2.*yy) ;
h=abs(s);
t=pcolour(xx,yy,h);
axis([0,4,-1,2])
view (2)
6 CAMPO DE TEMPERATURAS
A continuación, realizamos el dibujo del campo de temperaturas dado:
x=0:0.5:4;
y=0:0.5:1;
[xx,yy]=meshgrid(x,y);
figure(1)
f=(xx-1).^2-(yy.^2);
surf(xx,yy,f);
axis([0,4,-1,2])
view(2)
7 GRADIENTE DE TEMPERATURA
Por ultimo, calculamos el gradiente del campo de temperaturas dado.
x=0:0.5:4;
y=0:0.5:1;
[xx,yy]=meshgrid(x,y);
figure(1)
fx=2.*xx-2;
fy=-2.*yy;
quiver(xx,yy,fx,fy);
axis([0,4,-1,2])
view(2)
Obteniendo las curvas de nivel del campo escalar de la temperatura y superponiéndolo con su gradiente, observamos que son perpendiculares.
x=0:0.1:4;
y=0:0.1:1;
[xx,yy]=meshgrid(x,y)
f=(xx-1).^2-(yy.^2);
contour (xx,yy,f);
hold on
fx=2.*xx-2;
fy=-2.*yy;
quiver(xx,yy,fx,fy);
axis([0,4,-1,2])
view(2)