El Vortice de Rankine (Grupo 11)

De MateWiki
Revisión del 18:10 30 nov 2025 de Alvaro.calvente (Discusión | contribuciones) (Gradiente de presión y dirección de las fuerzas impulsoras del flujo)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título El Vortice de Rankine. Grupo 11
Asignatura Teoría de Campos
Curso 2025-26
Autores
  • Pelayo Rodriguez Maestre
  • Álvaro Calvente Soler
  • David Pérez Romero
  • François Botet de Lacaze
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 Introducción

El vórtice de Rankine es un modelo bastante utilizado en mecánica de fluidos para entender cómo se comporta un fluido cuando gira alrededor de un eje. Lo interesante de este modelo es que evita el problema del vórtice ideal, donde la velocidad se hace infinita en el centro, algo que obviamente no pasa en la realidad. Para solucionarlo, Rankine divide el vórtice en dos zonas: en el núcleo el fluido gira como si fuera un cuerpo sólido, mientras que en la parte exterior el movimiento es irrotacional y la velocidad va disminuyendo a medida que aumenta la distancia al centro.

Aunque es un modelo sencillo, describe bastante bien el comportamiento de muchos vórtices reales, como tornados, ciclones o remolinos. Por eso suele usarse como referencia básica en teoría de campos y en el estudio de flujos rotacionales, ya que permite trabajar con expresiones matemáticas claras sin dejar de tener cierta aproximación física.

2 Formulación matemática del vórtice de Rankine

explicar formula matematica de rankine

3 Determinación de la circulación y visualizacion del flujo

Código MATLAB Gráfica obtenida
%% Pregunta 1 - Vórtice de Rankine (versión simplificada)
clear; clc; close all;

% Parámetros EF4
R = 250; vR = 90;
Gamma = 2*pi*R*vR;
fprintf('Circulacion Gamma = %.3e m^2/s\n', Gamma);

% ===== FUNCIÓN VELOCIDAD TANGENCIAL =====
vtheta_fun = @(rho) (rho<=R).* (Gamma/(2*pi*R^2).*rho) + ...
                    (rho> R).* (Gamma./(2*pi*rho));

%% FIGURA 1: Perfil v_theta(rho)
rho = linspace(0,1000,1000);
vtheta = vtheta_fun(rho);

figure; hold on; grid on;
plot(rho(rho<=R), vtheta(rho<=R), 'r', 'LineWidth',2);
plot(rho(rho> R), vtheta(rho> R), 'b', 'LineWidth',2);
yl = ylim; plot([R R],[yl(1) yl(2)],'k--','LineWidth',1.3);

xlabel('\rho (m)'); ylabel('v_\theta(m/s)');
title('Perfil de velocidad tangencial del Tornado categoria EF4');
leg1 = legend('Núcleo EF4','Exterior EF4','Radio del ojo R','Location','northeast');
set(leg1,'FontSize',7);

%% FIGURA 2: Campo vectorial (vista superior) en x,y ∈ [-800,800]
L = 800; N = 25;
[x,y] = meshgrid(linspace(-L,L,N));
rho_xy = sqrt(x.^2+y.^2);  rho_safe = max(rho_xy,1e-6);

v_xy = vtheta_fun(rho_xy);
Ux = -v_xy .* (y ./ rho_safe);
Uy =  v_xy .* (x ./ rho_safe);

mask     = rho_xy <= L;      % dominio circular dentro del cuadrado [-L,L]^2
mask_in  = mask & (rho_xy <= R);
mask_out = mask & (rho_xy >  R);

figure; hold on; grid on; axis equal;
axis([-L L -L L]);   % <- aquí fuerzas el dominio x,y ∈ [-800,800]

quiver(x(mask_in),  y(mask_in),  Ux(mask_in),  Uy(mask_in), 0.7, 'r');
quiver(x(mask_out), y(mask_out), Ux(mask_out), Uy(mask_out), 0.7, 'b');

theta = linspace(0,2*pi,200);
plot(R*cos(theta), R*sin(theta),'k--','LineWidth',1.3);

xlabel('x (m)'); ylabel('y (m)');
title('Campo de velocidad tangencial del Tornado categoria EF4 (plano horizontal)');
leg2 = legend('Núcleo EF4','Exterior EF4','Radio del ojo R','Location','northeast');
set(leg2,'FontSize',7);
Perfil1 EF4.png

