Operator laplacki 3D
Nie udało mi się znaleźć odpowiednika 5-punktowych różnic skończonych szablonu dla operatora Laplaciana.
W dwóch wymiarach jest dla mnie jasne, że stosując metodę różnic skończonych: $$ \nabla_{2D}^2u = \frac{1}{h^2} \left( u_{1,0} + u_{-1,0} + u_{0,1} + u_{0,-1} -4 u_{0,0} \right) $$ (h jest siatką / krokiem rozmiaru)
Ale nie jestem pewien, czy jest to całkowicie symetryczne dla obudowy trójwymiarowej. Czy mogę po prostu dodać terminy odnoszące się do trzeciego wymiaru?$$ \nabla_{3D}^2u = \frac{1}{h^2} \left( u_{1,0,0} + u_{-1,0,0} + u_{0,1,0} + u_{0,-1,0} + u_{0,0,1} + u_{0,0,-1} -6 u_{0,0,0} \right) $$
Pomocne byłoby również źródło, w którym mógłbym znaleźć różne terminy dokładności dla 3D Laplacian.
Odpowiedzi
Tak, ta skończona różnica jest poprawna. Możesz to uzyskać, używając skończonej różnicy w każdym kierunku dla operatora Laplace'a w każdej współrzędnej.
\begin{align} \nabla^2 u =& \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\\ \approx& \frac{1}{h^2}[u(x + h, y, z) - 2u(x, y, z) + u(x -h, y, z)]\\ &+ \frac{1}{h^2}[u(x, y + h, z) - 2u(x, y, z) + u(x, y - h, z)]\\ &+ \frac{1}{h^2}[u(x, y, z + h) - 2u(x, y, z) + u(x, y, z - h)]\\ =& \frac{1}{h^2}[u(x + h, y, z) + u(x -h, y, z) + u(x, y + h, z) + u(x, y - h, z)\\ &+ u(x, y, z + h) + u(x, y, z - h) - 6u(x, y, z)]\, . \end{align}
Alternatywnie, możesz interpolować wielomian przechodzący przez punkty w szablonie, a następnie obliczyć jego Laplacian i ocenić go na $(x, y, z)$.