Skip to content

Commit f63de31

Browse files
committed
Restructure and more text
1 parent 0c4daec commit f63de31

File tree

1 file changed

+30
-38
lines changed

1 file changed

+30
-38
lines changed

paper/paper.md

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -26,52 +26,44 @@ bibliography: paper.bib
2626
Spectroscopic ellipsometry is an easy applicable and useful tool for todays materials research. It is used throughout various scientific fields to determine the optical constants of materials.
2727
However, ellipsometry always needs numerical analysis to deduce material properties from a measurement.
2828
The algorithm of choice for such analysis is the so-called transfer-matrix approach, using matrices for each layer to construct a full matrix for the complete system. The matrix describes the whole light matter interaction - reflection, transmission and absorption - of the sample.
29+
2930
Typically, software for such calculations is shipped together with ellipsometers, where each hardware vendor supplies their own version.
3031
Therefore, through different implementation details and different optical models the dispersion models for materials in literature cannot readily be adapted in the lab.
31-
Further, if the supplied software does not support a specific kind of analysis (e.g. anisotropy) scientists need to use third party software, anyways.
32-
In this paper we present the open source python software pyElli, which tackles these problems by offering an open source platform, which is by design easily extendable and adaptable with new optical models or analysis algorithms. It supports querying the popular database for optical constants [refractiveindex.info], too.
33-
The optical models used, try to stay as close as possible to formulas documented in literature [fujiwara]. But it is possible to include vendor-specific models or self-designed models, too. PyElli currently supports two solving algorithms, one based on a 2x2 matrix algorithm [byrnes] which is faster, but only applicable for simple problems and a 4x4 matrix algorithm based on the berreman transfer matrix formulation [berreman]. While the 2x2 algorithm splits the two perpendicular polarized beams and solves them separately, the 4x4 matrix approach solves the complete electromagnetic field. Accordingly, it allows to solve more complex problems like anisotropic samples (... more examples?? I don't know any.).
34-
An [example] in the NORTH analysis toolkit within the research data management software NOMAD by the german FAIRmat consortium shows that the software can easily be integrated in emerging cloud-based analysis tools for science and supports a standardization of ellipsometry data formats within this project [NXellispometry].
35-
We hope that the software contributes to easier analysis and reproducibility, as well as FAIR data management within the ellipsometry community.
3632

37-
# Statement of need
33+
Further, if the supplied software does not support a specific kind of analysis (e.g. anisotropic materials or simultaneous fitting of multiple measurements) scientists need to use third party software, anyways.
3834

39-
- Analysis tools should be as open as the research data
40-
- Often hard to translate optical models between different programs, we aim to make it easier
41-
- Keep interoperability with other formats
42-
- Extend basic functionality of vendor fitting programs
43-
- Performant calculations to enable interactive data fitting and advanced minimizer algorithms
35+
In this paper we present the open source python software pyElli, which tackles these problems by offering an open source platform, which is by design easily extendable and adaptable with new optical models or analysis algorithms.
4436

45-
Other Packages:
46-
- pyGTM (more extensive calculations, provides electric field etc., not vectorized)
47-
- pyllama (TMM and SM, not vectorized)
48-
- RayFlare (specialized for solar cells, provides [byrnes] and a scattering matrix algorithm)
49-
- mentions: refellips, EMpy, dtmm, py_matrix
37+
The optical models used, try to stay as close as possible to formulas documented in literature [fujiwara]. But it is possible to include vendor-specific models or self-designed models, too.
5038

51-
# Example
39+
It leverages the popular public domain database for optical constants [refractiveindex.info] to use citeable reference materials.
40+
41+
PyElli currently supports two solving algorithms, one based on a 2x2 matrix algorithm [byrnes] which is faster, but only applicable for simple problems and a 4x4 matrix algorithm based on the Berreman's transfer matrix formulation [berreman]. While the 2x2 algorithm splits the two perpendicular polarized beams and solves them separately, the 4x4 matrix approach solves the complete electromagnetic field. Accordingly, it allows to solve more complex problems like anisotropic samples.
5242

53-
- Show a walkthrough of the SiO2 on Si example.
54-
- Show a Mueller matrix example?
55-
- Show an anisotropy example? (Maybe quote my paper about SiPh4 and show the code in a seperate git repo)
43+
# Statement of need
5644

57-
# Mathematics
45+
As it is more and more common to publish research data for reuse and review after the FAIR data guidelines [FAIR]. The same benefits apply to research software and were summerized in the FAIR4RS principles [FAIR4RS]. This is especially important for ellisometric data as the results are tightly related and dependant on the algorithms and models used for evaluation.
5846

59-
Single dollars ($) are required for inline mathematics e.g. $f(x) = e^{\pi/x}$
47+
Opposite to the vendor provided software, an open source toolkit has many inherent benefits. The optical models used can vary between vendors and the translation may be difficult, if the information is not clearly documented. pyElli's open source nature makes the models extendable, auditable and occurring changes comprehensible. It allows the handling of files from many different measurement devices as importer scripts can be developed as plugins.
6048

61-
Double dollars make self-standing equations:
49+
To provide fast processing of measurement data PyElli's algorithms are fully vectorized for multiple wavelengths and leverage the numerical algebra libraries [NumPy] and [SciPy].
50+
This allows the use advanced fitting algorithms like global optimizers in reasonable evaluation times. On the other hand this makes realtime, in-situ monitoring of layered material growth possible.
6251

63-
$$
64-
\Theta(x) = \left\{\begin{array}{l}
65-
0\textrm{ if } x < 0\cr
66-
1\textrm{ else}
67-
\end{array}\right.
68-
$$
52+
An [example] in the NORTH analysis toolkit within the research data management software NOMAD by the german FAIRmat consortium shows that the software can easily be integrated in emerging cloud-based analysis tools for science and supports a standardization of ellipsometry data formats within this project [NXellispometry].
53+
We hope that the software contributes to easier analysis and reproducibility, as well as FAIR data management within the ellipsometry community.
54+
55+
Other notable python open source software for solving transfer-matrices are available, but tend to focus on different aspects:
56+
57+
* [PyGTM]: Slower, but more extensive general transfer matrix approach, calculates additional parameters, like the electric field strengths in the multilayer stack.
58+
* [PyLlama]: Provides transfer and scattering matrix algorithms (RCWA), better suited to simulate liquid crystals. Non vectorized.
59+
* [RayFlare]: Complete toolkit to simulate solar cells. Provides the same 2x2 [byrnes] algorithm and a scattering matrix approach.
60+
* Additional mentions: [refellips][EMpy][dtmm][py_matrix]
61+
62+
# Example
6963

70-
You can also use plain \LaTeX for equations
71-
\begin{equation}\label{eq:fourier}
72-
\hat f(\omega) = \int\_{-\infty}^{\infty} f(x) e^{i\omega x} dx
73-
\end{equation}
74-
and refer to \autoref{eq:fourier} from text.
64+
* Show a walkthrough of the SiO2 on Si example.
65+
* Show a Mueller matrix example?
66+
* Show an anisotropy example? (Maybe quote my paper about SiPh4 and show the code in a separate git repo)
7567

7668
# Citations
7769

@@ -84,9 +76,9 @@ citation) then you can do it with the example BibTeX entry below for @fidgit.
8476

8577
For a quick reference, the following citation commands can be used:
8678

87-
- `@author:2001` -> "Author et al. (2001)"
88-
- `[@author:2001]` -> "(Author et al., 2001)"
89-
- `[@author1:2001; @author2:2001]` -> "(Author1 et al., 2001; Author2 et al., 2002)"
79+
* `@author:2001` -> "Author et al. (2001)"
80+
* `[@author:2001]` -> "(Author et al., 2001)"
81+
* `[@author1:2001; @author2:2001]` -> "(Author1 et al., 2001; Author2 et al., 2002)"
9082

9183
# Figures
9284

@@ -102,4 +94,4 @@ Figure sizes can be customized by adding an optional second parameter:
10294
We acknowledge contributions from Brigitta Sipocz, Syrtis Major, and Semyeong
10395
Oh, and support from Kathryn Johnston during the genesis of this project.
10496

105-
# References
97+
# References

0 commit comments

Comments
 (0)