-
Notifications
You must be signed in to change notification settings - Fork 81
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
Support pygmsh 7.0.0 in the examples #484
Comments
I think this package It should be a manylinux wheel instead. |
If you need to just read gmsh file formats, consider using gmshparser. It has zero dependencies (the point of the package is not to introduce any complicated dependencies to FEM projects). |
Oh, O. K. I had been relying routinely upon |
pygmsh doesn't read gmsh file formats. meshio does that. pygmsh generates Gmsh GEO code. |
There's been an upstream change in the PyPI package gmsh; (Not that I'm pushing to unpin pygmsh just yet.) |
The issue I have with |
Let me add that this is obviously partially my own problem for running such an esoteric distribution. But the way I'd like it solved is to containerize the test suite so it doesn't matter which OS you are using when developing. |
I'm making a proof-of-concept Github Action which uses a container in https://github.com/kinnala/scikit-fem-docker-action |
Ok, here you can see the same issue that I'm bumping to. I expect this to be fixed by installing some Ubuntu-specific library version: https://github.com/kinnala/scikit-fem/runs/1213945008?check_suite_focus=true |
Next in line is libxinerama. This is actually the library which I wasn't able to find a new enough version from NixOS package repositories. |
It would be really nice to have these additional dependencies listed somewhere, e.g., here https://pypi.org/project/gmsh/ |
I was wondering what the 'esoteric' distro was. NixOS is an appealing choice. I've deferred it for the future, thus far, myself, but for reproducibility it sounds very good. I'm very far from accepting pygmsh 7. It seems to have thrown out a lot that I regard as essential for finite element work; e.g. physical entities. |
1 similar comment
I was wondering what the 'esoteric' distro was. NixOS is an appealing choice. I've deferred it for the future, thus far, myself, but for reproducibility it sounds very good. I'm very far from accepting pygmsh 7. It seems to have thrown out a lot that I regard as essential for finite element work; e.g. physical entities. |
I haven't done too much work in containers, so this suggestion might be off the mark, but would it make sense for the integration tests #474 to use multiple containers: say a nice strictly reproducible NixOS container for the scikit-fem core but then whatever else might be required for the externals; e.g. the latest Ubuntu LTS for Gmsh. Multiple containers can communicate via the file system, can't they? An advantage of pygmsh<7 is that it can be used to generate GEO code without Gmsh present at all. That GEO code can conceptually then be submitted to a Gmsh server wherever (or invoked from another container on the same system) and a MSH 4.1 mesh file received in return. That can then be loaded with |
Yeah, that is a good idea. I'll try to make it extensible so that we can easily add more distributions, Python versions, package versions etc. if needed. |
Wouldn't that be fixed by a simple try-except construction in the import? |
This is actually really hard to support both 7 and 6 in a single code because now |
Alright, now I'm running into missing features and unable to fix it myself. |
Decided to remove pygmsh from example 35 because the porting was starting to be too complicated. |
Also temporarily removed mesh generation from ex28 to get the testing stuff merged. Feel free to reintroduce it @gdmcbain when you have time to learn pygmsh 7. |
I have little motivation to learn pygmsh 7. It breaks a lot of essentials (physical entities nschloe/meshio#373 nschloe/meshio#378 has been dropped).
I note that other packages are dropping pygmsh in the wake of pygmsh 7; e.g. FEniCS/dolfinx#1145. |
I see that https://github.com/FEniCS/dolfinx/pull/1145 raises
And then |
The case of ex32, the ellipsoid, is better; that doesn't need physical entities since there is only one subdomain and it's not a mixed boundary value problem. Since the introduction of the very clever Whereas storing static meshes in JSON is reasonable in two dimensions, it does seem awfully wasteful in three, should an algorithm be available. I wonder whether ngsimple would do. |
I was unable to run pygmsh 7.0.0 on my laptop so I didn't do this while looking into #482 .
I suppose now is also the time to do #333 because otherwise I might be unable to run the tests locally unless they support both 6.x and 7.x.
The text was updated successfully, but these errors were encountered: