Challenge

FVM Literature Review

Finite Volume Method (FVM) :

In FVM the computational domain is divided into a number of smaller nonoverlapping finite volumes (or cells) and the (integral) governing equations of the flow are solved at (centre & faces) these cells.

Volume integrals in a partial differential equation that contain a divergence term are converted to surface integrals, using the Gauss divergence theorem. These terms are then evaluated as fluxes at the surfaces of each finite volume.

Difference between Finite Volume & Finite Difference Methods :

  • FDM uses governing equations in differential form while FVM uses governing equations in integral form.
  • In FDM variables are solved at each node while in FVM they are solved at each cell (centre and faces).
  • FVM inherently enforces conservation of properties hence it is more reliable than FDM for find solutions with shocks.
  • FDM requires function(s) for mapping an unstructured grid to a structured grid which is difficult & tedious to accomplish. In contrast, FVM can be applied directly to unstructured grids without mapping.
  • Mesh refinement is easier to implement in FVM, unlike FDM.

For deeper comprehension, let us take the example of 1D steady-state heat conduction through a rod.

The Governing equation needs to be in integral form so,

`" "del/(del x)(alpha (del T)/(del x)) + S = 0" (Differential form)"`

`therefore" "int del/(del x)(alpha (del T)/(del x))dV + int SdV = 0" (Integral form)"`

where,

`alpha = "Thermal diffusivity"`

`S = "Source term"`

In FVM we can divide the rod into nonoverlapping cells with centres `Delta x` distance apart as shown.

so the equ. becomes,

`" "int_w^e del/(del x)(alpha (del T)/(del x))dAdx + int_w^e SdV = 0" (dA = 1 for 1D)"`

For source term, we will use its average value from `e" to "w`,

`therefore" "[alpha A(del T)/(del x)]_w^e + barSdV = 0`

`therefore" "alpha_w A((del T)/(del x))_w - alpha_e A((del T)/(del x))_e + barSdV = 0`

If source term is a funtion of temprature we can linearize it using Picard's method as,

`" "barS = S^ast + ((del barS)/(del T))^ast (T_P - T_P^ast)" (asterisk denotes current iteration)"`

`" Let, " barS_C = S^ast - ((del barS)/(del T))^ast T_P^ast`

`" & " barS_P = ((del barS)/(del T))^ast`

`therefore" " barS = barS_C + barS_P T_P`

So the discretized governing eqution is,

`therefore" "underbrace(alpha_w A((T_E - T_P)/(Delta x)))_("Heat flux entering") - underbrace(alpha_e A((T_W - T_P)/(Delta x)))_("Heat flux leaving") + underbrace((barS_C + barS_P T_P)dV)_("Source Term") = 0`

Need for interpolation scheme :

  • In the finite volume method, quite often we need values of variables on faces (or centres in the case of nodes situated at face centres) where governing equations are not solved.
  • So we need to interpolate these values using neighbouring points where the solution is obtained to the required order of accuracy.
  • In the above equation, `alpha_w" & "alpha_e` are computed at faces i.e. midway between nodes so, we need to interpolate them.
  • Many interpolation schemes are used in FVM. Here we can use quadratic upwind interpolation as, IMAGE `alpha_e = (3alpha_D+6alpha_U-alpha_(UU))//8` and similarly for `alpha_w` we can use the points preceding it(upwind points).

Flux limiter :

  • In equ.(1) above, the temperature fluxes can oscillate vigorously near shocks causing the output to get smeared near the shocks.
  • To prevent this from happening we put limits on flux oscillations. This way the results are much cleaner near shocks and results provide better reliability.
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.

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.