kinnala / scikit-fem

Simple finite element assemblers
https://scikit-fem.readthedocs.io
BSD 3-Clause "New" or "Revised" License
500 stars 79 forks source link

Fixes for numpy 2.0 #1090

Closed kinnala closed 9 months ago

kinnala commented 9 months ago

Makes sure that test suite runs (without the parts that depend on meshio and matplotlib which both are currently broken with numpy==2) with numpy==2 nightly build.

Note that meshio does not currently work with numpy==2 because of removed functionality. Because meshio is an optional dependency of scikit-fem, I don't currently plan to enforce numpy<2 here. Even though meshio is inactive, fix to meshio is quite easy (replacing some np.string with np.bytes) so perhaps it will happen.

It is still possible that some code breaks because we do not guard against stuff like np.uint64 going into np.isin and other functions used within scikit-fem that will be, for some reason, more stricter of their type in numpy==2. It is not entirely clear to me what change in numpy==2 causes this, and it might even be a bug because I am testing against a nightly build.