bdr¶
- Stoner.analysis.fitting.models.tunnelling.bdr(V, A, phi, dphi, d, mass)[source]¶
BDR model tunnelling.
- Parameters:
V (array) – ias voltage
A (float) – barrier area in m^2
phi (float) – average barrier height in eV
dphi (float) – change in barrier height in eV
d (float) – barrier width in angstrom
mass (float) – effective electron mass as a fraction of electron rest mass
- Returns:
Data for tunneling rate according to the BDR model.
Note
See Brinkman et. al. J. Appl. Phys. 41 1915 (1970) or Tuan Comm. in Phys. 16, 1, (2006)
Example
"""Example of nDimArrhenius Fit.""" from numpy import linspace, ones_like from numpy.random import normal from Stoner import Data from Stoner.analysis.fitting.models.tunnelling import BDR, bdr # Make some data V = linspace(-10, 10, 1000) I = bdr(V, 2.5, 3.2, 0.3, 15.0, 1.0) + normal(size=len(V), scale=1.0e-3) dI = ones_like(V) * 1.0e-3 # Curve fit d = Data(V, I, dI, setas="xye", column_headers=["Bias", "Current", "Noise"]) d.curve_fit(bdr, p0=[2.5, 3.2, 0.3, 15.0, 1.0], result=True, header="curve_fit") d.setas = "xyey" d.plot(fmt=["r.", "b-"]) d.annotate_fit( bdr, x=0.6, y=0.05, prefix="bdr", fontdict={"size": "x-small", "color": "blue"}, ) # lmfit d.setas = "xy" fit = BDR(missing="drop") p0 = fit.guess(I, x=V) for p, v, mi, mx in zip( ["A", "phi", "dphi", "d", "mass"], [2.500, 3.2, 0.3, 15.0, 1.0], [0.100, 1.0, 0.05, 5.0, 0.5], [10, 10.0, 2.0, 30.0, 5.0], ): p0[p].value = v p0[p].bounds = [mi, mx] d.lmfit(fit, p0=p0, result=True, header="lmfit") d.setas = "x...y" d.plot(fmt="g-") d.annotate_fit( fit, x=0.2, y=0.05, prefix="BDR", fontdict={"size": "x-small", "color": "green"}, ) d.ylabel = "Current" d.title = "BDR Model test"