Ejemplo n.º 1
0
# Parameter der Proben
table.petit_table(transpose(
    [d.amounts, d.lenghts_total, d.lenghts_inserted, d.cross_section_areas]),
                  "proben_parameter", [3, 3, 3],
                  dont_align=True,
                  row_names=[
                      '$\\text{Seltene-Erden-Atome pro m}^3$',
                      '$\\text{Probenlänge in m}$',
                      '$\\text{Eingeführte Probenlänge in m}$',
                      '$\\text{Effektiver Querschnitt in m}^2$'
                  ])

# Plot results
plt.clf()
x = [1, 2, 3]
y1, err1 = plot.extract_error(χ_results_voltage)
y2, err2 = plot.extract_error(χ_results_res)
y3 = χ_reference
y4 = χ_mean
err4 = err1 + err2
labels = [
    "$\mathrm{Dy}_2\mathrm{O}_3$", "$\mathrm{Gd}_2\mathrm{O}_3$",
    "$\mathrm{Nd}_2\mathrm{O}_3$"
]

plt.errorbar(x, y1, yerr=err1, fmt='b.', label="Spannungsmessung")
plt.errorbar(x, y2, yerr=err2, fmt='r.', label="Wiederstandsmessung")
plt.plot(x, y3, 'gx', label="Hund'sche Regel")
plt.plot(x, y4, 'c_', label="Mittelwert beider Messungen")

plt.xlim(0, 4)
Ejemplo n.º 2
0
#Austrittsarbeit von Wolfram
h = 6.626070040e-34
m_0 = 9.10938356e-31

def richardson(T,I_S):
    arbeit = []
    for i in range(len(T)):
        arbeit.append(k_B*T[i]* unp.log((4*np.pi*e_0*m_0*f_diode2*(k_B**2) * (T[i]**2))/((h**3)*I_S[i])))
    return arbeit




Austrittsarbeit = richardson(temperature_kathode, saturation_current)
print("Austrittsarbeit", Austrittsarbeit)
arbeitswert,arbeit_err = plot.extract_error(Austrittsarbeit)
print("Mittelwert:",f.mean(arbeitswert), f.abweichung(ufloat(f.mean(arbeitswert),f.stdDevOfMean(arbeitswert)), 4.5e-19))

fehler_arbeit = f.stdDevOfMean(arbeitswert)*10**19
mittel = f.mean(arbeitswert)*10**19
arbeityeah = [ufloat(mittel,fehler_arbeit)]
arbeitbla = copy.deepcopy(Austrittsarbeit)
d.make_it_SI2(arbeitbla,19)



print("ARBEIT:", arbeityeah)

write('../tex-data/arbeit.tex',
      make_table([[1,2,3,4,5],arbeitbla], [0,2]))
Ejemplo n.º 3
0
import helpers as hel
import plot_helpers as plot
import main as m
import functions as f

import matplotlib as mpl
import matplotlib.pyplot as plt

#plot.plot(range(len(m.q)),m.q, "Teilchennummer","Ladung","../plots/ladung.pdf", None)
#plot.plot(range(len(m.q_korr)),m.q_korr, "Teilchennummer","Korrigierte Ladung in C","../plots/ladung2.pdf", None)
plot.plot2(range(len(m.q_new_korr)),m.q_new_korr, "Teilchennummer","Korrigierte Ladung $q / C$","../plots/ladung2.pdf", None)
plot.plot([0,5,9,12,15,22],m.q_gone_korr, "Teilchennummer","Korrigierte Ladung $q / C$","../plots/ladung2.pdf", None)



x,y = plot.extract_error(m.q_korr)
x2,y2 = plot.extract_error(m.q)
x3,y3 = plot.extract_error(m.q_new)
x4,y4 = plot.extract_error(m.q_new_korr)

bla = range(39, 45)
print(bla)

#plt.plot([0,12,22],m.q_gone_korr, 'r.')
plt.plot(np.linspace(0,0.1,len(x4)),x4,'m.')
#plt.plot(range(len(x2)),x2, 'b.') #hahaha korrektur macht zero unterschied -.-
#plt.plot(range(len(x3)),x3, 'm.') #gemittelte Teilchen
#plt.plot(bla,x3, 'm.') #gemittelte Teilchen
#plt.plot(range(len(x3)),x3, 'm.')
#plt.plot(range(len(x4)),x4, 'c.')
#x_flow = np.linspace(-0.2,26,1000)
table.write_table(hund_table, "../tables/chi-results.tex", figures=[1, 1, 5, 5, 3, 3, 3],
                  row_names=element_names)

table.write_table(electron_conf, "../tables/hund_params.tex", figures=[2, 2, 2, 4],
                  row_names=['$\\text{Spinsumme}$', '$\\text{Magnetzahlensumme}$', '$\\text{Gesamtdrehimpuls}$', '$\\text{Lande-Faktor}$'])  # , '$\\text{Teilchendichte in} 1/m^3$'])

# Parameter der Proben
table.petit_table(transpose([d.amounts, d.lenghts_total, d.lenghts_inserted, d.cross_section_areas]), "proben_parameter", [3, 3, 3], dont_align=True,
                  row_names=['$\\text{Seltene-Erden-Atome pro m}^3$', '$\\text{Probenlänge in m}$', '$\\text{Eingeführte Probenlänge in m}$', '$\\text{Effektiver Querschnitt in m}^2$'])



# Plot results
plt.clf()
x = [1, 2, 3]
y1, err1 = plot.extract_error(χ_results_voltage)
y2, err2 = plot.extract_error(χ_results_res)
y3 = χ_reference
y4 = χ_mean
err4 = err1 + err2
labels = ["$\mathrm{Dy}_2\mathrm{O}_3$", "$\mathrm{Gd}_2\mathrm{O}_3$", "$\mathrm{Nd}_2\mathrm{O}_3$"]

plt.errorbar(x, y1, yerr=err1, fmt='b.', label="Spannungsmessung")
plt.errorbar(x, y2, yerr=err2, fmt='r.', label="Wiederstandsmessung")
plt.plot(x, y3, 'gx', label="Hund'sche Regel")
plt.plot(x, y4, 'c_', label="Mittelwert beider Messungen")


plt.xlim(0, 4)
plt.ylim(*plot.autolimits(append(append(y1, y2), y3), err=append(err1, err2)))
Ejemplo n.º 5
0
q_new_korr = charge_korr(q_new,r_new)



#for i in range(len(d.drops)):
#    print("Differenz:", q[i]/1.602e-19 )
#print("Radius:", r)
#print("korrigierte Ladung:", q_korr)
#print("Minimum:",min(q_korr))
#print("Minimum:",0.25*1.602e-19)
#print("Minimum - Elementarladung: ", (min(q_korr)-1.602e-19)/1.602e-19)
#print("Cunningham: ", (1+ d.cun / (d.pressure_air * r[0])))


qui_k,qui_k_err = plot.extract_error(q_korr)
qui,qui_err = plot.extract_error(q)
qui_new, qui_new_err = plot.extract_error(q3)



#Finde den größten gemeinsamen Teiler (GCD) ... und Einhörner existieren wirklich und so...

def GCD(q,maxi):
    #q: Vektor mit reellen Zahlenwerten
    #maxi: maximale Iterationszahl für einen GCD
    gcd = q[0]
    for i in range(1,len(q)):
        n = 0
        while abs(gcd-q[i]) > 1e-19 and n <= maxi :
            if gcd > q[i]: