Hello, consider this example of Navier Stokes equations in a channel with an obstacle. The fluid is in a rectangular domain with a circular hole (\Omega), with boundaries \partial \Omega_{\text{L}}, \partial \Omega_{\text {R}}, \partial \Omega_{\text {T}}, \partial \Omega_{\text {B}} (left, right, top and bottom edges of the rectangle). The obstacle boundary is \partial \Omega_\text{O}. The fluid velocity is \bf{v} and pressure is p.
Consider these boundary conditions (BCs):
{\bf v} = {\bf v}_{0} \text{ on } \partial \Omega_\text{L} \cup \Omega_\text{R} \cup \Omega_\text{B} \sigma_{ij} \hat{n}_j = t_i \text{ on } \partial \Omega_\text{O} \cup \partial \Omega_\text{T} p = p_0 \text{ on } \partial \Omega_\text{T} \text{ (1)}.
The number of BCs is enough to fix the solution of the problem, but there is an issue when I try to solve it with the splitting scheme reported here.
The first step (where one solves for the approximate velocity \overline {\bf v}) works fine. However, in the second step, where one solves for the pressure increment \phi \equiv p^{n-1/2} - p^{n-3/2}, we have a this PDE for \phi:
In the boundary parts where \bf v satisfies Dirichlet BCs, \phi satisfies a Neumann BC: \hat{n} \cdot \vec{\nabla} \phi = 0 \text{ on } \partial \Omega_\text{L} \cup \Omega_\text{R} \cup \Omega_\text{B}.
Also, the Dirichlet BC (1) implies \phi = 0 \text{ on } \partial \Omega_\text{T}.
But the Poisson equation for \phi needs also a BC on \partial \Omega_\text{O}. Do you know how to obtain this missing BC?
Of course, if you want to “cheat”, you could solve for the pressure rather than the correction of the pressure, which straight-up gives you a Dirichlet BC on pressure.
This is for instance done in the old Oasis implementation:
If you really really want to keep a strong pressure bc, I would suggest setting the exact bc on your initial pressure (p^*), such that the boundary condition for the correction becomes \phi=0.
No, because here there is the Dirichlet BC \phi = 0 on \partial \Omega_{\text T}. So, unlike that post, here the solution of the Poisson-like equation for \phi is determined uniquely.
Right, but my anwser in post 4 of that tread refered to the condition to impose on \phi for the natural bounday where you prescribe a traction, which is your question right now, isn’t it?
You seem to have a missconception about what the traction boundary condition of the Navier-Stokes equations entails. There are not two separate conditions, as you’re stating
That is really not correct.
Per my other anser, the first conditions writes out as 2\mu \nabla^s \boldsymbol{u} \cdot \boldsymbol{n} - p \boldsymbol{n} = \boldsymbol{t}_N
So you see there already is a pressure in that statement. You cannot add another condition on the pressure on that same boundary
The way to think about that is that, once you have solved for u, this becomes a pressure Dirichlet condition through:
I don’t see why they are implemented all the time though, see for example ‘[…] and a pair of boundary conditions for the pressure at the inflow and outflow boundaries’ here.
I can’t answer for the choices made by others up to over a decade ago.
Most commonly, people do it because it might make physical sense, as you have pressure data from an experiment.
For coupled schemes, it is not that problematic to set pressure conditions, in the sense that you might pick the “wrong” function space, but you know what you get out. Doing the same for splitting schemes is more tricky, as you would have to go through all of the mathematics to see if it makes sense.
Furthermore, if you have more than a single inlet/outlet problem, one usually enforces pressure differences at outlets through traction, as @Stein described.