The LinearUpwind Scheme.
The following article is related to the LinearUpwind scheme, implemented in OpenFOAM®. The article will describe the implementation to understand the usage and how the code works in that particular area. The LinearUpwind Scheme is related to the limited surface interpolation schemes which is related to the surface Interpolation schemes. Thus, in OpenFOAM®, the LinearUpwind scheme is a limited scheme. In the code section below, it is shown that the limiter in use is zero but an explicit correction is applied.
The LinearUpwind Scheme (First/Second Order Scheme).
Using the LinearUpwind scheme increases the accuracy while being more stable -- compared to the Upwind scheme concerning accuracy and regarding stability to the Linear scheme. This scheme is based on the Upwind scheme, and that's why the LinearUpwind inherits the Upwind scheme. The limiter is set to zero as it is based on the Upwind scheme. Additionally, the weights() functions are the same as for the Upwind scheme. The difference is related to the explicit correction that is implemented in the LinearUpwind class. The gradient-based explicit correction is used to increase the accuracy of the standard Upwind scheme. If one compares the Linear scheme with the LinearUpwind scheme, it is evident that the LinearUpwind scheme is much more stable than the Linear scheme. Additionally, the increase in accuracy compared to the Upwind scheme can be seen. Nevertheless, the LinearUpwind scheme can calculate non-physical values.
Of The Numerical Analysis.