partial differential equation with mathematica

• Apr 15th 2014, 08:14 PM
mopen80
partial differential equation with mathematica
Hi,

i tried to solve the following viscous diffusion equation using mathematica , but it did not come up with a solution:

the equation is D(u(y,t))/Dt=v D^2(u(y,t))/Dy^2

conditions:

t=0 u(y,0)=0
y=0 u(0,t)=c
y=inf u(inf,t)=0

The mathematica statement i used is :

DSolve[{D[u[y, t], {t, 1}] - v D[u[y, t], {y, 2}] == 0, u[0, t] == 0,
u[y, 0] == c, u[y, \[Infinity]] == 0}, u[y, t], {y, t}]

Any help with getting the right solution using mathematica?

Thanks

mopen
• Apr 15th 2014, 08:55 PM
romsek
Re: partial differential equation with mathematica
I can see some problems with what you've got.

First off one of your boundary conditions is incorrectly specified.

You say that $u(\infty,t)=0$ but you've entered it as $u(y, \infty)=0$

Second your boundary and initial conditions aren't consistent at (0,0).

One boundary condition says $u(0,0)=c$ the initial condition says $u(0,0)=0$
• Apr 15th 2014, 10:22 PM
romsek
Re: partial differential equation with mathematica
From a tutorial on using DSolve.

"The heat equation is parabolic, but it is not considered here because it has a nonvanishing nonprincipal
part, and the algorithm used by DSolve is not applicable in this case."

The diffusion equation is of the same form as the heat equation. It doesn't look like DSolve is designed to solve this. NDSolve can be used though if you have a number for v.
• Apr 26th 2014, 11:46 PM
mopen80
Re: partial differential equation with mathematica
Ok, how to solve it using NDSOLVE , if v=1e-5 , y=0--10, t=0--30, c=5.

Thanks
• Apr 26th 2014, 11:54 PM
romsek
Re: partial differential equation with mathematica
Quote:

Originally Posted by mopen80
Ok, how to solve it using NDSOLVE , if v=1e-5 , y=0--10, t=0--30, c=5.

Thanks

i don't know how to interpret what you've written above. I don't think you fixed the inconsistent boundary values problem either.
• Apr 27th 2014, 12:37 AM
Prove It
Re: partial differential equation with mathematica
Couldn't you set \displaystyle \begin{align*} u(y,t) = Y(y)T(t) \end{align*} and apply separation of variables?