Flujo alrededor de un obstáculo circular (Grupo 26)

De MateWiki
Revisión del 12:15 3 dic 2025 de GonzaGallego (Discusión | contribuciones) (Puntos de máxima y mínima presión)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Flujo alrededor de un obstáculo circular (Grupo 26)
Asignatura Teoría de Campos
Curso 2025-26
Autores
  • Gonzalo Gallego Fulgencio
  • Andrea García Carrasco
  • Aarón García Martín
  • Miryam Sánchez-Ferragut Samalea
  • Guillermo Rodríguez Navadijos
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

Vamos a estudiar el flujo de un fluido incompresible alrededor de un obstáculo circular, trabajando en el plano y utilizando coordenadas cilíndricas (polares) para describir el campo de velocidades y las condiciones en la superficie del cilindro. Este enfoque permite formular de manera directa las ecuaciones del flujo potencial y analizar cómo la presencia del obstáculo modifica la distribución de velocidades y presiones. A partir de este planteamiento se desarrollarán las cuestiones que se piden a continuación.

1 . Representación del mallado

En este primer apartado representaremos la región ocupada por el fluido, que corresponde al exterior del círculo unidad. Para ello construiremos un mallado en coordenadas polares que cubra el anillo comprendido entre los radios 1 y 5, con centro en el origen. Este mallado permitirá visualizar los puntos interiores de la zona de estudio y establecer la geometría sobre la que se formulará posteriormente el problema del flujo. Para completar la representación, dibujaremos también los ejes cartesianos en el dominio [−4,4]×[−4,4], lo que facilitará interpretar la posición del obstáculo circular y la extensión del fluido respecto al sistema de referencia.

Con el siguiente código ejecutado en Matlab, obtenemos el mallado de trabajo:

Mallado que representa los puntos de la región ocupada por un fluido
% Trabajo P - Apartado (1)
% Mallado del anillo 1 <= r <= 5 en coordenadas polares

clear; clc; close all;

R1  = 1;      % radio interior (obstáculo)
R2  = 5;      % radio exterior del fluido
Nr  = 25;     % número de divisiones radiales
Nth = 80;     % número de divisiones angulares

rho   = linspace(R1, R2, Nr);
theta = linspace(0, 2*pi, Nth);

[RHO, TH] = meshgrid(rho, theta);

X = RHO .* cos(TH);
Y = RHO .* sin(TH);
Z = 0.*RHO;
figure; hold on;

% Líneas radiales (theta = constante)
for i = 1:Nth
    plot(X(i,:), Y(i,:), 'g');
end

% Circunferencias (r = constante)
for j = 1:Nr
    plot(X(:,j), Y(:,j), 'g');
end

% Obstáculo circular (r = 1) representado solo con contorno
th_circ = linspace(0, 2*pi, 400);
x_circ  = R1 * cos(th_circ);
y_circ  = R1 * sin(th_circ);
plot(x_circ, y_circ, 'k', 'LineWidth', 2);   % obstáculo circular

axis equal;
xlim([-4 4]);
ylim([-4 4]);
xlabel('x');
ylabel('y');
title('Mallado en el anillo 1 \leq r \leq 5 (flujo alrededor de un cilindro)');
grid off;
hold off;


Efectivamente, observamos la región ocupada por el fluido, rodeando el obstáculo.

2 . Función potencial y campo de velocidades del fluido

En este apartado analizaremos la velocidad de las partículas dada por el gradiente de la siguiente función potencial:

[math] \varphi (\rho ,\theta, z)=(\rho +\frac{1}{\rho})\cos (\theta ) [/math]

2.1 . Representación de la Función potencial

Primero representaremos la función potencial que describe el flujo asociado al movimiento de un fluido incompresible alrededor de un obstáculo circular. Representaremos gráficamente la función potencial en el dominio exterior al círculo unidad para visualizar cómo varía en el plano y cómo organiza la estructura del flujo alrededor del cilindro.

Función Potencial
% Trabajo P - Apartado (2)
% Función potencial y campo de velocidades para
% phi(rho,theta) = (rho + 1/rho) * cos(theta)

clear; clc; close all;

% Parámetros del dominio
R1  = 1;      % radio del cilindro
R2  = 5;      % radio exterior
Nr  = 40;     % puntos radiales
Nth = 120;    % puntos angulares

rho    = linspace(R1, R2, Nr);
theta = linspace(0, 2*pi, Nth);
[RHO, TH] = meshgrid(rho, theta);

% Coordenadas cartesianas
X = RHO .* cos(TH);
Y = RHO .* sin(TH);

% Función potencial phi(rho,theta) = (rho + 1/rho) cos(theta)

phi = (RHO + 1./RHO) .* cos(TH);

% Campo de velocidades u = grad(phi)
 % En polares: u_rho = dphi/drho,  u_th = (1/rho) dphi/dth

u_rho  = (1 - 1./RHO.^2) .* cos(TH);            
u_th = -(1 + 1./RHO.^2) .* sin(TH);           

% Pasamos a componentes cartesianas:
u_x = u_rho .* cos(TH) - u_th .* sin(TH);
u_y = u_rho .* sin(TH) + u_th .* cos(TH);

% Puntos del contorno del obstáculo (rho = 1)
th_circ = linspace(0, 2*pi, 400);
x_circ  = R1 * cos(th_circ);
y_circ  = R1 * sin(th_circ);

%Dibujamos las curvas de nivel del potencial
figure;
contour(X, Y, phi, 30);            % 30 niveles de phi
hold on;
plot(x_circ, y_circ, 'k', 'LineWidth', 2);    % cilindro
axis equal;
xlim([-4 4]); ylim([-4 4]);
xlabel('x'); ylabel('y');
title('Curvas de nivel de la función potencial \phi');
hold off;


La gráfica nos indica cómo se organiza y se redistribuye el flujo alrededor del obstáculo. Vemos como el fluido se bifurca al aproximarse al cilindro y vuelve a reorganizarse aguas abajo. Se produce una perturbación clara del campo de potencial en el entorno inmediato del obstáculo. Cuanto mas juntas están las lineas se tiene mas intensidad de flujo por lo que tiene mayor velocidad. También observamos que existe simetría superior-inferior lo que confirma un régimen estable, sin pérdidas ni efectos viscosos en el modelo.

2.2 . Representación del campo de velocidades

A partir de la función potencial, la velocidad del fluido se determina mediante su gradiente, [math]\vec{u}[/math] =∇φ, estando éste definido como:

[math]\vec u=\nabla\varphi=\frac{∂φ}{∂\rho}\vec{e}_\rho + \frac{1}{\rho}\frac{∂φ}{∂\theta}\vec{e}_\theta [/math]

El campo de velocidades será:

[math] \vec{u}= \left(1-\frac{1}{\rho^2}\right)\cos\theta\,\vec{e}_\rho - \left(1+\frac{1}{\rho^2}\right)\sin\theta\,\vec{e}_\theta [/math]

Aquí representaremos el campo de velocidades resultante y analizaremos la dirección y magnitud del movimiento de las partículas del fluido, donde podremos observar que la velocidad es ortogonal a las curvas de nivel de φ.

El campo [math] \vec u [/math] lo hemos pasado manualmente a coordenadas cartesianas con la matriz de cambio de base para añadirlo directamente a nuestro código de Matlab. Dándonos como resultado:

[math] \vec u (\vec i,\vec j,\vec k) =\nabla \varphi=\left( (1 - \frac{1}{{\rho^2}}) \cdot \cos^2(\theta) + (1 + \frac{1}{{\rho^2}}) \cdot \sin^2(\theta)\right) \vec i + \left( (1 - \frac{1}{{\rho^2}}) \cdot \sin(\theta) \cdot \cos(\theta) - (1 + \frac{1}{{\rho^2}}) \cdot \sin(\theta) \cdot \cos(\theta)\right) \vec j [/math]
Campo de velocidades
Campo de velocidades ampliado
clear; clc;clear all;

% Parámetros del dominio
R1  = 1;      % radio del cilindro
R2  = 5;      % radio exterior
Nr  = 10;     % puntos radiales
Nth = 70;    % puntos angulares

rho    = linspace(R1, R2, Nr);
theta = linspace(0, 2*pi, Nth);
[RHO, TH] = meshgrid(rho, theta);

% Coordenadas cartesianas
X = RHO .* cos(TH);
Y = RHO .* sin(TH);

%Definimos función potencial y la aplicamos a Z
f=@(rho,theta)(rho+(1./rho)).*cos(theta);
Z=f(RHO,TH);    

%Dibujamos las curvas de nivel
contour(X,Y,Z,15);                                           
hold on      

%Definimos las componentes X e Y del gradiente
Gx=(1-(1./RHO.^2)).*cos(TH).^2+(1+(1./RHO.^2)).*sin(TH).^2;           
Gy=(1-(1./RHO.^2)).*sin(TH).*cos(TH)-(1+(1./RHO.^2)).*sin(TH).*cos(TH);

%Dibujamos el campo de velocidades 
quiver(X,Y,Gx,Gy);   

% Representamos nuestro obstáculo
plot(1*cos(theta),1*sin(theta),'k','lineWidth',1);                   
axis([-4,4,-4,4]);
colorbar;                                                      
title ('Campo de velocidades');
xlabel ('EJE X');
ylabel ('EJE Y');
axis equal 
hold off


Y como queríamos demostrar, observamos que la velocidad es ortogonal a las curvas de nivel de φ.

3 . Comprobación rotacional y divergencia nulos

A partir del campo de velocidades calculado en el apartado anterior, calculamos su rotacional y su divergencia para conocer las características del fluido.

[math] \vec{u}= \left(1-\frac{1}{\rho^2}\right)\cos\theta\,\vec{e}_\rho - \left(1+\frac{1}{\rho^2}\right)\sin\theta\,\vec{e}_\theta [/math]

3.1 . Comprobación del rotacional nulo

Conociendo la fórmula del rotacional calculamos:

[math]\nabla\times\vec u= \frac{1}{\rho}\begin{vmatrix} \vec {e}_{\rho}&\rho\vec {e}_{\theta}&\vec {e}_{z} \\ \frac{\partial}{\partial{\rho}} & \frac{\partial}{\partial{\theta}} & \frac{\partial}{\partial{z}} \\ u_\rho & \rho u_\theta & {0} \end{vmatrix}[/math]


[math] \nabla\times\vec{u} =\frac{1}{\rho} \begin{vmatrix} \vec{e}_\rho & \rho\vec{e}_\theta & \vec{e}_z \\ \dfrac{\partial}{\partial\rho} & \dfrac{\partial}{\partial\theta} & \dfrac{\partial}{\partial z} \\ \left(1-\dfrac{1}{\rho^2}\right)\cos\theta & -\left(1+\dfrac{1}{\rho^2}\right)\sin\theta & 0 \end{vmatrix} =-(1 - 1/\rho^{2})\sin\theta\,\vec{e}_{z} \;+\; (1 - 1/\rho^{2})\sin\theta\,\vec{e}_{z} = 0 [/math]

Obtenemos un rotacional nulo, es decir, se trata de un fluido irrotacional, por lo tanto, podemos deducir que las partículas del fluido no giran.

3.2 . Comprobación de la divergencia nula

Conociendo la fórmula de la divergencia calculamos:

[math]\nabla\cdot\vec u=\frac{1}{\rho}[\frac{\partial}{\partial{\rho}}(\rho(u_\rho))+\frac{\partial}{\partial{\theta}}(u_\theta)+\frac{\partial}{\partial{z}}(\rho(u_z))][/math]


[math] \nabla\cdot\vec{u} = \frac{1}{\rho} \left[ \frac{\partial}{\partial\rho} \Bigl( \left(1-\frac{1}{\rho^{2}}\right)\cos\theta \; \rho\,\vec{e}_{\rho} \Bigr) \;-\; \frac{\partial}{\partial\theta} \Bigl( \left(1+\frac{1}{\rho^{2}}\right)\sin\theta \; \vec{e}_{\theta} \Bigr) \right]=\frac{1}{\rho} \left[ \left(1+\frac{1}{\rho^{2}}\right)\cos\theta - \left(1+\frac{1}{\rho^{2}}\right)\cos\theta \right] =0 [/math]

Obtenemos una divergencia nula, es decir, significa que el fluido mantiene su volumen constante (ni se expande ni se contrae).

4 . Líneas de corriente

Primero calcularemos el campo [math]\vec{v}[/math], que en cada punto es ortogonal a [math]\vec{u}[/math], ([math]\vec{v}[/math] = [math]\vec{k}\times\vec{u}[/math], donde [math]\vec{k}[/math]=[math]\vec {e}_{z}[/math]). Conocido nuestro campo de velocidades [math]\vec{u}[/math] previamente calculado:

[math]\vec v=\begin{vmatrix} \vec {e}_{\rho}&\vec {e}_{\theta}&\vec {e}_{z} \\ {0} & {0} & {1} \\ (1-\frac{1}{\rho^2})cos(\theta) & (1+\frac{1}{\rho^2})sin(\theta) & {0} \end{vmatrix}= -(1+\frac{1}{\rho^2})sin(\theta)\vec {e}_{\rho} + [(1-\frac{1}{\rho^2})cos(\theta)]\vec {e}_{\theta} =\vec v[/math]

Comprobamos que [math]\vec{v}[/math] es irrotacional:

[math]\nabla\times\vec v= \frac{1}{\rho}\begin{vmatrix} \vec {e}_{\rho}&\rho\vec {e}_{\theta}&\vec {e}_{z} \\ \frac{\partial}{\partial{\rho}} & \frac{\partial}{\partial{\theta}} & \frac{\partial}{\partial{z}} \\ v_\rho & \rho v_\theta & {0} \end{vmatrix}=\frac{1}{\rho}[[(1+\frac{1}{\rho^2})cos(\theta)]\vec {e}_{z}-[(1+\frac{1}{\rho^2})cos(\theta)]\vec {e}_{z}]=\vec {0}[/math]

A continuación calculamos [math]\psi[/math], para ello resolveremos el sistema de ecuaciones [math]\nabla\cdot\psi=\vec v[/math]


[math]\frac{\partial\psi}{\partial\rho}=v_\rho=\int (1+\frac{1}{\rho^2})sen(\theta)\,d\rho=sen(\theta) (\rho-\frac{1}{\rho})+f(\theta)[/math]


[math]\frac{\partial\psi}{\partial\theta}=\rho v_\theta=\int (\rho-\frac{1}{\rho})cos(\theta),d\theta=sen(\theta) (\rho-\frac{1}{\rho})[/math]


De ello se obtendrá la siguiente igualdad, que representa el potencial escalar, y se conoce como función de corriente de [math]\vec{u}[/math].


[math]\psi = \sin(\theta)\left(\rho - \frac{1}{\rho}\right)[/math]

A continuación, se representa el campo y el potencial escalar, gracias al siguiente código implementado en Matlab:

Lineas de corriente
u = linspace(1,5,250);
v = linspace(0,2*pi,250);
[rho,th] = meshgrid(u,v);
 
 
Mx = rho.*cos(th);
My = rho.*sin(th);
 
% Circulación
Gamma = 1/2;

psi = (rho - 1./rho).*sin(th) - (Gamma/(2*pi))*log(rho);
 
% Velocidades en polares
u_r  = (1 - 1./rho.^2).*cos(th);
u_th = -(1 + 1./rho.^2).*sin(th) + Gamma./(2*pi*rho);
 
% Velocidades en cartesianas
Ux = u_r.*cos(th) - u_th.*sin(th);
Uy = u_r.*sin(th) + u_th.*cos(th);
 
% quitar flechas 
step = 12;    
 
Mx_q = Mx(1:step:end, 1:step:end);
My_q = My(1:step:end, 1:step:end);
Ux_q = Ux(1:step:end, 1:step:end);
Uy_q = Uy(1:step:end, 1:step:end);
 
figure;
hold on;
 
contour(Mx, My, psi, 80);     
quiver(Mx_q, My_q, Ux_q, Uy_q, 'k');   
axis equal;
xlabel


Gracias a esta representación observamos que el potencial escalar y campo de velocidades son paralelos y tangentes en cada punto, concluyendo que son efectivamente líneas de corriente de [math]\vec{u}[/math].

5 . Puntos de la frontera S

Los puntos de la frontera S son aquellos donde la velocidad es mayor y menor.

Nuestras componentes del campo de velocidades son:

[math] u_\rho = \left(1 - \frac{1}{\rho^2}\right)\cos\theta, \qquad u_\theta = -\left(1 + \frac{1}{\rho^2}\right)\sin\theta. [/math]

En la frontera del cilindro se tiene [math]\rho = 1[/math], así que particularizamos en [math]\rho = 1[/math]:

[math] u_\rho(1,\theta) = 0, \qquad u_\theta(1,\theta) = -2\sin\theta. [/math]

El módulo de la velocidad en la frontera es:

[math] \left\lvert \vec u(1,\theta)\right\rvert = \sqrt{u_\rho^2 + u_\theta^2} = 2\lvert \sin\theta\rvert. [/math]


La velocidad es máxima cuando: [math] \lvert \sin\theta\rvert = 1[/math], es decir, cuando [math]\theta = \frac{\pi}{2},\ \frac{3\pi}{2}. [/math]

Coordenadas sobre el cilindro:[math] (0,1), \qquad (0,-1). [/math]


La velocidad es mínima cuando:[math] \lvert \sin\theta\rvert = 0[/math], es decir, cuando [math]\theta = 0,\ \pi. [/math]

Coordenadas:[math] (1,0) \quad\text{y}\quad (-1,0). [/math]

5.1 . Puntos de remanso

Los puntos de remanso son aquellos donde la velocidad del fluido se reduce a cero. Procederemos a hallar estos puntos con la siguiente igualdad: [math]|\vec u|=0[/math]

[math] u_\rho = 0, \qquad u_\theta = 0. [/math]

Obtenemos que

[math] \sin\theta = 0[/math], que ocurre cuando [math]\theta = 0,\ \pi. [/math]

Por tanto, los puntos de remanso son:[math] (1,0) \quad\text{y}\quad (-1,0). [/math]

6 Presión del fluido

Partimos de la ecuación de Bernoulli dada en el enunciado la cual es:

[math]\frac { 1 }{ 2 } d { \left| \vec { u } \right| }^{ 2 }+ { p } =cte[/math]

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=15, se calculará la presión del fluido.

Por lo tanto:

[math]p=15-{ \left| \vec { u } \right| }^{ 2 }[/math]

Calculamos el módulo de nuestro campo de velocidades:

[math]{ \left| \vec { u } \right| }=\sqrt{cos^2(\theta)(1+\frac{1}{\rho^4}-\frac{2}{\rho^2})+\frac{2}{\rho^2}+\frac{2\sqrt2}{\rho}cos(\theta)(1+\frac{1}{\rho^2})+sen^2(\theta)(1+\frac{1}{\rho^4}+\frac{2}{\rho^2})}[/math]

Por lo tanto, la presión que define la presión del fluido es:

[math]p=15-[cos^2(\theta)(1+\frac{1}{\rho^4}-\frac{2}{\rho^2})+\frac{2}{\rho^2}+\frac{2\sqrt2}{\rho}cos(\theta)(1+\frac{1}{\rho^2})+sen^2(\theta)(1+\frac{1}{\rho^4}+\frac{2}{\rho^2})][/math]


6.1 Código de la presión de fluido

Presión de fluido
clear; clc;clear all;

p_inf = 0;         
    rho_f = 1;         
    
    R1  = 1;
    R2  = 5;
    Nr  = 180;
    Nth = 360;

    rho  = linspace(R1, R2, Nr);
    theta = linspace(0, 2*pi, Nth);
    [RHO, TH] = meshgrid(rho, theta);

    P = p_inf + rho_f*( cos(2*TH)./RHO.^2 - 1./(2*RHO.^4) );

    % Pasar a coordenadas cartesianas para dibujar
    X = RHO .* cos(TH);
    Y = RHO .* sin(TH);

    th = linspace(0, 2*pi, 400);
    xc = cos(th);
    yc = sin(th);

    figure;
    contourf(X, Y, P, 40, "LineColor", "none");
    hold on;
    plot(xc, yc, 'k', 'LineWidth', 2);   
    colorbar;
    axis equal;
    xlim([-4 4]); ylim([-4 4]);
    xlabel('x'); ylabel('y');
    title('Campo de presiones p(r,\theta) del Apartado 6');
    hold off;


En la imagen vemos el campo de presiones alrededor del cilindro de radio 1 cuando el flujo pasa a velocidad uniforme u=1 Las zonas amarillas representan las presiones mas altas que se consideran los puntos theta=0 y theta=pi. Los consideramos puntos de remanso, lugar donde la velocidad cae a cero y la presión sube al máximo . Las zonas azul y verde representan la zona de menor presión que son theta=pi/2 y theta=3pi/2 .El fluido en este caso acelera para bordear el cilindro luego llega a velocidad máxima y presión mínima.

7 Partícula del fluido

En este apartado analizamos la trayectoria que seguiría una partícula del fluido y cómo cambian la velocidad y la presión al rodear el obstáculo.

7.1 Trayectorias y líneas de corriente

En un flujo estacionario e incompresible, las trayectorias de las partículas coinciden con las líneas de corriente. Por tanto, una partícula del fluido seguirá exactamente las curvas que verifican:

[math] \psi(\rho,\theta) = \text{cte}, [/math]

donde la función corriente es

[math] \psi(\rho,\theta) = \left(\rho - \frac{1}{\rho}\right)\sin\theta. [/math]

Estas líneas describen las trayectorias del fluido alrededor del cilindro y muestran cómo la partícula se desvía en torno al obstáculo siguiendo la geometría del flujo potencial.

7.2 Variación de la velocidad al rodear el cilindro

La rapidez del fluido viene dada por

[math] \lvert\vec u\rvert = \sqrt{ \left(1 - \frac{1}{\rho^2}\right)^2 \cos^2\theta + \left(1 + \frac{1}{\rho^2}\right)^2 \sin^2\theta }. [/math]

En la superficie del cilindro ([math]\rho = 1[/math]) se simplifica a

[math] \lvert\vec u(1,\theta)\rvert = 2\lvert\sin\theta\rvert. [/math]

Por tanto:

  • La velocidad es máxima en [math]\theta = \frac{\pi}{2}, \frac{3\pi}{2}[/math].
  • La velocidad se anula en los puntos de remanso: [math]\theta = 0, \pi[/math].

La partícula acelera al desplazarse hacia la parte superior e inferior del cilindro y se frena al pasar por los puntos frontales y traseros del obstáculo.

7.3 Variación de la presión

Según Bernoulli,

[math] p + \frac{1}{2}\rho_f\lvert\vec u\rvert^2 = p_\infty + \frac{1}{2}\rho_f. [/math]

La presión disminuye cuando la velocidad aumenta. Aplicando esto sobre la superficie del cilindro:

  • En los puntos de remanso ([math]\theta = 0, \pi[/math]) la presión es máxima.
  • En los puntos de mayor velocidad ([math]\theta = \frac{\pi}{2}, \frac{3\pi}{2}[/math]) la presión es mínima.

8 Circulación del campo

En este apartado comprobamos que la circulación del campo de velocidades alrededor de una circunferencia de radio 1 es nula en el caso sin circulación añadida. Asimismo, se explica la relación entre este hecho, la fuerza ejercida por el fluido y la paradoja de D’Alembert.

8.1 Circulación del campo de velocidades

