FireStats error : FireStats: Unknown commit strategy

PDE Poisson

You are currently browsing articles tagged PDE Poisson.

Hace tiempo que no escribo nada pues estoy intentando terminar un programa que ya va tocando…

Para que no se diga, añado a continuación una imagen que he obtenido hace un momento, y que me ha hecho gracia, cuando pintaba el error entre la solución analítica de un problema de Poisson tridimensional y mi solución aproximada.

caraError

Se diría que estoy diseñando la cabeza de un nuevo personaje de animación, ¿no?

:mrgreen:

Tags: , , , , ,

Una manera sencilla de tener una ecuación de Poisson en $latex 3D$ de la que conocer su solución analítica es la siguiente. Para empezar, consideramos una función:

$latex u(x,y,z)$

a la que le aplicamos el operador $latex Delta$ y obtendremos otra función:

$latex s(x,y,z)$.

Ya tenemos $latex Delta u = s$, es decir,

$latex frac{partial^2}{partial x^2}u(x,y,z) + frac{partial^2}{partial y^2}u(x,y,z) + frac{partial^2}{partial z^2}u(x,y,z) = s(x,y,z)$

Para las condiciones de contorno es tan sencillo como considerar el domino:

$latex [a,b] times [c,d] times [e,f]$

y ver cuanto vale $latex u$ en cada uno de los extremos, de manera que obtenemos:

$latex u(a,y,z) = g_a(y,z), u(b,y,z) = g_b(y,z)$,

$latex u(x,c,z) = g_c(x,z), u(x,d,z) = g_d(x,z)$,

$latex u(x,y,e) = g_e(x,y), u(x,y,f) = g_f(x,y)$.

Por ejemplo, si consideramos $latex u(x,y,z)=x^2+y^2+z^2$, entonces:

$latex nabla cdot nabla u = (frac{partial}{partial x},frac{partial}{partial y},frac{partial}{partial z}) cdot (u_x,u_y,u_z)$

de manera que:

$latex Delta u = frac{partial}{partial x}2x + frac{partial}{partial y}2y + frac{partial}{partial z}2z = 6$

y tenemos la ecuación de Poisson $latex Delta u = 6$. Las condiciones de contorno, en $latex Omega = [0,1]^3$ quedan:

$latex u(0,y,z) = g_{xm}(y,z) = y^2+z^2$

$latex u(1,y,z) = g_{xM}(y,z) = y^2+z^2 + 1$

$latex u(x,0,z) = g_{ym}(x,z) = x^2+z^2$

$latex u(x,1,z) = g_{yM}(x,z) = x^2+z^2 + 1$

$latex u(x,y,0) = g_{zm}(x,y) = x^2+y^2$

$latex u(x,y,1) = g_{zM}(x,y) = x^2+y^2 + 1$

Resumiendo, la solución de $latex Delta u = 6$ siendo las funciones anteriores los valores de $latex u$ en $latex partial Omega$ es:

$latex u = x^2+y^2 + z^2$.

Otro ejemplo concreto para el caso de $latex u=0$ en $latex partial Omega$ siendo

$latex Omega = { (x,y,z): 0<x<1, 0<y<1,0<z<1}$ el cubo unidad.

Tomamos $latex u(x,y,z) = (x^4-x^2)(y^4-y^2)(z^4-z^2)$. Es sencillo comprobar que $latex u=0$ en $latex partial Omega$ (p.e. $latex u(1,y,z)=(1-1)(y^4-y^2)(z^4-z^2) = 0$). ¿Cuanto vale $latex Delta u$ en este caso?

$latex s(x,y,z) = Delta [(x^4-x^2)(y^4-y^2)(z^4-z^2)] = $

$latex = nabla cdot [(4x^3-2x)(y^4-y^2)(z^4-z^2),$

$latex ,(x^4-x^2)(4y^3-2y)(z^4-z^2),$

$latex (x^4-x^2)(y^4-y^2)(4z^3-2z)] = $

$latex = 2[(6x^2-1)(y^4-y^2)(z^4-z^2) +$

$latex + (x^4-x^2)(6y^2-1)(z^4-z^2) + $

$latex + (x^4-x^2)(y^4-y^2)(6z^2-1)]$.

De manera que la solución en el cubo unidad de la ecuación de Poisson

$latex u_{xx} + u_{yy} + u_{zz} = $

$latex = 2[(6x^2-1)(y^4-y^2)(z^4-z^2) +$

$latex + (x^4-x^2)(6y^2-1)(z^4-z^2) + $

$latex + (x^4-x^2)(y^4-y^2)(6z^2-1)]$

con condiciones homogeneas de tipo Dirichlet en la frontera tiene como solución:

$latex u(x,y,z) = (x^4-x^2)(y^4-y^2)(z^4-z^2)$

Tags: , ,

FireStats icon Powered by FireStats