Notes on Symmetry Boundary Conditions
The symmetry boundary condition prescribes no penetration and vanishing shear stresses. The boundary condition is a combination of a Dirichlet condition and a Neumann condition:
\[\begin{aligned}
\mathbf{u} \cdot \mathbf{n}=\mathbf{0}, &\quad \left(-p \mathbf{I}+\mu\left(\nabla \mathbf{u}+(\nabla \mathbf{u})^{\mathrm{T}}\right)\right) \mathbf{n}=\mathbf{0}
\end{aligned}\]
for the incompressible formulation.
The Dirichlet condition takes precedence over the Neumann condition, and the above equations are equivalent to the following equation :
\[\begin{array}{c}
\mathbf{u} \cdot \mathbf{n}=\mathbf{0}, \quad \mathbf{K}-(\mathbf{K} \cdot \mathbf{n}) \mathbf{n}=\mathbf{0} \\
\mathbf{K}=\mu\left(\nabla \mathbf{u}+(\nabla \mathbf{u})^{\mathrm{T}}\right) \mathbf{n}
\end{array}\]
This means that the tangential components of the normal stress \(K\) (called the shear stress, often noted \(\tau\)) are 0 and the normal component of the velocity is 0.
These conditions can also be interpreted as a "slip'' wall. No-slip wall corresponds to full Diricihlet condition \(\mathbf{u}=0\). |
These conditions are not implemented in Feel++ CFD toolbox, but we have already the framework for that.
For the Stokes problem, the variationnal formulation is :
Mathematician version
\[\int_\Omega \nabla u : \nabla v -\int_{\Omega} p \nabla \cdot v + \int_{\partial \Omega} \left(p n - \frac{\partial u}{\partial n}\right) \cdot v = f\]
\[\left(-p n + \frac{\partial u}{\partial n}\right) = 0 \mbox{ Neumann}\]
Mecanician version
\[\sigma (u,p)= -p I + 2 \mu D(u), \quad D(u)=\frac{1}{2}\left(\nabla u + \nabla u^T\right)\\
\int_\Omega \sigma(u,p) : \nabla v + \int_{\partial \Omega} (\sigma(u,p) n) \cdot v = f\]
\[\sigma(u,p) n = 0 \mbox{ Neumann}\]
X-Y surface:
\[n=e_z(0,0,1) \quad \tau_1 = (1,0,0) \quad \tau_2(0,1,0)\]
\[K \tau_1 = 0 \\
K \tau_2 = 0 \\
K = \begin{bmatrix}
2 \partial_x u_x& \partial_y u_x+\partial_x u_y & \partial_z u_x+\partial_x u_z\\
\partial_x u_y+\partial_y u_x & 2\partial_y u_y & \partial_z u_y+\partial_y u_z\\
\partial_x u_z+\partial_z u_x& \partial_y u_z+\partial_z u_y +\partial_x u_y & 2\partial_z u_z\\
\end{bmatrix} \cdot \begin{bmatrix}0\\0\\1\end{bmatrix}
=
\begin{bmatrix}
\partial_z u_x+\partial_x u_z\\
\partial_z u_y+\partial_y u_z\\
2\partial_z u_z\\
\end{bmatrix}\]
\[K \tau_1 = \partial_z u_x+\partial_x u_z\\
K \tau_2 = \partial_z u_y+\partial_y u_z\]
in the formulation we have only
\[\int_{XY} (-p + 2\partial_z u_x) v_z = \int_{XY} ( ( -p + n \cdot K ) n )\cdot v\]
We need to verify that the term above is indeed implemented in Feel++ |
\[u \cdot n = 0 = u_z\]
we can already set the Dirichlet unknowns component - wise |