This repository contains the complete code implementation for the paper:
"A Generalized Reflection-Count-Based Geometrical Optics Framework for Attenuation Analysis in Multimode Waveguides"
The total number of internal reflections in a planar waveguide is:
The transmitted power is modeled as:
- ✅ Analytical calculation of internal reflection count
- ✅ Two-parameter attenuation model
- ✅ Optimal launch angle optimization
- ✅ Mode-dependent loss (MDL) analysis
- ✅ Bending loss extension
- ✅ Wavelength-dependent analysis
- ✅ Monte Carlo ray-tracing simulation
- ✅ Comprehensive figure generation
git clone https://github.com/arazinalti/waveguide-reflection-framework.git
cd waveguide-reflection-framework
pip install -r requirements.txtfrom src.waveguide import Waveguide
import numpy as np
wg = Waveguide(h=50e-6, alpha_abs=0.2, alpha_sc=5e-5)
N = wg.N_reflections(100, np.radians(10))
P = wg.power(100, np.radians(10))
print(f"Reflections: {N:.2e}")
print(f"Power: {P:.4f}")python figures/generate_figures.pywaveguide-reflection-framework/
├── src/
│ └── waveguide.py
├── figures/
│ └── generate_figures.py
├── examples/
│ └── example_usage.py
├── tests/
│ └── test_waveguide.py
├── requirements.txt
├── LICENSE
└── README.md
@article{soltani2026waveguide,
title={A Generalized Reflection-Count-Based Geometrical Optics Framework for Attenuation Analysis in Multimode Waveguides},
author={Soltani, Abolfazl},
journal={Journal of the Optical Society of America B},
year={2026},
note={Under review}
}MIT License - see LICENSE file.
Abolfazl Soltani - araz.soltani2007@gmail.com