I want to solve the one-dimensional one-phase Stefan problem, but I don't know how to make Mathematica understand the conditions. If you are not familiar with what I'm asking please refer to this wikipedia article: http://en.wikipedia.org/wiki/Stefan_problem#Mathematical_formulation This is what I have so far. Clearly, it doesn't work. NDSolve[ {D[u[x, t], t] == D[u[x, t], {x, 2}], (-D[u[x, t], x] /. x -> 0) == 1, u[s[t], t] == 0, D[s[t]] == (-D[u[x, t], x] /. x -> s[t]), u[x, 0] == 0, s[0] == 0 }, {u, s}, {x, 0, s[t]}, {t, 0, 10}] I hope there is someone out there with a magical code I'm using Mathematica 10 . Thanks! Answer One can do it semi-automatically. Let us introduce a normalized variable $$ \xi = \frac{x}{s(t)}, \quad \xi \in [0,1] $$ and make a simple finite difference method over $\xi$. The differential equation in new variables is ClearAll[u, s, x, t, ξ] D[u[x/s[t], t], t] == D[u[x/s[t], t], x, x] /. x -> ξ s[t] If we divide the int