Skip to content

Commit 8cf01a8

Browse files
committed
Started updating references
1 parent 6c5267f commit 8cf01a8

File tree

2 files changed

+45
-26
lines changed

2 files changed

+45
-26
lines changed

paper/paper.bib

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ @online{rii
111111
author = {Mikhail N. Polyanskiy},
112112
title = {Refractive index database},
113113
url = {https://refractiveindex.info},
114-
urldate = {2024-07-02}
114+
urldate = {2025-03-11}
115115
}
116116

117117
@online{castany,
@@ -239,7 +239,7 @@ @Inbook{Hilfiker2018
239239
url="https://doi.org/10.1007/978-3-319-75377-5_5"
240240
}
241241

242-
@software{matt_newville_2023_7810964,
242+
@software{matt_newville_2024_12785036,
243243
author = {Matt Newville and
244244
Renee Otten and
245245
Andrew Nelson and
@@ -251,32 +251,32 @@ @software{matt_newville_2023_7810964
251251
Michał and
252252
Ray Osborn and
253253
Dima Pustakhod and
254-
lneuhaus and
255254
Sebastian Weigand and
255+
lneuhaus and
256256
Andrey Aristov and
257257
Glenn and
258-
Christoph Deil and
259-
mgunyho and
260258
Mark and
259+
mgunyho and
260+
Christoph Deil and
261261
Allan L. R. Hansen and
262262
Gustavo Pasquevich and
263263
Leon Foks and
264264
Nicholas Zobrist and
265265
Oliver Frost and
266266
Stuermer and
267-
azelcer and
268-
Anthony Polloreno and
269-
Arun Persaud and
270-
Jens Hedegaard Nielsen and
267+
Jean-Christophe Jaskula and
268+
Shane Caldwell and
269+
Pieter Eendebak and
271270
Matteo Pompili and
272-
Shane Caldwell},
273-
title = {lmfit/lmfit-py: 1.2.0},
274-
month = apr,
275-
year = 2023,
271+
Jens Hedegaard Nielsen and
272+
Arun Persaud},
273+
title = {lmfit/lmfit-py: 1.3.2},
274+
month = jul,
275+
year = 2024,
276276
publisher = {Zenodo},
277-
version = {1.2.0},
278-
doi = {10.5281/zenodo.7810964},
279-
url = {https://doi.org/10.5281/zenodo.7810964}
277+
version = {1.3.2},
278+
doi = {10.5281/zenodo.12785036},
279+
url = {https://doi.org/10.5281/zenodo.12785036},
280280
}
281281

282282
@article{eberheim2022,
@@ -385,3 +385,27 @@ @manual{WVASEguide
385385
organization={J. A. Woollam Co., Inc.},
386386
address={Lincoln, NE}
387387
}
388+
389+
@software{tmmax,
390+
author = {Bahrem Serhat Danis, Esra Zayim},
391+
title = {tmmax: transfer matrix method with jax},
392+
version = {1.0.0},
393+
url = {https://github.com/bahremsd/tmmax},
394+
year = {2025}
395+
}
396+
397+
@article{Langevin:24,
398+
author = {Denis Langevin and Pauline Bennet and Abdourahman Khaireh-Walieh and Peter Wiecha and Olivier Teytaud and Antoine Moreau},
399+
journal = {J. Opt. Soc. Am. B},
400+
keywords = {Deep learning; Optical computing; Optical filters; Optical properties; Resonant modes; Wavelength division multiplexing},
401+
number = {2},
402+
pages = {A67--A78},
403+
publisher = {Optica Publishing Group},
404+
title = {PyMoosh: a comprehensive numerical toolkit for computing the optical properties of multilayered structures},
405+
volume = {41},
406+
month = {Feb},
407+
year = {2024},
408+
url = {https://opg.optica.org/josab/abstract.cfm?URI=josab-41-2-A67},
409+
doi = {10.1364/JOSAB.506175},
410+
abstract = {We present PyMoosh, a Python-based simulation library designed to provide a comprehensive set of numerical tools allowing the computation of essentially all optical characteristics of multilayered structures, ranging from reflectance and transmittance to guided modes and photovoltaic efficiency. PyMoosh is designed not just for research purposes, but also for use cases in education. To this end, we have invested significant effort in ensuring the user-friendliness and simplicity of the interface. PyMoosh has been developed in line with the principles of open science and considering the fact that multilayered structures are increasingly being used as a testing ground for optimization and deep learning approaches. We provide in this paper the theoretical basis at the core of PyMoosh, an overview of its capabilities, as well as a comparison between the different numerical methods implemented in terms of speed and stability. We are convinced such a versatile tool will be useful for the community in many ways.},
411+
}

paper/paper.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,13 @@ tags:
99
authors:
1010
- name: Marius J. Müller
1111
orcid: 0009-0005-2187-0122
12-
equal-contrib: true
1312
affiliation: 1
1413
- name: Florian Dobener
1514
orcid: 0000-0003-1987-6224
16-
equal-contrib: true
1715
affiliations:
1816
- name: Institute of Experimental Physics I and Center for Materials Research (ZfM/LaMa), Justus Liebig University Giessen, Heinrich-Buff-Ring 16, Giessen, D-35392 Germany
1917
index: 1
20-
date: 24 April 2023
18+
date: 11 March 2025
2119
bibliography: paper.bib
2220
---
2321

@@ -28,7 +26,7 @@ The code primarily targets spectroscopic ellipsometry (SE) but is adaptable to v
2826

2927
Various scientific fields use SE to determine the optical constants of materials and layered material stacks.
3028
The as-measured SE experimental requires numerical analysis to deduce commonly used, physically meaningful material parameters.
31-
A typical approach uses transfer-matrix methods (TMM) [@tompkins2005, @WVASEguide].
29+
A typical approach uses transfer-matrix methods (TMM) [@tompkins2005; @WVASEguide].
3230
Here, an interaction matrix describes the optical response of each individual material layer.
3331
The full optical response of a multilayer system is then determined by matrix multiplication of the layers' matrices.
3432

@@ -89,11 +87,8 @@ Other notable Python open-source software for solving transfer-matrices is avail
8987
- [PyLlama](https://pyllama.readthedocs.io) [@Bay2022] focuses on the simulation of liquid crystals and uses non-vectorized TMM and a scattering matrix algorithm (rigorous coupled-wave analysis, RCWA).
9088
- [RayFlare](https://rayflare.readthedocs.io) [@Pearce2021] is a complete toolkit to simulate the physical and electrical properties of solar cells. It provides the same 2x2 algorithm[@byrnes2020multilayer] and a scattering matrix approach (S4).
9189
- [tmm_fast](https://github.com/MLResearchAtOSRAM/tmm_fast) [@Luce22] is a vectorized variant of Byrnes' algorithm for artificial intelligence-based analysis of multilayer stacks.
92-
- Additional mentions:
93-
- [refellips](https://refellips.readthedocs.io/en/latest/)
94-
- [EMpy](http://lbolla.github.io/EMpy/)
95-
- [dtmm](https://github.com/IJSComplexMatter/dtmm)
96-
- [py_matrix](https://github.com/gevero/py_matrix)
90+
- [tmmax](https://github.com/bahremsd/tmmax) [tmmax] is a JIT-compilable version of the 2x2 matrix method, leveraging the JAX toolkit.
91+
- [PyMoosh](https://github.com/AnMoreau/PyMoosh) [Langevin:24]
9792

9893
# Example: Building a model for an oxide layer on silicon
9994

@@ -102,7 +97,7 @@ Here, we will demonstrate by creating a standard model for SiO$_2$ on Si.
10297
We will use a Cauchy dispersion function for SiO$_2$ and tabulated literature values for Si loaded from the refractiveindex.info database.
10398

10499
We need to import the necessary libraries before building the model:
105-
PyElli is imported from the module `elli`, and we want to use our parameters wrapper `ParamsHist`, which is imported from `elli.fitting`. `ParamsHist` is a wrapper around the `Parameters` class from [lmfit](https://lmfit.github.io/lmfit-py/index.html) [@matt_newville_2023_7810964], adding history to it so you can revert your model to an earlier set of parameters.
100+
PyElli is imported from the module `elli`, and we want to use our parameters wrapper `ParamsHist`, which is imported from `elli.fitting`. `ParamsHist` is a wrapper around the `Parameters` class from [lmfit](https://lmfit.github.io/lmfit-py/index.html) [matt_newville_2024_12785036], adding history to it so you can revert your model to an earlier set of parameters.
106101
We also import `linspace` from `numpy` for generating a wavelength axis.
107102

108103
```python

0 commit comments

Comments
 (0)