Вы находитесь на странице: 1из 17

MODELOS MATEMÁTICOS I

PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN


UN PERFIL TRANSVERSAL DE PLAYA

PRÁCTICA DE PROPAGACIÓN
DE OLEAJE EN UN PERFIL
TRANSVERSAL DE PLAYA
Índice general
Práctica de propagación de oleaje en un perfil transversal de playa ........................................... 1
Conocimientos previos .............................................................................................................. 2
Propagación de oleaje ............................................................................................................... 2
Longitud de onda ...................................................................................................................... 3
El método de Newton-Raphson para hallar raíces de una ecuación f(x)=0 .......................... 3
Interpretación geométrica ................................................................................................ 3
Formulación del método ................................................................................................... 4
Algoritmo........................................................................................................................... 4
Aplicación al caso de la longitud de onda ......................................................................... 5
Código Matlab ................................................................................................................... 5
EJERCICIO 1........................................................................................................................ 6
Modelización de la propagación de oleaje en diferencias finitas ............................................. 7
Diferencias finitas .................................................................................................................. 8
Introducción ...................................................................................................................... 8
Discretización del dominio ................................................................................................ 8
Aproximación por diferencias finitas .............................................................................. 10
Aplicación al perfil transversal de una playa ................................................................... 11
Código.............................................................................................................................. 12
Resultados ....................................................................................................................... 15
Preguntas ........................................................................................................................ 17

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 1 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

Conocimientos previos
Se deben repasar los conceptos de derivada y serie de Taylor. También los referentes a rectas
tangentes en geometría analítica. También deben conocerse los rudimentos de Matlab®.

Propagación de oleaje
Prescindiendo de pérdidas de energía debidas a rotura del oleaje, fricción con el fondo, etc., la
ecuación que gobierna la propagación de una ola hacia la costa, en teoría lineal, indica que el
flujo de energía es constante, es decir:

�����������⃗
𝐸𝐸 · 𝐶𝐶𝑔𝑔 = ������⃗
𝑐𝑐𝑐𝑐𝑐𝑐

Por tanto, su gradiente es nulo:

�����������⃗
∇�𝐸𝐸 · 𝐶𝐶𝑔𝑔 � = 0

Derivando en las dos direcciones:

𝜕𝜕�𝐸𝐸 · 𝐶𝐶𝑔𝑔 � 𝜕𝜕�𝐸𝐸 · 𝐶𝐶𝑔𝑔 �


+ =0
𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕
Si se supone que la playa es cilíndrica, no hay variación longitudinal, por lo que la derivada
respecto de y se anula, y se puede escribir:

𝜕𝜕�𝐸𝐸 · 𝐶𝐶𝑔𝑔 �
=0
𝜕𝜕𝜕𝜕
Por otra parte, la energía por unidad de superficie de ola es:
1
𝐸𝐸 = 𝜌𝜌𝜌𝜌𝜌𝜌²
8
Y la celeridad de grupo:
C 2 · 𝑘𝑘 · 𝑑𝑑
𝐶𝐶𝑔𝑔 = 𝑛𝑛 · 𝐶𝐶 = �1 + �
2 𝑠𝑠𝑠𝑠𝑠𝑠ℎ(2 · 𝑘𝑘 · 𝑑𝑑)
Siendo k el número de onda:
2𝜋𝜋
𝑘𝑘 =
𝐿𝐿
Y d, la profundidad.

La longitud de onda, L, se puede aproximar mediante la ecuación de dispersión en teoría lineal:

𝑔𝑔𝑔𝑔²
𝐿𝐿 = 𝑡𝑡𝑡𝑡𝑡𝑡ℎ(𝑘𝑘𝑘𝑘)
2𝜋𝜋
Imagínese una costa cuyo fondo presenta una pendiente m = 0.025. ¿Cómo se puede resolver
la propagación del oleaje en dicha costa?

