find_ion_saturation_current
- plasmapy.analysis.swept_langmuir.ion_saturation_current.find_ion_saturation_current(voltage: ndarray, current: ndarray, *, fit_type: str = 'exp_plus_linear', current_bound: float | None = None, voltage_bound: float | None = None) tuple[Linear, ISatExtras] [source]
Determines the ion-saturation current (\(I_{sat}\)) for a given current-voltage (IV) curve obtained from a swept Langmuir probe. The current collected by a Langmuir probe reaches ion-saturation when the probe is sufficiently biased so the influx of electrons is completely repelled, which leads to only the collection of ions. (For additional details see the Notes section below.).
Aliases:
find_isat_()
- Parameters:
voltage (
numpy.ndarray
) – 1-D numpy array of monotonically increasing probe biases (should be in volts).current (
numpy.ndarray
) – 1-D numpy array of probe current (should be in amperes) corresponding to thevoltage
array.fit_type (
str
) –The type of curve (fit-function) to be fitted to the Langmuir trace, valid options are listed below. (DEFAULT
"exp_plus_linear"
)"linear"
"exp_plus_offset"
"exp_plus_linear"
current_bound (
float
) –A fraction representing a percentile window around the minimum current. The points to be fitted are defined to be within this window. For example, a value of
0.1
indicates to use all points within 10% of the minimum current. (DEFAULTNone
)If neither
current_bound
orvoltage_bound
are specified, then the routine will collect indices based on an internalcurrent_bound
setting for the specifiedfit_type
."linear"
0.4
"exponential"
1.0
"exp_plus_linear"
1.0
Cannot be used with keyword
voltage_bound
.voltage_bound (
float
) –A bias voltage (in volts) that specifies an upper bound used to collect the points for the curve fit. That is, points that satisfy
voltage <= voltage_bound
are used in the fit. (DEFAULTNone
)Cannot be used with keyword
current_bound
.
- Returns:
isat (
Linear
) – A fit-function representing the linear portion of the fitted curve. Note: Allisat
parameters will be in the same units as those ofvoltage
andcurrent
. For example, if thevoltage
array is in milli-volts and thecurrent
array is in milli-amperes, then all parameters and computed values ofisat
will have the same units.extras (
ISatExtras
) – Additional information from the curve fit:extras.fitted_func
(fit-functions)The computed fit-function specified by
fit_type
.extras.rsq
(float
)The coefficient of determination (r-squared) value of the fit, that is of
extras.fitted_func
.extras.fitted_indices
(slice
)A
slice
object representing the indices of thevoltage
andcurrent
arrays used for the fit.
Notes
This routine works by:
Selecting the points to be used in the fit as determined by
voltage_bound
orcurrent_bound
.Fitting the selected points with the fit-function specified by
fit_type
.Extracting the linear component of the fit and returning that as the ion-saturation current.
This routine opts to return a function representing a linear ion-saturation current, since, while ideal planar Langmuir probes reach a steady-state ion-saturation current, real world Langmuir probes “suffer” from expanding sheaths as the bias voltage becomes increasingly negative. This sheath expansion results in the ion-saturation current also increasing.