FEM1D_HEAT_EXPLICIT
Finite Element Solution of the
Time Dependent 1D Heat Equation
using Explicit Time Stepping


FEM1D_HEAT_EXPLICIT, a MATLAB library 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.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

FEM1D_HEAT_EXPLICIT is available in a MATLAB version and a Python version.

Related Data and Programs:

FD1D_HEAT_EXPLICIT, a MATLAB library which uses the finite difference method and explicit time stepping to solve the time dependent heat equation in 1D.

fem1d_heat_explicit_test

FEM1D_HEAT_IMPLICIT, a MATLAB program 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 program which uses the finite element method to solve the steady (time independent) heat equation in 1D.

Reference:

  1. George Lindfield, John Penny,
    Numerical Methods Using MATLAB,
    Second Edition,
    Prentice Hall, 1999,
    ISBN: 0-13-012641-1,
    LC: QA297.P45.

Source Code:


Last revised on 21 January 2019