Skip to main content

GMSH wrapper, with integrated photonics focus

Project description

Meshwell


Docs Tests PiPy

Project is under active development, stay tuned for improved features, documentation, and releases!

Meshwell is a Python wrapper around GMSH that provides:

(1) a Prism class that simplifies, to the point of automating, the definition of solids from arbitrary (multi)polygons with "buffered" extrusions;

(2) a simple API where such Prisms and regular GMSH OCC objects are specified in an ordered dictionary of mesh priority, and whose keys are then used to label the mesh entities and their interfaces unambiguously;

For instance:

See the documentation for more information and examples. If you encounter a big, you can make an issue so we can improve the software over time. Contributions are also welcome, see open issues for current bugs and requested features.

Background

This code was originally developed to define meshes out of the GDSII descriptions of integrated photonic circuits. A particularity of such devices is rich 2.5D topology, featuring multiple layers of smooth curves in the plane and etching profiles vertically. Maxwell's equations (hence the name) are solved on these geometries to study how light propagates. It is also of critical interest to simulate how this is affected under other physical effects that can be resolved through finite-element or finite-volume analysis.

Related projects

  • gdsfactory: open-source plugin-rich layout software
  • femwell: open-source scikit-fem based finite-element simulations, with emphasis on photonics
  • DEVSIM: open-source finite-volume simulator, with emphasis on semiconductor TCAD

Other notable GMSH Python interfaces:

  • gmsh: the gmsh Python API itself has significantly improved over the years
  • pygmsh: manipulate Python objects instead of gmsh entity tags
  • objectgmsh: class wrappers around entities
  • gyptis: uses basic gmsh for photonic geometries

  • Simon Bilodeau (Princeton): maintainer
  • Helge Gehring (Google X): beta testing, use cases, bug fixes
  • Joaquin Matres Abril (Google X): code improvements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshwell-0.0.2.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshwell-0.0.2-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file meshwell-0.0.2.tar.gz.

File metadata

  • Download URL: meshwell-0.0.2.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for meshwell-0.0.2.tar.gz
Algorithm Hash digest
SHA256 0f7890a6085a04180e8b2fcb58ac790f137da3232d1369a18df247a948585fab
MD5 7ebff0871cfc79194c5efb93d5283604
BLAKE2b-256 6c528441d4ac5f67ae40bd8de09f68e6e44b35b7aaf59fe2edf39de11df47f92

See more details on using hashes here.

File details

Details for the file meshwell-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: meshwell-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for meshwell-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c561c2da56ac932bcc906facf8fe458051151c0bdab8f8b05c32b659099f67f0
MD5 13eeec7a7ecb44480c8e08714138b6ea
BLAKE2b-256 b6462ba7691771c57f9e66d352ad7ca0baeb7bd51c6c4783e5dbddd987cda829

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page