Fluid Flow Solvers

For convenience, we provide a simple implementation of fluid flow equations in echemfem.FlowSolver, which can be used to obtain a velocity field for the echemfem.EchemSolver.

Boundary conditions

A dict containing boundary markers is passed when creating a FlowSolver object. Below are the different options for boundary_markers keys.

  • "no slip": Sets velocity to zero, \(\mathbf u = 0\).

  • "inlet velocity": Sets inlet velocity, \(\mathbf u = \mathbf u_\mathrm{in}\), which is passed in fluid_params as "inlet velocity".

  • "outlet velocity": Sets outlet velocity, \(\mathbf u = \mathbf u_\mathrm{out}\), which is passed in fluid_params as "outlet velocity".

  • "inlet pressure": Sets inlet velocity, \(p = p_\mathrm{in}\), which is passed in fluid_params as "inlet pressure".

  • "outlet pressure": Sets outlet pressure, \(p = p_\mathrm{out}\), which is passed in fluid_params as "outlet pressure".

Numerical considerations

The discretization is done using Taylor-Hood elements [TH73] (piecewise linear pressure, piecewise quadratic velocity), which satisfy the inf-sup condition [Babuvska71, Bre74, Lad63].

To achieve convergence other than at a low Reynolds number, it may be required to do continuation on the parameter so that Newton’s method has better initial guesses. This can be done for example, by passing the Reynolds number as a firedrake.constant.Constant, and assigning a larger value after each solve.

The highest Reynolds number that can be provided is dictated by the validity of the steady-sate assumption. Indeed, as the Reynolds number increases, steady flow becomes unstable. The critical Reynolds number at which transient effects occur is problem dependent, typically somewhere within \(10^2<\mathrm{Re}<10^4\).

For the Darcy number, using a very small value (\(\mathrm{Da}\sim 10^{-6}\)) can be used to simulate a nearly impermeable wall, which is commonly done in topology optimization. For smaller values, convergence issues can arise. Reversly, as \(\mathrm{Da}\to\infty\), we simply recover Navier-Stokes.

References

[Babuvska71]

Ivo Babuška. Error-bounds for finite element method. Numerische Mathematik, 16(4):322–333, 1971.

[Bre74]

Franco Brezzi. On the existence, uniqueness and approximation of saddle-point problems arising from Lagrangian multipliers. Publications des séminaires de mathématiques et informatique de Rennes, pages 1–26, 1974.

[Lad63]

O Ladyzhenskaya. The mathematical theory of incompressible viscous flows. 1963.

[TH73]

Cedric Taylor and Paul Hood. A numerical solution of the Navier-Stokes equations using the finite element technique. Computers & Fluids, 1(1):73–100, 1973.