La profundidad se puede calcular como:

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 2 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

𝑑𝑑 = 𝑥𝑥 · 𝑚𝑚
Por tanto, el perfil de la costa será el mostrado en la figura siguiente:

25

20

15
Profundidad [m]

10

0
0 100 200 300 400 500 600 700 800 900 1000

Distancia horizontal [m]

Longitud de onda
La ecuación de dispersión se ha de evaluar en cada punto, dado que depende de la profundidad.
Por otro lado, su resolución no puede ser directa, debiendo emplearse un método de
aproximaciones sucesivas. Se aprovechará este hecho para introducir el método de Newton-
Raphson.

El método de Newton-Raphson para hallar raíces de una ecuación f(x)=0


Interpretación geométrica
La ecuación de la recta tangente que pasa por el punto �𝑝𝑝𝑛𝑛 , 𝑓𝑓(𝑝𝑝𝑛𝑛 )�, según se muestra en la
figura siguiente, es:

𝑦𝑦 − 𝑓𝑓(𝑝𝑝𝑛𝑛 ) = 𝑓𝑓′(𝑝𝑝𝑛𝑛 )(𝑥𝑥 − 𝑝𝑝𝑛𝑛 )

Haciendo y = 0, x = pn+1, se obtiene la expresión que se demostrará en el apartado siguiente:


𝑓𝑓(𝑝𝑝𝑛𝑛−1 )
𝑝𝑝𝑛𝑛 = 𝑝𝑝𝑛𝑛−1 −
𝑓𝑓′(𝑝𝑝𝑛𝑛−1 )

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 3 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

Formulación del método


El método de Newton para hallar las raíces de la ecuación f(x) = 0, es el más conocido, y a
menudo, el más efectivo.

Sea f(x) una función continuamente diferenciable dos veces en el intervalo [a, b], lo cual se
expresa: 𝑓𝑓 ∈ 𝐶𝐶 2 [𝑎𝑎, 𝑏𝑏].

Sea 𝑥𝑥̅ ∈ [𝑎𝑎, 𝑏𝑏] una aproximación a la raíz p tal que:

𝑓𝑓′(𝑥𝑥) ≠ 0

|𝑥𝑥̅ − 𝑝𝑝| → 0

Expresamos el desarrollo de Taylor de primer grado para f(x) en torno a 𝑥𝑥̅ :

(𝑥𝑥 − 𝑥𝑥̅ )2
𝑓𝑓(𝑥𝑥) = 𝑓𝑓(𝑥𝑥̅ ) + (𝑥𝑥 − 𝑥𝑥̅ )𝑓𝑓 ′ (𝑥𝑥̅ ) + 𝑓𝑓′′(𝑥𝑥̅ )
2
Aquí sustituimos x = p, y, considerando:
𝑓𝑓(𝑝𝑝) = 0

(𝑝𝑝 − 𝑥𝑥̅ )² ≈ 0
0 ≈ 𝑓𝑓(𝑥𝑥̅ ) + (𝑝𝑝 − 𝑥𝑥̅ )𝑓𝑓 ′ (𝑥𝑥̅ )
Y despejando p, tenemos:
𝑓𝑓(𝑥𝑥̅ )
𝑝𝑝 ≈ 𝑥𝑥̅ −
𝑓𝑓′(𝑥𝑥̅ )
El método de Newton consiste en tomar una aproximación inicial, 𝑥𝑥̅ , y a continuación obtener
una aproximación más refinada mediante la formulación anterior. Es decir, se trata de
acercarnos a la raíz p por medio de la fórmula recursiva:
𝑓𝑓(𝑝𝑝𝑛𝑛−1 )
𝑝𝑝𝑛𝑛 = 𝑝𝑝𝑛𝑛−1 −
𝑓𝑓′(𝑝𝑝𝑛𝑛−1 )
Debe tomarse siempre un valor inicial tal que tanto el valor de la función como el de su derivada
segunda, particularizados para dicho valor, tengan el mismo signo, es decir:

𝑓𝑓(𝑝𝑝0 ) · 𝑓𝑓′′(𝑝𝑝0 ) > 0


El método de Newton converge siempre que tomemos un valor inicial p0 lo bastante cercano al
valor p de la raíz.

Algoritmo
Para hallar una solución aproximada de f(x) = 0, dada una aproximación inicial p0.

Entrada: aproximación inicial p0; tolerancia EPS; cantidad máxima de iteraciones N;

Salida: solución aproximada p ó mensaje de fracaso.

1. Contador i = 1

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 4 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

2. Repetir el bucle 3-6 hasta que i = N


𝑓𝑓(𝑝𝑝 )
3. 𝑝𝑝𝑖𝑖 = 𝑝𝑝𝑖𝑖−1 − 𝑓𝑓′(𝑝𝑝𝑖𝑖−1 )
𝑖𝑖−1
4. Si |𝑝𝑝𝑖𝑖 − 𝑝𝑝𝑖𝑖−1 | < 𝐸𝐸𝐸𝐸𝐸𝐸, finalizar el bucle, y el resultado es p = pi
5. Si |𝑝𝑝𝑖𝑖 − 𝑝𝑝𝑖𝑖−1 | > 𝐸𝐸𝐸𝐸𝐸𝐸, aumentar el contador i = i+1 y continuar el bucle
6. Redefinir pi = pi-1
7. Final: si no se ha logrado la convergencia, lanzar un mensaje de error

Aplicación al caso de la longitud de onda


La ecuación de dispersión en teoría lineal se puede escribir como:

𝑔𝑔𝑇𝑇 2 2𝜋𝜋𝜋𝜋
𝐿𝐿 − 𝑡𝑡𝑡𝑡𝑡𝑡ℎ � �=0
2𝜋𝜋 𝐿𝐿
La incógnita a resolver es L. Todos los demás valores son constantes. Es decir:

𝑔𝑔𝑇𝑇 2 2𝜋𝜋𝜋𝜋
𝑓𝑓(𝑥𝑥) = 𝑥𝑥 − 𝑡𝑡𝑡𝑡𝑡𝑡ℎ � �
2𝜋𝜋 𝑥𝑥
Es posible calcular la derivada con la ayuda de Matlab, si no se recuerda la derivada de tanh(x):

>> syms x d g T
>> f = x-(g*T^2/(2*pi))*tanh(2*pi*d/x) ;
>> g = diff(f,x)
g=
1 - (T^2*d*g*(tanh((2*pi*d)/x)^2 - 1))/x^2
>> pretty(g)
2 / / 2 pi d \2 \
T d g | tanh| ------ | - 1 |
\ \ x / /
1 - ------------------------------
2
x
>>
Es decir:
2𝜋𝜋𝜋𝜋
𝑇𝑇 2 · 𝑑𝑑 · 𝑔𝑔 �𝑡𝑡𝑡𝑡𝑡𝑡ℎ² � 𝑥𝑥 � − 1�
′ (𝑥𝑥)
𝑓𝑓 =1−
𝑥𝑥²
Código Matlab
El código Matlab® que se ha escrito para resolver el problema es el siguiente:

function L = londa(d, T, eps, p, N)


%% Función LONDA
% Cálculo de la longitud de onda por el método de Newton-Raphson
%
% Variables
%
% d : Profundidad

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 5 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

% g : Aceleración de la gravedad (= 9.8182 m/s²)


% T : Periodo del oleaje
% p : Valor inicial de la longitud de onda
% eps : Error máximo admitido
% N : Número máximo de iteraciones
% p_i : Iteración de L
% p_im1 : Iteración anterior de L

%% INICIALIZAR
g = 9.8182;
p_im1 = p;

