fem1d_heat_explicit, a MATLAB code which solves the time-dependent 1D heat equation, using the finite element method in space, and an explicit version of the method of lines to handle integration in time.
This program solves
dUdT - k * d2UdX2 = F(X,T)over the interval [A,B] with boundary conditions
U(A,T) = UA(T), U(B,T) = UB(T),over the time interval [T0,T1] with initial conditions
U(X,T0) = U0(X)
The spatial derivatives are approximated using the finite element method, with piecewise linear elements.
The solver applies an explicit forward Euler approximation to the first derivative in time.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
fem1d_heat_explicit is available in a MATLAB version and a Python version.
fd1d_heat_explicit, a MATLAB code which uses the finite difference method and explicit time stepping to solve the time dependent heat equation in 1D.
fem1d_heat_implicit, a MATLAB code which uses the finite element method and implicit time stepping with the backward Euler method to solve the time dependent heat equation in 1D.
fem1d_heat_steady, a MATLAB code which uses the finite element method to solve the steady (time independent) heat equation in 1D.