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: FittingBase

A 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.

Parameters:

extrapolated_temperature (float) – Temperature to return diffusion coefficient at.

Return type:

Variable | DataArray | Dataset | DataGroup[Any]

Returns:

Diffusion coefficient at extrapolated temperature.

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:

Variable | DataArray | Dataset | DataGroup[Any]

Returns:

The diffusion coefficient data.

class kinisi.arrhenius.Arrhenius(diffusion, priors=None)#

Bases: TemperatureDependent

Evaluate 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.

property activation_energy: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Activation energy distribution in electronvolt.

property preexponential_factor: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Preexponential factor.

kinisi.arrhenius.vtf_equation(abscissa, activation_energy, preexponential_factor, T0)#

Evaluate the Vogel-Fulcher-Tammann equation.

Parameters:
Return type:

Variable | DataArray | Dataset | DataGroup[Any]

Returns:

The diffusion coefficient data.

class kinisi.arrhenius.VogelFulcherTammann(diffusion, priors=None)#

Bases: TemperatureDependent

Evaluate 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.

property preexponential_factor: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Preexponential factor.

property T0: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Temperature factor for the VTF equation in kelvin.

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:
Return type:

Variable | DataArray | Dataset | DataGroup[Any]

Returns:

The diffusion coefficient data.

class kinisi.arrhenius.PiecewiseSmoothArrhenius(diffusion, priors=None)#

Bases: TemperatureDependent

Evaluate 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.

property T0: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Transition temperature in between the low temperature and high temperature phases in kelvin.

property width: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Width of the sigmoid function

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:
Return type:

Variable | DataArray | Dataset | DataGroup[Any]

Returns:

The diffusion coefficient data.

class kinisi.arrhenius.PiecewiseArrhenius(diffusion, priors=None)#

Bases: TemperatureDependent

Evaluate 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.

property preexponential_factor: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Diffusion coefficient at the transition temperature, T0.

property T0: Variable | DataArray | Dataset | DataGroup[Any] | Samples#
Returns:

Transition temperature in between the low temperature and high temperature phases in kelvin.