%% ITERACIONES
for i=1:N
f = p_im1 - (g*T^2/2/pi)*tanh(2*pi*d/p_im1);
fp = 1-(T^2*d*g*((tanh(2*pi*d/p_im1))^2-1))/p_im1^2;
p_i = p_im1-f/fp;
if abs(p_i - p_im1) < eps
L = p_i;
i = N;
else
p_im1 = p_i;
end
end

Imagínese que se desea calcular la longitud de onda en profundidades indefinidas de una ola de
periodo T = 10 s, con un error de 0.001 m y un máximo de 50 iteraciones. Después, se calculará
también en d = 3.0 m. Se comienza a calcular con p0 = 156 m.

>> londa(5000,10,0.001,156,10)
ans =
156.2615
>> londa(3,10,0.001,156,10)
ans =
53.1790
>>
Para calcular L0 se ha dado una profundidad muy grande, con objeto de estar seguros de que se
trata de profundidades indefinidas.
EJERCICIO 1
Utilizando la función “londa”, escribir un código que proporcione, para una ola de T = 15.20 s,
los valores de la longitud de onda entre d0 y d = 3.0 m. Graficar la solución.

El gráfico a obtener se muestra en la figura siguiente.

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 6 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

LONGITUD DE ONDA EN TEORÍA LINEAL PARA T = 15.20 s


400

350

300

Longitud de onda [m]


250

200

150

100

50
0 50 100 150 200 250

Profundidad [m]

Modelización de la propagación de oleaje en diferencias finitas


Se ha dicho que la ecuación (simplificada) que gobierna la propagación del oleaje es:

𝜕𝜕�𝐸𝐸 · 𝐶𝐶𝑔𝑔 �
=0 [1]
𝜕𝜕𝜕𝜕
En esta ecuación está implícita la longitud de onda y el periodo del oleaje, a través del cálculo
de la celeridad de grupo, Cg, como se ha visto anteriormente.

Si desarrollamos completamente la ecuación anterior, se obtiene:

4𝜋𝜋
1 1 · 𝑑𝑑 𝑔𝑔𝑔𝑔 2𝜋𝜋𝜋𝜋
𝜕𝜕 �8 ρgH² · 2 �1 + 𝐿𝐿 � 2𝜋𝜋 𝑡𝑡𝑡𝑡𝑡𝑡ℎ � 𝐿𝐿 ��
4𝜋𝜋
𝑠𝑠𝑠𝑠𝑠𝑠ℎ � 𝐿𝐿 · 𝑑𝑑�
=0
𝜕𝜕𝜕𝜕
Esta es la ecuación más sencilla que podemos emplear para analizar la propagación del oleaje
en un perfil transversal a la costa. Se observa que la única variable desconocida es H (la altura
de ola), dado que el resto de las variables son conocidas en cada punto (ya sea por ser dato,
como d, o por poderse calcular, como L). En otras palabras, podría escribirse la ecuación anterior
como:

𝜕𝜕(𝐻𝐻² · K)
=0 [2]
𝜕𝜕𝜕𝜕
Siendo
4𝜋𝜋
1 1
𝐾𝐾 = ρg · �1 + 𝐿𝐿 · 𝑑𝑑 �
𝑔𝑔𝑔𝑔
𝑡𝑡𝑡𝑡𝑡𝑡ℎ �
2𝜋𝜋𝜋𝜋

8 2 4𝜋𝜋
𝑠𝑠𝑠𝑠𝑠𝑠ℎ � · 𝑑𝑑� 2𝜋𝜋 𝐿𝐿
𝐿𝐿
un valor que conocemos a lo largo del perfil, mediante los conocimientos anteriormente
desarrollados.

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 7 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

La cuestión es cómo resolver la ecuación [1] por métodos numéricos. Se verá a continuación el
método de diferencias finitas.

