I want to simulate heat conduction (and advection) through an annulus and its surrounding material in 2D, as illustrated in this mesh:
For the heat conduction, I want two Dirichlet boundary conditions, one is a constant = 45 at the inner side of the annulus , one is a constant = 12 at the outer edge of the yellow region . There is an overarching heat conduction equation that dictates heat conduction/advection in both materials. In the gray region I set the advection term to 0. In the yellow region there is both conduction and advection.
It seems to me that the result shows heat is not diffusing out into the yellow region, which I don't know how to fix. I tried to change the velocity of advection and other parameters. It doesn't make any difference.
Here is what I have so far.
hole = ((x - 2.5)^2 + (y - 2.5)^2 ) <= 0.09;
rock = (((x - 2.5)^2) + ((y - 2.5)^2 ) >= 0.25) && (0 <= x <=
5) && (0 <= y <= 5);
crds = {2.5, 2.5};
Ω1 = ImplicitRegion[Or[hole, rock], {{x, 0, 5}, {y, 0,
5}}];
mesh1 = ToElementMesh[Ω1, "RegionHoles" -> crds,
"RegionMarker" -> {{{2.48, 2.898}, 10, 0.01}, {{0.1, 0.1},
20,0.01}}];
mesh1["Wireframe"["MeshElementStyle" ->
{FaceForm[Gray],FaceForm[Yellow]}]]
σ = If[ElementMarker == 10, 1, 5.953961813842482];
u = If[ElementMarker == 10, 0, 0];
α = If[ElementMarker == 10,
2.829654782116582`*^-7,5.026491646778043`*^-7];
q = If[ElementMarker == 10, 0, 0.1];
tempRateOp = σ*\!\(
\*SubscriptBox[\(∂\), \(t\)]\(T[t, x, y]\)\) + u*\!\(
\*SubscriptBox[\(∂\), \(x\)]\(T[t, x, y]\)\) - α*\!(
\*SubsuperscriptBox[\(∇\), \({x, y}\), \(2\)]\(T[t, x, y]\)\) -
q/Subscript[(Subscript[ρc, p]), f]
Subscript[Γ, D] = {DirichletCondition[T[t, x, y] == 45,
((x - 2.5)^2 + (y - 2.5)^2 ) <= 0.09],DirichletCondition[T[t, x, y]==
12, x == 0 || x == 5 || y == 0 || y == 5]};
ufunTemp = NDSolveValue[{tempRateOp == 0, Subscript[Γ,
D], T[0, x, y] == 12}, T, {t, 0, 5000}, {x, y} ∈ mesh1]
InputForm
. Something must have gone wrong with with theSubscriptBoxes
. I cannot execute the code. $\endgroup$Subscript[(Subscript[\[Rho]c, p]), f]
are not defined. In which version of Mathematica was this code tested? $\endgroup$