TransWikia.com

How to deal with nonlinear term in Navier Stokes equations (finite element code)

Computational Science Asked on February 15, 2021

I am trying to solve the Navier Stokes equations using the finite element method. I plan on using the pressure correction method to deal with the pressure and an implicit time stepping scheme for diffusion and an explicit time stepping scheme for convection. My question is: How does one deal with the non-linear term using the finite element method? I have investigated a couple approaches. For example, I understand for steady problems it is common to use a Newton iteration. Since I am interested in unsteady problems I don’t think this method is suitable. I have also seen an approach where part of the non-linear term is “frozen” at the last time step so that at each time step the problem appears as a linear advection problem, i.e.

$u_{i}frac{partial{u_{i}}}{partial{x_{j}}} approx{} u_{i}^{n-1}frac{partial{u_{i}^{n}}}{partial{x_{j}}}$

In other words the velocity at the previous time step ($u_{i}^{n-1}$) is treated as constant and no shape function expansion is used in approximating this term. Is this method any good? What methods should I use to deal with the non-linear term in the unsteady Navier Stokes equations where accuracy, ease of implementation, stability, and robustness to different Reynolds numbers are all considerations?

Thanks

4 Answers

You can absolutely use the Newton method to linearize the system of equations that results after you have discretized in time. It's a pretty common approach. It might be overkill in lots of cases, but it's not inappropriate. Freezing like you suggest and not iterating at all within a timestep can lead to some pretty awful solutions unless your timestep is miniscule. But you don't want to do that since you are interested in implicit approaches.

Write the split equations, and then discretize in time to give a non-linear PDE in space. Then apply Newton's method. Then discretize in space with FEM.

Correct answer by Bill Barth on February 15, 2021

Addendum to Bill's answer: a Newton iteration combined with implicit timestepping usually regularizes the problem enough to allow just one Newton iteration per timestep (for one example - http://users.ices.utexas.edu/~benkirk/dissertation.pdf). With a decent preconditioner, this can be competitive with pressure projection if the timescale of your physics isn't too small.

To your question: if you're doing unsteady flows, the nonlinear term is usually dealt with in an explicit manner, as it's roughly equivalent to a convective term. So long as you treat the nonlinear properly as a linear convection equation with non-constant convection (i.e. aliasing, higher order quadratures, etc), this is usually fine.

Answered by Jesse Chan on February 15, 2021

You say you use an explicit time stepping scheme for convection. Then you don't need a non-linear solver at all.

$$ frac{u_i^{n+1}-u_i^n}{Delta t} + u_j^n frac{partial u_i^n}{partial x_j} + frac{partial tilde{p}}{partial x_i}- nu nabla^2 u_i^{n+1} = 0 $$

where subscripts denote spatial coordinate directions (i = 1,2,3 in 3D), and superscripts, the time step. This scheme is consistent, and is called a semi-implicit scheme. The non-linear term can be transferred to the right hand side and just becomes part of the residual at each time step.

If you want a fully implicit scheme without Newton iterations, you could use the "characteristics-Galerkin" method. This is a semi-Lagrangian method in which you approximate the total derivative implicitly: $$ frac{Du}{Dt}|^{n+1} approx frac{u^{n+1} - u^n circ X(x,t^n)}{Delta t} $$ where $X$ denotes the characteristic passing through $(x,t^{n+1})$, which can be computed, for instance, by solving an ODE. (So finally this may not be much cheaper than a Newton method.) For details, you can check out

Mofdi El-Amrani and Mohammed Seaid, "An L2-projection for Galerkin-characteristic solution of incompressible flows", SIAM J. Sci. Comput., Vol 33 No 6, pp 3110-3131, 2011.

You can try out the method in FreeFEM++, if you want to. It has a convenient "convect" operator for this.

Answered by Aditya Kashi on February 15, 2021

In case anyone is interested in the topic, we have recently proposed a FE formulation based on linearised convection operators. The advantage is that you don't need to employ an iterative strategy for solving the equations at each time step. We demonstrated first- and second-order accuracies in time, respectively, using the Backward Euler and Generalised-alpha time integration schemes. Everything is treated implicitly. So, there's no algorithmic restriction on the time step size.

https://www.sciencedirect.com/science/article/pii/S0889974619309612

Answered by Chenna K on February 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP