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

De MateWiki
Revisión del 19:27 25 nov 2025 de Rodrigo de Pelayo (Discusión | contribuciones) (Función potencial y campo de velocidades)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Flujo alrededor de un obstáculo circular (Grupo 29)
Asignatura Teoría de Campos
Curso 2025-26
Autores Rodrigo de Pelayo García García

Sergio Resino Velayo

Cayetano Gilabert Castejón

Hugo Moreno Peregrina

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

El estudio del flujo alrededor de un cilindro circular es uno de los problemas más clásicos y analizados en la mecánica de fluidos teórica y aplicada. Su importancia en ingeniería civil es notable, pues muchas estructuras presentan formas aproximadamente cilíndricas: pilas de puentes, torres, tirantes, pilotes o tuberías expuestas a corrientes o viento.

Comprender el comportamiento del flujo permite predecir fenómenos como la distribución de presiones alrededor del obstáculo, las fuerzas de arrastre y sustentación, el desprendimiento periódico de vórtices, los fenómenos de resonancia estructural y la erosión local en estructuras hidráulicas. El flujo alrededor de un cilindro combina varios conceptos clave de Teoría de Campos: los campos vectoriales, el gradiente, el rotacional, la divergencia y las líneas de corriente. A lo largo de este trabajo se desarrolla progresivamente la formulación matemática completa.


1 Región del fluido y mallado en coordenadas polares

Para comenzar, se genera una malla que representa los puntos pertenecientes a la región donde se encuentra el fluido, situada en el exterior del cilindro de radio unidad. Para describir esta zona se emplean coordenadas polares dentro del anillo comprendido entre los radios 1 y 5, con centro en el origen. La visualización final se mostrará en coordenadas cartesianas dentro del dominio [-4,4] x [-4,4], de modo que se aprecie correctamente el área de trabajo.


Mediante el siguiente código elaborado en MATLAB es posible representar dicha malla:

Mallado que representa los puntos interiores de la región que ocupa un fluido
% Parámetros del anillo
rho_inner = 1;      % radio interior (círculo unidad)
rho_outer = 5;      % radio exterior
n_rho = 40;         % número de curvas rho = cte (radiales concéntricas)
n_theta = 40;       % número de curvas theta = cte (radiales)

% Generar malla en coordenadas polares
rho = linspace(rho_inner, rho_outer, n_rho);
theta = linspace(0, 2*pi, n_theta);
[U,V] = meshgrid(rho,theta);

%Prarametrizar la superficie
hold on
X=U.*cos(V);
Y=U.*sin(V);
Z=0.*U;

%Representación del mallado y dibujo del círculo
mesh(X,Y,Z);
plot(1*cos(theta), 1*sin(theta), 'LineWidth',2);
%Delimitar los ejes
axis equal;
axis([-4,4,-4,4]);

% Marcas de eje 
box on;
grid off;

% Etiquetas y título
xlabel('x');
ylabel('y');
title('Mallado del anillo');

hold off


2 Función potencial y campo de velocidades

Una vez delimitada la región en la que vamos a trabajar, el siguiente paso consiste en analizar el movimiento del fluido. Para ello estudiaremos la velocidad asociada a la función potencial, recordando que la velocidad en este tipo de modelos se obtiene aplicando el gradiente a dicha función.

Antes de continuar, resulta útil recordar brevemente qué entendemos por campo escalar y campo vectorial. Un campo escalar definido sobre un dominio [math] D \subset \mathbb{R}^{3} [/math] es una función que asigna a cada punto de D un valor numérico. En cambio, un campo vectorial en un dominio [math] D \subset \mathbb{R}^{3} [/math] asocia a cada punto de D un veto, describiendo así tanto magnitud como direccional en cada posición del espacio.

2.1 Función potencial

La función potencial a representar es la siguiente: [math] \varphi (\rho ,\theta)=(\rho +\frac{1}{\rho})\cos (\theta )[/math]

Funcion Potencial
I = linspace(1,5,200);      % mallado en rho
J = linspace(0,2*pi,300);   % mallado en theta

[rho,theta] = meshgrid(I,J);

hold on

% Conversión a coordenadas cartesianas
X = rho .* cos(theta);
Y = rho .* sin(theta);

%  Funcion potencial correcta 
% phi(rho,theta) = (rho + 1/rho)*cos(theta)
phi = (rho + 1./rho) .* cos(theta);

% Contornos de la función de nivel 
contour(X, Y, phi, 50, 'LineWidth', 1)

% Círculo de radio 1
plot(cos(J), sin(J), 'LineWidth', 2);

view(2);
axis([-5 5 -5 5]);
colorbar;

title('Función Potencial');
xlabel('X');
ylabel('Y');

axis equal
hold off

2.2 Campo de velocidades

Campo de velocidades
Zoom campo de velocidades
rho = linspace(1, 5, 40);          % Rango radial
th  = linspace(0, 2*pi, 80);       % Rango angular más fino para mejor detalle

[U, V] = meshgrid(rho, th);

% Conversión a coordenadas cartesianas
X = U .* cos(V);
Y = U .* sin(V);

% === Función potencial ===
phi = (U + 1./U) .* cos(V);

% === Derivadas parciales en polares ===
dphi_dr  = (1 - 1./U.^2) .* cos(V);
dphi_dth = -(U + 1./U) .* sin(V);

% === Gradiente transformado a coordenadas cartesianas ===
Cx = cos(V).*dphi_dr - (sin(V)./U).*dphi_dth;
Cy = sin(V).*dphi_dr + (cos(V)./U).*dphi_dth;

% ============================
%      FIGURA COMPLETA
% ============================
figure;
subplot(1,2,1)
contour(X, Y, phi, 30)
hold on
quiver(X, Y, Cx, Cy, 'r')
plot(cos(th), sin(th), 'k', 'LineWidth', 1)
axis equal
axis([-5 5 -5 5])
title('Función potencial y campo de velocidades')
xlabel('X')
ylabel('Y')
colorbar
hold off

% ============================
%        ZOOM ORTOGONALIDAD
% ============================
subplot(1,2,2)
contour(X, Y, phi, 30)
hold on
quiver(X, Y, Cx, Cy, 'r')
plot(cos(th), sin(th), 'k', 'LineWidth', 1)

% Ajusta el zoom donde prefieras:
axis equal
zoom_x = [-2 0];
zoom_y = [0 2];
axis([zoom_x zoom_y])
title('Zoom: ∇\phi ortogonal a curvas de nivel')
xlabel('X')
ylabel('Y')
hold off


3 Divergencia y Rotacional

4 Lineas de Corriente

5 Puntos de Remanso

6 Presión según Bernouilli

7 Trayectorias de Particulas

8 Circulación y Paradoja D' Alembert

9 Flujo con circulación impuesta

10 Véase también

11 Referencias