Added July 6, 2019 Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; bc = u[0, t] == A; ic = u[x, 0] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], {x, t}, Assumptions -> {k>0,x > 0,t>0}], 60*10]];
Maple ✓
restart; interface(showassumed=0); pde := diff(u(x,t),t)=k*diff(u(x,t),x$2); ic := u(x,0)=0; bc := u(0,t)=A; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde,ic,bc],u(x,t)) assuming k>0,x>0,t>0),output='realtime'));
Hand solution
Solving
And
Let
____________________________________________________________________________________
Added July 6, 2019 Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; k=1/10; A=60; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; bc = u[0, t] == A; ic = u[x, 0] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], {x, t}], 60*10]];
Maple ✓
restart; k:=1/10; A:=60; pde := diff(u(x,t),t)=k*diff(u(x,t),x$2); ic := u(x,0)=0; bc := u(0,t)=A; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde,ic,bc],u(x,t)) assuming x>0),output='realtime'));
Hand solution
Solving on semi-infinite domain
With
The general problem above was solved in 4.1.6.1 on page 791 and the solution is
Source code used for the above
____________________________________________________________________________________
This is problem at page 76 from David J Logan text book.
Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; bc = u[0, t] == f[t]; ic = u[x, 0] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], {x, t}, Assumptions -> {t > 0, x > 0,k>0}], 60*10]]; sol = sol /. {K[2] -> z}
Maple ✓
restart; interface(showassumed=0); pde := diff(u(x,t),t)=k*diff(u(x,t),x$2); ic := u(x,0)=0; bc := u(0,t)=f(t); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde,ic,bc],u(x,t)) assuming t>0,x>0,k>0),output='realtime'));
Hand solution
Solving on semi-infinite domain
With
Let
For
____________________________________________________________________________________
Added July 7, 2019 Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; k=1/10; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; bc = u[0, t] == Sin[t]; ic = u[x, 0] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], {x, t}, Assumptions -> {t > 0, x > 0}], 60*10]];
Maple ✓
restart; interface(showassumed=0); k:=1/10; pde := diff(u(x,t),t)=k*diff(u(x,t),x$2); ic := u(x,0)=0; bc := u(0,t)=sin(t); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde,ic,bc],u(x,t)) assuming t>0,x>0),output='realtime'));
Hand solution
Solving
Using
The general solution was solved in problem 4.1.6.3 on page 803 and the solution was found
to be
Source code used for the above
____________________________________________________________________________________
Solve the heat equation
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; bc = u[0, t] == 1; ic = u[x, 0] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], {x, t}, Assumptions -> {t > 0, k > 0, x > 0}], 60*10]];
Maple ✓
restart; interface(showassumed=0); pde := diff(u(x,t),t)=k*diff(u(x,t),x$2); ic := u(x,0)=0: bc := u(0,t)=1; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde,ic,bc],u(x,t),HINT = boundedseries) assuming t>0,x>0,k>0),output='realtime'));
____________________________________________________________________________________
Added December 20, 2018.
Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == (1/4)*D[u[x, t], {x, 2}]; bc = u[-x0, t] == 0; ic = u[x, t0] == 10; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], x, t, Assumptions -> {t > Abs[t0], x > Abs[x0]}], 60*10]];
Maple ✓
restart; pde := diff(u(x, t), t) = (1/4)*(diff(u(x, t), x$2)); bc := u(-x0, t) = 0; ic := u(x, t0) = 10; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde, bc,ic],u(x,t)) assuming x>abs(x0), t>abs(t0)),output='realtime'));
____________________________________________________________________________________
Solve the heat equation
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; bc = u[0, t] == lambda; ic = u[x, 0] == mu; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, bc, ic}, u[x, t], {x, t}, Assumptions -> {t > 0, k > 0, x > 0}], 60*10]];
Maple ✓
restart; interface(showassumed=0); pde := diff(u(x,t),t)=k*diff(u(x,t),x$2); ic := u(x,0)=mu: bc := u(0,t)=lambda; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde,ic,bc],u(x,t),HINT = boundedseries) assuming t>0,x>0,k>0),output='realtime'));
____________________________________________________________________________________
From Mathematica DSolve help pages. Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == D[u[x, t], {x, 2}]; ic = u[x, 0] == Cos[x]; bc = u[0, t] == 1; sol = AbsoluteTiming[TimeConstrained[FullSimplify[DSolve[{pde, ic, bc}, u[x, t], {x, t}]], 60*10]];
Maple ✓
restart; pde := diff(u(x, t), t)=diff(u(x, t), x$2); ic := u(x,0)=cos(x); bc := u(0,t)=1; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve([pde,ic,bc],u(x,t)) assuming t>0 and x>0),output='realtime'));
____________________________________________________________________________________
Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == k*D[u[x, t], {x, 2}]; ic = u[x, 0] == 0; bc = u[0, t] == t; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, ic, bc}, u[x, t], {x, t}, Assumptions -> {k > 0, x > 0, t > 0}], 60*10]];
Maple ✓
restart; interface(showassumed=0); pde := diff(u(x, t), t)=k*diff(u(x, t), x$2); ic := u(x,0)=0; bc := u(0,t)=t; assume(x>0); assume(t>0); assume(k>0); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve([pde,ic,bc],u(x,t))),output='realtime'));
____________________________________________________________________________________
From Mathematica DSolve help pages. Solve the heat equation for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == D[u[x, t], {x, 2}]; ic = u[x, 0] == UnitTriangle[x - 3]; bc = Derivative[1, 0][u][0, t] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, ic, bc}, u[x, t], {x, t}], 60*10]];
Maple ✓
restart; pde := diff(u(x, t), t)=diff(u(x, t), x$2); ic := u(x,0)=piecewise( x>2 and x<3,-2+x, x>3 and x<4, 4-x, 0); bc:=(D[1](u))(0,t)=0; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve([pde,ic,bc],u(x,t)) assuming t>0 and x>0),output='realtime'));
____________________________________________________________________________________
Added December 20, 2018.
Solve for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == (1*D[u[x, t], {x, 2}])/4; ic = u[x, t0] == 10*Exp[-x^2]; bc = Derivative[1, 0][u][x0, t] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, ic, bc}, u[x, t], {x, t}, Assumptions -> {x > 0, t > 0}], 60*10]];
Maple ✓
restart; pde := diff(u(x, t), t) = 1/4*(diff(u(x, t), x$2)); bc := eval( diff(u(x,t),x),x=x0)=0; ic := u(x,t0)=10*exp(-x^2); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve([pde, bc,ic],u(x,t)) assuming x>0,t>0),output='realtime'));
____________________________________________________________________________________
Added April 5, 2019.
Solve for
For
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == D[u[x, t], {x, 2}] - D[u[x, t], x]; ic = u[x, 0] == f[x]; bc = u[0, t] == 0; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde, ic, bc}, u[x, t], {x, t}, Assumptions -> {x > 0, t > 0}], 60*10]];
Maple ✓
restart; pde := diff(u(x,t),t)=diff(u(x,t),x$2)- diff(u(x,t),x); ic := u(x,0)=f(x); bc := u(0,t)=0; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol', pdsolve([pde, ic, bc], u(x, t))assuming t>0,x>0),output='realtime'));
____________________________________________________________________________________
Added May 23, 2019.
From Math 5587 midterm I, Fall 2016, practice exam, problem 13.
Solve for
Mathematica ✓
ClearAll["Global`*"]; pde = D[u[x, t], t] == D[u[x,t],{x,2}]; ic = u[x,0]==x^2+1; bc = u[0,t]==1; sol = AbsoluteTiming[TimeConstrained[DSolve[{pde,ic,bc}, u[x, t], {x, t}], 60*10]];
Maple ✓
restart; pde := diff(u(x,t),t)= diff(u(x,t),x$2); ic := u(x,0)=x^2+1; bc :=u(0,t)=1; cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve([pde,ic,bc],u(x,t))),output='realtime'));
____________________________________________________________________________________