Well I thought I had a simple problem to solve using maple: a ﬁrst order linear pde of a
function of two variables: `n(x,t)`

. This pde has the form:

dn/dt + v*dn/dx+n/tau=G0*Heaviside(t)

(the derivitives are in fact partial derivitives)

with boundary conditions: `n(x,0)=0 and n(0,t)=0`

. Note v and G0 are positive
constants.

When I invoke `pdsolve in R5 (Mac)`

I get a solution with an unknown function of \(x\) and
\(t\):

` _F1(t-x/v)`

The form is not useful to me as I do not know `_F1`

. How do I insert the above boundry
conditions into pdsolve or is pdsolve strictly for symbolic solutions?

Should I avoid using pdsolve and use Laplace transforms instead?

pdsolve doesn’t always ﬁnd enough solutions for arbitrary boundary values, but in this case
it does work. I assume you’re interested in the solution for `t > 0 and x > 0`

.

> alias(N=n(x,t)); assume(v>0, G0>0, t>0, x>0); > de:= diff(N,t)+v*diff(N,x)+N/tau=G0*Heaviside(t); > sol:=pdsolve(de,N); x t v - x sol := n(x, t) = G0 tau + exp(- -----) _F1(-------) tau v v

For the boundary condition at `t=0`

:

> eval(sol,{t=0,N=0}); x 0 = G0 tau + exp(- -----) _F1(- x/v) tau v > isolate(subs(x=-s*v,%), _F1(s)); G0 tau _F1(s) = - -------- s exp(---) tau

Note that this determines `_F1(s) for s <= 0`

.

For the boundary condition at `x=0`

:

> eval(sol,{x=0,N=0}); 0 = G0 tau + _F1(t)

And this tells you `_F1(t) for t >= 0`

.

Try:

>with(PDEtools); >DE:=diff(n(t,x),t)+v*diff(n(t,x),x)+n(t,x)/tau=G0*Heaviside(t); > pdsolve(DE);

PDEtools is in shareware if you can’t ﬁnd it elsewhere (eg, in R4).

Yes, substitute your BC in the solution and solve for `_F1`

. Basically you have two equations
for it and both must be satisﬁed.

The general solution to your diﬀerential equation is indeed

sol(x,t) := _F1(x-v*t) + G0*tau*(exp(t/tau)-1)*Heaviside(t)

Using the ﬁrst boundary condition `n(x,0) = 0 implies _F1(x) = 0`

for arbitrary \(x\), so that
`_F1=0`

.

This gives the solution `G0*tau*(exp(t/tau)-1)*Heaviside(t)`

.

Then you add another boundary condition `n(0,t) = 0`

, which would lead to an
impossibility, unless you assume \(t<0\).

I am wondering about your boundary conditions: aren’t they too many for a ﬁrst-order diﬀerential equation?