Hey bernd,bernd wrote: ping
I thought about making the FEMMesh structure more versatile. There are four points where I thought about and where I would like to have your opinion:
- The dict for your make_mesh function would be useful as a data exchange structure for small meshes. Is it possible to get such a structure also directly from the FEMMesh object? It would be very useful to continue working with these meshes or modifying them and generate a new one. Maybe this structure could be generally used as a data exchange format, such that working with the mesh is much easier. (solved, see: https://github.com/berndhahnebach/FreeCAD_bhb/pull/53)
- For large meshes, it is maybe useful to use a hdf5 type format. Unfortunately the h5py library is not integrated into FreeCAD. We may discuss whether it is possible to integrate this library into FC. (-> MED format; see https://github.com/joha2/FreeCAD/tree/fem_gmsh_prefs and https://github.com/berndhahnebach/FreeCAD_bhb/pull/54)
- The whole mesh management is written at the moment with some more or less slow standard Python functions. It would be nice to rewrite the speed critical parts into numpy or maybe cython or numba (with the latter two I have no experience.) (see also: https://github.com/joha2/FreeCAD/tree/fem_gmsh_prefs and https://github.com/berndhahnebach/FreeCAD_bhb/pull/54 for multi thread support for gmsh)
- The meshing with gmsh or netgen or other external meshers is blocking. Is it possible to perform these subprocesses in a non-blocking manner or at least - if this is not possible - with a process indicator and a cancel button? (see: https://www.freecadweb.org/tracker/view.php?id=3933)
Best wishes
Johannes