fem1d_spectral_numeric


fem1d_spectral_numeric, a MATLAB code which applies the spectral finite element method to solve the problem u'' = - pi^2 sin(x) over [-1,+1] with zero boundary conditions, using as basis elements the functions x^n*(x-1)*(x+1), and carrying out the integration numerically using MATLAB's quad() function, by Miro Stoyanov.

This function solves the problem u'' = - pi^2 * sin( pi * x ) for x in (-1,1), with boundary conditions u(-1) = u(1) = 0.

This problem has exact solution u(x) = sin(pi*x).

We use the spectral finite element method. We assume that the solution can be written in terms of polynomials:

        phi_1 = x^0     * (x-1)*(x+1),
        phi_2 = x^1     * (x-1)*(x+1)
        ...
        phi_i = x^(i-1) * (x-1)*(x+1) ...
      
For this particular problem, the solution is an odd function, so only every other basis function will actually be useful.

Licensing:

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

Languages:

fem1d_spectral_numeric is available in a MATLAB version.

Related Data and Programs:

bvp4c_test, a MATLAB code which illustrates how to use the MATLAB command bvp4c(), which can solve boundary value problems (bvp's) in one spatial dimension.

fem1d, a MATLAB code which applies the finite element method to a 1d linear two point boundary value problem.

fem1d_adaptive, a MATLAB code which applies the finite element method to a linear two point boundary value problem in a 1d region, using adaptive refinement to improve the solution.

fem1d_display, a MATLAB code which reads three files defining a 1d arbitrary degree finite element function, and displays a plot.

fem1d_function_10_display, a MATLAB code which reads a prefix defining three finite element data files, reads the data, samples the finite element function, and displays a plot.

fem1d_nonlinear, a MATLAB code which applies the finite element method to a nonlinear two point boundary value problem in a 1d region.

fem1d_pmethod, a MATLAB code which applies the p-method version of the finite element method to a linear two point boundary value problem in a 1d region.

fem1d_sample, a MATLAB code which samples a scalar or vector finite element function of one variable, defined by fem files, returning interpolated values at the sample points.

fem1d_spectral_numeric_test

Author:

Miroslav Stoyanov, Oak Ridge National Laboratory.

Reference:

  1. Gilbert Strang, George Fix,
    An Analysis of the Finite Element Method,
    Cambridge, 1973,
    ISBN: 096140888X,
    LC: TA335.S77.

Source Code:


Last revised on 20 January 2019.