Métodos iterativos para la resolución de sistemas

Ya comentamos en el post anterior que formato tienen los sistemas $latex Au=f$ que surgen a partir de la discretización de un problema de Poisson y que tendremos que resolver. Esta resolución la podriamos hacer de manera directa pero son mucho mas eficaces los métodos iterativos. Se puede demostrar que la manera mas sencilla para …

Discretización de la ecuación de Poisson en 1D, 2D y 3D

En $latex 1D$ tenemos: $latex u_{xx} = f(x)$, con $latex 0 < x < 1$ y $latex u(0)= u(1)=0$. Particionamos el dominio en $latex n$ subintervalos introduciendo los puntos $latex x_i = ih$ con $latex h=frac{1}{n}$. De esta manera, para cada uno de los puntos interiores reemplazamos las derivadas por su aproximación de segundo orden …

Desacoplamientos en la aproximación CFC y en ecuaciones elípticas vectoriales.

Aquí está el artículo donde aparece el nuevo esquema en el que el sistema se desacopla de manera jerárquica: (1) Conocidas las cantidades hidrodinámicas conservadas, resolver: $latex Delta X^i + frac{1}{3} mathcal{D}^i mathcal{D}_j X^j = 8 pi f^{ij} S_j^*$ para encontrar $latex hat{A}^{ij} approx (LX)^{ij} = mathcal{D}^i X^j + mathcal{D}^j X^i – frac{2}{3} mathcal{D}_k X^k …

De las ecuación de conservación a su aproximación con un esquema predictor-corrector

Ya vimos que la discretización de las ecuaciones de conservación en forma Lagrangiana para SPH quedaba: $latex frac{d}{dt}boldsymbol{v}_a = – sum_b m_b (frac{P_a}{rho_a^2} + frac{P_b}{rho_b^2}) nabla_a W{ab} = boldsymbol{F}_a$ $latex frac{d}{dt} e_a = frac{1}{2} sum_b m_b (frac{P_a}{rho_a^2} + frac{P_b}{rho_b^2}) boldsymbol{v}_{ab}cdot nabla_a W{ab} = E_a$ con $latex rho_a = sum_b m_b W_{ab}$ y $latex P_a$ de …

error… :-(

Obviamente, en los kernels cúbico, cuártico y quíntico, al llegar a derivadas de orden superior, tenemos expresiones del tipo $latex alpha(boldsymbol{q}) . beta(boldsymbol{q})$ y lo que hemos hecho, de manera incorrecta, es: $latex frac{partial}{partial q_j} big ( alpha(boldsymbol{q}) . beta(boldsymbol{q}) big ) = alpha(boldsymbol{q}) . frac{partial}{partial q_j} beta(boldsymbol{q})$, por lo que nos falta sumarle: $latex …

y mas kernels…

Vamos a suponer que estamos en dimensión $latex n$ y miraremos como quedan los diferentes kernels y sus derivadas. Denotaremos con $latex boldsymbol{q}$ a $latex (q_1,ldots,q_n)$ y $latex q = sqrt{sum_{i=1}^n q_i^2}$ será su módulo. Para poder hablar de las derivadas parciales en espacios de esta dimensión vamos a introducir la notación multi-índice de Schwartz. …

Otra vez kernels…

Volvemos a tratar los kernels pero teniendo en cuenta que nuesta anterior $latex q$ de hecho es $latex frac{boldsymbol{||r||}}{h}$, por lo que en $latex 1D$, con $latex h=1$, tenemos $latex sqrt{x^2} = |x|$, en $latex 2D$ tenemos $latex sqrt{x^2+y^2}$ y en $latex 3D$ tenemos $latex sqrt{x^2+y^2+z^2}$.  En realidad, como lo que tenemos es $latex ||r-r’||$, …

El fibrado cotangente y el espacio de fases

En palabra de Terry Tao: En la física, el espacio de fases es un concepto que unifica la mecánica clásica (Hamiltoniana) con la mecánica cuántica; en matemáticas, el espacio de fases es un concepto que unifica la geometría simpléctica con el análisis armónico y las PDE. En mecánica clásica, el espacio de fases es el …

Discretization of the HD, SHD and GHD equations in its Lagrangian form.

We try to write the formulas in its most general form and fix First of all, in the simplest form of the HD equations we have $latex frac{dboldsymbol{v}_a}{dt} = -sum_b m_b (frac{P_a}{rho_a^2} + frac{P_b}{rho_b^2}) nabla_a W_{ab}$ (momentum) where: $latex rho_a = sum_b m_b W_{ab}$ (density), $latex frac{de_a}{dt} = frac{1}{2} sum_b m_b (frac{P_a}{rho_a^2} + frac{P_b}{rho_b^2}) boldsymbol{v}_{ab} …

Código Objective-C para la resolución de la cuártica por radicales

A continuación se muestra el fragmento de código de la app RadSol que resuelve por radicales la ecuación cuártica (pulsar para ampliar): La idea, como se puede apreciar en el código, es que resuelve una ecuación cuadrática en la que aparece la solución real de la cúbica resolvente. Para la resolvente, dada la ecuación de …

Animaciones VisIt con los kernels 2D, sus primeras y segundas derivadas de nuestra aplicación

Construimos una malla de $latex 100times 100$ puntos de nuestros kernels en $latex 2D$. La primera animación contiene el kernel Gaussiano en el primer frame, el cúbico en el segundo, el cuártico en el tercero y el quíntico en el último: [youtube http://www.youtube.com/watch?v=toa1Asoo600?rel=0&w=420&h=315] En la siguiente animación mostramos los puntos de la primera derivada de …

Kernels y sus derivadas (2D)

En $latex 2D$ nos encontramos las siguientes gráficas. En primer lugar, dos imagenes, cualitativas y parciales, del Kernel Gaussiano y su derivada (en blanco opaco y hueco respectivamente) junto al Kernel cúbico y su derivada (en azul), y a continuación dos del Kernel Gaussiano y su derivada junto al Kernel quíntico y su derivada (en …

Kernels y sus derivadas (1D)

A continuación tenemos diferentes funciones kernel, el linea contínua, junto a su primera y segunda derivada, en lineas discontinuas de mayor y menor longitud respectivamente. En color negro el kernel gaussiano, su primera derivada y su segunda derivada: en azul el cúbico: en verde el cuártico: y en rojo el quíntico: $latex y$ representa $latex …

¿Métodos con malla o sin malla?

Desde un punto de vista muy computacional, y de las ideas, donde las partículas en los métodos sin malla no son mas que el equivalente a los puntos de interpolación de los métodos mallados, unos libres y otros fijos, y dado un volumen en el que pretendemos modelar diferentes entidades como fluidos y campos, parece …

El metric solver

Como ya comentamos, de la tesis de Bauswein, adoptando la foliación $latex 3+1$ del espacio-tiempo la métrica queda: $latex ds^2 = (- alpha^2 + beta_i beta^i) dt^2 + 2 beta_i dx^i dt + gamma_{ij} dx^i dx^j$ En la aproximación CFC resolvemos repetidamente el problema de valor inicial. De acuerdo con esta aproximación, la parte espacial …

Instanciación de punteros a clases abstractas mediante clases concretas a partir del fichero de configuración

Finalmente, tenemos ya varias clases abstractas que instanciamos mediante la creación de algunas de sus clases concretas hijas en función de un fichero de configuración. Algunas de estas clases abstractas son: OdeSolver, SpatialDecomposition, PdeSolver, Kernel, EoS, Equation, Display que pueden ser concretadas en alguna de sus clases herederas (por ejemplo SpatialDecomposition podria ser instanciada como …