Coverage for /dolfinx-env/lib/python3.12/site-packages/io4dolfinx/compat.py: 73%

15 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-06-08 09:09 +0000

1"""Layer for small backward compatibility wrappers for DOLFINx""" 

2 

3import dolfinx 

4import numpy as np 

5import numpy.typing as npt 

6 

7 

8def cmap(mesh: dolfinx.mesh.Mesh) -> dolfinx.fem.CoordinateElement: 

9 """Get the basix Cmap for the mesh.""" 

10 if hasattr(mesh.geometry, "cmaps"): 

11 return mesh.geometry.cmaps[0] 

12 if callable(mesh.geometry.cmap): 

13 return mesh.geometry.cmap() 

14 else: 

15 return mesh.geometry.cmap 

16 

17 

18def dofmap(mesh: dolfinx.mesh.Mesh) -> npt.NDArray[np.int32]: 

19 """Get the dofmap for the geometry.""" 

20 if hasattr(mesh.geometry, "dofmaps"): 

21 return mesh.geometry.dofmaps[0] 

22 if callable(mesh.geometry.dofmap): 

23 return mesh.geometry.dofmap() 

24 else: 

25 return mesh.geometry.dofmap