I'd like to know why Mathematica is not solving this problem for me. Let's imagine a body in which the thermal diffusivity varies with z
(we have a cyllindrical simmetry). I want to know what is the temperature distribution in a time t
, at radius r
and depth z
.
Needs["NDSolve`FEM`"]
tdiff[z_] := 0.5 + 0.1 UnitStep[z - 1] + 0.2 UnitStep[z - 2];
eqn =
D[u[r, z, t], z, z] + (1/r) D[r D[u[r, z, t], r], r] - (tdiff[z]) D[u[r, z, t], t];
Ω =
ImplicitRegion[True, {{r, 0.001, 200}, {z, 0, 3}, {t, 0, 1000}}];
sol =
NDSolve[
{eqn == NeumannValue[30 - u[r, z, t], z == 0],
DirichletCondition[ u[r, z, t] == 35, z == 3],
DirichletCondition[u[r, z, t] == 0, r == 200],
DirichletCondition[u[r, z, t] == 35 + 5 Exp[-r^2] Exp[-z], t == 0],
D[u[r, z, t], t] == 0 /. t -> 0},
u, {r, z, t} ∈ Ω]
Mathematica takes forever and does not solve the problem. Why is that?
Comments
Post a Comment