Published October 15, 2025 | Version v1.1.4
Software Open

TMMax: High-performance modeling of multilayer thin-film structures using transfer matrix method with JAX

  • 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.bib updated accordingly.

Repository & Packaging

  • Packaging

    • Consolidated build and dependency information in pyproject.toml.
    • Deprecated requirements.txt in favor of unified, PEP 621-compliant configuration.
    • Dependencies for tests, documentation, and development specified.
  • 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 for tmm (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.

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.
  • 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

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