User:Alberto Rodríguez Ruiz/sandbox


{{ TrabajoED |  Visualización de campos escalares y vectoriales en fluidos. (Grupo C20) | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC14/15|2014-15]] | Javier Ruiz de Galarreta López }}

Introducción

edit

Objetivos y metodología

edit

Este trabajo tiene como objetivo el estudio de los campos físicos escalares y vectoriales que definen un fluido que discurre por un canal. Este estudio se ha realizado en dos dimensiones, y para la visualización de los campos y el cálculo numérico de algunas integrales se han empleado los programas Matlab y Octave UPM.


El campo que vamos a tratar viene definido por los siguientes campos:


Campo vectorial de velocidades: Failed to parse (syntax error): {\displaystyle \vec{u}(x,y)=u_1(x,y)\vec{i}+u_2(x,y)\vec{j}=y\cdot(1-y)\frac{p_1-p_2}{2μ}\vec{i}}


Campo escalar de presiones:  


Campo escalar de temperatura:  


Donde Failed to parse (syntax error): {\displaystyle μ} es el coeficiente de viscosidad del fluido,   es la presión en los puntos x = 1 y   es la presión en los puntos x = 2

Representación del espacio ocupado por el fluido

edit

El fluido objeto del estudio se halla ocupando el espacio delimitado por el rectángulo [0,4] x [-1,2].

Para representar gráficamente dicho dominio, crearemos el siguiente programa en MATLAB:

600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)

{{matlab|codigo= \% Representación gráfica del dominio ocupado por un fluido \% mediante un mallado que abarca los puntos interiores del \% rectangulo [0; 4]x[0; 1], con los ejes fijados en la \% region [0; 4][-1; 2]. hold off \% Mallado: [X,Y] = meshgrid([0:0.1:4],[0:0.1:1]); mesh(X,Y,0*X) \%Ejes, región y rectas superior e inferior: grid on axis([0,4,-1,2]) axis equal xlabel('X') ylabel('Y') hold on x = [0,4]; y = [0,0]; plot(x,y,'-k','linewidth',2) hold on x = [0,4]; y = [1,1]; plot(x,y,'-k','linewidth',2) }}

Ecuación de Navier-Stokes estacionaria

edit

Las ecuaciones de Navier-Stokes son un conjunto de ecuaciones en derivadas parciales no lineales que describen el movimiento de un fluido. Estas ecuaciones gobiernan la atmósfera terrestre, las corrientes oceánicas y el flujo alrededor de vehículos o proyectiles y, en general, cualquier fenómeno en el que se involucren fluidos newtonianos. Reciben su nombre de Claude-Louis Navier (1785-1836) y George Gabriel Stokes (1819-1903).


En este caso vamos a trabajar con la ecuación de Navier Stokes estacionaria, cuya expresión es la que sigue:


Failed to parse (syntax error): {\displaystyle \vec{u} \cdot \nabla \vec{u} + \nabla p=μ \Delta\vec{u} }


Donde   y   son los campos de velocidades y presiones del fluido descritos en la introducción, y Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "http://localhost:6011/en.wikipedia.org/v1/":): {\displaystyle μ} es el coeficiente de viscosidad del fluido.


La misma ecuación empleando índices será:


Failed to parse (syntax error): {\displaystyle (\nabla\vec{u})_{ij} \cdot u_j+(\nabla p)_i= μ (\Delta\vec{u})_i }


Operando se tiene:


- El gradiente de   :

Failed to parse (unknown function "\begin{pmatrix}"): {\displaystyle ((\nabla\vec{u})_{ij})= \begin{pmatrix} \frac{\partial u_1}{\partial x} & \cfrac{\partial u_1}{\partial y} \\ \frac{\partial u_2}{\partial x} & \cfrac{\partial u_2}{\partial y} \\ \end{pmatrix} = \begin{pmatrix} 0 & (1-2y)\frac{p_1-p_2}{2μ} \\ 0 & 0 \\ \end{pmatrix} }


- El gradiente de   :


 


