I have a couple of questions with regards to the usage of flux/slope limiters, which I was hoping to get some input. I apologise in advance if my questions are trivial, but flux limiters lie way beyond my research area (up until now) and I am still trying to make sense of all information that is out there.

I am trying to implement a slope limiter in my code in an attempt to smooth some of the oscillations that are present in my solution*, however due to the complex nature of my discretised PDE (the Neutron Transport Equation) it can be very expensive (at best $O(n^2)$ ) to project from the discretised solution to the physical solution i.e. solution evaluated on the quadrature points and then apply the limiter.

From what I have encountered in the literature people usually first project to the quadrature points before applying the limiter, however I have encountered a few examples where that is not the case, for instance one paper:

Limiting is done by comparing the values of Ui(x) to the solution averages on neighboring elements, where the points x can be quadrature points, element vertices, edge midpoints, or other. [1]



So my question is, would it be correct to apply the limiter on my discretised solution i.e. coefficients of a series expansion, in this case a real Spherical Harmonics or a Wavelet series instead of my solution projected on the quad points? (coefficients of both expansions can naturally be negative)

And if so, would I have to use a specific type of limiters or would a Van-Leer, minmod, etc. be fine?

Additional info

  1. $\mathbf{solution^1}$: the field I want to limit is not actually the solution, it is a field that is associated with the solution and holds information about the solution's error. The actual PDE solution and consequently the underlying discretisation, are stable and produce non-oscillatory solutions. It is this surrogate field that is causing me grief.

  2. elements used: first order triangular (2D) and tets (3D)

  3. discretisation is not DG FEM, so no upwinding

  4. PDE is linear first order if we consider the simple monoenergetic case

Spatial discretisation

The underlying underlying FEM discretisation that introduces the discontinuity and needs to be limited is not a simple DG so we don't have any upwinding, here is the paper where the method is described in case anyone is interested: https://doi.org/10.13182/NSE08-82


1 Answer 1


I typically think it is correct to reconstruct to the point on the edge that is the intersection of the edge and the line connecting the centroids. The point of limiting is often to check that no spurious extrema are created, and the best way to verify that is by checking on the line between the two points.If you check at the quadrature points you can get spurious limiting even for a linear field.

  • $\begingroup$ That would be extremely convenient for me, but I was under the impression that you can only limit physical quantities. Is that not the case? $\endgroup$
    – gnikit
    Mar 1 at 3:40
  • 1
    $\begingroup$ I don't know enough to say anything about limiting the coefficients. It all depends on what you're trying to do. If you want to ensure that your coefficients don't have spurious oscillations you can limit that I guess, but make sure that makes sense to do. My answer is more to point out that the choice of limiting at the quadrature points is a bad idea. $\endgroup$
    – EMP
    Mar 1 at 17:12
  • $\begingroup$ I see, I indeed misunderstood your answer in my 1st comment. I was under the impression that slope/flux limiters needed to be imposed on quadrature points, i.e. in physical space but trying to trace this in the literature I realised that in general any set of basis will do. So for a simple example: I could use Lagrangian basis functions to calculate the solution, then from the solution compute the value at the centroid, or any other point in my element that I want, and feed that in my slope limiter. Am I correct in my understanding? $\endgroup$
    – gnikit
    Mar 1 at 23:54
  • 1
    $\begingroup$ I don't know about the details of your implementation, but that sounds correct as a matter of implementation. But the thing to keep in mind is what the purpose of your slope limiter is. You presumably are using it to limit some quantity for better behavior while wanting it to be k-exact (i.e. not limiting polynomials of order k). As such when you limit, it is good to limit such that you maintain that k-exactness while actually achieving that behavior. So it is typically advisable to limit on the element faces rather than the centroid as you are trying to prevent that spurious extrema there. $\endgroup$
    – EMP
    Mar 2 at 16:44

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.