meent
Electromagnetic simulation (RCWA) & optimization package in Python
Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.1%) to scientific vocabulary
Keywords
Repository
Electromagnetic simulation (RCWA) & optimization package in Python
Basic Info
- Host: GitHub
- Owner: kc-ml2
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://meent.readthedocs.io/
- Size: 21.3 MB
Statistics
- Stars: 72
- Watchers: 3
- Forks: 9
- Open Issues: 0
- Releases: 60
Topics
Metadata Files
README.md

Meent
Meent is an Electromagnetic(EM) simulation package with Python, composed of three main parts: * Modeling * EM simulation * Optimization
Backends
Meent provides three libraries as a backend:

- NumPy
- The fundamental package for scientific computing with Python
- Easy and lean to use
- JAX
- Autograd and XLA, brought together for high-performance machine learning research.
- PyTorch
- A Python package that provides two high-level features: Tensor computation with strong GPU acceleration and Deep neural networks built on a tape-based autograd system
When to use
| | Numpy | JAX | PyTorch | Description | | --------------- | :---: | :-: | :-----: | :---------: | | 64bit support | O | O | O | Default for scientific computing | | 32bit support | O | O | O | 32bit (float32 and complex64) data type operation* | | GPU support | X | O | O | except Eigendecomposition** | | TPU support* | X | X | X | Currently there is no workaround to do 32 bit eigendecomposition on TPU | | AD support | X | O | O | Automatic Differentiation (Back Propagation) | | Parallelization | X | O | X | JAX pmap function |
In 32bit operation, operations on numbers of 8>= digit difference fail without warning or error.
Use only when you do understand what you are doing.
*As of now(2023.03.19), GPU-native Eigendecomposition is not implemented in JAX and PyTorch.
It's enforced to run on CPUs and send back to GPUs.
Numpy is simple and light to use. Suggested as a baseline with small ~ medium scale optics problem.
JAX and PyTorch is recommended for cases having large scale or optimization part.
If you want parallelized computing with multiple devices(e.g., GPUs), JAX is ready for that.
But since JAX does jit compilation, it takes much time at the first run.
How to install
shell
pip install meent
JAX and PyTorch is needed for advanced utilization.
How to use
```python import meent
backend 0 = Numpy
backend 1 = JAX
backend 2 = PyTorch
backend = 1 mee = meent.call_mee(backend=backend, ...) ```
Tutorials
Jupyter notebooks are prepared in tutorials to give a brief introduction.
Examples
Comprehensive examples of computational optics with Meent can be found in examples folder.
Citation
To cite this repository:
bibtex
@article{kim2024meent,
title={Meent: Differentiable Electromagnetic Simulator for Machine Learning},
author={Kim, Yongha and Jung, Anthony W. and Kim, Sanmun and
Octavian, Kevin and Heo, Doyoung and Park, Chaejin and
Shin, Jeongmin and Nam, Sunghyun and Park, Chanhyung and
Park, Juho and Han, Sangjun and Lee, Jinmyoung and
Kim, Seolho and Jang, Min Seok and Park, Chan Y.},
journal={arXiv preprint arXiv:2406.12904},
year={2024}
}
Owner
- Name: ML2
- Login: kc-ml2
- Kind: organization
- Email: contact@kc-ml2.com
- Location: Korea, South
- Website: https://www.kc-ml2.com/
- Repositories: 8
- Profile: https://github.com/kc-ml2
Citation (CITATION.bib)
@article{kim2024meent,
title={Meent: Differentiable Electromagnetic Simulator for Machine Learning},
author={Kim, Yongha and Jung, Anthony W. and Kim, Sanmun and
Octavian, Kevin and Heo, Doyoung and Park, Chaejin and
Shin, Jeongmin and Nam, Sunghyun and Park, Chanhyung and
Park, Juho and Han, Sangjun and Lee, Jinmyoung and
Kim, Seolho and Jang, Min Seok and Park, Chan Y.},
journal={arXiv preprint arXiv:2406.12904},
year={2024},
}
GitHub Events
Total
- Create event: 2
- Issues event: 9
- Release event: 3
- Watch event: 23
- Delete event: 1
- Issue comment event: 12
- Push event: 2
- Pull request event: 4
- Fork event: 5
Last Year
- Create event: 2
- Issues event: 9
- Release event: 3
- Watch event: 23
- Delete event: 1
- Issue comment event: 12
- Push event: 2
- Pull request event: 4
- Fork event: 5
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| yonghakim | y****t@g****m | 296 |
| yonghakim | 4****m | 5 |
| anthony0727 | j****7@g****m | 3 |
| seolhokim | k****1@n****m | 3 |
| Sanmun | c****8@g****m | 2 |
| ML2jinmyoung | m****8@k****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 9
- Total pull requests: 68
- Average time to close issues: 27 days
- Average time to close pull requests: 22 minutes
- Total issue authors: 5
- Total pull request authors: 4
- Average comments per issue: 0.33
- Average comments per pull request: 0.01
- Merged pull requests: 65
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 5
- Pull requests: 1
- Average time to close issues: 6 days
- Average time to close pull requests: 3 minutes
- Issue authors: 3
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- yufu-liu (3)
- yonghakim (3)
- xungu1 (3)
- seolhokim (1)
- carl6322 (1)
Pull Request Authors
- yonghakim (76)
- anthony0727 (3)
- chocopi2718 (3)
- ML2jinmyoung (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 346 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 53
- Total maintainers: 1
pypi.org: meent
Electromagnetic simulation (RCWA) & optimization package in Python
- Homepage: https://github.com/kc-ml2/meent
- Documentation: https://meent.readthedocs.io/
- License: mit
-
Latest release: 0.12.0
published over 1 year ago