Diferencias finitas
Introducción
Los métodos de Diferencias Finitas nos permiten obtener soluciones numéricas aproximadas a
Problemas de Valores Iniciales y de Contorno (modelos Matemáticos avanzados en Ingeniería)
resolviendo un sistema de ecuaciones lineales que se obtiene sustituyendo las derivadas que
aparecen en las ecuaciones diferenciales de gobierno por cocientes de diferencias y obligando
a la solución discreta así obtenida a satisfacer las condiciones iniciales y de contorno.

Los métodos de Diferencias Finitas pueden resultar adecuados para resolver Problemas elípticos
(por ejemplo, problemas de equilibrio) y parabólicos (por ejemplo, de difusión) aunque con
geometrías de los dominios y condiciones de contorno sencillas.

Estos métodos nos proporcionan soluciones discretas es decir valores de la solución buscada en
un número finito de puntos del dominio del problema.

Discretización del dominio


La primera tarea que se ha de realizar es discretizar el dominio de cálculo, es decir, la zona
espacial en la que se desea resolver el problema. Por ejemplo, si se tiene en cuenta la batimetría
de la Figura 1, que se supone continua en todo el dominio, la sustituiremos por una malla, cuyos
nodos tendrán la propiedad de sus coordenadas (x,y,z) en los puntos mostrados en la Figura 2
(donde se cortan las líneas azules, verticales y horizontales). Se muestra un detalle en la Figura
3.

Existen diferentes aplicaciones en el mercado para obtener esta digitalización. Normalmente, el


software comercial de modelos matemáticos suele traer su propio mallador, ya sea para
elementos finitos o para diferencias finitas.

Tabla 1 Batimetría real

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 8 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

Figura 1 Batimetría digitalizada

Figura 2 Detalle de la malla digitalizada

Dependiendo de la complejidad del modelo, las mallas pueden ser cuadradas si sus celdas lo son
(∆x = ∆y) o rectangulares (∆x ≠ ∆y). También las celdas pueden ser exactamente iguales (malla
estructurada), o variar a lo largo del dominio (en cuyo caso se tendrá una malla no estructurada);
en modelos más avanzados, esto suele utilizarse para refinar la malla donde se prevé la
existencia de mayores gradientes en la variable que deseamos resolver. De momento, se
emplearán únicamente mallas estructuradas cuadradas.

En general, se designan las filas con el subíndice “j” y las columnas, con el “i” (Figura 4). Es decir,
el índice “i” crece a lo largo de las filas y el índica “j” lo hace a lo largo de las columnas.

Así, en dicha malla, tomando como base el punto 2, de coordenadas de malla (i,j), aumentando
una fila se tendrá el punto 5, de coordenadas de malla (i, j+1). Las coordenadas métricas serán
función de las coordenadas de malla. Así, para el ejemplo de la Figura 4, admitiendo que x1 = 0
e y1 = 0, se tendrán los valores que muestra la Tabla 1. Es decir, cada punto tiene sus
coordenadas (i,j) que lo sitúan en la malla y sus coordenadas (x,y,z), que lo sitúan en el mundo.
Los valores zi,j de cada punto serán, en este caso, las profundidades de la batimetría discretizada.

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 9 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

Figura 3 Esquema de una malla cuadrada estructurada

PUNTO COORDENADAS X Y
DE MALLA
0 0,0 0 0
1 i-1, j (i-1)·∆x j·∆y
2 i, j i·∆x j·∆y
3 i+1, j (i+1)·∆x j·∆y
4 i, j-1 i·∆x (j-1)·∆y
5 i, j+1 i·∆x (j+1)·∆y
Tabla 1 Coordenadas de los puntos de la malla

Así, parece obvio que:

𝑥𝑥𝑖𝑖 = 𝑥𝑥𝑖𝑖−1 + ∆𝑥𝑥


𝑦𝑦𝑗𝑗 = 𝑦𝑦𝑗𝑗−1 + ∆𝑦𝑦

Aproximación por diferencias finitas