Horizontal1.png

4 Comparación entre vórtices reales y modelos matemáticos

5 Análisis local del flujo: divergencia, rotacional y vorticidad

Código MATLAB Gráfica obtenida
%% Rotacional y magnitud de la vorticidad del vórtice de Rankine
% Parámetros del tornado EF4
R    = 250;        % radio del núcleo (m)
vR   = 90;         % velocidad tangencial en rho = R (m/s)
Gamma = 2*pi*R*vR; % circulación (m^2/s)

% Dominio horizontal
L = 800;           % extensión máxima (m)
N = 200;           % puntos por dirección
[x,y] = meshgrid(linspace(-L, L, N));
rho   = sqrt(x.^2 + y.^2);

% Rotacional analítico (solo componente vertical):
%   (nabla x v)_z = Gamma/(pi*R^2) si rho <= R, y 0 si rho > R
wz = (rho <= R) .* (Gamma/(pi*R^2));   % campo escalar del rotacional

%% FIGURA Rotacional 

figure;
imagesc(linspace(-L,L,N), linspace(-L,L,N), wz);
set(gca,'YDir','normal');
axis equal tight;
colorbar;
xlabel('x (m)');
ylabel('y (m)');
title('Rotacional del campo de velocidad');

hold on;
theta = linspace(0,2*pi,300);
plot(R*cos(theta), R*sin(theta), 'k--', 'LineWidth', 1.5);
RotacionalEF4.png

6 Efecto de la vorticidad sobre el movimiento de un objeto flotante

7 Distribución vertical de la presión en el vórtice

Código MATLAB Gráfica obtenida
%% Campo de presión del vórtice (versión mínima con unidad en colorbar)
clear; clc; close all;

% Parámetros
R=250; vR=90; z0=2800;
P0=920e2; Pinf=1013e2;
rho=1.225; g=9.81;

Gamma=2*pi*R*vR;
v=@(r) (r<=R).*(Gamma/(2*pi*R^2).*r)+(r>R).*(Gamma./(2*pi*r));

% Mallado y presión
[x,z]=meshgrid(linspace(0,1000,200), linspace(0,z0,200));
p = (x<=R).*(P0+0.5*rho*v(x).^2 - rho*g.*z) + ...
    (x> R).*(Pinf-0.5*rho*v(x).^2 - rho*g.*z);

% Gráfica
figure;
[~,h]=contourf(x(1,:), z(:,1), p/100, 20);
set(h,'LineColor','k'); set(gca,'YDir','normal');

xlabel('\rho (m)');
ylabel('z (m)');
title('Campo de presión sobre el sección vertical');

c = colorbar;
c.Label.String = 'Presión (mbar)';   % ← UNIDAD AÑADIDA AQUÍ

axis tight;
CampoPresion.png

7.1 7. Distribución vertical de la presión en el vórtice: estructura interna y representación

7.2 Datos y constantes empleadas

Se emplean los parámetros del vórtice proporcionados en el enunciado:

  • Radio del núcleo: [math]R = 250\ \mathrm{m}[/math]
  • Velocidad tangencial en [math]r = R[/math]: [math]v_\theta(R) = 90\ \mathrm{m/s}[/math]
  • Presión mínima central: [math]P_0 = 920\ \mathrm{mbar}[/math]
  • Altura del vórtice: [math]z_0 = 2800\ \mathrm{m}[/math]
  • Densidad del aire: [math]\rho = 1.225\ \mathrm{kg/m^3}[/math]
  • Gravedad: [math]g = 9.81\ \mathrm{m/s^2}[/math]

Circulación: [math]\Gamma = 2\pi R v_\theta(R) = 1.4137\times10^5\ \mathrm{m^2/s}[/math]

Rotación sólida interior: [math]\Omega = v_\theta(R)/R = 0.36\ \mathrm{s^{-1}}[/math]


7.3 (8) Cálculo del campo de presión p(\rho,z) en todo el dominio

La velocidad tangencial del vórtice de Rankine es:

[math] v_\theta(r)= \begin{cases} \Omega r, & r\le R,\\ \dfrac{\Gamma}{2\pi r}, & r\gtR. \end{cases} [/math]

La presión, obtenida a partir de las ecuaciones de Euler para flujo estacionario, es:

