                    Finite Element Discretization Library
                                 version 1.1
                                   __
                       _ __ ___   / _|  ___  _ __ ___
                      | '_ ` _ \ | |_  / _ \| '_ ` _ \
                      | | | | | ||  _||  __/| | | | | |
                      |_| |_| |_||_|   \___||_| |_| |_|

                         http://mfem.googlecode.com

MFEM is a general, modular C++ library for finite element methods.

For building instructions, see the file INSTALL. Copyright information and
licensing restrictions can be found in the file COPYRIGHT.

Conceptually, MFEM can be viewed as a finite element toolbox, that provides the
building blocks for developing finite element algorithms in a manner similar to
that of MATLAB for linear algebra methods. In particular, MFEM supports a wide
variety of finite element spaces in 2D and 3D, as well as many bilinear and
linear forms defined on them. It includes classes for dealing with various types
of triangular, quadrilateral, tetrahedral and hexahedral meshes and their global
and, in the case of triangular and tetrahedral meshes, local refinement. General
element transformations, allowing for elements with curved boundaries are also
supported.

MFEM is commonly used as a "finite element to linear algebra translator", since
it can take a problem described in terms of finite element-type objects, and
produce the corresponding linear algebra vectors and sparse matrices. In order
to facilitate this, MFEM uses compressed sparse row (CSR) sparse matrix storage
and includes simple smoothers and Krylov solvers, such as PCG, GMRES and
BiCGStab.

For examples of using MFEM, see the examples/ directory, as well as the OpenGL
visualization tool GLVis which is available at http://glvis.googlecode.com.
