CFDFlow

Computational fluid dynamics News

FEniCS

FEniCS is a popular open-source computing platform for solving partial differential equations (PDEs) with the finite element method (FEM). FEniCS enables users to quickly translate scientific models into efficient finite element code. With the high-level Python and C++ interfaces to FEniCS, it is easy to get started, but FEniCS offers also powerful capabilities for more experienced programmers. FEniCS runs on a multitude of platforms ranging from laptops to high-performance computers.

The FEniCS project is a research and software project aimed at creating mathematical methods and software for solving partial differential equations (PDEs). This includes creating intuitive, efficient and flexible software. The project was initiated in 2003, and is developed in a collaboration among researchers from a number of universities and research institutes around the world. For the latest updates and more information about the FEniCS project, visit the FEniCS webpage.

The latest version of the FEniCS project, FEniCSx, consists of several building blocks, namely DOLFINxUFLFFCx, and Basix. We will now go through the main objectives of each of these building blocks. DOLFINx is the high performance C++ backend of FEniCSx, where structures such as meshes, function spaces and functions are implemented. Additionally, DOLFINx also contains compute intensive functions such as finite element assembly and mesh refinement algorithms. It also provides an interface to linear algebra solvers and data-structures, such as PETSc. UFL is a high-level form language for describing variational formulations with a high-level mathematical syntax. FFCx is the form compiler of FEniCSx; given variational formulations written with UFL, it generates efficient C code. Basix is the finite element backend of FEniCSx, responsible for generating finite element basis functions.

If you would like to work with DOLFINx outside of the binder-notebooks, you need to install the FEniCS software. The recommended way of installing DOLFINx for new users is by using Docker. Docker is a software that uses containers to supply software across different kinds of operating systems (Linux, Mac, Windows). The first step is to install docker, following the instructions at their webpage.

All notebooks can be converted to python files using nbconvert.

https://fenicsproject.org/

https://jsdokken.com/dolfinx-tutorial/fem.html

Updated: 19 January 2024 — 12:16

Leave a Reply

Your email address will not be published. Required fields are marked *

CFDFlow © 2015 Frontier Theme