I am interested in solving the transient advection equation

$\left\{\begin{array}{ll}\partial_{t} u+\beta \cdot \nabla u=f & \text { in } \Omega, t>0 \\ u=0 & \text { on } \partial \Omega^{-}, t>0 \\ u(\cdot, 0)=u_{0} & \text { in } \Omega,\end{array}\right.$

with a stabilized FEM formulation (SUPG, GLS or similar), but I am having issues with the preconditioner using a backwards Euler method. I am wondering if one should actually use an explicit method given that it is an advection problem, if there are special time stepping algorithms for stabilized FEM, or if one should be careful when discretizing the stabilized formulation in time (references will be appreciated)

  • 1
    $\begingroup$ What are the issues you are facing? Do you encounter these issues only with preconditioners? Do you face any issues when using a direct solver instead of an iterative solver? $\endgroup$
    – Chenna K
    Jun 6 at 21:01
  • $\begingroup$ Yes, you should use an explicit method. Also, if your domain is not too complicated, then simple finite difference or finite volume methods are significantly simpler to implement. $\endgroup$ Jun 7 at 7:30
  • $\begingroup$ I just realized that the issue in the preconditioner came from the stabilization parameter, which depends on the inverse of the velocity norm. If there is zero velocity somewhere, the parameter explodes. I had to set up an upper bound in this parameter, but if its too high, it impacts the preconditioner negatively. I would not be surprised if this issue appears in the stability of explicit schemes. $\endgroup$
    – balborian
    Jun 7 at 15:20
  • $\begingroup$ It should not behave like that. There is no need to use an explicit method for this problem. Implicit methods work fine. I suggest you refer to the textbook "Finite Element Methods for Flow Problems" by J. Donea and A. Huerta. $\endgroup$
    – Chenna K
    Jun 8 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.