Diferencia entre revisiones de «Flujo de Couette grupo 21»

De MateWiki
Saltar a: navegación, buscar
(GRADIENTE DE LAS TEMPERATURAS)
 
(No se muestran 75 ediciones intermedias de 2 usuarios)
Línea 6: Línea 6:
  
 
Para llevar a cabo este trabajo, empleamos el programa informático Matlab, el cual nos facilitó la visualización del comportamiento del fluido a través de gráficos.
 
Para llevar a cabo este trabajo, empleamos el programa informático Matlab, el cual nos facilitó la visualización del comportamiento del fluido a través de gráficos.
 +
  
 
==SUPERFICIE DE TRABAJO==
 
==SUPERFICIE DE TRABAJO==
Línea 11: Línea 12:
 
Para obsérvalo vamos a recurrir a octave:  
 
Para obsérvalo vamos a recurrir a octave:  
 
{{matlab|codigo=
 
{{matlab|codigo=
x=0:0.1:8; %vector X
+
y=0:0.1:8; %vector y
y=0:0.1:1; %vector y
+
z=0:0.1:1; %vector z
[xx,yy]=meshgrid(x,y); %mallado XY
+
[yy,zz]=meshgrid(y,z); %mallado ZY
 
hold on
 
hold on
mesh(xx,yy,0.*xx); %representar el canal
+
mesh(yy,zz,0.*yy); %representar el canal
 
axis([0,8,-1,2]);
 
axis([0,8,-1,2]);
 
axis equal
 
axis equal
Línea 24: Línea 25:
  
 
La superficie de trabajo es la que se muestra en la siguiente imagen:
 
La superficie de trabajo es la que se muestra en la siguiente imagen:
<gallery>
+
 
Ejemplo.jpg|Descripción1/Users/raullacruzrodriguez/Desktop/campos1.jpg
+
[[Archivo:Apartado1.jpeg|400px|miniaturadeimagen|centro|Mallado]]
Ejemplo.jpg|Descripción2
+
</gallery>
+
  
 
==ECUACIÓN DE NAVIER-STOKES ESTACIONARIA==
 
==ECUACIÓN DE NAVIER-STOKES ESTACIONARIA==
Línea 46: Línea 45:
 
Para la demostración, se trabajará en componentes respecto de la base cartesiana <math>\{\vec{j} {,} \vec{k} \}</math>.  
 
Para la demostración, se trabajará en componentes respecto de la base cartesiana <math>\{\vec{j} {,} \vec{k} \}</math>.  
  
El primer térmido de la ecuación será:
+
El primer término de la ecuación será:
 
<center><big><math>(\vec{u} \cdot \nabla) \vec{u}=\begin{pmatrix}{\frac{\partial u_1}{\partial y}}&{\frac{\partial u_1}{\partial z}}\\{\frac{\partial u_2}{\partial y}}&{\frac{\partial u_2}{\partial z}}\end{pmatrix}\cdot \begin{pmatrix} u_1 \\ u_2 \end{pmatrix} </math></big></center>
 
<center><big><math>(\vec{u} \cdot \nabla) \vec{u}=\begin{pmatrix}{\frac{\partial u_1}{\partial y}}&{\frac{\partial u_1}{\partial z}}\\{\frac{\partial u_2}{\partial y}}&{\frac{\partial u_2}{\partial z}}\end{pmatrix}\cdot \begin{pmatrix} u_1 \\ u_2 \end{pmatrix} </math></big></center>
 
        
 
        
Susutituyendo, nuestro campo y operando tenemos:  
+
Sustituyendo, nuestro campo y operando tenemos:  
  
 
<center><big><math>(\vec{u} \cdot \nabla) \vec{u}=\begin{pmatrix} 0 & f'(z) \\ 0 & 0 \end{pmatrix} \cdot \begin{pmatrix} f(z) \\ 0 \end{pmatrix}=\begin{pmatrix} 0 \\ 0 \end{pmatrix} </math></big></center>
 
<center><big><math>(\vec{u} \cdot \nabla) \vec{u}=\begin{pmatrix} 0 & f'(z) \\ 0 & 0 \end{pmatrix} \cdot \begin{pmatrix} f(z) \\ 0 \end{pmatrix}=\begin{pmatrix} 0 \\ 0 \end{pmatrix} </math></big></center>
Línea 64: Línea 63:
 
<center>''Decidimos emplear esta expresión para calcular el Laplaciano y no calcularlo como el gradiente de la divergencia, porque entre sus términos, además de la divergencia, aparece el rotacional; operadores que se desarrollaran y serán útiles a lo largo del proyecto.''</center>
 
<center>''Decidimos emplear esta expresión para calcular el Laplaciano y no calcularlo como el gradiente de la divergencia, porque entre sus términos, además de la divergencia, aparece el rotacional; operadores que se desarrollaran y serán útiles a lo largo del proyecto.''</center>
  
1. Cálculo de la divergergencia:  
+
1. Cálculo de la divergencia:  
 
<center><math>\nabla \cdot \vec{u}=\frac{\partial u_1}{\partial y}+\frac{\partial u_2}{\partial z} =0</math></center>
 
<center><math>\nabla \cdot \vec{u}=\frac{\partial u_1}{\partial y}+\frac{\partial u_2}{\partial z} =0</math></center>
  
 
Así <math>\nabla(\nabla \cdot \vec{u})=0</math>
 
Así <math>\nabla(\nabla \cdot \vec{u})=0</math>
  
<center><font color="00 80 00">'''¿Qué siginifica que la divergencia sea nula?'''</font> </center>
+
<center><font color="00 80 00">'''¿Qué significa que la divergencia sea nula?'''</font> </center>
  
 
Obtenemos que el fluido es incompresible, pues la condición de incompresibilidad es <math>\nabla \cdot \vec{u}=0</math>. Teniendo en cuenta que la divergencia mide el cambio de volumen del fluido inducido por el campo, ésta al ser nula, conlleva que el movimiento de las partículas no afecta al volumen provocando que la densidad permanezca constante en el tiempo, coincidiendo con la definición dada de fluido incompresible ya mencionada anteriormente.  
 
Obtenemos que el fluido es incompresible, pues la condición de incompresibilidad es <math>\nabla \cdot \vec{u}=0</math>. Teniendo en cuenta que la divergencia mide el cambio de volumen del fluido inducido por el campo, ésta al ser nula, conlleva que el movimiento de las partículas no afecta al volumen provocando que la densidad permanezca constante en el tiempo, coincidiendo con la definición dada de fluido incompresible ya mencionada anteriormente.  
Línea 79: Línea 78:
  
  
3. Cálculo de <math>\nabla\times(\nabla\times\vec u)</math>
+
3. Cálculo de <math>\nabla\times(\nabla\times\vec u)</math> (doble rotacional)
 
<center><math>\nabla\times(\nabla\times\vec u)=  \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ \ -f'(z) & 0 & 0 \end{vmatrix}= -f''(z)\vec{j}</math></center>
 
<center><math>\nabla\times(\nabla\times\vec u)=  \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ \ -f'(z) & 0 & 0 \end{vmatrix}= -f''(z)\vec{j}</math></center>
  
Línea 94: Línea 93:
 
Por lo que:  
 
Por lo que:  
  
<center><math>f''(z)=\frac{p_2-p_1}{μ}=\frac{p_1-p_2}{-μ}\vec{j}</math></center>
+
<center><math>f''(z)\vec{j}=\frac{p_2-p_1}{μ}=\frac{p_1-p_2}{-μ}\vec{j}</math></center>
  
Para averiguar f(z) tenemos que integrar 2 veces sobre <math>\frac{p_1-p_2}{-μ}</math>. Al hacerlo y sabiendo que la velocidad tiene que ser nula en los bordes, por lo que tiene que ser nula en z=0 y z=1, entonces:
+
Para averiguar f(z) tenemos que integrar 2 veces sobre <math>\frac{p_1-p_2}{-μ}</math>. Al hacerlo y aplicando las condiciones de contorno proporcionadas por el enunciado donde f(z=0)=v y f(z=1)=0:
  
<center><math>f(z)=-(z^2-z)\frac{p_1-p_2}{2μ}\vec{j}</math></center>
+
<center><math>f(z)=(1-z)(v+ \frac{(p_2-p_1)z}{2μ})</math></center>
  
 
==CAMPO DE VELOCIDADES==
 
==CAMPO DE VELOCIDADES==
 
Para la representación del campo se han tomado los siguientes valores:
 
Para la representación del campo se han tomado los siguientes valores:
  
<center><math>p_1=2 \ {,} \  p_2=1 \ {,}  \  μ=1</math></center>
+
<center><math>p_1=1 \ {,} \  p_2=2\ {,}  \  μ=1 \ {,} \  v=1</math></center>
  
 
Sustituyendo en la expresión del campo obtenemos:
 
Sustituyendo en la expresión del campo obtenemos:
  
<center><math>\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j}</math></center>
+
<center><math>\vec{u}(y,z)=(1-z)(1+ \frac{(2-1)z}{2})\vec{j}</math></center>
 +
<center><math>\vec{u}(y,z)=(4-3z-z^2)\vec{j}</math></center>
 +
 
  
Para su representación se ha implementado en Octave, el siguiente código:
+
Para su representación se ha implementado en Matlab, el siguiente código:
 
{{matlab|codigo=
 
{{matlab|codigo=
[Y,Z] = meshgrid([0:0.25:8],[0:0.1:1]);  
+
% Definir el dominio de y y z
uy=inline('((z.^2-z))./(-2)','y','z');
+
[y, z] = meshgrid(0:0.25:8, 0:0.1:1);
uz=inline('0.*y','y','z');  
+
 
U=uy(Y,Z);
+
% Definir las funciones vectoriales uy(y, z) y uz(y, z)
V=uz(Y,Z);
+
uy = (4-3*z-z.^2);
axis([0,8,-1,2]);
+
uz = zeros(size(y));
quiver(Y,Z,U,V);
+
 
 +
% Visualizar los resultados con quiver
 +
quiver(y, z, uy, uz);
 +
xlabel('y');
 +
ylabel('z');
 +
title('campo velocidades');
 +
axis([0, 8, -1, 2]);
 +
grid on;
 
}}
 
}}
  
 
Resultando el siguiente gráfico:
 
Resultando el siguiente gráfico:
  
[[Archivo:VELOCIDAD.PNG|400px|miniaturadeimagen|centro| Campo de velocidad del fluido]]
+
[[Archivo:Campovelocidades.jpg|400px|centro|Campo de velocidades]]
 +
 
  
 
<center><font color="80 00 00">'''INTERPRETACIÓN'''</font> </center>
 
<center><font color="80 00 00">'''INTERPRETACIÓN'''</font> </center>
  
Lo primero que observamos, es que la velocidad es nula en las paredes del canal pues en <math>z=1</math> y <math>z=0</math> no existen líneas de campo, como ya habíamos demostrado analíticamente. Además, en las deducciones previas habíamos asegurado que la velocidad sería paralela a las paredes del canal, cosa que también observamos en la gráfica, pues las líneas de campo son paralelas a las rectas <math>z=1</math> y <math>z=0</math> que coinciden con las paredes del canal.
+
Lo primero que observamos, es que la velocidad es nula la pared superior del canal pues en <math>z=1</math> no existen líneas de campo, como ya habíamos demostrado analíticamente, mientras que en y <math>z=0</math> si.  
 +
Además, en las deducciones previas habíamos asegurado que la velocidad sería paralela a las paredes del canal, cosa que también observamos en la gráfica, pues las líneas de campo son paralelas a las rectas <math>z=1</math> y <math>z=0</math> que coinciden con las paredes del canal a la vez que se forma la mencionada ya curva parabólica que sigue nuestra función solución de la ecuación diferencial al sustituir los valores mencionados.
  
Por otro lado, se observa que la velocidad máxima se alcanza en <math>z=1/2</math>, justo en el centro del canal, como a continuación se demuestra analíticamente.
+
Por otro lado, se intuye que la velocidad máxima se alcanza en <math>z=-1/2</math> como a continuación se demuestra analíticamente.
  
 
=== CÁLCULO DE LA VELOCIDAD MÁXIMA DEL FLUIDO===
 
=== CÁLCULO DE LA VELOCIDAD MÁXIMA DEL FLUIDO===
 
Los puntos de velocidad máxima se obtienen igualando a 0, la primera derivada parcial del campo:
 
Los puntos de velocidad máxima se obtienen igualando a 0, la primera derivada parcial del campo:
  
<center><math>\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j} \mapsto \frac{\partial \vec{u}} {\partial y}=0 \ {,} \ \frac{\partial \vec{u} }{\partial z}=z-1/2 </math></center>
+
<center><math>\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j} \mapsto \frac{\partial \vec{u}} {\partial y}=0 \ {,} \ \frac{\partial \vec{u} }{\partial z} , z=-1/2 </math></center>
  
Igualando a 0, las derivadas anteriores, obtenemos que la velocidad máxima se obtienen en los puntos de la recta <math>z=1/2</math>, tal como se había comentado en la interpretación gráfica.
+
Igualando a 0, las derivadas anteriores, obtenemos que la velocidad máxima se obtienen en los puntos de la recta <math>z=-1/2</math>, interpretando así que la velocidad será máxima fuera del recinto propuesto coincidiendo así con el máximo de dicha función parabólica.
  
 
==CAMPO DE PRESIONES==
 
==CAMPO DE PRESIONES==
Línea 141: Línea 151:
 
<center><math> p(x,y,z)=p_1+(p_2-p_1)(y-1)</math></center>
 
<center><math> p(x,y,z)=p_1+(p_2-p_1)(y-1)</math></center>
 
Para representarlo gráficamente se consideran nuevamente los valores:
 
Para representarlo gráficamente se consideran nuevamente los valores:
<math>p_1=2 \ {,} \  p_2=1 \ {,}  \  μ=1</math>
+
<math>p_1=1 \ {,} \  p_2=2 \ {,}  \  μ=1\ {,} \  v=1 </math>
 
.Obteniendo, por tanto:
 
.Obteniendo, por tanto:
<center><math> p(x,y)=2-(y-1)=3-y</math></center>
+
<center><math> p(x,y,z)=y</math></center>
  
Implementado el código siguiente en Octave:  
+
Implementado el código siguiente en Matlab:  
 
{{matlab|codigo=
 
{{matlab|codigo=
y=0:0.05:8;
+
y=0:0.1:8; %vector y
z=0:0.05:1;
+
z=0:0.1:1; %vector z
[Y,Z]=meshgrid(y,z);  
+
[Y,Z]=meshgrid(y,z); % Mallado
figure 1
+
p=Y;
p=3-Y
+
 
surf(Y,Z,p)
 
surf(Y,Z,p)
 +
title('Campo de presiones');
 
view(2)
 
view(2)
axis([0,8,-1,2])
+
axis([0,8,-1,2]);
 
}}
 
}}
  
 
Obtenemos el siguiente gráfico:
 
Obtenemos el siguiente gráfico:
[[Archivo:PRESIÓN.PNG|400px|miniaturadeimagen|centro| Campo de presiones del fluido]]
+
 
 +
[[Archivo:Apartado4.jpeg|400px|miniaturadeimagen|centro|Campo de presiones]]
  
 
<center> <font color="D2 69 1E">'''INTERPRETACIÓN'''</font> </center>
 
<center> <font color="D2 69 1E">'''INTERPRETACIÓN'''</font> </center>
  
Observamos en el gráfico que a medida que el fluido avanza por el canal la presión va disminuyendo, las presiones altas están representadas con colores cálidos y las más bajas con colores fríos. Esto es así, porque para mantener el caudal de un fluido viscoso estable debe mantenerse una diferencia de presiones entre las paredes del canal. Esta diferencia de presión es necesaria debida a la fuerza de arrastre o frenada que ejerce el canal sobre la capa de fluido en contacto con él y la que ejerce cada capa de fluido sobre la adyacente que se está moviendo con distinta velocidad. A estas fuerzas las denominamos fuerzas viscosas. El resultado de su presencia, hace que la velocidad del fluido no sea constante a lo largo del canal siendo mayor cerca del centro y menor cerca de las paredes tal como se explicó y demostró en el apartado anterior.
+
Observamos en el gráfico que a medida que el fluido avanza por el canal la presión va disminuyendo, las presiones altas están representadas con colores azules y derivados de éste, y las más bajas con tonos anaranjados. Esto es así, porque para mantener el caudal de un fluido viscoso estable debe mantenerse una diferencia de presiones entre las paredes del canal. Esta diferencia de presión es necesaria debida a la fuerza de arrastre o frenada que ejerce el canal sobre la capa de fluido en contacto con él y la que ejerce cada capa de fluido sobre la adyacente que se está moviendo con distinta velocidad. A estas fuerzas las denominamos fuerzas viscosas. El resultado de su presencia, hace que la velocidad del fluido no sea constante a lo largo del canal siendo mayor cerca del centro y menor cerca de las paredes tal como se explicó y demostró en el apartado anterior.
  
 
==ROTACIONAL==
 
==ROTACIONAL==
 
Para calcular el rotacional del campo, utilizamos la siguiente expresión:
 
Para calcular el rotacional del campo, utilizamos la siguiente expresión:
  
<center> <big> <math>\nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & \frac{(z^2-z)\cdot(p_1-p_2)}{-2μ} & 0 \end{vmatrix}</math></big></center>
+
<center> <big> <math>\nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & f(z) & 0 \end{vmatrix}</math></big></center>
Operando obtenemos, que: <math>\nabla\times\vec{u}=(2z-1)\frac{(p_1-p_2)}{2μ}\vec{k}</math>, sustituyendo los valores:
+
 
<center><math>p_1=2 \ {,} \  p_2=1 \ {,}  \  μ=1</math></center>
+
Operando obtenemos, que: <math>\nabla\times\vec{u}=-f'(z)\vec{i}</math>, sustituyendo los valores:
 +
<center><math>p_1=1 \ {,} \  p_2=2 \ {,}  \  μ=1</math></center>
 
Tenemos que:  
 
Tenemos que:  
<math>\nabla\times\vec u=(z-1/2)\vec{i}</math>, siendo el módulo del rotacional, <math>\left | \nabla\times\vec u \right |=z-1/2</math>, como se observa en la expresión,  depende del valor de <math>z</math>. Tomando los valores máximos en los extremos del intervalo en el que está definido <math>z</math>, <math> [0,1]</math>, y el valor mínimo en <math>z=1/2</math>
+
<math>\nabla\times\vec u=-z+C_1\vec{i}</math>, donde la constante 1 ya ha sido calculada anteriormente aplicando las condiciones de contorno y siendo igual a -1/2
 +
 
 +
Finalmente obtenemos el módulo del rotacional, <math>\left | \nabla\times\vec u \right |=z+1/2</math>, como se observa en la expresión,  depende del valor de <math>z</math>.  
 +
Tomando los valores máximos en los extremos del intervalo en el que está definido <math>z</math>, <math> [0,1]</math>, y el valor mínimo en <math>z=-1/2</math>
  
 
Para visualizar esto de manera gráfica, nuevamente recurrimos a Octave,
 
Para visualizar esto de manera gráfica, nuevamente recurrimos a Octave,
 
{{matlab|codigo=
 
{{matlab|codigo=
y=0:0.05:8;
+
y=0:0.01:8;
z=0:0.05:1;
+
z=0:0.01:1;
[Y,Z]=meshgrid(y,z);  
+
[Y,Z]=meshgrid(y,z); %Mallado
rota=abs(Z-1/2);  
+
rota=abs(Z); %Rotacional
 
surf(Y,Z,rota)
 
surf(Y,Z,rota)
 
axis([0,8,-1,2])
 
axis([0,8,-1,2])
Línea 187: Línea 202:
  
  
[[Archivo:ROTACIONAL.PNG|400px|miniaturadeimagen|centro|Rotacional del campo velocidad]]
+
[[Archivo:Rotacional_.jpg|400px|miniaturadeimagen|centro|Rotacional del campo velocidad]]
  
  
 
<center> <font color="00 80 80">'''INTERPRETACIÓN'''</font> </center>
 
<center> <font color="00 80 80">'''INTERPRETACIÓN'''</font> </center>
El rotacional muestra la tendencia del campo a inducir rotación alrededor de un punto. Por otra parte, el rotacional caracteriza la rotación de un fluido, por lo que en los extremos del canal el efecto de giro será máximo, particularizando en <math>z=1</math> tendrá el valor máximo en el sentido positivo de <math>\vec{i}</math> , lo que implica rotaciones en sentido antihorario, y en <math>z=0</math> alcanzará también el valor máximo, pero en el sentido negativo de <math>\vec{i}</math> ,lo que provocará rotaciones en sentido horario. Para el valor  <math>z=1/2</math>, que es un valor intermedio el rotacional es nulo y este punto coindice con la velocidad máxima.  
+
El rotacional muestra la tendencia del campo a inducir rotación alrededor de un punto. Por otra parte, el rotacional caracteriza la rotación de un fluido, por lo que en los extremos del canal en efecto de giro será máximo, particularizando en <math>z=0</math> tendrá el valor máximo en el sentido positivo de <math>\vec{i}</math> , lo que implica rotaciones en sentido antihorario, y en <math>z=1</math> no alcanzará ningun valor debido a las hipótesis tomadas en las condiciones de contorno atribuyendo a este 0 mencionadas por el enunciado ,lo que provocará rotaciones en sentido horario. Para el valor  <math>z=-1/2</math>, que es un valor fuera de nuestro recinto, el rotacional es nulo y este punto coincide con la velocidad máxima.  
Con esto quedan demostradas, las hipótesis anteriores, pues en el gráfico los puntos con mayor tendencia a la rotación aparecen representados con colores cálidos, amarillos hacia verde azulado, y los puntos con menor tendencia a la rotación aparecen representados con colores fríos, azules. Situados los primeros, en torno a las paredes del canal y los segundos en torno al centro del canal, <math>z=0</math>, <math>z=1</math> e <math>z=1/2</math>, respectivamente.
+
Con esto quedan demostradas, las hipótesis anteriores, pues en el gráfico los puntos con mayor tendencia a la rotación aparecen representados con colores cálidos, amarillos hacia verde, y los puntos con menor tendencia a la rotación aparecen representados con colores fríos, azules.
  
 
== CAMPO DE TEMPERATURAS==
 
== CAMPO DE TEMPERATURAS==
  
 
La temperatura a la que está sometido el fluido viene determinada por el campo escalar:
 
La temperatura a la que está sometido el fluido viene determinada por el campo escalar:
<center><math> T(ρ{,}θ)=1+ρ^2 sen^2θ e^{-(ρ^2-1/2)^2}</math></center>
+
<center><math> T(ρ{,}θ)=log(1+ρ)cos^2θ</math></center>
  
Como se observa, la expresión del campo está en coordenadas porlares. Teniendo en cuenta que las relación para pasar de coordenadas polares a cartesianas es:
+
Se dibuja el campo de temperaturas y las curvas de nivel:  
: <math>x=ρcosθ</math>
+
: <math>y=ρsenθ</math>
+
  
Pero como nosotros estamos en los ejes <math>\{\vec{j} {,} \vec{k} \}</math>, usaremos:
+
[[Archivo:Grafica111.png|400px|centro]]
  
: <math>y=ρcosθ</math>
 
: <math>z=ρsenθ</math>
 
Podemos expresar el campo en coordenadas cartesianas, que es el sistema en el cual estamos trabajando, resultando:
 
<center><math> T(y{,}z)=1+z^2 e^{-(y^2+z^2-1/2)^2}</math></center>
 
  
 +
En Matlab hemos empleado el siguiente programa:
 +
{{matlab|codigo=
  
<font color="32 CD 32">''' REPRESENTACIÓN DEL CAMPO DE TEMPERATURAS '''</font>
+
x=1:0.05:2;                                        %Definición de la x (rho)
 +
y=0:0.05:2*pi;                                      %Definicón de la y (teta)
 +
[Mx,My]=meshgrid(x,y);                              %Matriz de los parámetros
 +
Mz= log(1+Mx).*(cos(My)).^2;                        %Matriz de la z
 +
subplot(1,2,1);                                    %Ventanas
 +
surf(Mx,My,Mz);                                    %Dibujo de la superficie
 +
shading flat                                        %Difuminado
 +
subplot(1,2,2)                                      %Ventana 2
 +
pcolor(Mx,My,Mz);                                  %Proyección en planta
 +
hold on                                                  %Mantener ventana
 +
contour(Mx,My,Mz,7,'k')                            %7 curvas de nivel
 +
hold off
  
El campo de temperaturas es un campo escalar que representa la distribución espacial de la temperatura asociando un valor a cada punto del espacio. Depende de la posición del punto, y del tiempo (t). En nuestro caso, el campo de temperaturas como ya se a expuesto viene dado por la expresión  <math> T(y{,}z)=1+z^2 e^{-(y^2+z^2-1/2)^2}</math>, por lo tanto no depende del tiempo, se dice que es estacionario, sino exclusivamente de las componentes espaciales <math>(y{,}z)</math>
 
 
Para la representación se ha implementado el siguiente código en Octave:
 
{{matlab|codigo=
 
y=0:0.05:8;
 
z=0:0.05:1;
 
[Y,Z]=meshgrid(y,z);
 
figure (1)
 
p=1+((Y.^2).*exp(-((Y.^2)+(Z.^2)-1/2).^2));
 
pcolor(Y,Z,p);
 
shading flat
 
grid on
 
axis([0,8,-1,2]);
 
colorbar
 
 
figure(2)
 
contour(Y,Z,p,10,'k');
 
grid on
 
axis([0,8,-1,2]);
 
 
}}
 
}}
  
[[Archivo:TEMPERATURA2.PNG|400px|miniaturadeimagen|centro| Campo de temperaturas del fluido]]
 
[[Archivo:TEMPERATURA6.PNG|400px|miniaturadeimagen|centro| Campo de temperaturas del fluido]]
 
  
<center><font color="32 CD 32">'''INTERPRETACIÓN'''</font> </center>
+
A continuación, representamos una gráfica donde observamos en que punto la temperatura es máxima.
En el gráfico se puede observar que la temperatura es mayor en los valores próximos a <math>z=1</math>, este aparece representado con colores cálidos, mientras que si nos alejamos de este punto la temperatura disminuye.
+
  
<font color="80 80 00">''' REPRESENTACIÓN DE LAS CURVAS DE NIVEL '''</font>
+
[[Archivo:Grafica222.png|400px|centro]]
  
El código utilizado para la representación de este gráfico está expuesto en la representación del campo de temperaturas.
 
  
[[Archivo:TEMPERATURA1.PNG|400px|miniaturadeimagen|centro| Curvas de nivel de campo]]
 
  
<center><font color="80 80 00">'''INTERPRETACIÓN'''</font> </center>
+
En Matlab hemos utilizado el siguiente código:
  
En el gráfico aparecen representadas las curvas de nivel, las curvas de nivel varían de manera geométrica estando más próximas entre sí cuando la temperatura aumenta, en torono a los puntos <math>z=1</math> y más alejadas cuando la temperatura disminuya.
+
{{matlab|codigo=
  
La representaciónes anteriores permite determinar que en el punto <math>(y,z)= (0,1)</math> la temperatura es máxima.
+
x=1:0.05:2;                                    %Definición de la x (rho)
 
+
y=0:0.05:2*pi;                                 %Definicón de la y (teta)
===GRADIENTE DEL CAMPO DE TEMPERATURAS===
+
[Mx,My]=meshgrid(x,y);                         %Matriz de los parámetros
El análisis de la variación de la temperatura a lo largo del canal se realiza analizando el gradiente <math>\nabla T</math>, en nuestro caso:  
+
Mz= log(1+Mx).*(cos(My)).^2;             %Matriz de la z
 
+
plot3(Mx,My,Mz);                               %Dibujo en líneas del campo
<center><math>\nabla T(y,z)=-4yz^2e^-(y^2+z^2-\frac{1}{2})\cdot (y^2+z^2-\frac{1}{2})\vec{i}+ e^-(y^2+z^2-\frac{1}{2})\cdot(-4z^3(z^2+y^2+\frac{1}{2})+2z) \vec{k}</math></center>
+
 
+
Como observación, el gradiente analíticamente se calcula como <math>\frac{\partial T(y,z)}{\partial y}</math> siendo ésta la compontente <math>\vec{j}</math> del campo vectorial gradiente y <math>\frac{\partial T(y,z)}{\partial z }</math> la componente <math>\vec{k}</math>.
+
 
+
<font color="FF 7F 50">''' REPRESENTACIÓN GRÁFICA DEL GRADIENTE'''</font>'''
+
 
+
El gráfico del gradiente de la temperatura, se ha representado utilizando el siguiente código:
+
{{Matlab|codigo=
+
 
+
y=0:0.05:8;
+
z=0:0.05:1;
+
[Y,Z]=meshgrid(y,z);
+
figure (1)
+
p=1+((Z.^2).*exp(-((Y.^2)+(Z.^2)-1/2).^2));
+
[pY,pZ]=gradient(p);
+
hold on
+
quiver(Y,Z,pY,pX)
+
axis([0,8,-1,2]);
+
shading flat
+
grid on
+
hold off
+
  
 
}}
 
}}
  
 +
== GRADIENTE DE LAS TEMPERATURAS==
 +
Tomando los operadores "log" del campo de temperaturas como "ln" obtenemos un gradiente:
  
[[Archivo:TEMPERATURA3.PNG|400px|miniaturadeimagen|centro|Campo vectorial gradiente]]
+
<math>\nabla T=(Cos^2(θ)*(\frac{1}{1+ρ}))\vec{e_ρ}+((\frac{1}{ρ})*ln(1+ρ)*2*Cos(θ)*(-1Sin(θ)))\vec{e_θ}</math>
  
<center><font color="FF 7F 50">''En el gráfico se puede observar que hemos representado el gradiente como un campo vectorial''</font></center>
+
Finalmente obtenemos la siguiente gráfica:
  
<font color="BD B7 6B">'''REPRESENTACIÓN DEL GRADIENTE Y LAS CURVAS DE NIVEL'''</font>
+
[[Archivo:Gradientetemperaturas.jpg|400px|centro|Gradiente]]
 
+
Código Octave utilizado:
+
{{Matlab|codigo=
+
 
+
y=0:0.05:8;
+
z=0:0.05:1;
+
[Y,Z]=meshgrid(y,z);
+
figure (1)
+
p=1+((Z.^2).*exp(-((Y.^2)+(Z.^2)-1/2).^2));
+
[pY,pZ]=gradient(p);
+
hold on
+
quiver(Y,Z,pY,pZ)
+
contour(Y,Z,p,'k');
+
axis([0,8,-1,2]);
+
shading flat
+
grid on
+
hold off
+
  
 +
Mediante la siguiente linea de código:
 +
{{matlab|codigo=
 +
% Definir la función T y sus derivadas parciales
 +
T = @(rho, theta) log(1 + rho).*cos(theta).^2;
 +
dT_dRho = @(rho,theta) cos(theta).^2./(1+rho);
 +
dT_dTheta = @(rho,theta) (2.*cos(theta).*log(1+rho)./rho).*(rho>0); % Evitar división por cero
 +
% Definir el rango de valores para rho y theta
 +
rho=1:0.1:2;
 +
theta=0:0.1:(2*pi);
 +
% Crear una malla de valores para rho y theta
 +
[Rho, Theta]=meshgrid(rho,theta);
 +
% Calcular las componentes del campo vectorial en la malla
 +
dT_dRho_values=dT_dRho(Rho,Theta);
 +
dT_dTheta_values=dT_dTheta(Rho,Theta);
 +
% Graficar el campo de vectores usando quiver
 +
figure;
 +
quiver(Rho,Theta,dT_dRho_values,dT_dTheta_values);
 +
xlabel('\rho');
 +
ylabel('\theta');
 +
title('Campo de Vectores \nabla T');
 +
axis tight;
 +
grid on;
 
}}
 
}}
[[Archivo:TEMPERATURA4.PNG|600px|thumb|centro|Gradiente ortogonal a las curvas de nivel]]
 
  
Con este gráfico afirmamos que las curvas de nivel son ortogonales al gradiente de la temperatura, es el mismo gráfico que el anterior pero más ampliado para poder observar mejor la ortogonalidad.
+
Comprobamos así que el gradiente de temperaturas es ortogonal a las curvas de nivel del campo de temperaturas.
 
+
[[Archivo:TEMPERATURA5.PNG|400px|miniaturadeimagen|centro|Gradiente ortogonal a las curvas de nivel.]]
+
 
+
<center><font color="00 80 80">'''INTERPRETACIÓN'''</font> </center>
+
 
+
Para estudiar la variacion de temperatura a lo largo del canal analizamos el gradiente que indica la direccion de crecimiento de la funcion temperatura en cada uno de los puntos. En el gráfico aparece el gradiente como un campo vectorial (como ya se ha mencionado) junto con las curvas de nivel. Observamos que en torno al punto <math>z=1</math> el módulo del gradiente aumenta por lo que la temperatura varía más rapidamente, en torno a ese punto. Por otra parte, vemos que el gradiente es ortogonal a las curvas de nivel, la razón de esta ortogonalidad se duduce de la definición de gradiente y curvas de nivel. El gradiente indica la dirección de crecimiento y sentido de los valores del campo en cada punto y las curvas de nivel son el lugar geométrico de los puntos equipotenciales. Si el gradiente tuviera componentes paralelas a las curvas, las definiciones anteriores serían contradictorias.
+
  
 
==LÍNEAS DE CORRIENTE==
 
==LÍNEAS DE CORRIENTE==
Línea 318: Línea 295:
 
Las líneas de corriente, son rectas tangentes al campo de velocidad en cada punto.
 
Las líneas de corriente, son rectas tangentes al campo de velocidad en cada punto.
 
Para calcular estas rectas, calculamos el campo <math>\vec{v}=\vec{i}\times\vec u</math>. Dicho campo es:
 
Para calcular estas rectas, calculamos el campo <math>\vec{v}=\vec{i}\times\vec u</math>. Dicho campo es:
<center><math>\vec{i}\times\vec u=\vec{i}\times\frac{(z-z^2)\cdot(p_1-p_2)}{2μ}\vec{j}=\frac{(z-z^2)\cdot(p_1-p_2)}{2μ}\vec{k}</math></center>
+
 
Las líneas de corriente corresponden con <math>\psi=cte</math>, siendo <math>\psi</math> la función de corriente de <math>\vec{u}</math>. Esta función, es la función potencial o el potencial escalar del que deriva el campo <math>\vec{v}</math>, para calcularlo, lo primero que debemos comprobar es que <math>\vec{v}</math> es irrotacional, pues en caso contario, dicho campo no admitiría función potencial.
+
<center><math>\vec{i}\times\vec u=\vec{i}\times\ f(z)\vec{j}=\ f(z)\vec{k}</math></center>
 +
 
 +
Las líneas de corriente corresponden con <math>\psi=cte</math>, siendo <math>\psi</math> la función de corriente de <math>\vec{u}</math>. Esta función, es la función potencial o el potencial escalar del que deriva el campo <math>\vec{v}</math>, para calcularlo, lo primero que debemos comprobar es que <math>\vec{v}</math> es irrotacional, pues en caso contrario, dicho campo no admitiría función potencial.
  
 
<font color="00 00 FF">'''Demostración <math>\nabla\times\vec v=0</math>'''</font>
 
<font color="00 00 FF">'''Demostración <math>\nabla\times\vec v=0</math>'''</font>
  
<center> <big> <math>\nabla\times\vec v= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & 0 & \frac{(z-z^2)\cdot(p_1-p_2)}{2μ}  \end{vmatrix}</math></big></center>
+
<center> <big> <math>\nabla\times\vec v= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & 0 & \ f(z)\end{vmatrix}</math></big></center>
 
Operando obtenemos, que: <math>\nabla\times\vec{v}=0</math>, por lo que el campo es irrotacional y ahora ya podemos calcular su función potencial.  
 
Operando obtenemos, que: <math>\nabla\times\vec{v}=0</math>, por lo que el campo es irrotacional y ahora ya podemos calcular su función potencial.  
  
<font color="00 00 FF">''' Cálculo de la función potencial  <math>\psi (x,y)</math>'''</font>:
+
<font color="00 00 FF">''' Cálculo de la función potencial  <math>\psi (x,y)</math>'''</font>: Busco un campo escalar u tal que  <math>\nabla\times\vec{u}=\vec{v}</math>
  
 
1. Aplicamos la definición:
 
1. Aplicamos la definición:
Línea 334: Línea 313:
 
2. Operamos:
 
2. Operamos:
  
<center> <math>\psi (y,z)=\int 0 \ dy=0+f(z)</math></center>
+
<center> <math>\psi (y,z)=\int f(z) \ dy=-v((1-z)^2/2)+((p_2-p_1)/)((3z^2-2z^3)/6)+Cte</math></center>  
 
+
3. Derivamos con respecto a <math>z</math>:
+
 
+
<center> <math> \frac{\partial \psi}{\partial z}=\frac{-1}{2}(z^2-z) \rightarrow\frac{\partial }{\partial y}(0+f(z))\rightarrow f'(z)=\frac{-1}{2}(z^2-z)</math></center>
+
 
+
4. Resolvemos la ecuación <math>f'(z)=\frac{-1}{2}(z^2-z)</math> para obtener <math>f(z)</math>.
+
 
+
<center> <math>f(z)=\int\frac{-1}{2}(z^2-z) \ dz=\frac{-1}{12}(2z^3-3z^2)+C \ {,} \ C\in\mathbb{R}</math></center>
+
 
+
Así,
+
  
<center> <math> \psi (y,z)=\frac{-1}{12}(2z^3-3z^2)</math></center>
+
Teniendo en cuenta que las lineas de corriente dependerán de un parámetro, asociaremos dicho parámetro a la Cte obtenida mediante integración
  
 
<font color="00 00 FF">''' Representación gráfica'''</font>
 
<font color="00 00 FF">''' Representación gráfica'''</font>
  
 
Representamos las líneas <math>\psi=cte</math>
 
Representamos las líneas <math>\psi=cte</math>
[[Archivo:LINEAS.PNG|400px|miniaturadeimagen|centro|Líneas de corriente de <math>\vec{u}</math>]]
+
[[Archivo:Lineas_decorriente.jpg|400px|miniaturadeimagen|centro|Líneas de corriente de <math>\vec{u}</math>]]
  
 
<center> <font color="FF 7F 50">'''¿Coinciden las rectas representadas con las líneas de corriente de <math>\vec{u}</math>?'''</font></center>  
 
<center> <font color="FF 7F 50">'''¿Coinciden las rectas representadas con las líneas de corriente de <math>\vec{u}</math>?'''</font></center>  
Línea 360: Línea 329:
 
<font color="80 80 80">''Código Octave utilizado para la representación''</font>
 
<font color="80 80 80">''Código Octave utilizado para la representación''</font>
 
{{matlab|codigo=
 
{{matlab|codigo=
y=0:0.05:8;
+
y=0:0.01:8;
z=0:0.05:1;
+
z=0:0.01:1;
[Y,Z]=meshgrid(y,z);
+
[Y,Z]=meshgrid(y,z); %Mallado
figure 1
+
lineas=(-((1-Z).^2)./2).*v+((p1-p2)./(2*mu)).*((Z.^2./2)-(Z.^3./3)); %ecuación
lineas=(-1/12)*((2*Z.^3)-(3*Z.^2))
+
contour(Y,Z,lineas)
contour (Y,Z,lineas)
+
 
axis([0,8,-1,2])
 
axis([0,8,-1,2])
view (2)
+
view(2)
 
}}
 
}}
  
 
==CAUDAL==
 
==CAUDAL==
El caudal es el volumen de fluido que pasa a travésa del canal por unidad de tiempo y se calcula mediante la integral de superficie siguiente:
+
El caudal es el volumen de fluido que pasa a través del canal por unidad de tiempo y se calcula mediante la integral de superficie siguiente:
  
 
<center><math>\int_{S}\vec{v} \cdot d\vec{S}</math></center>
 
<center><math>\int_{S}\vec{v} \cdot d\vec{S}</math></center>
Línea 379: Línea 347:
 
En nuestro caso, el campo de velocidades es:
 
En nuestro caso, el campo de velocidades es:
  
<center><math>\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j}</math></center>,
+
<center><math>\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j}</math></center>
  
Esa expresión resulta de sustituir los valores siguientes en la expresión incial del campo:
+
Esa expresión resulta de sustituir los valores siguientes en la expresión inicial del campo:
  
<center><math>p_1=2 \ {,} \  p_2=1 \ {,}  \  μ=1</math></center>
+
<center><math>p_1=1 \ {,} \  p_2=2 \ {,}  \  μ=1 \ {,}  \  v=1  </math></center>
  
La profundidad del caudal es de 1 metro, por lo que al parametrizar nos da:
+
La profundidad del caudal es de 1 metro, por lo que los intervalos de integración serán 0 y 1 en ambos casos ya que es de sección cuadrada.
: <math>x=u </math>    <math>u</math>[0,1]
+
Finalmente para la parametrización de esta tomamos como valores:
: <math>y=8</math>
+
 
: <math>z=v </math>    <math>v</math>[-1,0]
+
<center><math>z=v \ {,} \  y=0 \ {,}  \  z=u </math></center>
Por lo que:
+
: <math>ru=(1,0,0)</math>
+
: <math>rv=(0,0,1)</math>
+
: <math>|ru\times rv|=(0,-1,0)</math>
+
  
 
'''CÁLCULO DEL CAUDAL'''  
 
'''CÁLCULO DEL CAUDAL'''  
  
<center><math>\int_{S}\vec{v} \cdot d\vec{S}=\int_{S}\vec{u} \cdot |ru\times rv|=\int_{-1}^{0} \int_{0}^{1} \frac{z^2-z}{2}dzdx=-0.08\frac{m^3}{s}</math></center>
+
<center><math>\int_{S}\vec{v} \cdot d\vec{S}=\int_{S}\vec{u} \cdot |ru\times rv|=\int_{0}^{1} \int_{0}^{1} (1-z)(v+ \frac{(p_2-p_1)z}{})dudv=\frac{7}{12}\frac{m^3}{s}</math></center>
  
 
 
[[Categoría:Teoría de Campos]]
 
[[Categoría:TC22/23]]
 
 
 
 
{{ referencias }}
 
  
 
[[Categoría:Grado en Ingeniería Civil y Territorial]]
 
[[Categoría:Grado en Ingeniería Civil y Territorial]]
[[Grupo B7: Comportamiento de un fluido sometido a campos escales y vectoriales]]
 
 
 
 
[[Categoría:TC23/24]]
 
[[Categoría:TC23/24]]
[[Categoría:Informática]]
 

Revisión actual del 11:54 15 dic 2023

Trabajo realizado por estudiantes
Título Comportamiento de un fluido sometido a campos escalares y vectoriales. Grupo 21
Asignatura Teoría de Campos
Curso 2023-24
Autores Raúl Lacruz Rodríguez, Teresa Perera Magre, Natalia Velasco de Vega, Miryam Sánchez-Ferragut Samalea
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 INTRODUCCIÓN

Este proyecto tiene como objetivo analizar y representar visualmente tanto campos escalares como vectoriales, que fueron abordados durante el curso de grado, en el contexto de fluidos. En este estudio, nos enfocaremos en un fluido incompresible con fluctuaciones de caudal a lo largo de un canal con paredes horizontales rectas, sometido simultáneamente a tres campos: dos escalares (presión y temperatura) y uno vectorial (velocidad).

La cinemática de los fluidos se centra en el movimiento de estos sin considerar sus causas subyacentes, destacando aspectos como trayectorias, velocidades y aceleraciones. Además, reconocemos que un fluido incompresible mantiene una densidad constante a lo largo del tiempo y posee la capacidad de resistir la compresión en diversas condiciones.

Para llevar a cabo este trabajo, empleamos el programa informático Matlab, el cual nos facilitó la visualización del comportamiento del fluido a través de gráficos.


2 SUPERFICIE DE TRABAJO

La superficie en la que nos vamos a basar va a ser [0,8]x[0,1] en [math]\{\vec{j} {,} \vec{k} \}[/math], por lo que trabajamos en el plano x=0, entonces definimos la y en [0,8] y la z en [0,1], aunque el eje z lo definimos como [-1,2]. Para obsérvalo vamos a recurrir a octave:

y=0:0.1:8; %vector y
z=0:0.1:1; %vector z
[yy,zz]=meshgrid(y,z); %mallado ZY
hold on
mesh(yy,zz,0.*yy); %representar el canal
axis([0,8,-1,2]);
axis equal
view(2);
title ('Mallado del canal');
hold off


La superficie de trabajo es la que se muestra en la siguiente imagen:

Mallado

3 ECUACIÓN DE NAVIER-STOKES ESTACIONARIA

En el ámbito de la dinámica de fluidos, las ecuaciones de Navier-Stokes son expresiones matemáticas que describen el movimiento tridimensional de sustancias fluidas viscosas. Estas ecuaciones encuentran aplicaciones diversas, siendo utilizadas para prever fenómenos como el clima, las corrientes oceánicas, el flujo de agua en sistemas de tuberías o reactores, así como en el análisis del flujo sanguíneo, entre otros usos, como el diseño de submarinos. En esta sección específica, nuestro propósito es demostrar que el campo de velocidad y el campo de presión al que está sujeto el fluido cumplen con la ecuación estacionaria de Navier-Stokes. Esto implicaría que el fluido es incompresible, ya que estas ecuaciones modelan el comportamiento de los fluidos newtonianos, es decir, aquellos en los que la resistencia a deformaciones puede considerarse constante a lo largo del tiempo.

La ecuación estacionaria de Navier-Stokes es la siguiente:

[math](\vec{u} \cdot \nabla) \vec{u} + \nabla p=μ \Delta\vec{u} [/math]

Trabajando en componentes tenemos que:

[math](\vec{u} \cdot \nabla) \vec{u}=u_j\frac{\partial u_i}{\partial x_j}\vec{e_i} [/math] , [math]\Delta\vec {u}=u_i\vec{e_i}[/math], [math]\vec{u}=u_i\vec{e_i}[/math]

En nuestro caso, [math]\vec{u}(y,z)=f(z)\vec{j} [/math] es el campo vectorial velocidad , [math]\ p(x,y,z)=p_1+(p_2-p_1)(y-1)[/math] es el campo de presiones del fluido y [math]μ[/math] es la viscosidad del fluido.

Para la demostración, se trabajará en componentes respecto de la base cartesiana [math]\{\vec{j} {,} \vec{k} \}[/math].

El primer término de la ecuación será:

[math](\vec{u} \cdot \nabla) \vec{u}=\begin{pmatrix}{\frac{\partial u_1}{\partial y}}&{\frac{\partial u_1}{\partial z}}\\{\frac{\partial u_2}{\partial y}}&{\frac{\partial u_2}{\partial z}}\end{pmatrix}\cdot \begin{pmatrix} u_1 \\ u_2 \end{pmatrix} [/math]

Sustituyendo, nuestro campo y operando tenemos:

[math](\vec{u} \cdot \nabla) \vec{u}=\begin{pmatrix} 0 & f'(z) \\ 0 & 0 \end{pmatrix} \cdot \begin{pmatrix} f(z) \\ 0 \end{pmatrix}=\begin{pmatrix} 0 \\ 0 \end{pmatrix} [/math]

Cálculamos ahora, el gradiente del campo de presiones, [math]\nabla p[/math], siendo [math]\ p(x,y,z)=p_1+(p_2-p_1)(y-1)[/math]

[math]\nabla p=\begin{pmatrix} \frac{\partial p}{\partial x}\\ \frac{\partial p}{\partial y}\\ \frac{\partial p}{\partial z} \end{pmatrix}=\begin{pmatrix} 0\\p_2-p_1 \\ 0 \end{pmatrix}[/math]

Por último, calculamos el Laplaciano,[math]\Delta\vec{u} [/math] , del campo de velocidades, [math]\vec{u}(y,z)=f(z)\vec{j} [/math]. Para calcularlo, utilizaremos la siguiente fórmula:


[math]\Delta\vec{u} = \nabla(\nabla \cdot \vec{u}) - \nabla \times (\nabla \times \vec{u})[/math]
Decidimos emplear esta expresión para calcular el Laplaciano y no calcularlo como el gradiente de la divergencia, porque entre sus términos, además de la divergencia, aparece el rotacional; operadores que se desarrollaran y serán útiles a lo largo del proyecto.

1. Cálculo de la divergencia:

[math]\nabla \cdot \vec{u}=\frac{\partial u_1}{\partial y}+\frac{\partial u_2}{\partial z} =0[/math]

Así [math]\nabla(\nabla \cdot \vec{u})=0[/math]

¿Qué significa que la divergencia sea nula?

Obtenemos que el fluido es incompresible, pues la condición de incompresibilidad es [math]\nabla \cdot \vec{u}=0[/math]. Teniendo en cuenta que la divergencia mide el cambio de volumen del fluido inducido por el campo, ésta al ser nula, conlleva que el movimiento de las partículas no afecta al volumen provocando que la densidad permanezca constante en el tiempo, coincidiendo con la definición dada de fluido incompresible ya mencionada anteriormente.


2. Cálculo del rotacional:

[math]\nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & f(z) & 0 \end{vmatrix}=-f'(z)\vec{i}[/math]


3. Cálculo de [math]\nabla\times(\nabla\times\vec u)[/math] (doble rotacional)

[math]\nabla\times(\nabla\times\vec u)= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ \ -f'(z) & 0 & 0 \end{vmatrix}= -f''(z)\vec{j}[/math]

Sustituimos los resultados anteriores en [math]\Delta\vec{u} = \nabla(\nabla \cdot \vec{u}) - \nabla \times (\nabla \times \vec{u})[/math], obtenemos que:

[math]\Delta\vec{u}=f''(z)\vec{j}[/math]


Sustituimos por último, todos los términos en la expresión de la ecuación de Navier-Stokes estacionaria [math](\vec{u} \cdot \nabla) \vec{u} + \nabla p=μ \Delta\vec{u} [/math]; resultando:


[math]\begin{pmatrix} 0 \\ 0 \end{pmatrix}+\begin{pmatrix} p_2-p_1 \\ 0 \end{pmatrix}=μ\begin{pmatrix} f''(z) \\ 0 \end{pmatrix}[/math]

Por lo que:

[math]f''(z)\vec{j}=\frac{p_2-p_1}{μ}=\frac{p_1-p_2}{-μ}\vec{j}[/math]

Para averiguar f(z) tenemos que integrar 2 veces sobre [math]\frac{p_1-p_2}{-μ}[/math]. Al hacerlo y aplicando las condiciones de contorno proporcionadas por el enunciado donde f(z=0)=v y f(z=1)=0:

[math]f(z)=(1-z)(v+ \frac{(p_2-p_1)z}{2μ})[/math]

4 CAMPO DE VELOCIDADES

Para la representación del campo se han tomado los siguientes valores:

[math]p_1=1 \ {,} \ p_2=2\ {,} \ μ=1 \ {,} \ v=1[/math]

Sustituyendo en la expresión del campo obtenemos:

[math]\vec{u}(y,z)=(1-z)(1+ \frac{(2-1)z}{2})\vec{j}[/math]
[math]\vec{u}(y,z)=(4-3z-z^2)\vec{j}[/math]


Para su representación se ha implementado en Matlab, el siguiente código:

% Definir el dominio de y y z
[y, z] = meshgrid(0:0.25:8, 0:0.1:1);

% Definir las funciones vectoriales uy(y, z) y uz(y, z)
uy = (4-3*z-z.^2);
uz = zeros(size(y));

% Visualizar los resultados con quiver
quiver(y, z, uy, uz);
xlabel('y');
ylabel('z');
title('campo velocidades');
axis([0, 8, -1, 2]);
grid on;


Resultando el siguiente gráfico:

Campo de velocidades


INTERPRETACIÓN

Lo primero que observamos, es que la velocidad es nula la pared superior del canal pues en [math]z=1[/math] no existen líneas de campo, como ya habíamos demostrado analíticamente, mientras que en y [math]z=0[/math] si. Además, en las deducciones previas habíamos asegurado que la velocidad sería paralela a las paredes del canal, cosa que también observamos en la gráfica, pues las líneas de campo son paralelas a las rectas [math]z=1[/math] y [math]z=0[/math] que coinciden con las paredes del canal a la vez que se forma la mencionada ya curva parabólica que sigue nuestra función solución de la ecuación diferencial al sustituir los valores mencionados.

Por otro lado, se intuye que la velocidad máxima se alcanza en [math]z=-1/2[/math] como a continuación se demuestra analíticamente.

4.1 CÁLCULO DE LA VELOCIDAD MÁXIMA DEL FLUIDO

Los puntos de velocidad máxima se obtienen igualando a 0, la primera derivada parcial del campo:

[math]\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j} \mapsto \frac{\partial \vec{u}} {\partial y}=0 \ {,} \ \frac{\partial \vec{u} }{\partial z} , z=-1/2 [/math]

Igualando a 0, las derivadas anteriores, obtenemos que la velocidad máxima se obtienen en los puntos de la recta [math]z=-1/2[/math], interpretando así que la velocidad será máxima fuera del recinto propuesto coincidiendo así con el máximo de dicha función parabólica.

5 CAMPO DE PRESIONES

El campo de presiones al que está sometido nuestro fluido es un campo escalar, con las siguiente expresión:

[math] p(x,y,z)=p_1+(p_2-p_1)(y-1)[/math]

Para representarlo gráficamente se consideran nuevamente los valores: [math]p_1=1 \ {,} \ p_2=2 \ {,} \ μ=1\ {,} \ v=1 [/math] .Obteniendo, por tanto:

[math] p(x,y,z)=y[/math]

Implementado el código siguiente en Matlab:

y=0:0.1:8; %vector y
z=0:0.1:1; %vector z
[Y,Z]=meshgrid(y,z); % Mallado
p=Y;
surf(Y,Z,p)
title('Campo de presiones');
view(2)
axis([0,8,-1,2]);


Obtenemos el siguiente gráfico:

Campo de presiones
INTERPRETACIÓN

Observamos en el gráfico que a medida que el fluido avanza por el canal la presión va disminuyendo, las presiones altas están representadas con colores azules y derivados de éste, y las más bajas con tonos anaranjados. Esto es así, porque para mantener el caudal de un fluido viscoso estable debe mantenerse una diferencia de presiones entre las paredes del canal. Esta diferencia de presión es necesaria debida a la fuerza de arrastre o frenada que ejerce el canal sobre la capa de fluido en contacto con él y la que ejerce cada capa de fluido sobre la adyacente que se está moviendo con distinta velocidad. A estas fuerzas las denominamos fuerzas viscosas. El resultado de su presencia, hace que la velocidad del fluido no sea constante a lo largo del canal siendo mayor cerca del centro y menor cerca de las paredes tal como se explicó y demostró en el apartado anterior.

6 ROTACIONAL

Para calcular el rotacional del campo, utilizamos la siguiente expresión:

[math]\nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & f(z) & 0 \end{vmatrix}[/math]

Operando obtenemos, que: [math]\nabla\times\vec{u}=-f'(z)\vec{i}[/math], sustituyendo los valores:

[math]p_1=1 \ {,} \ p_2=2 \ {,} \ μ=1[/math]

Tenemos que: [math]\nabla\times\vec u=-z+C_1\vec{i}[/math], donde la constante 1 ya ha sido calculada anteriormente aplicando las condiciones de contorno y siendo igual a -1/2

Finalmente obtenemos el módulo del rotacional, [math]\left | \nabla\times\vec u \right |=z+1/2[/math], como se observa en la expresión, depende del valor de [math]z[/math]. Tomando los valores máximos en los extremos del intervalo en el que está definido [math]z[/math], [math] [0,1][/math], y el valor mínimo en [math]z=-1/2[/math]

Para visualizar esto de manera gráfica, nuevamente recurrimos a Octave,

y=0:0.01:8;
z=0:0.01:1;
[Y,Z]=meshgrid(y,z); %Mallado
rota=abs(Z); %Rotacional
surf(Y,Z,rota)
axis([0,8,-1,2])
view(2)


Resultando el siguiente gráfico, donde se representa el rotacional:


Rotacional del campo velocidad


INTERPRETACIÓN

El rotacional muestra la tendencia del campo a inducir rotación alrededor de un punto. Por otra parte, el rotacional caracteriza la rotación de un fluido, por lo que en los extremos del canal en efecto de giro será máximo, particularizando en [math]z=0[/math] tendrá el valor máximo en el sentido positivo de [math]\vec{i}[/math] , lo que implica rotaciones en sentido antihorario, y en [math]z=1[/math] no alcanzará ningun valor debido a las hipótesis tomadas en las condiciones de contorno atribuyendo a este 0 mencionadas por el enunciado ,lo que provocará rotaciones en sentido horario. Para el valor [math]z=-1/2[/math], que es un valor fuera de nuestro recinto, el rotacional es nulo y este punto coincide con la velocidad máxima. Con esto quedan demostradas, las hipótesis anteriores, pues en el gráfico los puntos con mayor tendencia a la rotación aparecen representados con colores cálidos, amarillos hacia verde, y los puntos con menor tendencia a la rotación aparecen representados con colores fríos, azules.

7 CAMPO DE TEMPERATURAS

La temperatura a la que está sometido el fluido viene determinada por el campo escalar:

[math] T(ρ{,}θ)=log(1+ρ)cos^2θ[/math]

Se dibuja el campo de temperaturas y las curvas de nivel:

centro


En Matlab hemos empleado el siguiente programa:

x=1:0.05:2;                                         %Definición de la x (rho)
y=0:0.05:2*pi;                                      %Definicón de la y (teta)
[Mx,My]=meshgrid(x,y);                              %Matriz de los parámetros
Mz= log(1+Mx).*(cos(My)).^2;                        %Matriz de la z
subplot(1,2,1);                                     %Ventanas 
surf(Mx,My,Mz);                                     %Dibujo de la superficie 
shading flat                                        %Difuminado
subplot(1,2,2)                                      %Ventana 2
pcolor(Mx,My,Mz);                                   %Proyección en planta
hold on                                                  %Mantener ventana
contour(Mx,My,Mz,7,'k')                             %7 curvas de nivel
hold off


A continuación, representamos una gráfica donde observamos en que punto la temperatura es máxima.

centro


En Matlab hemos utilizado el siguiente código:

x=1:0.05:2;                                     %Definición de la x (rho)
y=0:0.05:2*pi;                                  %Definicón de la y (teta)
[Mx,My]=meshgrid(x,y);                          %Matriz de los parámetros
Mz= log(1+Mx).*(cos(My)).^2;             %Matriz de la z
plot3(Mx,My,Mz);                                %Dibujo en líneas del campo


8 GRADIENTE DE LAS TEMPERATURAS

Tomando los operadores "log" del campo de temperaturas como "ln" obtenemos un gradiente:

[math]\nabla T=(Cos^2(θ)*(\frac{1}{1+ρ}))\vec{e_ρ}+((\frac{1}{ρ})*ln(1+ρ)*2*Cos(θ)*(-1Sin(θ)))\vec{e_θ}[/math]

Finalmente obtenemos la siguiente gráfica:

Gradiente

Mediante la siguiente linea de código:

% Definir la función T y sus derivadas parciales
T = @(rho, theta) log(1 + rho).*cos(theta).^2;
dT_dRho = @(rho,theta) cos(theta).^2./(1+rho);
dT_dTheta = @(rho,theta) (2.*cos(theta).*log(1+rho)./rho).*(rho>0); % Evitar división por cero
% Definir el rango de valores para rho y theta
rho=1:0.1:2;
theta=0:0.1:(2*pi);
% Crear una malla de valores para rho y theta
[Rho, Theta]=meshgrid(rho,theta);
% Calcular las componentes del campo vectorial en la malla
dT_dRho_values=dT_dRho(Rho,Theta);
dT_dTheta_values=dT_dTheta(Rho,Theta);
% Graficar el campo de vectores usando quiver
figure;
quiver(Rho,Theta,dT_dRho_values,dT_dTheta_values);
xlabel('\rho');
ylabel('\theta');
title('Campo de Vectores \nabla T');
axis tight;
grid on;


Comprobamos así que el gradiente de temperaturas es ortogonal a las curvas de nivel del campo de temperaturas.

9 LÍNEAS DE CORRIENTE

Las líneas de corriente, son rectas tangentes al campo de velocidad en cada punto. Para calcular estas rectas, calculamos el campo [math]\vec{v}=\vec{i}\times\vec u[/math]. Dicho campo es:

[math]\vec{i}\times\vec u=\vec{i}\times\ f(z)\vec{j}=\ f(z)\vec{k}[/math]

Las líneas de corriente corresponden con [math]\psi=cte[/math], siendo [math]\psi[/math] la función de corriente de [math]\vec{u}[/math]. Esta función, es la función potencial o el potencial escalar del que deriva el campo [math]\vec{v}[/math], para calcularlo, lo primero que debemos comprobar es que [math]\vec{v}[/math] es irrotacional, pues en caso contrario, dicho campo no admitiría función potencial.

Demostración [math]\nabla\times\vec v=0[/math]

[math]\nabla\times\vec v= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ 0 & 0 & \ f(z)\end{vmatrix}[/math]

Operando obtenemos, que: [math]\nabla\times\vec{v}=0[/math], por lo que el campo es irrotacional y ahora ya podemos calcular su función potencial.

Cálculo de la función potencial [math]\psi (x,y)[/math]: Busco un campo escalar u tal que [math]\nabla\times\vec{u}=\vec{v}[/math]

1. Aplicamos la definición:

[math] \nabla \psi (y,z)= \vec{v} \longleftrightarrow \frac{\partial \psi }{\partial y}=\ v_1 \ {,} \ \frac{\partial \psi}{\partial z}=\ v_2 [/math]

2. Operamos:

[math]\psi (y,z)=\int f(z) \ dy=-v((1-z)^2/2)+((p_2-p_1)/2μ)((3z^2-2z^3)/6)+Cte[/math]

Teniendo en cuenta que las lineas de corriente dependerán de un parámetro, asociaremos dicho parámetro a la Cte obtenida mediante integración

Representación gráfica

Representamos las líneas [math]\psi=cte[/math]

Líneas de corriente de [math]\vec{u}[/math]
¿Coinciden las rectas representadas con las líneas de corriente de [math]\vec{u}[/math]?

Como se observa en el gráfico, estas líneas son tangentes al campo vectorial [math]\vec{u}[/math] en cada punto quedando así demostrado que son las líneas de corriente de [math]\vec{u}[/math]


Código Octave utilizado para la representación

y=0:0.01:8;
z=0:0.01:1;
[Y,Z]=meshgrid(y,z); %Mallado
lineas=(-((1-Z).^2)./2).*v+((p1-p2)./(2*mu)).*((Z.^2./2)-(Z.^3./3)); %ecuación 
contour(Y,Z,lineas)
axis([0,8,-1,2])
view(2)


10 CAUDAL

El caudal es el volumen de fluido que pasa a través del canal por unidad de tiempo y se calcula mediante la integral de superficie siguiente:

[math]\int_{S}\vec{v} \cdot d\vec{S}[/math]

donde [math]\vec{v}[/math] es el campo de velocidades. Al tratarse de una integral de superficie hay que tener en cuenta el vector normal que es perpendicular a la superficie.

En nuestro caso, el campo de velocidades es:

[math]\vec{u}(y,z)=\frac{z^2-z}{-2}\vec{j}[/math]

Esa expresión resulta de sustituir los valores siguientes en la expresión inicial del campo:

[math]p_1=1 \ {,} \ p_2=2 \ {,} \ μ=1 \ {,} \ v=1 [/math]

La profundidad del caudal es de 1 metro, por lo que los intervalos de integración serán 0 y 1 en ambos casos ya que es de sección cuadrada. Finalmente para la parametrización de esta tomamos como valores:

[math]z=v \ {,} \ y=0 \ {,} \ z=u [/math]

CÁLCULO DEL CAUDAL

[math]\int_{S}\vec{v} \cdot d\vec{S}=\int_{S}\vec{u} \cdot |ru\times rv|=\int_{0}^{1} \int_{0}^{1} (1-z)(v+ \frac{(p_2-p_1)z}{2μ})dudv=\frac{7}{12}\frac{m^3}{s}[/math]