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.property

  • With 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.

class elli.result.Result(experiment, jones_matrix_r, jones_matrix_t, power_correction=None)[source]

Bases: object

Record 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}\]
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}\]
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:
  • lower (int) – The lower delta range. Should either be -180 or 0.

  • upper (int) – The upper delta range. Should either be 180 or 360.

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.

class elli.result.ResultList(results=None)[source]

Bases: object

Class to make a row of Results easier to handle.

Creates an ResultList object.

Parameters:

results (List[Result], optional) – List of results to store. Defaults to None.

append(result)[source]

Append a single Result to the ResultList.

Parameters:

result (Result) – Additional Result to store.