Diferencia entre revisiones de «Usuario:Bernardo Rodríguez»
(→Comprobación de la ecuación de Navier-Stokes estacionaria) |
|||
| (No se muestran 49 ediciones intermedias del mismo usuario) | |||
| Línea 6: | Línea 6: | ||
de un fluido incompresible a través de un canal con paredes rectas. Trabajaremos en el plano con | de un fluido incompresible a través de un canal con paredes rectas. Trabajaremos en el plano con | ||
coordenadas cartesianas. | coordenadas cartesianas. | ||
| + | |||
| + | Todo el código y las tablas obtenidas se consiguieron utilizando OCTAVE. | ||
== Mallado == | == Mallado == | ||
Dibujar un mallado que represente los puntos interiores del rectángulo [0, 8] × [−1, 1] ocupado | Dibujar un mallado que represente los puntos interiores del rectángulo [0, 8] × [−1, 1] ocupado | ||
| − | por un fluido. Fijar los ejes en la | + | por un fluido. Fijar los ejes en la región [0, 4] × [−2, 2]. Para ello se utilizó el siguiente código: |
{{Matlab|codigo= | {{Matlab|codigo= | ||
| Línea 27: | Línea 29: | ||
Del cual se obtiene la siguiente gráfica. | Del cual se obtiene la siguiente gráfica. | ||
| − | [[Archivo: | + | [[Archivo: malladoijk.png |600px|miniaturadeimagen|centro| ]] |
== Comprobación de la ecuación de Navier-Stokes estacionaria == | == Comprobación de la ecuación de Navier-Stokes estacionaria == | ||
| − | [[Archivo: | + | Se da un campo para expresar la velocidad de las particulas en el fluido así como un campo para expresar su presión en cada punto. En donde tenemos un líquido incompresible el cual verifica: |
| + | |||
| + | |||
| + | |||
| + | [[Archivo: navst1.png ]] | ||
| + | [[Archivo: navst2.png ]] | ||
| + | [[Archivo: navst3.png ]] | ||
| + | [[Archivo: navst4.png ]] | ||
| + | |||
| + | == Campo de presiones y velocidades == | ||
| + | |||
| + | Suponiendo valores para: | ||
| + | |||
| + | p1=2 | ||
| + | p2=1 | ||
| + | μ=1 | ||
| + | |||
| + | Se obtienen las siguientes expresiones de presión y velocidad. | ||
| + | |||
| + | [[Archivo: pvijk.png ]] | ||
| + | |||
| + | Se utilizó el siguiente código para el campo de presiones | ||
| + | |||
| + | {{Matlab|codigo= | ||
| + | |||
| + | x=0:0.1:8; | ||
| + | y=-1:0.1:1; | ||
| + | [xx,yy] = meshgrid(x,y); | ||
| + | figure(1) | ||
| + | f=3-xx; | ||
| + | surf(xx,yy,f) | ||
| + | axis([0,4,-2,2]) | ||
| + | view(2) | ||
| + | colorbar | ||
| + | |||
| + | |||
| + | }} | ||
| + | |||
| + | |||
| + | Del cual obtenemos la siguiente gráfica. | ||
| + | |||
| + | |||
| + | [[Archivo: pres1on2.png |600px|miniaturadeimagen|centro|]] | ||
| + | |||
| + | Por otro lado, se utilizó el siguiente código para el campo de velocidades | ||
| + | |||
| + | {{Matlab|codigo= | ||
| + | |||
| + | x=0:0.1:8; | ||
| + | y=-1:0.1:1; | ||
| + | [xx,yy] = meshgrid(x,y); | ||
| + | figure(1) | ||
| + | fx=-0.5*yy.^2+0.5; | ||
| + | fy=0; | ||
| + | quiver(xx,yy,fx,fy) | ||
| + | axis([0,4,-2,2]) | ||
| + | view(2) | ||
| + | |||
| + | |||
| + | |||
| + | }} | ||
| + | |||
| + | Del cual obtenemos. | ||
| + | |||
| + | |||
| + | [[Archivo: bienrapido.png|600px|miniaturadeimagen|centro| ]] | ||
| + | |||
| + | Por lo cual la velocidad del campo es máxima en el eje, es decir en y=0 | ||
| + | |||
| + | == Cálculo del rotacional == | ||
| + | |||
| + | El siguiente apartado calcula el rotacional de ū y así mismo obtenemos su gráfica, que nos indica los puntos de mayor rotacional. | ||
| + | |||
| + | [[Archivo:rotpam131.png]] | ||
| + | |||
| + | Dada la expresión se aplica el código: | ||
| + | |||
| + | {{Matlab|codigo= | ||
| + | |||
| + | [X,Y]=meshgrid(x,y) | ||
| + | Z=Y | ||
| + | Figure | ||
| + | pcolor(X,Y,Z) | ||
| + | colorbar | ||
| + | |||
| + | |||
| + | }} | ||
| + | |||
| + | Del cual se obtiene la gráfica. | ||
| + | |||
| + | [[Archivo:rotpam2.png|600px|miniaturadeimagen|centro|]] | ||
| + | |||
| + | Como podemos ver, el gráfico tiene sentido, puesto a que las velocidades respecto del eje son simétricas. El rotacional en el eje es cero y en las orillas tiene un valor máximo de 1, en el caso de inferior al eje tenemos valor negativo y en el caso superior el valor es positivo. Estos datos se deben a la dirección del rotacional, sin embargo su magnitud es la misma como se puede ver en el gráfico. | ||
| + | |||
| + | == Temperatura del fluido == | ||
| + | |||
| + | La temperatura del fluido viene dada por el siguiente campo: | ||
| + | |||
| + | [[Archivo: tempur1.png]] | ||
| + | |||
| + | La cual se obtiene utilizando el siguiente código el cual comienza con un cambio de base de cilíndricas a cartesianas. | ||
| + | |||
| + | {{Matlab|codigo= | ||
| + | |||
| + | ro=sqrt(x.^2+y.^2); | ||
| + | teta=atan(y./(x.+10.^-9)); | ||
| + | Y representamos la temperatura con las nuevas variables | ||
| + | T= 1 + (sin(teta)).^2.*e.^-(ro-1/2).^2; | ||
| + | figure | ||
| + | hold on | ||
| + | mesh(ro,teta,0*z) | ||
| + | pcolor(ro,teta,T) | ||
| + | contour(ro,teta,T,'k') | ||
| + | colorbar | ||
| + | hold off | ||
| + | Representar gráficamente la temperatura máxima | ||
| + | ma=max(max(T)); | ||
| + | |||
| + | |||
| + | fprintf('La temperatura maxima %.2f\n',ma) por lo cual obtenemos un valor de 3.4 | ||
| + | |||
| + | |||
| + | }} | ||
| + | |||
| + | Por consecuencia se obtiene la siguiente gráfica, la cual nos indica con la barra de color en que punto la temperatura es máxima y en que punto es mínima. | ||
| + | |||
| + | [[Archivo: tempur2.png|600px|miniaturadeimagen|centro|]] | ||
| + | |||
| + | == Gradiente de la temperatura == | ||
| + | |||
| + | Se dibuja el gradiente la temperatura, el cual es ortogonal al campo de temperaturas de la gráfica anterior. El gradiente de temperatura se obtiene operando: | ||
| + | |||
| + | [[Archivo: gradtemp1234.png]] | ||
| + | |||
| + | Después de aplicar el código: | ||
| + | |||
| + | {{Matlab|codigo= | ||
| + | |||
| + | |||
| + | |||
| + | }} | ||
| + | |||
| + | Se obtiene la gráfica, la cual nos demuestra como el gradiente es ortogonal a las curvas de nivel de la temperatura. | ||
| + | |||
| + | == Presión media en puntos del fluido == | ||
| + | |||
| + | Utilizando la integral de la presión en todo el fluido dividida por su área, nos da como resultado la presión media en los puntos del fluido numéricamente, la cual fue operada de la siguiente manera: | ||
| + | |||
| + | [[Archivo: presspum.png]] | ||
| + | |||
| + | == Caudal a partir de la velocidad == | ||
| + | |||
| + | Se calcula el caudal del fluido a partir de la velocidad dada en m/s y así mismo identificamos el porcentaje de caudal que pasa por la mitad central del canal. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | [[Archivo: caudalito123.png]] | ||
| + | |||
| + | [[Archivo: 1cau2al.png|600px|miniaturadeimagen|centro|]] | ||
| + | |||
| + | [[Archivo: 1cau3al.png|600px|miniaturadeimagen|centro|]] | ||
Revisión actual del 12:31 2 dic 2019
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Trabajo 7: Visualización de campos escalares y vectoriales en fluidos (Grupo C-11) |
| Asignatura | Teoría de Campos |
| Curso | 2019-20 |
| Autores | Bernardo Rodríguez, Eduardo Martín Velásquez, Joaquín Ramón López |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Enunciado
Visualización de campos escalares y vectoriales en fluidos. Vamos a considerar el flujo de un fluido incompresible a través de un canal con paredes rectas. Trabajaremos en el plano con coordenadas cartesianas.
Todo el código y las tablas obtenidas se consiguieron utilizando OCTAVE.
2 Mallado
Dibujar un mallado que represente los puntos interiores del rectángulo [0, 8] × [−1, 1] ocupado por un fluido. Fijar los ejes en la región [0, 4] × [−2, 2]. Para ello se utilizó el siguiente código:
x=0:0.1:8;
y=-1:0.1:1;
[xx,yy] = meshgrid(x,y);
figure(1)
mesh(xx,yy,0*xx)
axis([0,4,-2,2])
view(2)
Del cual se obtiene la siguiente gráfica.
Se da un campo para expresar la velocidad de las particulas en el fluido así como un campo para expresar su presión en cada punto. En donde tenemos un líquido incompresible el cual verifica:
4 Campo de presiones y velocidades
Suponiendo valores para:
p1=2 p2=1 μ=1
Se obtienen las siguientes expresiones de presión y velocidad.
Se utilizó el siguiente código para el campo de presiones
x=0:0.1:8;
y=-1:0.1:1;
[xx,yy] = meshgrid(x,y);
figure(1)
f=3-xx;
surf(xx,yy,f)
axis([0,4,-2,2])
view(2)
colorbar
Del cual obtenemos la siguiente gráfica.
Por otro lado, se utilizó el siguiente código para el campo de velocidades
x=0:0.1:8;
y=-1:0.1:1;
[xx,yy] = meshgrid(x,y);
figure(1)
fx=-0.5*yy.^2+0.5;
fy=0;
quiver(xx,yy,fx,fy)
axis([0,4,-2,2])
view(2)
Del cual obtenemos.
Por lo cual la velocidad del campo es máxima en el eje, es decir en y=0
5 Cálculo del rotacional
El siguiente apartado calcula el rotacional de ū y así mismo obtenemos su gráfica, que nos indica los puntos de mayor rotacional.
Dada la expresión se aplica el código:
[X,Y]=meshgrid(x,y)
Z=Y
Figure
pcolor(X,Y,Z)
colorbar
Del cual se obtiene la gráfica.
Como podemos ver, el gráfico tiene sentido, puesto a que las velocidades respecto del eje son simétricas. El rotacional en el eje es cero y en las orillas tiene un valor máximo de 1, en el caso de inferior al eje tenemos valor negativo y en el caso superior el valor es positivo. Estos datos se deben a la dirección del rotacional, sin embargo su magnitud es la misma como se puede ver en el gráfico.
6 Temperatura del fluido
La temperatura del fluido viene dada por el siguiente campo:
La cual se obtiene utilizando el siguiente código el cual comienza con un cambio de base de cilíndricas a cartesianas.
ro=sqrt(x.^2+y.^2);
teta=atan(y./(x.+10.^-9));
Y representamos la temperatura con las nuevas variables
T= 1 + (sin(teta)).^2.*e.^-(ro-1/2).^2;
figure
hold on
mesh(ro,teta,0*z)
pcolor(ro,teta,T)
contour(ro,teta,T,'k')
colorbar
hold off
Representar gráficamente la temperatura máxima
ma=max(max(T));
fprintf('La temperatura maxima %.2f\n',ma) por lo cual obtenemos un valor de 3.4
Por consecuencia se obtiene la siguiente gráfica, la cual nos indica con la barra de color en que punto la temperatura es máxima y en que punto es mínima.
7 Gradiente de la temperatura
Se dibuja el gradiente la temperatura, el cual es ortogonal al campo de temperaturas de la gráfica anterior. El gradiente de temperatura se obtiene operando:
Después de aplicar el código:
Se obtiene la gráfica, la cual nos demuestra como el gradiente es ortogonal a las curvas de nivel de la temperatura.
8 Presión media en puntos del fluido
Utilizando la integral de la presión en todo el fluido dividida por su área, nos da como resultado la presión media en los puntos del fluido numéricamente, la cual fue operada de la siguiente manera:
9 Caudal a partir de la velocidad
Se calcula el caudal del fluido a partir de la velocidad dada en m/s y así mismo identificamos el porcentaje de caudal que pasa por la mitad central del canal.








