Treatment of the boundary conditions

The boundary conditions at the outer boundary of the domain are relatively easy to implement.


In case of Dirichlet boundary conditions the corresponding row of the matrix is made equal to 0 and the diagonal element is set to 1. The value of the boundary condition is filled into the right hand side.


Neumann boundary conditions are treated integrating over a half cell as sketched in Figure 5.2.
Figure 5.2: Half cell at boundary
\begin{figure}\centerline{\psfig{figure=fig2G.eps}}\end{figure}
In this case we get:



    $\displaystyle \int\limits_{\Omega_{\xi}}\frac{\partial}{\partial
\xi^{\alpha}}(\sqrt{g}\vec{a}^{(\alpha)} \cdot (k \nabla \zeta +
\vec{F})d\Omega_{\xi}$  
    $\displaystyle \simeq\frac{1}{2}\sqrt{g}\vec{a}^{(1)} \cdot (k \nabla \zeta +
\v...
... \sqrt{g}\vec{a}^{(2)} \cdot (k \nabla \zeta +
\vec{F})\vert^{(0,1)}_{(0,0)}\;.$ (5.23)
Due to the Neumann boundary conditions the term in the boundary point (0, 0) vanishes.


Mark that in this case we need to evaluate $\nabla \zeta$ at the boundary. In order to do so we apply a one-sided integration path approach i.e.



    $\displaystyle (\vec{x}_{(2,0)} - \vec{x}_{(1,0)}) \cdot \nabla \zeta \vert _{(1,0)} =
\zeta_{(2,0)} - \zeta _{(0,0)}\;,$  
    $\displaystyle ((x_{(2,2)} - x_{(2,0)}) + (\vec{x}_{(0,2)} - \vec{x}_{(0,0)})) \...
..._{(1,0)} = (\zeta_{(0,2)} - \zeta_{(0,0)}) + (\zeta_{(2,2)} -
\zeta_{(2,0)})\;.$ (5.24)
Furthermore we need the values of $\vec{a}_{(\alpha)}$ in virtual cells, because we need the $c^{(\alpha)}$ at the boundary. To that end we construct a row of virtual cells by extrapolating the co-ordinates of the boundary cells.
The SWAN team 2024-09-09