NDSolve and Piecewise
- To: mathgroup at smc.vnet.net
- Subject: [mg92085] NDSolve and Piecewise
- From: "M.G. Bartlett" <marshall.bartlett at gmail.com>
- Date: Fri, 19 Sep 2008 05:56:59 -0400 (EDT)
Folks, I am having some trouble with getting Piecewise and NDSolve to play nicely together. My problem is to find a solution to the heat flow equation with an arbitrary time-varying upper boundary condition and a Neumann-type lower boundary (steady head flow condition). My code looks like this: NDSolve[{D[u[t, x], t] == D[u[t, x], x, x], u[t, 0] == Piecewise[{{t/10, 0 <= t < 5}, {(10 - t)/10, 5 <= t < 10}}], u[0, x] == x/5, (D[u[t, x], x] /. x -> 5) == 1/5}, u, {t, 0, 10}, {x, 0, 5}] This returns and NDSolve::ndum error on my system, which past experience tells me is usually me leaving some symbolic value hanging around somewhere it ought not to be. I can't see any such problem this time. I'm pretty sure that I have written similar code in the past (using Piecewise and NDSolve, though it was some time ago and I can't locate the file now) and had it work, and it works if you replace Piecewise with another functional form (like Sin[t]). Am I missing something? Thanks, Marshall