Challenge

Week 9 - FVM Literature Review

Study of various interpolation schemes and flux limiters in FVM. 

Finite volume method :

The finite volume method (FVM) is a method for representing and evaluating partial diffrential equations in the form of algebraic equations. In the finite volume method, volume integrals in a partial differential equation that contain a divergence term are converted to surface integrals, using the divergence theorm. These terms are then evaluated as fluxes at the surfaces of each finite volume. Because the flux entering a given volume is identical to that leaving the adjacent volume, these methods are conservative. Another advantage of the finite volume method is that it is easily formulated to allow for unstructured meshes. The method is used in many computational fluid dynamics packages. "Finite volume" refers to the small volume surrounding each node point on a mesh.

Interpolation Schemes in Finite Volume Method (FVM):

The interpolation schemes used in FVM method are as follows

  1. Upwind Interpolation Scheme. (UDS)
  2. Central Differencing Approximation. (CDS)
  3. Quadratic Upwind Differencing Scheme. (QUICK)
  4. Hybrid Interpolation Scheme. (CDS & UDS)
  5. Total variation Diminishing Scheme. (TVD)

1. Upwind Interpolation Scheme(UDS):

The Upwind Interpolation Scheme (UDS) is a numerical scheme used in computational fluid dynamics (CFD) to solve convection-dominated problems, where the convection term dominates over diffusion. This scheme is particularly suitable when the Péclet number (Pe) is greater than 1, indicating that convection is dominant over diffusion.

The key idea behind the UDS is to use values from the upwind or upstream direction of a given node in order to approximate the values at the interface. The choice of values depends on the direction of the velocity vector (v) with respect to the normal vector (n) at the interface. The general form of the UDS is as follows:

For v > 0 (flow to the right):

f_e = f_p, if v.n_e > 0
f_e = f_E, if v.n_e < 0>Here, f_e represents the value of the variable (e.g., concentration or temperature) at the interface, f_p represents the value at the current cell, and f_E represents the value from the neighboring cell in the direction of convection.

The values at the interface are approximated differently depending on the direction of the flow:

Upwind Interpolation for v > 0 (Rightward flow):

u_i - 1/2 ≈ u_i - 1 (Backward differencing scheme)
u_i + 1/2 ≈ u_i
I_c ≈ v * (u_i - u_i - 1) / Δx
Upwind Interpolation for v < 0>

u_i - 1/2 ≈ u_i - 1
u_i + 1/2 ≈ u_i (Forward differencing scheme)
I_c ≈ v * (u_i + 1 - u_i) / Δx
The Taylor series expansion you mentioned:

v * u_i + 1/2 = v * u_i - (vΔx/2) * (∂u/∂x)_i + 1/2

This expression represents the first-order approximation of the value at the interface. The second term in the expansion resembles a diffusive flux term and represents the truncation error. This truncation error arises from the first-order nature of the upwind scheme and introduces numerical diffusion into the solution.

2.Central Differencing Approximation (CDS):

The Central Differencing Approximation (CDS) is another numerical scheme used in computational fluid dynamics (CFD) for solving partial differential equations (PDEs). Unlike the Upwind Interpolation Scheme, which is first-order accurate and suitable for convection-dominated problems, the CDS is often used for problems where a higher order of accuracy is desired. The CDS is a second-order accurate scheme in space and is commonly used when diffusion is significant, such as in problems with a low Péclet number (Pe < 1>

In the CDS, the values of the variable at the control volume (CV) face center (f_e) are approximated using linear interpolation based on the values at the two nearest computational nodes (f_p and f_E). The interpolation coefficient λ_e is used to perform this linear interpolation:

f_e = f_E * λ_e + f_p * (1 - λ_e)

The interpolation coefficient λ_e is defined as:

λ_e = (x_e - x_p) / (x_E - x_p)

Where:

  • f_e: Value of the variable at the control volume (CV) face center (interface).
  • f_p: Value of the variable at the current cell (point p).
  • f_E: Value of the variable at the neighboring cell (point E).
  • x_e: Location of the CV face center (interface).
  • x_p: Location of the current cell (point p).
  • x_E: Location of the neighboring cell (point E).

The interpolation coefficient λ_e is determined by the relative positions of the CV face center, the current cell, and the neighboring cell along the coordinate axis. It represents the weighted contribution of the values at points p and E to the value at the CV face center e. This interpolation approach provides a second-order accurate approximation of the variable at the interface.

3. Interpolation Polynomial:

  1. Interpolation Polynomial (p1(x)): The interpolation polynomial p1(x) is used to approximate the values of a variable u at a specific point x within a computational domain. This polynomial is constructed using linear interpolation between two neighboring points, xL and xR, and their corresponding values uL and uR.

    • p1(x) = uL + (x - xL) * (uR - uL) / (xR - xL)

    Here:

    • xL and xR are the coordinates of the two neighboring points.
    • uL and uR are the values of the variable u at xL and xR, respectively.
    • x is the target point within the interval [xL, xR].

    The interpolation polynomial p1(x) allows you to estimate the value of u at any point x within the interval [xL, xR] using linear interpolation.

  2. Interface Values: The provided equations describe the approximations of the variable u at cell interfaces (e.g., u_i - 1/2 and u_i + 1/2) using a central differencing scheme. These interface values are used in numerical methods like finite difference or finite volume schemes for solving PDEs. The central differencing scheme provides second-order accuracy in space.

    • u_i - 1/2 ≈ u_i - 1 + (u_i / 2)
    • u_i + 1/2 ≈ u_i + (u_i + 1 / 2)
    • I_c ≈ v * (u_i + 1 - u_i - 1) / Δx

    Here:

    • u_i - 1, u_i, and u_i + 1 represent the values of u at three consecutive cell centers.
    • u_i - 1/2 and u_i + 1/2 represent the approximated values at the cell interfaces.
    • Δx is the spatial grid spacing.
    • v represents the velocity or flow rate.

    The central differencing scheme is used to estimate the values at cell interfaces based on the values at neighboring cell centers. This scheme provides a second-order accurate spatial approximation.

  3. Taylor Series Approximation Polynomial: The Taylor series approximation polynomial is used to express the value of u at a point (i+1/2) in terms of the values and derivatives of u at the neighboring points (i and i+1). It is used to analyze the accuracy and error of the numerical scheme. The provided equation represents the Taylor series expansion of u_i + 1/2.

    • u_i + 1/2 = u_i + (u_i + 1 / 2) - ((Δx)^2 / 8) * (∂^2(u) / ∂(x)^2)_i + 1/2 + ...

    Here:

    • u_i and u_i + 1 / 2 represent the values at cell centers and interfaces, respectively.
    • Δx is the spatial grid spacing.
    • (∂^2(u) / ∂(x)^2)_i + 1/2 represents the second spatial derivative of u at the point (i+1/2).

    The Taylor series approximation polynomial allows you to express the interface value u_i + 1/2 in terms of the values and derivatives of u, providing insights into the accuracy and behavior of the numerical scheme. The term involving the second derivative indicates the contribution of numerical diffusion or dispersion to the solution. Higher-order terms are typically included to improve accuracy when needed.

  1. Flux Functions (F(ui+1/2) and F(ui-1/2)): These represent the fluxes at the cell interfaces, specifically at (i+1/2) and (i-1/2). Fluxes are critical in numerical schemes for solving partial differential equations because they govern the transport of quantities across cell boundaries.

  2. Low Precision Flux (flow): This is the flux that is computed using a low-order numerical scheme, typically first-order accurate. It provides a baseline or conservative estimate of the flux.

  3. High Precision Flux (high): This represents the flux calculated using a high-order numerical scheme, which is more accurate than the low precision flux. It is used to capture fine details in the solution.

  4. Flux Limiter Function (ϕ(r)): The flux limiter function ϕ(r) is a key component of flux limiters. It is used to modify the flux based on the local solution characteristics. The function ϕ depends on the parameter r, which is a ratio of differences in values from neighboring cells:

    r = (ui - ui-1) / (ui+1 - ui)

    The value of r quantifies the local steepness of the solution gradient. The flux limiter function ϕ(r) is designed to limit the steepness of the gradient in regions where the solution is discontinuous or rapidly changing. Different flux limiter functions have been developed to achieve this, and their choice depends on the specific numerical method and problem.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.