This project is under heavy development and not yet usable, for now the best way to contribute is to give a symbolic tip. :)
This is an OpenEMS mesher draft (with a H at the end, it looks like mesh poorly written). Meshing an OpenEMS structure is a difficult task often done manually. Some automatic meshers exist, shipped with either an Octave/Python API or a converter tool from a PCB design software.
By creating myself one of those converter (Qucs-RFlayout), discussing with other meshers authors, observing meshers behavior and looking into their code, I identified some pitfalls that end up to usability or mesh correctness issues :
Those considerations led me to think the key to create a correct mesher is about conflict management system :
Also, I'd like this mesher to be a standalone tool, independent of any converter or scripting API.
The doc/
directory contains some experimentations about meshing algorithms, such as this Python script.
The development environment is based on Nix (which handles dependencies) and the tools provided by cmake-utils. Install Nix and take a look to cmake-utils for usage information.
nix flake update
For updating the dev envnix develop
For entering the dev envAnd then proceed as usual with CMake.