Ghost nodes (theory)
Ghost nodes are a technique for discretizing (mostly) Neumann boundary conditions in PDEs.
Introduction
Ghost are a technique used for disretizing Neumann boundary conditions in FDM. To be able to use the central difference for first derivative, additional point, called ghost point, is introduced outside the domain boudanry. The unknown function value at the ghost node is added as a variable. At the boundary node, the Neumann condition is enforced, as well as the equation itself (two equations for two unknowns, the ghost and the boundary function value).
Meshless setting (implicit)
Consider the problem $\mathcal{L}u = f$ with Neumann boundary conditions $\frac{\partial u}{\partial n} = g$ on some portion $\Gamma_1$ of the boundary and Dirichlet conditions $u = u_0$ on portion $\Gamma_2$. Denote the number of internal nodes with $N_i$, number of Neunann boundary nodes with $N_n$ and number of Dirichlet boundary nodes with $N_d$. The total number of nodes $N$ is equal to $N = N_i + N_n + N_d$ and so is the number of unknowns, representing solution values at these nodes.
For each Neumann node $p$, additional ghost or fictious nodes are placed outside the domain, as seen in the figure on the right. This increases the number of nodes and unknowns by $N_n$. Stencils and stencil weights are computed as before, and ghost nodes are included in the stencils. Fro each node $p_j$ denote the indices of its stencil nodes by $I_j$. We will denote the computed stencil weights for operators with $w_\mathcal{L,j}$ and $w_{\frac{\partial u}{\partial n},j}$.
We have the same equations as before:
- for interior nodes: $w_{\mathcal{L},j} \cdot \boldsymbol{u}_{I_j} = f_j$)
- for Dirichlet nodes: $u_j = u_{0,j}$
- for Neumann nodes: $w_{\frac{\partial u}{\partial n},j} \cdot \boldsymbol{u}_{I_j} = g_j$
Explicit version
TODO Jure