Using GITT package - Samples

This notebook demonstrates the use of the first published version of the GITT package which implements some formalisms of the Generalized Integral Transform Technique. The "gitt.m" and "citt.m" files should be placed in ADDONS\STANDARDPACKAGES\CALCULUS subdirectory under MATHEMATICA's home directory.
For more information about the package or any suggestions, please contact "edmundo@lia.ufc.br".
For more information about the Generalized Integral Transform Technique, please refer to:
	Mikhailov,M.D. and Özisik,M.N., "Unified Analysis and Solutions of Heat and Mass Diffusion",
		John Wiley, New York, 1984.
	Cotta,R.M., "Integral Transforms in Computational Heat and Fluid Flow",
		CRC Press, Boca Raton, 1993.

Load GITT package

<< "Calculus`GITT`"
GITT::"usage"

Parabolic Problem (Nb7b)

Definition

eqgov = (∂_t) u[x, t] == (∂_(x, x))u[x, 
            t]
eqicbc = {u[x, 0] == 
          0, (∂_x) u[x, t] == 0 /. x -> 
            0, (∂_x) u[x, t] == 1 /. x -> 
            1}

Solution

{inv, eqgovtrf, eqicbctrf, unknownstrf} = 
GITT[
          eqgov, eqicbc, u[x, t], 5, t, {{x, 0, 1}}, 
          t + (1/2) ((x^2) - 
                  (1/3)), μ, ψ, Γ, 
WorkingPrecision -> $MachinePrecision];
edosol = 
        First[DSolve[Join[eqgovtrf, eqicbctrf], unknownstrf, 
              t]]  /. 
Γ[i_][
              t_] -> Γ[Round[i]][
              t];
anasol = 
      Simplify[inv  /. edosol]
Table[
      Evaluate[u[x, 0.1] /. anasol], {x, 0, 1, 
        0.1}]

Parabolic Problem (Nb7c)

Definition

bi = 2;
eqgov = (∂_t) u[x, t] == (∂_(x, x))u[x, 
            t]
eqicbc = {u[x, 0] == 
          1, (∂_x) u[x, t] == 0 /. x -> 
            0, (∂_x) u[x, t] + bi u[x, t] == 
            0 /. x -> 1}

Solution

{inv, eqgovtrf, eqicbctrf, unknownstrf} = 
GITT[
          eqgov, eqicbc, u[x, t], 5, t, {{x, 0, 1}}, 
          0, μ, ψ, Γ, 
WorkingPrecision -> $MachinePrecision];
edosol = 
        First[DSolve[Join[eqgovtrf, eqicbctrf], unknownstrf, 
              t]]  /. 
Γ[i_][
              t_] -> Γ[Round[i]][
              t];
anasol = 
      Simplify[inv  /. edosol]
Table[
      Evaluate[u[x, 0.1] /. anasol], {x, 0, 1, 
        0.1}]

Parabolic Problem (Nb7d)

Definition

g = 1; bi = 5;
eqgov = (∂_t) u[x, t] == (∂_(x, x))u[x, t] + 
          g
eqicbc = {u[x, 0] == 
          0, (∂_x) u[x, t] == 0 /. x -> 
            0, (∂_x) u[x, t] + bi u[x, t] == 
            0 /. x -> 1}

Solution

{inv, eqgovtrf, eqicbctrf, unknownstrf} = 
GITT[
          eqgov, eqicbc, u[x, t], 5, t, {{x, 0, 1}}, 
          g ((1/2) + (1/bi) - 
                ((x^2)/2)), μ, ψ, Γ, 
WorkingPrecision -> $MachinePrecision];
edosol = 
        First[DSolve[Join[eqgovtrf, eqicbctrf], unknownstrf, 
              t]]  /. 
Γ[i_][
              t_] -> Γ[Round[i]][
              t];
anasol = 
      Simplify[inv  /. edosol]
Table[
      Evaluate[u[x, 0.1] /. anasol], {x, 0, 1, 
        0.1}]

Elliptic Problem

Definition

eqgov = (∂_(t, t))u[x, t] == (∂_(x, x))u[x, 
            t]
eqicbc = {u[x, 0] == -1, 
        u[x, 1] == -1, (∂_x) u[x, t] == 
            0 /. x -> 0, 
        u[x, t] == 0 /. x -> 1}

Solution

{inv, eqgovtrf, eqicbctrf, unknownstrf} = 
GITT[
          eqgov, eqicbc, u[x, t], 2, t, {{x, 0, 1}}, 
          0, μ, ψ, Γ, 
WorkingPrecision -> $MachinePrecision];
edosol = 
        First[DSolve[Join[eqgovtrf, eqicbctrf], unknownstrf, 
              t]]  /. 
Γ[i_][
              t_] -> Γ[Round[i]][
              t];
anasol = 
      Simplify[inv  /. edosol]
Plot3D[
        Evaluate[u[x, t] /. anasol], {x, 0, 1}, {t, 0, 1}, 
        AxesLabel -> {"x", "t", "u"}];