La ecuación de Burgers

En este blog sabéis que periódicamente ponemos entradas de física, o mejor aún, de cómo las matemáticas se utilizan para explicar cosas de física (ver por ejemplo ésta, ésta y ésta otra entrada). La que colgamos hoy es de esas. Además ésta estaba pendiente porque en una entrada sobre varios modelos de las ecuaciones de Euler dije que iba a escribir sobre la ecuación de Burgers. Pues bien, aquí está.

La ecuación de Burgers no viscosa (que toma su nombre de J.M. Burgers) se escribe de la siguiente manera

\partial_t u(x,t)+u(x,t)\partial_x u(x,t)=0,\;\; u(x,0)=f(x)\;\;\quad (1).

Se trata de una ecuación de primer orden no lineal y suele ser el primer ejemplo de ecuación no lineal que se pone en los libros de texto (para una lectura rápida sobre las propiedades de algunas ecuaciones en derivadas parciales sencillas leed esto). Se trata además de la primera ecuación que surge de manera natural cuando uno quiere entender las ecuaciones de Euler y también “refleja” (más o menos) el comportamiento de una ola (ver un artículo reciente sobre este tipo de ecuaciones aquí).

Si pasamos esquivando el cuestión de la existencia o no de solución para dicho problema (1) y directamente suponemos que existe tal solución y que además es una función “suave”, i.e., con tantas derivadas como nos hagan falta, podemos obtener una propiedad importante de manera muy sencilla. Supongamos que tenemos una solución u(x,t) que tiene, al menos, dos derivadas en x, y supongamos además que dicha solución se va muy rápido a cero cuando |x| se hace muy grande. Dicha solución tendrá un mínimo (o ínfimo), y un máximo (o supremo) y sus posiciones dependerán del tiempo. Como la función tiende a cero en el infinito estos valores se alcanzan (es decir, no son ínfimos/supremos). Denotemos el punto donde u(x,t) alcanza su mínimo como x_t y el punto donde u(x,t) alcanza su máximo como X_t. Por lo tanto, fijo t,

u(x_t,t)=\min_x \{u(x,t)\},

y

u(X_t,t)=\max_x \{u(x,t)\}.
En estos puntos la ecuación queda
\partial_t u(X_t,t)+u(X_t,t)\partial_x u(X_t,t)=\partial_t u(X_t,t)=0,

y

\partial_t u(x_t,t)+u(x_t,t)\partial_x u(x_t,t)=\partial_t u(x_t,t)=0,

y obtenemos que tanto el máximo como el mínimo del dato inicial se conservan,

\max_x u(x,t)=\max_x f(x),

y

\min_x u(x,t)=\min_x f(x).

Si ahora repetimos el argumento para la evolución de \min_x \partial_x u obtenemos, si x_t es el punto de mínimo, la siguiente ecuación

\partial_t \partial_x u(x_t,t)+(\partial_x u(x_t,t))^2=0.\quad (2)

Ahora observamos que (2) es una EDO que se puede resolver explícitamente (¿sabrías cómo hacerlo?)

y tenemos que, si 0<t=-\min_x \partial_x f(x), |\partial_x u(x_t,t)|=\infty.

Veamos unas simulaciones para entender bien lo que pasa aquí:

Esto es un ejemplo de singularidad. Tampoco debería sorprendernos, pues esta ecuación aparece relacionada con olas y parece reflejar el hecho de que las olas “rompen”.

¿Qué pasa si ahora añadimos una pequeña viscosidad con la forma de un laplaciano? (Esta difusión puede generalizarse, por ejemplo como en [2])

\partial_t u(x,t)+u(x,t)\partial_x u(x,t)=\nu \partial_x^2 u(x,t),\;\; u(x,0)=f(x)\;\;\quad (2).

Esta ecuación se conoce como Ecuación de Burgers viscosa y puede entenderse como un modelo (en realidad una caricatura) de la ecuación de Navier-Stokes. Bueno, ahora la cuenta anterior no es tan sencilla, porque el término difusivo, el laplaciano, tiene signo “bueno”, es decir, se opone a los crecimientos descontrolados como los que se veían en el vídeo anterior. De hecho, usando la transformación de Cole-Hopf (ver aquí) se puede ver que esta ecuación tiene existencia global para cualquier valor de \nu.

De esta manera, el vídeo ahora es

–Referencias:

