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, bounds=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.DataFrame 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.

  • bounds (None | list) – Optional bounds for the parameters of the function. Defaults to None, in which case these are defined as +/- 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, bounds=None)#

Bases: TemperatureDependent

Evaluate the data with a standard Arrhenius relationship.

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

Activated 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, bounds=None)#

Bases: TemperatureDependent

Evaluate the data with a Vogel-Fulcher-Tammann relationship.

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

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