You are currently browsing the monthly archive for septiembre 2012.

En el cáculo de este post, como \mathcal{L}_X d\alpha = d \mathcal{L}_X \alpha, y en este caso conocemos \alpha, también podemos hacer:

\mathcal{L}_{[X,Y]}d \alpha = d\mathcal{L}_Z \alpha = d \big [ \mathcal{L}_{(-4 \frac{\partial}{\partial x} - 12y \frac{\partial}{\partial z})} (2xy\,dz - z \, dx \big ])

Calculamos, en primer lugar, \mathcal{L}_Z \alpha:

\mathcal{L}_Z (2xy \, dz) - \mathcal{L}_Z (z \, dx)

Por una parte, tenemos:

\mathcal{L}_Z (2xy \, dz) = (\mathcal{L}_Z 2xy) \, dz + 2xy \, \mathcal{L}_Z dz =

= (-4 \frac{\partial}{\partial x} 2xy - 12y \frac{\partial}{\partial z} 2xy ) \, dz + 2xy \, d(-4 \frac{\partial}{\partial x} z - 12y \frac{\partial}{\partial z} z) =

= -24xy \, dy - 8y \, dz

Y por otra:

\mathcal{L}_Z (z \, dx) = \mathcal{L}_Z z \, dx + z \, \mathcal{L}_Z dx =

= (-4 \frac{\partial}{\partial x} z - 12y \frac{\partial}{\partial z} z) \, dx + z \, d(-4 \frac{\partial}{\partial x} x - 12y \frac{\partial}{\partial z} x) =

= -12y \, dx

Por lo tanto, tenemos:

12y \, dx -24xy \,dy - 8y \, dz

Finalmente, solo queda calcular:

d \big [ 12y \, dx -24xy \,dy - 8y \, dz \big ] =

= 12 \, dy \wedge dx - 24 \, d(xy) \wedge dy - 8 \, dy \wedge dz =

12 \, dy \wedge dx - 24 \, (y \, dx + x \, dy) \wedge dy - 8 \, dy \wedge dz =

-12(2y + 1) \, dx \wedge dy - 8 \, dy \wedge dz

ya que -24x \, dy \wedge dy = 0 por la propiedad de que d^2 = 0, obteniendo así el mismo resultado que anteriormente.

Ya nos apareció la derivada de Lie. Con los datos de este post, ¿Cómo calcularíamos \mathcal{L}_{[X,Y]} \beta con \beta := d \alpha?

Primero necesitamos calcular el corchete de Lie de los campos dados:

Z:=[X,Y] = -4 \frac{\partial}{\partial x} -12y \frac{\partial}{\partial z}

y que es otro campo vectorial, a continuación necesitamos  la 2-forma resultante de calcular la diferencial exterior de la 1-forma::

\beta = 2y+1\,dx \wedge dz + 2x\,dy\wedge dz

y finalmente calcular la derivada de Lie de la forma respecto del campo.

Todos los cálculos se reduciran a saber aplicar la derivada de Lie a funciones, campos vectoriales y a la diferencial exterior de 1-formas sabiendo que es una derivación:

  1. \mathcal{L}_Xh = X(h)
  2. \mathcal{L}_XY = [X,Y]
  3. \mathcal{L}_X d\alpha = d \mathcal{L}_X (\alpha)

de manera que:

\mathcal{L}_Z \beta = \mathcal{L}_Z (2y+1\,dx \wedge dz + 2x\,dy\wedge dz) =

\mathcal{L}_Z (2y+1 \, dx \wedge dz) + \mathcal{L}_Z (2x \, dy \wedge dz) =

\mathcal{L}_Z(2y+1) \, dx \wedge dz + (2y +1) \mathcal{L}_Z(dx) \wedge dz + (2y+1) \, dx \wedge \mathcal{L}_Z(dz) +

\mathcal{L}_Z(2x) \, dy \wedge dz + 2x \mathcal{L}_Z(dy) \wedge dz + 2x \, dy \wedge \mathcal{L}_Z(dz)).

Para evitar errores, calculamos separadamente cada derivada de Lie:

\mathcal{L}_Z (2y+1) = Z(2y+1) = [X,Y](2y+1) = (-4 \frac{\partial}{\partial x} -12y \frac{\partial}{\partial z})(2y+1) =

= -4 \frac{\partial}{\partial x}(2y+1) -12y \frac{\partial}{\partial z}(2y+1) = 0

\mathcal{L}_Z (dx) = d \mathcal{L}_Z x = d([X,Y](x)) = d(-4 \frac{\partial}{\partial x}x -12y \frac{\partial}{\partial z}x) = d(-4)=0

\mathcal{L}_Z(dz) = d \mathcal{L}_Z z = d([X,Y](z) = d(-4 \frac{\partial}{\partial x}z -12y \frac{\partial}{\partial z}z)) = -12 dy

\mathcal{L}_Z (2x) = [X,Y](2x) = -4 \frac{\partial}{\partial x}2x -12y \frac{\partial}{\partial z}2x = -8

\mathcal{L}_Z (dy) = d \mathcal{L}_Z y = d([X,Y](y)) = d(-4 \frac{\partial}{\partial x}y -12y \frac{\partial}{\partial z}y) = 0

\mathcal{L}_Z(dz) = -12 dy

Por lo que, finalmente, tenemos:

-12(2y+1) \, dx \wedge dy - 24 \, dy \wedge dy - 8 \, dy \wedge dz

y como d^2 = 0, nos queda:

-12(2y+1) \, dx \wedge dy -8 \, dy \wedge dz

Realizaremos algunos cálculos típicos en variedades diferenciables. Para ello, vamos a suponer que tenemos el campo vectorial

X = -4y \frac{\partial}{\partial x} + 9x \frac{\partial}{\partial y} + \frac{\partial}{\partial z} \in \mathfrak{X}(\mathbb{R}^3)

y el campo vectorial

Y=-\frac{\partial}{\partial y} + 3x \frac{\partial}{\partial z} \in \mathfrak{X}(\mathbb{R}^3).

Tenemos tambien la 1-forma \alpha = 2xy dz - z dx. En este caso trabajamos con la variedad M = \mathbb{R}^3 (en física los escribiríamos X(x,y,z) = (-4y,9x,1) o \vec{Y}=(0,-1,3x)).

Empezaremos calculando un corchete de Lie. ¿Cómo queda el cálculo de [X,Y]? Si escribimos el corchere con los campos concretos nos queda:

[X,Y] = [-4y \frac{\partial}{\partial x} + 9x \frac{\partial}{\partial y} + \frac{\partial}{\partial z},-\frac{\partial}{\partial y} + 3x \frac{\partial}{\partial z}].

Lo primero que hacemos es aplicar que el corchete de Lie es bilineal, por lo que la expresión anterior queda:

[-4y \frac{\partial}{\partial x},-1 \frac{\partial}{\partial y} ] + [-4y \frac{\partial}{\partial x}, 3x \frac{\partial}{\partial z}] +

+ [9x \frac{\partial}{\partial y},-1 \frac{\partial}{\partial y}] + [9x \frac{\partial}{\partial y}, 3x \frac{\partial}{\partial z}] +

+ [1 \frac{\partial}{\partial z},-1 \frac{\partial}{\partial y}] + [1 \frac{\partial}{\partial z}, 3x \frac{\partial}{\partial z}]

Se puede demostrar que si g,h \in C^\infty(M) y X,Y \in \mathfrak{X}(M) entonces:

[gX,hY] = gX(h)Y - hY(g)X + gh[X,Y],

por lo que, si la aplicamos a nuestro caso concreto, nos queda:

-4y \frac{\partial(-1)}{\partial x} \frac{\partial}{\partial y} + 1 \frac{\partial (-4y)}{\partial y} \frac{\partial}{\partial x} + (-4y)(-1)[\frac{\partial}{\partial x},\frac{\partial }{\partial y}] +

-4y \frac{\partial(3x)}{\partial x} \frac{\partial}{\partial z} - 3x \frac{\partial (-4y)}{\partial z} \frac{\partial}{\partial x} + (-4y)(3x)[\frac{\partial}{\partial x},\frac{\partial }{\partial z}] +

9x \frac{\partial(-1)}{\partial y} \frac{\partial}{\partial y} + 1 \frac{\partial (9x)}{\partial y} \frac{\partial}{\partial y} + (9x)(-1)[\frac{\partial}{\partial y},\frac{\partial }{\partial y}] +

9x \frac{\partial(3x)}{\partial y} \frac{\partial}{\partial z} - 3x \frac{\partial (9x)}{\partial z} \frac{\partial}{\partial y} + (9x)(3x)[\frac{\partial}{\partial y},\frac{\partial }{\partial z}] +

1 \frac{\partial(-1)}{\partial z} \frac{\partial}{\partial y} + 1 \frac{\partial (1)}{\partial y} \frac{\partial}{\partial z} + (1)(-1)[\frac{\partial}{\partial z},\frac{\partial }{\partial y}] +

1 \frac{\partial(3x)}{\partial z} \frac{\partial}{\partial z} - 3x \frac{\partial (1)}{\partial z} \frac{\partial}{\partial z} + (1)(3x)[\frac{\partial}{\partial z},\frac{\partial }{\partial z}].

Realizando las derivadas parciales indicadas (\frac{\partial (-1)}{\partial x} =0, \frac{\partial (-4y)}{\partial y} = 4, …) y teniendo en cuenta que el corchete de Lie de campos coordenados es nula, nos queda:

[X,Y] = -4 \frac{\partial}{\partial x} -12y \frac{\partial}{\partial z} \in \mathfrak{X}(\mathbb{R}^3).

Vamos a calculara ahora d\alpha. Para empezar, aprovechamos que es lineal, por lo que:

d\alpha = d(2xydz - zdx) = d(2xydz) - d(zdx)

y ahora aplicamos la definición del operador diferencial exterior a cada sumando:

d(2xy)\wedge dz - d(z) \wedge dx

finalmente, como la diferencial exterior sobre funciones es la diferencial ordinaria, aplicando las propiedades distributiva, antisimétrica y d^2=0, nos queda:

(2ydx + 2xdy) \wedge dz - dz \wedge dx =

