DOLFINx_MPCindex-dokken2025mpc: Multi-point constraints framework for DOLFINx index-baratta2025dolfinx

DOLFINx_MPC[Dok25]: Multi-point constraints framework for DOLFINx [BDD+25]#

This library is an add-on to DOLFINx for imposing multi-point constraints, linear relations between degrees of freedom,

\[ u_s = \sum_j c_{sj}\, u_{m_j} + g_s, \]

where each constrained, slave, degree of freedom \(u_s\) is given by master degrees of freedom \(u_{m_j}\), with known coefficients \(c_{sj}\) and an offset \(g_s\). A master may carry a Dirichlet condition, and its value is then part of the offset. The constraints are eliminated from the system as it is assembled, so the solution satisfies them exactly.

Below you will find several examples of how to use the libary:

Spiders#

Joining two bodies with a rigid spider (RBE2)
Joining two bodies with a rigid spider (RBE2)
Spreading a load over two bodies with a flexible spider (RBE3)
Spreading a load over two bodies with a flexible spider (RBE3)
A double pendulum: two beams on two pins
A double pendulum: two beams on two pins

Periodic conditions#

Anisotropic wave system with periodic boundary conditions
Anisotropic wave system with periodic boundary conditions
Periodic boundary conditions for a representative volume element
Periodic boundary conditions for a representative volume element
Periodic boundary conditions for a representative volume element: finite strain
Periodic boundary conditions for a representative volume element: finite strain
Periodic boundary conditions for a three-dimensional representative volume element
Periodic boundary conditions for a three-dimensional representative volume element
Periodicity in one direction: a layer with an affine periodic part
Periodicity in one direction: a layer with an affine periodic part
Changing the coefficients of a multi-point constraint
Changing the coefficients of a multi-point constraint

Several spaces and meshes#

Mortar coupling: a Lagrange multiplier on a submesh
Mortar coupling: a Lagrange multiplier on a submesh
Mortar coupling of two subdomains
Mortar coupling of two subdomains
Bulk–surface coupling through a submesh
Bulk–surface coupling through a submesh

Integral constraints#

Fixing a mean value with an affine multi-point constraint
Fixing a mean value with an affine multi-point constraint
Prescribing a boundary average with an affine multi-point constraint
Prescribing a boundary average with an affine multi-point constraint
Prescribing a flow rate with an affine multi-point constraint
Prescribing a flow rate with an affine multi-point constraint

Slip conditions#

Stokes flow with slip conditions
Stokes flow with slip conditions
Stokes problem with slip condition using NEST matrices
Stokes problem with slip condition using NEST matrices

References#

[BDD+25]

Igor A. Baratta, Joseph P. Dean, Jørgen S. Dokken, Michal Habera, Jack S. Hale, Chris N. Richardson, Marie E. Rognes, Matthew W. Scroggs, Nathan Sime, and Garth N. Wells. Dolfinx: the next generation fenics problem solving environment. December 2025. doi:10.5281/zenodo.18101307.

[Dok25]

Jørgen Schartum Dokken. DOLFINx-MPC. July 2025.