I am following the approach of Hundsdorfer from Numerical solution of time-dependent advection-diffusion-reaction equations in which they introduce adaptive upwinding. The method can adapt from pure upwind ($\kappa=1$) to pure central ($\kappa=0$) discretisation for the advection term (N.B. the diffusion term is always based on a central difference), $$ u_j^{\prime} = \frac{1}{2h}a \left( u_{j-1} - u_{j+1} \right) + \left( \frac{d}{h^2} + \kappa\frac{a}{2h} \right) \left( u_{j-1} - 2u_{j} + u_{j+1} \right) $$
$u_j^{\prime}$ is shorthand for the time derivative, $a$ is the velocity ($a>0$), $d$ is the diffusion coefficient and $h$ is the step size between uniform mesh points.
I wish to extend this to the case of a non-uniform mesh, however I run into a problem because I get a factor of $4$ appearing when I do so, which seems inconsistent. For example, modify the above equation to include non-uniform steps,
$$ u_j^{\prime} = \frac{1}{2h_j^{+}}a \left( u_{j-1} - u_{j+1} \right) + \left( \frac{d}{(h_j^{+} + h_j^{-})^2} + \kappa\frac{a}{2h_j^{+}} \right) \left( u_{j-1} - 2u_{j} + u_{j+1} \right) $$
where $h_j^{+}=x_{j+1} - x_j$ and $h_j^{-}=x_{j} - x_{j-1}$. We can check the consistence by putting this equation back on to a uniform mesh. Substituting $h_j^{+}\rightarrow h$ and $h_j^{-}\rightarrow h$,
$$ u_j^{\prime} = \frac{1}{2h}a \left( u_{j-1} - u_{j+1} \right) + \left( \frac{d}{4h^2} + \kappa\frac{a}{2h} \right) \left( u_{j-1} - 2u_{j} + u_{j+1} \right) $$
This is identical appart form the factor of $4$ appearing in the denominator!
I haven't much experience with these adaptive upwinds, can you see an issue with using a modified version of the original equation,
$$ u_j^{\prime} = \frac{1}{2h}a \left( u_{j-1} - u_{j+1} \right) + \left( \frac{4d}{(2h)^2} + \kappa\frac{a}{2h} \right) \left( u_{j-1} - 2u_{j} + u_{j+1} \right) $$
The additional constants cancel on both a uniform and non-uniform grid, giving the correct central difference diffusion term in all cases,
$$ d\frac{\left( u_{j-1} - 2u_{j} + u_{j+1} \right) }{h^2} $$
Update
Using a Taylor series to calculate the second derivative (the diffusion term) with non-uniform step gives,
$$ 2d \frac{h^{+} \left(- u_{j} + u_{{j-1}}\right) + h^{-} \left(- u_{j} + u_{{j+1}}\right)}{h^{+} h^{-} \left(h^{+} + h^{-}\right)} $$
This reduces to the correct expression when the grid is uniform.
However, this makes the equation hard to write in a compact form because the $h^{-}$ and $h^{+}$ terms appear in the numerator. Does anybody you have any comments on whether this can be simplified further, i.e. so the $h$ terms don't appear in the numerator? This will allow the write the equation in the original form.