IV Analysis

handle_hysteresis(func: Callable) Callable[source]

Decorator for functions which directly evaluate the measurement data and need to separate it into two individual curves (hysteresis of the CurrentVoltageCharacteristic is set True). The function result will then be a tuple of two floats.

Parameters:

func – The function to be decorated.

Returns:

The decorated function.

current_density(func: Callable) Callable[source]

Decorator for functions which should return the result normalized by the areas.

Parameters:

func – The function to be decorated.

Returns:

The decorated function.

class CurrentVoltageCharacteristic(dataset: Dataset | Dict[str, ndarray], contact_position_dict: Dict[str, Tuple[float, float]] | None = None, areas: Dict[str, float] | None = None, hysteresis: bool | None = None, illuminated: bool | None = None, power_in: float | None = None)[source]

Bases: Analysis

Implements the functions and plots to analyse the data of a current-voltage-characteristic measurement (CurrentVoltageCharacteristic).

Parameters:
  • dataset – A tuple of (i) data arrays which are mapped to contact IDs and (ii) the corresponding metadata of the dataset. Or, optionally, just (i).

  • contact_position_dict – A dictionary of contact IDs and the corresponding positions/coordinates on the sample. Required if the dataset contains no Metadata.

  • areas – A mapping of the contact IDs with the pixel area. Required if the dataset contains no Metadata.

  • hysteresis – Flags if the voltage range of the measurement was swept a second time in reverse order. Required if the dataset contains no Metadata.

  • illuminated – Flags if the sample was illuminated during measurement. Required if the dataset contains no Metadata.

  • power_in – he power of the input radiation source in W/mm^2. Required if the dataset contains no Metadata.

property areas: Dict[str, float]

A mapping of the contact IDs with the pixel area.

property hysteresis: bool

Flags if the voltage range of the measurement was swept a second time in reverse order.

property illuminated: bool

Flags if the sample was illuminated during measurement.

property power_in: float

The power of the input radiation source in W/mm^2.

voc(contact_id: str) float | Tuple[float, float][source]

Finds the x-intercept of the data curve.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Open Circuit Voltage in V.

isc(contact_id: str) float | Tuple[float, float][source]

Finds the y-intercept of the data curve.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Short Circuit Current in A.

isc_ma(contact_id: str) float | Tuple[float, float][source]

Finds the y-intercept of the data curve and multiplies by 1000.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Short Circuit Current in mA.

jsc(contact_id: str) float | Tuple[float, float][source]

Finds the y-intercept of the data curve and normalizes by the pixel area.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Short Circuit Current Density in A/mm^2.

jsc_ma(contact_id: str) float | Tuple[float, float][source]

Finds the y-intercept of the data curve, normalizes by the pixel area and multiplies by 100000.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Short Circuit Current Density in mA/cm^2.

mpp_v(contact_id: str) float | Tuple[float, float][source]

Finds the voltage where the product of the voltage and the current is maximal.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The MPP Voltage in V.

mpp_i(contact_id: str) float | Tuple[float, float][source]

Finds the current where the product of the voltage and the current is maximal.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The MPP Current in A.

mpp_i_ma(contact_id: str) float | Tuple[float, float][source]

Finds the current where the product of the voltage and the current is maximal, multiplied by 1000.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The MPP Current in mA.

mpp_j(contact_id: str) float | Tuple[float, float][source]

Finds the current where the product of the voltage and the current is maximal, normalized by the pixel area.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The MPP Current Density in A/mm^2.

mpp_j_ma(contact_id: str) float | Tuple[float, float][source]

Finds the current where the product of the voltage and the current is maximal, normalizes by the pixel area, and multiplies by 100000.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The MPP Current Density in mA/cm^2.

ff(contact_id: str) float | Tuple[float, float][source]

Finds the ratio between the area which is span by the MPP voltage and current and the area which is span by the Voc and Isc.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Fill Factor as a unit-less fraction.

eff(contact_id: str) float | Tuple[float, float][source]

Finds the ratio between the product of Voc, Jsc and FF and the power of the input radiation source.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Efficiency as a unit-less fraction.

rs(contact_id: str) float | Tuple[float, float][source]

Finds the slope of the curve at the x-intercept.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Series Resistance in Ohm.

rsh(contact_id: str) float | Tuple[float, float][source]

Finds the slope of the curve at the y-intercept.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The Shunt (Parallel) Resistance in Ohm.

measurement(contact_id: str) Figure[source]

Creates a basic x-y plot of the data.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

The figure object which may be displayed by the AnalysisGUI.

semilog(contact_id: str) Figure[source]

Creates a semilog plot of the data curve where the scale of the y-axis is logarithmic.

Parameters:

contact_id – The ID of the contact from the Interface.

Returns:

A figure object which may be displayed by the AnalysisGUI.