Ficheros de configuración

Toda aplicación es habitual que tenga un fichero de configuración. Lo primero que hace el programa cuando empieza a funcionar es leer este fichero en el que se especifican una serie de parámetros que determinan una cierta configuración de funcionamiento. Cuando somos nosotros los que estamos desarrollando una aplicación, la pregunta que se nos pasa por …

Actualización de la minisimulación de 1000 péndulos con NNPS: el color de cada partícula va variando en función de su número de vecinos

Actualizamos la minianimación que teniamos incluyendo los algoritmos y las estructuras de datos necesarias para la NNPS. Con el fin de poder comprobar la determinación de vecinos, el color de cada péndulo depende, en un instante dado, del número de vecinos que tiene a una distancia menor o igual a $latex h$. En la siguiente …

Determinación de vecinos en SPH (Nearest Neighboring Particle Searching: NNPS)

En el método SPH necesitamos conocer cual es su conjunto de vecinos de una partícula $latex a$. Este viene determinado por la smoothing length $latex h$, uno de los parámetros de las funciones kernel. Supongamos que tenemos $latex N$ partículas. Si $latex N$ es lo suficientemente pequeño, lo único que tenemos que hacer es, para …

Nueva minisimulación con 1000 péndulos

En la siguiente simulación tenemos $latex 1000$ partículas. Cada partícula $latex a$ representa un péndulo de masa $latex m_a$ y posición $latex (x_a(t),y_a(t),z_a(t))$, con $latex z_a(t)$ constante, sometido a las fuerzas: $latex F_1 = -m_ag$, la fuerza de la gravedad, con $latex g$ constante. $latex F_2$, la fuerza elática de la suspensión, de sentido opuesta …

call graph y caller graph con doxygen mediante Graphviz

Para poder generar los call graph y los caller graph desde doxygen necesitamos tener instalado Graphviz. Aquí tenemos la direccion desde donde nos lo podemos bajar. En el caso de mac, es un pkg que instala el fichero binario dot en el directorio /src/local/bin. Tendremos que añadir este path en la variable DOT_PATH en la …

Generación de documentación de nuestras clases mediante doxygen

A medida que codificamos y probamos nuestras clases las iremos documentando mediante doxygen. La instalación y utilización básica de doxygen es extremadamente sencilla. El programa está disponible aquí. A continuación tenemos un ejemplo del formato de los comentarios añadidos y el tipo de salida generado.

Nuestras primeras partículas

A continuación nuestra primera animación creada con VisIt a partir de ficheros silo generados a partir de llamadas a métodos de nuestras primeras clases. Temporalmente, aunque es mejor utilizar nuestras partículas simplemente como nodos de interpolación a la hora de visualizar, las mostraremos como puntos. A partir de este momento, podremos tener una referencia visual …

Generar ficheros .silo desde código C++

Ya dedicamos un post a VisIt. En el creamos una animación a partir de un conjunto de ficheros existentes. ¿Como generamos ficheros .silo desde nuestro código? En primer lugar, necesitamos tener las librerias correspondientes, que las podemos conseguir ejecutando: ./build_visit –console –no-visit –no-thirdparty  –thirdparty-path /usr/local –silo –hdf5 –szip desde el terminal, y donde build_visit es …

Y, por fin, ¡a programar!

Cuando eramos niños, nos pasabamos el curso esperando la llegada de las vacaciones. Sin embargo, a medida que pasaban, cada vez tenías mas ganas de volver a las clases. En esto de programar pasa un poco lo mismo. Cuando estas metido en un proyecto en el que te pasas dias y dias escribiendo, probando código …

SPH para fluidos con densidades muy diferentes.

En el artículo A modified SPH approach for fluids with large density differences de F. Ott y E. Schnetter se explica una nueva modificación del método SPH que permite la interacción entre fluidos con densidades muy diferentes. En la aproximación del SPH estandar tenemos: $latex rho_i = sum_j m_j W_{ij}$ con $latex W_{ij}:=W(boldsymbol{x}_i – boldsymbol{x}_j)$, …

