FEM1D_SPECTRAL_NUMERIC
Spectral Finite Element Method for 1D problem, Numeric Integration


FEM1D_SPECTRAL_NUMERIC, a MATLAB program 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 GNU LGPL license.

Languages:

FEM1D_SPECTRAL_NUMERIC is available in a MATLAB version.

Related Data and Programs:

BVP4C, MATLAB programs which illustrate how to use the MATLAB command bvp4c(), which can solve boundary value problems (BVP's) in one spatial dimension.

FEM1D, a MATLAB program which applies the finite element method to a 1D linear two point boundary value problem.

FEM1D_ADAPTIVE, a MATLAB program 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 program which reads three files defining a 1D arbitrary degree finite element function, and displays a plot.

FEM1D_FUNCTION_10_DISPLAY, a MATLAB program 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 program which applies the finite element method to a nonlinear two point boundary value problem in a 1D region.

FEM1D_PMETHOD, a MATLAB program 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 program 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

FEM1D_SPECTRAL_SYMBOLIC, a MATLAB program 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 symbolically, using MATLAB's symbolic toolbox, by Miro Stoyanov.

Author:

Miroslav Stoyanov, Oak Ridge National Laboratory, mkstoyanov@gmail.com.

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.