I’m trying to solve Navier Stokes equations in an ALE formulation with the Oasis solver (GitHub - mikaem/Oasis), with FEniCS 2019.2. The problem is in 3D and I’m using a pressure correction scheme, where a splitting of pressure and velocity (Chorin type) is used for reasons of computational costs, compared to a monolithic solver.
I am observing blow ups at the exit corners of the domain, where anomalous ricirculation phenomena occur. therefore I would like to apply open boundary conditions on the outer boundary of the domain, in order to allow vortices to leave the domain, instead of the classic zero Neumann for velocity and zero Dirichlet for pressure.
I don’t know of any implementations of open boundary conditions in the finite element weak formulation, only for finite volumes or spectral elements. Furthermore, some solutions seem very involved and difficult to implement in FEniCS. A promising method would be, for example, the one in the article from Eberhard Bänsch:
A finite element pressure correction scheme for the Navier–Stokes equations with traction boundary condition, CMAME, 2014
These conditions would be suitable because they don’t couple the three equations for the velocity components. However, I don’t know how to implement these in FEniCS. In particular, to solve for the pressure first I have to solve an equation on the domain boundary \Gamma of this kind:
(\rho_h, \text{tr}_{\Gamma} q_h)_{\Gamma} +\epsilon(\nabla_{\Gamma} \rho_h, \nabla_{\Gamma} \text{tr}_{\Gamma} q_h)_{\Gamma} = \int_{\Omega} \nabla \Phi\cdot \nabla q_h + \frac{1}{\Delta t} \int_{\Omega} \nabla \cdot \mathbf{u} q_h
And, once \rho_h has been solved for, I need to calculate:
\langle l_h, v_h \rangle := \int_{\Gamma}\rho_h \nabla_{\Gamma}\cdot (\text{tr}_{\Gamma} v_h)
where a tangential divergence \nabla_{\Gamma} has to be calculated. I don’t know how to implement this divergence form in FEniCS, it seems a bit involved, because my problem in in 3D (suppose the boundary is the surface of a sphere).
Does anyone know how to implement/had some success with Open boundary BCs for Navier Stokes in FEniCS? Do you know of any examples?