Esempio n. 1
0
def bg_wrapper(T, tD, r0, A):
    """Fit wrapper."""
    return blochGrueneisen(T, tD, r0, A, 5)
Esempio n. 2
0
thetaD = 300.0
p0 = [thetaD, rho0, A]
print("Initial guesses: {}".format(p0))

d.del_rows(0, lambda x, r: np.any(np.isnan(r)))

popt, pcov = d.curve_fit(bg_wrapper,
                         xcol=t_col,
                         ycol=r_col,
                         p0=p0,
                         absolute_sigma=False)
perr = np.sqrt(np.diag(pcov))

labels = [r"\theta_D", r"\rho_0", r"A"]
units = ["K", r"\Omega m", r"\Omega m"]

annotation = [
    "${}$: {}\n".format(l, format_error(v, e, latex=True, mode="eng", units=u))
    for l, v, e, u in zip(labels, popt, perr, units)
]
annotation = "\n".join(annotation)
popt = np.append(popt, 5)
T = d.column(t_col)
d.add_column(blochGrueneisen(T, *popt), header=r"Bloch")

d.plot_xy(t_col, [r_col, "Bloch"], ["ro", "b-"],
          label=["Data", r"$Bloch-Gr\"ueisen Fit$"])
d.xlabel = "Temperature (K)"
d.ylabel = "Resistance ($\Omega$)"
text(0.05, 0.65, annotation, transform=d.axes[0].transAxes)
Esempio n. 3
0
def bg_wrapper(T,tD,r0,A):
    """Fit wrapper."""
    return blochGrueneisen(T,tD,r0,A,5)
Esempio n. 4
0
    r_col=d.find_col(pat,force_list=True)
    if len(r_col)==1:
        r_col=r_col[0]
        break
else:
    r_col=select_col(d,"Select column for resistance data :")

rho0=d.min(r_col)[0]
A=rho0*40
thetaD=300.0
p0=[thetaD,rho0,A]
print("Initial guesses: {}".format(p0))

d.del_rows(0,lambda x,r:np.any(np.isnan(r)))

popt,pcov=d.curve_fit(bg_wrapper,xcol=t_col,ycol=r_col,p0=p0,absolute_sigma=False)
perr=np.sqrt(np.diag(pcov))

labels=[r'\theta_D',r'\rho_0',r'A']
units=["K",r"\Omega m",r"\Omega m"]

annotation=["${}$: {}\n".format(l,format_error(v,e,latex=True,mode="eng",units=u)) for l,v,e,u in zip(labels,popt,perr,units)]
annotation="\n".join(annotation)
popt=np.append(popt,5)
T=d.column(t_col)
d.add_column(blochGrueneisen(T,*popt),header=r"Bloch")

d.plot_xy(t_col,[r_col,"Bloch"],["ro","b-"],label=["Data",r"$Bloch-Gr\"ueisen Fit$"])
d.xlabel="Temperature (K)"
d.ylabel="Resistance ($\Omega$)"
text(0.05,0.65,annotation,transform=d.axes[0].transAxes)
Esempio n. 5
0
else:
    t_col = t_col[0]
r_col = d.find_col(r_pat)
if len(r_col) != 1:
    raise KeyError("More than one column that might match temperaature found!")
else:
    r_col = r_col[0]

rho0 = d.min(r_col)[0]
A = rho0 * 40
thetaD = 300.0

d.del_rows(0, lambda x, r: any(isnan(r)))

popt, pcov = d.curve_fit(
    lambda T, thetaD, rho0, A: blochGrueneisen(T, thetaD, rho0, A, 5),
    xcol=t_col,
    ycol=r_col,
    p0=[thetaD, rho0, A])
perr = sqrt(diag(pcov))

labels = [r'\theta_D', r'\rho_0', r'A']

annotation = [
    "${}$: {}\n".format(l, format_error(v, e, latex=True))
    for l, v, e in zip(labels, popt, perr)
]
annotation = "\n".join(annotation)
popt = append(popt, 5)
T = d.column(t_col)
d.add_column(blochGrueneisen(T, *popt), column_header=r"Bloch")
Esempio n. 6
0
    raise KeyError("More than one column that might match temperaature found!")
else:
    t_col=t_col[0]
r_col=d.find_col(r_pat)
if len(r_col)!=1:
    raise KeyError("More than one column that might match temperaature found!")
else:
    r_col=r_col[0]

rho0=d.min(r_col)[0]
A=rho0*40
thetaD=300.0

d.del_rows(0,lambda x,r:any(isnan(r)))

popt,pcov=d.curve_fit(lambda T,thetaD,rho0,A:blochGrueneisen(T,thetaD,rho0,A,5),xcol=t_col,ycol=r_col,p0=[thetaD,rho0,A])
perr=sqrt(diag(pcov))

labels=[r'\theta_D',r'\rho_0',r'A']

annotation=["${}$: {}\n".format(l,format_error(v,e,latex=True)) for l,v,e in zip(labels,popt,perr)]
annotation="\n".join(annotation)
popt=append(popt,5)
T=d.column(t_col)
d.add_column(blochGrueneisen(T,*popt),column_header=r"Bloch")

d.plot_xy(t_col,[r_col,"Bloch"],["ro","b-"],label=["Data",r"$Bloch-Gr\"ueisen Fit$"])
d.xlabel="Temperature (K)"
d.ylabel="Resistance ($\Omega$)"
text(0.05,0.05,annotation,transform=d.axes[0].transAxes)