In chapter 7 of Hirsch's "Numerical Computation of Internal and External Flows" (second edition, 2007, https://www.sciencedirect.com/book/9780750665940/numerical-computation-of-internal-and-external-flows), he states that the following implicit first-order upwind scheme is unconditionally stable:
$$u^{n+1}_i = u^{n}_i - \sigma (u^{n+1}_i - u^{n+1}_{i-1})$$
Where $\sigma$ is the Courant number. Using Von Neumann stability analysis, I attempted to determine the amplification factor for this scheme defined as the growth in successive time steps of the harmonics of the numerical solution:
Given the Fourier series expansion of the numerical solution $u^{n+k}_{i+m}$:
$$ u^{n+k}_{i+m} = \sum_{j = -N}^{N} \space V^{n+k} \cdot e^{I (i+m)\frac{j \pi}{N} } = \sum_{\phi = -\pi}^{\pi} \space V^{n+k} \cdot e^{I (i+m)\phi } $$
where $I^2 = -1$, $(i+m)$ refers to the spatial index of the discretized mesh grid point, and $n+k$ refers to the temporal index I can write the equivalent numerical scheme for a general harmonic of the Fourier series as:
$$ V^{n+1}\cdot e^{I(i\phi)} = V^{n}\cdot e^{I(i\phi)} - \sigma (V^{n+1}\cdot e^{I(i\phi)} - V^{n+1}\cdot e^{I((i-1)\phi)})$$
Simplifying I get:
$$ V^{n+1} = V^{n} - \sigma (V^{n+1} - V^{n+1}\cdot e^{-I\phi})$$
$$ \frac{V^{n+1}}{V^{n}} = 1 - \sigma \frac{V^{n+1}}{V^{n}} (1 - e^{-I\phi})$$
$$ \frac{V^{n+1}}{V^{n}}(1 + \sigma (1 - e^{-I\phi})) = 1 $$
$$ G = \frac{V^{n+1}}{V^{n}} = \frac{1}{1 + \sigma (1 - e^{-I\phi})} $$
$$ G = \frac{1}{1 + \sigma (1 - \cos(\phi)) + I\sigma \sin(\phi)} $$
$$ G = \frac{1 + \sigma (1 - \cos(\phi)) - I\sigma \sin(\phi)}{(1 + \sigma (1 - \cos(\phi)))^2 + \sigma^2 \sin(\phi)^2} $$
The magnitude of the amplification factor is:
$$ |G|^2 = G\cdot G^* = \frac{(1 + \sigma (1 - \cos(\phi)))^2 +\sigma^2 \sin(\phi)^2}{((1 + \sigma (1 - \cos(\phi)))^2 + \sigma^2 \sin(\phi)^2)^2}$$
$$ |G|^2 = G\cdot G^* = \frac{1}{(1 + \sigma (1 - \cos(\phi)))^2 + \sigma^2 \sin(\phi)^2}$$
$$ |G|^2 = G\cdot G^* = \frac{1}{(1 + \sigma - \sigma\cos(\phi))^2 + \sigma^2 \sin(\phi)^2}$$
Hirsch writes that the amplification factor should be (page 300, equation 7.2.27):
$$ |G|^2 = G\cdot G^* = \frac{1}{(1 - \sigma + \sigma\cos(\phi))^2 + \sigma^2 \sin(\phi)^2}$$
The sign in front of the $\sigma$ terms in the first parentheses is opposite what I get.
Stability requires that $|G| \le 1$. However, in my case, $|G| \le 1$ only if $\sigma \ge 0$ or $\sigma \le -1$, and in the equation given by Hirsch $|G| \le 1$ only if $\sigma \le 0$ or $\sigma \ge 1$. Doesn't this mean that this scheme is conditionally stable?