TMMax: High-performance modeling of multilayer thin-film structures using transfer matrix method with JAX
Authors/Creators
- 1. Department of Electrical and Electronics Engineering, Koç University, Istanbul, 34450, Turkey
- 2. Physics Engineering Department, Istanbul Technical University, Istanbul, 34469, Turkey
Description
TMMax: High-performance modeling of multilayer thin-film structures using transfer matrix method with JAX
TMMax — Version v1.1.4 (JOSS Accepted Revision)
We are excited to announce TMMax v1.1.4, following the acceptance of our JOSS submission. This release incorporates reviewer feedback, clarifies documentation, improves reproducibility, and updates the software packaging. Below is a summary of the main changes and improvements.
Paper & Manuscript Updates
-
Target Audience Clarification
- TMMax is designed for optical engineers and thin-film researchers in optics and photonics.
- Summary section updated:
"This illustrates that our method achieves a simulation speedup of ×100s over a baseline NumPy implementation, enabling optical engineers and thin-film researchers in optics and photonics to efficiently design complex dielectric multilayer structures through rapid and scalable simulations."
- Statement of Need section updated to include target audience while keeping the word count below 1000.
-
Minor Corrections
- Simplified the system matrix notation in Equation (1) for clarity.
- Clarified multilayer system description to specify N-layer structures.
- Corrected a misplaced period before a citation (Byrnes 2020).
-
Performance Statement
- Integrated performance comparison directly into the manuscript for clearer context.
-
References
- All available DOIs added.
- GitHub-only references explicitly noted.
paper.bibupdated accordingly.
Repository & Packaging
-
Packaging
- Consolidated build and dependency information in
pyproject.toml. - Deprecated
requirements.txtin favor of unified, PEP 621-compliant configuration. - Dependencies for tests, documentation, and development specified.
- Consolidated build and dependency information in
-
Testing & Reproducibility
- Expanded test suite:
test_imports.py: verifies library/module imports.test_functions.py: tests key utility functions (visualize_material_properties,add_material_to_nk_database).test_integration.py: integration tests fortmm(coherent/incoherent, s-/p-polarization).test_errors.py: validates error handling for invalid inputs.test_benchmark.py: benchmarking scripts reproducing Figures 2 and 3 from the manuscript.
- Continuous Integration through GitHub Actions ensures automated testing on every push.
- Expanded test suite:
README & Documentation Updates
-
Installation
- Added direct reference to TMMax documentation for detailed installation instructions.
-
Contribution Guidelines
- Explicit link to documentation for contribution instructions, including testing protocols and code style.
-
Running Tests
- README updated with a dedicated section describing how to run tests and generate coverage reports.
-
Environment Requirements
- Minimum software versions clarified:
- Python ≥ 3.10
- jax ≥ 0.5.0, jaxlib ≥ 0.5.0
- numpy ≥ 2.2.2, scipy ≥ 1.15.1, pandas ≥ 2.2.3, matplotlib ≥ 3.10.0
- Instructions for CPU, GPU, and TPU usage included.
- Minimum software versions clarified:
-
Image Links
- All images reviewed and fixed to ensure correct display in README.
-
Badges
- Added badges for PyPI version, license, documentation, DOI, and arXiv record.
Future Work
- Section on published research projects using TMMax will be added when applicable.
We thank our reviewers @HectorMozo3110 and @CrazeXD for their valuable feedback, and the JOSS editors @kyleniemeyer and @lockwo for facilitating this process. TMMax v1.1.4 now meets JOSS requirements for clarity, reproducibility, and documentation.
Repository & Documentation
- GitHub: https://github.com/bahremsd/tmmax
- Documentation: https://tmmax.readthedocs.io/en/latest/
Files
bahremsd/tmmax-v1.1.4.zip
Files
(50.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:93947059d5685c4ce25081eda0d1fb37
|
50.8 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/bahremsd/tmmax/tree/v1.1.4 (URL)
Software
- Repository URL
- https://github.com/bahremsd/tmmax