2y \, dx \wedge dz + 2x \, dy \wedge dz + dx \wedge dz

Por lo, finalmente, nos queda:

d\alpha = 2y+1\,dx \wedge dz + 2x\,dy\wedge dz

En el artículo «MAGMA: a three-dimensional, Lagrangian magnetohydrodynamic code for merger applications» de S. Rosswog y D. Price comentan como introducir campos magnéticos en SPH. Las ecuaciones ya discretizadas quedan:

Ecuación de densidad:

\rho = \sum_b m_b W(r-r_b,h)

Ecuación del momento (conh: «grad-h» term, mag: magnetic force term, g: self-gravity and gravitational softening term)

\frac{d}{dt}v_{a,MHD} = \frac{d}{dt} (v_{a,h}+v_{a,h,dis}+v_{a,g}+v_{a,mag}+v_{a,mag,dis})

donde

\frac{d}{dt}v_{a,h} = -\sum_b m_b \big ( \frac{P_a}{\Omega_a \rho_a^2} \nabla_a W_{ab}(h_a)+ \frac{P_b}{\Omega_b \rho_b^2} \nabla_a W_{ab}(h_b) \big )

\frac{d}{dt}v_{a,h,dis} =

\frac{d}{dt}v_{a,g} = -G \sum_b m_b \big [ \frac{\phi'_{ab}(h_a) + \frac{\phi'_{ab}(h_b)}{}}{2} \big ]\hat{e}_{ab}

-\frac{G}{2} \sum_b m_b \big [ \frac{\zeta_a}{\Omega_a} \nabla_a W_{ab}(h_a) + \frac{\zeta_b}{\Omega_b} \nabla_a W_{ab}(h_b) \big ]

con

\phi'_{ab} = \frac{\partial \phi}{\partial|r_a-r_b|}, \zeta_k := \frac{\partial h_k}{\partial \rho_k} \sum_b m_b \frac{\partial \phi_{kb}(h_k)}{\partial h_k}

y

\Omega_a := \big ( 1- \frac{\partial h_a}{\partial \rho_a} \cdot \sum_b m_b \frac{\partial}{\partial h_a} W_{ab}(h_a) \big )

\frac{d}{dt}v_{a,mag} = - \sum_b \frac{m_b}{\mu_0} \big \{ \frac{B_a^2 / 2}{\Omega_a \rho_a^2} \nabla_a W_{ab}(h_a) + \frac{B_b^2 / 2}{\Omega_b \rho_b^2} \nabla_a W_{ab}(h_b) \}

+ \sum_b \frac{m_b}{\mu_0} \big \{ \frac{B_a(B_a \cdot \overline{\nabla_a W_{ab}}) - B_b(B_b \cdot \overline{\nabla_a W_{ab}})}{\rho_a \rho_b} \big \}

con

\overline{\nabla_a W_{ab}} = \frac{1}{2} \big [ \frac{1}{\Omega_a} \nabla_a W_{ab}(h_a) + \frac{1}{\Omega_b} \nabla_a W_{ab}(hb) \big ]

\frac{d}{dt}v_{a,mag,dis} =

Ecuación de la energía (con h: «grad-h» term, AV: Artificial Viscosity term y C: Condutivity):

\frac{d}{dt}u_{a,MDH} = \frac{d}{dt} (du_{a,h} + du_{a,AV} + du_{a,C})

donde

\frac{d}{dt}u_{a,h} = \frac{1}{\Omega_a} \frac{P_a}{\rho_a^2} \sum_b m_b v_{ab} \cdot \nabla_a W_{ab}(h_a)

\frac{d}{dt}u_{a,AV} =

\frac{d}{dt}u_{a,C} =

Integración en el plano complejo.

Definición (Camino, camino opuesto y caminos equivalentes): Un camino es una aplicación

\gamma:[a,b] \longrightarrow \mathbb{C}

de clase C^1 a trozos. Si además \gamma(a) = \gamma(b) entonces tenemos un camino cerrado.

Se llama camino opuesto de \gamma a la aplicación

(-\gamma):[-b,-a] \longrightarrow \mathbb{C} \,/\, t \mapsto (-\gamma)(t):=\gamma(-t)

o, de manera equivalente, para mantener el mismo dominio

(-\gamma):[a,b] \longrightarrow \mathbb{C} \,/\, t \mapsto (-\gamma)(t):=\gamma(a+b-t).

Dados dos caminos \alpha:[a,b] \longrightarrow \mathbb{C} y \beta:[c,d] \longrightarrow \mathbb{C} son equivalentes si existe \varphi:[c,d] \longrightarrow [a,b] biyectiva de clase C^1a trozos creciente de manera que $\beta = \alpha \circ \varphi$.

Definición (Integración a lo largo de un camino): Sea f:U \subset \mathbb{C} \longrightarrow \mathbb{C} una función continua y sea \gamma:[a,b] \longrightarrow \mathbb{C} un camino C^1 tal que \gamma^* := \gamma([a,b]) \subset U. Entonces:

\int_\gamma f(z) dz = \int_a^b f(\gamma(t)) \gamma'(t) dt

Propiedades: Dada f:A \subset \mathbb{C} \longrightarrow \mathbb{C} es sencillo demostrar

  1. \int_\gamma a f(z)+b g(z) dz = a \int_\gamma f(z)dz + b \int_\gamma f(z)dz.
  2. Si \alpha y \beta son equivalentes en A entonces \int_\alpha f(z)dz = \int_\beta f(z)dz.
  3. \int_\gamma f(z)dz = -\int_{-\gamma} f(z)dz.
  4. Si \gamma = \alpha \cup \beta entonces \int_\gamma f(z)dz = \int_\alpha f(z)dz + \int_\beta f(z)dz.
  5. |\int_\gamma f(z)dz| \leq M L(\gamma) donde M:= \max \{ |f(z)|: z \in \gamma^* \} y L(\gamma) es la longitud de la curva \gamma.
  6. Teorema fundamental de cálculo: \int_\gamma f(z) dz = F(\gamma(b)) - F(\gamma(a)), siendo F una primitiva de f. En particular, si \gamma es cerrado y \gamma(a) = \gamma(b) entonces \int_\gamma f(z) dz = 0.

Teorema de Cauchy.

Teorema (de Cauchy)

Corolario (Existencia de primitiva de una función analítica)

Teorema (de Morera)

Fórmula de Cauchy.

Fórmula integral de Cauchy: Sea A un abierto, sea \overline{D(z_0,R)} \subset A y f \in \mathcal{H}(A). Entonces

f(z) = \frac{1}{2 \pi i} \int_{C(z_o,R)} \frac{f(u)}{u-z} du siempre que |z-z_0|<R

Fórmula integral de Cauchy para derivadas: Sea f \in \mathcal{H}(A), \overline{D(z_0,R)} \subset A. Entonces

f^{n)}(z) = \frac{n!}{2 \pi i} \frac{f(u)}{(u-z)^{n+1}}du,\, \forall z \in D(z_0,R).

Teorema (de Liouville):

Teorema (fundamental del álgebra):

Teorema (de Weierstrass):

Definición (Indice de un punto respecto de un camino): Sea \gamma un camino y sea A = \mathbb{C} - \gamma^*. Entonces se define el índice de z \in A respecto de \gamma al número:

ind_\gamma(z) = \frac{1}{2\pi i} \int_\gamma \frac{du}{u-z}

El Dr. Treb Lae y la Dra. Aini Vadh simulan colisiones de objetos compactos. Para poder hacerlas es para lo que me utilizan. Mi nombre es Tnala y soy una supercomputadora. Pero no una cualquiera, no, soy una de las que aparece en el TOP500.

—Vamos a hacer otra simulación —dice Treb—. ¿Qué colocamos esta vez?

—Probemos con una estrella de neutrones y un agujero negro. Pero vamos a cambiar algunas cosillas —contesta Aini.

Coge el ratón, se inclina sobre la pantalla y empieza a trabajar. Para empezar, distribuye los objetos sobre el escenario de la simulación, a continuación, define los parámetros que caracterizan a cada uno de los objetos compactos y, finalmente, modifica algunas cuestiones referentes a la propia simulación. Pero cuando ya parece que lo tiene, se reclina sobre la silla y se queda pensando. No lo tiene claro. Casi siempre, antes de empezar cualquier simulación, cambian una y otra vez las cosas. Es por eso que, hasta que no empiezo a simular, no pierdo el tiempo creado una y otra vez los diferentes objetos. Simplemente me guardo la información para luego.

—Creo que será mejor trabajar solo con estrellas —afirma finalmente Aini con determinación—. Probemos con dos estrellas con estas ecuaciones de estado, ¿te parece?

Treb se lo piensa. Tras el silencio esboza una leve sonrisa. Acaba de entender lo que pretende Aini.

—Perfecto. Creo que esta vez si que lo conseguimos —contesta feliz—. ¡Eres realmente brillante!

Aini sonríe contenta e inmediatamente lanza la simulación.

—¡Ya está! —exclama—. Vamonos. A ver si mañana tenemos buenas noticias.

Se marchan a casa a dencansar y me dejan. Yo no necesito descansar. Ahora es cuando me pongo manos a la obra.

Lo primero que hago es crear el escenario y colocar los objetos tal y como me lo han definido, para lo que utilizo la información que me he guardado previamente. A partir de ahora si que habrá cuerpos compactos creados de verdad. Inicializo el campo gravitatorio (una malla con nodos para la parte elíptica), añadiendo los posibles BH, e inicializó los fluidos de las NS, SS o DW (las partículas para la parte hiperbólica) junto con la descomposición espacial para las relaciones de partículas vecinas. Me guardo el estado inicial.

Ahora si que empiezo con la simulación, que es un vaivén entre la parte elíptica y la hiperbólica, es decir, miraré como el fluido me deforma el espacio-tiempo, desplazaré el fluido según esa deformación y volveré buscar como esa nueva distribución del fluido me modifica nuevamente el espacio-tiempo y vuelta a empezar.

