I just updated dolfinx and multiphenicsx today and it seems multiphenicsx.fem.DofMapRestriction
no longer works for me as it used to. I use the same construction as in the Lagrange multiplier interface tutorial. In fact, I get the same error running the above tutorial on my installation (I ommitted the viskex lines as I don’t have OpenGL on the cluster where dolfinx is installed). It is as follows
Traceback (most recent call last):
File "/tmp_user/sator/hmmak/fenicsx-scripts/reordered_3D/test_mphx.py", line 60, in <module>
restriction_V1_Omega1 = multiphenicsx.fem.DofMapRestriction(V1.dofmap, dofs_V1_Omega1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp_user/sator/hmmak/spack/var/spack/environments/rlfx/.spack-env/view/lib/python3.11/site-packages/multiphenicsx/fem/dofmap_restriction.py", line 31, in __init__
super().__init__(_dofmap, restriction)
TypeError: __init__(): incompatible function arguments. The following argument types are supported:
1. __init__(self, dofmap: dolfinx::fem::DofMap, restriction: list[int]) -> None
Invoked with types: multiphenicsx.fem.dofmap_restriction.DofMapRestriction, dolfinx.cpp.fem.DofMap, ndarray
Did the use of DofMapRestriction
change completely without an edit of this tutorial? If so, how do I achieve what this tutorial does?