### Is there a way to enrich the order of the elements only at the boundaries? (Evaluating stress of Stokes Problem with slip boundary conditions)

150

views

0

Hi!

I am solving the Stokes problem with the following strong form:

\[

-\nabla p + \Delta u = 0 \qquad in \quad \Omega \\

\vec{u}\cdot\vec{n} = g \qquad in \quad \Gamma \\

\vec{t}\cdot\sigma(u,p)\cdot\vec{n} = \vec{b} \qquad in \quad \Gamma \\

\]

I am using the Nitsche's method (https://github.com/MiroK/fenics-nitsche/blob/master/stokes/stokes_freeslip.py) for dealing with the boundary condition of the prescibed normal velocity.

However, when evaluating the stresses on the boundary, \( \sigma(u,p) = -p I + 0.5(\nabla u + \nabla u ^T) \), the stresses themselves oscillate heavily (in particular, the gradient of the velocity). The pressure also oscillates heavily at the boundaries. The pressure and the gradient of the velocity are very smooth though in other regions out from the boundary \(\Gamma\). I have read in

Finite Element Approximation of Incompressible Navier-Stokes Equations with Slip Boundary Condition (Riidiger Verf'tirth)

that the solution might be to enrich the order of the elements in the boundary. I would like to avoid to enrich the element order in the whole domain, as it will substantially increase the computational load.

An alternative solution would be to impose the prescribed normal velocity strongly using local rotation of the boundary DOFs, but I currently do not have any idea about how to start. Is there anyone with an example piece of code for DOF rotation at the boundaries for such boundary conditions?

Thanks a lot
Are you including the penalty traction in your evaluation of the boundary flux? Considering the penalty to be part of the boundary traction is consistent with the exact solution (since the penalty term will be zero for the exact solution) and has better conservation properties than direct flux evaluation. Consider, e.g., what happens when you plug a constant unit vector \(\mathbf{e}_i\) in as a test function; you want the \(i\)-component of the boundary traction to balance the \(i\)-component of the volume body forces, which will only be true if you consider the penalty term to be part of the traction.

I am solving the Stokes problem with the following strong form:

\[

-\nabla p + \Delta u = 0 \qquad in \quad \Omega \\

\vec{u}\cdot\vec{n} = g \qquad in \quad \Gamma \\

\vec{t}\cdot\sigma(u,p)\cdot\vec{n} = \vec{b} \qquad in \quad \Gamma \\

\]

I am using the Nitsche's method (https://github.com/MiroK/fenics-nitsche/blob/master/stokes/stokes_freeslip.py) for dealing with the boundary condition of the prescibed normal velocity.

However, when evaluating the stresses on the boundary, \( \sigma(u,p) = -p I + 0.5(\nabla u + \nabla u ^T) \), the stresses themselves oscillate heavily (in particular, the gradient of the velocity). The pressure also oscillates heavily at the boundaries. The pressure and the gradient of the velocity are very smooth though in other regions out from the boundary \(\Gamma\). I have read in

Finite Element Approximation of Incompressible Navier-Stokes Equations with Slip Boundary Condition (Riidiger Verf'tirth)

that the solution might be to enrich the order of the elements in the boundary. I would like to avoid to enrich the element order in the whole domain, as it will substantially increase the computational load.

An alternative solution would be to impose the prescribed normal velocity strongly using local rotation of the boundary DOFs, but I currently do not have any idea about how to start. Is there anyone with an example piece of code for DOF rotation at the boundaries for such boundary conditions?

Thanks a lot

Community: FEniCS Project

written
4 months ago by
David Kamensky

Please login to add an answer/comment or follow this question.