You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+30-38Lines changed: 30 additions & 38 deletions
Original file line number
Diff line number
Diff line change
@@ -26,52 +26,44 @@ bibliography: paper.bib
26
26
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.
27
27
However, ellipsometry always needs numerical analysis to deduce material properties from a measurement.
28
28
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
+
29
30
Typically, software for such calculations is shipped together with ellipsometers, where each hardware vendor supplies their own version.
30
31
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.
36
32
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.
38
34
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.
44
36
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.
50
38
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.
52
42
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
56
44
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.
58
46
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.
60
48
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.
62
51
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.
0 commit comments