Técnicamente, primero resuelvo el sistema elíptico para el paso de tiempo actual con lo que obtengo una métrica y una curvatura que necesitaré conocer para desplazar las partículas del fluido, que seguirán geodésicas. A continuación tengo que desplazar el fluido. Necesito conocer la densidad, la presión y la velocidad que recuperaré de la densidad, el momento y la energía. Para cada partícula calculo el valor de sus variables conservadas, para lo que necesito sus vecinas, el kernel, las eos y el solve rk4. Lo ideal sería tener un sistema que me resuelva esto para todas las partículas de forma simultánea (¿se puede?) y que en un futuro paralelizaré. Una vez resuelto, desplazo las partículas, actualizo sus vecinos y muevo los agujeros. Almaceno el estado. Finalmente, y antes de volver a empezar, revisó si el paso de tiempo es el apropiado (la simulación de la perdida de momento y de energía fruto de la radiación gravitacional en forma de ondas gravitatorias, así como la viscosidad y la conductividad térmica ya están incluidas en las ecuaciones discretizadas que usamos?).

Hago esto tantas veces como me han configurado, de manera que, en cuanto acabo, tengo almacenados el estado de la simulación en cada instante de tiempo, por lo que Treb i Aini podran visualizarlo y estudiarlo. Creo que el resultado si que es el que se esperaban. Me alegro por ellos (si es que puede una máquina alegrarse :-)).

La siguiente figura muestra un diagrama en el que se ve como se han comunicado los diferentes objetos:

A proposito, ¿sabeis a quién hacen honor los nombres de Treb Lae, Aini Vadh y Tnala? Envia un comentario con la respuesta correcta y participarás en el sorteo… 🙂

Definición (Función exponencial): Sea z \in \mathbb{C}, definimos:

\exp(z) = e^z := \sum_{n \geq 0} \frac{z^n}{n!} \in C^\infty(\mathbb{C}).

Propiedades: Es sencillo verificar que (e^z)' = e^z, e^{z+w} = e^z e^w y e^z \neq 0, e^{-z} = \frac{1}{e^z}. Además:

e^z = 1 \Leftrightarrow z = 2\pi n i con n \in \mathbb{N}.

Por lo que la función exponencial compleja es periódica de periodo imaginario 2\pi.

Definición (Funciones trigonométricas e hiperbólicas): Sea z \in \mathbb{C}, definimos:

\sin(z):=\frac{e^{iz}-e^{-iz}}{2i}, por lo que \sin(z) = \sum_{n \geq 0} (-1)^n \frac{z^{2n+1}}{(2n+1)!}

\cos(z):=\frac{e^{iz}+e^{-iz}}{2}, por lo que \cos(z) = \sum_{n \geq 0} (-1)^n \frac{z^{2n}}{(2n)!}

\sinh(z):=\frac{e^{z}-e^{-z}}{2}\cosh(z):=\frac{e^{z}+e^{-z}}{2}

Propiedades: Las funciones trigonométricas y las hiperbólicas son holomorfas y de clase C^\infty(\mathbb{C}). Además, se cumple:

\sin(z \pm w) = \sin(z) \cos(w) \pm \cos(z) sin(w),

\cos(z \pm w) = \cos(z) \cos(w) \mp \sin(z) sin(w),

\sinh(z \pm w) = \sinh(z) \cosh(w) \pm \cosh(z) sinh(w),

\cosh(z \pm w) = \cosh(z) \cosh(w) \pm \sinh(z) sinh(w).

Además, \sin^2 z + \cos^2 z = 1, son 2\pi-periódicas, \sin(z) = 0 \Leftrightarrow z = n \pi y \cos(z)=0 \Leftrightarrow z = \frac{\pi}{2} + n \pi con n \in \mathbb{N}.

Definición (Argumento): Sea z \in \mathbb{C} - \{ 0\}, diremos que \alpha es un argumento de z si z = |z|(\cos \alpha + i \sin \alpha). Definimos:

\arg z := \{ \alpha \in \mathbb{R}: z=|z|(\cos \alpha + i \sin \alpha)\},

y si \alpha_0 \in \arg z entonces:

\arg z := \{ \alpha_0 + 2 \pi n : n \in \mathbb{Z} \}.

Definición (Logaritmo y ramas del logaritmo): Sea z \in \mathbb{C}-\{0\}. Diremos que w \in \mathbb{C} es un logaritmo de z si e^w = z. Así pues, definiremos:

\log z := \{ w \in \mathbb{C}: e^w = z\}.

Además, si w=x+iy entonces w = \log z = \ln |z| + i \arg z

