Supongamos que tenemos el Laplaciano expresado en un sistema de coordenadas curvilineas cualesquiera:

\bigg [ c_1 \frac{\partial^2}{\partial x_1^2} + c_2 \frac{\partial}{\partial x_1} +c_3 \frac{\partial^2}{\partial x_2^2} + c_4 \frac{\partial}{\partial x_2} + c_5 \frac{\partial^2}{\partial x_3^2} + c_6 \frac{\partial}{\partial x_3} \bigg ] u(x_1,x_2,x_3).

La expresión correspondiente en diferencias finitas, utilizando las aproximaciones para las primeras y segundas derivadas de este post, nos queda:

c_{1_{i,j,k}}\frac{1}{h_{x_1}^2} (u_{i-1,j,k} - 2 u_{i,j,k} + u_{i+1,j,k}) + c_{2_{i,j,k}} \frac{1}{2h_{x_1}}(u_{i+1,j,k}-u_{i-1,j,k}) +

+ c_{3_{i,j,k}}\frac{1}{h_{x_2}^2} (u_{i,j-1,k} - 2 u_{i,j,k} + u_{i,j+1,k}) + c_{4_{i,j,k}} \frac{1}{2h_{x_2}}(u_{i,j+1,k}-u_{i,j-1,k}) +

+ c_{5_{i,j,k}}\frac{1}{h_{x_3}^2} (u_{i,j,k-1} - 2 u_{i,j,k} + u_{i,j,k+1}) + c_{6_{i,j,k}} \frac{1}{2h_{x_3}}(u_{i,j,k+1}-u_{i,j,k-1}),

que, agrupando por términos, podemos reescribir como:

(c_{1_{i,j,k}} \frac{1}{h_{x_{1}}^2} - c_{2_{i,j,k}} \frac{1}{2h_{x_{1}}}) u_{i-1,j,k} + (c_{1_{i,j,k}} \frac{1}{h_{x_{1}}^2} + c_{2_{i,j,k}} \frac{1}{2h_{x_{1}}}) u_{i+1,j,k} +

+ (c_{3_{i,j,k}} \frac{1}{h_{x_{2}}^2} - c_{4_{i,j,k}} \frac{1}{2h_{x_{2}}}) u_{i,j-1,k} + (c_{3_{i,j,k}} \frac{1}{h_{x_{2}}^2} + c_{4_{i,j,k}} \frac{1}{2h_{x_{2}}}) u_{i,j+1,k} +

+ (c_{5_{i,j,k}} \frac{1}{h_{x_{3}}^2} - c_{6_{i,j,k}} \frac{1}{2h_{x_{3}}}) u_{i,j,k-1} + (c_{5_{i,j,k}} \frac{1}{h_{x_{3}}^2} + c_{6_{i,j,k}} \frac{1}{2h_{x_{3}}}) u_{i,j,k+1} -

-2 (c_{1_{i,j,k}} \frac{1}{h_{x_{1}}^2} + c_{3_{i,j,k}} \frac{1}{h_{x_{2}}^2} + c_{5_{i,j,k}} \frac{1}{h_{x_{3}}^2}) u_{i,j,k}.

He escrito un modulo en Mathematica que, a partir de los coeficientes del Laplaciano y de las distancias para la discretización nos generan automáticamente estos coeficientes:

finDif

Los anteriores ejemplos corresponden al caso de cilíndricas, esféricas y esféricas compactificadas.

Anuncios