User:Alberto Rodríguez Ruiz/sandbox

From Wikipedia, the free encyclopedia


{{ 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 (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.

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 (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 (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.