1) Vincent Duchene, “Decoupled and unidirectional asymptotic models for the propagation of internal waves”, preprint Arxiv, http://arxiv.org/abs/1208.6394.

2) RGB y José Manuel Moreno, “La ecuación de Burgers como un paso previo al estudio de los fluidos incompresibles”, La Gaceta de la RSME, vol 15, num 3, pag, 489-512, 2012. ArXiv preprint http://arxiv.org/abs/1105.5990.

–Nota: Como lo de aproximar soluciones de EDPs es algo muy útil, dedicaremos una entrada próximamente a un método sencillo que produce muy buenos resultados.

Integradores variacionales (Marca ACME) por Fernando Jiménez

Una de las mayores desgracias que sufren los matemáticos, físicos, ingenieros y otros científicos que se ocupan de estudiar la naturaleza desde un punto de vista cuantitativo, es la de no saber resolver (en algunos casos) las ecuaciones diferenciales que esa misma naturaleza, con un poco de mala leche, les plantea. Probablemente esta afirmación no es la mejor publicidad para la ciencia y quienes la practican (… ¡que no saben resolver las ecuaciones!…, pensarán algunos imaginándose un avión en caída libre) aunque, quizá, la dificultad de encontrar dichas soluciones en términos de funciones elementales les proporcione cierto cuartelillo. De hecho, ese cuartelillo no tarda en llegar cuando se presentan ciertos antecedentes al gran público. La reacción de la hermana filóloga de un amigo que se dedica a la física de cuerdas viene bastante al caso: ¡pero cómo van a encontrar la solución!, ¿acaso has visto sus hojas? -le dijo a su madre, mientras discutíamos todos juntos el asunto, refiriéndose a las notas de su hermano. La solución analítica de las ecuaciones diferenciales es por tanto como un ciervo blanco. Pero, ¿quién la necesita cuando se puede encontrar una buena aproximación?

El Análisis es la rama de las matemáticas que se encarga, entre otras cosas, de demostrar que la solución de las ecuaciones diferenciales existe (lo que, aunque los científicos aplicados no lo crean, resulta un gran alivio), mientras que el Análisis Numérico, entre otras cosas, se ocupa de encontrar aproximaciones de esas esquivas soluciones, que llamaremos integradores, y de estudiar sus propiedades.  Las ecuaciones de la física clásica tienen carácter diferencial y se obtienen a partir de la acción de un sistema dado (integral de la función lagrangiana) a partir de principios variacionales (para entradas anteriores sobre este tema ver aquí, aquí o aquí). Se puede probar la existencia de las soluciones a dichas ecuaciones, aunque en muchos casos, sobre todo en los más complejos (que suelen coincidir con los de mayor interés práctico) no sabemos encontrarlas. ¿Debemos encogernos en un rincón y ponernos a llorar? ¡Ni mucho menos! Como se menciona antes, el Análisis Numérico nos echa una mano con sus integradores.

Por otro lado, desde la mitad del siglo pasado se han introducido métodos topológicos y geométricos en el estudio de las ecuaciones diferenciales, en especial de aquellas que provienen de la física y que están relacionadas con sistemas mecánicos (desde los más simples, como puede ser un péndulo o una bolita deslizándose plano abajo, hasta los más complejos, como puede ser el Sistema Solar). Este nuevo campo de investigación que reformula la Mecánica Clásica en lenguaje geométrico se llama actualmente Mecánica Geométrica, y nos enseña interesantes propiedades de las soluciones a las ecuaciones mecánicas. Habitualmente, estas propiedades están relacionadas con la preservación de alguna cantidad geométrica. Ejemplos son la forma simpléctica, cuyo nombre asusta pero que está conectada de una forma más pedestre con el volumen del sistema bajo estudio, o las aplicaciones momento, inquietantes objetos en íntima relación con la simetría de las funciones lagrangiana o hamiltoniana y que nos dan información sobre los invariantes del sistema y parte de su comportamiento (por ejemplo, el hecho de que las órbitas de los planetas estén contenidas en un plano puede explicarse de forma sencilla diciendo que el momento angular de dicho planeta se conserva). El concepto de simetría tiene gran importancia en las matemáticas y física modernas, sobre todo a nivel cuántico. Su vínculo con la preservación de cantidades geométricas, cantidades que en algunos casos tienen una interpretación física reconocible, se encapsula en uno de los hitos más importantes de las matemáticas del siglo XX: el teorema de Noether.

