Significance of Interpolation Schemes and Flux Limiters in Finite Volume Method
OBJECTIVE:
To understand the significance of interpolation schemes and fux limiters in Finite Volume Method.
INTERPOLATION SCHEMES AND IT\'S SIGNIFICANCE:
A finite volume method discretization is based upon an integral form of PDE equation. The PDE is written such that it can be solved for a finite volume or cell. We take approximations of surface and volume integrals which requires values of the variables at locations other than the computational nodes of the control volume. Those values are determined by interpolation schemes.
The various types of interpolation schemes are aa follows:-
a.) Upwind Interpolation Scheme
This type of scheme is used in convection dominated problem. It\'s equivalent to backward or forward differencing approximation depending upon flow direction. \'Upwind\' refers to the node which is upstream of the given node. Suppose say we are at the east phase \'e\' of a control volume. let P be a point at the left of face \'e\' and point E at the right of face \'e\'.
`f_e={f_P if (V.n)_e>0} and {f_E if (V.n)_e<0}`
Value of function 'f' at any point near our computational point 'p' can be expanded by taylor series as :-
`f(x)= f_p +(x-x_p)((delf)/dx)_p +`higher order terms
The UDS approximation error generated here is propertion to `Deltax`or can be expressed as:-
`epsi =o(Deltax)`, This is the reason why this scheme is equivalent to forward or backward differencing method. The advantage of this scheme is that it\'s quite stable for advection dominated problems. The disadvantage is that since it\'s first order accurate it will require finer grids.
b.) Linear Interpolation Scheme
It approximates the value of variables at the centre of the face of control volume at two nearest computational nodes.
`f_e = f_Elamda_e+f_P(1-lamda_e), lamda_e = (x_e-x_p)/(x_E-x_p``
linear interpolation scheme is equivalent to the central difference scheme of first order derivative.
Error generated here is equivalent to - `epsi=o(x_e-x_p)^2`
which is why we call it equivalent to central difference scheme. Accuracy is of second order hence more accurate when compared to upwind interpolation scheme, but it may produce oscillatory solutions. It is used commonly in turbulent flows.
c.) Quadratic Upwind Interpolation Scheme
It approximates the value of variable at control volume face center by quadratic interpolation of values at three nearest computational nodes (one downstream node D and two upstream node (U,U\')
`f_e =f_U+g_1(f_D-f_U)+g_2(f_(U\')-f_U)`
`g_1 = ((x_e-x_U)(x_e-x_(U\')))/((x_D-x_U)(x_D-x_(U)\'))`
`g_2=((x_e-x_U)(x_e-x_D))/((x_(U')-x_U)(x_(U')-x_D))`
d.) Some other Interpolation Schemes
There are other interpolation schemes like
1. Hybrid schemes which is a combination of upwind and linear interpolation schemes
2. Total Variational Diminishing (TVD) which are used to solve hyperbolic partial differential equation.
3. Essentially non-oscillatory schemes (ENO) and Weighted non-oscillatory schemes (WENO)
FLUX LIMITERS AND IT\'S SIGNIFICANCE:
Flux limiters are basically used to limit the spatial derivatives to realistic values so that any numerical solution doesn\'t become unstable. They are used in high resolution schemes and comes into work when there are shocks/sharp wave fronts or discontinuities. They dont come into operation when there is smooth changing of waves. Consider the 1D Semi-discrete scheme below.
`(delu_i)/dt + 1/(Deltax_i)[F(u_(i+1/2))-F(u_(i-1/2))]=0`
Where, `F(u_(i+1/2)) and F(u_(i-1/2))`represent edge fluxes for the ith cell. These edge fluxes can be represented by low and high resolution schemes so that the flux limiter can switch between these schemes depending upon the gradients.
`F(u_(i+1/2))=f_(i+1/2) -phi_(r_i)(f_(i+1/2)-f\'_(i+1/2))`
`F(u_(i-1/2))=f_(i-1/2) -phi_(r_(i-1))(f_(i-1/2)-f\'_(i-1/2))`
Where f = low precision, high resolution flux
f\' = high precision, low resolution flux
`phi(r)`= Flux limiter function.
r represents the ratio of successive gradients on the solution mesh, i.e ..,
`r_i=(u_i-u_(i-1))/(u_(i+1)-u_i)`