

---
## 01. Problemas Diferenciales con Condiciones de Frontera

Eduard Larrañaga (ealarranaga@unal.edu.co)

---


### Resumen

Se presentan algunas de las técnicas para resolver un sistema de ecuaciones diferenciales ordinarias sujetas a condiciones de frontera.

`A. Garcia. Numerical Methods for Physics. (1999). Chapter 3 `

---

## Ecuaciones Diferenciales Ordinarias con Condiciones de Frontera

Un problema de valor de frontera (BVP) tiene como objetivo encontrar una solución al sistema de ODEs en un intervalo $[a,b]$ de la variable independiente, sujeta a que debe satisfacer unas condiciiones en los extremos de este intervalo (condiciones de frontera).

Un ejemplo de un BVP es

\begin{equation}
y'' = f(x,y,y')\,\,, 
\hspace{0.5em} y(a) = A\,\,,
\hspace{0.5em} y(b) = B\,\,, 
\hspace{0.5em} \text{and } x \in [a,b]\,\,.
\end{equation}






---
## El método Shooting

El mértodo **Shooting** resuelve el BVP al transformarlo en un problema de valor inicial e introduciendo una elección educada sobre las condiciones iniciales no-conocidas en la frontera interna. Leugo, se itera utilizando un método como Euler, Predictor-Corrector o RK hasta llegar a la frontera externa y se comprueba si se cumple con la condición de frontera requerida. En caso de no satisfacerse, se modifica la condición inicial elegida y se repite el proceso hasta que se logre con las condiciones de frontera.


### Ejemplo

Dado el BVP presentado arriba, debe notarse que aunque se impone el valor $y(a) = $, el valor de $y'(a)$ no es conocido.


Se puede realizar una elección inicial de $y'(a) = z_0$ para convertir el BVP a uno de valor inicial con la estructura 

\begin{equation}
y' = u(x) \hspace{0.5cm},\hspace{0.5cm} y'(a) = z_0
\end{equation}

\begin{equation}
u' = f(x,y,u) \hspace{0.5cm},\hspace{0.5cm} y(a) = A.
\end{equation}


Ahora se integra este sistema de ODEs desde la condición inicial hasta el punto $x=b$. Debido a que se eligió arbitrariamente el valor $z_0$, la solución encontrada se puede escribir como $y=y(x,z_0)$, y el objetivo es que esta función cumpla que  $y(b,z_0) = B$. Si la elección de $z_0$ no logra este objetivo, se puede introducir la función

\begin{equation}
\Phi(z_0) = y(b,z_0) - B
\end{equation}

y buscar el valor de $z_0$ que logre que $\Phi(z_0) = 0$. Esto quiere decir que se estará buscando una raiz de la función $\Phi(z_0)$.

--- 
### El Algoritmo  Shooting 

El algoritmo Shooting completo para $y'' = f(x,y,y')$ se puede resumir como

1. Se introduce (arbitrariamente)  el valor incial $z_0 = y'(a)$ y se comienza con un contador de iteraciones $i = 0$.

2. Se calcula $y = y(x,z_i)$ integrando el problema de valor incial.


3. Se calcula $\Phi(z_i) = y(b,z_i) - B$. 
 - Si $z_i$ no produce una solución suficientemente precisa del problema (i.e. el valor de $\Phi(z_i)$ no es suficientemente cercano a cero), se incrementa el indice de $i$ a $i+1$ y se encuentra un valor más adecuado $z_{i+1}$ utilizando un buscador de raices para $\Phi(z_i) = 0$. Luego se vuelve a (2).



**Nota:** Típicamente se utiliza el método de la secante para buscar la raíz debido a que la derivada de la función $\Phi(z)$ no se conoce analíticamente. Para que este método pueda aplicarse, se necesita introducir al menos dos valores iniciales $z$.

---


## Método de Diferencias Finitas

Los BVPs descritos arriba pueden ser resueltos al expandir en serie de Taylor las ODEs hasta un orden adecuado (por ejemplo lineal, asumiendo que no existen términos no-lineales en y o y').

Por ejemplo, consderemos el sistema diferencial

\begin{equation}
y'' = g(x) - p(x)y' - q(x) y\,\,,
\end{equation}

donde $g(x)$, $p(x)$, y $q(x)$ son funciones exclusivamente de la variable independiente $x$ y donde la convención de signos es arbitraria.


Las derivadas $y'$ y $y''$ pueden ser discretizadas en una malla equidistante en el intervalo $[a,b]$ utilizando $n$ nodos (o equivalentemente $N=n-1$ intervalos con un tamaño de paso $\Delta x$),

\begin{equation}
\begin{aligned}
y'(x_i) &= \frac{y_{i+1} - y_{i-1}}{2\Delta x}\,\,,\\
y''(x_i) &= \frac{y_{i+1} + y_{i-1} - 2 y_i}{\Delta x^2}\,\,,
\end{aligned}
\end{equation}

donde $y_i = y(x_{i})$,  $x_i = a + i \Delta x$, con $(i = 0, ... , N)$, y 

\begin{equation}
\Delta x = \frac{b-a}{N}.
\end{equation}

Evaluando la ecuación diferencial en $x_i$ y reemplazando las expresiones discretizadas se obtiene

\begin{equation}
\frac{y_{i+1} + y_{i-1} - 2 y_i}{\Delta x^2} + p_i \frac{y_{i+1} - y_{i-1}}{2\Delta x} + q_i y_i =  g_i
\end{equation}

donde $p_i = p(x_i)$, $g_i = g(x_i)$, y $q_i = q(x_i)$. Al multiplicar toda la expresión por $\Delta x^2$,

\begin{equation}
y_{i+1} + y_{i-1} - 2 y_i + \frac{\Delta x}{2}p_i y_{i+1} - \frac{\Delta x}{2} p_i y_{i-1} + \Delta x^2 q_i y_i = \Delta x^2 g_i
\end{equation}

\begin{equation}
\left(1+ \frac{\Delta x}{2}p_i\right) y_{i+1}  -\left( 2 - \Delta x^2 q_i \right) y_i  + \left( 1 - \frac{\Delta x}{2} p_i \right)y_{i-1}  = \Delta x^2 g_i.
\end{equation}


De esta forma, la versión discreta de estas ecuaciones es un sistema de $N+1 = n$ ecuaciones algebraicas lineales, en donde se han incluido las condiciones de frontera:

\begin{equation}
\begin{aligned}
y_0 &= A\,\,\\
\left(1-\frac{\Delta x}{2}p_i \right)  y_{i-1} - \left(2-\Delta x^2q_i \right) y_i +  \left(1+\frac{\Delta x}{2}p_i \right) y_{i+1} &= \Delta x^2 g_i\,\,\\
y_{n} &= B\,\,.
\end{aligned}
\end{equation}


Este sistema se puede representar con una matriz tri-diagonal de dimensión $N \times N$ (nótese que los valores de $y_0$ y $y_{n}$ ya son concidos y por ello solo se deben buscar $N$ valores de $y_i$):

\begin{equation}
\begin{pmatrix}
-2+\Delta x^2q_1 & 1+ \frac{\Delta x}{2}p_1& 0 & \cdots &\cdots&\cdots  &0\\
1-\frac{\Delta x}{2} p_2&\ddots&\ddots & 0 &\cdots & \cdots & 0\\
0 & \ddots & \ddots & \ddots & 0 & \cdots & \vdots\\
\vdots & 0 & \ddots & \ddots & \ddots & 0 & \vdots \\
\vdots & \vdots & 0 & \ddots & \ddots & \ddots & 0\\
\vdots & \vdots & \vdots& 0& \ddots & \ddots & 1+\frac{\Delta x}{2}p_{N-1}\\
\vdots & 0 & 0 & \cdots & 0 & 1-\frac{\Delta x}{2} p_N & -2+\Delta x^2 q_N\\
\end{pmatrix}
\begin{pmatrix}
y_1\\\vdots \\\vdots \\\vdots \\\vdots \\\vdots \\ y_N
\end{pmatrix}
= \begin{pmatrix}
\Delta x^2 g_1 - A(1-\frac{\Delta x}{2}p_1)\\
\Delta x^2 g_2\\
\vdots\\
\vdots\\
\vdots\\
\Delta x^2 g_{N-1}\\
\Delta x^2 g_N - B(1+\frac{\Delta x}{2}p_N)\\
\end{pmatrix}
\end{equation}


```python

```

bd832e8586b3d38d7aa23eec426035ad25d65fd3
ipynb
Jupyter Notebook
09. ODEs III. Problemas de Valores de Frontera/01. Problemas Diferenciales con Condiciones de Frontera.ipynb
ashcat2005/AstrofisicaComputacional2022
67463ec4041eb08c0f326792fed0dcf9e970e9b7
MIT
2022-03-08T06:18:56.000Z
2022-03-10T04:55:53.000Z
09. ODEs III. Problemas de Valores de Frontera/01. Problemas Diferenciales con Condiciones de Frontera.ipynb
ashcat2005/AstrofisicaComputacional2022
67463ec4041eb08c0f326792fed0dcf9e970e9b7
MIT
09. ODEs III. Problemas de Valores de Frontera/01. Problemas Diferenciales con Condiciones de Frontera.ipynb
ashcat2005/AstrofisicaComputacional2022
67463ec4041eb08c0f326792fed0dcf9e970e9b7
MIT
2022-03-09T17:47:43.000Z
2022-03-21T02:29:36.000Z
Qwen/Qwen-72B
1. YES
2. YES