FEM1D_SPECTRAL_NUMERIC is 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.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
FEM1D_SPECTRAL_NUMERIC is available in a MATLAB version.
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_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.
Miroslav Stoyanov, Oak Ridge National Laboratory, mkstoyanov@gmail.com.
You can go up one level to the MATLAB source codes.