Result
After a calculation is completed, the Solver returns an object of the Result class.
It is used to store the evaluated experiment and all resulting optical properties like Jones matrices and ellipsometric parameters (psi, delta, rho, mueller matrices). A list of all properties is given below.
All properties will return an array in the length of the provided wavelength array of the requested property.
These can be accessed by different methods:
With dot notation:
result.propertyWith the get method:
result.get('property')
For Matrix properties, a specific value can be requested using a property_ij notation.
As i and j the respective polarization identifiers or
numerical indices can be used (r/s or R/L or 1…4).
To make handling multiple experiments easier, they can be grouped into a list and provided to a ResultList object. It provides the same methods for data output as the single Result. The Output is returned as array over the list of results. If needed, these arrays can be averaged and used like a Result object for fitting.
- class elli.result.AveragedResultList(results=None)[source]
Bases:
ResultListResultList with averaging over all results. Can be used as drop-in replacement for Result objects, if for example thickness inhomogeneities need to be simulated.
Creates an ResultList object.
- class elli.result.Result(experiment, jones_matrix_r, jones_matrix_t, power_correction=None)[source]
Bases:
objectRecord of a simulation result.
Creates result object, to store simulation data. Gets called by solvers.
- Parameters:
experiment (Experiment) – Evaluated experiment, with structure and experimental parameters.
jones_matrix_r (npt.NDArray) – Jones matrix for the reflection direction.
jones_matrix_t (npt.NDArray) – Jones matrix for the transmission direction.
power_correction (npt.NDArray) – Correction factors, to get the power transmission values.
- property R
Returns the absolute reflectance for unpolarized light.
\[R = (R_{pp} + R_{ss}) / 2\]
- property R_matrix
Returns the reflectance matrix separated for s and p polarization.
\[\begin{split}M_R = \begin{bmatrix} R_{pp} & R_{ps} \\ R_{sp} & R_{ss} \end{bmatrix}\end{split}\]
- property Rc_matrix
Returns the reflectance matrix for circular polarizations.
\[\begin{split}M_{Rc} = \begin{bmatrix} R_{LL} & R_{LR} \\ R_{RL} & R_{RR} \end{bmatrix}\end{split}\]
- property T
Returns the absolute transmittance for unpolarized light.
\[T = (T_{pp} / T_{ss}) / 2\]
- property T_matrix
Returns the transmittance matrix separated for s and p polarization.
\[\begin{split}M_T = \begin{bmatrix} T_{pp} & T_{ps} \\ T_{sp} & T_{ss} \end{bmatrix}\end{split}\]
- property Tc_matrix
Returns the transmittance matrix with the for circular polarizations.
\[\begin{split}M_{Tc} = \begin{bmatrix} T_{LL} & T_{LR} \\ T_{RL} & T_{RR} \end{bmatrix}\end{split}\]
- as_delta_range(lower, upper)[source]
Returns this result in another delta range
- Parameters:
- Raises:
TypeError – Raised when either lower or upper is not an integer.
ValueError – Range must be (-180, 180), (0, 180) or (0, 360). Otherwise a ValueError is raised.
- property delta
Returns the ellipsometric angle \(\Delta\) in reflection direction.
It results from:
\[\rho = \tan \psi \exp(-i \Delta)\]
- property delta_matrix
Returns the matrix of the ellipsometric parameter \(\Delta\) in reflection direction.
\[\begin{split}M_\Delta = \begin{bmatrix} \Delta_\text{pp} & \Delta_\text{ps} \\ \Delta_\text{sp} & 0° \end{bmatrix}\end{split}\]
- property delta_matrix_t
Returns the matrix of the ellipsometric parameter \(\Delta_\text{t}\) in transmission direction.
\[\begin{split}M_{\Delta \text{,t}} = \begin{bmatrix} \Delta_\text{t,pp} & \Delta_\text{t,ps} \\ \Delta_\text{t,sp} & 0° \end{bmatrix}\end{split}\]
- property delta_t
Returns the ellipsometric angle \(\Delta_\text{t}\) in transmission direction.
It results from:
\[\rho_\text{t} = \tan \psi_\text{t} \exp(-i \Delta_\text{t})\]
- get(name)[source]
Return the data for the requested variable ‘name’.
- Parameters:
name (str) –
Variable name to return. Examples for ‘name’:
’r_sp’ : Amplitude reflection coefficient from ‘s’ to ‘p’ polarization.
’r_LR’ : Reflection from circular right to circular left polarization.
’T_pp’ : Power transmission coefficient from ‘p’ to ‘p’ polarization.
’Ψ_ps’, ‘Δ_pp’ : Ellipsometry parameters.
’psi’, ‘delta’, ‘rho’: Reduced ellipsometry parameters, the whole matrices are returned by ‘psi_matrix’.
- Returns:
Array of data.
- Return type:
npt.NDArray
- property jones_matrix_r
Returns the Jones matrix with the amplitude reflection coefficients.
\[\begin{split}M_\text{r} = \begin{bmatrix} r_\text{pp} & r_\text{ps} \\ r_\text{sp} & r_\text{ss} \end{bmatrix}\end{split}\]
- property jones_matrix_rc
Returns the Jones matrix with the amplitude reflection coefficients for circular polarization.
\[\begin{split}M_\text{rc} = \begin{bmatrix} r_\text{LL} & r_\text{LR} \\ r_\text{RL} & r_\text{RR} \end{bmatrix}\end{split}\]
- property jones_matrix_t
Returns the Jones matrix with the amplitude transmission coefficients.
\[\begin{split}M_\text{t} = \begin{bmatrix} t_\text{pp} & t_\text{ps} \\ t_\text{sp} & t_\text{ss} \end{bmatrix}\end{split}\]
- property jones_matrix_tc
Returns the Jones matrix with the amplitude transmission coefficients for circular polarization.
\[\begin{split}M_\text{tc} = \begin{bmatrix} t_\text{LL} & t_\text{LR} \\ t_\text{RL} & t_\text{RR} \end{bmatrix}\end{split}\]
- property mueller_matrix
Returns the Mueller matrix for reflection, calculated from the rho matrix.
- property psi
Returns the ellipsometric angle \(\psi\) in reflection direction.
It results from:
\[\rho = \tan \psi \exp(-i \Delta)\]
- property psi_matrix
Returns the matrix of the ellipsometric parameter \(\psi\) in reflection direction.
\[\begin{split}M_\psi = \begin{bmatrix} \psi_\text{pp} & \psi_\text{ps} \\ \psi_\text{sp} & 45° \end{bmatrix}\end{split}\]
- property psi_matrix_t
Returns the matrix of the ellipsometric parameter \(\psi_\text{t}\) in transmission direction.
\[\begin{split}M_{\psi \text{,t}} = \begin{bmatrix} \psi_\text{t,pp} & \psi_\text{t,ps} \\ \psi_\text{t,sp} & 45° \end{bmatrix}\end{split}\]
- property psi_t
Returns the ellipsometric angle \(\psi_\text{t}\) in transmission direction.
It results from:
\[\rho_\text{t} = \tan \psi_\text{t} \exp(-i \Delta_\text{t})\]
- property rho
Returns the ellipsometric parameter \(\rho\) in reflection direction.
It is calculated by dot product of the rho matrix \(M_\rho\) and the Jones vector \(\vec{E}\) of the incident light beam. It then takes the \(\rho_\text{pp}\) element and returns it.
\[M_{\text{$\rho$, exp}} = M_\rho \cdot \vec{E}\]
- property rho_matrix
Returns the matrix of the ellipsometric parameter \(\rho\) in reflection direction.
\[\begin{split}M_\rho = \begin{bmatrix} \rho_\text{pp} & \rho_\text{ps} \\ \rho_\text{sp} & 1 \end{bmatrix} = r_\text{ss} \begin{bmatrix} r_\text{pp}/r_\text{ss} & r_{ps}/r_\text{ss} \\ r_\text{sp}/r_\text{ss} & 1 \end{bmatrix}\end{split}\]
- property rho_matrix_t
Returns the matrix of the ellipsometric parameter \(\rho_t\) in reflection direction.
\[\begin{split}M_{\rho \text{,t}} = \begin{bmatrix} \rho_\text{t,pp} & \rho_\text{t,ps} \\ \rho_\text{t,sp} & 1 \end{bmatrix} = t_\text{ss} \begin{bmatrix} t_\text{pp}/t_\text{ss} & t_\text{ps}/t_\text{ss} \\ t_\text{sp}/t_\text{ss} & 1 \end{bmatrix}\end{split}\]
- property rho_t
Returns the ellipsometric parameter \(\rho_\text{t}\) in transmission direction.