Draw arbitrary functions with your mouse

Your browser doesn't support the HTML5 element canvas.
Dirichlet condition: u(0,t)=u(1,t)=0.
Neumann condition: ux(0,t)=ux(1,t)=0.

The blue curve you see above represents the graph of a function u(x,t) for a fixed value of t.

The coordinate x varies in the horizontal direction. Think of the left side of the white frame to be x=0, and the right side to be x=1. Moreover, think also of the top of the white frame to be u=1, and the bottom u=-1. The level u=0 is right in the middle.

When you click "Start", the graph will start evolving following the heat equation ut = uxx.

You can start and stop the time evolution as many times as you want. Moreover, if you click on the white frame, you can modify the graph of the function arbitrarily with your mouse, and then see how every different function evolves.

Note that the boundary conditions are enforced for t>0 regardless of the initial data. Note also that the function becomes smoother as the time goes by.

Luis Silvestre.

Check also the other online solvers

The solution of the heat equation is computed using a basic finite difference scheme. If you want to understand how it works, check the generic solver.