Skip to main content
Ctrl+K
FEniCSx tutorial - Home FEniCSx tutorial - Home
  • The FEniCSx tutorial

Introduction

  • An overview of the FEniCS Project
  • Changelog

Fundamentals

  • Solving the Poisson equation
    • Implementation
  • The Poisson problem with complex numbers
  • Weak imposition of Dirichlet conditions for the Poisson problem
  • Deflection of a membrane
    • Implementation
    • Using Paraview for visualization

A Gallery of finite element solvers

  • A Gallery of finite element solvers
  • The heat equation
    • Diffusion of a Gaussian function
    • A known analytical solution
  • Singular Poisson problem
  • A nonlinear Poisson equation
    • Implementation
  • The equations of linear elasticity
    • Implementation
    • Scaling
  • The Navier-Stokes equations
    • Test problem 1: Channel flow (Poiseuille flow)
    • Test problem 2: Flow past a cylinder (DFG 2D-3 benchmark)
  • Hyperelasticity
  • The Helmholtz equation
    • Implementation
  • Adaptive mesh refinement with NetGen and DOLFINx

Subdomains and boundary conditions

  • Combining Dirichlet and Neumann conditions
  • Setting multiple Dirichlet condition
  • Defining subdomains for different materials
  • Setting multiple Dirichlet, Neumann, and Robin conditions
  • Component-wise Dirichlet BC
  • Electromagnetics example

Improving your FEniCSx code

  • Mixed Poisson with a Schur complement pre-conditioner
  • Solver configuration
  • JIT options and visualization using Pandas
  • Error control: Computing convergence rates
  • Custom Newton solvers
  • Repository
  • Open issue

Index

By Jørgen S. Dokken

© Copyright 2023.

Last updated on Mar 23, 2026.

This webpage is an adaptation of The FEniCS tutorial and is distributed under the terms of the Creative Commons Attribution 4.0 International License which permits use, duplication, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.