Getfem 2.0.1 review

Download
by rbytes.net on

The Getfem++ project focuses on the development of a generic and efficient C++ library for finite element methods elementary computat

License: LGPL (GNU Lesser General Public License)
File size: 4382K
Developer: Julien Pommier
0 stars award from rbytes.net

The Getfem++ project focuses on the development of a generic and efficient C++ library for finite element methods elementary computations. The goal is to provide a library allowing the computation of any elementary matrix (even for mixed finite element methods) on the largest class of methods and elements, and for arbitrary dimension (i.e. not only 2D and 3D problems).

Getfem offers a complete separation between integration methods (exact or approximated), geometric transformations (linear or not) and finite element methods of arbitrary degrees. It can really relieve a more integrated finite element code of technical difficulties of elementary computations.

Examples of available finite element method are : Pk on simplices in arbitrary degrees and dimensions, Qk on parallelepipeds, P1, P2 with bubble functions, Hermite elements, Argyris element, elements with hierarchic basis (for multigrid methods for instance), discontinuous Pk or Qk, XFem, vectorial elements (RT0, Nedelec) ...

The addition of a new finite element method is straightforward. Its description on the reference element must be provided (in most of the cases, this is the description of the basis functions, and nothing more). Extensions are provided for Hermite elements, piecewise polynomial, non-polynomial and vectorial elements, XFem.

The library also includes the usual tools for finite elements such as assembly procedures for classical PDEs, interpolation methods, computation of norms, mesh operations (including automatic refinement), boundary conditions, post-processing tools such as extraction of slices from a mesh ...

Getfem++ can be used to build very general finite elements codes, where the finite elements, integration methods, dimension of the meshes, are just some parameters that can be changed very easily, thus allowing a large spectrum of experimentations. Numerous examples are provided (see the screenshot section).

Getfem++ has no meshing capabilities (apart regular meshes), hence it is necessary to import meshes. Imports formats currently known by getfem are GiD , GmSH and emc2 mesh files. However, given a mesh, it is possible to refine it automatically.

What's New in This Release:
This version introduces many new features, such as level-set objects, parallelization of the assembly, an interface to the parallel direct linear solver MUMPS, many new elements (1D, 2D, and 3D Hermite, Argyris triangle, HCT triangle, RT0, and Nedelec elements), and automatic mesh refinement.
A number of backward-incompatible changes have also been made.
The brick framework has been reworked and is now available in the Matlab/Python interface.

Getfem 2.0.1 keywords