HOME

TheInfoList



OR:

The FEniCS Project is a collection of
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
components with the common goal to enable automated solution of
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, a ...
s. The components provide
scientific computing Computational science, also known as scientific computing or scientific computation (SC), is a field in mathematics that uses advanced computing capabilities to understand and solve complex problems. It is an area of science that spans many disc ...
tools for working with computational meshes, finite-element variational formulations of
ordinary Ordinary or The Ordinary often refer to: Music * ''Ordinary'' (EP) (2015), by South Korean group Beast * ''Ordinary'' (Every Little Thing album) (2011) * "Ordinary" (Two Door Cinema Club song) (2016) * "Ordinary" (Wayne Brady song) (2008) * ...
and
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to ...
, and
numerical linear algebra Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to questions in continuous mathematics ...
.


Design and components

The FEniCS Project is designed as an umbrella project for a collection of interoperable components. The core components are * UFL (Unified Form Language), a domain-specific language embedded in Python for specifying finite element discretizations of differential equations in terms of finite element variational forms; * FIAT (Finite element Automatic Tabulator), the finite element backend of FEniCS, a Python module for generation of arbitrary order finite element basis functions on
simplices In geometry, a simplex (plural: simplexes or simplices) is a generalization of the notion of a triangle or tetrahedron to arbitrary dimensions. The simplex is so-named because it represents the simplest possible polytope in any given dimension. ...
; * FFC (FEniCS Form Compiler), a
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
for finite element variational forms taking UFL code as input and generating UFC output; * UFC (Unified Form-assembly Code), a C++ interface consisting of low-level functions for evaluating and assembling finite element variational forms; * Instant, a Python module for inlining C and C++ code in Python; * DOLFIN, a C++/Python library providing data structures and algorithms for finite element meshes, automated finite element assembly, and numerical linear algebra. DOLFIN, the computational high-performance C++ backend of FEniCS, functions as the main problem-solving environment (in both C++ and Python) and user interface. Its functionality integrates the other FEniCS components and handles communication with external libraries such as
PETSc The Portable, Extensible Toolkit for Scientific Computation (PETSc, pronounced PET-see; the S is silent), is a suite of data structures and routines developed by Argonne National Laboratory for the scalable (parallel) solution of scientific appl ...
, Trilinos and
Eigen Eigen may refer to: * Eigen (C++ library), computer programming library for matrix and linear algebra operations * Eigen Technologies, the Document AI software company * Eigen, Schwyz, settlement in the municipality of Alpthal in the canton of Schw ...
for numerical linear algebra, ParMETIS and
SCOTCH Scotch most commonly refers to: * Scotch (adjective), a largely obsolescent adjective meaning "of or from Scotland" **Scotch, old-fashioned name for the indigenous languages of the Scottish people: ***Scots language ("Broad Scotch") *** Scottish G ...
for mesh partitioning, and MPI and
OpenMP OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating sy ...
for distributed computing.


History

The FEniCS Project was initiated in 2003 as a research collaboration between the
University of Chicago The University of Chicago (UChicago, Chicago, U of C, or UChi) is a private university, private research university in Chicago, Illinois. Its main campus is located in Chicago's Hyde Park, Chicago, Hyde Park neighborhood. The University of Chic ...
and
Chalmers University of Technology Chalmers University of Technology ( sv, Chalmers tekniska högskola, often shortened to Chalmers) is a Swedish university located in Gothenburg that conducts research and education in technology and natural sciences at a high international lev ...
. The following institutions are currently, or have been, actively involved in the development of the project *
Argonne National Laboratory Argonne National Laboratory is a science and engineering research national laboratory operated by UChicago Argonne LLC for the United States Department of Energy. The facility is located in Lemont, Illinois, outside of Chicago, and is the lar ...
*
Chalmers University of Technology Chalmers University of Technology ( sv, Chalmers tekniska högskola, often shortened to Chalmers) is a Swedish university located in Gothenburg that conducts research and education in technology and natural sciences at a high international lev ...
*
Charles University ) , image_name = Carolinum_Logo.svg , image_size = 200px , established = , type = Public, Ancient , budget = 8.9 billion CZK , rector = Milena Králíčková , faculty = 4,057 , administrative_staff = 4,026 , students = 51,438 , underg ...
''FEniCS Governance documents.'' Retrieved 28 July 2016.
/ref> *
Delft University of Technology Delft University of Technology ( nl, Technische Universiteit Delft), also known as TU Delft, is the oldest and largest Dutch public technical university, located in Delft, Netherlands. As of 2022 it is ranked by QS World University Rankings among ...
*
Royal Institute of Technology The KTH Royal Institute of Technology ( sv, Kungliga Tekniska högskolan, lit=Royal Institute of Technology), abbreviated KTH, is a public research university in Stockholm, Sweden. KTH conducts research and education in engineering and technol ...
*
Simula Research Laboratory Simula Research Laboratory (also known as Simula) is a Norwegian non-profit research organisation located in Oslo, Norway. Simula was founded in 2001 by the Norwegian government to conduct fundamental, long-term research within information and c ...
*
University of Cambridge , mottoeng = Literal: From here, light and sacred draughts. Non literal: From this place, we gain enlightenment and precious knowledge. , established = , other_name = The Chancellor, Masters and Schola ...
*
University of Chicago The University of Chicago (UChicago, Chicago, U of C, or UChi) is a private university, private research university in Chicago, Illinois. Its main campus is located in Chicago's Hyde Park, Chicago, Hyde Park neighborhood. The University of Chic ...
*
University of Luxembourg The University of Luxembourg (French: ''Université du Luxembourg''; German: ''Universität Luxemburg''; Luxembourgish: ''Universitéit Lëtzebuerg'') is a public research university in Luxembourg. History The University of Luxembourg was found ...
Since 2019 a refactoring of code is in work of progress.


See also

*
List of finite element software packages This is a list of notable software packages that implement the finite element method for solving partial differential equations In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various ...
*
List of numerical analysis software Listed here are notable end-user computer applications intended for use with numerical or data analysis: Numerical-software packages General-purpose computer algebra systems Interface-oriented Language-oriented Historically significa ...
* Using the
FEATool Multiphysics FEATool Multiphysics ("Finite Element Analysis Toolbox for Multiphysics") is a physics, finite element analysis (FEA), and PDE simulation toolbox. FEATool Multiphysics features the ability to model fully coupled heat transfer, fluid dynamics, ch ...
GUI to set up and solve FEniCS multiphysics models


References


External links


The FEniCS project
on
Bitbucket Bitbucket is a Git-based source code repository hosting service owned by Atlassian. Bitbucket offers both commercial plans and free accounts with an unlimited number of private repositories. Services Bitbucket Cloud Bitbucket Cloud (previo ...
{{Projects at Chalmers University of Technology Scientific simulation software Finite element software Finite element software for Linux Free software programmed in Python Free software programmed in C++