geodynamics / aspect

A parallel, extensible finite element code to simulate convection in both 2D and 3D models.
https://aspect.geodynamics.org/
Other
217 stars 232 forks source link

implement WENO limiter for DG method #5929

Open YiminJin opened 1 week ago

YiminJin commented 1 week ago

This PR implements WENO (Weighted Essential Non-Oscillatory) limiter for DG method. The basic idea of WENO limiter is to replace the solution in troubled cells by a polynomial reconstruction that takes the neighbor cells into account. My implementation is based on the simple WENO scheme proposed by Wang and Shu, 2013 (https://doi.org/10.1016/j.jcp.2012.08.028). It is almost the same as the one in elASPECT.

The WENO limiter is able to smooth compositional fields without upper/lower limits, such as plastic strain and viscoelastic stress. I created a new file source/simulator/limiters.cc and moved both the BP limiter and the WENO limiter into this file. I also changed the parameter file so that users can choose whether to smooth a field by BP limiter or WENO limiter, or not to smooth it at all (See the sample prm file below). kaus_2010.prm.txt

This PR was meant to solve the problem in #5734 . Unfortunately, the WENO limiter cannot improve the convergence rate in that case. Anyway, I think the WENO limiter offers more options to the users and is worth to be implemented.