GetDP

A General Environment for the Treatment of Discrete Problems

Patrick Dular and Christophe Geuzaine

Download | Documentation | Licensing | Links

GetDP is an open source finite element solver that uses conforming finite elements (nodal, edge, face and volume) to discretize de Rham complexes in one, two and three dimensions. Although originally designed for electromagnetic problems, it has grown into a general-purpose solver capable of handling a wide range of multiphysics problems, optionally coupled with lumped circuit elements. It supports 1D, 2D, 2D axisymmetric and 3D formulations, in steady-state, transient and time-harmonic regimes. Its defining feature is the close correspondence between the user-written ASCII description of a discrete problem and its symbolic mathematical formulation.

For example, to solve the Poisson equation div(a grad(v)) = -f on a domain D, an input file (".pro" file) will look as follows:

  FunctionSpace {
    { Name H1; Type Form0;
      BasisFunction {
        { Name sn; NameOfCoef vn; Function BF_Node; Support D; Entity NodesOf[All]; }
      }
    }
  }
  Formulation{
    { Name Poisson; Type FemEquation;
      Quantity {
        { Name v; Type Local; NameOfSpace H1; }
      }
      Equation {
        Integral { [ -a[] * Dof{d v}, {d v} ] ; In D; Jacobian V; Integration I; }
        Integral { [ f[], {v} ] ; In D; Jacobian V; Integration I; }
      }
    }
  }

i.e., a direct transcription of the discrete function space and weak formulation of the problem.

See GetDP's reference manual for a more thorough overview of GetDP's capabilities.

Download

GetDP is distributed under the terms of the GNU General Public License (GPL):

If you use GetDP please cite the following reference in your work (books, articles, reports, etc.): P. Dular, C. Geuzaine, F. Henrotte and W. Legros, A general environment for the treatment of discrete problems and its application to the finite element method. IEEE Transactions on Magnetics, 34(5), pp. 3395-3398, 1998.

To help fund GetDP development, you can make a donation.

* Binary releases are compiled with PETSc, with support for the sparse direct solver MUMPS, and require Windows ≥ 10, Linux with glibc ≥ 2.24 (stable) or ≥ 2.28 (development), macOS ≥ 10.15 (x86 - Intel processors) or ≥ 12 (ARM - Apple M-series processors). Parallel versions (using MPI) should be compiled from source.

Documentation

Please report all issues on https://gitlab.onelab.info/getdp/getdp/issues.

Licensing

GetDP is copyright (C) 1997-2026 by P. Dular and C. Geuzaine, University of Liège (see the CREDITS file for more information), and is distributed under the terms of the GNU General Public License (GPL) (version 2 or later).

In short, this means that everyone is free to use GetDP and to redistribute it on a free basis. GetDP is not in the public domain; it is copyrighted and there are restrictions on its distribution (see the license and the related FAQ). For example, you cannot integrate this version of GetDP (in full or in parts) in any closed-source software you plan to distribute (commercially or not). If you want to integrate parts of GetDP into a closed-source software, or want to sell a modified closed-source version of GetDP, you will need to obtain a different license. Please contact us directly for more information.

Links