Guides
Use these pages when you already have a problem definition and want to change one part of its setup. Each guide explains a particular task: configuring execution, supplying coefficients, exchanging meshes or selecting a solver. For the complete variational workflow, start with the API overview. For physical applications and measured performance, explore the Gallery.
| Task | Guide |
|---|---|
| Run local problems sequentially or with CPU workers | Serial, threads and processes |
| Distribute local work and the global solve | Distributed MPI |
| Assign local algebra to CUDA devices | CUDA and multiple GPUs |
| Change the material coefficient | Heterogeneous coefficients |
| Associate materials and boundaries with mesh labels | Materials and marked meshes |
| Generate, import and export planar or volume meshes | Mesh generation and exchange |
| Configure Cartesian local and interface meshes | Cartesian meshes and local spaces |
| Write and compile native weak forms | UFL and FEniCSx |
| Supply local equations or use an external solver | External and custom providers |
| Supply a different trace basis or numbering | Custom interface spaces |
| Choose LU, Krylov or AMG and reuse factors | Linear solvers |
| Reuse multiscale responses for changing loads | Execution and repeated solves |
| Evaluate, visualize and export reconstructed fields | Visualization |
Choose an environment
The package's core works without native FEM, MPI or accelerator imports. Install the dependencies needed by the selected task as described in installation. In a checkout, use the checked-in Pixi lockfile:
| Task | Locked profile | Additional capabilities |
|---|---|---|
| UFL local assembly and CPU workers | introduction |
DOLFINx, UFL, Basix and a C compiler |
| Native local PARDISO | introduction-intel |
The FEM stack and MKL/PyPardiso |
| Distributed MPI with UFL | introduction |
MPI, PETSc and MUMPS |
| CUDA local factorization | introduction-gpu |
CuPy, cuDSS and a supported CUDA device/driver |
| Mesh generation and exchange | meshing |
Gmsh, Netgen and meshio |
The Windows guide describes its native FEM, solver and CUDA requirements. Distributed PETSc/MUMPS uses the supported Unix environments. Selecting a GPU solver changes numerical algebra; it does not move UFL assembly to the device.