Diferencia entre revisiones de «El vórtice de Rankine (g.34)»
| Línea 15: | Línea 15: | ||
</math>, para la situación <math>\rho = \text{R}</math>, tenemos la expresión <math>v_{\theta} = \frac{\Gamma}{2\pi R^{2}}\, \rho \;=\; \frac{\Gamma}{2\pi R} </math>. Según los datos que nos proporcionan <math>(R=250 m; v_{\theta}= 90 m/s )</math>, nos daría un resultado de: <math>\Gamma = 1.4137 \times 10^{5} \ \mathrm{m^2/s} </math> | </math>, para la situación <math>\rho = \text{R}</math>, tenemos la expresión <math>v_{\theta} = \frac{\Gamma}{2\pi R^{2}}\, \rho \;=\; \frac{\Gamma}{2\pi R} </math>. Según los datos que nos proporcionan <math>(R=250 m; v_{\theta}= 90 m/s )</math>, nos daría un resultado de: <math>\Gamma = 1.4137 \times 10^{5} \ \mathrm{m^2/s} </math> | ||
[[File:velocidadradio.png|600px|miniaturadeimagen|centro|Función circulación]] | [[File:velocidadradio.png|600px|miniaturadeimagen|centro|Función circulación]] | ||
| − | {{matlab|codigo=R = 250; | + | {{matlab|codigo=%% Parámetros del vórtice de Rankine |
| − | vR = 90; | + | R = 250; % Radio del núcleo (m) |
| − | Gamma = 2*pi*R*vR; | + | vR = 90; % Velocidad tangencial en rho = R (m/s) |
| − | % | + | Gamma = 2*pi*R*vR; % Circulación total |
| − | + | ||
| − | + | %% Dominio radial | |
| − | + | rho = 0:1:1000; % Distancia radial desde 0 a 1000 m | |
| − | % Campo de | + | |
| + | %% Campo de velocidad tangencial según Rankine | ||
vtheta = zeros(size(rho)); | vtheta = zeros(size(rho)); | ||
| − | % Región interna | + | |
| − | inside = rho <= R | + | % Región interna: rotación de cuerpo sólido (v ∝ ρ) |
| − | vtheta(inside) = (Gamma | + | inside = (rho <= R); |
| − | % Región externa irrotacional | + | vtheta(inside) = (Gamma/(2*pi*R^2)) * rho(inside); |
| − | outside = rho > R; | + | |
| + | % Región externa: flujo irrotacional (v ∝ 1/ρ) | ||
| + | outside = (rho > R); | ||
vtheta(outside) = Gamma ./ (2*pi*rho(outside)); | vtheta(outside) = Gamma ./ (2*pi*rho(outside)); | ||
| − | + | ||
| − | % | + | % Valor especial en ρ = 0 |
| − | + | vtheta(1) = 0; % Velocidad nula en el centro | |
| − | + | ||
| − | % Gráfica | + | %% Gráfica del perfil de velocidad |
| − | figure('Color','w','Position',[200 200 700 | + | figure('Color', 'w', 'Position', [200 200 700 450]); |
| + | |||
| + | % Perfil de velocidad | ||
| + | plot(rho, vtheta, 'b-', 'linewidth', 2); | ||
hold on | hold on | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | % Línea vertical en R | |
| − | xlabel(' | + | xline(R, '-k', 'linewidth', 1.25); |
| − | ylabel(' | + | |
| − | title(' | + | % Marcador en el punto (R, vR) |
| − | legend(' | + | plot(R, vR, 'ro', 'MarkerFaceColor', 'r', 'Markersize', 8, ... |
| − | + | 'DisplayName', sprintf('(R, v_R) = (%d m, %d m/s)', R, vR)); | |
| + | |||
| + | %% Etiquetas y estilo | ||
| + | xlabel('\rho (m)', 'FontSize', 12); | ||
| + | ylabel('v_\theta(\rho) (m/s)', 'FontSize', 12); | ||
| + | title(sprintf('Vórtice de Rankine - R = %d m, v_\\theta(R) = %d m/s, \\Gamma = %.2e m²/s', ... | ||
| + | R, vR, Gamma), 'FontSize', 12); | ||
| + | |||
| + | % Leyenda | ||
| + | legend('v_\theta(\rho)', '\rho = R', sprintf('(R, v_R) = (%d, %d)', R, vR), ... | ||
| + | 'Location', 'NorthEast'); | ||
| + | |||
| + | % Configuración de ejes | ||
| + | grid on | ||
| + | xlim([0 1000]); | ||
| + | ylim([0 max(vtheta)*1.15]); | ||
| + | |||
| + | % Línea horizontal en vR para referencia | ||
| + | yline(vR, '--', 'Color', [0.5 0.5 0.5], 'LineWidth', 0.8, ... | ||
| + | 'DisplayName', sprintf('v_R = %d m/s', vR)); | ||
| + | legend('show'); | ||
| + | |||
| + | % Anotación para indicar el cambio de comportamiento | ||
| + | text(R + 40, vR*0.7, sprintf('R = %d m', R), 'FontSize', 10, 'Color', 'k', ... | ||
| + | 'BackgroundColor', [1 1 0.8]); | ||
| + | |||
| + | % Líneas adicionales para marcar regiones | ||
| + | plot([0 R], [vR vR], 'r:', 'LineWidth', 0.5); | ||
| + | |||
| + | %% Información en consola | ||
| + | fprintf('\n=== VÓRTICE DE RANKINE ===\n'); | ||
| + | fprintf('Radio del núcleo: R = %.0f m\n', R); | ||
| + | fprintf('Velocidad en R: v_R = %.0f m/s\n', vR); | ||
| + | fprintf('Circulación: Γ = %.4e m²/s\n', Gamma); | ||
| + | fprintf('Velocidad máxima: v_max = %.2f m/s (en ρ = R)\n', vR); | ||
| + | fprintf('\nComportamiento:\n'); | ||
| + | fprintf('- Interior (ρ ≤ R): v_θ ∝ ρ\n'); | ||
| + | fprintf('- Exterior (ρ > R): v_θ ∝ 1/ρ\n'); | ||
| + | |||
| + | %% Cálculos adicionales (opcional) | ||
| + | % Puntos específicos para referencia | ||
| + | fprintf('\nValores en puntos clave:\n'); | ||
| + | fprintf('ρ = 0 m: v_θ = %.2f m/s\n', vtheta(1)); | ||
| + | fprintf('ρ = R/2 = %d m: v_θ = %.2f m/s\n', R/2, vtheta(R/2 + 1)); | ||
| + | fprintf('ρ = R = %d m: v_θ = %.2f m/s (máximo)\n', R, vtheta(R + 1)); | ||
| + | fprintf('ρ = 2R = %d m: v_θ = %.2f m/s\n', 2*R, vtheta(2*R + 1));}} | ||
== Representación de <math>\vec{v}</math>== | == Representación de <math>\vec{v}</math>== | ||
Como podemos observar por la expresión del campo de la velocidad, <math>\mathbf{v} = v_\theta(\rho) \, \mathbf{e}_\theta</math>, la velocidad depende de la coordenada radial y no de <math>z</math>. Además en la ecuación principal de la velocidad, que recordemos:<math>v_\theta(\rho) =\begin{cases} \dfrac{\Gamma}{2 \pi R^2} \, \rho & \text{si } \rho \le R \\[2mm]\dfrac{\Gamma}{2 \pi \rho} & \text{si } \rho > R\end{cases}</math> , se puede apreciar cómo en sí misma no se puede apreciar ninguna <math>z</math>. Es por ello que el campo vectorial de v es estrictamente horizontal, y está “conviviendo” en un plano bidimensional. Además al no tener la z, la estructura del campo vectorial es la misma a cualquier altura z. | Como podemos observar por la expresión del campo de la velocidad, <math>\mathbf{v} = v_\theta(\rho) \, \mathbf{e}_\theta</math>, la velocidad depende de la coordenada radial y no de <math>z</math>. Además en la ecuación principal de la velocidad, que recordemos:<math>v_\theta(\rho) =\begin{cases} \dfrac{\Gamma}{2 \pi R^2} \, \rho & \text{si } \rho \le R \\[2mm]\dfrac{\Gamma}{2 \pi \rho} & \text{si } \rho > R\end{cases}</math> , se puede apreciar cómo en sí misma no se puede apreciar ninguna <math>z</math>. Es por ello que el campo vectorial de v es estrictamente horizontal, y está “conviviendo” en un plano bidimensional. Además al no tener la z, la estructura del campo vectorial es la misma a cualquier altura z. | ||
Revisión del 17:12 2 dic 2025
| Trabajo realizado por estudiantes | |
|---|---|
| Título | El Vórtice de Rankine (Grupo 34) |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores | Miguel Gómez-Hidalgo Rivas Haytam Imhah Chatoual Darío Pérez Pablo Ramírez Serrano Jorge Machín Menés |
| 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 matemático, ideado por William John Macquorn Rankine, ingeniero y físico escocés. Su diseño estuvo sujeto a la imperiosa necesidad de explicar de manera simplificada los fluidos rotatorios. Este modelo, aplicado a la vida cotidiana permite la descripción de la estructura básica de fenómenos meteorológicos como tornados y huracanes o en ciertos casos puede explicar ciertos aspectos de la ingeniería como la aerodinámica, ayudando a la creación de sistemas como las turbinas o ventiladores. En este trabajo, haremos algunos cálculos interesantes para la comprensión de este modelo. Además, utilizaremos códigos de Matlab para la representación de funciones y campos vectoriales de manera gráfica.
2 Circulación
Dada la función que representa la velocidad del vórtice [math]v_\theta(\rho) = \begin{cases} \dfrac{\Gamma}{2 \pi R^2} \, \rho & \text{si } \rho \le R \\[2mm] \dfrac{\Gamma}{2 \pi \rho} & \text{si } \rho \gt R \end{cases} [/math], para la situación [math]\rho = \text{R}[/math], tenemos la expresión [math]v_{\theta} = \frac{\Gamma}{2\pi R^{2}}\, \rho \;=\; \frac{\Gamma}{2\pi R} [/math]. Según los datos que nos proporcionan [math](R=250 m; v_{\theta}= 90 m/s )[/math], nos daría un resultado de: [math]\Gamma = 1.4137 \times 10^{5} \ \mathrm{m^2/s} [/math]
%% Parámetros del vórtice de Rankine
R = 250; % Radio del núcleo (m)
vR = 90; % Velocidad tangencial en rho = R (m/s)
Gamma = 2*pi*R*vR; % Circulación total
%% Dominio radial
rho = 0:1:1000; % Distancia radial desde 0 a 1000 m
%% Campo de velocidad tangencial según Rankine
vtheta = zeros(size(rho));
% Región interna: rotación de cuerpo sólido (v ∝ ρ)
inside = (rho <= R);
vtheta(inside) = (Gamma/(2*pi*R^2)) * rho(inside);
% Región externa: flujo irrotacional (v ∝ 1/ρ)
outside = (rho > R);
vtheta(outside) = Gamma ./ (2*pi*rho(outside));
% Valor especial en ρ = 0
vtheta(1) = 0; % Velocidad nula en el centro
%% Gráfica del perfil de velocidad
figure('Color', 'w', 'Position', [200 200 700 450]);
% Perfil de velocidad
plot(rho, vtheta, 'b-', 'linewidth', 2);
hold on
% Línea vertical en R
xline(R, '-k', 'linewidth', 1.25);
% Marcador en el punto (R, vR)
plot(R, vR, 'ro', 'MarkerFaceColor', 'r', 'Markersize', 8, ...
'DisplayName', sprintf('(R, v_R) = (%d m, %d m/s)', R, vR));
%% Etiquetas y estilo
xlabel('\rho (m)', 'FontSize', 12);
ylabel('v_\theta(\rho) (m/s)', 'FontSize', 12);
title(sprintf('Vórtice de Rankine - R = %d m, v_\\theta(R) = %d m/s, \\Gamma = %.2e m²/s', ...
R, vR, Gamma), 'FontSize', 12);
% Leyenda
legend('v_\theta(\rho)', '\rho = R', sprintf('(R, v_R) = (%d, %d)', R, vR), ...
'Location', 'NorthEast');
% Configuración de ejes
grid on
xlim([0 1000]);
ylim([0 max(vtheta)*1.15]);
% Línea horizontal en vR para referencia
yline(vR, '--', 'Color', [0.5 0.5 0.5], 'LineWidth', 0.8, ...
'DisplayName', sprintf('v_R = %d m/s', vR));
legend('show');
% Anotación para indicar el cambio de comportamiento
text(R + 40, vR*0.7, sprintf('R = %d m', R), 'FontSize', 10, 'Color', 'k', ...
'BackgroundColor', [1 1 0.8]);
% Líneas adicionales para marcar regiones
plot([0 R], [vR vR], 'r:', 'LineWidth', 0.5);
%% Información en consola
fprintf('\n=== VÓRTICE DE RANKINE ===\n');
fprintf('Radio del núcleo: R = %.0f m\n', R);
fprintf('Velocidad en R: v_R = %.0f m/s\n', vR);
fprintf('Circulación: Γ = %.4e m²/s\n', Gamma);
fprintf('Velocidad máxima: v_max = %.2f m/s (en ρ = R)\n', vR);
fprintf('\nComportamiento:\n');
fprintf('- Interior (ρ ≤ R): v_θ ∝ ρ\n');
fprintf('- Exterior (ρ > R): v_θ ∝ 1/ρ\n');
%% Cálculos adicionales (opcional)
% Puntos específicos para referencia
fprintf('\nValores en puntos clave:\n');
fprintf('ρ = 0 m: v_θ = %.2f m/s\n', vtheta(1));
fprintf('ρ = R/2 = %d m: v_θ = %.2f m/s\n', R/2, vtheta(R/2 + 1));
fprintf('ρ = R = %d m: v_θ = %.2f m/s (máximo)\n', R, vtheta(R + 1));
fprintf('ρ = 2R = %d m: v_θ = %.2f m/s\n', 2*R, vtheta(2*R + 1));
3 Representación de [math]\vec{v}[/math]
Como podemos observar por la expresión del campo de la velocidad, [math]\mathbf{v} = v_\theta(\rho) \, \mathbf{e}_\theta[/math], la velocidad depende de la coordenada radial y no de [math]z[/math]. Además en la ecuación principal de la velocidad, que recordemos:[math]v_\theta(\rho) =\begin{cases} \dfrac{\Gamma}{2 \pi R^2} \, \rho & \text{si } \rho \le R \\[2mm]\dfrac{\Gamma}{2 \pi \rho} & \text{si } \rho \gt R\end{cases}[/math] , se puede apreciar cómo en sí misma no se puede apreciar ninguna [math]z[/math]. Es por ello que el campo vectorial de v es estrictamente horizontal, y está “conviviendo” en un plano bidimensional. Además al no tener la z, la estructura del campo vectorial es la misma a cualquier altura z.
