Dear all,
I’ve been using mshr to create (with success) 2D meshes. However to create a 3D version of the same mesh I’m struggling to join a sphere with a box (i.e.: there is no flow of heat from one portion of the mesh to the other). It was pointed out to me that mshr is currently not maintained so I’m looking into alternatives. What is to date the best workflow to create complex 3D meshes for use in FEniCS?
I would suggest looking at Gmsh and/or Netgen/NGSolve. There are several other quality mesh generators too. The above two have a very nice python API. I would have suggested using pygmsh (pre 7.0) but it uses gmsh python API as of the 7.0 release, so not much of a difference, but feel free to check it out too.
I forgot to mention I’ve been using an anaconda environment for FEniCS. Would similar steps work in there or it’s better to switch to Docker altogether?
Thanks! I was able to follow your tutorial successfully in a conda environment. I’m only having some issues with getting the ball to join the box. I assume this is coming from geom.add_physical(union, 1) since my sphere is only meant to join the box partially. Is there any alternative or do I have to go with gmsh GUI?
I would also recommend Salome, which is very similar to CAD programs such as FreeCad. If you use this however, you will need to use gmsh to convert the .med file to a .msh
The behavior of pygmsh seems really weird to me (The resolution of the ball seems to be ignored). Have you tried doing the same operations in the GMSH API?