GridapGmsh.jl icon indicating copy to clipboard operation
GridapGmsh.jl copied to clipboard

Interference with gmsh_jll

Open DanielBoigk opened this issue 1 year ago • 5 comments

So, I was creating a simple file: circle.geo:

`cellSize = 0.05; radius = 1; Point(1) = {0, 0, cellSize}; Point(2) = {-radius, 0, cellSize}; Point(3) = {0, radius, cellSize}; Point(4) = {radius, 0, cellSize}; Point(5) = {0, -radius, cellSize}; Circle(6) = {2, 1, 3}; Circle(7) = {3, 1, 4}; Circle(8) = {4, 1, 5}; Circle(9) = {5, 1, 2}; Line Loop(10) = {6, 7, 8, 9}; Plane Surface(11) = {10};

// Mark the boundary of the circular mesh Physical Line("Boundary") = {6, 7, 8, 9}; Physical Surface("Disk") = {11}; // Mesh generation commands (if needed) Mesh 2;`

I was unable to get any .geo or the corresponding .msh file to work. Until I setup a new environment with just Gridap and GridapGmsh. Then it worked. After installing FerriteGmsh into this environment it stopped working again. Is there a way to have both FerriteGmsh and GridapGmsh in the same Environment?

Edit: The Enviroment where it runs gives: Pkg.status("gmsh_jll")

gives the output: No Matches in ~/Code/Julia/Env_Only_Gridap/Project.toml``

DanielBoigk avatar Apr 25 '24 09:04 DanielBoigk

Hey @DanielBoigk , I'm afraid I do not know enough about FerriteGmsh to understand what is going on.

I would however have a look at where both packages are trying to get gmsh from, i.e where are they looking for the binaries. Maybe that is the cause of the issue. That error you mention looks like one of the packages might be having trouble finding the artifacts.

If you manage to find where the incompatibility is, I'll be happy to accept a PR with the fixes.

JordiManyer avatar Apr 25 '24 14:04 JordiManyer

Thanks for the answer: I try to give context:

If I do this:

using Pkg
# Fresh Environment
Pkg.activate("FreshEnvironment01")
Pkg.instantiate()
Pkg.add("Gridap")
Pkg.add("GridapGmsh")
using Gridap
using GridapGmsh
model = GmshDiscreteModel("circle.geo")

it works. However this:

using Pkg
# Fresh Environment
Pkg.activate("FreshEnvironment02")
Pkg.instantiate()
Pkg.add("gmsh_jll")
Pkg.add("Gridap")
Pkg.add("GridapGmsh")
using Gridap
using GridapGmsh
model = GmshDiscreteModel("circle.geo")

Leads to an Error: image

So Ferrite isn't the Problem. gmsh_jll seems to be.

I'm using vanilla arch both my source for julia and gmsh is pacman.

DanielBoigk avatar Apr 25 '24 17:04 DanielBoigk

I would have a look at what version of gmsh_jll is loaded, and if that changes depending on the packages you have.

JordiManyer avatar Apr 25 '24 23:04 JordiManyer