La circulación alrededor de una curva cerrada [math]C[/math] se define como:

[math] \Gamma = \oint_C \vec u \cdot d\vec s. [/math]

Tomamos como curva de referencia la circunferencia de radio 1: [math]\rho = 1[/math]. El campo de velocidades sobre el cilindro es:

[math] u_\rho(1,\theta) = 0, \qquad u_\theta(1,\theta) = -2\sin\theta. [/math]

Sobre la circunferencia, el elemento de arco es

[math] d\vec s = \hat{e}\theta \, \rho \, d\theta = \hat{e}\theta \, d\theta. [/math]

Por tanto, la circulación es:

[math] \Gamma = \int_0^{2\pi} u_\theta(1,\theta)\, d\theta = \int_0^{2\pi} -2\sin\theta \, d\theta. [/math]

Como la integral de [math]\sin\theta[/math] en un período completo es cero, obtenemos:

[math] \Gamma = 0. [/math]

8.2 Relación con la fuerza sobre el cilindro

Lo relacionamos directamente con la circulación mediante el teorema de Kutta–Joukowski:

[math] F = -\rho_f U_\infty \Gamma. [/math]

Como en este caso [math]\Gamma = 0[/math], la fuerza resultante es:

[math] F = 0. [/math]

Es decir, a pesar de que el fluido se desvía alrededor del cilindro no aparece fuerza neta sobre él.

Este resultado es una manifestación de la paradoja de D’Alembert en un flujo potencial ideal y sin viscosidad la fuerza sobre un obstáculo fijo es exactamente cero, lo cual contradice la experiencia real.

9 . Nueva función potencial

9.1 . Nueva representación del Potencial y del campo de velocidades

Ahora supondremos que la velocidad de las partículas del fluido viene dada por el gradiente de la siguiente función potencial:

[math] \varphi (\rho ,\theta, z)=(\rho +\frac{1}{\rho})\cos (\theta )+\frac{\theta}{4\pi} [/math]

A continuación repetiremos el mismo proceso anterior. Primero representaremos la función potencial.

Función Potencial 2
% Función potencial y campo de velocidades para
% phi(rho,theta) = (rho + 1/rho) * cos(theta) + theta/4*pi

clear; clc; close all;

% Parámetros del dominio
R1  = 1;      % radio del cilindro
R2  = 5;      % radio exterior
Nr  = 40;     % puntos radiales
Nth = 120;    % puntos angulares

rho    = linspace(R1, R2, Nr);
theta = linspace(0, 2*pi, Nth);
[RHO, TH] = meshgrid(rho, theta);

% Coordenadas cartesianas
X = RHO .* cos(TH);
Y = RHO .* sin(TH);

% Función potencial phi(r,theta) = (r + 1/r) cos(theta)+ theta/4*pi

phi = (RHO + 1./RHO) .* cos(TH) + TH./(4*pi);

% Campo de velocidades u = grad(phi)
 % En polares: u_rho = dphi/drho,  u_th = (1/rho) dphi/dth

u_rho  = (1 - 1./RHO.^2) .* cos(TH);            
% dphi/dtheta
dphi_dtheta = -(RHO + 1./RHO) .* sin(TH) + 1/(4*pi);

% u_theta = (1/r)*dphi/dtheta
u_th = (1./RHO) .* dphi_dtheta;         

% Pasamos a componentes cartesianas:
u_x = u_rho .* cos(TH) - u_th .* sin(TH);
u_y = u_rho .* sin(TH) + u_th .* cos(TH);

% Puntos del contorno del obstáculo (r = 1)
th_circ = linspace(0, 2*pi, 400);
x_circ  = R1 * cos(th_circ);
y_circ  = R1 * sin(th_circ);

%Dibujamos las curvas de nivel del potencial
figure;
contour(X, Y, phi, 30);            % 30 niveles de phi
hold on;
plot(x_circ, y_circ, 'k', 'LineWidth', 2);    % cilindro
axis equal;
xlim([-4 4]); ylim([-4 4]);
xlabel('x'); ylabel('y');
title('Curvas de nivel de la función potencial \phi');
hold off;


A partir de la función potencial, la velocidad del fluido se determina mediante su gradiente, [math]\vec{u}[/math] =∇φ.

[math] \vec{u}(\rho,\theta,z)=\left(1-\frac{1}{\rho^{2}}\right)\cos\theta\,\mathbf e_{\rho}+\frac{1}{\rho}\left[-\left(\rho+\frac{1}{\rho}\right)\sin\theta+\frac{1}{4\pi}\right]\mathbf e_{\theta} [/math]

Aquí representaremos el campo de velocidades resultante y analizaremos la dirección y magnitud del movimiento de las partículas del fluido.


Campo de Velocidades resultante
Campo de Velocidades resultante
clear; clc; close all;