Supóngase una función u, dependiente de x e y, que se representará como u(x,y). Esta función
es continua y derivable en un dominio D (por ejemplo, en la zona definida por la malla
discretizada que se ha empleado en el ejemplo anterior). Se empleará la notación

𝑢𝑢𝑖𝑖,𝑗𝑗 = 𝑢𝑢�𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑗𝑗 � [3]


Si la función u(x,y) es analítica en el dominio, se podrá desarrollar en serie de Taylor:

𝜕𝜕𝜕𝜕(𝑥𝑥, 𝑦𝑦) 2
𝜕𝜕 2 𝑢𝑢(𝑥𝑥, 𝑦𝑦)
𝑢𝑢(𝑥𝑥𝑖𝑖 + ∆𝑥𝑥, 𝑦𝑦) = 𝑢𝑢(𝑥𝑥𝑖𝑖 , 𝑦𝑦) + ∆𝑥𝑥 � � + (∆𝑥𝑥) � � +⋯
𝜕𝜕𝜕𝜕 𝑥𝑥=𝑥𝑥𝑖𝑖 𝜕𝜕𝑥𝑥 2 𝑥𝑥=𝑥𝑥𝑖𝑖
𝑛𝑛
𝜕𝜕 𝑛𝑛 𝑢𝑢(𝑥𝑥, 𝑦𝑦)
+ (∆𝑥𝑥) � �
𝜕𝜕𝑥𝑥 𝑛𝑛 𝑥𝑥=𝑥𝑥𝑖𝑖

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 10 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

En el desarrollo en serie de Taylor, pueden despreciarse los términos de índice n > 1, sin más
que hacer ∆x lo suficientemente pequeño, con lo cual:
𝜕𝜕𝜕𝜕(𝑥𝑥, 𝑦𝑦)
𝑢𝑢(𝑥𝑥𝑖𝑖 + ∆𝑥𝑥, 𝑦𝑦) ≈ 𝑢𝑢(𝑥𝑥𝑖𝑖 , 𝑦𝑦) + ∆𝑥𝑥 � �
𝜕𝜕𝜕𝜕 𝑥𝑥=𝑥𝑥𝑖𝑖
1
Así, en el punto �𝑖𝑖 + , 𝑗𝑗� puede aproximarse la derivada como:
2

𝜕𝜕𝜕𝜕(𝑥𝑥, 𝑦𝑦) 𝑢𝑢𝑖𝑖+1,𝑗𝑗 − 𝑢𝑢𝑖𝑖,𝑗𝑗


� � 1 ≈ [4]
𝜕𝜕𝜕𝜕 𝑖𝑖+ ,𝑗𝑗 ∆𝑥𝑥
2
Y la denominamos centrada en el punto xi+1/2,j, yj.

De forma similar es posible centrar la aproximación en otros lugares, siempre en el entorno de


∆x.

Y la derivada parcial respecto de y se aproxima de manera análoga:


𝜕𝜕𝜕𝜕(𝑥𝑥, 𝑦𝑦) 𝑢𝑢𝑖𝑖,𝑗𝑗+1 − 𝑢𝑢𝑖𝑖,𝑗𝑗
� � ≈
𝜕𝜕𝜕𝜕 𝑖𝑖,𝑗𝑗+
1 ∆𝑦𝑦
2
Las derivadas segundas se pueden aproximar de la misma forma, simplemente teniendo en
cuenta que:

𝜕𝜕²𝑢𝑢(𝑥𝑥, 𝑦𝑦) 𝜕𝜕 𝜕𝜕𝜕𝜕(𝑥𝑥, 𝑦𝑦)


= � �
𝜕𝜕𝜕𝜕² 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕
Así, se obtendrá:

𝜕𝜕²𝑢𝑢(𝑥𝑥, 𝑦𝑦) 𝑢𝑢𝑖𝑖+1,𝑗𝑗 − 2𝑢𝑢𝑖𝑖,𝑗𝑗 + 𝑢𝑢𝑖𝑖−1,𝑗𝑗


