fem1d_heat_explicit


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.

Licensing:

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

Languages:

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

Related Data and Programs:

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_explicit_test

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.

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