Shocks en SPH

En el review que Rosswog hace sobre el método SPH, en especial en sus aplicaciones a la astrofísica, hay un apartado dedicado al tratamiento de los shocks. El tratamiento de los strong shocks es uno de los puntos débiles del método SPH (penetración de partículas parcialmente resuelto mediante XSPH). En este apartado comenta que, básicamente, …

Analisis pseudofuncional en variedades.

Hablemos de generalizaciones, cosa esencial en matemáticas: Desde el punto de vista del análisis funcional, ¿qué pasa si nuestro espacio tiene asociada una métrica no definida positiva? En el caso finito, ¿qué pasa cuando en lugar de trabajar con $latex mathbb{R}^n$ o $latex mathbb{C}^n$ tengo variedades diferenciables mas generales? En analisis funcional tengo espacios de …

Teoremas de Laurent y de los residuos. Aplicaciones.

Teorema de Laurent. Definición (serie de Laurent): Sea $latex z_0 in mathbb{C}$. Una serie de Laurent en $latex z_0$ es formalmente una expresión de la forma: $latex sum_{n in mathbb{Z}} a_n (z-z_0)^n$ con $latex a_n in mathbb{C}$. Llamaremos parte analítica a $latex sum_{n=0}^infty a_n (z-z_0)^n$ y parte principal a $latex sum_{n=1}^infty a_n (z-z_0)^{-n}$. Diremos que …

Postulados de la mecánica cuántica

Postulado 1: La representación del estado de un sistema físico. P1. La máxima información posible sobre un sistema físico en un instante dado $latex t$ es su estado cuántico, que se representa por un vector (ket) de norma $latex 1$ y de fase arbitraria en un espacio de Hilbert separable. Superposición en un producto tensorial …

Supercomputing and GRID

Ayer asistí al primer Friday’s miniWorkshop del IVICFA (L’institut Valencià d’Investigació Coorporativa de Física Avançada) que trataba sobre supercomputación y computación GRID. Forma parte de un ciclo de seminarios sobre «Fronteras de la Física» y contaba ayer, entre otros atractivos, con la apertura de los mismo por parte de Ian Bird, Project Leader of the …

Teorema y fórmulas generales de Cauchy.

El teorema de los residuos es una parte fundamental de la variable compleja y es una generalización del teorema integral de Cauchy y la fórmula integral de Cauchy. Fórmula integral de Cauchy Sean $latex Omega subset mathbb{C}$ un abierto simplemente conexo ($latex I(gamma,z) = 0$ si $latex z notin Omega$), $latex f in mathcal{H}(Omega)$ y …

Mecánica cuántica y análisis funcional.

Para formular matemáticamente la mecánica cuántica necesitamos hablar de espacios de Hilbert y de operadores lineales. La rama de las matemáticas que trata estos temas es el análisis funcional. Procederemos a dar cada una de las definiciones en el momento que las necesitemos, de manera que, como lo que nos interesan son los espacios de …

Demostración del teorema fundamental del álgebra

Uno de los grandes logros de la variable compleja es su efectividad a la hora de permitir demostrar resultados muy alejadas de su aparente alcance. Un claro ejemplo de esto es su aplicación a la demostración del teorema fundamental del algebra. A continuación presentamos una demostración del mismo junto con unos resultados previos que necesitaremos …

Fórmula integral de Cauchy para las derivadas (en circunferencias). Aplicaciones.

Fórmula integral de Cauchy para las derivadas. Sea $latex f(z) in mathcal{H}(A)$ y $latex overline{D(z_0,R)} subset A$. Entonces: $latex f^{n)}(z) = frac{n!}{2 pi i} int_{C(z_0,R)} frac{u}{u-z}du, , forall z in D(z_0,R)$. demostración: Sabemos que $latex f(xi) = frac{1}{2 pi i} int_{C(z_0,R)} frac{f(u)}{u-xi}du$ siempre que $latex |xi – z_0|<R$. Fijamos ahora $latex z in D(z_0,R)$ y …