MA587: Finite Element Method


Introduction:

What is the role of this class in science or in your field? It is one of powerful tools along with experiments, observations and derivations.

The Finite Element Method is one of very important numerical methods for solving partial differential equations in science and engineering. In this introductory course, we will start with theoretical foundations and algorithm implementations for one-dimensional problems so that we can learn the essential tools that carry over to higher dimensions. The discussion of two-dimensional problems, some common used finite element spaces, error analysis, and other related topics including some applications of the finite element method will then be followed. Efforts will also be made on the issues of implementation and related software packages. Using the data from the Matlab mesh generation, the students will be able to implement finite element method using  their favorite computer languages.
 

Problem solving process:  A flow chart:

Real problems   --- Physical Laws/Other approaches <---> Mathematical/physical Models (Statistics, Integral Equations, optimization, ..., Differential equations) --> Solution techniques: Analytic solutions, Approximate solutions --> Interpret the solutions --> Applications (products, experiments, better models, predictions).

Differential equations:

Equations whose unknowns are functions.
 
  • Ordinary differential equations: The unknown is a function of one variable.  Example:
  • u''(x) = f(x)
  • Partial differential equations:  The unknown is a function of more than one variables. Example:
  • uxx + uyy = f(x,y).

    Applications of differential equations:

  • General fluid dynamics (liquid/gas): Navier Stokes Equations. The steady state solution is the Stokes equations. Ideal gas: Euler equations. Ideal incompressible steady flow away from the boundary: Poisson equations.
  • Electromagnetic: Maxwell equations.
  • Heat equations to model the temperature ;
  • Conservation laws shack waves;
  • Volterra equations for population growth and ecology;
  • Chemical diffusion and reaction equations; and many others.
  • For most application problems, the differential equations are first, second, third, or fourth order.  Almost all the differential equations can be transferred to a first order system of equations. The classification of the system can be determined from the eigenvalues of the linearized system.

    Various differential equations:

  • Initial value problems (IVP), usually there is only one independent variable, the standard form is:
  •  y' = f(y,t),   y(0) = y0 is given.
    The most popular solution technique is the Range-Kutta method. In Matlab, they can be solved by ode23, ode45 etc. if the system is non-stiff. For stiffness system, one can use ode15s, ode23s from Matlab. If one prefers to use Fortran, one can use sode.f or dode.f from netlib:
    http://www.netlib.org/ode/
  • Boundary value problems (BVP):
  • u''(x) = f(x),  a < x < b, u(a)=ua, u(b)=ub
  • Mixed IVP and BVP: For example, solving the heat equation on a bounded domain.
  • ut =  uxx + uyy
    we need both initial and boundary conditions.

    Classification of differential equations:

  • elliptic
  • parabolic
  • hyperbolic
  • linear
  • non-linear
  • Solution Techniques:

  • Analytic solutions: If the solution(s) can be expressed in terms of elementary functions (sin(x), cos(x), ex, log(x)),  series, or other known functions. But unfortunately, for many and many problems, it is extremely difficult, if not impossible, to get an analytic solution. Sometimes, the analytic solution may be too complicated and one would prefer to use an approximations.
  • Approximate Solutions:
  • Analytic approximate solution technique. Simplify the problem so that an analytic solution is obtainable; Or approximate solution by a simpler solution. For example, perturbation analysis; asymptotic expansions, truncated Taylor expansions or Fourier series etc. Usually do not use computers except symbolic software packages such as Maple, Mathematica etc.
  • Numerical Solution Techniques: Discretize the original differential equations in some form, then use computers to solve the discrete systems. The solution will be presented as: numerical solution (numbers);  or some simples function constructed from the computed numbers; or visualized by plots.
  • Different numerical solution techniques:

  • Finite difference methods, relatively easy to understand,  implement,; many available software package, very useful for problems with regular geometries.

  •  
  • Finite element method: Strong theoretical background, useful for irregular geometries, however, the overhead is the grid generation.

  •  
  • Finite volume methods:  Finite difference methods using integral form of conservation laws.

  •  
  • Spectral Method: Numerical methods using Fourier transforms to get high accuracy. There are some restrictions.
  • Technical terms:

  • Numerical Mathematics, Computational Mathematics. A branch of Mathematics/Applied Mathematics, the science that uses computers to solve mathematical problems.

  •  
  • Numerical Analysis, similar to computational mathematics but with the emphasis on theoretical analysis such as convergence and stability.

  •  
  • Scientific Computing,  similar to computational mathematics but with the emphasis on getting computational results. The justification of a valid method is either with rigorous theoretical proof or comparison with experiments or observed data or physical phenomenon.


  •