jaxrts.ipd.ipd_stewart_pyatt_preston
- jaxrts.ipd.ipd_stewart_pyatt_preston(Zi: float, ne: Quantity, ni: Quantity, Te: Quantity, Ti: Quantity, ion_population=None, arb_deg: bool = False, crowley_correction: bool = False) Quantity[source]
The Stewart Pyatt IPD, as presented by [Preston et al., 2013], which closely resembles the seminal work of [Stewart and Pyatt, 1966].
The IPD is dependent on the quantity \(z^* = \frac{\langle z^2 \rangle}{\langle z\rangle}\) which is only calculated if an
ion_populationargument is given. Otherwise, we assume this value was the average ionization state, which is, however, not accurate.The connection between this formulation and the implementation in
ipd_stewart_pyatt()can be found in Appendix A of [Pain, 2022].[Crowley, 2014] pointed out a correction to the formula used by Stewart and Pyatt. This can be handled by setting the
crowley_correctionflag to true- Parameters:
Z – The charge state of the atom (note that this is the state before the ionization).
ne – Electron density. Units of 1/[length]**3.
ni – Ion density. Units of 1/[length]**3.
Te – The electron temperature.
Ti – The ion temperature.
ion_population – The ion population fractions.
arb_deg (bool, default false) – If
Truethe Debye screening length is evaluated usinginverse_screening_length_e(), which includes solving the Fermi integral, rather than the classical value.crowley_correction (bool, default False) – If
Trueapply the correction presented by [Crowley, 2014].
- Returns:
Quantity – The ipd shift in units of electronvolt.