kinisi.arrhenius#
The two classes herein enable the determination of the activation energy from a diffusion-Arrhenius or -Super-Arrhenius plot. This includes the uncertainty on the activation energy from the MCMC sampling of the plot, with uncertainties on diffusion. It is also easy to determine the Bayesian evidence for each of the models with the given data, enabling the differentiation between data showing Arrhenius and Super-Arrhenius diffusion.
- class kinisi.arrhenius.TemperatureDependent(diffusion, function, parameter_names, parameter_units, priors=None)#
Bases:
FittingBaseA class for temperature-dependent relationships. This class enables MCMC sampling of the temperature-dependent relationships and estimation of the Bayesian evidence.
- Parameters:
diffusion – Diffusion coefficient sc.DataArray with a temperature coordinate and variances.
function (
Callable) – A callable function that describes the relationship between temperature and diffusion.parameter_names (
tuple[str]) – A tuple of parameter names for the function.parameter_units (
tuple[Unit]) – A tuple of sc.Unit objects corresponding to the parameter names.priors (
None|list) – Optional prior probability distributions for the parameters of the function. Defaults to None, in which case a uniform distribution is defined with limits of +/- 50 percent of the best fit values.
- extrapolate(extrapolated_temperature)#
Extrapolate the diffusion coefficient to some un-investigated value. This can also be used for interpolation.
- kinisi.arrhenius.arrhenius(abscissa, activation_energy, prefactor)#
Determine the diffusion coefficient for a given activation energy, and prefactor according to the Arrhenius equation.
- Parameters:
- Return type:
- Returns:
The diffusion coefficient data.
- class kinisi.arrhenius.Arrhenius(diffusion, priors=None)#
Bases:
TemperatureDependentEvaluate the data with a standard Arrhenius relationship.
- Parameters:
diffusion – Diffusion coefficient sc.DataArray with a temperature coordinate and variances.
priors (
list|None) – Optional prior probability distributions for the parameters of the function. Defaults to None, in which case a uniform distribution is defined with limits of +/- 50 percent of the max likelihood values.
- kinisi.arrhenius.vtf_equation(abscissa, activation_energy, preexponential_factor, T0)#
Evaluate the Vogel-Fulcher-Tammann equation.
- Parameters:
abscissa (
Variable|DataArray|Dataset|DataGroup[Any]) – The temperature data.activation_energy (
Variable|DataArray|Dataset|DataGroup[Any]) – The apparent activation energy value.preexponential_factor (
Variable|DataArray|Dataset|DataGroup[Any]) – The preexponential factor value.T0 (
Variable|DataArray|Dataset|DataGroup[Any]) – The T0 value.
- Return type:
- Returns:
The diffusion coefficient data.
- class kinisi.arrhenius.VogelFulcherTammann(diffusion, priors=None)#
Bases:
TemperatureDependentEvaluate the data with a Vogel-Fulcher-Tammann relationship.
- Parameters:
diffusion – Diffusion coefficient sc.DataArray with a temperature coordinate and variances.
priors (
list|None) – Optional prior probability distributions for the parameters of the function. Defaults to None, in which case a uniform distribution is defined with limits of +/- 50 percent of the max likelihood values.
- property activation_energy: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
- Returns:
Activation energy distribution in electronvolt.
- kinisi.arrhenius.piecewise_smooth_equation(abscissa, activation_energy_low, activation_energy_high, preexponential_factor, T0, width)#
Evaluate the data with two Arrhenius regions following a piecewise equation smoothed with a sigmoid function.
- Parameters:
abscissa (
Variable|DataArray|Dataset|DataGroup[Any]) – The temperature data.activation_energy_low (
Variable|DataArray|Dataset|DataGroup[Any]) – The low-temperature activation energy value.activation_energy_high (
Variable|DataArray|Dataset|DataGroup[Any]) – The high-temperature activation energy value.preexponential_factor (
Variable|DataArray|Dataset|DataGroup[Any]) – The diffusion coefficient at the transition temperature, T0. Note, this is not the Arrhenius preexponential factor, as the exponent is relative to 1/T0 rather than zero.T0 (
Variable|DataArray|Dataset|DataGroup[Any]) – Phase transition temperature.width (
Variable|DataArray|Dataset|DataGroup[Any]) – width of the sigmoid transition.
- Return type:
- Returns:
The diffusion coefficient data.
- class kinisi.arrhenius.PiecewiseSmoothArrhenius(diffusion, priors=None)#
Bases:
TemperatureDependentEvaluate the data with two Arrhenius regions following a piecewise relationship smoothed with a sigmoid function.
- Parameters:
diffusion – Diffusion coefficient sc.DataArray with a temperature coordinate and variances.
priors (
list|None) – Optional prior probability distributions for the parameters of the function. Defaults to None, in which case a uniform distribution is defined with limits of +/- 50 percent of the best fit values.
- property activation_energy_low_temperature: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
- Returns:
Low-temperature activated energy distribution in electronvolt.
- property activation_energy_high_temperature: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
- Returns:
High-temperature activated energy distribution in electronvolt.
- property preexponential_factor: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
- Returns:
Diffusion coefficient at the transition temperature, T0.
- kinisi.arrhenius.piecewise_equation(abscissa, activation_energy_low, activation_energy_high, preexponential_factor, T0)#
Evaluate the data with two Arrhenius regions following a piecewise equation.
- Parameters:
abscissa (
Variable|DataArray|Dataset|DataGroup[Any]) – The temperature data.activation_energy_low (
Variable|DataArray|Dataset|DataGroup[Any]) – The low-temperature activation energy value.activation_energy_high (
Variable|DataArray|Dataset|DataGroup[Any]) – The high-temperature activation energy value.preexponential_factor (
Variable|DataArray|Dataset|DataGroup[Any]) – The diffusion coefficient at the transition temperature, T0. Note, this is not the Arrhenius preexponential factor, as the exponent is relative to 1/T0 rather than zero.T0 (
Variable|DataArray|Dataset|DataGroup[Any]) – Phase transition temperature.
- Return type:
- Returns:
The diffusion coefficient data.
- class kinisi.arrhenius.PiecewiseArrhenius(diffusion, priors=None)#
Bases:
TemperatureDependentEvaluate the data with two Arrhenius regions following a piecewise relationship.
- Parameters:
diffusion – Diffusion coefficient sc.DataArray with a temperature coordinate and variances.
priors (
list|None) – Optional prior probability distributions for the parameters of the function. Defaults to None, in which case a uniform distribution is defined with limits of +/- 50 percent of the best fit values.
- property activation_energy_low_temperature: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
- Returns:
Low-temperature activated energy distribution in electronvolt.
- property activation_energy_high_temperature: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
- Returns:
High-temperature activated energy distribution in electronvolt.