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 (
hysteresisof theCurrentVoltageCharacteristicis setTrue). 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:
AnalysisImplements 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
datasetcontains noMetadata.areas – A mapping of the contact IDs with the pixel area. Required if the
datasetcontains noMetadata.hysteresis – Flags if the voltage range of the measurement was swept a second time in reverse order. Required if the
datasetcontains noMetadata.illuminated – Flags if the sample was illuminated during measurement. Required if the
datasetcontains noMetadata.power_in – he power of the input radiation source in W/mm^2. Required if the
datasetcontains noMetadata.
- property hysteresis: bool
Flags if the voltage range of the measurement was swept a second time in reverse order.
- 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.