� � ≈
𝜕𝜕𝜕𝜕² 𝑖𝑖,𝑗𝑗
(∆𝑥𝑥)2
Y análogamente:

𝜕𝜕²𝑢𝑢(𝑥𝑥, 𝑦𝑦) 𝑢𝑢𝑖𝑖,𝑗𝑗+1 − 2𝑢𝑢𝑖𝑖,𝑗𝑗 + 𝑢𝑢𝑖𝑖,𝑗𝑗−1


� � ≈
𝜕𝜕𝜕𝜕² 𝑖𝑖,𝑗𝑗
(∆𝑦𝑦)2
Es decir:

El Método de Diferencias finitas convierte el problema de resolver una ecuación diferencial en


resolver un sistema de ecuaciones lineales.

Aplicación al perfil transversal de una playa


La ecuación [1] gobierna el problema de forma simple. Se puede escribir como sigue:

𝜌𝜌𝜌𝜌 𝜕𝜕�𝐻𝐻² · C𝑔𝑔 �


=0
8 𝜕𝜕𝜕𝜕
Aproximándola en diferencias finitas, según la ecuación [3]:

𝜕𝜕𝜕𝜕(𝑥𝑥, 𝑦𝑦) 𝐻𝐻²𝐶𝐶𝐶𝐶𝑖𝑖+1 − 𝐻𝐻²𝐶𝐶𝐶𝐶𝑖𝑖


� � 1≈ ≈0
𝜕𝜕𝜕𝜕 𝑖𝑖+ ∆𝑥𝑥
2

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 11 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

Obsérvese que, dado que se va a trabajar en un perfil transversal de playa, no existe más que
una coordenada; Por ello desaparece “j”.

Finalmente:

𝐻𝐻²𝑖𝑖 𝐶𝐶𝐶𝐶𝑖𝑖
𝐻𝐻𝑖𝑖+1 = �
𝐶𝐶𝐶𝐶𝑖𝑖+1
Con esta primera aproximación, no se disipa ninguna energía, por lo que la ola no rompe. En un
ejercicio posterior se añadirá la disipación de energía.

Código
%% EJERCICIO 1

%% INICIALIZAR
clc;
clear all;
close all;
commandwindow;

T = 15.20;
H_0 = 5.0;
m = 0.025;
Dx = 5.0;

%% PERFIL DE PLAYA

%% CÁLCULOS

i = 1;
x(1) = 0;
L_0 = 1.56*T^2;
d_1 = L_0/1.5;
L(1) = L_0;
d(1) = d_1;
[Cg(1), C(1)] = CelGrup(d_1,T,L(1));
H(1) = H_0;
dc = d_1;

while dc > 0
i = i + 1;

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 12 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

x(i) = x(i-1) + Dx;


d(i) = d_1 - m*x(i);
dc = d(i);
end
N = size(x,2);

for i = 2:N
if d(i)>0
L(i) = londa(d(i), T, 0.001, L(i-1), 10);
[Cg(i), C(i)] = CelGrup(d(i),T,L(i));
H(i) = sqrt((H(i-1))^2*Cg(i-1)/Cg(i));
else
L(i) = 0;
Cg(i) = 0;
C(i) = 0;
H(i)= 0;
end
end

%% DIBUJO

plot(x,-d)
grid on;
xlabel('Distancia [m]')
ylabel('Profundidad [m]')
titulo = sprintf('PERFIL TRANSVERSAL m = %3.3f', m);
title(titulo)

figure
[hAx,hLine1,hLine2] = plotyy(x,L,x,-d);
grid on;
xlabel('Distancia [m]')
ylabel(hAx(1),'Longitud de onda [m]')
ylabel(hAx(2),'Profundidad [m]')
titulo = sprintf('LONGITUD DE ONDA EN TEORÍA LINEAL PARA T = %3.2f s', T);
title(titulo)

