nDimArrhenius¶
- Stoner.analysis.fitting.models.thermal.nDimArrhenius(x, A, DE, n)[source]¶
Arrhenius Equation without T dependent prefactor for various dimensions.
- Parameters:
x (array) – temperatyre data in K
A (float) – Prefactor - temperature independent. See :py:func:modArrhenius for temperaure dependent version.
DE (float) – Energy barrier in eV.
n (float) – The dimensionalirty of the model
- Returns:
Typically a rate corresponding to the given temperature values.
The Arrhenius function is defined as \(\tau=A\exp\left(\frac{-\Delta E}{k_B x^n}\right)\) where \(k_B\) is Boltzmann’s constant.
Example
"""Example of nDimArrhenius Fit.""" from numpy import linspace from numpy.random import normal from Stoner import Data from Stoner.analysis.fitting.models.thermal import nDimArrhenius, NDimArrhenius # Make some data T = linspace(50, 500, 101) R = nDimArrhenius(T + normal(size=len(T), scale=5.0, loc=1.0), 1e6, 0.5, 2) d = Data(T, R, setas="xy", column_headers=["T", "Rate"]) # Curve_fit on its own d.curve_fit(nDimArrhenius, p0=[1e6, 0.5, 2], result=True, header="curve_fit") d.setas = "xyy" d.plot(fmt=["r.", "b-"]) d.annotate_fit(nDimArrhenius, x=0.25, y=0.3, mode="eng") # lmfit using lmfit guesses fit = NDimArrhenius() p0 = fit.guess(R, x=T) d.lmfit(fit, result=True, header="lmfit") d.setas = "x..y" d.plot(fmt="g-") d.annotate_fit( NDimArrhenius, x=0.25, y=0.05, prefix="NDimArrhenius", mode="eng" ) d.title = "n-D Arrhenius Test Fit" d.ylabel = "Rate" d.xlabel = "Temperature (K)"