Definición: Sea \alpha \in \mathbb{R} y H_\alpha=\{ -r(\cos \alpha + i \sin \alpha): r \geq 0 \}. Definimos \arg_\alpha: \mathbb{C} - H_\alpha \longrightarrow ]\alpha - \pi, \alpha + \pi[ como el único argumento de z en el intervalo ]\alpha - \pi, \alpha + \pi[.

Definición: Sea \alpha \in \mathbb{R} y H_\alpha = \{ -r (\cos \alpha + i \sin \alpha): r \geq 0 \}. Entonces:

log_\alpha: \mathbb{C} - H_\alpha \longrightarrow \mathbb{C} / z \mapsto \log_\alpha(z) = \ln |z| + i \arg_\alpha z

Teorema: La función \log_\alpha es derivable en \mathbb{C} - H_\alpha y la derivada es (log_\alpha z)' = \frac {1}{z}. Además, log_0 (1+z) = \sum_{n \geq o} (-1)^n \frac{z^{n+1}}{n+1} donde \log_0 es el logaritmo principal (\alpha = 0 y H_0 = \{ -r: r \geq 0 \} ). El logaritmo no se puede extender continuamente.

El software DualSPHysics es la versión paralela con CPUs y GPUs de SPHysics. El código se ha implementado esta vez en C++ y CUDA.

A continuación mostramos dos diagramas de colaboración de DualSPHysics generados automáticamente por doxygen,

Definición (Función holomorfa): Sean U \subset \mathbb{C} abierto, f: U \longrightarrow \mathbb {C} y z_0 \in U. Decimos que f es holomorfa (derivable o entera) en z_0 si existe:

\lim_{z \rightarrow z_0} \frac{f(z)-f(z_0)}{z-z_0} = f'(z_0).

Diremos que es derivable en U si lo es todo sus puntos. Representaremos por \mathcal{H}(U) al conjunto de todas las funciones holomorfas en U. Si f \in \mathcal{H}(U) entonces también es continua en U.

Teorema (Reglas de derivación): es sencillo deducir las reglas de derivación compleja para la suma, producto, cociente y la regla de la cadena.

Teorema: Sea f(z) = \sum_{n \geq 0} c_n (z-z_0)^n una serie de potencias con radio de convergencia R>0. Entonces f es holomorfa en D(z_0,R) y f'(z) = \sum_{n \geq 1} n c_n z^{n-1} con radio de convergencia R.

Corolario: Si f es analítica en U entonces f es holomorfa en U y f \in C^{\infty}(U) (el recíproco veremos que también es cierto).

Definición (Ecuaciones de Cauchy-Riemann): Si f(z) = u + iv es derivable en z_0 = x_0 + i y_0, entonces existen las derivadas parciales u_x, u_y, v_x, v_y y verifican las ecuaciones de Cauchy-Riemann:

u_x = v_y y u_y = -v_x.

De esta manera, las funciones derivables complejas no son mas que funciones diferenciables de \mathbb{R}^2 cumpliendo unas ecuaciones adicionales.

Teorema (Condición suficiente de derivabilidad): Sea f: U \longrightarrow \mathbb{C} continua con U \subset \mathbb{C} abierto y f(z)=u+iv. Si las cuatro derivadas parciales u_x, u_y, v_x, v_y existen, son continuas en U y verifican las ecuaciones de Cauchy-Riemann, entonces f es derivable en U.

Mostramos como, comentando correctamente nuestro diseño, Visual Paradigm for UML nos genera reports en PDF o HTML con documentación sobre nuestra aplicación.

A continuación mostramos un pequeño fragmento de como queda el HTML:

Consideraremos el plano complejo \mathbb{C} dotado de la topología inducida a partir del módulo con la distancia d(z,w) = |z-w|. Llamaremos disco abierto de centro z_0 y radio r al conjunto:

D(z_0,r):= \{ z \in \mathbb{C}: |z-z_0|<r \}.

Dada una sucesión de números complejos \{ z_n \}_{n \geq 0}, diremos que es convergente a un número complejo z cuando |z-z_0| \rightarrow 0 si n \rightarrow \infty.

Una serie \sum_{n \geq 0} z_n es convergente a z \in \mathbb{C} cuando la sucesión de sumas parciales \{ \sum_{n=0}^m z_n\}_{m \geq 0} es convergente a z.

La serie \sum_{n \geq 0} z_n es absolutamente convergente cuando \sum_{n \geq 0} |z_n| converge.
Teorema (Criterio de la raíz o Cauchy, de Dirichlet, de sumación parcial de Abel, de Dirichlet y de Abel): son una serie de criterios que permiten determinar cuando una serie es convergente, absolutamente convergente o divergente.

Una serie de potencias centrada en z_0 \in \mathbb{C}, es una serie de la forma:

\sum_{n \geq 0} c_n (z-z_0)^n

con c_n, z \in \mathbb{C}. Al punto z_0 se le llama centro de la serie y a la sucesión \{ c_n \} coeficientes de la serie de potencias.

Definición (Radio de convergencia): Definimos el radio de convergencia como:

R = (\limsup_{n \rightarrow \infty} \sqrt[n]{|c_n|})^{-1} \in [0,+\infty[,

donde asumiremos que \frac{1}{+\infty}=0 y \frac{1}{0} = +\infty y que R = +\infty \Rightarrow D(z_0,R) = \mathbb{C}.

Teorema (Cauchy-Hadamard): Sea R el radio de convergencia de \sum_{n \geq 0} c_n (z-z_0)^n, entonces la serie converge absolutamente en |z-z_0|<R y diverge en |z-z_0|>R. Además, la serie converge uniformemente en |z-z_0| \leq r con 0 \leq r < R (subconjuntos compactos de D(z_0,R)).

Corolario: la serie de potencias \sum_{n \geq 0} c_n (z-z_0)^n define una función continua en el interior del disco de convergencia |z-z_0| < R.

Teorema (Principio de los ceros aislados): Sea

f(z)= \sum_{n \geq 0} c_n (z-z_0)^n

con radio de convergencia R > 0. Entonces si f(z_0) = 0 y f no es idénticamente nula, existe \delta > 0 tal que f(z) \neq 0 si 0< |z-z_0|< \delta.

Lo que nos dice este principio es, sencillamente, que los ceros de las funciones analíticas no son puntos de acumulación, es decir, que son puntos aislados.

Definición (Función analítica): Sea U \subset \mathbb{C} un abierto, f:U \longrightarrow \mathbb{C} y z_0 \in U. Diremos que f es analítica en z_0 si existe D(z_0,R) \subset U tal que f podemos escribirla mediante una serie de potencias centrada en z_0 en D(z_0,R). Diremos que f es analítica en U si lo es en cada punto de U.

Ejemplo: los polinomios y las series de potencias centradas en z_0 son funciones analíticas en z_0.

Definición (Prolongación analítica): Si h: V \longrightarrow \mathbb{C} y f: U \longrightarrow \mathbb{C} son dos funciones analíticas con V \subset U \subset \mathbb{C} abiertos de manera que f(z) = h(z) si z \in V, o sea, f|_V = h, diremos que f es una prolongación analítica de h.

Teorema (Principio de prolongación analítica): Sea U un abierto conexo del plano. Sea V \subset U un conjunto de puntos que tiene puntos de acumulación en U, o sea, ac_U(V) \neq \emptyset. Entonces, si f es analítica en U y la restricción de f sobre V es f|_V = 0, entonces f=0 en U.

Corolario: Sean f, g analíticas en un abierto conexo U y sea V \subset U tal que ac_U(V) \neq \emptyset y f|_V = g|_V. Entonces f = g en U.

Con todo esto, resulta que las extensiones analíticas son únicas si el dominio de éstas es conexo, es decir, si f: U \longrightarrow \mathbb{C} y g: U \longrightarrow \mathbb{C} con U \subset \mathbb{C} conexo son dos prolongaciones analíticas de h: V \longrightarrow \mathbb{C}, entonces f = g en todos los puntos. Esto se debe a que f-g: U \longrightarrow \mathbb{C} se anula en V que es un conjunto no vacío de U, y una función analítica que se anula en un conjunto no vacío debe anularse en todo su dominio si este es conexo, por lo que debe ser f-g \equiv 0.

Cuando exigimos que las funciones de transición del atlas que recubre una variedad diferenciable sean holomorfas podemos decir que tenemos una variedad compleja. En particular, toda variedad compleja de dimensión n será una variedad diferenciable de dimensión 2n dotada de una orientación natural. Las superfícies de Riemann, o los grupos de Lie con operaciones de grupo holomorfas son ejemplos de variedades complejas.

Las variedades lorentzianas son importantes en relatividad general. La mecánica cuántica tiene su base matemática en los espacios de Hilbert complejos separables (L^2(\mathbb{R}) o \mathbb{C}^{2n+1}).

Existen diferentes maneras de definir el cuerpo de los números complejos. La mas intuitiva es hacer tomar el conjunto \mathbb{R} \times \mathbb{R} y definir las operaciones internas:

  • (x_1,y_1) + (x_2,y_2) = (x_1+x_2,y_1+y_2) .
  • (x_1,y_1) \cdot (x_2,y_2) = (x_1 x_2 - y_1 y_2, x_1 y_2 + x_2 y_1).

con (x_1,y_1), (x_2, y_2) \in \mathbb{R} \times \mathbb{R}. Es sencillo comprobar que \mathbb{C} := (\mathbb{R} \times \mathbb{R}, +, \cdot) tiene estructura de cuerpo.

Otra manera mas elegante es ver que \mathbb{C} \cong \frac{\mathbb{R}[x]}{(x^2+1)} donde (x^2+1) es el ideal generado por el polinomio irreducible x^2+1 \in \mathbb{R}[x], pues existe una propiedad que nos dice que un anillo conciente de este tipo tiene estructura de cuerpo.

El análisis complejo se encarga del estudio de las funciones de variable compleja. En próximos posts exponemos de manera breve algunos de los contenidos básicos del área: funciones analíticas, funciones holomorfas, funciones elementales, integración en el plano complejo con formula y teorema de Cauchy y teoremas de Laurent y de los residuos con algunas aplicaciones.

Nada que se mueva en el tejido del espacio-tiempo puede superar la velocidad de la luz. Sin embargo, el propio tejido no esta sometido a esta restricción (o al menos eso sugiere la teoría de la inflación cósmica para resolver el problema del horizonte).

La materia provoca deformación en el espacio-tiempo. Lo que propone M. Alcubierre en su artículo «The Warp Drive: Hyper-fast Transluminic within General Relativity», es crear una distorsión local del espacio-tiempo de manera que produzca una expansión detrás de la nave espacial, y una contracción opuesta por delante de ella. De esta manera, es el propio espacio-tiempo el que empuja lejos de la Tierra a la nave y la atrae hacia la estrella distante a la que se pretende viajar.

En el formalismo 3+1, que permite una clara interpretación de los resultados, la métrica se escribe.

ds^2 = -d\tau^2 = g_{\alpha\beta}dx^\alpha dy^\beta =

= -(\alpha^2 - \beta_i \beta^i) dt^2 + 2 \beta_i dx^i dt + \gamma_{ij} dx^i dx^j

Una manera de conseguir lo pretendido es hacer:

\alpha = 1, \beta^x = -v_s(t)f(r_s(t)), \beta^y = \beta^z = 0, \gamma_{ij}=\delta_{ij}

con

v_s(t)=\frac{dx_s(t)}{dt} y r_s(t)=[(x-x_s(t))^2+y^2+z^2]^{1/2}

y

f(r_s) = \frac{\tanh(\sigma(r_s+R))-\tanh(\sigma(r_s-R))}{2 \tanh (\sigma R)}

con R>0 y \sigma >0 arbitrarios.

La siguiente imagen del artículo original de Alcubierre muestra como queda deformado el espacio-tiempo con esta métrica (corresponde a los valores \sigma=8 y R = v_s =1 en la métrica) consiguiendo la burbuja warp donde se sitúa la nave:

El Prof. Dr. Daniel Weiskopf que trabaja, entre otras cosas, en Special and general relativistic visualization, ya editó en el año 2000 un pequeño video en el que simula, mediante técnicas de Ray tracing, como veriamos diferentes cuerpos del Sistema Solar si por el espacio-tiempo que hay entre ellos y nosotros pasara una nave viajando dentro de una burbuja warp a diferentes velocidades, sub y superlumínicas, cercanas a la de la luz:

Dentro de la página que hemos enlazado anteriormente hay otros vídeos mas actuales.

Otro diagrama disponible en UML 2 es el diagrama de comunicación.

El diagrama de comunicación permite modelar la interacción entre los diferentes objetos que se produce mediante mensajes en secuencia, es decir, muestra que mensajes se pasan los objetos entre si y en que orden. Es un diagrama muy útil, pues muestra tanto información estática, tomada del diagrama de clases, como información dinámica, tomada del diagrama de casos de uso y del  diagrama de secuencia.

A continuación muestro el diagrama de comunicación que he realizado mediante Visual Paradigm for UML de SPHysics:

Técnicamente, tendríamos que hablar de un pseudodiagrama de comunicación, pués el lenguaje de programción es fortran que no trabaja con orientación a objetos, por lo que en lugar de clases  tenemos módulos. Sin embargo, y salvando las distancias, cumple sobradamente su propósito semántico.

Una vez un profesor nos dijo algo así como: «No programeis lo que ya esta programado», una especie de versión light de la reinvención de la rueda. Lo que quería decir era, sencillamente, que antes de empezar a diseñar algo desde cero para resolver un problema teniamos que investigar si ya existia un software capaz de hacerlo. Si la respuesta era negativa, adelante, pero si la respuesta era positiva, teniamos que plantearnos una serie de preguntas: ¿Es gratuito o hay que pagar por él? ¿Se adapta perfectamente a mis necesidades o necesita cierto grado de adaptación? ¿Tengo acceso al código fuente y tengo permiso para modificarlo a mi medida? ¿Que piensa el cliente al respecto? etc.

En el caso que nos ocupa, un sofware que promete es SPHysics, un esfuerzo conjunto de investigadores en la Johns Hopkins University (U.S.A.), la University of Vigo (Spain), la University of Manchester (U.K.) y la University of Rome La Sapienza (Italy). Evidentemente, se trata de hidrodinámica newtoniana y no magnetohidrodinámica relativista, por lo que hay un salto cualitativo en la física considerada, además de que se trata de programación modular y no orientada a objetos. Sin embargo, al ser de código abierto y disponer de versión paralela sobre CUDA, nos puede servir de mucha ayuda a la hora de implementar muchas cosas.

A continuación se enlazan dos simulaciones con 100M y 226M partículas en las que se puede apreciar la potencia del software:

En el artículo «Introducción a la relatividad numérica» de M. Alcubierre, también explica el formalismo 3+1.

Resolver las ecuaciones de campo de Einstein en la práctica es complicado, ya que son un sistema de 10 EDPs en 4D acopladas y no lineales con muchísimos términos. Se conocen soluciones exactas en situaciones muy concretas con un alto grado de simetría espacial o temporal (simetría esférica, simetría axial, soluciones estáticas, homogéneas, isotrópicas, etc.), pero en la mayoría de situaciones interesantes en astrofísica no se dan estas condiciones y tenemos que resolverlas utilizando aproximaciones numéricas mediante complicados programas.

En relatividad numérica, la idea es separar las ecuaciones de campo de Einstein de forma que podamos dar ciertas condiciones iniciales y, a partir de ellas, obtener la evolución del campo gravitacional. Existen diferentes maneras de hacerlo y el formalismo 3+1, que es el mas ampliamente utilizado, lo hace separando las tres componentes espaciales de la temporal.

Para estudiar la evolución en el tiempo, lo primero que se hace es formular un problema de Cauchy. En las ecuaciones de Einstein, el espacio y el tiempo son simétricos, por lo que primero debemos separar uno de otro. Lo que queremos es un espacio-tiempo orientable temporalmente de manera que podamos elegir de manera contínua a través del espacio-tiempo la mitad del cono de luz que contituye la dirección futura y de la mitad que corresponde a la dirección pasada. A la formulación de la relatividad general (GR) resultante de esta separación es el formalismo 3+1.

Un conjunto abierto U de un espacio-tiempo es globalmente hiperbólico sii:

  1. Para cualquier par de puntos p y q, el conjunto \gamma^+(p) \cap \gamma^-(q) \subset U y es compacto, donde \gamma^\pm(S) son el futuro y pasado causal de una region S.
  2. No existen curvas espacio-temporales cerradas que pasen por U, prohibiendo los viajes al pasado en el tiempo y cumpliendose de esta manera el pricipio de causalidad en el abierto.

Una pfoliación de una variedad M de dimension n consiste en una partición de ésta en subvariedades diferenciables \{N_i\}_{i \in I} de dimensión \dim N_i = p<;m,\,\forall i\in I, por lo que localmente M tiene estrutura topologica de variedad producto. Por ejemplo, una 2-foliación del espacio \mathbb{R}^3 es \{ \mathbb{R}^2_z\}_{z \in \mathbb{R}}. La foliación de una variedad no es única (por ejemplo, \{ \mathbb{R}^2_y\}_{y \in \mathbb{R}} es otra foliación posible de \mathbb{R}^3, asumiendo que sabemos de que hablamos cuando nos referimos a z o y: planos con vector normal (0,0,1) en el primer caso y (0,1,0) en el segundo).

Todo espacio-tiempo globalmente hiperbólico puede ser foliado, es decir, separado en cortes tridimensionales apilados, de tal forma que cada hoja es una hipersuperficie de Cauchy espacial. Sea (t,x^i) un sistema de coordenadas tal que la función t es de gradiente temporal. Entonces las superficies t=cte (un tiempo «universal» que no tiene porque ser el tiempo propio de nadie) definen una foliación del espacio-tiempo. Denotaremos por \Sigma_t a la hipersuperfície de Cauchy de tiempo t.

Dada una foliación \Sigma_t definida para la función t, podemos encontrar campos vectoriales \xi de manera que \mathcal{L}_\xi t = 1. Llamamos base de evolución a la pareja (\xi,t). Podemos descomponer \xi de manera relativa a un observador euleriano:

\xi = \alpha n + \beta

donde n = \frac{dt}{|dt|} con g(n,n)=-1 es la normal a la foliación, \alpha es la función de paso y \beta el vector desplazamiento de la base de evolución. A cada base de evolución podemos asociarle unas coordenadas adaptadas de manera que \xi = \partial_t y (x^i) son coordenadas en \Sigma_t, de manera que \beta = \beta^i \partial_i.

Considerar diferentes \alpha es considerar diferentes foliaciones, por lo que el paso entre \Sigma_0 y \Sigma_t depende del punto de \Sigma_0 considerado: \alpha = \alpha(t,x^i).

El vector desplazamiento \beta determina \xi, define el difeomorfismo entre \Sigma_0 y \Sigma_t: si \beta=0 entonces \varphi_t(P_0) = \bar{P_t} con P_0 \in \Sigma_0 y \bar{P_t}\in \Sigma_t ambos sobre la misma curva integral de n, por lo que tenemos evolución sin desplazamiento. Si \beta \neq 0 entonces \varphi_t(P_0) = P_t en \Sigma_t desplazado respecto \bar{P_t}.

Por lo tanto, tenemos:

g_{\mu\nu} = \begin{pmatrix} -\alpha^2 + \beta_k \beta^k & \beta_i \\ \beta_j & \gamma_{ij} \end{pmatrix}

y

n^\mu = \frac{1}{\alpha}(1,-\beta^i), n_\mu = (-\alpha,0)

Ya hemos comentado que podemos ver un campo tensorial diferenciable como una generalización de funciones, campos vectoriales y 1-formas. Estudiaremos ahora el caso de las métricas.

Como comentamos en un post anterior, una métrica de Riemann:

g_m: T_mM \times T_mM \longrightarrow \mathbb{R}

podemos verla como un campo tensorial dos veces covariante, de tipo (0,2). Efectivamente, ya que en cada m \in M tenemos definido:

g_m \in \mathcal{L}(T_mM \times T_mM, \mathbb{R}) \cong \otimes^2 T_m^*M = T_m^{(0,2)}M.

Por lo tanto, tenemos que g: M \longrightarrow T^{(0,2)}M define una métrica sobre la variedad M.

Por ejemplo, la métrica de Schwarzschild en coordenadas de Schwarzschild (r,\theta,\varphi,\tau) es:

ds^2 = \frac{1}{1-\frac{2M}{r}}dr^2+ r^2 (d\theta^2 + \sin^2 \theta d\varphi^2)-(1-\frac{2M}{r})d\tau^2

que en notación de productos tensoriales queda:

g = \frac{1}{1-\frac{2M}{r}}dr \otimes dr + r^2 (d\theta \otimes d\theta + \sin^2 \theta d\varphi \otimes d\varphi)-(1-\frac{2M}{r})d\tau \otimes d\tau

Acabamos de ver que g_m \in \mathcal{L}(T_mM \times T_mM, \mathbb{R}). En nuestro caso, una base de T_mM es:

\{ \frac{\partial}{\partial r}|_m, \frac{\partial}{\partial \theta}|_m, \frac{\partial}{\partial \varphi}|_m, \frac{\partial}{\partial \tau}|_m\}

por lo que \dim T_mM = 4 y su base dual:

\{ dr_m, d\theta_m, d\varphi_m, d\tau_m \}

es una base de T_m^*M con \dim T_m^*M = 4. Como:

\mathcal{L}(T_mM \times T_mM, \mathbb{R}) \cong \otimes^2 T_m^*M = T_m^{(0,2)}M

tenemos que:

\dim T_m^*M \otimes T_m^*M = \dim T_m^*M \cdot \dim T_m^*M = 4 \cdot 4 = 16

y una base de T_m^*M \otimes T_m^*M es:

\{ dr_m \otimes dr_m, dr_m \otimes d\theta_m, dr_m \otimes d\varphi_m, dr_m \otimes d\tau_m,

d\theta_m \otimes dr_m, d\theta_m \otimes d\theta_m, d\theta_m \otimes d\varphi_m, d\theta_m \otimes d\tau_m,

d\varphi_m \otimes dr_m, d\varphi_m \otimes d\theta_m, d\varphi_m \otimes d\varphi_m, d\varphi_m \otimes d\tau_m,

d\tau_m \otimes dr_m, d\tau_m \otimes d\theta_m, d\tau_m \otimes d\varphi_m, d\tau_m \otimes d\tau_m \}

Las componentes de nuestra métrica en esta base son:

g_{11} = \frac{1}{1-\frac{2M}{r}}, g_{22} = r^2, g_{33} = r^2 \sin^2 \theta, g_{44} = -(1-\frac{2M}{r}) y g_{ij} = 0 si i \neq j.

En general, dada una variedad M de dimensión \dim M = n y un punto m \in M, entonces \dim T_mM = \dim T_m^*M = n y \dim T_m^*M \otimes T_m^*M = n^2, por lo que g_m \in \mathcal{M}_n(\mathbb{R}).

Si llamamos x^1 a la coordenada r, x^2 a la coordenada \theta, x^3 a la coordenada \varphi y x^4 a la coordenada \tau, entonces podemos referirnos a la métrica g de una forma mas compacta:

g = \sum_{\alpha,\beta=1}^4 g_{\alpha\beta}dx^\alpha \otimes dx^\beta

que en física y siguiendo el convenio de suma de Einstein, con índices griegos variando de 1 a 4 y indices latinos haciendolo entre 1 y 3, queda:

g_{\alpha \beta}dx^\alpha dx^\beta

Si calculamos la inversa de la matriz g_{\alpha \gamma}g^{\gamma \beta} = \delta_\alpha^\beta obtenemos las componentes contravariantes de la métrica:

g = \sum_{\alpha,\beta=1}^4 g^{\alpha \beta} \frac{\partial}{\partial x^\alpha} \otimes \frac{\partial}{\partial x^\beta} \equiv g^{\alpha \beta} \frac{\partial}{\partial x^\alpha} \frac{\partial}{\partial \beta}

que en el caso que nos ocupa son:

g^{11} = 1-\frac{2M}{r} , g^{22}= \frac{1}{r^2}, g^{33}=\frac{\csc \theta}{r^2} y g^{44}=-\frac{1}{1-\frac{2M}{r}}

por lo que nos queda:

g= 1-\frac{2M}{r} \frac{\partial}{\partial r} \otimes \frac{\partial}{\partial r} + \frac{1}{r^2}\frac{\partial}{\partial \theta} \otimes \frac{\partial}{\partial \theta} + \frac{\csc \theta}{r^2}\frac{\partial}{\partial \varphi} \otimes \frac{\partial}{\partial \varphi} -\frac{1}{1-\frac{2M}{r}}\frac{\partial}{\partial \tau} \otimes \frac{\partial}{\partial \tau}

que también puede escribirse:

g= 1-\frac{2M}{r} \partial_r^2 + \frac{1}{r^2} \partial_\theta^2 + \frac{\csc \theta}{r^2} \partial_\varphi^2 -\frac{1}{1-\frac{2M}{r}} \partial_\tau^2

Hemos hablado mucho de las ecuaciones de campo de Einstein pero aún no han aparecido de manera explícita. En el artículo «Introducción a la relatividad numérica» de M. Alcubierre, éste habla sobre ellas.

Las ecuaciones de campo de Einstein, derivadas buscando una generalización relativista y consistente de la ley de gravitación de Newton, como lo hizo Einstein, o de manera formal a partir de un principio variacional partiendo de un Lagrangiano adecuado, como lo hizo Hilbert, se escriben en su forma mas compacta como (signatura (-,+,+,+) y G=c=1):

G_{\mu\nu} = 8 \pi T_{\mu\nu}

donde G_{\mu\nu} es el tensor de curvatura de Einstein que representa la geometría del espacio-tiempo, 8 \pi es un factor de normalización para obtener el límite Newtoniano correcto y T_{\mu\nu} es el tensor de energia-momento que representa la distribución de materia y energía. Como G_{\mu \nu}, T_{\mu \nu} \in \mathcal{M}_{16}(\mathbb{R}), tenemos 16 ecuaciones que se reducen a 10 por ser simétricos los dos tensores en sus dos índices. Son 10 PDEs acopladas en 4D.

El tensor de Einstein se define como:

G_{\mu \nu} := R_{\mu \nu} - \frac{1}{2} g_{\mu \nu}R

donde R_{\mu \nu}:=R^\lambda_{\mu \lambda \nu} es el tensor de Ricci (R_{\mu \nu} \in \mathcal{M}_{16}(\mathbb{R})) que se obtiene contrayendo dos índices libres del tensor de curvatura de Riemann y R:=g^{\mu \nu}R_{\mu \nu} es la traza del tensor de Ricci o la curvatura escalar.

El tensor curvatura está definido para toda variedad dotada de una conexión \nabla:

R(u,v)w = \nabla_u \nabla_v w - \nabla_v \nabla_u w - \nabla_{[u,v]}w

y nos permite hablar de transporte paralelo, nos dice el cambio que sufre un vector al transportalo paralelamente. En una variedad de Riemann siempre podemos definir una conexión libre de torsión, la conexión de Levi-Civita, que expresada en componentes queda:

R^{\rho}_{\sigma \mu \nu} = \partial_\mu \Gamma^\rho_{\sigma \nu} - \partial_\nu \Gamma^\rho_{\sigma \mu} + \Gamma^\alpha_{\sigma \nu} \Gamma^\rho_{\alpha \mu} - \Gamma^\alpha_{\sigma \mu} \Gamma^\rho_{\alpha \nu}

y que con 4 índices en n dimensiones tiene n^4 componentes, de las que solo 20 (si n=4 y 4^4=256), al tener en cuenta simetrías, son independientes. Se puede demostrar que R=0 \Leftrightarrow variedad plana.

Recordar que se pueden subir y bajar índices contrayendo con el tensor métrico o su inverso:

v_\alpha = g_{\alpha \beta} v^\beta

v^\alpha = g^{\alpha \beta} v_\beta

R_{\rho \sigma \mu \nu} = g_{\rho \alpha} R^{\alpha}_{\sigma \mu \nu}

En el último ejemplo obtenemos la versión de la curvatura de Riemann totalmente covariante, un tensor de tipo (0,4) (los elementos de la base pasan de ser de la forma \frac{\partial}{\partial_{x^\alpha}} \otimes dx^\beta \otimes dx^\gamma \otimes dx^\delta de un tensor de tipo (1,3) a ser de la forma dx^\alpha \otimes dx^\beta \otimes dx^\gamma \otimes dx^\delta).

El tensor de curvatura de Riemann tiene las siguientes propiedades:

  1. Antisimetrías: R_{\alpha \beta \gamma \delta} = - R_{\alpha \beta \delta \gamma} = -R_{\beta \alpha \gamma \delta}.
  2. Simetrías: R_{\alpha \beta \gamma \delta} = R_{\gamma \delta \alpha \beta}.
  3. Primera identidad de Bianchi: R_{\alpha[\beta\gamma\delta]} = R_{\alpha\beta\gamma\delta} + R_{\alpha\gamma\delta\beta} + R_{\alpha\delta\beta\gamma} = 0.
  4. Segunda identidad de Bianchi:R_{\alpha\beta[\gamma\delta;\epsilon]} = R_{\alpha\beta\gamma\delta;\epsilon} + R_{\alpha\beta\delta\epsilon;\gamma} + R_{\alpha\beta\epsilon\gamma;\delta} = 0.

El tensor de energia-momento describe la densidad de energia, la densidad de momento y el flujo de momento de un campo de materia:

T^{00} = densidad de energía.

T^{0i} = densidad de momento.

T^{ij} = flujo de momento i a través de la superficie j.

Las identidades de Bianchi son muy importantes porque nos llevan a:

G^{\mu \nu}\,_{;\nu} = 0 \Rightarrow T^{\mu \nu}\,_{;\nu} = 0

que son las cuatro ecuaciones que representan la conservación local de la energía y del momento (la perdida de energía y momento en una región se compensa con el flujo de energía y momento fuera de esa región) donde ; indica la derivada covariante.

Sean V_1, \cdots, V_r espacios vectoriales de dimensión finita sobre \mathbb{R} y sean V_1^*, \cdots, V_r^* sus espacios duales.

Definimos el producto tensorial como el espacio vectorial de aplicaciones multilineales de V_1^* \times \ldots \times V_r^* en \mathbb{R}, es decir:

V_1 \otimes \ldots \otimes V_r := \mathcal{L}(V_1^* \times \ldots \times V_r^*, \mathbb{R})

Si v_1 \in V_1, \ldots , v_r \in V_r y \sigma_1 \in V_1^*, \ldots, \sigma_r \in V_r^*, entonces definimos v_1 \otimes , \ldots , \otimes v_r \in V_1 \otimes , \ldots , \otimes V_r como:

v_1 \otimes \ldots \otimes v_r (\sigma_1, \ldots, \sigma_r)= \sigma_1(v_1) \ldots \sigma_r(v_r)

Si \dim V_j = n_j y sea \{ e_i^j\}_{i=1}^{n_j} una base de V_j con j=1,\ldots,r, entonces:

\{e_{i_1}^1 \otimes \ldots \otimes e_{i_r}^r \}_{1 \leq i_j \leq n_j, 1 \leq j \leq r }

es una base de V_1 \otimes \ldots \otimes V_r, de manera que \dim V_1 \otimes \ldots \otimes V_r = n_1\ldots n_r.

Sea V un espacio vectorial de dimensión \dim V = n y V^* su dual. Construimos el espacio vectorial

V^{(r,s)}:=(\otimes^r V) \otimes (\otimes^s V^*)

donde \otimes^k E:= E \otimes \overset{k)}{\ldots} \otimes E es la késima potencia tensorial de E. A los elementos de V^{(r,s)} se les llama tensores r veces contravariantes y s veces covariantes sobre V. Si \{ e_1, \ldots, e_n\} es una base de V y \{ e^1, \ldots, e^n\} su base dual (los elementos e^i son 1-formes: e^i: V \longrightarrow \mathbb{R} \in V^*), entonces todo elemento de V^{(r,s)} lo podemos escribir como:

t = t^{i_1,\ldots, i_r}_{j_1,\ldots, j_s}e_{i_1} \otimes \ldots \otimes e_{i_r} \otimes e^{j_1} \otimes \ldots \otimes e^{j_s}

No es dificil demostrar \mathcal{L}(V,V) \cong V \otimes V^*, \mathcal{L}(V \times V, \mathbb{R}) \cong V^* \otimes V^* y, en general:

\mathcal{L}(V \times \overset{k)}{\ldots} \times V, V) \cong V \otimes (\otimes^k V^*).

Sea M una variedad diferenciable y m \in M. Entonces:

T_m^{(r,s)} = (\otimes^r T_mM) \otimes (\otimes^s T_m^*M)

es un tensor r veces contravariante y s veces covariante de M en m y

T^{(r,s)}M = \bigsqcup_{m \in M} T_m^{(r,s)}M

es la variedad de tensores de tipo (r,s) de M. Denotamos por \pi : T^{(r,s)}M \longrightarrow M a la proyección que a cada tensor en m le hace corresponder el punto m.

Un campo tensorial r veces contravariante y s veces covariante en M, de tipo (r,s), es una aplicación diferenciable K : M \longrightarrow T^{(r,s)}M tal que \pi \circ K = id, es decir, que para cada m\in M tenemos que K_m := K(m) \in T_m^{(r,s)}M (tenemos un campo tensorial definido en cada punto de la variedad).

Si (U, \varphi) es una carta, entonces:

K|_U = K^{i_1,\ldots,i_r}_{j_1,\ldots,j_s} \frac{\partial}{\partial \varphi^{i_1}} \ldots \otimes \frac{\partial}{\partial \varphi^{i_r}} \otimes d\varphi^{j_1} \otimes \ldots \otimes d\varphi^{j_s}

Los campos tensoriales son una generalización de:

  1. funciones: una función diferenciable h:M \longrightarrow \mathbb{R} determina un campo tensorial de tipo (0,0).
  2. campos vectoriales: un campo vectorial X: M \longrightarrow TM es un campo tensorial de tipo (1,0), pues TM = T^{(1,0)}.
  3. 1-formas: una 1-forma w: M \longrightarrow T^*M es un campo tensorial de tipo (0,1), ya que T^*M = T^{(0,1)}.

Dada una variedad diferenciable M, una curva diferenciable en M es una aplicación diferenciable \alpha:]a,b[ \longrightarrow M donde a,b \in \mathbb{R} y a<b.

Dado un punto m:

  1. denotaremos por \mathcal{C}(M,m) al conjunto de curvas diferenciables \alpha:]a,b[ \longrightarrow M tales que a<0<b y \alpha(0) = m.
  2. denotamos por \mathcal{F}(M,m) al conjunto de funciones diferenciables f:U \longrightarrow \mathbb{R} tales que U es un entorno abierto de m en M.

Definimos en \mathcal{C}(M,m) la relación de equivalencia \sim de la siguiente manera:

\alpha \sim \beta \Leftrightarrow (f \circ \alpha)'(0) = (f \circ \beta)'(0),\,\forall \alpha,\beta \in \mathcal{C}(M,m),\,\forall f \in \mathcal{F}(M,m)

Llamamos espacio tangente a M en m a

T_mM := \frac{\mathcal{C}(M,m)}{\sim}

A los elementos de T_mM se les llama vectores tangentes a M en m, y son clases de equivalencia de curvas diferenciables respecto de la relación anterior.

Denotamos por p:\mathcal{C}(M,m) \longrightarrow T_mM a la aplicación que a cada curva \alpha le asocia su clase de equivalencia. Además, v(f) :=(f \circ \alpha)'(0) donde f \in \mathcal{F}(M,m) y v = p(\alpha) con \alpha \in \mathcal{C}(M,m).

Si la dimensión de la variedad es n y (U,\varphi) es una carta cualquiera con m \in U, entonces:

  1. denotamos por \{ e_i\}_{i=1}^{n} a la base canónica de \mathbb{R}^n.
  2. definimos las curvas coordenadas \tau_i \in \mathcal{C}(M,m) como \tau_i(t) := \varphi^{-1}(\varphi(m)+te_i).
  3. definimos los vectores tangentes coordenados respecto de la carta (U,\varphi) como \frac{\partial}{\partial \varphi^i}|_m = p(\tau_i) \in T_mM.

Los vectores

\{ \frac{\partial}{\partial \varphi^1}|_m, \cdots, \frac{\partial}{\partial \varphi^n}|_m \}

forman una base de T_mM, por lo que para todo v \in T_mM tenemos que:

v = \sum_{i=1}^n v(\varphi^i) \frac{\partial}{\partial \varphi^i}|_m

y \dim T_mM = \dim M = n.

Llamamos espacio cotangente a M en m al espacio vectorial dual de T_mM y que denotamos por T_m^*M, o sea:

T_m^*M := (T_mM)^* = \mathcal{L}(T_mM,\mathbb{R})

A los elementos de T_m^*M se les denomina 1-formas de M en m. Las 1-formas:

\{ d\varphi_m^1, \cdots, d\varphi_m^n \}

forman una base de T_m^*M que es, a su vez, la base dual de:

\{ \frac{\partial}{\partial \varphi^1}|_m, \cdots, \frac{\partial}{\partial \varphi^n}|_m \}

Es evidente, por tanto, que \dim T_m^*M = \dim T_m M = n.

Llamamos fibrado tangente TM a la variedad diferenciable que resulta de la unión disjunta de todos los espacios tangentes T_mM con m \in M, es decir:

TM := \bigsqcup_{m \in M} T_mM

Podemos construir un atlas para el fibrado a partir de los atlas de cada una de las variedades tangentes. A partir de esta construcción deducimos que \dim TM = 2n

De la misma manera, llamamos fibrado cotangente T^*M a la variedad diferenciable que resulta de la unión disjunta de todos los espacios cotangentes T_m^*M con m \in M, es decir:

T^*M := \bigsqcup_{m \in M} T_m^*M

Ademas, \dim T^*M = \dim TM = 2n

Como ya comentamos, existen diferentes soluciones analíticas de las ecuaciones de Einstein correspondientes a los diferentes tipos de BH en equilíbrio. En la tesis «Evolution formalism of Einstein equations: numerical and geometrical issues» de I. Cordero podemos encontrarlas.

Para empezar, la consideración de variedades de Lorentz con simetría esférica y tensor de Ricci nulo, nos lleva a la métrica de Schwarzschild (J=0, Q=0) que podemos escribir en diferentes sistemas de coordenadas:

Coordenadas de Schwarzschild (r,\theta,\varphi,\tau) con r > 2M y siendo \tau el tiempo propio:

g = \frac{1}{1-\frac{2M}{r}}dr \otimes dr + r^2 (d\theta \otimes d\theta + \sin^2 \theta d\varphi \otimes d\varphi)-(1-\frac{2M}{r})d\tau \otimes d\tau

que en forma matricial queda:

g=\begin{bmatrix} \frac{1}{1-\frac{2M}{r}} & 0 & 0 & 0 \\ 0 & r^2 & 0 & 0 \\ 0 & 0 & r^2 \sin^2 \theta & 0 \\ 0 & 0 & 0 & -(1-\frac{2M}{r}) \end{bmatrix}

y en física se suele escribir:

ds^2 = \frac{1}{1-\frac{2M}{r}}dr^2+ r^2 (d\theta^2 + \sin^2 \theta d\varphi^2)-(1-\frac{2M}{r})d\tau^2

Además, como d\Omega^2 = d\theta^2 + \sin^2\theta d\varphi^2 es la métrica de S^2 (S^2(\theta,\varphi) = (\sin \theta \cos \varphi, \sin \theta \sin \varphi, \cos \theta) en ]0,\pi[ \times ]0,2\pi[ de manera que g_{11} = S^2_\theta \cdot S^2_\theta = 1, g_{12} = g_{21} = S^2_\theta \cdot S^2_\varphi = 0 y g_{22} = S^2_\varphi \cdot S^2_\varphi = \sin^2 \theta, con lo que g = d\theta \otimes d\theta + sin^2 \theta d\varphi \otimes d\varphi), tenemos:

ds^2 = \frac{1}{1-\frac{2M}{r}}dr^2+ r^2 d\Omega^2 - (1-\frac{2M}{r})d\tau^2

Coordenadas isotrópicas (\bar{r},\theta,\varphi,\tau) con r = \bar{r} (1 + \frac{M}{2\bar{r}})^2 respecto de las de Schwarzschild:

ds^2 = (1+\frac{M}{2\bar{r}})^4(d\bar{r}^2+ \bar{r}^2 d\Omega^2 )- \big (\frac{1-\frac{M}{2\bar{r}}}{1+\frac{M}{2\bar{r}}} \big) d\tau^2

Las métricas inducidas por estas dos métricas en las hipersuperficies de tiempo propio constante son conformemente planas y singulares en el horizonte.

Coordenadas de Painlevé-Gullstrand-Lemaître (r,\theta,\varphi, T) con dT = d\tau + \frac{\sqrt{\frac{2M}{r}}}{1-\frac{2M}{r}}dr respecto de las de Schwarzschild:

ds^2 = dr^2 + r^2 d\Omega^2 + 2 \sqrt{\frac{2M}{r}}dTdr - (1-\frac{2M}{r})dT^2

que en forma matricial queda:

g=\begin{bmatrix} 1 & 0 & 0 & \sqrt{\frac{2M}{r}} \\ 0 & r^2 & 0 & 0 \\ 0 & 0 & r^2 \sin^2 \theta & 0 \\ \sqrt{\frac{2M}{r}} & 0 & 0 & -(1-\frac{2M}{r}) \end{bmatrix}

Coordenadas de Eddington-Finkelstein (t, r, \theta, \varphi) con t = \tau + 2M \ln |\frac{r}{2M} - 1| respecto de las de Schwarzschild:

ds^2 = \frac{1}{1+\frac{2M}{r}} dr^2 + r^2 d\Omega^2 + \frac{4M}{r} dtdr - (1-\frac{2M}{r})dt^2

que en forma matricial queda:

g=\begin{bmatrix} 1+\frac{2M}{r} & 0 & 0 & \frac{2M}{r} \\ 0 & r^2 & 0 & 0 \\ 0 & 0 & r^2 \sin^2 \theta & 0 \\ \frac{2M}{r} & 0 & 0 & -(1-\frac{2M}{r}) \end{bmatrix}

Las métricas inducidas por estas dos métricas en las hipersuperficies de tiempo constante son planas y regulares en el horizonte.

En el llibre «Geometria diferencial i relativitat» de J. Girbau tambe comenta les coordenadas de Kruskal-Szekeres (u,v,\theta,\varphi):

ds^2 = \frac{32M^3}{r} e^{-\frac{r}{2M}} (du^2 - dv^2) + r^2 d\Omega^2

donde

u=\sqrt{\frac{r}{2M}-1} e^{\frac{r}{4M}} \cosh \frac{\tau}{4M}

y

v=\sqrt{\frac{r}{2M}-1} e^{\frac{r}{4M}} \sinh \frac{\tau}{4M}

No hay singularidad física en r=2M, pero hay dos en r=0.

En segundo lugar, tenemos la métrica de Kerr (J \neq 0, Q = 0) que también podemos escribir en diferentes sistemas de coordenadas:

Coordenadas de Boyer-Lindquist (r,\theta,\varphi,t):

ds^2 = \frac{\rho^2}{\Delta} dr^2 + \rho^2 d\theta^2 + \tilde{w}^2(d\varphi - wdt)^2 - (\frac{\rho \sqrt{\Delta}}{\Sigma})^2dt^2

donde

\Delta = r^2 -2Mr + a^2

\rho^2 = r^2 + a^2 \cos^2 \theta

\Sigma^2 = (r^2 + a^2)^2 - a^2 \Delta \sin^2 \theta

w = \frac{2aMr}{\Sigma^2}

\tilde{w} = \frac{\Sigma \sin \theta}{\rho}

y siendo a el momento angular del BH. Fijando a=0 obtenemos el BH de Schwarzchild en coordenadas de Schwarzchild.

Coordenadas de Kerr-Schild (r,\theta,\bar{\varphi},\bar{t}):

ds^2 = \frac{Z^{2k}-1}{Z-1} dr^2 + \rho^2 d\theta^2+ \sin^2 \theta \rho^2 [1+Y(1+Z)] d\bar{\varphi}^2 - (1-Z) d\bar{t}^2+

+2a\epsilon \sin^2 \theta \frac{Z^{k+1}-1}{Z-1}drd\bar{\varphi} -2 \epsilon Z^k dr d\bar{t} -2 a \sin^2 \theta Z d\bar{\varphi}d\bar{t}

donde

Y = \frac{a^2 \sin^2 \theta}{\rho^2}, Z = \frac{2Mr}{\rho^2}

y \epsilon = +1(-1) regulariza el horizonte futuro (pasado) del BH. La relación con las anteriores coordenadas viene dada por

d\bar{\varphi} = d\varphi - \epsilon \frac{a}{\Delta} dr

d\bar{t} = dt - \epsilon [ \frac{1+Y}{1+Y-Z} - \frac{1-Z^k}{1-Z} ] dr

donde \Delta es la función horizonte, que es cero en el horizonte y hace que la componente g_{tt} de la métrica se anule.

Desde un punto de vista astrofísico, un BH es el resultado final de algunos tipos de colapso gravitatorio de objetos estelares concretos. Desde un punto de vista geométrico, un BH es una solución de las ecuaciones de Einstein que contiene una singularidad, curvatura infinita, en la métrica del espacio-tiempo. Llamamos horizonte a la frontera del BH.

Podemos clasificar los agujeros negros en función de su momento angular J en estáticos (J=0) y en rotatorios (J \neq 0), y en función de su carga eléctrica Q en neutros (Q =0) y cargados (Q \neq 0).

En relatividad numérica hay dos maneras de tratar los BHs y manejar sus singularidades (que pueden ser singularidades de coordenadas, causadas por una inapropiada elección de las mismas, o singularidades físicas reales en el cenro del BH), pues el problema de los métodos numéricos es que no pueden tratar con sus infinitos asociados:

  1. Una manera de evitar el problema es la excisión de la singularidad en el espacio-tiempo. El método onsiste en introducir una frontera interior en el dominio computacional eliminando la región singular. Como el horizonte de un BH representa una frontera causal, está claro que el interior del mismo no puede afectar al exterior. Sin embargo, numéricamente esto no tiene porque ser cierto. Además, tenemos que estar seguros de que la frontera interior está localizada siempre dentro del horizonte, por lo que hay que implementar un buscador del horizonte. Mas concretamente, debe estar dentro del horizonte de sucesos, que depende del espacio-tiempo global. También es complicado aproximar una superficies esférica de escición en una malla cartesiana.
  2. La alternativa es el método de punción: si el comportamiento de una singularidad es analíticamente conocido, podemos factorizarlo de la solución. Una punción en los datos iniciales representa un puente de Einsten-Rosen conectando dos universos asintóticamente planos. La salida del agujero de gusano describe exactamente el campo exterior gravitatorio de un BH. El universo es compactificado mediante una transformación de coordenadas y localizado en el horizonte del BH. La punción representa la infinidad espacial del universo compactificado. La idea intuitiva consiste en tener dos o mas copias de \mathbb{R}^3 con varias esferas eliminadas e identificando los contornos esféricos interiores. De esta manera, varias regiones asintóticamente planas se conectan por puentes. La siguiente figura muestra la idea en una dimensión menos: utilizando dos copias de \mathbb{R}^2 y círculos en lugar de esferas:

En relatividad general, la gravedad actua completamente a través de los potenciales métricos, es decir, a través del espacio-tiempo por el que se mueve el fluido. Por tanto, para manejar la interacción gravitatoria del BH con un fluido basta representar el BH en la estructura del espacio-tiempo.

La tesis doctoral «Relativistic simulations of compact object mergers for nucleonic matter and strange quark matter» de A. Bauswein comenta un nuevo método para trabajar con BHs en relatividad numérica, pués solo mediante una reformulación de las ecuaciones de la métrica podemos manejar la divergencia que tiene lugar en el espacio-tiempo de un BH.

Básicamente, su aproximación viene de combinar diferentes métodos bien establecidos: el método de punción, la descomposición conformal transverse traceless (CTT) de la curvatura extrínseca dando lugar a una nueva formulación de las ecuaciones CFC, y las solución de Bowen-York para las ecuaciones de ligadura del momento.

Esta combinación no es trivial pues hay que describir el significado de la masa de punción durante la evolución, el movimiento del BH, la acreción, la backreaction de las ondas gravitacionales (GW) y la construcción de los datos iniciales.

En el libro «Foundations of Differentiable Manifolds and Lie Groups» de F. Warner, encontramos que un grupo de Lie es una variedad diferenciable G en la que tenemos definida una operación G \times G \longrightarrow G tal que:

\rho: G \times G \longrightarrow G \,/\, (\sigma,\tau) \mapsto \rho(\sigma,\tau) = \sigma \tau^{-1}

es una aplicación diferenciable.

Si fijamos \sigma \in G entonces podemos definir la translación a izquierda por \sigma y la traslación a derecha por \sigma de la siguiente manera:

l_\sigma(\tau) = \sigma \tau

r_\sigma(\tau) = \tau \sigma

para cualquier \tau \in G. En ambos casos tenemos un difeomorfismo. Si H \subset G entonces denotamos r_\sigma(H) por H\sigma y l_\sigma(H) por \sigma H.

El grupo general lineal Gl(n,\mathbb{K}) es el ejemplo mas importante de grupo de Lie. Está formado por los automorfismos de \mathbb{K}^n. Por ser un espacio vectorial, como ya comentamos, es una variedad diferenciable y tiene estructura de grupo con la composición. También puede pensarse como \mathcal{M}_n(\mathbb{K}).

Junto al diagrama de clases, que forma parte de los diagramas de modelado estructurado (visión estática del modelo) que ya hemos comentado, existen otros diagramas de modelado de comportamiento (visión dinámica del modelo) ampliamente utilizados como son los diagramas de casos de uso y los diagramas de secuencia.

El diagrama de casos de uso muestra cada una de funcionalidades del sistema modelado en una visión de caja negra de las mismas. Representa al sistema como un rectángulo que contiene tantas elipses como casos de uso diferentes junto con el actor o actores con los que interactuará.

Un ejemplo diagrama de casos de uso de nuestro sistema SPH con un solo caso de uso Simulation podria ser:

El diagrama de secuencia permite modelar cada caso de uso y describe la interacción entre los diferentes objetos de un sistema a través del tiempo para la consecución del mismo. Es por tanto una visión de caja blanca. Se representan los diferentes objetos como rectangulos o conjuntos de rectangulos en función de si son simples o multiples junto con flechas entre los objetos que representan los mensajes entre estos.

Un posible diagrama de secuencia del caso de uso Simulation podria ser:

En el libro «Foundations of differenciable manifolds and Lie groups» de Warner comenta como construir nuevas variedades diferenciables a partir de variedades conocidas.

Dada una variedad (M,\mathcal{A}) donde

\mathcal{A} = \{ \varphi_i: U_i \longrightarrow \mathbb{R}^n \}_{i \in I}

y si consideramos un abierto N \subset M entonces (N,\mathcal{A}_N) con:

\mathcal{A}_N = \{ \varphi_i|_{U_i \cap N}: U_i \cap N \longrightarrow \mathbb{R}^n \}_{i \in I}

es una variedad diferenciable.

Si (M, \mathcal{A}_1) y (N,\mathcal{A}_2) son dos variedades diferenciables de dimensión p y q respectivamente donde

\mathcal{A}_1 = \{ \varphi_i: U_i \longrightarrow \mathbb{R}^p\}_{i \in I}

y

\mathcal{A}_2 = \{ \psi_j: V_j \longrightarrow \mathbb{R}^q\}_{j \in J}

entonces (M \times N, \mathcal{A}_1 \times \mathcal{A}_2) es una variedad diferenciable de dimensión p+q donde:

\mathcal{A}_1 \times \mathcal{A}_2 = \{ \varphi_i \times \psi_j: U_i \times V_j \longrightarrow \mathbb{R}^p \times \mathbb{R}^q\}_{i \in I, j \in J}

Esta propiedad nos permite demostrar que el toro es una variedad diferenciable. Si consideramos las variedades S(r) y S(R) con r<R entonces T(R,r) = S(R) \times S(r).

Finalmente, si (M,\mathcal{A}) es una variedad diferenciable de dimensión n con \mathcal{A} = \{ \varphi_i: U_i \longrightarrow \mathbb{R}^n\}_{i \in I} y sea f: M\longrightarrow N una aplicación biyectiva. Si

\mathcal{A}_f = \{ \varphi_i \circ f^{-1}: f(U_i) \longrightarrow \mathbb{R}^n\}_{i \in I}

entonces (N, \mathcal{A}_f) es una variedad diferenciable de dimensión n.

Esta propiedad nos permite decir que todo espacio vectorial de dimensión finita es una variedad diferenciable. Efectivamente, sea V un espacio vectorial de dimensión n sobre \mathbb{R} y \{u_1,\ldots,u_n\} una base. Entonces existe un único isomorfismo lineal f: \mathbb{R}^n \longrightarrow V tal que f(e_i) = u_i donde \{ e_1, \ldots, e_n\} es la base canónica de \mathbb{R}^n.  Entonces (V,\mathcal{A_f}) es una variedad diferencial de dimensión n.

VisIt es una herramienta open source que nos permite visualizar y analizar conjuntos de datos extremadamente grandes, del orden de tera y peta, en multiples plataformas. Podemos visualizar rápidamente nuestros datos, animarlos, manipularlos y almacenar los resultados obtenidos.

Algunas características interesantes son:

  • Tipos estandar de gráficos: Curve plot, Mesh plot, Contour plot, Surface plot, Vector plot,  Tensor plot, Volume plot, etc.
  • Podemos trabajar en 1D, 2D, 3D y variando en tiempo.
  • Permite definir diferentes tipos de mallas: rectilineas, curvilineas, desestructuradas, puntuales y AMR (Adaptive Mesh Refinement), etc.
  • Manipulación de datos (slicing, clipping, project, etc.) e interrogaciones (analisis comparativo, debugging, etc.).
  • Opciones para anotaciones, iluminación y rendering.
  • Podemos trabajar con datos escalares, vectoriales y tensoriales.
  • Permite paralelizaciones.

Para visualizar los datos podemos utilizar VisIt como aplicación mediante fichero (\approx 100 formatos diferentes), base de datos (se pueden desarrollar nuevos plug-ins) o como librería mediante código. También podemos crear animaciones mediante flipbook, keyframing o scripting. Podemos trabajar en local, en remoto o utilizando la arquitectura cliente/servidor.

VisIt se compone de cuatro componentes:

  • Graphical User Interface (GUI): se ejecuta en local y permite, entre otras cosas, seleccionar los ficheros, crear graficos, fijar atributos, etc.
  • Viewer: se lanza en local y es donde se muestran las visualizaciones con las que podemos interactuar con el ratón.
  • Database server: puede lanzarse en remoto y permite el acceso a los datos.
  • Compute engine / Parallel compute server: puede lanzarse en remoto y es el encargado de generar los gráficos.

A continuación una pequeña animación flipbook que hemos creado con datos que ofrece VisIt en su documentación.

Los ficheros .visit, en este caso wave.visit, son ficheros de texto que contienen los nombres de todos los ficheros que guardan, cada uno, el estado de la simulación en un instante de tiempo determinado: wave0010.silo, wave0010.silo, ..., wave0700.silo. En este caso son .silo que es un formato propio de VisIt.

septiembre 2012
L M X J V S D
 12
3456789
10111213141516
17181920212223
24252627282930