Skip to content

Make helmholtz backwards compatible #248

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions chapter2/helmholtz_code.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -143,16 +143,26 @@
"outputs": [],
"source": [
"from mpi4py import MPI\n",
"from dolfinx import fem, io, default_scalar_type, geometry\n",
"from dolfinx import (\n",
" fem,\n",
" io,\n",
" default_scalar_type,\n",
" geometry,\n",
" __version__ as dolfinx_version,\n",
")\n",
"from dolfinx.fem.petsc import LinearProblem\n",
"import ufl\n",
"import numpy as np\n",
"import numpy.typing as npt\n",
"from packaging.version import Version\n",
"\n",
"mesh_data = io.gmshio.model_to_mesh(gmsh.model, MPI.COMM_WORLD, 0, gdim=3)\n",
"domain = mesh_data.mesh\n",
"assert mesh_data.facet_tags is not None\n",
"facet_tags = mesh_data.facet_tags"
"if Version(dolfinx_version) > Version(\"0.9.0\"):\n",
" domain = mesh_data.mesh\n",
" assert mesh_data.facet_tags is not None\n",
" facet_tags = mesh_data.facet_tags\n",
"else:\n",
" domain, _, facet_tags = mesh_data\n"
]
},
{
Expand Down
19 changes: 15 additions & 4 deletions chapter2/helmholtz_code.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,27 @@

# +
from mpi4py import MPI
from dolfinx import fem, io, default_scalar_type, geometry
from dolfinx import (
fem,
io,
default_scalar_type,
geometry,
__version__ as dolfinx_version,
)
from dolfinx.fem.petsc import LinearProblem
import ufl
import numpy as np
import numpy.typing as npt
from packaging.version import Version

mesh_data = io.gmshio.model_to_mesh(gmsh.model, MPI.COMM_WORLD, 0, gdim=3)
domain = mesh_data.mesh
assert mesh_data.facet_tags is not None
facet_tags = mesh_data.facet_tags
if Version(dolfinx_version) > Version("0.9.0"):
domain = mesh_data.mesh
assert mesh_data.facet_tags is not None
facet_tags = mesh_data.facet_tags
else:
domain, _, facet_tags = mesh_data

# -

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