[math] p(\rho,z)= \begin{cases} P_0 + \tfrac12 \rho\, v_\theta^2(\rho)\; -\; \rho g z, & \rho \le R,\\[6pt] P_\infty - \tfrac12 \rho\, v_\theta^2(\rho)\; -\; \rho g z, & \rho \gt R. \end{cases} [/math]

Exigiendo continuidad en la frontera del núcleo:

[math] P_\infty = P_0 + \rho\, v_\theta^2(R) [/math]

Cálculo numérico: [math]\rho\, v_\theta^2(R) = 99.225\ \mathrm{mbar}[/math]

Por tanto: [math]P_\infty = 1019.225\ \mathrm{mbar}[/math]

El término hidrostático hasta [math]z_0[/math] vale: [math]\rho g z_0 = 336.48\ \mathrm{mbar}[/math]

Interpretación de la figura: El mapa de presión presenta una depresión central profunda que aumenta radialmente hasta [math]P_\infty[/math]. Con la altura, la presión disminuye casi linealmente debido al término hidrostático. Esto coincide con la gráfica mostrada en el código MATLAB del enunciado.

7.3.1 Referencias del apartado (8)

  • Expresiones de velocidad y presión tomadas del modelo clásico de vórtice de Rankine del enunciado proporcionado.
  • Los valores numéricos ([math]R[/math], [math]v_\theta(R)[/math], [math]P_0[/math], [math]z_0[/math]) proceden de la tabla de parámetros incluida en la imagen del PDF.
  • La expresión hidrostática [math]\rho g z[/math] aparece explícitamente en el código MATLAB mostrado en la figura adjunta en el enunciado.
  • El cálculo de [math]P_\infty[/math] se obtiene de la condición de continuidad indicada en el texto del enunciado.

7.4 (9) Caída de presión entre el exterior y el centro del ojo

La caída pedida es:

[math] \Delta p = p(R^+,0) - p(0,0) [/math]

Dado que: [math] p(R^+,0)=P_\infty - \tfrac12 \rho v_\theta^2(R) [/math]

y [math] P_\infty = P_0 + \rho v_\theta^2(R) [/math]

Sustituyendo:

[math] p(R^+,0)=P_0 + \tfrac12 \rho v_\theta^2(R) [/math]

Entonces:

[math] \Delta p = \tfrac12 \rho v_\theta^2(R) = 49.6125\ \mathrm{mbar} [/math]

Comparación con: [math]P_\infty - P_0 = 99.225\ \mathrm{mbar}[/math]

Conclusión: Los valores no coinciden. El modelo de Rankine reparte el incremento total de presión entre dos regiones: la transición entre el centro y [math]R[/math], y entre [math]R[/math] y el exterior lejano. Esto introduce un factor 2 entre ambas magnitudes. Es una consecuencia directa de la idealización del vórtice (flujo inviscido, eje perfectamente recto, simetría cilíndrica exacta).

7.4.1 Referencias del apartado (9)

  • La expresión de continuidad para obtener [math]P_\infty[/math] está en el desarrollo matemático del enunciado.
  • La fórmula para [math]p(R^+)[/math] procede directamente del código MATLAB proporcionado y de la pieza exterior del vórtice de Rankine.
  • Las operaciones numéricas usan los valores del propio PDF.
  • La interpretación del factor 2 está documentada en la teoría del vórtice de Rankine (distribución distinta de energía entre interior y exterior).

7.5 (10) Diferencia de presión estándar [math]\Delta P = P_\infty - P_0[/math]

Modelo teórico:

[math]\Delta P_{\text{teórico}} = P_\infty - P_0 = 99.225\ \mathrm{mbar}[/math]

Datos atmosféricos estándar:

[math]\Delta P_{\text{datos}} = 1013.25 - 920 = 93.25\ \mathrm{mbar}[/math]

La diferencia entre ambos valores es de unos 6 mbar (~6.7%).

7.5.1 ¿Es aceptable la discrepancia?

Sí, teniendo en cuenta que el modelo:

  • no considera variación de densidad con la altura,
  • no incluye fricción ni capa límite,
  • no incorpora termodinámica (humedad, condensación),
  • supone simetría perfecta y flujo inviscido.

Por tanto, un error del orden del 5–10% es completamente razonable para un modelo idealizado como el de Rankine.

7.5.2 Referencias del apartado (10)

  • Los valores de [math]P_0[/math] y [math]P_\infty[/math] provienen del cálculo realizado con los parámetros asignados en el enunciado.
  • La presión atmosférica estándar ([math]1013.25\ \mathrm{mbar}[/math]) es la que aparece indicada en el texto del problema.
  • La discusión de limitaciones procede de la formulación teórica del vórtice de Rankine mostrada en la captura aportada.

8 Gradiente de presión y dirección de las fuerzas impulsoras del flujo

Código MATLAB Gráfica obtenida
%% Gradiente de presión en una sección vertical del vórtice de Rankine
clear; clc; close all;

% Parámetros del vórtice
R       = 250;        % m
vR      = 90;         % m/s
z0      = 2800;       % m
P0      = 920e2;      % Pa
Pinf    = 1013e2;     % Pa
rho_air = 1.225;      % kg/m^3
g       = 9.81;       % m/s^2

Gamma  = 2*pi*R*vR;
vtheta = @(r) (r<=R).*(Gamma/(2*pi*R^2).*r) + (r>R).*(Gamma./(2*pi*r));

% Mallado en (rho,z)
Nr = 200; Nz = 120;
rho_vec = linspace(0,1000,Nr);
z_vec   = linspace(0,z0,  Nz);
[RH,Z]  = meshgrid(rho_vec,z_vec);
V       = vtheta(RH);

% Campo de presión p(rho,z)
p = (RH<=R).*( P0   + 0.5*rho_air*V.^2 - rho_air*g.*Z ) + ...
    (RH> R).*( Pinf - 0.5*rho_air*V.^2 - rho_air*g.*Z );
p_mbar = p/100;

% Paso en cada dirección
dr = rho_vec(2) - rho_vec(1);
dz = z_vec(2)   - z_vec(1);

% Gradiente de presión con diferencias finitas
dp_drho = zeros(size(p));
dp_dz   = zeros(size(p));

% derivada radial ∂p/∂rho (columnas)
dp_drho(:,2:end-1) = (p(:,3:end) - p(:,1:end-2)) / (2*dr);
dp_drho(:,1)       = (p(:,2)     - p(:,1))       / dr;
dp_drho(:,end)     = (p(:,end)   - p(:,end-1))   / dr;

% derivada vertical ∂p/∂z (filas)
dp_dz(2:end-1,:) = (p(3:end,:) - p(1:end-2,:)) / (2*dz);
dp_dz(1,:)       = (p(2,:)     - p(1,:))       / dz;
dp_dz(end,:)     = (p(end,:)   - p(end-1,:))   / dz;

% Fuerza ~ -∇p  → flechas deben ir hacia el núcleo
U = -dp_drho;    % componente radial
W = -dp_dz;      % componente vertical

% Muestreo del campo vectorial
step_r = 10;
step_z = 6;
RH_q = RH(1:step_z:end, 1:step_r:end);
Z_q  = Z(1:step_z:end, 1:step_r:end);
U_q  = U(1:step_z:end, 1:step_r:end);
W_q  = W(1:step_z:end, 1:step_r:end);

% Normalización para que las flechas se vean bien
modF = sqrt(U_q.^2 + W_q.^2);
modF(modF==0) = 1;
U_n = U_q ./ modF;
W_n = W_q ./ modF;

%% FIGURA: presión + núcleo + campo de gradiente
figure;

% Fondo de presión
contourf(rho_vec, z_vec, p_mbar, 25, 'LineColor','none');
colormap turbo;
cb = colorbar; cb.Label.String = 'Presión (mbar)';
hold on;

% Línea del núcleo
plot([R R],[0 z0],'w--','LineWidth',2);

% Etiquetas
text(R*0.5, z0*0.97,'Núcleo del tornado',   ...
    'Color','w','FontWeight','bold','FontSize',11,'HorizontalAlignment','center');
text(R+350, z0*0.97,'Exterior del tornado',...
    'Color','w','FontWeight','bold','FontSize',11,'HorizontalAlignment','center');

% Campo vectorial (flechas hacia el núcleo)
quiver(RH_q, Z_q, U_n, W_n, 0.7, 'k', 'LineWidth',1.2);

set(gca,'YDir','normal');
xlabel('\rho (m)');
ylabel('z (m)');
title('Gradiente de presión en la sección vertical del vórtice');
axis([0 1000 0 z0]);
Gradiente gráfica.jpg

9 Fuerzas inducidas por el gradiente de presión e impacto estructural

10 Otros vórtices atmosféricos

11 Conclusiones