Introduction to DOLFINx¶

We start by importing DOLFINx, and check the version and git commit hash

In [9]:
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.5.0 installed, based on commit 
https://github.com/FEniCS/dolfinx/commit/2aaf3b20dbaedcbd3925a9640c3859deec563e02

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:

In [10]:
import dolfinx
from mpi4py import MPI
mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 10, 10)

Interface to external libraries¶

We use external libraries, such as pyvista for plotting.

In [11]:
import dolfinx.plot
import pyvista
topology, cells, geometry = dolfinx.plot.create_vtk_mesh(mesh)
grid = pyvista.UnstructuredGrid(topology, cells, geometry)

We add settings for both static and interactive plotting

In [13]:
plotter = pyvista.Plotter(window_size=(600, 600))
renderer = plotter.add_mesh(grid, show_edges=True)

Interactive plot¶

We can get interactive plots in notebook by calling.

In [ ]: