Diferencias finitas de Laplacianos en coordenadas curvilineas ortogonales

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

$latex 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:

$latex 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}) +$

$latex + 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}) +$

$latex + 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:

$latex (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} +$

$latex + (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} +$

$latex + (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} -$

$latex -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.

Tags: , , ,

Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


¡IMPORTANTE! Responde a la pregunta: ¿Cuál es el valor de 2 5 ?
 
FireStats icon Powered by FireStats