% Parámetros del dominio
R1 = 1;    % radio del cilindro (zona excluida)
R2 = 5;    % radio exterior
Nr = 150;  % puntos radiales
Nth = 300; % puntos angulares

rho   = linspace(R1, R2, Nr);
theta = linspace(0, 2*pi, Nth);
[TH, RHO] = meshgrid(theta, rho);   % ojo: orden (theta, rho) para facilidad

% Recalcula X,Y (mismo tamaño que RHO,TH)
X = RHO.*cos(TH);
Y = RHO.*sin(TH);

% Potencial
phi = (RHO + 1./RHO).*cos(TH) + TH./(4*pi);

% Gradiente en polares
ur = (1 - 1./RHO.^2).*cos(TH);                          % dphi/dr
dphi_dtheta = - (RHO + 1./RHO).*sin(TH) + 1./(4*pi);   % dphi/dtheta
ut = dphi_dtheta ./ RHO;                               % (1/r)*dphi/dtheta

% Transformación a componentes cartesianas
Ux = ur.*cos(TH) - ut.*sin(TH);
Uy = ur.*sin(TH) + ut.*cos(TH);


step = 7; % menor step → más flechas

Xq  = X(1:step:end, 1:step:end);
Yq  = Y(1:step:end, 1:step:end);
Uxq = Ux(1:step:end, 1:step:end);
Uyq = Uy(1:step:end, 1:step:end);

% Graficar
figure('Position',[100 100 800 700]);
contour(X, Y, phi, 30, 'LineWidth', 1); hold on;
axis equal; xlim([-R2 R2]); ylim([-R2 R2]);
quiver(Xq, Yq, Uxq, Uyq, 2, 'AutoScale','on'); 
plot(1*cos(theta),1*sin(theta),'k','lineWidth',1);  % borde del cilindro
title('Curvas de nivel y campo','Interpreter','latex');
xlabel('x'); ylabel('y');


Observamos como nuestro campo es ortogonal a las curvas de nivel.

9.2 . Comprobación rotacional y divergencia nulos

A continuación, comprobaremos que el rotacional y la divergencia sean nulos:

[math] \varphi(\rho,\theta) =\left(\rho+\frac{1}{\rho}\right)\cos\theta+\frac{\theta}{4\pi}. [/math]

Conociendo el campo de velocidades calculado anteriormente:

[math] \vec{u} = u_{\rho}\,\vec{e}_{\rho}+u_{\theta}\,\vec{e}_{\theta} =\left(1-\frac{1}{\rho^{2}}\right)\cos\theta\,\vec{e}_{\rho} -\left(1+\frac{1}{\rho^{2}}\right)\sin\theta\,\vec{e}_{\theta} +\frac{1}{4\pi\rho}\,\vec{e}_{\theta}. [/math]


Comprobamos el rotacional nulo:

[math] \nabla\times\vec{u} =\frac{1}{\rho} \begin{vmatrix} \vec{e}_{\rho} & \rho\vec{e}_{\theta} & \vec{e}_{z} \\ \dfrac{\partial}{\partial\rho} & \dfrac{\partial}{\partial\theta} & \dfrac{\partial}{\partial z} \\ u_{\rho} & \rho u_{\theta} & 0 \end{vmatrix}, [/math]


[math] \nabla\times\vec{u} =\frac{1}{\rho} \begin{vmatrix} \vec{e}_{\rho} & \rho\vec{e}_{\theta} & \vec{e}_{z} \\ \dfrac{\partial}{\partial\rho} & \dfrac{\partial}{\partial\theta} & \dfrac{\partial}{\partial z} \\ \left(1-\dfrac{1}{\rho^{2}}\right)\cos\theta & -\left(\rho+\dfrac{1}{\rho}\right)\sin\theta+\dfrac{1}{4\pi} & 0 \end{vmatrix} = -\left(1-\dfrac{1}{\rho^{2}}\right)\sin\theta\,\vec{e}_{z} + \left(\dfrac{1}{\rho^{2}}\right)\sin\theta\,\vec{e}_{\theta} [/math]


Obtenemos un rotacional nulo, por lo que el flujo sigue siendo irrotacional y las partículas de fluido no giran localmente.


Comprobamos la divergencia nula:


[math] \nabla\cdot\vec{u} =\frac{1}{\rho}\frac{\partial}{\partial\rho}\bigl(\rho u_{\rho}\bigr) +\frac{1}{\rho}\frac{\partial u_{\theta}}{\partial\theta} +\frac{\partial u_{z}}{\partial z}, \qquad u_{z}=0. [/math]