- El laplaciano de  :

 


Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "http://localhost:6011/en.wikipedia.org/v1/":): {\displaystyle \nabla \cdot \vec{u}=\frac{\partial u_1}{\partial x}+\frac{\partial u_2}{\partial y} = \frac{\partial (y\cdot(1-y)\frac{p_1-p_2} {2μ})}{\partial x} +\frac{\partial 0}{\partial y} = 0}


De este resultado se extrae que, al ser la divergencia nula, se cumple la condición de incompresibilidad. Esto implica que el fluido es incompresible (ni se comprime ni se expande) por lo que siempre ocupa el mismo volumen.


Para calcular el rotacional consideramos el campo en 3 dimensiones con z = 0:


Failed to parse (unknown function "\begin{vmatrix}"): {\displaystyle \nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ u_1 & u_2 & u_3 \end{vmatrix}= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ \ (y-y^2)\frac{p_1-p_2}{2μ} & 0 & 0 \end{vmatrix}= -(1-2y)\frac{p_1-p_2}{2μ}\vec{k}}


Failed to parse (unknown function "\begin{vmatrix}"): {\displaystyle \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}\\ \ 0 & 0 & -(1-2y)\frac{p_1-p_2}{2μ} \end{vmatrix}= \frac{p_1-p_2}{μ}\vec{i}}


Luego Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "http://localhost:6011/en.wikipedia.org/v1/":): {\displaystyle \Delta\vec{u} = \frac{p_2-p_1}{μ}\vec{i}}


Finalmente, sustituyendo en la ecuación:


Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "http://localhost:6011/en.wikipedia.org/v1/":): {\displaystyle \begin{pmatrix} 0 & (1-2y)\frac{p_1-p_2}{2μ} \\ 0 & 0 \\ \end{pmatrix}\cdot \begin{pmatrix} (y-y^2)\frac{p_1-p_2}{2μ} \\ 0 \\ \end{pmatrix} + \begin{pmatrix} p_2-p_1 \\ 0 \end{pmatrix}= μ\begin{pmatrix} \frac{p_2-p_1}{μ} \\ 0 \end{pmatrix} }


Queda demostrado.

Campo de velocidades

edit

Definición

edit

El campo vectorial de velocidades objeto del estudio, viene definido por la siguiente expresión:

 

Representación gráfica

edit

Para representarlo gráficamente, suponemos:

 

 

 

 


Creamos a continuación el siguiente programa en MATLAB:

600px|miniaturadeimagen|derecha|Representación gráfica del campo de velocidades (MATLAB)

{{matlab|codigo= \% Representación gráfica del campo de velocidades. hold off \%Campo vectorial de velocidades: [X,Y] = meshgrid([0:0.25:4],[0:0.1:1]); ux=inline('y.*(1-y)./(2)','x','y'); uy=inline('0.*x','x','y'); U=ux(X,Y); V=uy(X,Y); quiver(X,Y,U,V) \%Ejes, región y rectas superior e inferior: grid on axis([0,4,-1,2]) axis equal xlabel('X') ylabel('Y') hold on x = [0,4]; y = [0,0]; plot(x,y,'-k','linewidth',2) hold on x = [0,4]; y = [1,1]; plot(x,y,'-k','linewidth',2) }}

Velocidad máxima

edit

Los puntos correspondientes a la máxima velocidad del fluido, se determinarán igualando la primera derivada del campo de velocidades a cero:

 

 

 

 

El resultado obtenido puede verificarse fácilmente observando la representación gráfica del campo de velocidades.

Rotacional del campo de velocidades

edit

El rotacional del campo de velocidades es:

Failed to parse (unknown function "\begin{vmatrix}"): {\displaystyle \nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ u_1 & u_2 & u_3 \end{vmatrix}= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ \ (y-y^2)\frac{p_1-p_2}{2μ} & 0 & 0 \end{vmatrix}= -(1-2y)\frac{p_1-p_2}{2μ}\vec{k}}

Campo de presiones

edit

Definición

edit

El campo escalar de presiones objeto del estudio, viene definido por la siguiente expresión:

 

Representación gráfica

edit

Para representarlo gráficamente, suponemos:

 

 

 

 


Creamos a continuación el siguiente programa en MATLAB:

638px|miniaturadeimagen|derecha|Representación gráfica del campo de presiones (MATLAB)

{{matlab|codigo= \% Representación gráfica del campo de presiones. hold off \%Campo escalar de presiones: [X,Y] = meshgrid([0:0.1:4], [0:0.1:1]); f=inline('3-x','x','y'); Z=f(X,Y); surf(X,Y,Z) \%Ejes, región y rectas superior e inferior: grid on axis([0,4,-1,2]) axis equal xlabel('X') ylabel('Y') colorbar hold on x = [0,4]; y = [0,0]; z = [3,-1]; plot3(x,y,z,'-k','linewidth',2) hold on x = [0,4]; y = [1,1]; z = [3,-1]; plot3(x,y,z,'-k','linewidth',2) }}

Presión media del fluido en el canal

edit

Campo de temperatura

edit

Definición

edit

Dada la ecauación de la temperatura a lo largo del canal:

  T(x; y) =e^{-(x-1)^2+y^2

Representación gráfica

edit

Para obtener su representacion nos ayudamos de Octave UPM:

{{matlab|codigo= \%Dibujo del campo de temperaturas \%Creacion de las variables x,y x=-3:0.2:3; y=x; clf [Mx,My]= meshgrid(x,y); \%Creacion del mallado Mz= exp(-(Mx-1).^2+My.^2); \%Campo de temperaturas(escalar) surf(Mx,My,Mz) \%Creación de la superficie hold on contour(Mx,My,Mz,'g','LineWidth',1) \%Curvas de nivel(color verde) hold off }}

Comprobamos a continuación que el gradiente de temperaturas es ortogonal a las curvas de nivel de la temperatura.

Para ello escribimos el siguiente programa en MATLAB:

600px|miniaturadeimagen|derecha|Representación gráfica del gradiente de temperaturas y las curvas de nivel del campo de temperatura (MATLAB)

{{matlab|codigo= \% Representación gráfica del campo de temperaturas. hold off \% Mallado: x=linspace(0,4,40); y=linspace(0,1,10); [X,Y]=meshgrid(x,y); \% Curvas de nivel y campo vectorial: Z= exp(-(X-1).^2+Y.^2); U=-2*(X-1).*exp(-(X-1).^2+Y.^2); V=2.*Y.*exp(-(X-1).^2+Y.^2); hold on quiver(X,Y,U,V) contour(X,Y,Z,25); \%Ejes, región y rectas superior e inferior: grid on axis([0,4,-1,2]) axis equal xlabel('X') ylabel('Y') hold on x = [0,4]; y = [0,0]; plot(x,y,'-k','linewidth',2) hold on x = [0,4]; y = [1,1]; plot(x,y,'-k','linewidth',2) }}


Ampliando al recinto [1.25; 1.75] x [0.25; 0.75] se puede apreciar mejor la ortogonalidad:

400px|miniaturadeimagen|izquierda|Representación gráfica del gradiente de temperaturas y las curvas de nivel del campo de temperatura (MATLAB)


























Líneas de corriente

edit

Definición

edit

Las líneas de corriente vienen definidas por [...]

Representación gráfica

edit

Creamos a continuación el siguiente programa en MATLAB:

600px|miniaturadeimagen|derecha|Representación gráfica del campo de velocidades (MATLAB)

{{matlab|codigo= \% Vamos a dibujar ahora las lineas de corriente del campo u, es decir \% las lineas que son tangentesa u en cada punto. hold off \%Campo v ortogonal en cada punto a u (tomar v = k^u): [X,Y] = meshgrid([0:0.5:4], [0:0.05:1]); v=inline('y.*(1-y)./(2)','x','y'); V=v(X,Y); contour(X,Y,V,15,'-r') \%Ejes, región y rectas superior e inferior: grid on axis([0,4,-1,2]) axis equal xlabel('X') ylabel('Y') hold on x = [0,4]; y = [0,0]; plot(x,y,'-k','linewidth',2) hold on x = [0,4]; y = [1,1]; plot(x,y,'-k','linewidth',2) }}

Categoría:Teoría de Campos Categoría:TC14/15

Ecuación de Navier-Stokes estacionaria

edit

Las ecuaciones de Navier-Stokes son un conjunto de ecuaciones en derivadas parciales no lineales que describen el movimiento de un fluido. Estas ecuaciones gobiernan la atmósfera terrestre, las corrientes oceánicas y el flujo alrededor de vehículos o proyectiles y, en general, cualquier fenómeno en el que se involucren fluidos newtonianos. Reciben su nombre de Claude-Louis Navier (1785-1836) y George Gabriel Stokes (1819-1903).


En este caso vamos a trabajar con la ecuación de Navier Stokes estacionaria, cuya expresión es la que sigue:


Failed to parse (syntax error): {\displaystyle \vec{u} \cdot \nabla \vec{u} + \nabla p=μ \Delta\vec{u} }


Donde   y   son los campos de velocidades y presiones del fluido descritos en la introducción, y Failed to parse (syntax error): {\displaystyle μ} es el coeficiente de viscosidad del fluido.


La misma ecuación empleando índices será:


Failed to parse (syntax error): {\displaystyle (\nabla\vec{u})_{ij} \cdot u_j+(\nabla p)_i= μ (\Delta\vec{u})_i }


Operando se tiene:


- El gradiente de   :

Failed to parse (unknown function "\begin{pmatrix}"): {\displaystyle ((\nabla\vec{u})_{ij})= \begin{pmatrix} \frac{\partial u_1}{\partial x} & \cfrac{\partial u_1}{\partial y} \\ \frac{\partial u_2}{\partial x} & \cfrac{\partial u_2}{\partial y} \\ \end{pmatrix} = \begin{pmatrix} 0 & (1-2y)\frac{p_1-p_2}{2μ} \\ 0 & 0 \\ \end{pmatrix} }


- El gradiente de   :


 


- El laplaciano de  :

 


Failed to parse (syntax error): {\displaystyle \nabla \cdot \vec{u}=\frac{\partial u_1}{\partial x}+\frac{\partial u_2}{\partial y} = \frac{\partial (y\cdot(1-y)\frac{p_1-p_2} {2μ})}{\partial x} +\frac{\partial 0}{\partial y} = 0}


De este resultado se extrae que, al ser la divergencia nula, se cumple la condición de incompresibilidad. Esto implica que el fluido es incompresible (ni se comprime ni se expande) por lo que siempre ocupa el mismo volumen.


Para calcular el rotacional consideramos el campo en 3 dimensiones con z = 0:


Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "http://localhost:6011/en.wikipedia.org/v1/":): {\displaystyle \nabla\times\vec u= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ u_1 & u_2 & u_3 \end{vmatrix}= \begin{vmatrix} \vec{i} & \vec{j} & \vec{k} \\ \frac{ \partial}{\partial x} & \frac{\partial }{\partial y} & \frac{\partial }{\partial z}\\ \ (y-y^2)\frac{p_1-p_2}{2μ} & 0 & 0 \end{vmatrix}= -(1-2y)\frac{p_1-p_2}{2μ}\vec{k}}


Failed to parse (unknown function "\begin{vmatrix}"): {\displaystyle \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}\\ \ 0 & 0 & -(1-2y)\frac{p_1-p_2}{2μ} \end{vmatrix}= \frac{p_1-p_2}{μ}\vec{i}}


Luego Failed to parse (syntax error): {\displaystyle \Delta\vec{u} = \frac{p_2-p_1}{μ}\vec{i}}


Finalmente, sustituyendo en la ecuación:


Failed to parse (unknown function "\begin{pmatrix}"): {\displaystyle \begin{pmatrix} 0 & (1-2y)\frac{p_1-p_2}{2μ} \\ 0 & 0 \\ \end{pmatrix}\cdot \begin{pmatrix} (y-y^2)\frac{p_1-p_2}{2μ} \\ 0 \\ \end{pmatrix} + \begin{pmatrix} p_2-p_1 \\ 0 \end{pmatrix}= μ\begin{pmatrix} \frac{p_2-p_1}{μ} \\ 0 \end{pmatrix} }


Queda demostrado.