DOLFIN is the C++ interface of the FEniCS project for the Automation of Computational Mathematical Modeling (ACMM), providing a consistent PSE (Problem Solving Environment) for solving ordinary and partial differential equations. Key features include a simple, consistent and intuitive object-oriented API; automatic and efficient evaluation of variational forms through FFC; automatic and efficient assembly of linear systems; and support for general families of finite elements.
| Tags | Scientific/Engineering Mathematics |
|---|---|
| Operating Systems | POSIX Linux Solaris Unix Windows Windows |
| Implementation | Python C++ |
Recent releases


Changes: This version adds experimental support for the new UFL form language. It adds new functionality for FSI (moving meshes) and experimental support for parallel partitioning and distribution of meshes.


Changes: This release introduces shared pointer support in the Python interface, improved adaptive mesh refinement algorithms, and improved ODE solvers. A number of bugfixes and other improvements have been made.


Changes: This release brings major changes (improvements) to the user interface and introduces the new FunctionSpace class. The Python interface includes several improvements, in particular simple and automated just-in-time compilation of function expressions. The LinearPDE and NonlinearPDE classes have been replaced by a new class, VariationalProblem, which handles both linear and nonlinear variational problems. In addition, a large number of bugfixes and small improvements have been made. This release requires the latest versions of FFC (0.6.0) and Viper.


Changes: New features in this release include built-in meshes for unit circles, rectangles, boxes, and spheres, special functions for DG transport problems, an MTL4 linear algebra backend, improved sparsity pattern computation, symmetric application of Dirichlet boundary conditions, a Cholesky solver for symmetric linear systems, improved linear algebra operators, and access to the ML algebraic multi-grid solver through the PETSc backend.


Changes: This version adds integration with VMTK (Vascular Modeling Toolkit), an extended XML mesh format including boundary indicators, support for dynamically attaching data to meshes, support for Epetra/Trilinos solvers, uniform handling of linear solvers for all backends (PETSc, Epetra, and uBLAS), and a new option for optimizing just-in-time compilation of variational forms.