Fluido Alrededor De Un Obstáculo Circular (Grupo 7)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Fluido alrededor de un obstáculo circular. Grupo 7 |
| Asignatura | Teoría de Campos |
| Curso | 2023-24 |
| Autores | Sara Jorge García Álvaro Capilla Sanz Victor Del Águila Alonso Paula Gil Rodríguez Javier Moya López |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
En el presente artículo se analizará el comportamiento del flujo de un fluido incompresible alrededor de un obstáculo de forma circular, visualizando sus campos vectoriales y escalares. En el supuesto dado, el obstáculo se tratará de un anillo de radio 1, cuyo centro se encontrará en el origen de coordenadas y cuyo flujo estará definido por la siguiente función potencial:
El fluido que rodea la superficie definida estará delimitado por: [math](\rho,\theta) \in [1,5]*[0,2\pi][/math].
Contenido
- 1 Mallado
- 2 Función Potencial y Campo de Velocidades
- 3 Ortogonalidad entre el Gradiente ([math]\vec u[/math]) y un Vector Normal Asociado ([math]\vec n[/math])
- 4 Valor del Campo de Velocidades en Punto Lejano al Obstáculo
- 5 Incompresibilidad
- 6 Líneas de Corriente
- 7 Puntos de Remanso
- 8 Presión del Fluido
- 9 Ecuación de Navier-Stokes
- 10 Trayectoria de la Línea de Corriente
- 11 Paradoja D'Alembert
- 12 Curvas de Nivel de la Presión
1 Mallado
Para representar los puntos de la región ocupada por el fluido, se comenzará generando un mallado que describa el anillo situado entre los radios 1 y 5, con el origen de coordenadas como centro. Este proceso implica la creación de un conjunto de puntos distribuidos en coordenadas polares, el cual permitirá la visualización del mallado buscado. Se dibujarán los ejes en el intervalo [math](x,y) ∈ [-5,5]\times[-5,5] [/math].
Implementando el siguiente código en Matlab, se obtiene la superficie de trabajo.
rho=linspace(1,5,40); %definición de parámetros
th=linspace(0,2*pi,40);
[U,V]=meshgrid(rho,th); %creación del mallado
hold on
X=U.*cos(V); %parametrización de la superficie
Y=U.*sin(V);
Z=0.*U;
mesh(X,Y,0*Z); %representación de la placa
plot(1*cos(th),1*sin(th),'k','lineWidth',2); %dibujo del obstáculo
axis([-5,5,-5,5]); %delimitación de ejes
view(2); %vista en proyección bidimensional
title ('PLACA');
xlabel 'ABSCISAS'
ylabel 'ORDENADAS'
axis equal
hold off
2 Función Potencial y Campo de Velocidades
Tras definir la región de estudio, se analizará tanto la función potencial como el campo de velocidades que definen el comportamiento del fluido dado:
2.1 Función Potencial
Se procede a representar visualmente la función potencial del fluido, siendo esta:
u=linspace(1,5,50);
v=linspace(0,2*pi,50);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
f=(rho+1./rho).*cos(th)+sqrt(2).*log(rho);
contour(Mx,My,f,25); colorbar
axis([-5,5,-5,5]); axis equal
2.2 Campo de Velocidades
La velocidad de un campo escalar se describe mediante el gradiente de dicha función. Así, el campo de velocidades se definirá como [math]\vec u=\nabla\varphi[/math], definiéndose el gradiente como:
Para el cálculo del gradiente en coordenadas cartesianas, se tendrán en cuenta las siguientes igualdades matemáticas:
Teniendo en cuenta todo lo descrito anteriormente, se tiene que el campo de velocidades de la función potencial dada será:
Habiendo calculado ya el campo de velocidades, se procede a hacer una representación gráfica de este mediante su visualización en el programa Matlab:
u=linspace(1,5,50);
v=linspace(0,2*pi,50);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
fx=@(x,y) -(1+((y.^2-x.^2)./((x.^2+y.^2).^2))+((sqrt(2).*x)./(x.^2+y.^2)));
fy=@(x,y) -(((-2)*(x.*y)./(x.^2+y.^2).^2)+((sqrt(2).*y)./(x.^2+y.^2)));
colorbar;
quiver(Mx,My,fx(Mx,My),fy(Mx,My))
axis([-5,5,-5,5]); axis equal
3 Ortogonalidad entre el Gradiente ([math]\vec u[/math]) y un Vector Normal Asociado ([math]\vec n[/math])
En este caso [math]\vec{e_z}[/math] es un posible vector normal al campo de velocidades, ya que la función potencial dada existe en el plano [math]z=0[/math], por lo que el producto escalar será nulo.
En la frontera del obstáculo, [math]\rho=1 [/math], por lo que el producto escalar [math]\vec u\cdot\vec n=0[/math]
En la frontera del obstáculo, la velocidad es nula porque el vector velocidad será perpendicular al vector normal de la superficie. Por ello, las partículas de fluido que chocan con el obstáculo se detendrán de forma que rodearán el obstáculo para seguir avanzando.
4 Valor del Campo de Velocidades en Punto Lejano al Obstáculo
Sea [math]\rho[/math] un valor considerablemente elevado, se puede despreciar el término [math]\frac{1}{\rho}[/math], por lo que la expresión del campo de velocidades será la siguiente:
Acto seguido, se procede al cambio de coordenadas cilíndricas a cartesianas haciendo uso de la matriz cambio de base, como se muestra a continuación:
5 Incompresibilidad
En el presente apartado se procederá a comprobar que tanto el rotacional como la divergencia del campo de velocidades son nulos, es decir, comprobar que se trata de un fluido incompresible.
5.1 Divergencia
La divergencia de un campo vectorial responderá a la siguiente fórmula:
Sea [math]\vec(F)=F_\rho\vec(e_\rho)+F_\theta\vec(e_\theta)+F_z\vec(e_z)[/math]
Que la divergencia resulte nula significa que el volumen del fluido se mantendrá constante (no se expandirá ni se contraerá)
5.2 Rotacional
La divergencia de un campo vectorial responderá a la siguiente fórmula:
Sea [math]\vec(F)=F_\rho\vec(e_\rho)+F_\theta\vec(e_\theta)+F_z\vec(e_z)[/math]
Que el rotacional resulte nulo significa que las partículas de fluido no giran
6 Líneas de Corriente
Se comenzará calculando el campo [math]\vec v[/math], que en cada punto es ortogonal a [math]\vec u[/math] ([math]\vec v=\vec k \times\vec u[/math])
Se verifica representando gráficamente que [math]\vec v[/math] y el campo de velocidades [math]\vec u[/math] son ortogonales, adjuntando también el código de Matlab correspondiente:
u=linspace(1,5,10);
v=linspace(0,2*pi,10);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
%esto es v
fx=@(x,y) (((2).*(x.*y))./((x.^2+y.^2).^(2)))-((sqrt(2).*y)./((x.^2)+(y.^2)));
fy=@(x,y) 1+((sqrt(2).*x)./(x.^2+y.^2))+((y.^2-x.^2)./(x.^2+y.^2).^(2));
%esto es u
f1=@(x,y) -(1+((y.^2-x.^2)./((x.^2+y.^2).^2))+((sqrt(2).*x)./(x.^2+y.^2)));
f2=@(x,y) -(((-2)*(x.*y)./(x.^2+y.^2).^2)+((sqrt(2).*y)./(x.^2+y.^2)));
hold on
subplot(1,1,1);
quiver(Mx,My,f1(Mx,My),f2(Mx,My));
quiver(Mx,My,fx(Mx,My),fy(Mx,My));
axis equal
hold offA continuación, se comprobará que [math]\vec v[/math] es irrotacional. Así:
Se procede a calcular [math]\psi[/math] resolviendo el sistema de ecuaciones [math]\nabla\cdot\psi=\vec v[/math]
De ello se obtendrá la siguiente igualdad, que representa el potencial escalar:
Para representar gráficamente el potencial escalar, se utilizará el siguiente código en Matlab:
u=linspace(1,5,250);
v=linspace(0,2*pi,250);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
%esto es el tridente
f=@(x,y) ((y)-(y./(x.^2+y.^2)))+(atan(y./x).*((2)^(1/2)));
hold on
subplot(1,1,1);
contour(Mx,My,f(Mx,My),100);
axis equal
hold off
A continuación, se representa el campo de velocidades y el potencial escalar mediante el siguiente código de Matlab
u=linspace(1,5,250);
v=linspace(0,2*pi,250);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
%[math]\psi[/math]
f=@(x,y) ((y)-(y./(x.^2+y.^2)))+(atan(y./x).*((2)^(1/2)));
%esto es u
f1=@(x,y) -(1+((y.^2-x.^2)./((x.^2+y.^2).^2))+((sqrt(2).*x)./(x.^2+y.^2)));
f2=@(x,y) -(((-2)*(x.*y)./(x.^2+y.^2).^2)+((sqrt(2).*y)./(x.^2+y.^2)));
hold on
subplot(1,1,1);
contour(Mx,My,f(Mx,My),100);
quiver(Mx,My,f1(Mx,My),f2(Mx,My));
axis equal
hold off
A través de dicha representación se confirma que ambos potencial escalar y campo de velocidades son paralelos
7 Puntos de Remanso
Se define punto de remanso como aquel lugar donde el módulo de la velocidad del flujo en nulo. Se procede a determinar si existe o no algún punto de remanso en el flujo dado:
Particularizando en [math]\rho=1[/math], se tiene que el campo de velocidades valdrá:
Hallando ahora su módulo, se tiene que:
Se alcanzará el máximo cuando [math]sen(\theta)=1[/math], es decir, cuando [math]\theta=\frac{\pi}{2}[/math] ó [math]\theta=\frac{3\pi}{2} [/math] y el mínimo cuando [math]sen(\theta)=0[/math], es decir, cuando [math]\theta=0[/math] ó [math]\theta=\pi [/math]
Los puntos de remanso se hallan calculando:
Es decir:
Sin embargo, la igualdad no se cumple en ningún caso. Por lo tanto, se determina que no existen puntos de remanso.
Para hacer una comprobación de ello, se hará una representación del campo de velocidades mediante el siguiente código de Matlab:
u=linspace(1,5,15);
v=linspace(0,2*pi,15);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
fx=@(x,y) -(1+((y.^2-x.^2)./((x.^2+y.^2).^2))+((sqrt(2).*x)./((x.^2+y.^2))));
fy=@(x,y) -(((-2)*(x.*y)./(x.^2+y.^2).^2)+((sqrt(2).*y)./(x.^2+y.^2)));
hold on
subplot(1,1,1)
quiver(Mx,My,fx(Mx,My),fy(Mx,My))
axis([-5,5,-5,5])
axis equal
hold offInterpretando el gráfico, se comprueba que la velocidad en los puntos correspondientes a [math]\theta=\frac{\pi}{2}[/math] y [math]\theta=\frac{3\pi}{2} [/math] es máxima, ya que el módulo del vector es considerablemente superior al resto del campo
8 Presión del Fluido
El principio de Bernoulli, en dinámica de fluidos, describe le comportamiento de una fluido moviéndose a lo largo de una línea de corriente. En la ecuación, se relacionan las siguientes variables:
[math]p :[/math]presión estática a la que está sometido el fluido debida a las moléculas que lo rodean.
[math]d :[/math]densidad del fluido.
[math]\vec {u} :[/math]velocidad de flujo del fluido.
El teorema de Bernoulli es el siguiente:
Para que esta expresión pueda aplicarse, el fluido debe ser incompresible, no viscoso y fluir en régimen estacionario (la velocidad en un punto determinado no varía con el tiempo). Se supondrá que el fluido cumple estas condiciones.
Suponiendo que el fluido efectivamente cumple la ecuación de Bernouilli, que posee una densidad constante de d=2 y tomando como cte=10, se calculará la presión del fluido.
Por lo tanto:
Calculamos el módulo al cuadrado de nuestro campo de velocidades:
Por lo tanto, la presión que define la presión del fluido es:
Para hacer una idea más calara de ellos, se procede a la representación gráfica de la presión del fluido mediante el siguiente código de Matlab:
u=linspace(1,5,50);
v=linspace(0,2*pi,50);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
f=10-((cos(th).^2).(1+(1./rho.^4)-(1./rho.^2))+(2./rho.^2)+((2*sqrt(2))./rho).(cos(th)).(1-(1./rho.^2))+((sin(th).^2).(1+(1./(rho.^4))+((2)./(rho.^2)))));
hold on
surf(Mx,My,f); colorbar
axis([-5,5,-5,5]);
view(2);
hold off
Pmax=max(max(f));
Pmin=min(min(f));Mediante el código anterior de Matlab, se obtienen los valores máximos y mínimos de la presión, siendo estos 9.7681 y 4.0031 respectivamente.
La ecuación de Navier-Stokes describe el movimiento de los fluidos a partir de su campo de velocidades y de presiones:
Los fluidos incompresibles tienen la propiedad de ocupar siempre el mismo volumen, de esta forma la viscosidad será nula: [math] \mu =0 [/math] y la densidad será nula también: [math]d = 2[/math]. Si sustituimos en la ecuación general, llegamos a la conclusión de que para un fluido incompresible:
Si consideramos los campos [math] (\vec{u},p) [/math] hallados anteriormente:
Procedemos a hallar [math]2(\vec{u}·\nabla)\vec{u}[/math]
De la misma forma:
Habiendo sustituido todos los valores en la ecuación de Navier-Stokes, coparando los resultados vemos directamente que se cumple [math] 2(\vec{u}·\nabla)\vec{u} + \nabla p = 0 [/math]
quedando así demostrado que se cumple la ecuación.
10 Trayectoria de la Línea de Corriente
Si se examina una partícula del fluido tratado siguiendo la trayectoria de una línea de corriente, se podría observar que el fluido comienza su trayectoria original y en cuanto se acerca al obstáculo, comienza a rodear su contorno. Una vez pasado el obstáculo, el fluido continuará con su trayectoria original. Si se relaciona la variación de velocidad y presión se comprueba, observando las gráficas, que cuando las presiones son máximas, las velocidades son mínimas. Se confirma que en los puntos donde la velocidad es 0 (calculado anteriormente), [math]\theta=0[/math] [math]\theta=\pi[/math] , la presión es máxima. Es decir, la presión y la velocidad de las partículas son inversamente proporcionales.
11 Paradoja D'Alembert
Para demostrar que el fluido no ejerce ningún empuje sobre el obstáculo en dirección horizontal, se resolverá la siguiente integral:Sean:
p: presión particularizada en [math]\rho=1[/math]
[math]\vec n[/math]: vector perpendicular a la curva
[math]\int_{0}^{2\pi}(8-4sen^2(\theta))(-cos(\theta))\,d\theta=0[/math]
Esto comprueba que la resultante de las fuerzas en dirección horizontal es nula, lo cual se conoce como la paradoja D'Alembert
12 Curvas de Nivel de la Presión
Si se observan las curvas de nivel de la presión se entenderán mejor las conclusiones a las que se llegan a lo largo del trabajo. En la gráfica, se pueden observar los puntos de presión máxima [math]\theta=0[/math] y [math]\theta=\pi[/math] y los puntos de presión mínima [math]\theta=\frac{\pi}{2}[/math] y [math]\theta=\frac{3\pi}{2}[/math]
Ello se representará mediante el siguiente código de Matlab:
u=linspace(1,5,50);
v=linspace(0,2*pi,50);
[rho,th]=meshgrid(u,v);
Mx=rho.*cos(th);
My=rho.*sin(th);
Mz=zeros(size(Mx));
f=10-((cos(th).^2).(1+(1./rho.^4)-(1./rho.^2))+(2./rho.^2)+((2*sqrt(2))./rho).(cos(th)).(1-(1./rho.^2))+((sin(th).^2).(1+(1./(rho.^4))+((2)./(rho.^2)))));
hold on
contour(Mx,My,f,100); colorbar
axis([-5,5,-5,5]);
view(2);
hold off