[math] \nabla\cdot\vec{u} =\frac{1}{\rho}\left[ \frac{\partial}{\partial\rho}\left(\left(1-\frac{1}{\rho^{2}}\right)\cos\theta\,\rho\right) +\frac{\partial}{\partial\theta}\left(-\left(1+\frac{1}{\rho^{2}}\right)\sin\theta+\frac{1}{4\pi\rho}\right) +\frac{\partial}{\partial z}(0) \right] =\frac{1}{\rho}\left[ \left(1+\frac{1}{\rho^{2}}\right)\cos\theta -\left(1+\frac{1}{\rho^{2}}\right)\cos\theta \right] =0 [/math]


Obtenemos una divergencia nula, es decir, significa que el fluido mantiene su volumen constante (ni se expande ni se contrae), de modo que se trata de un flujo incompresible.

9.3 . Nuevas líneas de corriente

Primero calcularemos el nuevo campo [math]\vec{v}[/math], que en cada punto es ortogonal a nuestro nuevo [math]\vec{u}[/math], ([math]\vec{v}[/math] = [math]\vec{k}\times\vec{u}[/math], donde [math]\vec{k}[/math]=[math]\vec {e}_{z}[/math]).


[math]\vec v= \begin{vmatrix} \vec e_\rho & \vec e_\theta & \vec e_z \\ 0 & 0 & 1 \\ \left(1-\frac{1}{\rho^{2}}\right)\cos\theta & -\left(1+\frac{1}{\rho^{2}}\right)\sin\theta+\frac{1}{4\pi\rho} & 0 \end{vmatrix} = -\left[-\left(1+\frac{1}{\rho^{2}}\right)\sin\theta+\frac{1}{4\pi\rho}\right]\vec e_\rho + \left(1-\frac{1}{\rho^{2}}\right)\cos\theta\,\vec e_\theta. [/math]

Comprobamos que [math]\vec v[/math] es irrotacional:

[math] \nabla\times \vec v= \frac{1}{\rho} \begin{vmatrix} \vec e_\rho & \rho \vec e_\theta & \vec e_z \\ \frac{\partial}{\partial \rho} & \frac{\partial}{\partial \theta} & \frac{\partial}{\partial z} \\ v_\rho & \rho v_\theta & 0 \end{vmatrix}= \frac{1}{\rho}\left[ \frac{\partial}{\partial \theta}\left((1-\tfrac{1}{\rho^{2}})\cos\theta\right)\vec e_z - \frac{\partial}{\partial \rho} \left( -\left(1+\tfrac{1}{\rho^2}\right)\sin\theta+\tfrac{1}{4\pi\rho} \right)\vec e_z \right] =0\vec e_z = \vec 0. [/math]

A continuación calculamos [math]\psi[/math], para ello resolveremos el sistema de ecuaciones: [math] \nabla \psi = \vec v. [/math]

Primera ecuación

[math] \frac{\partial\psi}{\partial \rho} = v_\rho = \int \left[ \left(1+\frac{1}{\rho^2}\right)\sin\theta - \frac{1}{4\pi\rho} \right]\, d\rho = \sin\theta\left(\rho-\frac{1}{\rho}\right) -\frac{1}{4\pi}\ln\rho + f(\theta). [/math]


[math] \frac{\partial\psi}{\partial\theta} = \rho v_\theta = \int (\rho - \tfrac{1}{\rho})\cos\theta\, d\theta = (\rho - \tfrac{1}{\rho})\sin\theta + g(\rho). [/math]

Igualando expresiones:

[math] \psi(\rho,\theta) = \left(\rho-\frac{1}{\rho}\right)\sin\theta - \frac{1}{4\pi}\ln\rho. [/math]


Lineas de corriente
u = linspace(1,5,250);
v = linspace(0,2*pi,250);
[rho,th] = meshgrid(u,v);
 
Mx = rho.*cos(th);
My = rho.*sin(th);
 
 
Gamma = 1/2;   % porque theta/(4*pi) = (Gamma/(2*pi))*theta
 
 
psi = (rho - 1./rho).*sin(th) - (Gamma/(2*pi))*log(rho);
 
 
u_r  = (1 - 1./rho.^2).*cos(th);
u_th = -(1 + 1./rho.^2).*sin(th) + Gamma./(2*pi*rho);
 
 
v_r  = -u_th;
v_th =  u_r;
 
% === Transformación a cartesianas ===
v_x = v_r.*cos(th) - v_th.*sin(th);
v_y = v_r.*sin(th) + v_th.*cos(th);
 
 
figure;
hold on;
 
contour(Mx, My, psi, 80);    
 
step = 12;
Mx_q = Mx(1:step:end,1:step:end);
My_q = My(1:step:end,1:step:end);
vx_q = v_x(1:step:end,1:step:end);
vy_q = v_y(1:step:end,1:step:end);
 
quiver(Mx_q, My_q, vx_q, vy_q, 'k');   
 
axis equal;
xlabel('x');
ylabel('y');
title('Líneas de corriente con circulación');
 
hold off;


10 . Póster

A continuación, insertamos acceso al póster resumen del trabajo: