Application of the Boltzmann transformation
and the method of successive approximations 
to solve a heat conduction problem
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Reference :
M. N. Özisik, Heat Conduction, Wiley, New York, 1980.

Off[General::"spell1"]

Exact numerical Solution using NDSolve and the shooting technique

Off[General::"spell1"]

ρ = 1/Cp;

k[T_] :=  2/(1 - 0.1  T)

SOL[ξ_] := 
      NDSolve[{D[(k[T] /. T -> T[η])/(ρ Cp) D[
                    T[η], {η, 1}], {η, 1}] + 
              0.5 η D[T[η], {η, 1}] == 0, 
          T[0] ==  
            1, T'[0] ==  ξ}, {T[η]}, {η, 0, 
          100}]

bend[ξ_?NumericQ] := T[η] /. 
          SOL[ξ] /. η ->  100

bc = FindRoot[bend[ξ] ==  0, {ξ, -2}]

plt1 = 
      Plot[First[(T[η] /. SOL[ξ /. bc] /. η -> 
                a)], {a, 0, 10}, PlotStyle -> RGBColor[1, 0, 0], 
        PlotRange -> All, DisplayFunction ->  Identity]

Initial guess is obtained for α=((k(T))/(ρ Cp))= constant=5

α0 = 5;

θ0[η_] :=  1 - Erf[η/(2 (Sqrt[α])0)]

plt2 = 
      Plot[θ0[η], {η, 0, 10}, 
        PlotStyle ->  RGBColor[0, 0, 1], PlotRange ->  All, 
        DisplayFunction ->  Identity]

Show[plt1, plt2, DisplayFunction ->  $DisplayFunction]

First approximation is constructed using the method given in M. N. Özisik, Heat Conduction, Wiley, New York, 1980.

T0[η_] := 0.9 θ0[η] + 0.1

f0[η_] := 1/10 η

g0[ηp_?NumericQ] := 
      NIntegrate[First[f0[ηpp]], {ηpp, 0, ηp}]

Int0 = 1/
        NIntegrate[
          Exp[-g0[ηp]], {ηp, 0, 10}]

θ1[η_] := 
      1 - NIntegrate[
            Exp[-g0[ηp]], {ηp, 0, η}] Int0

plt3 = 
      ListPlot[Table[{η, θ1[η]}, {η, 0, 10, 0.1}], 
        PlotStyle ->  RGBColor[0, 1, 0], PlotRange ->  All, 
        PlotJoined -> True, 
        DisplayFunction ->  Identity]

Show[plt2, plt3, plt1, 
      DisplayFunction ->  $DisplayFunction]

Second approximation is built using the method given in M. N. Özisik, Heat Conduction, Wiley, New York, 1980.

θ1i = 
      Interpolation[
        Table[{η, θ1[η]}, {η, 0, 10, 0.1}]]

T1[η_] := 0.9 θ1i[η] + 0.1

alpha[η_] :=  (k[T] /. 
            T ->  T0[η])/(ρ Cp)

d[η_] := (D[k[T]/(ρ Cp), {T, 1}] /. 
              T ->  T0[η]) 0.9 D[θ1i[x], {x, 1}] /. 
        x ->  η

D[θ1i[x], {x, 1}] /. x ->  η

f1[a_] := 1/2  a/alpha[a] + 1/alpha[a] d[a]

g1[ηp_?NumericQ] := 
      NIntegrate[First[f1[ηpp]], {ηpp, 0, ηp}]

Int1 = 1/
        NIntegrate[
          Exp[-g1[ηp]], {ηp, 0, 20}]

θ2[η_] := 
      1 - NIntegrate[
            Exp[-g1[ηp]], {ηp, 0, η}] Int1

plt4 = 
      ListPlot[Table[{η, θ2[η]}, {η, 0, 10, 0.1}], 
        PlotStyle ->  RGBColor[0, 1, 1], PlotRange ->  All, 
        PlotJoined -> True, 
        DisplayFunction ->  Identity]

Show[plt2, plt3, plt1, plt4, 
      DisplayFunction ->  $DisplayFunction]

Third approximation is built using the method given in M. N. Özisik, Heat Conduction, Wiley, New York, 1980.

θ2i = 
      Interpolation[
        Table[{η, θ2[η]}, {η, 0, 10, 0.1}]]

T2[η_] := 0.9 θ2i[η] + 0.1

alpha[η_] :=  (k[T] /. 
            T ->  T1[η])/(ρ Cp)

d[η_] := (D[k[T]/(ρ Cp), {T, 1}] /. 
              T ->  T1[η]) 0.9 D[θ2i[x], {x, 1}] /. 
        x ->  η

f2[a_] := 1/2  a/alpha[a] + 1/alpha[a] d[a]

g2[ηp_?NumericQ] := 
      NIntegrate[First[f2[ηpp]], {ηpp, 0, ηp}]

Int2 = 1/
        NIntegrate[
          Exp[-g2[ηp]], {ηp, 0, 10}]

θ3[η_] := 
      1 - NIntegrate[
            Exp[-g2[ηp]], {ηp, 0, η}] Int2

plt5 = 
      ListPlot[Table[{η, θ3[η]}, {η, 0, 10, 0.1}], 
        PlotStyle ->  RGBColor[1, 1, 0], PlotRange ->  All, 
        PlotJoined -> True, 
        DisplayFunction ->  Identity]

Second approximation and third approximation show the same behavior and are in agreement with the exact solution obtained using NDSolve and the shooting technique. This indicates that the methods has converged in two iterations.

Show[plt1, plt4, plt5, 
      DisplayFunction ->  $DisplayFunction]