Introduction to DOLFINx#
We start by importing DOLFINx, and check the version and git commit hash
import dolfinx
print(
f"You have DOLFINx {dolfinx.__version__} installed, "
"based on commit \nhttps://github.com/FEniCS/dolfinx/commit/"
f"{dolfinx.common.git_commit_hash}"
)
You have DOLFINx 0.10.0 installed, based on commit
https://github.com/FEniCS/dolfinx/commit/b8375fa9fb932cbfce43005eeb4a3d52293f428b
Using a ‘built-in’ mesh#
In DOLFINx, we do not use wildcard imports as we used to in legacy DOLFIN, ie
from dolfin import *
We instead import dolfinx.mesh as a module:
from mpi4py import MPI
import dolfinx
mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 10, 10)
Interface to external libraries#
We use external libraries, such as pyvista for plotting.
import pyvista
import dolfinx.plot
topology, cells, geometry = dolfinx.plot.vtk_mesh(mesh)
grid = pyvista.UnstructuredGrid(topology, cells, geometry)
We add settings for both static and interactive plotting
plotter = pyvista.Plotter(window_size=(600, 600))
renderer = plotter.add_mesh(grid, show_edges=True)
2025-11-03 10:29:25.051 ( 0.673s) [ 7FB076C65140]vtkXOpenGLRenderWindow.:1458 WARN| bad X server connection. DISPLAY=
Interactive plot#
We can get interactive plots in notebook by calling.