Skip to content

Commit 60bf4cf

Browse files
authored
Make helmholtz backwards compatible (#248)
1 parent 2a13c0e commit 60bf4cf

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

chapter2/helmholtz_code.ipynb

+14-4
Original file line numberDiff line numberDiff line change
@@ -143,16 +143,26 @@
143143
"outputs": [],
144144
"source": [
145145
"from mpi4py import MPI\n",
146-
"from dolfinx import fem, io, default_scalar_type, geometry\n",
146+
"from dolfinx import (\n",
147+
" fem,\n",
148+
" io,\n",
149+
" default_scalar_type,\n",
150+
" geometry,\n",
151+
" __version__ as dolfinx_version,\n",
152+
")\n",
147153
"from dolfinx.fem.petsc import LinearProblem\n",
148154
"import ufl\n",
149155
"import numpy as np\n",
150156
"import numpy.typing as npt\n",
157+
"from packaging.version import Version\n",
151158
"\n",
152159
"mesh_data = io.gmshio.model_to_mesh(gmsh.model, MPI.COMM_WORLD, 0, gdim=3)\n",
153-
"domain = mesh_data.mesh\n",
154-
"assert mesh_data.facet_tags is not None\n",
155-
"facet_tags = mesh_data.facet_tags"
160+
"if Version(dolfinx_version) > Version(\"0.9.0\"):\n",
161+
" domain = mesh_data.mesh\n",
162+
" assert mesh_data.facet_tags is not None\n",
163+
" facet_tags = mesh_data.facet_tags\n",
164+
"else:\n",
165+
" domain, _, facet_tags = mesh_data\n"
156166
]
157167
},
158168
{

chapter2/helmholtz_code.py

+15-4
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,27 @@
6363

6464
# +
6565
from mpi4py import MPI
66-
from dolfinx import fem, io, default_scalar_type, geometry
66+
from dolfinx import (
67+
fem,
68+
io,
69+
default_scalar_type,
70+
geometry,
71+
__version__ as dolfinx_version,
72+
)
6773
from dolfinx.fem.petsc import LinearProblem
6874
import ufl
6975
import numpy as np
7076
import numpy.typing as npt
77+
from packaging.version import Version
7178

7279
mesh_data = io.gmshio.model_to_mesh(gmsh.model, MPI.COMM_WORLD, 0, gdim=3)
73-
domain = mesh_data.mesh
74-
assert mesh_data.facet_tags is not None
75-
facet_tags = mesh_data.facet_tags
80+
if Version(dolfinx_version) > Version("0.9.0"):
81+
domain = mesh_data.mesh
82+
assert mesh_data.facet_tags is not None
83+
facet_tags = mesh_data.facet_tags
84+
else:
85+
domain, _, facet_tags = mesh_data
86+
7687
# -
7788

7889
# We define the function space for our unknown $p$ and define the range of frequencies we want to solve the Helmholtz equation for.

0 commit comments

Comments
 (0)