I am trying to implement an upwind scheme based on the residual (or fluctuation) splitting method. The details of the method can be found in this article by H. Deconinck, “Multidimensional upwind schemes based on fluctuation-splitting for systems of conservation laws” (1993).

The main idea is to improve the contribution of the nodes upwind the gradient of a certain quantity.
In order to do that, I calculate an average “advection” speed over the element and calculate the coefficients k_i which are one half of the scalar product of the average advection speed and n_i.
Where n_i are the inward normal vector to the face opposed to the node i. Then, depending on the coefficients k_i, I can choose how to improve the contribution of the nodes upwind the flow.

Depending on the method used for this last step, the resulting scheme is a Low Diffusion A Scheme, a N-scheme or a PSI-scheme.

Maybe these schemes are very close to the upwind method already implemented in Freefem and I can try to use this one.