# Problem using Hankel transform

Good day community, I try to solve the 2D heat equation in cylindrical coordinates. I wanna follow a paper (Selim et al.: Temperature rise in a semi-infinite medium heated by a disc source) and therefore using a Laplace transform and a Hankel transform, subsequently, and there I encountered a problem.

I'll jump right in, my equation is:

eqn = D[T[r, z, t], {r, 2}] + 1/r D[T[r, z, t], r] +
D[T[r, z, t], {z, 2}] == 1/[Alpha] D[T[r, z, t], t]


lapl = LaplaceTransform[eqn,t,p] gives me a ,what I understand is a, correct result:

LaplaceTransform[(T^(0,2,0))[r,z,t],t,p]+LaplaceTransform[(T^(1,0,0))[r,z,t],t,p]/r+
LaplaceTransform[(T^(2,0,0))[r,z,t],t,p]==
(p LaplaceTransform[T[r,z,t],t,p]-T[r,z,0])/[Alpha]


However, when applying HankelTransform[lapl,r,s,0] the result I'm getting is:

HankelTransform[LaplaceTransform[(T^(0,2,0))[r,z,t],t,p],r,s,0]+
HankelTransform[LaplaceTransform[(T^(1,0,0))[r,z,t],t,p]/r,r,s,0]+
HankelTransform[LaplaceTransform[(T^(2,0,0))[r,z,t],t,p],r,s,0]==
(1/[Alpha])(p HankelTransform[LaplaceTransform[T[r,z,t],t,p],r,s,0]-
HankelTransform[T[r,z,0],r,s,0])


while, based on the paper, I'm supposed to get:

$$\frac{\mathrm d^2 \overline{T_0}}{\mathrm dz^2}-\left(s^2+\frac{p}{\alpha}\right)\overline{T_0}=0$$

(In case the output is to tiring to read, as summary: there is no occurrence of s whatsoever, which makes doubt the correctness.)

Do I use the functions in wrong way (which I suppose is more likely) or is Mathematica (11.2) not able to transform this kind of input. Thanks in advance and forgive me my poor formatting skills.

There're 2 issues here. First, currently it seems that all the *Transform function can't recognize variables inside *Transform. A simpler example:

LaplaceTransform[LaplaceTransform[D[u[r1, r2], r1, r2], r1, s1], r2, s2]
(* s1*LaplaceTransform[LaplaceTransform[Derivative[0, 1][u][r1, r2], r1, s1], r2, s2] -
s2*LaplaceTransform[u[0, r2], r2, s2] + u[0, 0] *)


This one is easy to circumvent, we just need to make a replacement:

(* T[r, z, 0] -> 0 is the initial condition found from the paper.  *)
lapl = LaplaceTransform[eqn, t, p] /. T[r, z, 0] -> 0
laplmodified = lapl /. HoldPattern@LaplaceTransform[a_, __] :> a


Just keep in mind the T[r, z, t] inside laplmodified actually represents $\bar{T}(r,z,p)$. What's really troublesome is the 2nd issue, that is, currently HankelTransform is too weak. It can recognize Laplacian[T[r], {r, th}, "Polar"]:

HankelTransform[Laplacian[T[r], {r, th}, "Polar"], r, s]
(* -s^2 HankelTransform[T[r], r, s, 0] *)


But cannot recognize Laplacian[T[r, z, t], {r, th}, "Polar"]:

HankelTransform[Laplacian[T[r, z, t], {r, th}, "Polar"], r, s]
(* HankelTransform[Derivative[1, 0, 0][T][r, z, t]/r, r, s, 0] +
HankelTransform[Derivative[2, 0, 0][T][r, z, t], r, s, 0] *)


The only workaround I can think out is to build a rule representing this property of HankelTransform all by ourselves:

rule = Rule @@ (HankelTransform[Laplacian[#, {r, th}, "Polar"], r, s] & /@ {T[r, z, t],
T[r]}) /. T[r] -> T[r, z, t]
(* HankelTransform[Derivative[1, 0, 0][T][r, z, t]/r, r, s, 0] +
HankelTransform[Derivative[2, 0, 0][T][r, z, t], r, s, 0] ->
(-s^2)*HankelTransform[T[r, z, t], r, s, 0] *)
HankelTransform[laplmodified, r, s] /. rule /.
HoldPattern@HankelTransform[a_, __] :> a /. T -> (Overscript[Subscript[T, 0], _][#2] &)
`

• Congrats on hitting the differential equations gold badge! – Artes Sep 20 '18 at 7:50
• @Artes Thanks! :D – xzczd Sep 20 '18 at 7:57