figure
%[hAx,hLine1,hLine2] = plotyy([x,x],[C,Cg],x,-d);
plot(x,C,x,Cg);
grid on;
xlabel('Distancia [m]')
ylabel('Celeridad [m/s]')
%ylabel(hAx(1),'Celeridad [m/s]')
%ylabel(hAx(2),'Profundidad [m]')

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 13 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

titulo = sprintf('CELERIDAD EN TEORÍA LINEAL PARA T = %3.2f s', T);


title(titulo)
legend('C','Cg')

figure
[hAx,hLine1,hLine2] = plotyy(x,H,x,-d);
grid on;
xlabel('Distancia [m]')
ylabel(hAx(1),'H [m]')
ylabel(hAx(2),'Profundidad [m]')
titulo = sprintf('ALTURA DE OLA EN TEORÍA LINEAL PARA T = %3.2f s', T);
title(titulo)

function L = londa(d, T, eps, p, N);


%% Función LONDA
% Cálculo de la longitud de onda por el método de Newton-Raphson
%
% Variables
%
% d : Profundidad
% g : Aceleración de la gravedad (= 9.8182 m/s²)
% T : Periodo del oleaje
% p : Valor inicial de la longitud de onda
% eps : Error máximo admitido
% N : Número máximo de iteraciones
% p_i : Iteración de L
% p_im1 : Iteración anterior de L

%% INICIALIZAR
g = 9.8182;
p_im1 = p;

%% ITERACIONES
for i=1:N
f = p_im1 - (g*T^2/2/pi)*tanh(2*pi*d/p_im1);
fp = 1-(T^2*d*g*((tanh(2*pi*d/p_im1))^2-1))/p_im1^2;
p_i = p_im1-f/fp;
if abs(p_i - p_im1) < eps
L = p_i;
i = N;
else
p_im1 = p_i;
end
end

function [Cg, C] = CelGrup(d, T, L);

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 14 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

%% CELGRUP
% Cálculo de la celeridad de grupo y celeridad de fase
%
% Variables
% d : Profundidad [m]
% T : Periodo [s]
% L : Longitud de onda [m]

%% CALCULO

C = L/T;
k = 2*pi/L;
n = (1/2)*(1+2*k*d/sinh(2*k*d));
Cg = n*C;

Resultados
Se muestran a continuación los resultados obtenidos.
PERFIL TRANSVERSAL m = 0.025
50

-50
Profundidad [m]

-100

-150

-200

-250
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Distancia [m]

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 15 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

LONGITUD DE ONDA EN TEORÍA LINEAL PARA T = 15.20 s


400 100

300 0

Longitud de onda [m]

Profundidad [m]
200 -100

100 -200

0 -300
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Distancia [m]

CELERIDAD EN TEORÍA LINEAL PARA T = 15.20 s


25

C
Cg

20

15
Celeridad [m/s]

10

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Distancia [m]

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 16 de 17
Tiempo de preparación: 829 minutos
MODELOS MATEMÁTICOS I
PRÁCTICA DE PROPAGACIÓN DE OLEAJE EN
UN PERFIL TRANSVERSAL DE PLAYA

ALTURA DE OLA EN TEORÍA LINEAL PARA T = 15.20 s


30 200

20 0

Profundidad [m]
H [m]

10 -200

0 -400
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Distancia [m]

Preguntas
1. Con los conocimientos de Matlab® que has adquirido, ¿qué cambios harías al código
para introducir un perfil transversal real?
2. ¿Cuál sería el paso a dar a continuación para obtener un modelo matemático más
próximo a la realidad?

Autor: Jose M Medina


Última revisión: 02/09/2017 0:40
REVISIÓN 00
Archivo: PROPAGACIÓN DE OLEAJE.DOCX
Página 17 de 17
Tiempo de preparación: 829 minutos