<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cristopher+Ardon</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cristopher+Ardon"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Cristopher_Ardon"/>
		<updated>2026-04-29T19:34:36Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=78876</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=78876"/>
				<updated>2024-12-05T13:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Tipos de presa, estabilidad y materiales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|600px|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
En este análisis tratamos al agua de la presa como un fluido estático, como consecuencia, el propio peso del agua genera una presión a su alrededor, que actúa en las paredes de nuestra presa. &lt;br /&gt;
&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
Utilizamos el comando 'surf' y 'colormap' para la diferenciación de colores en P(z) y 'colorbar' para visualizar el rango de presiones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|450px|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
Con la fuerza como &amp;lt;math&amp;gt;\vec F=P(z)*\vec n &amp;lt;/math&amp;gt; ,determinamos n como el producto cruzado de vectores tangentes a la superficie y lo multiplicamos por todos los componentes de -P(z). Usamos 'quiver3' para representar el campo vectorial en la gráfica de la superficie y en un plano vertical.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|600px|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|600px|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
&lt;br /&gt;
Con la expresión de la velocidad de la gota &amp;lt;math&amp;gt;v_{0}=\sqrt{2gH_{c}}&amp;lt;/math&amp;gt; y v=15º como dato, calculamos x(t) e y(t) teniendo en cuenta la aceleración gravitatoria.&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;x(t)=U_{x0}*t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;y(t)=U_{y0}*t-0,5*gt^2&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
En Matlab crearemos un vector de tiempo para calcular x e y y dispondremos la gráfica con la acción 'plot'.&lt;br /&gt;
[[Archivo:fotopresa4.png|600px|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
Como se puede observar, la presión con la que sale la gota de la presa hace que su altura aumente ligeramente en los primeros metros, para luego caer por la gravedad.&lt;br /&gt;
&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
Para obtener el campo tangente derivamos la posición respecto al tiempo. Tras ello calculamos el vector normal que funciona como vector perpendicular. Por último utilizamos el comando 'quiver' para representar el gráfico de los vectores anteriores en los puntos seleccionados.&lt;br /&gt;
[[Archivo:fotopresa5.png|600px|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
En Matlab creamos un bucle con el comando 'for' para determinar la posición, la velocidad y la aceleración en cada momento y utilizamos 'plot' y 'quiver' para mostrar la gráfica con los cambios aplicados.&lt;br /&gt;
[[Archivo:Proyecto de vídeo.gif|600px|miniatura|derecha|Figura 6 . Representación animada de una gota]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
El caudal es un concepto con mucha relevancia en la realización de obras hidráulicas, por lo tanto, consideramos definirlo primero.&lt;br /&gt;
Conocemos al caudal de una obra hidráulica como, a la cantidad de fluido que atraviesa una superficie en el espacio en una unidad de tiempo. Esto nos permite estimar la cantidad de agua a una velocidad aproximada que circula por la presa.&lt;br /&gt;
La fórmula del caudal es &amp;lt;math&amp;gt;Q=A*v_{0}&amp;lt;/math&amp;gt;, solo sustituimos los valores de las incógnitas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
La presión que ejerce el agua contenida por la presa a lo largo de esta genera una fuerza que intenta desplazar y girar nuestra estructura. Teniendo estos datos en cuenta, es posible concretar más detalles de la presa, como podrían ser, la forma, el asentamiento o los materiales que serán necesarios.&lt;br /&gt;
&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
Para calcular la fuerza de presión utilizamos la integral &amp;lt;math&amp;gt;F=\int P(z)dA&amp;lt;/math&amp;gt;. Discretizamos en Matlab y resolvemos la integral para cada valor de b.&lt;br /&gt;
Para el caso de doble curvatura b=35 y para el caso de curvatura simple b=0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de &amp;lt;math&amp;gt;6,04*10^{10}&amp;lt;/math&amp;gt; N y su presión por unidad de superficie es de  &amp;lt;math&amp;gt;6,95*10^{5}&amp;lt;/math&amp;gt;Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de &amp;lt;math&amp;gt;4,43*10^{10}&amp;lt;/math&amp;gt; N y la presión de  &amp;lt;math&amp;gt;6,57*10^{5}&amp;lt;/math&amp;gt;Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;br /&gt;
A la hora de tratar con una presa debemos saber de cual tipo estamos hablando, para ello, procederemos a clasificarlas y señalar los detalles más relevantes de cada una.&lt;br /&gt;
&lt;br /&gt;
A grandes rasgos podemos clasificar estas obras en : presas de fábrica y presas de materiales sueltos.&lt;br /&gt;
&lt;br /&gt;
Las presas de fábrica engloban al grupo de presas de gravedad, presas de contrafuertes y presas de arco. Todas están caracterizadas por estar construidas con hormigón en masa principalmente, y poder soportar altas cargas.&lt;br /&gt;
&lt;br /&gt;
Comenzando con las de gravedad, el principal mecanismo que usa es el rozamiento de la presa con el terreno debido al peso de esta. Además, para que la presa no vuelque la resultante de los empujes del agua y el peso propio debe estar contenida en la base del cuerpo de presa. La anchura de la base suele ser 0.8 veces la altura de la presa.&lt;br /&gt;
&lt;br /&gt;
Las presas de contrafuerte son muy parecidas a las de gravedad, sin embargo, en estas el &amp;quot;cuerpo&amp;quot; se apoya sobre unos elementos más largos llamados &amp;quot;cola&amp;quot;. A diferencia de las de gravedad, carecen prácticamente de subpresión, que junto al peso de la cuña de agua sobre el cuerpo, hace que tengan mucha menos masa de hormigón. La anchura de la base suele ser igual que la altura de la presa.&lt;br /&gt;
&lt;br /&gt;
Aquellas con forma curva se denominarán presas de arco, se caracterizan por ser antifuniculares de la fuerza ejercida por el agua, transmitiendo esta fuerza mediante un axil hasta los extremos de la cerrada, lo que obliga al asentamiento a poseer unas buenas características resistivas. &lt;br /&gt;
&lt;br /&gt;
Este tipo puede dividirse a su vez en tres: &lt;br /&gt;
&lt;br /&gt;
- presa arco (planta curva, sección transversal trapezoidal)&lt;br /&gt;
&lt;br /&gt;
- presa de doble curvatura o en bóveda (planta curva sección curva) &lt;br /&gt;
&lt;br /&gt;
- presa arco gravedad (presa de arco con estribos que refuerzan la estructura)&lt;br /&gt;
&lt;br /&gt;
Estos tipos son más esbeltas que las de gravedad, ocupando las de arcos y bóveda una base 0.3 veces la altura y las de arco-gravedad 0.5 veces. &lt;br /&gt;
&lt;br /&gt;
Por otra parte, nos encontramos con las presas de materiales sueltos, dirigidas a construcciones con menos capacidades resistivas pero más abundantes por su versatilidad en asentamientos. Estas son menos esbeltas que las de fábrica, mas, su característica principal es la zonificación de materiales, es decir, cada tipo de material se ubica de forma que se optimice su función. En estas obras los materiales más usados son arcillas, gravas, arenas, limos o y polvo de roca.&lt;br /&gt;
&lt;br /&gt;
Las subdividiremos en tres grupos: &lt;br /&gt;
&lt;br /&gt;
- Presas homogéneas: utilizan el mismo material impermeable en todo el cuerpo de presa. Se emplean en alturas pequeñas y medias siendo el ancho de su base en torno a 6 y 8 veces la altura de presa.&lt;br /&gt;
 &lt;br /&gt;
- Presas de núcleo: contienen un núcleo impermeable en su interior, cubierto por un material resistente tipo escollera. Se construyen de todos los tamaños con una anchura de base entre 4 y 6 veces la altura de presa.&lt;br /&gt;
&lt;br /&gt;
- Presa de pantalla: aquellas protegidas por una pantalla impermeable que se apoya sobre el talud de aguas arriba del cuerpo de presa. El ancho de la base suele ser 3 veces la altura de presa.&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=78875</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=78875"/>
				<updated>2024-12-05T13:39:58Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Tipos de presa, estabilidad y materiales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|600px|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
En este análisis tratamos al agua de la presa como un fluido estático, como consecuencia, el propio peso del agua genera una presión a su alrededor, que actúa en las paredes de nuestra presa. &lt;br /&gt;
&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
Utilizamos el comando 'surf' y 'colormap' para la diferenciación de colores en P(z) y 'colorbar' para visualizar el rango de presiones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|450px|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
Con la fuerza como &amp;lt;math&amp;gt;\vec F=P(z)*\vec n &amp;lt;/math&amp;gt; ,determinamos n como el producto cruzado de vectores tangentes a la superficie y lo multiplicamos por todos los componentes de -P(z). Usamos 'quiver3' para representar el campo vectorial en la gráfica de la superficie y en un plano vertical.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|600px|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|600px|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
&lt;br /&gt;
Con la expresión de la velocidad de la gota &amp;lt;math&amp;gt;v_{0}=\sqrt{2gH_{c}}&amp;lt;/math&amp;gt; y v=15º como dato, calculamos x(t) e y(t) teniendo en cuenta la aceleración gravitatoria.&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;x(t)=U_{x0}*t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;y(t)=U_{y0}*t-0,5*gt^2&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
En Matlab crearemos un vector de tiempo para calcular x e y y dispondremos la gráfica con la acción 'plot'.&lt;br /&gt;
[[Archivo:fotopresa4.png|600px|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
Como se puede observar, la presión con la que sale la gota de la presa hace que su altura aumente ligeramente en los primeros metros, para luego caer por la gravedad.&lt;br /&gt;
&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
Para obtener el campo tangente derivamos la posición respecto al tiempo. Tras ello calculamos el vector normal que funciona como vector perpendicular. Por último utilizamos el comando 'quiver' para representar el gráfico de los vectores anteriores en los puntos seleccionados.&lt;br /&gt;
[[Archivo:fotopresa5.png|600px|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
En Matlab creamos un bucle con el comando 'for' para determinar la posición, la velocidad y la aceleración en cada momento y utilizamos 'plot' y 'quiver' para mostrar la gráfica con los cambios aplicados.&lt;br /&gt;
[[Archivo:Proyecto de vídeo.gif|600px|miniatura|derecha|Figura 6 . Representación animada de una gota]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
El caudal es un concepto con mucha relevancia en la realización de obras hidráulicas, por lo tanto, consideramos definirlo primero.&lt;br /&gt;
Conocemos al caudal de una obra hidráulica como, a la cantidad de fluido que atraviesa una superficie en el espacio en una unidad de tiempo. Esto nos permite estimar la cantidad de agua a una velocidad aproximada que circula por la presa.&lt;br /&gt;
La fórmula del caudal es &amp;lt;math&amp;gt;Q=A*v_{0}&amp;lt;/math&amp;gt;, solo sustituimos los valores de las incógnitas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
La presión que ejerce el agua contenida por la presa a lo largo de esta genera una fuerza que intenta desplazar y girar nuestra estructura. Teniendo estos datos en cuenta, es posible concretar más detalles de la presa, como podrían ser, la forma, el asentamiento o los materiales que serán necesarios.&lt;br /&gt;
&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
Para calcular la fuerza de presión utilizamos la integral &amp;lt;math&amp;gt;F=\int P(z)dA&amp;lt;/math&amp;gt;. Discretizamos en Matlab y resolvemos la integral para cada valor de b.&lt;br /&gt;
Para el caso de doble curvatura b=35 y para el caso de curvatura simple b=0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de &amp;lt;math&amp;gt;6,04*10^{10}&amp;lt;/math&amp;gt; N y su presión por unidad de superficie es de  &amp;lt;math&amp;gt;6,95*10^{5}&amp;lt;/math&amp;gt;Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de &amp;lt;math&amp;gt;4,43*10^{10}&amp;lt;/math&amp;gt; N y la presión de  &amp;lt;math&amp;gt;6,57*10^{5}&amp;lt;/math&amp;gt;Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;br /&gt;
A la hora de tratar con una presa debemos saber de cual tipo estamos hablando, para ello, procederemos a clasificarlas y señalar los detalles más relevantes de cada una.&lt;br /&gt;
&lt;br /&gt;
A grandes rasgos podemos clasificar estas obras en : presas de fábrica y presas de materiales sueltos.&lt;br /&gt;
&lt;br /&gt;
Las presas de fábrica engloban al grupo de presas de gravedad, presas de contrafuertes y presas de arco. Todas están caracterizadas por estar construidas con hormigón en masa principalmente, y poder soportar altas cargas.&lt;br /&gt;
&lt;br /&gt;
Comenzando con las de gravedad, el principal mecanismo que usa es el rozamiento de la presa con el terreno debido al peso de esta. Además, para que la presa no vuelque la resultante de los empujes del agua y el peso propio debe estar contenida en la base del cuerpo de presa. La anchura de la base suele ser 0.8 veces la altura de la presa.&lt;br /&gt;
&lt;br /&gt;
Las presas de contrafuerte son muy parecidas a las de gravedad, sin embargo, en estas el &amp;quot;cuerpo&amp;quot; se apoya sobre unos elementos más largos llamados &amp;quot;cola&amp;quot;. A diferencia de las de gravedad, carecen prácticamente de subpresión, que junto al peso de la cuña de agua sobre el cuerpo, hace que tengan mucha menos masa de hormigón. La anchura de la base suele ser igual que la altura de la presa.&lt;br /&gt;
&lt;br /&gt;
Aquellas con forma curva se denominarán presas de arco, se caracterizan por ser antifuniculares de la fuerza ejercida por el agua, transmitiendo esta fuerza mediante un axil hasta los extremos de la cerrada, lo que obliga al asentamiento a poseer unas buenas características resistivas. &lt;br /&gt;
&lt;br /&gt;
Este tipo puede dividirse a su vez en tres: &lt;br /&gt;
&lt;br /&gt;
- presa arco (planta curva, sección transversal trapezoidal)&lt;br /&gt;
&lt;br /&gt;
- presa de doble curvatura o en bóveda (planta curva sección curva) &lt;br /&gt;
&lt;br /&gt;
- presa arco gravedad (presa de arco con estribos que refuerzan la estructura)&lt;br /&gt;
&lt;br /&gt;
Estos tipos son más esbeltas que las de gravedad, ocupando las de arcos y bóveda una base 0.3 veces la altura y las de arco-gravedad 0.5 veces. &lt;br /&gt;
&lt;br /&gt;
Por otra parte, nos encontramos con las presas de materiales sueltos, dirigidas a construcciones con menos capacidades resistivas pero más abundantes por su versatilidad en asentamientos. Estas son menos esbeltas que las de fábrica, mas, su característica principal es la zonificación de materiales, es decir, cada tipo de material se ubica de forma que se optimice su función. En estas obras los materiales más usados son arcillas, gravas, arenas, limos o y polvo de roca.&lt;br /&gt;
&lt;br /&gt;
Las subdividiremos en tres grupos: &lt;br /&gt;
&lt;br /&gt;
- Presas homogéneas: utilizan el mismo material impermeable en todo el cuerpo de presa. Se emplean en alturas pequeñas y medias siendo el ancho de su base en torno a 6 y 8 veces la altura de presa.&lt;br /&gt;
 &lt;br /&gt;
- Presas de núcleo: contienen un núcleo impermeable en su interior, cubierto por un material resistente tipo escollera. Se construyen de todos los tamaños con una anchura de base entre 4 y 6 veces la altura de presa.&lt;br /&gt;
&lt;br /&gt;
- Presa de pantalla: protegidas por una pantalla impermeable que se apoya sobre el talud de aguas arriba del cuerpo de presa. El ancho de la base suele ser 3 veces la altura de presa.&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76488</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76488"/>
				<updated>2024-12-02T11:50:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Presiones sobre la presa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
En este análisis tratamos al agua de la presa como un fluido estático, como consecuencia, el propio peso del agua genera un presión a su alrededor que actúa en las paredes de nuestra presa. &lt;br /&gt;
&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
El caudal es un concepto con mucha relevancia en la realización de obras hidráulicas, por lo tanto, consideramos definirlo primero.&lt;br /&gt;
Conocemos al caudal de una obra hidráulica como, a la cantidad de fluido que atraviesa una superficie en el espacio en una unidad de tiempo. Esto nos permite estimar la cantidad de agua a una velocidad aproximada que circula por la presa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
La presión que ejerce el agua contenida por la presa a lo largo de esta genera una fuerza que intenta desplazar y girar nuestra estructura. Teniendo estos datos en cuenta, es posible concretar más detalles de la presa, como podrían ser, la forma, el asentamiento o los materiales que serán necesarios.&lt;br /&gt;
&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76482</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76482"/>
				<updated>2024-12-02T11:47:28Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Fuerza de presión total y la presión por unidad de superficie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
El caudal es un concepto con mucha relevancia en la realización de obras hidráulicas, por lo tanto, consideramos definirlo primero.&lt;br /&gt;
Conocemos al caudal de una obra hidráulica como, a la cantidad de fluido que atraviesa una superficie en el espacio en una unidad de tiempo. Esto nos permite estimar la cantidad de agua a una velocidad aproximada que circula por la presa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
La presión que ejerce el agua contenida por la presa a lo largo de esta genera una fuerza que intenta desplazar y girar nuestra estructura. Teniendo estos datos en cuenta, es posible concretar más detalles de la presa, como podrían ser, la forma, el asentamiento o los materiales que serán necesarios.&lt;br /&gt;
&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76481</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76481"/>
				<updated>2024-12-02T11:45:12Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Fuerza de presión total y la presión por unidad de superficie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
El caudal es un concepto con mucha relevancia en la realización de obras hidráulicas, por lo tanto, consideramos definirlo primero.&lt;br /&gt;
Conocemos al caudal de una obra hidráulica como, a la cantidad de fluido que atraviesa una superficie en el espacio en una unidad de tiempo. Esto nos permite estimar la cantidad de agua a una velocidad aproximada que circula por la presa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
La presión que ejerce el agua contenida por la presa a lo largo de esta genera una fuerza que intenta desplazar y girar nuestra estructura. Teniendo estos datos en cuenta, es posible concretar más detalles de la presa, como podrían ser, la forma, el asentamiento o los materiales que serán necesarios.&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76479</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76479"/>
				<updated>2024-12-02T11:44:32Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Caudal volumétrico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
El caudal es un concepto con mucha relevancia en la realización de obras hidráulicas, por lo tanto, consideramos definirlo primero.&lt;br /&gt;
Conocemos al caudal de una obra hidráulica como, a la cantidad de fluido que atraviesa una superficie en el espacio en una unidad de tiempo. Esto nos permite estimar la cantidad de agua a una velocidad aproximada que circula por la presa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76466</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=76466"/>
				<updated>2024-12-02T11:38:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Estudio de la trayectoria de una gota */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
Hasta ahora únicamente hemos visualizado la imagen de la curva de la presa, y la distribución de la presión en las paredes de esta. No obstante, la trayectoria de una masa ante la curvatura de las paredes, la fuerza de gravedad y la presión del agua, se vería distorsionada.&lt;br /&gt;
Resultando la siguiente representación una imagen más aproximada a la realidad.&lt;br /&gt;
&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=74215</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=74215"/>
				<updated>2024-11-27T18:11:49Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Representación de la presa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discretizando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=74214</id>
		<title>La presa de El Atazar</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=La_presa_de_El_Atazar&amp;diff=74214"/>
				<updated>2024-11-27T18:11:08Z</updated>
		
		<summary type="html">&lt;p&gt;Cristopher Ardon: /* Campo escalar de presión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;br /&gt;
La presa de El Atazar, ubicada en el río Lozoya, es la mayor y más importante de la Comunidad de Madrid. Inaugurada en 1972, es una presa de gravedad y arco con 134 metros de altura y una capacidad de 425 hectómetros cúbicos, siendo clave para el abastecimiento de agua potable en Madrid y su área metropolitana.&lt;br /&gt;
&lt;br /&gt;
El presente trabajo tiene por objeto la visualización y representación de la geometría de la presa para hacer un posterior análisis de la estabilidad estructural y la interacción del agua con la presa, incluyendo presión y caudal. &lt;br /&gt;
Para su realización se empleará el software de programación y cálculo numérico Matlab.&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | La presa de El Atazar. Grupo 31 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | &lt;br /&gt;
*Cristopher Ardon Colindres  &lt;br /&gt;
*Andrea Garcia Carrasco   &lt;br /&gt;
*Aaron García Martín     &lt;br /&gt;
*Lara Gutiérrez Kreutzer }}&lt;br /&gt;
&lt;br /&gt;
==Representación de la presa ==&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se representa la superficie aguas arriba de la presa. Esta tiene una altura de 134 metros, y está definida por &amp;lt;math&amp;gt;θ ∈ [\frac{3π}{4}, \frac{5π}{4}]&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Z ∈ [0,H]&amp;lt;/math&amp;gt;.&lt;br /&gt;
Para su realización, se ha comenzado definiendo los parámetros básicos y discreteando el dominio con una altura de paso de h=100. Con el comando &amp;quot;meshgrid()&amp;quot;  se construye una malla que permita parametrizar la superficie en coordenadas cilíndricas según la siguiente ecuación. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;r = r_{0} + b * (1 - \frac{z^2}{h^2})&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Por último, se convierte la parametrización a coordenadas cartesianas y con el comando &amp;quot;surf()&amp;quot; obtenemos la gráfica de la superficie. &lt;br /&gt;
A continuación, se muestra el código empleado para la obtención de la presa y la imagen resultante:&lt;br /&gt;
[[Archivo:fotopresa1.png|miniaturadeimagen|Representación Presa|Figura 1. Representación de la presa.]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
r0 = 200;                                      % Radio base de la presa (aproximado)&lt;br /&gt;
b = 35;                                        % Curvatura del arco parabólico&lt;br /&gt;
H = 134;                                       % Altura de la presa&lt;br /&gt;
theta_min = 3*pi/4;&lt;br /&gt;
theta_max = 5*pi/4;&lt;br /&gt;
theta = linspace(theta_min, theta_max, 100);   % Ángulo en radianes&lt;br /&gt;
z = linspace(0, H, 100);                       % Altura&lt;br /&gt;
[Theta, Z] = meshgrid(theta, z);               % Creación del mallado&lt;br /&gt;
R = r0 + b * (1 - (Z.^2) / H^2);               % Ecuación paramétrica para r&lt;br /&gt;
X = R .* cos(Theta);                           % Conversión a coordenadas cartesiana&lt;br /&gt;
Y = R .* sin(Theta);&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, 'FaceColor', 'cyan', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Eje X (m)');&lt;br /&gt;
ylabel('Eje Y (m)');&lt;br /&gt;
zlabel('Eje Z (m)');&lt;br /&gt;
title('Superficie parametrizada de la presa (aguas arriba)');&lt;br /&gt;
axis equal;                                    &lt;br /&gt;
view(3);                                       %Visualizamos el gráfico en tres dimensiones&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Presiones sobre la presa ==&lt;br /&gt;
A continuación, analizamos y visualizamos los efectos de la presión sobre la superficie de la presa mediante la representación de los campos escalares y vectoriales de presión. &lt;br /&gt;
&lt;br /&gt;
===Campo escalar de presión===&lt;br /&gt;
El campo escalar de presiones viene dado por la función: &amp;lt;math&amp;gt;P(z)=ρgh(z)&amp;lt;/math&amp;gt;. donde ρ es la densidad del agua, g es la aceleración de la gravedad, y h(z) es la profundidad del agua. &lt;br /&gt;
Representamos este campo para visualizar cómo varía la presión a lo largo de la superficie aguas arriba de la presa, lo que nos permite identificar las zonas de mayor y menor presión.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa2.png|miniaturadeimagen|Distribución de presiones|Figura 2. Representación del campo escalar de persión sobre la presa.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de presión&lt;br /&gt;
rho = 1000;             % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;               % Gravedad (m/s^2)&lt;br /&gt;
% Cálculo de la presión&lt;br /&gt;
P = rho * g * (H - Z);  % Presión en función de z&lt;br /&gt;
% Gráfica de la superficie con mapa de colores para la presión&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Presión sobre la superficie de la presa');&lt;br /&gt;
colorbar;               % Barra de colores para indicar magnitudes de presión&lt;br /&gt;
colormap(jet);          % Esquema de colores&lt;br /&gt;
axis equal;&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO ESCALAR DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
En la imagen se observan dos gamas de colores diferenciadas: una primera, correspondiente a tonos fríos (azul), que representa las zonas de menor presión, y una segunda, compuesta por tonos cálidos (amarillo), asociada a las regiones de mayor presión. Es coherente con el comportamiento hidrostático que los valores más altos de presión se localicen en la base de la presa y disminuyan progresivamente con la altura.&lt;br /&gt;
&lt;br /&gt;
===Campo vectorial de la fuerza de presión===&lt;br /&gt;
En segundo lugar, se representa el campo vectorial de la fuerza de presión tanto sobre el paramento aguas arriba de la presa como en un plano que la corta verticalmente. Esto permite visualizar cómo la presión del agua genera fuerzas perpendiculares a la superficie de la presa, cuya intensidad aumenta con la profundidad (mayor presión en las zonas más profundas). Además, la representación en el plano de corte proporciona una representación detallada de la distribución de las fuerzas, facilitando un análisis preciso de su comportamiento a lo largo de la profundidad y en diferentes secciones de la presa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotopresa3.png|miniaturadeimagen|Representación Presa|Figura 3. Representación del campo escalar de presiones aguas arriba.]]&lt;br /&gt;
[[Archivo:fotopresa31.png|miniaturadeimagen|Representación Presa|Figura 3.1. Representación del campo escalar de presiones en un plano vertical.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Derivadas numéricas para obtener vectores tangentes&lt;br /&gt;
[Rx_theta, Rx_z] = gradient(X);&lt;br /&gt;
[Ry_theta, Ry_z] = gradient(Y);&lt;br /&gt;
[Rz_theta, Rz_z] = gradient(Z);&lt;br /&gt;
% Producto cruzado de vectores tangentes para obtener el vector normal&lt;br /&gt;
Nx = Ry_theta .* Rz_z - Rz_theta .* Ry_z;&lt;br /&gt;
Ny = Rz_theta .* Rx_z - Rx_theta .* Rz_z;&lt;br /&gt;
Nz = Rx_theta .* Ry_z - Ry_theta .* Rx_z;&lt;br /&gt;
% Magnitud del vector normal&lt;br /&gt;
N_magnitude = sqrt(Nx.^2 + Ny.^2 + Nz.^2);&lt;br /&gt;
% Vector normal unitario&lt;br /&gt;
Nx_unit = Nx ./ N_magnitude;&lt;br /&gt;
Ny_unit = Ny ./ N_magnitude;&lt;br /&gt;
Nz_unit = Nz ./ N_magnitude;&lt;br /&gt;
% Campo de fuerza de presión&lt;br /&gt;
Fx = -P .* Nx_unit;&lt;br /&gt;
Fy = -P .* Ny_unit;&lt;br /&gt;
Fz = -P .* Nz_unit;&lt;br /&gt;
% Representación del campo vectorial sobre la superficie&lt;br /&gt;
figure;&lt;br /&gt;
quiver3(X, Y, Z, Fx, Fy, Fz, 0.5, 'Color', 'yellow'); % Escala ajustable con el factor 2&lt;br /&gt;
hold on;&lt;br /&gt;
surf(X, Y, Z, P, 'EdgeColor', 'none', 'FaceAlpha',1); % Superficie semitransparente&lt;br /&gt;
colorbar;&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Y (m)');&lt;br /&gt;
zlabel('Z (m)');&lt;br /&gt;
title('Campo vectorial de la fuerza de presión sobre la presa');&lt;br /&gt;
view(3);&lt;br /&gt;
grid on;&lt;br /&gt;
% Fijamos theta = 0 (corte longitudinal)&lt;br /&gt;
theta_cut = 0; % Corte en el plano x-z&lt;br /&gt;
X_cut = X(:, 51); % Extraemos el corte longitudinal (theta cerca de 0)&lt;br /&gt;
Z_cut = Z(:, 51); % Correspondiente en altura&lt;br /&gt;
P_cut = P(:, 51); % Presión en el plano&lt;br /&gt;
% Vectores normales en el corte&lt;br /&gt;
Nx_cut = Nx(:, 51); % Componente x del vector normal&lt;br /&gt;
Nz_cut = Nz(:, 51); % Componente z del vector normal&lt;br /&gt;
N_magnitude_cut = sqrt(Nx_cut.^2 + Nz_cut.^2);&lt;br /&gt;
% Normalización del vector normal&lt;br /&gt;
Nx_unit_cut = Nx_cut ./ N_magnitude_cut;&lt;br /&gt;
Nz_unit_cut = Nz_cut ./ N_magnitude_cut;&lt;br /&gt;
% Campo de fuerza de presión en el corte&lt;br /&gt;
Fx_cut = -P_cut .* Nx_unit_cut;&lt;br /&gt;
Fz_cut = -P_cut .* Nz_unit_cut;&lt;br /&gt;
% Gráfica del campo vectorial en el corte&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X_cut, Z_cut, Fx_cut, Fz_cut, 'b', 'LineWidth', 1.5); % Vectores de fuerza&lt;br /&gt;
hold on;&lt;br /&gt;
plot(X_cut, Z_cut, 'k-', 'LineWidth', 2); % Contorno de la presa en el plano&lt;br /&gt;
xlabel('X (m)');&lt;br /&gt;
ylabel('Z (m)');&lt;br /&gt;
title('Campo de fuerza de presión en el plano longitudinal');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;font color=&amp;quot;D2 69 1E&amp;quot;&amp;gt;'''INTERPRETACIÓN DEL CAMPO VECTORIAL DE PRESIÓN'''&amp;lt;/font&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nuevamente, los resultados obtenidos coinciden con lo esperado. Las presiones más altas se registran en la parte inferior de la presa, representadas en color amarillo, mientras que las más bajas se encuentran en la parte superior, en color azul. De esta manera, se observa como la presión aumenta conforme ascendemos de arriba hacia abajo.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la trayectoria de una gota==&lt;br /&gt;
===Representación de la trayectoria de la gota===&lt;br /&gt;
[[Archivo:fotopresa4.png|miniaturadeimagen|Representación Presa|Figura 4. Representación de la gota.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15); % Ángulo de salida en radianes&lt;br /&gt;
g = 9.81;           % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;            % Altura inicial (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad inicial (previamente calculada)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Funciones de posición&lt;br /&gt;
t = linspace(0, 5, 1000); % Tiempo (ajustar si es necesario)&lt;br /&gt;
x = v0 * cos(theta) * t; &lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Encontrar el tiempo cuando y(t) = 0 (impacto con el suelo)&lt;br /&gt;
t_ground = fzero(@(t) Hc + v0 * sin(theta) * t - 0.5 * g * t^2, [0, 10]);&lt;br /&gt;
x_ground = v0 * cos(theta) * t_ground; % Alcance horizontal&lt;br /&gt;
&lt;br /&gt;
% Gráfica de la trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5);&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x_ground, 0, 'ro', 'MarkerSize', 8, 'DisplayName', 'Impacto');&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Trayectoria de la gota de agua');&lt;br /&gt;
grid on;&lt;br /&gt;
legend;&lt;br /&gt;
xlim([0, x_ground + 10]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
}}&lt;br /&gt;
===Representación de los campos tangente y normal===&lt;br /&gt;
[[Archivo:fotopresa5.png|miniaturadeimagen|Representación Presa|Figura 5. Representación de los campos tangente y normal.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
theta = deg2rad(15);&lt;br /&gt;
g = 9.81;&lt;br /&gt;
Hc = 25;&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Trayectoria&lt;br /&gt;
t = linspace(0, 5, 500); % Tiempo&lt;br /&gt;
x = v0 * cos(theta) * t;&lt;br /&gt;
y = Hc + v0 * sin(theta) * t - 0.5 * g * t.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades (derivadas de la posición)&lt;br /&gt;
vx = v0 * cos(theta) * ones(size(t)); % dx/dt&lt;br /&gt;
vy = v0 * sin(theta) - g * t;         % dy/dt&lt;br /&gt;
speed = sqrt(vx.^2 + vy.^2);          % Magnitud de la velocidad&lt;br /&gt;
&lt;br /&gt;
% Tangente unitario&lt;br /&gt;
Tx = vx ./ speed;&lt;br /&gt;
Ty = vy ./ speed;&lt;br /&gt;
&lt;br /&gt;
% Aceleraciones (derivadas de las velocidades)&lt;br /&gt;
ax = zeros(size(t));                 % dvx/dt = 0&lt;br /&gt;
ay = -g * ones(size(t));             % dvy/dt&lt;br /&gt;
a_magnitude = sqrt(ax.^2 + ay.^2);   % Magnitud de la aceleración&lt;br /&gt;
&lt;br /&gt;
% Normal unitario&lt;br /&gt;
Nx = (ax - Tx .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
Ny = (ay - Ty .* (ax .* Tx + ay .* Ty)) ./ a_magnitude;&lt;br /&gt;
&lt;br /&gt;
% Graficar trayectoria&lt;br /&gt;
figure;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5); hold on;&lt;br /&gt;
&lt;br /&gt;
% Campos tangente y normal en puntos específicos&lt;br /&gt;
num_points = 20; % Número de vectores a graficar&lt;br /&gt;
indices = round(linspace(1, length(t), num_points));&lt;br /&gt;
quiver(x(indices), y(indices), Tx(indices), Ty(indices), 0.3, 'r', 'LineWidth', 1.5, 'DisplayName', 'Tangente');&lt;br /&gt;
quiver(x(indices), y(indices), Nx(indices), Ny(indices), 0.3, 'g', 'LineWidth', 1.5, 'DisplayName', 'Normal');&lt;br /&gt;
&lt;br /&gt;
% Detalles de la gráfica&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Campos Tangente y Normal sobre la trayectoria');&lt;br /&gt;
legend('Trayectoria', 'Tangente', 'Normal');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
}}&lt;br /&gt;
===Animación de los vectores sobre la curva de la trayectoria===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la animación&lt;br /&gt;
t_anim = linspace(0, t_ground, 200); % Tiempo para animación&lt;br /&gt;
x_anim = v0 * cos(theta) * t_anim;&lt;br /&gt;
y_anim = Hc + v0 * sin(theta) * t_anim - 0.5 * g * t_anim.^2;&lt;br /&gt;
&lt;br /&gt;
% Velocidades y aceleraciones en los puntos de la animación&lt;br /&gt;
vx_anim = v0 * cos(theta) * ones(size(t_anim));&lt;br /&gt;
vy_anim = v0 * sin(theta) - g * t_anim;&lt;br /&gt;
speed_anim = sqrt(vx_anim.^2 + vy_anim.^2);&lt;br /&gt;
&lt;br /&gt;
% Aceleración constante en y&lt;br /&gt;
ax_anim = zeros(size(t_anim));&lt;br /&gt;
ay_anim = -g * ones(size(t_anim));&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(x, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'Trayectoria'); % Trayectoria completa&lt;br /&gt;
xlabel('Distancia horizontal (m)');&lt;br /&gt;
ylabel('Altura (m)');&lt;br /&gt;
title('Animación: Gota de Agua');&lt;br /&gt;
grid on;&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([0, max(x)]);&lt;br /&gt;
ylim([0, Hc + 5]);&lt;br /&gt;
&lt;br /&gt;
% Añadir marcador para la gota&lt;br /&gt;
gota = plot(x_anim(1), y_anim(1), 'ro', 'MarkerSize', 10, 'DisplayName', 'Gota');&lt;br /&gt;
&lt;br /&gt;
% Añadir vectores de velocidad y aceleración&lt;br /&gt;
quiver_vel = quiver(x_anim(1), y_anim(1), vx_anim(1), vy_anim(1), 0.3, 'r', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Velocidad');&lt;br /&gt;
quiver_acc = quiver(x_anim(1), y_anim(1), ax_anim(1), ay_anim(1), 0.3, 'g', 'LineWidth', 1.5, 'MaxHeadSize', 1, 'DisplayName', 'Aceleración');&lt;br /&gt;
&lt;br /&gt;
legend;&lt;br /&gt;
&lt;br /&gt;
% Animación&lt;br /&gt;
for i = 1:length(t_anim)&lt;br /&gt;
    % Actualizar marcador&lt;br /&gt;
    set(gota, 'XData', x_anim(i), 'YData', y_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Actualizar vectores&lt;br /&gt;
    set(quiver_vel, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', vx_anim(i), 'VData', vy_anim(i));&lt;br /&gt;
    set(quiver_acc, 'XData', x_anim(i), 'YData', y_anim(i), ...&lt;br /&gt;
        'UData', ax_anim(i), 'VData', ay_anim(i));&lt;br /&gt;
    &lt;br /&gt;
    % Pausa para visualizar&lt;br /&gt;
    pause(0.05);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
==Caudal volumétrico==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
A = 1100;        % Área de la compuerta (m^2)&lt;br /&gt;
g = 9.81;        % Aceleración de la gravedad (m/s^2)&lt;br /&gt;
Hc = 25;         % Altura de salida del agua (m)&lt;br /&gt;
&lt;br /&gt;
% Velocidad de salida (Torricelli)&lt;br /&gt;
v0 = sqrt(2 * g * Hc);&lt;br /&gt;
&lt;br /&gt;
% Caudal volumétrico&lt;br /&gt;
Q = (A * v0)/1000;&lt;br /&gt;
&lt;br /&gt;
% Mostrar resultados&lt;br /&gt;
fprintf('Velocidad de salida (v0): %.2f m/s\n', v0);&lt;br /&gt;
fprintf('Caudal volumétrico (Q): %.2f m^3/s\n', Q);&lt;br /&gt;
}}&lt;br /&gt;
Utilizando este código nos dan los resultados pedidos, la velocidad de salida es 22,15 m/s y el caudal volumétrico es 24,36 m^3/s.&lt;br /&gt;
==Fuerza de presión total y la presión por unidad de superficie==&lt;br /&gt;
Con los datos de curvatura simple y doble curvatura creamos un código en matlab para que nos de el resultado de la fuerza y la presión y poder compararlos.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros de la presa&lt;br /&gt;
rho = 1000;        % Densidad del agua (kg/m^3)&lt;br /&gt;
g = 9.81;          % Gravedad (m/s^2)&lt;br /&gt;
H = 134;           % Altura de la presa (m)&lt;br /&gt;
r0 = 80;           % Radio base (m)&lt;br /&gt;
b1 = 35;     % Curvatura doble&lt;br /&gt;
b0 = 0;      % Curvatura simple&lt;br /&gt;
theta_range = linspace(-pi/4, pi/4, 100); % Ángulo&lt;br /&gt;
&lt;br /&gt;
% Definir función de radio (diferentes curvaturas)&lt;br /&gt;
r_1 = @(z) r0 + b1 * (1 - (z / H)^2);&lt;br /&gt;
r_0 = @(z) r0;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (doble curvatura)&lt;br /&gt;
z_range = linspace(0, H, 100); % Alturas&lt;br /&gt;
F_1 = 0;&lt;br /&gt;
A_1 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_1(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_1 = F_1 + P * dA; % Sumar contribución&lt;br /&gt;
    A_1 = A_1 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_1 = F_1 / A_1; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Cálculo de área y fuerza (curvatura simple)&lt;br /&gt;
F_0 = 0;&lt;br /&gt;
A_0 = 0;&lt;br /&gt;
for z = z_range&lt;br /&gt;
    r = r_0(z);&lt;br /&gt;
    dA = 2 * pi * r * H / length(z_range); % Aproximación diferencial&lt;br /&gt;
    P = rho * g * (H - z); % Presión a esa profundidad&lt;br /&gt;
    F_0 = F_0 + P * dA; % Sumar contribución&lt;br /&gt;
    A_0 = A_0 + dA; % Sumar área&lt;br /&gt;
end&lt;br /&gt;
p_s_0 = F_0 / A_0; % Presión por unidad de área&lt;br /&gt;
&lt;br /&gt;
% Resultados&lt;br /&gt;
fprintf('Doble curvatura:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_1);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n\n', p_s_1);&lt;br /&gt;
&lt;br /&gt;
fprintf('Curvatura simple:\n');&lt;br /&gt;
fprintf(' - Fuerza total: %.2e N\n', F_0);&lt;br /&gt;
fprintf(' - Presión por unidad de superficie: %.2e Pa\n', p_s_0);&lt;br /&gt;
}}&lt;br /&gt;
En el caso de la doble curvatura, b=35, la fuerza total es de 6,04*10^10 N y su presión por unidad de superficie es de 6,95*10^5 Pa.&lt;br /&gt;
En la de curvatura simple, b=0, la fuerza total es de 4,43*10^10 N y la presión de 6,57*10^5 Pa.&lt;br /&gt;
Por lo tanto soportaría más presión la configuración de doble curvatura.&lt;br /&gt;
&lt;br /&gt;
==Tipos de presa, estabilidad y materiales==&lt;/div&gt;</summary>
		<author><name>Cristopher Ardon</name></author>	</entry>

	</feed>