Todo lo anterior está perfectamente formalizado cuando pensamos en las soluciones exactas a las ecuaciones diferenciales (que sabemos que existen). A nivel práctico… ¿qué pasa cuando no sabemos encontrarlas? ¿Nos echamos a llorar de nuevo? ¿Tienen nuestros útiles integradores las mismas propiedades? ¿Preservan a nivel numérico las mismas cantidades que sus contrapartes exactas preservan a nivel continuo? El área de las matemáticas que se encarga de responder a estas preguntas a nivel geométrico es la Mecánica Discreta, área relativamente moderna y en plena ebullición. La respuesta suele ser positiva, bajo ciertas condiciones, lo que nos ofrece una bonita simetría especular entre el mundo de las soluciones exactas y el mundo de los integradores. ¿Hay alguna forma variacional de obtener dichos integradores, tal y como ocurre con las ecuaciones continuas de la física? De nuevo la respuesta es sí, lo que da lugar a uno de los objetos más interesantes y más prácticos dentro de la Mecánica Discreta: los integradores variacionales. La última pregunta suele ser la más peliaguda: ¿son realmente mejores, en algún sentido, los integradores con propiedades geométricos que aquéllos que no las tienen? Pensándolo fríamente, a la hora de simular un sistema mediante un integrador, lo que uno pretende es que dicho integrador sea eficiente, robusto, preciso (es decir, que se aproxime a la solución exacta lo máximo posible) y que sea fácil de traducir en algoritmos comprensibles por un ordenador. Bajo estas consideraciones se puede decir que los integradores geométricos, en concreto los variacionales, no son mejores ni peores que los demás. Lo que sí se comprueba es que algunos de ellos, en concreto los que preservan la forma simpléctica, presentan gran robustez cuando se hacen simulaciones a tiempos largos (son simplécticos, por ejemplo, los integradores empleados en las simulaciones del Sistema Solar).

Lo que sí se puede concluir en cualquier caso, es que tanto el Análisis Numérico como cualquiera de sus estribaciones geométricas, ya sea en forma de Integración Geométrica o Mecánica Discreta, no son áreas menores de las matemáticas o una forma humilde de capitular ante la incapacidad de encontrar soluciones analíticas a ciertas ecuaciones. Todo lo contrario, son ramas poderosas, intrigantes y de gran utilidad práctica, que nos proporcionan lo que la mayoría de las veces resulta más inteligente: una forma de encontrar una solución alternativa y aproximada a un problema demasiado difícil. O en otras palabras: una forma de avanzar en lugar de quedarse paralizado.

–Nota: Esta entrada la ha escrito Fernando Jiménez.

Introducción al cálculo variacional en las matemáticas

Esta entrada es la gemela de la entrada Introducción al cálculo variacional en la física (http://scientiapotentiaest.ambages.es/?p=87). En ella David nos decía

Queremos saber qué camino tomará un cuerpo en una cierta situación. Imaginemos que tenemos una cantidad (un funcional, matemáticamente hablando), a la que llamaremos acción (con unidades de energía por segundo), que depende del “camino” que ese cuerpo toma en su movimiento. Esa acción puede ser calculada para cada cualquier camino siempre y cuando tenga una cierta regularidad.  Pues bien, el camino real, el que tomará el cuerpo y que podrá ser predicho, es aquel que hace de la acción un mínimo (más rigurosamente, un valor estacionario).

Así, el enfoque en mecánica clásica es: dado un sistema físico, obtenemos un funcional; a este funcional se le calculan los puntos críticos y esos puntos críticos nos dan las soluciones del problema. Matemáticamente esto es ir del funcional a la ecuación diferencial.

Veamos esto con un ejemplo: Supongamos que tenemos una partícula de masa unidad bajo el influjo de un potencial U(x) (sistema físico).

Entonces el Lagrangiano se define como

L=E_c-E_p

donde E_c=\frac{1}{2}\left(\frac{dx}{dt}\right)^2 es energía cinética, que depende de la velocidad v=\frac{dx}{dt};  y E_p es energía potencial, que depende del potencial U en el lugar donde la particula se encuentra. Entonces se tiene, si la posición de la partícula se denota como x, que el lagrangiano es

L(x)=\frac{1}{2}\left(\frac{dx}{dt}\right)^2-U(x).

Ahora definimos la acción como A[x]=\int_0^t L(x)dt. Esta acción la hemos obtenido de consideraciones físicas como son la definición de energía cinética y potencial.

Una vez tenemos la acción, queremos minimizarla. Para esto hemos de encontrar los puntos críticos. Si fuese una función de una variable normal y corriente derivaríamos e igualaríamos a 0. Derivar es encontrar el cambio de una cantidad cuando se varía otra de manera infinitesimal. Aquí la idea es similar. Lo que hacemos es, dada una perturbación con los extremos fijos (v(t) tal que v(0)=v(t)=0) de nuestra trayectoria x consideramos la curva y(t)= x(t)+sv(t).

Ahora pensamos la acción para esta nueva curva y como una función de s,

A[y](s)=\int_0^t L(y(t))dt,

y obtenemos el cambio en ella cuando variamos ligeramente s; esto es, derivamos en s y hacemos s=0.

\frac{d}{ds}A[y](s)\bigg{|}_{s=0}=\frac{d}{ds}\left(\int_0^t L(y(t))dt\right)\bigg{|}_{s=0}

Calculamos, utilizando la regla de la cadena,

L(y)=\frac{1}{2}\left(\frac{dx}{dt}+s\frac{dv}{dt}\right)^2-U(x+sv),

\frac{d}{ds}U(x+sv)\bigg{|}_{s=0}=U'(x)v, (para el potencial)

\frac{d}{ds}\frac{1}{2}\left(\frac{dx}{dt}+s\frac{dv}{dt}\right)^2\bigg{|}_{s=0}=\frac{dx}{dt}\frac{dv}{dt}, (para la energía cinética).

Sustituyendo obtenemos \int_0^t \frac{dx}{dt}\frac{dv}{dt} dt-\int_0^t U'(x)vdt, y si integramos por partes en la primera integral nos queda

\int_0^t (-\frac{d^2x}{dt^2}-U'(x))vdt.

Esta integral debe ser 0 para que nuestra x sea un punto crítico del funcional, y además debe serlo para toda perturbación v.

Estas consideraciones nos imponen una relación entre las derivadas \frac{d^2x}{dt^2} y U'(x),

\frac{d^2x}{dt^2}+U'(x)=0

que es, nada más y nada menos, la segunda ley de Newton.

Este enfoque va desde el funcional, que se obtiene con consideraciones físicas, a la ecuación diferencial. O de otra manera, se usa una ecuación diferencial para solucionar un problema de minimizar un funcional.

Sin embargo también existe el método inverso. Supongamos que tenemos una ecuación diferencial (generalmente en derivadas parciales) como puede ser

\Delta u= f(u)

con f una función no lineal, por ejemplo un polinomio. Así, el llamado Método Directo del Cálculo de Variaciones consiste en definir un funcional tal que sus puntos críticos vengan dados por la ecuación que era nuestro problema original.

Demostrar la existencia de solución para la ecuación original es lo mismo que conseguir un punto crítico de nuestro funcional. Si además probamos que es único entonces la ecuación tendrá una única solución. Así con este enfoque vamos desde la ecuación al funcional.

Y como seguir abundando en este tema puede ser muy técnico lo dejaremos aquí por el momento.

¿Qué es exactamente una EDO?

A lo largo de las entradas de esta bitácora han ido apareciendo conceptos relativamente avanzados (ecuaciones en derivadas parciales…) sin mencionar casi los conceptos previos (previos en el sentido pedagógico, porque cronológicamente surge todo al mismo tiempo) como pueden ser las ecuaciones diferenciales ordinarias.

Una ecuación diferencial ordinaria (EDO a partir de ahora) es una expresión que relaciona la derivada de la función incógnita con la propia función. Así el problema queda reducido a ver si podemos encontrar (o demostrar que existe) una función tal que se verifique una relación más o menos complicada entre ella y sus tasas de cambio.

Un ejemplo lo tenemos en la Ley de Malthus. Supongamos que tenemos un número de insectos f. El incremento del número de insectos evolucionará de manera proporcional a el mismo, o de otra manera, en ausencia de rivales o limitaciones propias del medio la cantidad de hijos que medran es proporcional al número de padres. Razonable, ¿verdad?. Así la EDO la podemos escribir como f'(t)=cf(t), f(0)=f_0.

Unos comentarios antes de seguir: el número de datos iniciales (como f(0)=f_0 en el ejemplo anterior) tiene que ser el mismo que el máximo número de derivadas presentes en la expresión. Así como la ecuación anterior tenía una derivada debíamos poner un dato inicial. En el ejemplo del oscilador armónico al tener la ecuación x''=\omega^2 x necesitamos dos datos iniciales, x(0)=x0 y x'(0)=v0. Supongamos que tenemos una EDO de segundo orden (es decir, con dos derivadas) como la del oscilador armónico, entonces la solución general se escribe como $latex f(t)= c_1 e^{omega t}+ c_2e^{-omega t}$, donde para c_i son dos constantes que se fijan usando los datos iniciales.  Es decir, el conjunto de soluciones de una EDO linear de segundo orden (sin usar los datos iniciales) es un espacio vectorial (gracias a la linearidad) de dimensión 2 (el número de derivadas). Esta es una diferencia fundamental (y poco conocida entre los físicos) con respecto a las EDPs, pues una EDP tiene un espacio de soluciones de dimensión infinita.

Parece claro que conseguir escribir la solución de una EDO de manera explícita, es decir, una fórmula cerrada, no va a ser fácil o siquiera posible en cuanto la EDO sea no-lineal, por ejemplo algo como f''(t)=f^2(t)f'(t). Nos interesa entonces saber que existe dicha solución, ser capaces de simularla con el ordenador y ser capaces de extraer propiedades cualitativas.

Para una EDO general, f'(t)=F(t,f(t)), la existencia se puede segurar si se dan unas propiedades en la expresión F(x,y), a saber, que sea derivable en la variable y.

Para aproximar la solución de la EDO f'=F(t,f(t)) f(t_0)=f_0 se tienen que aproximar unas integrales, f(t)=f_0+\int_0^t F(s,f(s))ds. Según el método que usemos tendremos una mejor o peor cota del error cometido. La manera típica, conocida como métodos Runge-Kutta, de hacerlo es considerar una serie de puntos entre dos nodos temporales y calcular el valor de la función F en esos puntos. Después hemos de sumar dichos valores con unos pesos. La teoría de los métodos Runge-Kutta es bien conocida y se puede encontrar en la red sin mucho problema (siempre que se hable un mínimo de inglés al menos). Aquí voy a colgar unos códigos hecho por mí:

function [u,t,h,totalt]=euler(F,t0,T,u0,N)
%funcion que aproxima con un metodo de Euler explicito la solucion de la edo
%u’=F(u,t) hasta tiempo T con N nodos temporales. u0 es el dato inicial.
%%Rafael Granero Belinchon
tic
h=(T-t0)/N;
t=[t0:h:T];
u=zeros(N+1,1);
u(1)=u0;
for i=2:N+1
u(i)=u(i-1)+feval(F,u(i-1),t(i-1))*h;
end
plot(t,u);
totalt=toc;

function [u,t,h,totalt]=rungekutta4(F,t0,T,u0,N)
%Funcion que aproxima con una RK4 la solucion de
%y’=F(y) y(t0)=u0 y tiempo final T. N da el numero
%de nodos temporales.
%%Rafael Granero Belinchon
tic
h=(T-t0)/N;
t=[t0:h:T];
u=zeros(N+1,1);
u(1)=u0;
for i=2:N+1
s1=feval(F,u(i-1),t(i-1));
s2=feval(F,u(i-1)+h*0.5*s1,t(i-1)+h*0.5);
s3=feval(F,u(i-1)+h*0.5*s2,t(i-1)+h*0.5);
s4=feval(F,u(i-1)+h*s3,t(i-1)+h);
u(i)=u(i-1)+(s1+2*s2+2*s3+s4)*h/6;
end
plot(t,u);
totalt=toc;

function [u,t,totalt]=rungepasovariable(F,t0,T,u0,N,tol)
%funcion que aproxima con un metodo de paso variable
%la solucion de la ecuacion diferencial y’=F(y) en [t0,T]
%con u0 como dato inicial una cantidad N de pasos temporales y una tolerancia tol.
%%Rafael Granero Belinchon
tic
t=[t0];
dt=(T-t0)/N;
u=[u0];
u1=u;
u2=u;
while t(end)<=T
fev=feval(F,u(end),t(end));
s=u(end)+0.5*dt*fev;
u2(end+1)=u(end)+feval(F,s,t(end)+0.5*dt)*dt;
u1(end+1)=u(end)+fev*dt;
err=abs(u2(end)-u1(end));
h=0.9*dt*sqrt(tol/err);
u(end+1)=u(end)+feval(F,s,t(end)+0.5*h)*h;
t(end+1)=t(end)+h;
dt=h;
end
totalt=toc;

¿Podemos ir hacia atrás (matemáticamente) en el tiempo?

Me comentó David que sería interesante que explicase un poquito de lo que significa la reversibilidad temporal desde el punto de vista de las ecuaciones en derivadas parciales (EDPs de ahora en adelante). Es decir, sin mencionar nada de entropías. Este es un tema muy interesante e importante aunque a primera vista parezca una tontería. Lo hemos puesto como una serie de dos entradas. La primera (esta que estás leyendo) presentará las EDPs más fáciles y estudiará sus propiedades de cara a la reversibilidad temporal. En la segunda veremos la derivación de unos modelos más complicados y trataremos de entender dónde aparece la irreversibilidad temporal. Lo cierto es que en cierto modo es llamativo, pues las leyes de Newton son reversibles en tiempo y muchas (casi todas) de las ecuaciones de las que hablaremos surgen de ellas.

Viendo qué ocurre:
Para entender qué quiere decir y qué implica la reversibilidad (o irreversibilidad) temporal hemos de comprender primero los ejemplos más básicos de EDPs. Como dato para los técnicos supondré que todos los problemas están puestos para (t,x)\in [0,T]\times\mathbb{R}. Inmerso en el texto hay imágenes .jpg, imágenes animadas .gif (pinchad en ellas para que empiecen a moverse) y código Matlab (¡usadlo si podéis!).

La ecuación del transporte:

Comenzaremos con la ecuación del transporte unidimensional con coeficientes constantes. Esta es la EDP más sencilla que podemos poner.

\partial_t u + c \partial_x u=0, u(0,x)=f(x).

Supondremos que f es una función derivable con derivada continua una vez. La solución de esta ecuación es u(t,x)=f(x-ct) (¡comprobadlo!). Esta ecuación se llama ‘del transporte’ porque lo que hace es eso ‘mueve’ nuestra distribución inicial f. Si queremos cambiar el sentido del tiempo hemos de hacer el cambio t por -t. Entonces la nueva ecuación es

-\partial_t u + c \partial_x u=0, u(0,x)=f(x).

Observamos que el cambiar el tiempo de sentido es equivalente a cambiar el signo de c. Si utilizamos el código que propongo con varios valores de c observamos que este parámetro es una velocidad. Por lo tanto, parece natural que cambiar el sentido del tiempo cambie el sentido del movimiento. Es decir, que si para c>0 íbamos a la derecha, para tiempos negativos (o equivalentemente -c) tenemos que ir a la izquierda. Concluímos así que la ecuación del transporte es reversible en tiempo y que la reversibilidad es muy natural si partimos del proceso físico que se modela con esta ecuación.


Otra consecuencia, ésta mucho más sutil, de la reversibilidad temporal es que nuestra solución NUNCA va a ser mejor que nuestro dato inicial f. Esto es obvio en este caso porque tenemos una solución explícita, pero es cierto en general. Si u tuviese más derivadas que f entonces dando la vuelta al tiempo tendríamos una contradicción.

function [u,x,t]=transporte(dx,dt,f,c)
%%
%Funcion que me aproxima la solucion exacta (conocida) de la
%ecuacion del transporte u_t+cu_x=0 con dato inicial
% u(0,x)=f(x), paso espacial dx y paso temporal dt.
%f sera una funcion
% Rafael Granero Belinchon
%%

%Definicion de parametros:
T=10; %El tiempo final
t=0:dt:T; %el vector de tiempos
x=-pi:dx:pi; %el vector de espacio donde queremos
%nuestra aproximacion. No necesitamos condiciones de borde ¿por que?
u=zeros(length(x),length(t));
F=feval(f,x);

%Calculo de la solucion:
%La solucion del problema anterior es u(x,t)=f(x-ct)
u(:,1)=F;
for j=2:length(t)
u(:,j)=feval(f,x-c*t(j));
plot(x,u(:,j-1));%Representacion de los resultados
drawnow
end

function f=prueba(x)
f=sin(x);


La ecuación de ondas:

La siguiente ecuación es el paradigma de ecuación hiperbólica. Me refiero a la ecuación de ondas. Viendo el nombre está claro qué proceso físico quiere describir ¿no?.

Esta ecuación se escribe

\partial_t ^2 u= c^2\partial_x^2 u, u(0,x)=f(x), \partial _t(0,x)=g(x).

Visualmente parece mucho más complicada que la ecuación del transporte… sin embargo en realidad es igual (al menos en un cierto sentido). Vamos a escribirla como un sistema. Para ello definimos el sistema

\partial_t u=c\partial_x v, \partial_t v=c\partial_x u.

Si ahora derivamos en tiempo la ecuación para \partial_t u y utilizamos la segunda ecuación obtenemos

\partial_t^2 u=c\partial_x \partial_tv=c^2\partial_x ^2 u.

Es decir, que la ecuación de ondas no es más que dos transportes acoplados. Sin embargo todavía podemos hacerlo mejor. Podemos darnos cuenta de que el operador diferencial se puede escribir como

\partial_t^2-c^2\partial_x^2=(\partial_t + c\partial_x)(\partial_t-c\partial x),

y por lo tanto si tenemos u=u_1+u_2 con

\partial_t u_1 + c\partial_x u_1=0; \partial_t u_2 - c\partial_x u_2=0

tenemos una solución de la ecuación original. Concluímos que, como la ecuación del transporte era reversible, la ecuación de ondas, que se puede escribir como un par de ecuaciones del transporte debe ser reversible también.

La ecuación del calor:

Esta ecuación es parabólica. Se escribe

\partial_t u= \partial_x^2 u, u(0,x)=f(x).

Visualmente parece estar a medio camino entre la ecuación del transporte y la ecuación de ondas, sin embargo su comportamiento en radicalmente distinto. Para convencernos de ello podemos ‘jugar’ un poco con el código Matlab que adjunto. Los datos iniciales por defecto son los mismos, pero os animo a cambiarlos.

function [u,x,t,mx]=heatff(N,dt,K)
%%
%Funcion que me aproxima la solucion de la
%ecuacion del calor con dato inicial seno
%con condiciones periodicas (para usar FFT)
%N es el numero de nodos espaciales que se quieren
%usar. dt es el paso temporal que se quiere.
%K es la constante de difusion.
%Devuelve el espacio, el tiempo, la aproximacion de
%la solucion y el maximo de dicha solucion en cada tiempo
%Rafael Granero Belinchon
%%
T=5;%Tiempo final
dx=2*pi/(N-1);
x=-pi:dx:pi;%Espacio
t=0:dt:T;%Tiempo
uo=sin(x);%dato inicial
for k=1:N/2 %Operador laplaciano en espacio de fourier
L(k)=(k-1)*(k-1);
L(k+N/2)=(N/2-k+1)*(N/2-k+1);
end
L=K*L;
u(:,1)=uo’;
mx(1)=max(uo);
for l=1:length(t)
u(:,l+1)=ifft(exp(-L*dt*l).*fft(uo))’;%solucion
mx(l+1)=max(u(:,l+1));%Evolucion del maximo
plot(x,u(:,l));axis([-pi,pi,-1,1]);%Representacion de los resultados
drawnow
end
end

Para estudiar esta ecuación vamos a utilizar la transformada de Fourier. Para la transformada de Fourier de u(x) usaremos la notación \hat{u}(k). Así si transformamos la ecuación en espacio obtenemos las ecuaciones diferenciales ordinarias (EDOs a partir de ahora) indexadas en la longitud de onda k siguientes

\frac{d}{dt}\hat{u}(t,k)=-k^2\hat{u}(t,k), \hat{u}(0,k)=\hat{f}(k).

Esta ecuación la podemos resolver explícitamente

\hat{u}(t,k)=e^{-k^2t}\hat{f}(k).

Observemos ahora qué quiere decir el cambio del sentido del tiempo. De nuevo hagamos el cambio t por -t. La ecuación nos queda

\partial_t u= -\partial_x^2 u, u(0,x)=f(x).

No se ve nada claro, sin embargo, si buscamos los efectos del cambio en la solución explícita tenemos

\hat{u}(t,k)=e^{k^2t}\hat{f}(k),

de manera que cuando invirtamos la transformada de Fourier estamos calculando una convolución con una función que no está acotada, ni tiene ninguna potencia integrable… Vamos, que nuestra solución (que existe explícitamente) no está en ningún espacio razonable ni con propiedades físicas razonables. Por ejemplo, si u es la temperatura, entonces su integral (que es el calor) debe ser finita. Pues si damos la vuelta al tiempo obtenemos calor infinito para cualquier tiempo. Concluímos que la ecuación del calor NO es reversible en tiempo.

Una propiedad que a veces se da en las ecuaciones irreversibles y que es bien interesante es el ‘efecto regularizante’. Es decir, tu dato inicial f es continuo (por ejemplo), pero tu solución u es infinitamente derivable para todo tiempo (positivo). Como ya hemos mencionado antes, este comportamiento difiere del de las ecuaciones hiperbólicas usuales. La prueba de esto se puede hacer sin más que multiplicar por u e integrar por partes en espacio (¡comprobadlo!). Después basta observar que la ecuación es invariante por derivación tanto en tiempo como en espacio (¡Concluid el argumento!).

Vistos estos 3 ejemplos parece que hay una relación entre la ‘simetría’ del problema y su reversibilidad temporal. Quiero decir que, al menos de momento, las ecuaciones que tienen el mismo número de derivadas temporales que espaciales han resultado ser reversibles, mientras que las que no las tienen son irreversibles.

Otra cosa que se nos puede ocurrir es que las ecuaciones reversibles sean las que ‘no tiendan a nada’. Así vemos que la ecuación del calor tiende a ser idénticamente cero (necesita tiempo infinto para llegar a serlo) mientras que la ecuación del transporte sólo se movía por el espacio.

Veamos otro ejemplo:

La ecuación de Schrödinger:

Esta ecuación, clave en mecánica cuántica, se escribe

\partial _t u= i\partial_x^2 u, u(0,x)=f(x).

Si repetimos el análisis que hicimos para la ecuación del calor obtenemos que la solución es

\hat{u}(t,k)=e^{-ik^2t}\hat{f}(k),

que tiene un comportamiento oscilatorio. Por lo tanto, pese a tener una derivada en tiempo y dos en espacio se parece más a una ecuación de ondas que a una ecuación del calor. Observamos que el hecho de que aparezca la unidad imaginaria hace que u no sea real, sino compleja. Por lo tanto tiene una función conjugada. Si ahora cambiamos el sentido del tiempo observamos que para la función conjugada \bar{u} la ecuación es la misma. Por lo tanto si u es nuestra solución con el tiempo hacia delante, \bar{u} es una solución con el tiempo hacia atrás. Por lo tanto la ecuación de Schrödinger es reversible. Este ejemplo desmonta la hipótesis de que als reversibles debían tener el mismo número de derivadas en espacio y en tiempo.

function [u,x,t,L2,mx]=schrodinger(N,dt)
%%
%Funcion que me aproxima la solucion de la
%ecuacion de schrodinger con dato inicial seno
%con condiciones periodicas (para usar FFT)
%N es el numero de nodos espaciales que se quieren
%usar. dt es el paso temporal que se quiere.
%Devuelve el espacio, el tiempo, la aproximacion de
%la solucion, la norma L^2 de dicha solucion en cada tiempo
%y el maximo de la solucion en todo tiempo.
%Rafael Granero Belinchon
%%
T=5;%Tiempo final
dx=2*pi/(N-1);
x=-pi:dx:pi;%Espacio
t=0:dt:T;%Tiempo
uo=sin(x);%dato inicial
for k=1:N/2 %Operador laplaciano en espacio de fourier
L(k)=(k-1)*(k-1);
L(k+N/2)=(N/2-k+1)*(N/2-k+1);
end
L=i*L;
u(:,1)=uo’;
L2(1)=norm(uo)*dx;
mx(1)=max(abs (uo));
for l=1:length(t)
u(:,l+1)=ifft(exp(-L*dt*l).*fft(uo))’;%solucion
L2(l+1)=norm(u(:,l+1))*dx;%Evolucion de la norma L^2
mx(l+1)=max(abs(u(:,l+1)));%Evolución del máximo
plot(x,real(u(:,l)));axis([-pi,pi,-1,1]);%Representacion de los resultados
drawnow
end
end

Como dato anécdotico de esta ecuación hacemos notar que no puede reflejar efectos relativistas (¿por qué?).

En la próxima entrada, enlazando con esta, trataré la derivación desde la mecánica hamiltoniana de los modelos que se utilizan en mecánica de fluidos y trataré de explicar dónde aparece la irreversibilidad en el proceso. Sin embargo, esto es algo que no está ‘completamente entendido’ todavía.