- #1
brando623
- 3
- 0
1. I would like to find and plot the temperature for all points in a 1 dimensional rod of length L, due to a heat source of q placed at point xo where 0<xo<L. The ends of the rod are kept at a constant of 300 Kelvin. The thermal diffusivity constant is a. I'm also looking for the steady state solution.
2. a (del^2)u = q
Where u is the temperature at point x, the thermal diffusivity constant is a, heat source of density q.3. I'm using mathematica to do all of this, so I have included my code
Manipulate[
Plot[T[x, q, xo, L, a], {x, 0, L},
AxesLabel -> {Style["Position(m)", Bold],
Style["Temperature(K)", Bold]}, PlotRange -> {0, 10000},
PlotStyle -> {Thickness[0.0075], Hue[1]}, Filling -> Axis,
ImageSize -> {500, 300}], {{q, .1, "Heat Source Density"}, .1, 100,
Appearance -> "Labeled"}, {{a, .1,
"Conductivity(W/(m*K))"}, .1, 10000,
Appearance -> "Labeled"}, Delimiter, {{L, 1, "Region Length"}, 0.1,
5, Appearance -> "Labeled"}, {{xo, .2, "Source Point Position"}, 0, L,
Appearance -> "Labeled"}, SaveDefinitions -> True,
AutorunSequencing -> All]T[x_, L_, a_, xo_, q_] =
300*(Integrate[G[x, L, xo], {xo, 0, L},
Assumptions -> 0 < L && 0 <= xo]) + (1/a)*(Integrate[
q*G[x, L, xo], {xo, 0, L},
Assumptions -> 0 < L && 0 <= xo) // Simplify
G[x_, L_,xo_] = (1/(L))*(L*x*HeavisideTheta[L - xo] -
x*xo*HeavisideTheta[L - xo] - L*x*HeavisideTheta[x - xo] +
L*xo*HeavisideTheta[x - xo] - L*xo*HeavisideTheta[-xo] +
x*xo*HeavisideTheta[-xo]) // Simplify
For this approach, I solved for the Green's function, using the below code. After that, I multiplied it by q*KroneckerDelta[x,xo] (as the generating function) and integrated with respect to xo from 0 to L and that didn't give the desired results.
DSolve[{D[G[x], x, x] + DiracDelta[x - xo] == 0, G[0] == 0,
G[L] == 0}, G[x], x]
My problem is two things, I don't think I have the right stuff for the integral since the answer doesn't have xo in it, and I'm not sure what generating function to use, or how to develop it. Also, if there is a better way to do this, please do not hesitate to guide me in that direction.
Thanks in advance.
2. a (del^2)u = q
Where u is the temperature at point x, the thermal diffusivity constant is a, heat source of density q.3. I'm using mathematica to do all of this, so I have included my code
Manipulate[
Plot[T[x, q, xo, L, a], {x, 0, L},
AxesLabel -> {Style["Position(m)", Bold],
Style["Temperature(K)", Bold]}, PlotRange -> {0, 10000},
PlotStyle -> {Thickness[0.0075], Hue[1]}, Filling -> Axis,
ImageSize -> {500, 300}], {{q, .1, "Heat Source Density"}, .1, 100,
Appearance -> "Labeled"}, {{a, .1,
"Conductivity(W/(m*K))"}, .1, 10000,
Appearance -> "Labeled"}, Delimiter, {{L, 1, "Region Length"}, 0.1,
5, Appearance -> "Labeled"}, {{xo, .2, "Source Point Position"}, 0, L,
Appearance -> "Labeled"}, SaveDefinitions -> True,
AutorunSequencing -> All]T[x_, L_, a_, xo_, q_] =
300*(Integrate[G[x, L, xo], {xo, 0, L},
Assumptions -> 0 < L && 0 <= xo]) + (1/a)*(Integrate[
q*G[x, L, xo], {xo, 0, L},
Assumptions -> 0 < L && 0 <= xo) // Simplify
G[x_, L_,xo_] = (1/(L))*(L*x*HeavisideTheta[L - xo] -
x*xo*HeavisideTheta[L - xo] - L*x*HeavisideTheta[x - xo] +
L*xo*HeavisideTheta[x - xo] - L*xo*HeavisideTheta[-xo] +
x*xo*HeavisideTheta[-xo]) // Simplify
For this approach, I solved for the Green's function, using the below code. After that, I multiplied it by q*KroneckerDelta[x,xo] (as the generating function) and integrated with respect to xo from 0 to L and that didn't give the desired results.
DSolve[{D[G[x], x, x] + DiracDelta[x - xo] == 0, G[0] == 0,
G[L] == 0}, G[x], x]
My problem is two things, I don't think I have the right stuff for the integral since the answer doesn't have xo in it, and I'm not sure what generating function to use, or how to develop it. Also, if there is a better way to do this, please do not hesitate to guide me in that direction.
Thanks in advance.
Last edited: