Compare commits

...

7 Commits

101 changed files with 2341 additions and 1153 deletions

39
scripts/ase_spacegroup.py Normal file
View File

@ -0,0 +1,39 @@
import ase.io as io
from ase.build import cut
from ase.spacegroup import crystal
a = 9.04
skutterudite = crystal(('Co', 'Sb'),
basis=[(0.25, 0.25, 0.25), (0.0, 0.335, 0.158)],
spacegroup=204,
cellpar=[a, a, a, 90, 90, 90])
# Create a new atoms instance with Co at origo including all atoms on the
# surface of the unit cell
cosb3 = cut(skutterudite, origo=(0.25, 0.25, 0.25), extend=1.01)
# Define the atomic bonds to show
bondatoms = []
symbols = cosb3.get_chemical_symbols()
for i in range(len(cosb3)):
for j in range(i):
if (symbols[i] == symbols[j] == 'Co' and
cosb3.get_distance(i, j) < 4.53):
bondatoms.append((i, j))
elif (symbols[i] == symbols[j] == 'Sb' and
cosb3.get_distance(i, j) < 2.99):
bondatoms.append((i, j))
# Create nice-looking image using povray
renderer = io.write('spacegroup-cosb3.pov', cosb3,
rotation='90y',
radii=0.4,
povray_settings=dict(transparent=False,
camera_type='perspective',
canvas_width=320,
bondlinewidth=0.07,
bondatoms=bondatoms))
renderer.render()

50
scripts/bz.py Normal file
View File

@ -0,0 +1,50 @@
# creates: bztable.rst
# creates: 00.CUB.svg 01.FCC.svg 02.BCC.svg 03.TET.svg 04.BCT1.svg
# creates: 05.BCT2.svg 06.ORC.svg 07.ORCF1.svg 08.ORCF2.svg 09.ORCF3.svg
# creates: 10.ORCI.svg 11.ORCC.svg 12.HEX.svg 13.RHL1.svg 14.RHL2.svg
# creates: 15.MCL.svg 16.MCLC1.svg 17.MCLC3.svg 18.MCLC5.svg 19.TRI1a.svg
# creates: 20.TRI1b.svg 21.TRI2a.svg 22.TRI2b.svg
# creates: 23.OBL.svg 24.RECT.svg 25.CRECT.svg 26.HEX2D.svg 27.SQR.svg
# taken from https://wiki.fysik.dtu.dk/ase/gallery/gallery.html
from formulary import *
from ase.lattice import all_variants
from ase.data import colors
header = """\
Brillouin zone data
-------------------
.. list-table::
:widths: 10 15 45
"""
entry = """\
* - {name} ({longname})
- {bandpath}
- .. image:: {fname}
:width: 40 %
"""
with open('bztable.rst', 'w') as fd:
print(header, file=fd)
for i, lat in enumerate(all_variants()):
id = f'{i:02d}.{lat.variant}'
imagefname = f'out/{id}.svg'
txt = entry.format(name=lat.variant,
longname=lat.longname,
bandpath=lat.bandpath().path,
fname=imagefname)
print(txt, file=fd)
ax = lat.plot_bz()
fig = ax.get_figure()
fig.savefig(imagefname, bbox_inches='tight')
fig.clear()

View File

@ -18,7 +18,7 @@ def fbutler_volmer(ac, z, eta, T):
return fbutler_volmer_anode(ac, z, eta, T) + fbutler_volmer_cathode(ac, z, eta, T)
def butler_volmer():
fig, ax = plt.subplots(figsize=size_half_third)
fig, ax = plt.subplots(figsize=size_formula_fill_default)
ax.set_xlabel("$\\eta$ [V]")
ax.set_ylabel("$j/j_0$")
etas = np.linspace(-0.1, 0.1, 400)
@ -62,7 +62,7 @@ def tafel():
iright = i0 * np.abs(ftafel_cathode(ac, z, etas, T))
ileft = i0 * ftafel_anode(ac, z, etas, T)
fig, ax = plt.subplots(figsize=size_half_third)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
ax.set_xlabel("$\\eta$ [V]")
ax.set_ylabel("$\\log_{10}\\left(\\frac{|j|}{j_0}\\right)$")
# ax.set_ylabel("$\\log_{10}\\left(|j|/j_0\\right)$")
@ -91,7 +91,7 @@ def fZ_ind(L, omega):
def nyquist():
fig, ax = plt.subplots(figsize=(full/2, full/3))
fig, ax = plt.subplots(figsize=size_formula_fill_default)
split_z = lambda Z: (Z.real, -Z.imag)
ax.grid()
ax.set_xlabel("$\\text{Re}(Z)$ [\\si{\\ohm}]")
@ -146,7 +146,7 @@ def fZ_tlm(Rel, Rion, Rct, Cct, ws, N):
return Z
def nyquist_tlm():
fig, ax = plt.subplots(figsize=(full/2, full/4))
fig, ax = plt.subplots(figsize=(width_formula, width_formula*0.5))
split_z = lambda Z: (Z.real, -Z.imag)
ax.grid()
ax.set_xlabel("$\\text{Re}(Z)$ [\\si{\\ohm}]")
@ -168,7 +168,7 @@ def fkohlrausch(L0, K, c):
return L0 - K*np.sqrt(c)
def kohlrausch():
fig, ax = plt.subplots(figsize=(full/4, full/4))
fig, ax = plt.subplots(figsize=size_formula_small_quadratic)
ax.grid()
ax.set_xlabel("$c_\\text{salt}$")
ax.set_ylabel("$\\Lambda_\\text{M}$")

View File

@ -0,0 +1,51 @@
from formulary import *
from util.aseutil import set_atom_color, get_pov_settings
"""
Create crystal structures using ase and render them with povray
Rotation angle:
To get the rotation angle, open the structure in the ase.visualize.view
and use "View->Rotation" to get the desired angles
"""
set_atom_color("Na", COLORSCHEME["fg-red"])
set_atom_color("Cl", COLORSCHEME["fg-blue"])
set_atom_color("Zn", COLORSCHEME["fg-blue"])
set_atom_color("S", COLORSCHEME["fg-yellow"])
from ase.lattice import compounds
from ase.build import cut, bulk
from ase import Atom, Atoms
def zincblende():
zns = compounds.Zincblende(("Zn", "S"), latticeconstant=5.0, size=(1,1,1))
zns_cell = cut(zns, b=(0,0,1), origo=(0,0,0), extend=1.1)
return zns_cell
# NaCl cut
def nacl():
nacl = compounds.NaCl(("Na", "Cl"), latticeconstant=5.0, size=(1,1,1))
nacl_cell = cut(nacl, b=(0,0,1), origo=(0,0,0), extend=1.1)
return nacl_cell
def wurtzite():
compounds.L1_2
wurtzite = bulk('SZn', 'wurtzite', a=3.129, c=5.017)
wurtzite_cell = cut(wurtzite,
a=[1, 0, 0],
b=[-1, -1, 0],
c=[0, 0, 1], extend=1.1)
return wurtzite_cell
if __name__ == "__main__":
export_atoms(nacl(), "cm_crystal_NaCl", size_formula_half_quadratic)
export_atoms(wurtzite(), "cm_crystal_wurtzite", size_formula_half_quadratic, rotation="70x,20y,174z")
export_atoms(zincblende(), "cm_crystal_zincblende", size_formula_half_quadratic, rotation="-155x,70y,24z")
w = wurtzite()
from ase.visualize import view
view(w)

View File

@ -1,5 +1,9 @@
#!/usr/bin env python3
from formulary import *
from scipy.constants import Boltzmann as kB, hbar
hbar = 1
kB = 1
def fone_atom_basis(q, a, M, C1, C2):
return np.sqrt(4*C1/M * (np.sin(q*a/2)**2 + C2/C1 * np.sin(q*a)**2))
@ -11,7 +15,7 @@ def one_atom_basis():
M = 1.
qs = np.linspace(-2*np.pi/a, 2*np.pi/a, 300)
omega = fone_atom_basis(qs, a, M, C1, C2)
fig, ax = plt.subplots(figsize=size_half_third)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
ax.set_xlabel(r"$q$")
ax.set_xticks([i * np.pi/a for i in range(-2, 3)])
ax.set_xticklabels([f"${i}\\pi/a$" if i != 0 else "0" for i in range(-2, 3)])
@ -41,7 +45,7 @@ def two_atom_basis():
qs = np.linspace(-2*np.pi/a, 2*np.pi/a, 300)
omega_a = ftwo_atom_basis_acoustic(qs, a, M1, M2, C)
omega_o = ftwo_atom_basis_optical(qs, a, M1, M2, C)
fig, ax = plt.subplots(figsize=size_half_third)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
ax.plot(qs, omega_a, label="acoustic")
ax.plot(qs, omega_o, label="optical")
ax.text(0, 0.8, "1. BZ", ha='center')
@ -57,8 +61,56 @@ def two_atom_basis():
ax.set_xticklabels([f"${i}\\pi/a$" if i != 0 else "0" for i in range(-2, 3)])
ax.legend()
ax.grid()
return fig
def fcv_einstein(T, N, omegaE):
ThetaT = hbar * omegaE / (kB * T)
return 3 * N * kB * ThetaT**2 * np.exp(ThetaT) / (np.exp(ThetaT) - 1)**2
def fcv_debye_integral(x):
print(np.exp(x), (np.exp(x) - 1)**2)
return x**4 * np.exp(x) / ((np.exp(x) - 1)**2)
def heat_capacity_einstein_debye():
Ts = np.linspace(0, 10, 500)
omegaD = 1e1
omegaE = 1
# N = 10**23
N = 1
cvs_einstein = fcv_einstein(Ts, N, omegaE)
cvs_debye = np.zeros(Ts.shape, dtype=float)
integral = np.zeros(Ts.shape, dtype=float)
# cvs_debye = [0.0 for _ in range(Ts.shape[0])] # np.zeros(Ts.shape, dtype=float)
# integral = [0.0 for _ in range(Ts.shape[0])] # np.zeros(Ts.shape, dtype=float)
dT = Ts[1] - Ts[0]
dThetaT = kB*dT/(hbar*omegaD)
for i, T in enumerate(Ts):
if i == 0: continue
ThetaT = kB*T/(hbar*omegaD)
dIntegral = fcv_debye_integral(ThetaT) * dThetaT
integral[i] = dIntegral
# print(integral)
integral[i] += integral[i-1]
C_debye = 9 * N * kB * ThetaT**3 * integral[i]
cvs_debye[i] = C_debye
print(i, T, ThetaT, dIntegral, C_debye, integral[i])
fig, ax = plt.subplots(1, 1, figsize=size_formula_normal_default)
ax.set_xlabel("$T$")
ax.set_ylabel("$c_V$")
ax.plot(Ts, cvs_einstein, label="Einstein")
ax.plot(Ts, cvs_debye, label="Debye")
ax.plot(Ts, integral, label="integral")
ax.hlines([3*N*kB], xmin=0, xmax=Ts[-1], colors=COLORSCHEME["fg1"], linestyles="dashed")
# print(cvs_debye)
ax.legend()
return fig
if __name__ == '__main__':
export(one_atom_basis(), "cm_phonon_dispersion_one_atom_basis")
export(two_atom_basis(), "cm_phonon_dispersion_two_atom_basis")
export(one_atom_basis(), "cm_vib_dispersion_one_atom_basis")
export(two_atom_basis(), "cm_vib_dispersion_two_atom_basis")
export(heat_capacity_einstein_debye(), "cm_vib_heat_capacity_einstein_debye")
print(kB)

View File

@ -0,0 +1,118 @@
#!/usr/bin env python3
from formulary import *
# Define the functions
def psi_squared(x, xi):
return np.tanh(x/(np.sqrt(2)*xi))**2
def B_z(x, B0, lam):
return B0 * np.exp(-x/lam)
def n_s_boundary():
xs = np.linspace(0, 6, 400)
xn = np.linspace(-1, 0, 10)
B0 = 1.0
fig, ax = plt.subplots(figsize=size_formula_fill_default)
ax.axvline(x=0, color='gray', linestyle='--', linewidth=0.8)
ax.axhline(y=1, color='gray', linestyle='--', linewidth=0.8)
ax.axhline(y=0, color='gray', linestyle='--', linewidth=0.8)
ax.fill_between(xn, -2, 2 , color=COLORSCHEME["bg-yellow"], alpha=0.5)
ax.fill_between(xs, -2, 2 , color=COLORSCHEME["bg-blue"], alpha=0.5)
ax.text(-0.5, 0.9, 'N', color=COLORSCHEME["fg-yellow"], fontsize=14, ha="center", va="center")
ax.text(3, 0.9, 'S', color=COLORSCHEME["fg-blue"], fontsize=14, ha="center", va="center")
ax.set_xlabel("$x$")
ax.set_ylabel(r"$|\Psi|^2$, $B_z(x)/B_\text{ext}$")
ax.set_ylim(-0.1, 1.1)
ax.set_xlim(-1, 6)
ax.grid()
lines = []
for i, (xi, lam, color) in enumerate([(0.5, 2, "blue"), (2, 0.5, "red")]):
psi = psi_squared(xs, xi)
B = B_z(xs, B0, lam)
line, = ax.plot(xs, psi, color=color, linestyle="solid", label=f"$\\xi_\\text{{GL}}={xi}$, $\\lambda_\\text{{GL}}={lam}$")
lines.append(line)
ax.plot(xs, B, color=color, linestyle="dashed")
if i == 1:
ylam = 1/np.exp(1)
ax.plot([0, lam], [ylam, ylam], linestyle="dashed", color=COLORSCHEME["fg2"])
ax.text(lam/2, ylam, r'$\lambda_\text{GL}$', color=color, ha="center", va="bottom")
yxi = psi_squared(xi, xi)
ax.plot([0, xi], [yxi, yxi], linestyle="dotted", color=COLORSCHEME["fg2"])
ax.text(xi/2, yxi, r'$\xi_\text{GL}$', color=color, ha="center", va="bottom")
lines.append(mpl.lines.Line2D([], [], color="black", label=r"$\lvert\Psi\rvert^2$"))
lines.append(mpl.lines.Line2D([], [], color="black", linestyle="dashed", label=r"$B_z(x)/B_\text{ext}$"))
ax.legend(loc='center right', handles=lines)
return fig
from mpl_toolkits.mplot3d import Axes3D
from scipy.interpolate import griddata
def critical_type2():
Jc0 = 100
Bc2_0 = 30
Tc = 90
T = np.linspace(0, Tc, 100)
Jc_T = Jc0 * (1 - (T / Tc)**2)
Bc2_T = Bc2_0 * (1 - (T / Tc)**2)
B = np.linspace(0, Bc2_0, 100)
Jc_B = Jc0 * (1 - B / Bc2_0)
fig = plt.figure(figsize=size_formula_normal_default)
ax = fig.add_subplot(111, projection='3d')
ax.plot(T, np.zeros_like(Jc_T), Jc_T, label='$J_c(T)$', color='r')
ax.plot(T, Bc2_T, np.zeros_like(Bc2_T), label='$B_{c2}(T)$', color='g')
ax.plot(np.zeros_like(Jc_B), B, Jc_B, label='$J_c(B)$', color='b')
ax.set_xlim(0, Tc)
ax.set_ylim(0, Bc2_0)
ax.set_zlim(0, Jc0)
# surface
# T_grid, B_grid = np.meshgrid(T, B)
# Jc_grid = Jc0 * (1 - (T_grid / Tc)**2) * (1 - B_grid / Bc2_0)
# surf = ax.plot_surface(T_grid, B_grid, Jc_grid, color='cyan', alpha=0.5)
ax.set_xlabel('$T$')
ax.set_ylabel('$B_{c2}$')
ax.set_zlabel('$J_c$')
# ax.legend()
ax.grid(True)
ax.view_init(elev=30., azim=45)
ax.set_box_aspect(None, zoom=0.85)
return fig
def heat_capacity():
fig, ax = plt.subplots(1, 1, figsize=size_formula_small_quadratic)
T_max = 1.7
Cn_max = 3
f_Cn = lambda T: T * Cn_max/T_max
Delta_C = f_Cn(1.0) * 1.43 # BCS prediction
CsTc = f_Cn(1.0) * (1+1.43) # BCS prediction
# exp decay from there
f_Cs = lambda T: np.exp(-1 / T + 1) * CsTc
Tns = np.linspace(0.0, T_max, 100)
Tss = np.linspace(0.0, 1.0, 100)
Cns = f_Cn(Tns)
Css = f_Cs(Tss)
ax.plot(Tns, Cns, label=r"$c_\text{n}$")
ax.plot(Tss, Css, label=r"$c_\text{s}$")
ax.vlines([1.0], ymin=f_Cn(1.0), ymax=(CsTc), color=COLORSCHEME["fg1"], linestyles="dashed")
ax.text(1.05, CsTc - Delta_C/2, "$\\Delta c$", color=COLORSCHEME["fg1"])
ax.set_xlabel(r"$T/T_\text{c}$")
ax.set_ylabel(r"$c$ [a.u.]")
ax.legend()
return fig
if __name__ == "__main__":
export(n_s_boundary(), "cm_super_n_s_boundary")
export(critical_type2(), "cm_super_critical_type2")
export(heat_capacity(), "cm_super_heat_capacity")

View File

@ -4,7 +4,7 @@ import itertools
def get_fig():
fig, ax = plt.subplots(figsize=size_half_half)
fig, ax = plt.subplots(figsize=size_bigformula_half_quadratic)
ax.grid()
ax.set_xlabel(f"$x$")
ax.set_ylabel("PDF")

View File

@ -31,16 +31,33 @@ COLORSCHEME = cs.gruvbox_light()
# cs.p_tum["fg0"] = cs.p_tum["alt-blue"]
# COLORSCHEME = cs.tum()
# COLORSCHEME = cs.legacy()
# COLORSCHEME = cs.stupid()
tex_aux_path = "../.aux/"
tex_src_path = "../src/"
img_out_dir = os.path.join(tex_src_path, "img")
img_out_dir = os.path.abspath(os.path.join(tex_src_path, "img"))
filetype = ".pdf"
skipasserts = False
full = 8
size_half_half = (full/2, full/2)
size_third_half = (full/3, full/2)
size_half_third = (full/2, full/3)
def pt_2_inch(pt):
return 0.0138888889 * pt
def cm_2_inch(cm):
return 0.3937007874 * cm
# A4 - margins
width_line = cm_2_inch(21.0 - 2 * 2.0)
# width of a formula box, the prefactor has to match \eqwidth
width_formula = 0.69 * width_line
# arbitrary choice
height_default = width_line * 2 / 5
size_bigformula_fill_default = (width_line, height_default)
size_bigformula_half_quadratic = (width_line*0.5, width_line*0.5)
size_bigformula_small_quadratic = (width_line*0.33, width_line*0.33)
size_formula_fill_default = (width_formula, height_default)
size_formula_normal_default = (width_formula*0.8, height_default*0.8)
size_formula_half_quadratic = (width_formula*0.5, width_formula*0.5)
size_formula_small_quadratic = (width_formula*0.4, width_formula*0.4)
def assert_directory():
if not skipasserts:
@ -59,6 +76,34 @@ def export(fig, name, tight_layout=True):
fig.tight_layout()
fig.savefig(filename, bbox_inches="tight", pad_inches=0.0)
def export_atoms(atoms, name, size, rotation="-30y,20x", get_bonds=True):
"""Export a render of ase atoms object"""
assert_directory()
wd = os.getcwd()
from util.aseutil import get_bondatoms, get_pov_settings
from ase import io
tmp_dir = os.path.join(os.path.abspath(tex_aux_path), "scripts_aux")
os.makedirs(tmp_dir, exist_ok=True)
os.chdir(tmp_dir)
out_filename = f"{name}.png"
bondatoms = None
if get_bonds:
bondatoms = get_bondatoms(atoms)
renderer = io.write(f'{name}.pov', atoms,
rotation=rotation,# text string with rotation (default='' )
radii=0.4, # float, or a list with one float per atom
show_unit_cell=2, # 0, 1, or 2 to not show, show, and show all of cell
colors=None, # List: one (r, g, b, t) tuple per atom
povray_settings=get_pov_settings(size, COLORSCHEME, bondatoms),
)
renderer.render()
os.chdir(wd)
os.rename(os.path.join(tmp_dir, out_filename), os.path.join(img_out_dir, out_filename))
@np.vectorize
def smooth_step(x: float, left_edge: float, right_edge: float):
x = (x - left_edge) / (right_edge - left_edge)

View File

@ -39,7 +39,7 @@ def transmon_cpb(wavefunction=True):
ngs = np.linspace(-2, 2, 200)
nrows = 4 if wavefunction else 1
fig, axs = plt.subplots(nrows, 3, squeeze=False, figsize=(full,full/3))
fig, axs = plt.subplots(nrows, 3, squeeze=False, figsize=(width_line,height_default))
axs = axs.T
qubit.ng = 0
qubit.EJ = 0.1 * EC
@ -68,7 +68,7 @@ def transmon_cpb(wavefunction=True):
def flux_onium():
fig, axs = plt.subplots(1, 3, squeeze=True, figsize=(full,full/3))
fig, axs = plt.subplots(1, 3, squeeze=True, figsize=(width_line,height_default))
fluxs = np.linspace(0.4, 0.6, 50)
EJ = 35.0
alpha = 0.3
@ -97,7 +97,7 @@ def flux_onium():
# axs[0].set_xlim(0.4, 0.6)
fluxs = np.linspace(-1.1, 1.1, 101)
fluxonium = scq.Fluxonium(EJ=9, EC=3, EL=0.5, flux=1, cutoff=100)
fluxonium = scq.Fluxonium(EJ=9, EC=3, EL=0.5, flux=1, cutoff=30)
fluxonium.plot_evals_vs_paramvals("flux", fluxs, evals_count=5, subtract_ground=True, fig_ax=(fig, axs[2]))
axs[2].set_title("Fluxonium")
return fig

View File

@ -3,11 +3,19 @@ Put all scripts that generate plots or tex files here.
You can run all files at once using `make scripts`
## Plots
### `matplotlib`
For plots with `matplotlib`:
1. import `formulary.py`
2. use one of the preset figsizes
3. save the image using the `export` function in the `if __name__ == '__main__'` part
### `ase` - Atomic Simulation Environment
For plots with `ase`:
1. import `formulary.py` and `util.aseutil`
2. Use `util.aseutil.set_atom_color` to change the color of all used atoms to one in the colorscheme
3. export the render using the `export_atoms` function in the `if __name__ == '__main__'` part.
Pass one of the preset figsizes as size.
## Colorscheme
To ensure a uniform look of the tex source and the python plots,
the tex and matplotlib colorschemes are both handled in `formulary.py`.

View File

@ -3,4 +3,4 @@ scipy
matplotlib
scqubits
qutip
ase

View File

@ -5,7 +5,7 @@ def flennard_jones(r, epsilon, sigma):
return 4 * epsilon * ((sigma/r)**12 - (sigma/r)**6)
def lennard_jones():
fig, ax = plt.subplots(figsize=size_half_half)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
ax.grid()
ax.set_xlabel(r"$r$")
ax.set_ylabel(r"$V(r)$")
@ -29,7 +29,7 @@ def ffermi_dirac(x):
def id_qgas():
fig, ax = plt.subplots(figsize=size_half_half)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
ax.grid()
ax.set_xlabel(r"$\beta(\epsilon-\mu)$")
ax.set_ylabel(r"$\langle n(\epsilon)\rangle$")
@ -51,7 +51,7 @@ def fstep(x):
return 1 if x >= 0 else 0
def fermi_occupation():
fig, ax = plt.subplots(figsize=size_half_third)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
# ax.grid()
# ax.set_xlabel(r"$\beta(\epsilon-\mu)$")
ax.set_xticks([0])
@ -68,7 +68,7 @@ def fermi_occupation():
return fig
def fermi_heat_capacity():
fig, ax = plt.subplots(figsize=size_half_third)
fig, ax = plt.subplots(figsize=size_formula_normal_default)
# ax.grid()
# ax.set_xlabel(r"$\beta(\epsilon-\mu)$")
x = np.linspace(0, 4, 100)

47
scripts/util/aseutil.py Normal file
View File

@ -0,0 +1,47 @@
from util.colorschemes import hex_to_rgb_float
def set_atom_color(symbol, hexcolor):
from ase.data import atomic_numbers
from ase.data.colors import jmol_colors, cpk_colors
float_color = hex_to_rgb_float(hexcolor)
n = atomic_numbers[symbol]
jmol_colors[n] = float_color
cpk_colors[n] = float_color
from scipy.spatial.distance import pdist, squareform
import numpy as np
def get_bondatoms(atoms):
site_positions = [site.position for site in atoms]
pair_distances = squareform(pdist(np.stack(site_positions)))
vs = pair_distances
bondatoms = []
for i in range(vs.shape[0]):
for j in range(i):
if vs[i, j] < 3: # up to 3 angstrom distance show a bond TODO
bondatoms.append((i, j))
return bondatoms
# returns to many
# from ase.io.pov import get_bondpairs
# bondatoms=get_bondpairs(lat, 5)
TARGET_DPI = 300
# doc: https://github.com/WMD-group/ASE-Tutorials/blob/master/povray-tools/ase_povray.py
def get_pov_settings(size, COLORSCHEME, bondatoms=None):
white = hex_to_rgb_float(COLORSCHEME["bg0"])
other = hex_to_rgb_float(COLORSCHEME["fg-yellow"])
pixels = TARGET_DPI * size[0]
pov_settings=dict(
transparent=True,
display=False,
# camera_type='orthographic',
camera_type='perspective',
canvas_width=pixels,
# point_lights : [], #[(18,20,40), 'White'],[(60,20,40),'White'], # [[loc1, color1], [loc2, color2],...]
point_lights=[[(18,20,40), white],[(60,20,40),other]], # [[loc1, color1], [loc2, color2],...]
background=(0, 0, 0, 1.,),
bondlinewidth=0.07,
bondatoms=bondatoms
)
return pov_settings

View File

@ -9,6 +9,26 @@ from math import floor
colors = ["red", "orange", "yellow", "green", "aqua", "blue", "purple", "gray"]
def duplicate_letters(color: str):
return ''.join([c+c for c in color])
def hex_to_rgb_int(color: str) -> list[int]:
color = color.strip("#")
ctuple = []
# turn RGBA to RRGGBBAA
if len(color) == 3 or len(color) == 4:
color = duplicate_letters(color)
for i in range(len(color)//2):
ctuple.append(int(color[i*2:i*2+2], 16))
return ctuple
def hex_to_rgb_float(color: str) -> list[float]:
clist = hex_to_rgb_int(color)
fclist = [float(c) / 255 for c in clist]
return fclist
def brightness(color:str, percent:float):
if color.startswith("#"):
color = color.strip("#")

View File

@ -5,12 +5,13 @@ $out_dir = '../out';
# Set lualatex as the default engine
$pdf_mode = 1; # Enable PDF generation mode
# $pdflatex = 'lualatex --interaction=nonstopmode --shell-escape'
$lualatex = 'lualatex %O --interaction=nonstopmode --shell-escape %S'
$lualatex = 'lualatex %O --interaction=nonstopmode --shell-escape %S';
# Additional options for compilation
# '-verbose',
# '-file-line-error',
ensure_path('TEXINPUTS', './pkg');
# Quickfix-like filtering (warnings to ignore)
# @warnings_to_filter = (
# qr/Underfull \\hbox/,

View File

@ -3,7 +3,7 @@
\ger{Elektrochemie}
]{el}
\begin{formula}{chemical_potential}
\desc{Chemical potential}{of species $i$\\Energy involved when the particle number changes}{\QtyRef{gibbs_free_energy}, \QtyRef{amount}}
\desc{Chemical potential}{of species $i$\\Energy involved when the particle number changes}{\QtyRef{free_enthalpy}, \QtyRef{amount}}
\desc[german]{Chemisches Potential}{der Spezies $i$\\Involvierte Energie, wenn sich die Teilchenzahl ändert}{}
\quantity{\mu}{\joule\per\mol;\joule}{is}
\eq{
@ -24,7 +24,7 @@
\end{formula}
\begin{formula}{activity}
\desc{Activity}{relative activity}{\QtyRef{chemical_potential}, \QtyRef{standard_chemical_potential}, \ConstRef{universal_gas}, \QtyRef{temperature}}
\desc{Activity}{relative activity}{\QtyRef{chemical_potential}, \fRef{::standard_chemical_potential}, \ConstRef{universal_gas}, \QtyRef{temperature}}
\desc[german]{Aktivität}{Relative Aktivität}{}
\quantity{a}{}{s}
\eq{a_i = \Exp{\frac{\mu_i-\mu_i^\theta}{RT}}}
@ -140,20 +140,20 @@
\end{formula}
\begin{formula}{standard_cell_potential}
\desc{Standard cell potential}{}{$\Delta_\txR G^\theta$ standard \qtyRef{gibbs_free_energy} of reaction, $n$ number of electrons, \ConstRef{faraday}}
\desc[german]{Standard Zellpotential}{}{$\Delta_\txR G^\theta$ Standard \qtyRef{gibbs_free_energy} der Reaktion, $n$ Anzahl der Elektronen, \ConstRef{faraday}}
\desc{Standard cell potential}{}{$\Delta_\txR G^\theta$ standard \qtyRef{free_enthalpy} of reaction, $n$ number of electrons, \ConstRef{faraday}}
\desc[german]{Standard Zellpotential}{}{$\Delta_\txR G^\theta$ Standard \qtyRef{free_enthalpy} der Reaktion, $n$ Anzahl der Elektronen, \ConstRef{faraday}}
\eq{E^\theta_\text{rev} = \frac{-\Delta_\txR G^\theta}{nF}}
\end{formula}
\begin{formula}{nernst_equation}
\desc{Nernst equation}{Electrode potential for a half-cell reaction}{\QtyRef{electrode_potential}, $E^\theta$ \secEqRef{standard_cell_potential}, \ConstRef{universal_gas}, \ConstRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \QtyRef{activity}, \QtyRef{stoichiometric_coefficient}}
\desc{Nernst equation}{Electrode potential for a half-cell reaction}{\QtyRef{electrode_potential}, $E^\theta$ \fRef{::standard_cell_potential}, \ConstRef{universal_gas}, \QtyRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \QtyRef{activity}, \QtyRef{stoichiometric_coefficient}}
\desc[german]{Nernst-Gleichung}{Elektrodenpotential für eine Halbzellenreaktion}{}
\eq{E = E^\theta + \frac{RT}{zF} \Ln{\frac{ \left(\prod_{i}(a_i)^{\abs{\nu_i}}\right)_\text{oxidized}}{\left(\prod_{i}(a_i)^{\abs{\nu_i}}\right)_\text{reduced}}}}
\end{formula}
\begin{formula}{cell_efficiency}
\desc{Thermodynamic cell efficiency}{}{$P$ \fqEqRef{ed:el:power}}
\desc{Thermodynamic cell efficiency}{}{$P$ \fRef{ed:el:power}}
\desc[german]{Thermodynamische Zelleffizienz}{}{}
\eq{
\eta_\text{cell} &= \frac{P_\text{obtained}}{P_\text{maximum}} = \frac{E_\text{cell}}{E_\text{cell,rev}} & & \text{\gt{galvanic}} \\
@ -172,7 +172,7 @@
\ger[of_i]{des Ions $i$}
\begin{formula}{diffusion}
\desc{Diffusion}{caused by concentration gradients}{$z_i$ \qtyRef{charge_number} \gt{of_i}, \ConstRef{faraday}, \QtyRef{diffusion_constant} \gt{of_i}, \QtyRef{concentration} \gt{of_i}}
\desc{Diffusion}{caused by concentration gradients}{$z_i$ \qtyRef{charge_number} \gt{of_i}, \ConstRef{faraday}, \QtyRef{diffusion_coefficient} \gt{of_i}, \QtyRef{concentration} \gt{of_i}}
\desc[german]{Diffusion}{durch Konzentrationsgradienten}{}
\eq{ i_\text{diff} = \sum_i -z_i F D_i \left(\odv{c_i}{x}\right) }
\end{formula}
@ -312,8 +312,8 @@
\ger{Massentransport}
]{mass}
\begin{formula}{concentration_overpotential}
\desc{Concentration overpotential}{Due to concentration gradient near the electrode, the ions need to \hyperref[f:ch:el:ion_cond:diffusion]{diffuse} to the electrode before reacting}{\ConstRef{universal_gas}, \QtyRef{temperature}, $\c_{0/\txS}$ ion concentration in the electrolyte / at the double layer, $z$ \qtyRef{charge_number}, \ConstRef{faraday}}
\desc[german]{Konzentrationsüberspannung}{Durch einen Konzentrationsgradienten an der Elektrode müssen Ionen erst zur Elektrode \hyperref[f:ch:el:ion_cond:diffusion]{diffundieren}, bevor sie reagieren können}{}
\desc{Concentration overpotential}{Due to concentration gradient near the electrode, the ions need to \fRef[diffuse]{ch:el:ion_cond:diffusion} to the electrode before reacting}{\ConstRef{universal_gas}, \QtyRef{temperature}, $\c_{0/\txS}$ ion concentration in the electrolyte / at the double layer, $z$ \qtyRef{charge_number}, \ConstRef{faraday}}
\desc[german]{Konzentrationsüberspannung}{Durch einen Konzentrationsgradienten an der Elektrode müssen Ionen erst zur Elektrode \fRef[diffundieren]{ch:el:ion_cond:diffusion}, bevor sie reagieren können}{}
\eq{
\eta_\text{conc,anodic} &= -\frac{RT}{\alpha \,zF} \ln \left(\frac{c_\text{red}^0}{c_\text{red}^\txS}\right) \\
\eta_\text{conc,cathodic} &= -\frac{RT}{(1-\alpha) zF} \ln \left(\frac{c_\text{ox}^0}{c_\text{ox}^\txS}\right)
@ -321,7 +321,7 @@
\end{formula}
\begin{formula}{diffusion_overpotential}
\desc{Diffusion overpotential}{Due to mass transport limitations}{$j_\infty$ \secEqRef{limiting_current}, $j_\text{meas}$ measured \qtyRef{current_density}, \ConstRef{universal_gas}, \QtyRef{temperature}, $n$ \qtyRef{charge_number}, \ConstRef{faraday}}
\desc{Diffusion overpotential}{Due to mass transport limitations}{$j_\infty$ \fRef{::limiting_current}, $j_\text{meas}$ measured \qtyRef{current_density}, \ConstRef{universal_gas}, \QtyRef{temperature}, $n$ \qtyRef{charge_number}, \ConstRef{faraday}}
\desc[german]{Diffusionsüberspannung}{Durch Limit des Massentransports}{}
% \eq{\eta_\text{diff} = \frac{RT}{nF} \ln \left( \frac{\cfrac{c^\txs_\text{ox}}{c^0_\text{ox}}}{\cfrac{c^\txs_\text{red}}{c^0_\text{red}}} \right)}
\eq{\eta_\text{diff} = \frac{RT}{nF} \Ln{\frac{j_\infty}{j_\infty - j_\text{meas}}}}
@ -424,7 +424,7 @@
\end{formula}
\begin{formula}{limiting_current}
\desc{(Limiting) current density}{}{$n$ \QtyRef{charge_number}, \ConstRef{faraday}, $c^0$ \GT{c_bulk}, $D$ \qtyRef{diffusion_coefficient}, $\delta_\text{diff}$ \secEqRef{diffusion_layer_thickness}}
\desc{(Limiting) current density}{}{$n$ \QtyRef{charge_number}, \ConstRef{faraday}, $c^0$ \GT{c_bulk}, $D$ \qtyRef{diffusion_coefficient}, $\delta_\text{diff}$ \fRef{::diffusion_layer_thickness}}
% \desc[german]{Limitierender Strom}{}{}
\eq{
\abs{j} &= nFD \frac{c^0-c^\txS}{\delta_\text{diff}}
@ -434,14 +434,14 @@
\end{formula}
\begin{formula}{relation?}
\desc{Current - concentration relation}{}{$c^0$ \GT{c_bulk}, $c^\txS$ \GT{c_surface}, $j$ \secEqRef{limiting_current}}
\desc{Current - concentration relation}{}{$c^0$ \GT{c_bulk}, $c^\txS$ \GT{c_surface}, $j$ \fRef{::limiting_current}}
\desc[german]{Strom - Konzentrationsbeziehung}{}{}
\eq{\frac{j}{j_\infty} = 1 - \frac{c^\txS}{c^0}}
\end{formula}
\begin{formula}{kinetic_current}
\desc{Kinetic current density}{}{$j_\text{meas}$ measured \qtyRef{current_density}, $j_\infty$ \secEqRef{limiting_current}}
\desc[german]{Kinetische Stromdichte}{}{$j_\text{meas}$ gemessene \qtyRef{current_density}, $j_\infty$ \secEqRef{limiting_current}}
\desc{Kinetic current density}{}{$j_\text{meas}$ measured \qtyRef{current_density}, $j_\infty$ \fRef{::limiting_current}}
\desc[german]{Kinetische Stromdichte}{}{$j_\text{meas}$ gemessene \qtyRef{current_density}, $j_\infty$ \fRef{::limiting_current}}
\eq{j_\text{kin} = \frac{j_\text{meas} j_\infty}{j_\infty - j_\text{meas}}}
\end{formula}
@ -452,10 +452,10 @@
\begin{formula}{butler_volmer}
\desc{Butler-Volmer equation}{Reaction kinetics near the equilibrium potentential}
{$j$ \qtyRef{current_density}, $j_0$ exchange current density, $\eta$ \fqEqRef{ch:el:kin:overpotential}, \QtyRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \ConstRef{universal_gas}, $\alpha_{\txC/\txA}$ cathodic/anodic charge transfer coefficient, $\text{rf}$ \secEqRef{roughness_factor}}
{$j$ \qtyRef{current_density}, $j_0$ exchange current density, $\eta$ \fRef{ch:el:kin:overpotential}, \QtyRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \ConstRef{universal_gas}, $\alpha_{\txC/\txA}$ cathodic/anodic charge transfer coefficient, $\text{rf}$ \fRef{::roughness_factor}}
%Current through an electrode iof a unimolecular redox reaction with both anodic and cathodic reaction occuring on the same electrode
\desc[german]{Butler-Volmer-Gleichung}{Reaktionskinetik in der Nähe des Gleichgewichtspotentials}
{$j$ \qtyRef{current_density}, $j_0$ Austauschstromdichte, $\eta$ \fqEqRef{ch:el:kin:overpotential}, \QtyRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \ConstRef{universal_gas}, $\alpha_{\txC/\txA}$ Ladungstransferkoeffizient an der Kathode/Anode, $\text{rf}$ \secEqRef{roughness_factor}}
{$j$ \qtyRef{current_density}, $j_0$ Austauschstromdichte, $\eta$ \fRef{ch:el:kin:overpotential}, \QtyRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \ConstRef{universal_gas}, $\alpha_{\txC/\txA}$ Ladungstransferkoeffizient an der Kathode/Anode, $\text{rf}$ \fRef{::roughness_factor}}
\begin{gather}
j = j_0 \,\rfactor\, \left[ \Exp{\frac{(1-a_\txC) z F \eta}{RT}} - \Exp{-\frac{\alpha_\txC z F \eta}{RT}}\right]
\intertext{\GT{with}}
@ -512,7 +512,7 @@
\end{formula}
\begin{formula}{rhe}
\desc{Reversible hydrogen electrode (RHE)}{RHE Potential does not change with the pH value}{$E^0\equiv \SI{0}{\volt}$, \QtyRef{activity}, \QtyRef{pressure}, \GT{see} \fqEqRef{ch:el:cell:nernst_equation}}
\desc{Reversible hydrogen electrode (RHE)}{RHE Potential does not change with the pH value}{$E^0\equiv \SI{0}{\volt}$, \QtyRef{activity}, \QtyRef{pressure}, \GT{see} \fRef{ch:el:cell:nernst_equation}}
\desc[german]{Reversible Wasserstoffelektrode (RHE)}{Potential ändert sich nicht mit dem pH-Wert}{}
\eq{
E_\text{RHE} &= E^0 + \frac{RT}{F} \Ln{\frac{a_{\ce{H^+}}}{p_{\ce{H2}}}}
@ -604,14 +604,18 @@
\begin{hiddenformula}{scan_rate}
\desc{Scan rate}{}{}
\desc[german]{Scanrate}{}{}
\quantity{v}{\volt\per\s}{s}
\hiddenQuantity{v}{\volt\per\s}{s}
\end{hiddenformula}
\begin{formula}{upd}
\desc{Underpotential deposition (UPD)}{}{}
\desc[german]{}{}{}
\ttxt{Reversible deposition of metal onto a foreign metal electrode at potentials positive of the Nernst potential \TODO{clarify}}
% \desc[german]{}{}{}
\ttxt{\eng{
Reversible deposition of metal onto a foreign metal electrode at potentials positive of the Nernst potential.
}\ger{
Reversible Ablagerung von Metall auf eine Elektrode aus einem anderen Metall bei positiveren Potentialen als das Nernst-Potential.
}}
\end{formula}
\Subsubsection[
@ -632,13 +636,13 @@
\end{formula}
\begin{formula}{diffusion_layer_thickness}
\desc{Diffusion layer thickness}{\TODO{Where does 1.61 come from}}{$D$ \qtyRef{diffusion_coefficient}, $\nu$ \qtyRef{kinematic_viscosity}, \QtyRef{angular_frequency}}
\desc{Diffusion layer thickness}{}{$D$ \qtyRef{diffusion_coefficient}, $\nu$ \qtyRef{kinematic_viscosity}, \QtyRef{angular_frequency}}
\desc[german]{Diffusionsschichtdicke}{}{}
\eq{\delta_\text{diff}= 1.61 D{^\frac{1}{3}} \nu^{\frac{1}{6}} \omega^{-\frac{1}{2}}}
\end{formula}
\begin{formula}{limiting_current}
\desc{Limiting current density}{for a \abbrRef{rde}}{$n$ \QtyRef{charge_number}, \ConstRef{faraday}, $c^0$ \GT{c_bulk}, $D$ \qtyRef{diffusion_coefficient}, $\delta_\text{diff}$ \secEqRef{diffusion_layer_thickness}, $\nu$ \qtyRef{kinematic_viscosity}, \QtyRef{angular_frequency}}
\desc{Limiting current density}{for a \abbrRef{rde}}{$n$ \QtyRef{charge_number}, \ConstRef{faraday}, $c^0$ \GT{c_bulk}, $D$ \qtyRef{diffusion_coefficient}, $\delta_\text{diff}$ \fRef{::diffusion_layer_thickness}, $\nu$ \qtyRef{kinematic_viscosity}, \QtyRef{angular_frequency}}
% \desc[german]{Limitierender Strom}{}{}
\eq{j_\infty = nFD \frac{c^0}{\delta_\text{diff}} = \frac{1}{1.61} nFD^{\frac{2}{3}} v^{\frac{-1}{6}} c^0 \sqrt{\omega}}
\end{formula}

View File

@ -6,21 +6,24 @@
\eng{Drude model}
\ger{Drude-Modell}
]{drude}
\begin{ttext}
\eng{Classical model describing the transport properties of electrons in materials (metals):
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
Classical model describing the transport properties of electrons in materials (metals):
The material is assumed to be an ion lattice and with freely moving electrons (electron gas). The electrons are
accelerated by an electric field and decelerated through collisions with the lattice ions.
The model disregards the Fermi-Dirac partition of the conducting electrons.
}
\ger{Ein klassisches Model zur Beschreibung der Transporteigenschaften von Elektronen in (v.a.) Metallen:
}\ger{
Ein klassisches Model zur Beschreibung der Transporteigenschaften von Elektronen in (v.a.) Metallen:
Der Festkörper wird als Ionenkristall mit frei beweglichen Elektronen (Elektronengas).
Die Elektronen werden durch ein Elektrisches Feld $E$ beschleunigt und durch Stöße mit den Gitterionen gebremst.
Das Modell vernachlässigt die Fermi-Dirac Verteilung der Leitungselektronen.
}
\end{ttext}
\begin{formula}{motion}
\desc{Equation of motion}{}{$v$ electron speed, $\vec{v}_\text{D}$ drift velocity, $\tau$ mean free time between collisions}
\desc[german]{Bewegungsgleichung}{}{$v$ Elektronengeschwindigkeit, $\vec{v}_\text{D}$ Driftgeschwindigkeit, $\tau$ Stoßzeit}
}}
\end{formula}
\begin{formula}{eom}
\desc{Equation of motion}{}{$v$ electron speed, $\vec{v}_\text{D}$ drift velocity, \QtyRef{scattering_time}}
\desc[german]{Bewegungsgleichung}{}{$v$ Elektronengeschwindigkeit, $\vec{v}_\text{D}$ Driftgeschwindigkeit, \QtyRef{scattering_time}}
\eq{\masse \odv{\vec{v}}{t} + \frac{\masse}{\tau} \vec{v}_\text{D} = -e \vec{\E}}
\end{formula}
\begin{formula}{scattering_time}
@ -28,46 +31,51 @@
\desc[german]{Streuzeit}{}{}
\quantity{\tau}{\s}{s}
\ttxt{
\eng{$\tau$\\ the average time between scattering events weighted by the characteristic momentum change cause by the scattering process.}
\eng{The average time between scattering events weighted by the characteristic momentum change cause by the scattering process.}
}
\end{formula}
\begin{formula}{current_density}
\desc{Current density}{Ohm's law}{$n$ charge particle density}
\desc[german]{Stromdichte}{Ohmsches Gesetz}{$n$ Ladungsträgerdichte}
\desc{Current density}{Ohm's law}{\QtyRef{charge_carrier_density}, \ConstRef{charge}, \QtyRef{drift_velocity}, \QtyRef{mobility}, \QtyRef{electric_field}}
\desc[german]{Stromdichte}{Ohmsches Gesetz}{}
\quantity{\vec{j}}{\ampere\per\m^2}{v}
\eq{\vec{j} = -ne\vec{v}_\text{D} = ne\mu \vec{\E}}
\end{formula}
\begin{formula}{conductivity}
\desc{Drude-conductivity}{}{}
\desc[german]{Drude-Leitfähigkeit}{}{}
\eq{\sigma = \frac{\vec{j}}{\vec{\E}} = \frac{e^2 \tau n}{\masse} = n e \mu}
\desc{Electrical conductivity}{Both from Drude model and Sommerfeld model}{\QtyRef{current_density}, \QtyRef{electric_field}, \QtyRef{charge_carrier_density}, \ConstRef{charge}, \QtyRef{scattering_time}, \ConstRef{electron_mass}, \QtyRef{mobility}}
\desc[german]{Elektrische Leitfähigkeit}{Aus dem Drude-Modell und dem Sommerfeld-Modell}{}
\quantity{\sigma}{\siemens\per\m=\per\ohm\m=\ampere^2\s^3\per\kg\m^3}{t}
\eq{\sigma = \frac{\vec{j}}{\vec{\E}} = \frac{n e^2 \tau}{\masse} = n e \mu}
\end{formula}
\Subsection[
\eng{Sommerfeld model}
\ger{Sommerfeld-Modell}
]{sommerfeld}
\begin{ttext}
\eng{Assumes a gas of free fermions underlying the pauli-exclusion principle. Only electrons in an energy range of $\kB T$ around the Fermi energy $\EFermi$ participate in scattering processes.}
\ger{Annahme eines freien Fermionengases, welches dem Pauli-Prinzip unterliegt. Nur Elektronen in einem Energiebereich von $\kB T$ um die Fermi Energe $\EFermi$ nehmen an Streuprozessen teil.}
\end{ttext}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{
\eng{Assumes a gas of free fermions underlying the pauli-exclusion principle. Only electrons in an energy range of $\kB T$ around the Fermi energy $\EFermi$ participate in scattering processes. The \qtyRef{conductivity} is the same as in \fRef{::::drude}}
\ger{Annahme eines freien Fermionengases, welches dem Pauli-Prinzip unterliegt. Nur Elektronen in einem Energiebereich von $\kB T$ um die Fermi Energe $\EFermi$ nehmen an Streuprozessen teil. Die \qtyRef{conductivity} ist die selbe wie im \fRef{::::drude}}
}
\end{formula}
\begin{formula}{current_density}
\desc{Electrical current density}{}{}
\desc[german]{Elektrische Stromdichte}{}{}
\eq{\vec{j} = -en\braket{v} = -e n \frac{\hbar}{\masse}\braket{\vec{k}} = -e \frac{1}{V} \sum_{\vec{k},\sigma} \frac{\hbar \vec{k}}{\masse}}
\end{formula}
\TODO{The formula for the conductivity is the same as in the drude model?}
\Subsection[
\eng{Boltzmann-transport}
\ger{Boltzmann-Transport}
]{boltzmann}
\begin{ttext}
\eng{Semiclassical description using a probability distribution (\fqEqRef{stat:todo:fermi_dirac}) to describe the particles.}
\ger{Semiklassische Beschreibung, benutzt eine Wahrscheinlichkeitsverteilung (\fqEqRef{stat:todo:fermi_dirac}).}
\eng{Semiclassical description using a probability distribution (\fRef{stat:todo:fermi_dirac}) to describe the particles.}
\ger{Semiklassische Beschreibung, benutzt eine Wahrscheinlichkeitsverteilung (\fRef{stat:todo:fermi_dirac}).}
\end{ttext}
\begin{formula}{boltzmann_transport}
\desc{Boltzmann Transport equation}{for charge transport}{$f$ \ref{stat:todo:fermi-dirac}}
\desc{Boltzmann Transport equation}{for charge transport}{$f$ \fRef{stat:todo:fermi-dirac}}
\desc[german]{Boltzmann-Transportgleichung}{für Ladungstransport}{}
\eq{
\pdv{f(\vec{r},\vec{k},t)}{t} = -\vec{v} \cdot \Grad_{\vec{r}} f - \frac{e}{\hbar}(\vec{\mathcal{E}} + \vec{v} \times \vec{B}) \cdot \Grad_{\vec{k}} f + \left(\pdv{f(\vec{r},\vec{k},t)}{t}\right)_{\text{\GT{scatter}}}
@ -79,8 +87,8 @@
\ger{misc}
]{misc}
\begin{formula}{tsu_esaki}
\desc{Tsu-Esaki tunneling current}{Describes the current $I_{\txL \leftrightarrow \txR}$ through a barrier}{$\mu_i$ \qtyRef{chemical_pot} at left/right side, $U_i$ voltage on left/right side. Electrons occupy region between $U_i$ and $\mu_i$}
\desc[german]{Tsu-Esaki Tunnelstrom}{Beschreibt den Strom $I_{\txL \leftrightarrow \txR}$ durch eine Barriere }{$\mu_i$ \qtyRef{chemical_pot} links/rechts, $U_i$ Spannung links/rechts. Elektronen besetzen Bereich zwischen $U_i$ und $\mu_i$}
\desc{Tsu-Esaki tunneling current}{Describes the current $I_{\txL \leftrightarrow \txR}$ through a barrier}{$\mu_i$ \qtyRef{chemical_potential} at left/right side, $U_i$ voltage on left/right side. Electrons occupy region between $U_i$ and $\mu_i$}
\desc[german]{Tsu-Esaki Tunnelstrom}{Beschreibt den Strom $I_{\txL \leftrightarrow \txR}$ durch eine Barriere }{$\mu_i$ \qtyRef{chemical_potential} links/rechts, $U_i$ Spannung links/rechts. Elektronen besetzen Bereich zwischen $U_i$ und $\mu_i$}
\eq{
I_\text{T} = \frac{2e}{h} \int_{U_\txL}^\infty \left(f(E, \mu_\txL) -f(E, \mu_\txR)\right) T(E) \d E
}

View File

@ -2,17 +2,17 @@
\eng{Condensed matter physics}
\ger{Festkörperphysik}
]{cm}
\TODO{Bonds, hybridized orbitals}
\TODO{Lattice vibrations, van hove singularities, debye frequency}
\TODO{van hove singularities, debye frequency}
\begin{formula}{dos}
\desc{Density of states (DOS)}{}{\QtyRef{volume}, $N$ number of energy levels, \QtyRef{energy}}
\desc[german]{Zustandsdichte (DOS)}{}{\QtyRef{volume}, $N$ Anzahl der Energieniveaus, \QtyRef{energy}}
\quantity{D}{\per\m^3}{s}
\eq{D(E) = \frac{1}{V}\sum_{i=1}^{N} \delta(E-E(\vec{k_i}))}
\end{formula}
\begin{formula}{dos_parabolic}
\desc{Density of states for parabolic dispersion}{Applies to \fqSecRef{cm:egas}}{}
\desc[german]{Zustandsdichte für parabolische Dispersion}{Bei \fqSecRef{cm:egas}}{}
\desc{Density of states for parabolic dispersion}{Applies to \fRef{cm:egas}}{}
\desc[german]{Zustandsdichte für parabolische Dispersion}{Bei \fRef{cm:egas}}{}
\eq{
D_1(E) &= \frac{1}{2\sqrt{c_k(E-E_0)}} && (\text{1D}) \\
D_2(E) &= \frac{\pi}{2c_k} && (\text{2D}) \\
@ -20,53 +20,3 @@
}
\end{formula}
\Section[
\eng{Lattice vibrations}
\ger{Gitterschwingungen}
]{vib}
\begin{formula}{dispersion_1atom_basis}
\desc{Phonon dispersion of a lattice with a one-atom basis}{same as the dispersion of a linear chain}{$C_n$ force constants between layer $s$ and $s+n$, $M$ \qtyRef{mass} of the reference atom, $a$ \qtyRef{lattice_constant}, $q$ phonon \qtyRef{wavevector}, $u$ Ansatz for the atom displacement}
\desc[german]{Phonondispersion eines Gitters mit zweiatomiger Basis}{gleich der Dispersion einer linearen Kette}{$C_n$ Kraftkonstanten zwischen Ebene $s$ und $s+n$, $M$ \qtyRef{mass} des Referenzatoms, $a$ \qtyRef{lattice_constant}, $q$ Phonon \qtyRef{wavevector}, $u$ Ansatz für die Atomauslenkung}
\begin{gather}
\omega^2 = \frac{4C_1}{M}\left[\sin^2 \left(\frac{qa}{2}\right) + \frac{C2}{C1} \sin^2(qa)\right] \\
\intertext{\GT{with}}
u_{s+n} = U\e^{-i \left[\omega t - q(s+n)a \right]}
\end{gather}
\fig{img/cm_phonon_dispersion_one_atom_basis.pdf}
\end{formula}
\TODO{Plots}
\begin{formula}{dispersion_2atom_basis}
\desc{Phonon dispersion of a lattice with a two-atom basis}{}{$C$ force constant between layers, $M_i$ \qtyRef{mass} of the basis atoms, $a$ \qtyRef{lattice_constant}, $q$ phonon \qtyRef{wavevector}, $u, v$ Ansatz for the displacement of basis atom 1 and 2, respectively}
\desc[german]{Phonondispersion eines Gitters mit einatomiger Basis}{}{$C$ Kraftkonstanten zwischen Ebene $s$ und $s+n$, $M_i$ \qtyRef{mass} der Basisatome, $a$ \qtyRef{lattice_constant}, $q$ Phonon \qtyRef{wavevector}, $u, v$ jeweils Ansatz für die Atomauslenkung des Basisatoms 1 und 2}
\begin{gather}
\omega^2_{\txa,\txo} = C \left(\frac{1}{M_1}+\frac{1}{M_2}\right) \mp C \sqrt{\left(\frac{1}{M_1}+\frac{1}{M_2}\right)^2 - \frac{4}{M_1M_2} \sin^2 \left(\frac{qa}{2}\right)}
\intertext{\GT{with}}
u_{s} = U\e^{-i \left(\omega t - qsa \right)}, \quad
v_{s} = V\e^{-i \left(\omega t - qsa \right)}
\end{gather}
\fig{img/cm_phonon_dispersion_two_atom_basis.pdf}
\end{formula}
\begin{formula}{branches}
\desc{Vibration branches}{}{}
\desc[german]{Vibrationsmoden}{}{}
\ttxt{\eng{
\textbf{Acoustic}: 3 modes (1 longitudinal, 2 transversal), the two basis atoms oscillate in phase.
\\\textbf{Optical}: 3 modes, the two basis atoms oscillate in opposition. A dipole moment is created that can couple to photons.
}\ger{
\textbf{Akustisch}: 3 Moden (1 longitudinal, 2 transversal), die zwei Basisatome schwingen in Phase.
\\ \textbf{Optisch}: 3 Moden, die zwei Basisatome schwingen gegenphasig. Das dadurch entstehende Dipolmoment erlaubt die Wechselwirkung mit Photonen.
}}
\end{formula}
\Subsection[
\eng{Debye model}
\ger{Debye-Modell}
]{debye}
\begin{ttext}
\eng{Atoms behave like coupled \hyperref[sec:qm:hosc]{quantum harmonic oscillators}. The finite sample size leads to periodic boundary conditio. The finite sample size leads to periodic boundary conditions for the vibrations.}
\ger{Atome verhalten sich wie gekoppelte \hyperref[sec:qm:hosc]{quantenmechanische harmonische Oszillatoren}. Die endliche Ausdehnung des Körpers führt zu periodischen Randbedingungen. }
\end{ttext}

View File

@ -17,7 +17,7 @@
\eng[bravais_lattices]{Bravais lattices}
\ger[bravais_lattices]{Bravais Gitter}
\newcommand\bvimg[1]{\begin{center}\includegraphics[width=0.1\textwidth]{img/bravais/#1.pdf}\end{center}}
\newcommand\bvimg[1]{\begin{center}\includegraphics[width=0.1\textwidth]{img_static/bravais/#1.pdf}\end{center}}
\renewcommand\tabularxcolumn[1]{m{#1}}
\newcolumntype{Z}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}X}
@ -71,7 +71,12 @@
\eq{\vec{R} = n_1 \vec{a_1} + n_2 \vec{a_2} + n_3 \vec{a_3}}
\end{formula}
\TODO{primitive unit cell: contains one lattice point}\\
\begin{formula}{primitive_unit_cell}
\desc{Primitve unit cell}{}{}
\desc[german]{Primitive Einheitszelle}{}{}
\ttxt{\eng{Unit cell containing exactly one lattice point}\ger{Einheitszelle die genau einen Gitterpunkt enthält}}
\end{formula}
\begin{formula}{miller}
\desc{Miller index}{}{Miller family: planes that are equivalent due to crystal symmetry}
\desc[german]{Millersche Indizes}{}{}
@ -116,8 +121,8 @@
\desc{Matthiessen's rule}{Approximation, only holds if the processes are independent of each other}{\QtyRef{mobility}, \QtyRef{scattering_time}}
\desc[german]{Matthiessensche Regel}{Näherung, nur gültig wenn die einzelnen Streuprozesse von einander unabhängig sind}{}
\eq{
\frac{1}{\mu} &= \sum_{i = \textrm{\GT{\fqname}}} \frac{1}{\mu_i} \\
\frac{1}{\tau} &= \sum_{i = \textrm{\GT{\fqname}}} \frac{1}{\tau_i}
\frac{1}{\mu} &= \sum_{i = \textrm{\GT{:::scatter}}} \frac{1}{\mu_i} \\
\frac{1}{\tau} &= \sum_{i = \textrm{\GT{:::scatter}}} \frac{1}{\tau_i}
}
\end{formula}
@ -135,8 +140,8 @@
}
\end{formula}
\begin{formula}{bcc}
\desc{Body centered cubic (BCC)}{Reciprocal: \fqEqRef{cm:bravais:fcc}}{\QtyRef{lattice_constant}}
\desc[german]{Kubisch raumzentriert (BCC)}{Reziprok: \fqEqRef{cm:bravais:fcc}}{}
\desc{Body centered cubic (BCC)}{Reciprocal: \fRef{::fcc}}{\QtyRef{lattice_constant}}
\desc[german]{Kubisch raumzentriert (BCC)}{Reziprok: \fRef{::fcc}}{}
\eq{
\vec{a}_{1}=\frac{a}{2} \begin{pmatrix} -1\\1\\1 \end{pmatrix},\,
\vec{a}_{2}=\frac{a}{2} \begin{pmatrix} 1\\-1\\1 \end{pmatrix},\,
@ -145,8 +150,8 @@
\end{formula}
\begin{formula}{fcc}
\desc{Face centered cubic (FCC)}{Reciprocal: \fqEqRef{cm:bravais:bcc}}{\QtyRef{lattice_constant}}
\desc[german]{Kubisch flächenzentriert (FCC)}{Reziprok: \fqEqRef{cm:bravais:bcc}}{}
\desc{Face centered cubic (FCC)}{Reciprocal: \fRef{::bcc}}{\QtyRef{lattice_constant}}
\desc[german]{Kubisch flächenzentriert (FCC)}{Reziprok: \fRef{::bcc}}{}
\eq{
\vec{a}_{1}=\frac{a}{2} \begin{pmatrix} 0\\1\\1 \end{pmatrix},\,
\vec{a}_{2}=\frac{a}{2} \begin{pmatrix} 1\\0\\1 \end{pmatrix},\,
@ -158,25 +163,41 @@
\desc{Diamond lattice}{}{}
\desc[german]{Diamantstruktur}{}{}
\ttxt{
\eng{\fqEqRef{cm:bravais:fcc} with basis $\begin{pmatrix} 0 & 0 & 0 \end{pmatrix}$ and $\begin{pmatrix} \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \end{pmatrix}$}
\ger{\fqEqRef{cm:bravais:fcc} mit Basis $\begin{pmatrix} 0 & 0 & 0 \end{pmatrix}$ und $\begin{pmatrix} \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \end{pmatrix}$}
\eng{\fRef{:::fcc} with basis $\begin{pmatrix} 0 & 0 & 0 \end{pmatrix}$ and $\begin{pmatrix} \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \end{pmatrix}$}
\ger{\fRef{:::fcc} mit Basis $\begin{pmatrix} 0 & 0 & 0 \end{pmatrix}$ und $\begin{pmatrix} \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \end{pmatrix}$}
}
\end{formula}
\begin{formula}{zincblende}
\desc{Zincblende lattice}{}{}
\desc[german]{Zinkblende-Struktur}{}{}
\ttxt{
\includegraphics[width=0.5\textwidth]{img/cm_zincblende.png}
\eng{Like \fqEqRef{cm:bravais:diamond} but with different species on each basis}
\ger{Wie \fqEqRef{cm:bravais:diamond} aber mit unterschiedlichen Spezies auf den Basen}
\fsplit{
\centering
\includegraphics[width=0.9\textwidth]{img/cm_crystal_zincblende.png}
}{
\ttxt{
\eng{Like \fRef{:::diamond} but with different species on each basis}
\ger{Wie \fRef{:::diamond} aber mit unterschiedlichen Spezies auf den Basen}
}
}
\end{formula}
\begin{formula}{rocksalt}
\desc{Rocksalt structure}{\elRef{Na}\elRef{Cl}}{}
\desc[german]{Kochsalz-Struktur}{}{}
\fsplit{
\centering
\includegraphics[width=0.9\textwidth]{img/cm_crystal_NaCl.png}
}{
}
\end{formula}
\begin{formula}{wurtzite}
\desc{Wurtzite structure}{hP4}{}
\desc[german]{Wurtzite-Struktur}{hP4}{}
\ttxt{
\includegraphics[width=0.5\textwidth]{img/cm_wurtzite.png}
Placeholder
\fsplit{
\centering
\includegraphics[width=0.9\textwidth]{img/cm_crystal_wurtzite.png}
}{
}
\end{formula}

View File

@ -1,198 +0,0 @@
\def\L{\text{L}}
\def\gl{\text{GL}}
\def\GL{Ginzburg-Landau }
\def\Tcrit{T_\text{c}}
\def\Bcrit{B_\text{c}}
\def\ssc{\text{s}}
\def\ssn{\text{n}}
\Section[
\eng{Superconductivity}
\ger{Supraleitung}
]{sc}
\begin{ttext}
\eng{
Materials for which the electric resistance jumps to 0 under a critical temperature $\Tcrit$.
Below $\Tcrit$ they have perfect conductivity and perfect diamagnetism, up until a critical magnetic field $\Bcrit$.
\\\textbf{Type I}: Has a single critical magnetic field at which the superconuctor becomes a normal conductor.
\\\textbf{Type II}: Has two critical
}
\ger{
Materialien, bei denen der elektrische Widerstand beim unterschreiten einer kritischen Temperatur $\Tcrit$ auf 0 springt.
Sie verhalten sich dann wie ideale Leiter und ideale Diamagnete, bis zu einem kritischen Feld $\Bcrit$.
}
\end{ttext}
\begin{formula}{perfect_conductor}
\desc{Perfect conductor}{}{}
\desc[german]{Ideale Leiter}{}{}
\ttxt{
\eng{
In contrast to a superconductor, perfect conductors become diamagnetic only when the external magnetic field is turned on \textbf{after} the material was cooled below the critical temperature.
(\fqEqRef{ed:fields:mag:induction:lenz})
}
\ger{
Im Gegensatz zu einem Supraleiter werden ideale Leiter nur dann diamagnetisch, wenn das externe magnetische Feld \textbf{nach} dem Abkühlen unter die kritische Temperatur eingeschaltet wird.
(\fqEqRef{ed:fields:mag:induction:lenz})
}
}
\end{formula}
\begin{formula}{meissner_effect}
\desc{Meißner-Ochsenfeld effect}{Perfect diamagnetism}{}
\desc[german]{Meißner-Ochsenfeld Effekt}{Idealer Diamagnetismus}{}
\ttxt{
\eng{External magnetic field decays exponetially inside the superconductor below a critical temperature and a critical magnetic field.}
\ger{Externes Magnetfeld fällt im Supraleiter exponentiell unterhalb einer kritischen Temperatur und unterhalb einer kritischen Feldstärke ab.}
}
\end{formula}
\Subsection[
\eng{London equations}
\ger{London-Gleichungen}
]{london}
\begin{ttext}
\eng{
Quantitative description of the \fqEqRef{cm:sc:meissner_effect}.
}
\ger{
Quantitative Beschreibung des \fqEqRef{cm:sc:meissner_effect}s.
}
\end{ttext}
% \begin{formula}{coefficient}
% \desc{London-coefficient}{}{}
% \desc[german]{London-Koeffizient}{}{}
% \eq{\Lambda = \frac{m_\ssc}{n_\ssc q_\ssc^2}}
% \end{formula}
\begin{formula}{first}
% \vec{j} = \frac{nq\hbar}{m}\Grad S - \frac{nq^2}{m}\vec{A}
\desc{First London Equation}{}{$\vec{j}$ current density, $n_\ssc$, $m_\ssc$, $q_\ssc$ density, mass and charge of superconduticng particles}
\desc[german]{Erste London-Gleichun-}{}{$\vec{j}$ Stromdichte, $n_\ssc$, $m_\ssc$, $q_\ssc$ Dichte, Masse und Ladung der supraleitenden Teilchen}
\eq{
\pdv{\vec{j}_{\ssc}}{t} = \frac{n_\ssc q_\ssc^2}{m_\ssc}\vec{E} {\color{gray}- \Order{\vec{j}_\ssc^2}}
% \\{\color{gray} = \frac{q}{m}\Grad \left(\frac{1}{2} \TODO{FActor} \vec{j}^2\right)}
}
\end{formula}
\begin{formula}{second}
\desc{Second London Equation}{Describes the \fqEqRef{cm:sc:meissner_effect}}{$\vec{j}$ current density, $n_\ssc$, $m_\ssc$, $q_\ssc$ density, mass and charge of superconduticng particles}
\desc[german]{Zweite London-Gleichung}{Beschreibt den \fqEqRef{cm:sc:meissner_effect}}{$\vec{j}$ Stromdichte, $n_\ssc$, $m_\ssc$, $q_\ssc$ Dichte, Masse und Ladung der supraleitenden Teilchen}
\eq{
\Rot \vec{j_\ssc} = -\frac{n_\ssc q_\ssc^2}{m_\ssc} \vec{B}
}
\end{formula}
\begin{formula}{penetration_depth}
\desc{London penetration depth}{}{}
\desc[german]{London Eindringtiefe}{}{}
\eq{\lambda_\L = \sqrt{\frac{m_\ssc}{\mu_0 n_\ssc q_\ssc^2}}}
\end{formula}
\Subsection[
\eng{\GL Theory (GLAG)}
\ger{\GL Theorie (GLAG)}
]{gl}
\begin{ttext}
\eng{
\TODO{TODO}
}
\end{ttext}
\begin{formula}{coherence_length}
\desc{\GL Coherence Length}{}{}
\desc[german]{\GL Kohärenzlänge}{}{}
\eq{
\xi_\gl &= \frac{\hbar}{\sqrt{2m \abs{\alpha}}} \\
\xi_\gl(T) &= \xi_\gl(0) \frac{1}{\sqrt{1-\frac{T}{\Tcrit}}}
}
\end{formula}
\begin{formula}{penetration_depth}
\desc{\GL Penetration Depth / Field screening length}{}{}
\desc[german]{\GL Eindringtiefe}{}{}
\eq{
\lambda_\gl &= \sqrt{\frac{m_\ssc\beta}{\mu_0 \abs{\alpha} q_s^2}} \\
\lambda_\gl(T) &= \lambda_\gl(0) \frac{1}{\sqrt{1-\frac{T}{\Tcrit}}}
}
\end{formula}
\begin{formula}{first}
\desc{First Ginzburg-Landau Equation}{}{$\xi_\gl$ \fqEqRef{cm:sc:gl:coherence_length}, $\lambda_\gl$ \fqEqRef{cm:sc:gl:penetration_depth}}
\desc[german]{Erste Ginzburg-Landau Gleichung}{}{}
\eq{\alpha\Psi + \beta\abs{\Psi}^2 \Psi + \frac{1}{2m} (-i\hbar \Grad + 2e\vec{A})^2\Psi = 0}
\end{formula}
\begin{formula}{second}
\desc{Second Ginzburg-Landau Equation}{}{}
\desc[german]{Zweite Ginzburg-Landau Gleichung}{}{}
\eq{\vec{j_\ssc} = \frac{ie\hbar}{m}(\Psi^*\Grad\Psi - \Psi\Grad\Psi^*) - \frac{4e^2}{m}\abs{\Psi}^2 \vec{A}}
\end{formula}
\TODO{proximity effect}
\Subsection[
\eng{Microscopic theory}
\ger{Mikroskopische Theorie}
]{micro}
\begin{formula}{isotop_effect}
\desc{Isotope effect}{Superconducting behaviour depends on atomic mass and thereby of the lattice \Rightarrow Microscopic origin}{$\Tcrit$ critial temperature, $M$ isotope mass, $\omega_\text{ph}$}
\desc[german]{Isotopeneffekt}{Supraleitung hängt von der Atommasse und daher von den Gittereigenschaften ab \Rightarrow Mikroskopischer Ursprung}{$\Tcrit$ kritische Temperatur, $M$ Isotopen-Masse, $\omega_\text{ph}$}
\eq{
\Tcrit \propto \frac{1}{\sqrt{M}} \\
\omega_\text{ph} \propto \frac{1}{\sqrt{M}} \Rightarrow \Tcrit \propto \omega_\text{ph}
}
\end{formula}
\begin{formula}{cooper_pairs}
\desc{Cooper pairs}{}{}
\desc[german]{Cooper-Paars}{}{}
\ttxt{
\eng{Conduction electrons reduce their energy through an attractive interaction: One electron passing by atoms attracts the these, which creats a positive charge region behind the electron, which in turn attracts another electron. }
}
\end{formula}
\Subsubsection[
\eng{BCS-Theory}
\ger{BCS-Theorie}
]{bcs}
\begin{ttext}
\eng{
Electron pairs form bosonic quasi-particles called Cooper pairs which can condensate into the ground state.
The wave function spans the whole material, which makes it conduct without resistance.
The exchange bosons between the electrons are phonons.
}
\ger{
Elektronenpaar bilden bosonische Quasipartikel (Cooper Paare) welche in den Grundzustand kondensieren können.
Die Wellenfunktion übersoannt den gesamten Festkörper, was einen widerstandslosen Ladungstransport garantiert.
Die Austauschbosononen zwischen den Elektronen sind Bosonen.
}
\end{ttext}
\def\BCS{{\text{BCS}}}
\begin{formula}{hamiltonian}
\desc{BCS Hamiltonian}{for $N$ interacting electrons}{
$c_{\veck\sigma}$ creation/annihilation operators create/destroy at $\veck$ with spin $\sigma$ \\
First term: non-interacting free electron gas\\
Second term: interaction energy
}
\desc[german]{BCS Hamiltonian}{}{}
\eq{
\hat{H}_\BCS =
\sum_{\sigma} \sum_\veck \epsilon_\veck \hat{c}_{\veck\sigma}^\dagger \hat{c}_{\veck\sigma}
+ \sum_{\veck,\veck^\prime} V_{\veck,\veck^\prime}
\hat{c}_{\veck\uparrow}^\dagger \hat{c}_{-\veck\downarrow}^\dagger
\hat{c}_{-\veck^\prime\downarrow} \hat{c}_{\veck^\prime,\uparrow}
}
\end{formula}
\begin{formula}{bogoliubov-valatin}
\desc{Bogoliubov-Valatin transformation}{Diagonalization of the \fqEqRef{cm:sc:micro:bcs:hamiltonian} to derive excitation energies}{}
\desc[german]{Bogoliubov-Valatin transformation}{}{}
\eq{
\hat{H}_\BCS - N\mu = \sum_\veck \big[\xi_\veck - E_\veck + \Delta_\veck g_\veck^*\big] + \sum_\veck \big[E_\veck a_\veck^\dagger a_\veck + E_\veck \beta_{-\veck}^\dagger \beta_{-\veck}\big]
}
\end{formula}
\begin{formula}{gap_equation}
\desc{BCS-gap equation}{}{}
\desc[german]{}{}{}
\eq{\Delta_\veck^* = -\sum_\veck^+\prime V_{\veck,\veck^\prime} \frac{\Delta_{\veck^\prime}}{2E_\veck} \tanh \left(\frac{E_{\veck^\prime}}{2\kB T}\right)}
\end{formula}

View File

@ -84,6 +84,15 @@
\ger{\GT{misc}}
]{misc}
\begin{formula}{vdw_material}
\desc{Van-der-Waals material}{2D materials}{}
\desc[german]{Van-der-Waals Material}{2D Materialien}{}
\ttxt{\eng{
Materials consiting of multiple 2D-layers held together by Van-der-Waals forces.
}\ger{
Aus mehreren 2D-Schichten bestehende Materialien, die durch Van-der-Waals Kräfte zusammengehalten werden.
}}
\end{formula}
\begin{formula}{work_function}

View File

@ -1,9 +1,9 @@
\Section[
\eng{Semiconductors}
\ger{Halbleiter}
]{semic}
]{sc}
\begin{formula}{types}
\desc{Intrinsic/extrinsic}{}{$n,p$ \fqEqRef{cm:semic:charge_density_eq}}
\desc{Intrinsic/extrinsic}{}{$n,p$ \fRef{cm:sc:charge_density_eq}}
\desc[german]{Intrinsisch/Extrinsisch}{}{}
\ttxt{
\eng{
@ -89,7 +89,7 @@
\end{formula}
\begin{bigformula}{schottky_barrier}
\desc{Schottky barrier}{Rectifying \fqEqRef{cm:sc:junctions:metal-sc}}{}
\desc{Schottky barrier}{Rectifying \fRef{cm:sc:junctions:metal-sc}}{}
% \desc[german]{}{}{}
\centering
\resizebox{0.49\textwidth}{!}{\input{img/cm/sc_junction_metal_n_sc_separate.tex}}
@ -145,7 +145,7 @@
\eng[free_X]{for free Excitons}
\ger[free_X]{für freie Exzitons}
\begin{formula}{rydberg}
\desc{Exciton Rydberg energy}{\gt{free_X}}{$R_\txH$ \fqEqRef{qm:h:rydberg_energy}}
\desc{Exciton Rydberg energy}{\gt{free_X}}{$R_\txH$ \fRef{qm:h:rydberg_energy}}
\desc[german]{}{}{}
\eq{
E(n) = - \left(\frac{\mu}{m_0\epsilon_r^2}\right) R_\txH \frac{1}{n^2}

View File

@ -0,0 +1,546 @@
\def\txL{\text{L}}
\def\gl{\text{GL}}
\def\GL{Ginzburg-Landau }
\def\Tcrit{T_\text{c}}
\def\Bcth{B_\text{c,th}}
\Section[
\eng{Superconductivity}
\ger{Supraleitung}
]{super}
\begin{ttext}
\eng{
Materials for which the electric resistance jumps to 0 under a critical temperature $\Tcrit$.
Below $\Tcrit$ they have perfect conductivity and perfect diamagnetism, up until a critical magnetic field $\Bcth$.
}
\ger{
Materialien, bei denen der elektrische Widerstand beim unterschreiten einer kritischen Temperatur $\Tcrit$ auf 0 springt.
Sie verhalten sich dann wie ideale Leiter und ideale Diamagnete, bis zu einem kritischen Feld $\Bcth$.
}
\end{ttext}
\begin{formula}{type1}
\desc{Type-I superconductor}{}{}
\desc[german]{Typ-I Supraleiter}{}{}
\ttxt{\eng{
Has a single critical magnetic field, $\Bcth$.
\\$B < \Bcth$: \fRef{:::meissner_effect}
\\$B > \Bcth$: Normal conductor
\\ Very small usable current density because current only flows within the \fRef{cm:super:london:penetration_depth} of the surface.
}}
\end{formula}
\begin{formula}{type2}
\desc{Type-II superconductor}{}{}
\desc[german]{Typ-II Supraleiter}{}{}
\ttxt{\eng{
Has a two critical magnetic fields.
\\$B < B_\text{c1}$: \fRef{:::meissner_effect}
\\$B_\text{c1} < B < B_\text{c2}$: \fRef{:::shubnikov_phase}
\\$B > B_\text{c2}$: Normal conductor
\\ In \fRef{:::shubnikov_phase} larger usable current density because current flows within the \fRef{cm:super:london:penetration_depth} of the surface and the penetrating flux lines.
}}
\end{formula}
\begin{formula}{perfect_conductor}
\desc{Perfect conductor}{}{}
\desc[german]{Ideale Leiter}{}{}
\ttxt{
\eng{
In contrast to a superconductor, perfect conductors become diamagnetic only when the external magnetic field is turned on \textbf{after} the material was cooled below the critical temperature.
(\fRef{ed:em:induction:lenz})
}
\ger{
Im Gegensatz zu einem Supraleiter werden ideale Leiter nur dann diamagnetisch, wenn das externe magnetische Feld \textbf{nach} dem Abkühlen unter die kritische Temperatur eingeschaltet wird.
(\fRef{ed:em:induction:lenz})
}
}
\end{formula}
\begin{formula}{meissner_effect}
\desc{Meißner-Ochsenfeld effect}{Perfect diamagnetism}{$\chi=-1$ \qtyRef{magnetic_susceptibility}}
\desc[german]{Meißner-Ochsenfeld Effekt}{Perfekter Diamagnetismus}{}
\ttxt{
\eng{External magnetic field decays exponetially inside the superconductor below a critical temperature and a critical magnetic field, path-independant.}
\ger{Externes Magnetfeld fällt im Supraleiter exponentiell unterhalb einer kritischen Temperatur und unterhalb einer kritischen Feldstärke ab, wegunabhängig.}
}
\end{formula}
\begin{formula}{bcth}
\desc{Thermodynamic cricitial field}{for \fRef[type I]{::type1} and \fRef[type II]{::type2}}{}
\desc[german]{Thermodynamisches kritische Feldstärke}{für \fRef[type I]{::type1} und \Ref[type II]{::type2}}{}
\eq{g_\txs - g_\txn = - \frac{\Bcth^2(T)}{2\mu_0}}
\end{formula}
\begin{formula}{shubnikov_phase}
\desc{Shubnikov phase}{in \fRef{::type2}}{}
\desc[german]{Shubnikov-Phase}{}{}
\ttxt{\eng{
Mixed phase in which some magnetic flux penetrates the superconductor.
}\ger{
Gemischte Phase in der der Supraleiter teilweise von magnetischem Fluss durchdrungen werden kann.
}}
\end{formula}
\begin{formula}{condensation_energy}
\desc{Condensation energy}{}{\QtyRef{free_enthalpy}, \ConstRef{magnetic_vacuum_permeability}}
\desc[german]{Kondensationsenergie}{}{}
\eq{
\d G &= -S \d T + V \d p - V \vecM \cdot \d\vecB \\
G_\text{con} &= G_\txn(B=0,T) - G_\txs(B=0,T) = \frac{V \Bcth^2(T)}{2\mu_0}
}
\end{formula}
\Subsection[
\eng{London Theory}
\ger{London-Theorie}
]{london}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
\begin{itemize}
\item Phenomenological theory
\item Quantitative description of the \fRef{cm:super:meissner_effect}.
\item Assumies uniform charge density $n(\vecr,t) = n(t)$ (London-approximation).
\item Does not work near $T_\txc$
\end{itemize}
}\ger{
\begin{itemize}
\item Phänomenologische Theorie
\item Quantitative Beschreibung des \fRef{cm:super:meissner_effect}s.
\item Annahme: uniforme Ladungsdichte $n(\vecr,t) = n(t)$ (London-Näherung)
\item Funktioniert nicht nahe $T_\txc$
\end{itemize}
}}
\end{formula}
% \begin{formula}{coefficient}
% \desc{London-coefficient}{}{}
% \desc[german]{London-Koeffizient}{}{}
% \eq{\txLambda = \frac{m_\txs}{n_\txs q_\txs^2}}
% \end{formula}
\Eng[of_sc_particle]{of the superconducting particle}
\Ger[of_sc_particle]{der Supraleitenden Teilchen}
\begin{formula}{first}
% \vec{j} = \frac{nq\hbar}{m}\Grad S - \frac{nq^2}{m}\vec{A}
\desc{First London Equation}{}{$\vec{j}$ \qtyRef{current_density}, $m_\txs$/$n_\txs$/$q_\txs$ \qtyRef{mass}/\qtyRef{charge_carrier_density}/\qtyRef{charge} \GT{of_sc_particle}, \QtyRef{electric_field}}
\desc[german]{Erste London-Gleichun-}{}{}
\eq{
\pdv{\vec{j}_{\txs}}{t} = \frac{n_\txs q_\txs^2}{m_\txs}\vec{\E} {\color{gray}- \Order{\vec{j}_\txs^2}}
% \\{\color{gray} = \frac{q}{m}\Grad \left(\frac{1}{2} \TODO{FActor} \vec{j}^2\right)}
}
\end{formula}
\begin{formula}{second}
\desc{Second London Equation}{Describes the \fRef{cm:super:meissner_effect}}{$\vec{j}$ \qtyRef{current_density}, $m_\txs$/$n_\txs$/$q_\txs$ \qtyRef{mass}/\qtyRef{charge_carrier_density}/\qtyRef{charge} \GT{of_sc_particle}, \QtyRef{magnetic_flux_density}}
\desc[german]{Zweite London-Gleichung}{Beschreibt den \fRef{cm:super:meissner_effect}}{}
\eq{
\Rot \vec{j_\txs} = -\frac{n_\txs q_\txs^2}{m_\txs} \vec{B}
}
\end{formula}
\begin{formula}{penetration_depth}
\desc{London penetration depth}{Depth at which $B$ is $1/\e$ times the value of $B_\text{ext}$}{$m_\txs$/$n_\txs$/$q_\txs$ \qtyRef{mass}/\qtyRef{charge_carrier_density}/\qtyRef{charge} \GT{of_sc_particle}}
\desc[german]{London Eindringtiefe}{Tiefe bei der $B$ das $1/\e$-fache von $B_\text{ext}$ ist}{}
\eq{\lambda_\txL = \sqrt{\frac{m_\txs}{\mu_0 n_\txs q_\txs^2}}}
\end{formula}
\begin{formula}{penetration_depth_temp}
\desc{Temperature dependence of \fRef{::penetration_depth}}{}{}
\desc[german]{Temperaturabhängigkeit der \fRef{::penetration_depth}}{}{}
\eq{\lambda_\txL(T) = \lambda_\txL(0) \frac{1}{\sqrt{1- \left(\frac{T}{T_\txc}\right)^4}}}
\end{formula}
\Subsubsection[
\eng{Macroscopic wavefunction}
\ger{Makroskopische Wellenfunktion}
]{macro}
\begin{formula}{ansatz}
\desc{Ansatz}{}{}
\desc[german]{Ansatz}{}{}
\ttxt{\eng{Alternative derivation of London equations by assuming a macroscopic wavefunction which is uniform in space}\ger{Alternative Herleitung der London-Gleichungen durch Annahme einer makroskopischen Wellenfunktion, welche nicht Ortsabhängig ist}}
\eq{\Psi(\vecr,t) = \Psi_0(\vecr,t) \e^{\theta(\vecr,t)}}
\end{formula}
\begin{formula}{energy-phase_relation}
\desc{Energy-phase relation}{}{$\theta$ \qtyRef{phase}, $m_\txs$/$n_\txs$/$q_\txs$ \qtyRef{mass}/\qtyRef{charge_carrier_density}/\qtyRef{charge} \GT{of_sc_particle}, \QtyRef{current_density}, $\phi_\text{el}$ \qtyRef{electric_scalar_potential}, \QtyRef{chemical_potential}}
\desc[german]{Energie-Phase Beziehung}{}{}
\eq{\hbar \pdv{\theta(\vecr,t)}{t} = - \left(\frac{m_\txs}{n_\txs^2 q_\txs^2} \vecj_\txs^2(\vecr,t) + q_\txs\phi_\text{el}(\vecr,t) + \mu(\vecr,t)\right)}
\end{formula}
\begin{formula}{current-phase_relation}
\desc{Current-phase relation}{}{$\theta$ \qtyRef{phase}, $m_\txs$/$n_\txs$/$q_\txs$ \qtyRef{mass}/\qtyRef{charge_carrier_density}/\qtyRef{charge} \GT{of_sc_particle}, \QtyRef{current_density}, \QtyRef{magnetic_vector_potential}}
\desc[german]{Strom-Phase Beziehung}{}{}
\eq{\vecj_\txs(\vecr,t) = \frac{q_\txs^2 n_\txs(\vecr,t)}{m_\txs} \left(\frac{\hbar}{q_\txs} \Grad\theta(\vecr,t) - \vecA(\vecr,t)\right) }
\end{formula}
\Subsubsection[
\eng{Josephson Effect}
\ger{Josephson Effekt}
]{josephson}
\begin{formula}{1st_relation}
\desc{1. Josephson relation}{Dissipationless supercurrent accros junction at zero applied voltage}{$\vecj_\text{C}=\frac{2e}{\hbar}E_\text{J}$ critical current, $\phi$ phase difference accross junction}
\desc[german]{1. Josephson Gleichung}{Dissipationsloser Suprastrom durch die Kreuzung ohne angelegte Spannung}{$\vecj_\text{C}=\frac{2e}{\hbar}E_\text{J}$ kritischer Strom, $\phi$ Phasendifferenz zwischen den Supraleitern}
\eq{\vecj_\txs(\vecr,t) = \vecj_\text{C}(\vecr,t) \sin\phi(\vecr,t)}
\end{formula}
\begin{formula}{2nd_relation}
\desc{2. Josephson relation}{Superconducting phase change is proportional to applied voltage}{$\phi$ phase differnce accross junction, \ConstRef{flux_quantum}, \QtyRef{voltage}}
\desc[german]{2. Josephson Gleichung}{Supraleitende Phasendifferenz is proportional zur angelegten Spannung}{$\phi$ Phasendifferenz, \ConstRef{flux_quantum}, \QtyRef{voltage}}
\eq{\odv{\phi(t)}{t} = \frac{2\pi}{\Phi_0} U(t)}
\end{formula}
\begin{formula}{coupling_energy}
\desc{Josephson coupling energy}{}{$A$ junction \qtyRef{area}, \ConstRef{flux_quantum}, $\vecj_\txc$ \fRef[critical current density]{::1st_relation}, $\phi$ phase differnce accross junction}
\desc[german]{Josephson}{}{$A$ junction \qtyRef{area}, \ConstRef{flux_quantum}, $\vecj_\txc$ \fRef[kritische Stromdichte]{::1st_relation}, $\phi$ Phasendifferenz zwischen den Supraleitern}
\eq{\frac{E_\txJ}{A} = \frac{\Phi_0 \vecj_\txc}{2\pi}(1-\cos\phi)}
\end{formula}
\Subsection[
\eng{\GL Theory (GLAG)}
\ger{\GL Theorie (GLAG)}
]{gl}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
\begin{itemize}
\item Phenomenological theory
\item Improvement on the Landau-Theory of 2nd order phase transitions
% which introduces an order parameter that is $0$ in the normal state and rises to saturation in the superconducting state.
\item Additional complex, position-dependent order parameter is introduced $\Psi(\vecr)$
\item Only valid close to $T_\txc$.
\item Does not have time dependancy
\end{itemize}
}\ger{
\begin{itemize}
\item Phänomenologische Theorie
\item Weiterentwicklung der Landau-Theorie für Phasenübergänge zweiter Ordnung,
% in der ein Ordnungsparameter in the normalen Phase 0 ist und ein der supraleitenden Phase bis zur Sättigung ansteigt.
\item Zusätzlicher, komplexer, ortsabhängiger Ordnungsparameter $\Psi(\vecr)$
\item Nur nahe $T_\txc$ gültig.
\item Beschreibt keine Zeitabhängigkeit
\end{itemize}
}}
\end{formula}
\begin{formula}{expansion}
\desc{Expansion}{Expansion of free enthalpy of superconducting state}{
$g_{\txs/\txn}$ specific \qtyRef{free_enthalpy} of superconducting/normal state,
$\Psi(\vecr) = \abs{\Psi_0(\vecr)} \e^{\I\theta(\vecr)}$ order parameter,
$n(\vecr) = \abs{\Psi}^2$ Cooper-Pair density,
\QtyRef{magnetic_flux_density},
\QtyRef{magnetic_vector_potential},
$\alpha(T) = -\bar{\alpha} \left(1-\frac{T}{T_\txc}\right)^2$,
% $\alpha > 0$ for $T > T_\txc$ and $\alpha < 0$ for $T< T_\txc$,
$\beta = \const > 0$
}
% \desc[german]{}{}{}
\begin{multline}
g_\txs = g_\txn + \alpha \abs{\Psi}^2 + \frac{1}{2}\beta \abs{\Psi}^4 +
\\ \frac{1}{2\mu_0}(\vecB_\text{ext} -\vecB_\text{inside})^2 + \frac{1}{2m_\txs} \abs{ \left(-\I\hbar\Grad - q_\txs \vecA\right)\Psi}^2 + \dots
\end{multline}
\end{formula}
\begin{formula}{first}
\desc{First Ginzburg-Landau Equation}{Obtained by minimizing $g_\txs$ with respect to $\delta\Psi$ in \fRef{::expansion}}{
$\xi_\gl$ \fRef{cm:super:gl:coherence_length},
$\lambda_\gl$ \fRef{cm:super:gl:penetration_depth}
}
\desc[german]{Erste Ginzburg-Landau Gleichung}{}{}
\eq{\alpha\Psi + \beta\abs{\Psi}^2 \Psi + \frac{1}{2m} (-i\hbar \Grad + 2e\vec{A})^2\Psi = 0}
\end{formula}
\begin{formula}{second}
\desc{Second Ginzburg-Landau Equation}{Obtained by minimizing $g_\txs$ with respect to $\delta\vec{A}$ in \fRef{::expansion}}{}
\desc[german]{Zweite Ginzburg-Landau Gleichung}{}{}
\eq{\vec{j_\txs} = \frac{ie\hbar}{m}(\Psi^*\Grad\Psi - \Psi\Grad\Psi^*) - \frac{4e^2}{m}\abs{\Psi}^2 \vec{A}}
\end{formula}
\begin{formula}{coherence_length}
\desc{\GL Coherence Length}{Depth in the superconductor where $\abs{\Psi}$ goes from 0 to 1}{}
\desc[german]{\GL Kohärenzlänge}{Tiefe im Supraleiter, bei der $\abs{\Psi}$ von 0 auf 1 steigt}{}
\eq{
\xi_\gl &= \frac{\hbar}{\sqrt{2m \abs{\alpha}}} \\
\xi_\gl(T) &= \xi_\gl(0) \frac{1}{\sqrt{1-\frac{T}{\Tcrit}}}
}
\end{formula}
\begin{formula}{penetration_depth}
\desc{\GL Penetration Depth}{Field screening length\\Depth in the supercondcutor where $B_\text{ext}$ decays}{}
\desc[german]{\GL Eindringtiefe}{Tiefe im Supraleiter, bei der $B_\text{ext}$ abfällt}{}
\eq{
\lambda_\gl &= \sqrt{\frac{m_\txs\beta}{\mu_0 \abs{\alpha} q_s^2}} \\
\lambda_\gl(T) &= \lambda_\gl(0) \frac{1}{\sqrt{1-\frac{T}{\Tcrit}}}
}
\end{formula}
\begin{formula}{boundary_energy}
\desc{Boundary energy}{Negative for \fRef{:::type2}, positive for \fRef{:::type1}}{$\Delta E_\text{B}$ energy gained by expelling the external magnetic field, $\Delta E_\text{cond}$ \fRef{:::condensation_energy}}
\desc[german]{Grenzflächenenergie}{Negativ für \fRef{:::type2}, positiv für \fRef{:::type1}}{}
\eq{\Delta E_\text{boundary} = \Delta E_\text{con} - \Delta E_\txB = (\xi_\gl - \lambda_\gl) \frac{B_\text{c,th}^2}{2\mu_0}}
\end{formula}
\begin{formula}{parameter}
\desc{Ginzburg-Landau parameter}{}{}
\desc[german]{Ginzburg-Landau Parameter}{}{}
\eq{\kappa \equiv \frac{\lambda_\gl}{\xi_\gl}}
\eq{
\kappa \le \frac{1}{\sqrt{2}} &\quad\Rightarrow\quad\text{\fRef{cm:super:type1}} \\
\kappa \ge \frac{1}{\sqrt{2}} &\quad\Rightarrow\quad\text{\fRef{cm:super:type2}}
}
\end{formula}
\begin{formula}{ns_boundary}
\desc{Normal-superconductor boundary}{}{}
\desc[german]{Normal-Supraleiter Grenzfläche}{}{}
\eq{
\abs{\Psi(x)}^2 &= \frac{n_\txs(x)}{n_\txs(\infty)} = \tanh^2 \left(\frac{x}{\sqrt{2}\xi_\gl}\right) \\
B_z(x) &= B_z(0) \Exp{-\frac{x}{\lambda_\gl}}
}
\fig{img/cm_super_n_s_boundary.pdf}
% \TODO{plot, slide 106}
\end{formula}
\begin{formula}{bcth}
\desc{Thermodynamic critical field}{}{}
\desc[german]{Thermodynamisches kritisches Feld}{}{}
\eq{\Bcth = \frac{\Phi_0}{2\pi \sqrt{2} \xi_\gl \lambda_\gl}}
\end{formula}
\begin{formula}{bc1}
\desc{Lower critical magnetic field}{Above $B_\text{c1}$, flux starts to penetrate the superconducting phase}{\ConstRef{flux_quantum}, $\lambda_\gl$ \fRef{::penetration_depth} $\kappa$ \fRef{::parameter}}
\desc[german]{Unteres kritisches Magnetfeld}{Über $B_\text{c1}$ dringt erstmals Fluss in die supraleitende Phase ein}{}
\eq{B_\text{c1} = \frac{\Phi_0}{4\pi\lambda_\gl^2}(\ln\kappa+0.08) = \frac{1}{\sqrt{2}\kappa}(\ln\kappa + 0.08) \Bcth}
\end{formula}
\begin{formula}{bc2}
\desc{Upper critical magnetic field}{Above $B_\text{c2}$, superconducting phase is is destroyed}{\ConstRef{flux_quantum}, $\xi_\gl$ \fRef{::coherence_length}}
\desc[german]{Oberes kritisches Magnetfeld}{Über $B_\text{c2}$ ist die supraleitende Phase zerstört}{}
\eq{B_\text{c2} = \frac{\Phi_0}{2\pi\xi_\gl^2}}
\end{formula}
\begin{formula}{proximity_effect}
\desc{Proximity-Effect}{}{}
% \desc[german]{}{}{}
\ttxt{\eng{
Superconductor wavefunction extends into the normal conductor or isolator
}}
\end{formula}
\Subsection[
\eng{Microscopic theory}
\ger{Mikroskopische Theorie}
]{micro}
\begin{formula}{isotop_effect}
\desc{Isotope effect}{Superconducting behaviour depends on atomic mass and thereby on the lattice \Rightarrow Microscopic origin}{$\Tcrit$ critial temperature, $M$ isotope mass, $\omega_\text{ph}$}
\desc[german]{Isotopeneffekt}{Supraleitung hängt von der Atommasse und daher von den Gittereigenschaften ab \Rightarrow Mikroskopischer Ursprung}{$\Tcrit$ kritische Temperatur, $M$ Isotopen-Masse, $\omega_\text{ph}$}
\eq{
\Tcrit &\propto \frac{1}{\sqrt{M}} \\
\omega_\text{ph} &\propto \frac{1}{\sqrt{M}} \Rightarrow \Tcrit \propto \omega_\text{ph}
}
\end{formula}
\begin{formula}{cooper_pairs}
\desc{Cooper pairs}{}{}
\desc[german]{Cooper-Paars}{}{}
\ttxt{
\eng{Conduction electrons reduce their energy through an attractive interaction: One electron passing by atoms attracts the these, which creats a positive charge region behind the electron, which in turn attracts another electron. }
}
\end{formula}
\Subsubsection[
\eng{BCS-Theory}
\ger{BCS-Theorie}
]{bcs}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
\begin{itemize}
\item Electron pairs form bosonic quasi-particles called Cooper pairs which can condensate into the ground state
\item The wave function spans the whole material, which makes it conduct without resistance
\item The exchange bosons between the electrons are phonons
\end{itemize}
}\ger{
\begin{itemize}
\item Elektronenpaar bilden bosonische Quasipartikel (Cooper Paare) welche in den Grundzustand kondensieren können.
\item Die Wellenfunktion übersoannt den gesamten Festkörper, was einen widerstandslosen Ladungstransport garantiert
\item Die Austauschbosononen zwischen den Elektronen sind Bosonen
\end{itemize}
}}
\end{formula}
\def\BCS{{\text{BCS}}}
\begin{formula}{hamiltonian}
\desc{BCS Hamiltonian}{for $N$ interacting electrons}{
$c_{\veck\sigma}$ creation/annihilation operators create/destroy at $\veck$ with spin $\sigma$ \\
First term: non-interacting free electron gas\\
Second term: interaction energy
}
\desc[german]{BCS Hamiltonian}{}{}
\eq{
\hat{H}_\BCS =
\sum_{\sigma} \sum_\veck \epsilon_\veck \hat{c}_{\veck\sigma}^\dagger \hat{c}_{\veck\sigma}
+ \sum_{\veck,\veck^\prime} V_{\veck,\veck^\prime}
\hat{c}_{\veck\uparrow}^\dagger \hat{c}_{-\veck\downarrow}^\dagger
\hat{c}_{-\veck^\prime\downarrow} \hat{c}_{\veck^\prime,\uparrow}
}
\end{formula}
\begin{formula}{ansatz}
\desc{BCS ground state wave function Ansatz}{\fRef{comp:est:mean_field} approach\\Coherent fermionic state}{}
\desc[german]{BCS Grundzustandswellenfunktion-Ansatz}{\fRef{comp:est:mean_field} Ansatz\\Kohärenter, fermionischer Zustand}{}
\eq{\Ket{\Psi_\BCS} = \prod_{\veck=\veck_1,\dots,\veck_M} \left(u_\veck + v_\veck \hat{c}_{\veck\uparrow}^\dagger \hat{c}_{-\veck\downarrow}^\dagger\right) \ket{0} }
\end{formula}
\begin{formula}{coherence_factors}
\desc{BCS coherence factors}{}{$\abs{u_\veck}^2$/$\abs{v_\veck}^2$ probability that pair state is $(\veck\uparrow,\,-\veck\downarrow)$ is empty/occupied, $\abs{u_\veck}^2+\abs{v_\veck}^2 = 1$}
\desc[german]{BCS Kohärenzfaktoren}{}{$\abs{u_\veck}^2$/$\abs{v_\veck}^2$ Wahrscheinlichkeit, dass Paarzustand $(\veck\uparrow,\,-\veck\downarrow)$ leer/besetzt ist, $\abs{u_\veck}^2+\abs{v_\veck}^2 = 1$}
\eq{
u_\veck &= \frac{1}{\sqrt{1+\abs{\alpha_\veck}^2}} \\
v_\veck &= \frac{\alpha_\veck}{\sqrt{1+\abs{\alpha_\veck}^2}}
}
\end{formula}
\begin{formula}{potential}
\desc{BCS potential approximation}{}{}
\desc[german]{BCS Potentialnäherung}{}{}
\eq{
V_{\veck,\veck^\prime} =
\left\{ \begin{array}{rc}
-V_0 & k^\prime > k_\txF,\, k<k_\txF + \Delta k\\
0 & \tGT{else}
\end{array}\right.
}
\end{formula}
\begin{formula}{gap_at_t0}
\desc{BCS Gap at $T=0$}{}{\QtyRef{debye_frequency}, $V_0$ \fRef{::potential}, $D$ \qtyRef{dos}, \TODO{gamma}}
\desc[german]{BCS Lücke bei $T=0$}{}{}
\eq{
\Delta(T=0) &= \frac{\hbar\omega_\txD}{\Sinh{\frac{2}{V_0\.D(E_\txF)}}} \approx 2\hbar \omega_\txD\\
\frac{\Delta(T=0)}{\kB T_\txc} &= \frac{\pi}{\e^\gamma} = 1.764
}
\end{formula}
\begin{formula}{cooper_pair_binding_energy}
\desc{Binding energy of Cooper pairs}{}{$E_\txF$ \absRef{fermi_energy}, \QtyRef{debye_frequency}, $V_0$ retarded potential, $D$ \qtyRef{dos}}
\desc[german]{Bindungsenergie von Cooper-Paaren}{}{}
\eq{E \approx 2E_\txF - 2\hbar\omega_\txD \Exp{-\frac{4}{V_0 D(E_\txF)}}}
\end{formula}
\Subsubsection[
\eng{Excitations and finite temperatures}
\ger{Anregungen und endliche Temperatur}
]{excite}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
The ground state consists of \fRef{cm:super:micro:cooper_pairs} and the excited state of Bogoliubov quasi-particles (electron-hole pairs).
The states are separated by an energy gap $\Delta$.
}\ger{
Den Grundzustand bilden \fRef{cm:super:micro:cooper_pairs} und den angeregten Zustands Bogoloiubons (Elektron-Loch Quasipartikel).
Die Zustände sind durch eine Energielücke $\Delta$ getrennt.
}}
\end{formula}
\begin{formula}{bogoliubov-valatin}
\desc{Bogoliubov-Valatin transformation}{Diagonalization of the \fRef{cm:super:micro:bcs:hamiltonian} to derive excitation energies}{
$\xi_\veck = \epsilon_\veck-\mu$ Energy relative to the \qtyRef{chemical_potential},
\\ $E_\veck$ \fRef{::excitation_energy},
\\ $\Delta$ Gap
\\ $g_\veck$ \fRef{::pairing_amplitude},
\\ $\alpha / \beta$ create and destroy symmetric/antisymmetric Bogoliubov quasiparticles
}
\desc[german]{Bogoliubov-Valatin transformation}{}{}
\eq{
\hat{H}_\BCS - N\mu = \sum_\veck \big[\xi_\veck - E_\veck + \Delta_\veck g_\veck^*\big] + \sum_\veck \big[E_\veck \alpha_\veck^\dagger \alpha_\veck + E_\veck \beta_{-\veck}^\dagger \beta_{-\veck}\big]
}
\end{formula}
\begin{formula}{pairing_amplitude}
\desc{Pairing amplitude}{}{}
\desc[german]{Paarungsamplitude}{}{}
\eq{g_\veck \equiv \Braket{\hat{c}_{-\veck\downarrow} \hat{c}_{\veck\uparrow}}}
\end{formula}
\begin{formula}{excitation_energy}
\desc{Excitation energy}{}{}
\desc[german]{Anregungsenergie}{}{}
\eq{E_\veck = \pm \sqrt{\xi^2_\veck + \abs{\Delta_\veck}^2}}
\end{formula}
\begin{formula}{coherence_factors_energy}
\desc{Energy dependance of the \fRef{:::bcs:coherence_factors}}{}{$E_\veck$ \fRef{::pairing_amplitude}, \GT{see} \fRef{:::bcs:coherence_factors}}
\desc[german]{Energieabhängigkeit der \fRef{:::bcs:coherence_factors}}{}{}
\eq{
\abs{u_\veck}^2 &= \frac{1}{2} \left(1+\frac{\xi_\veck}{E_\veck}\right) \\
\abs{v_\veck}^2 &= \frac{1}{2} \left(1-\frac{\xi_\veck}{E_\veck}\right) \\
u_\veck^* v_\veck &= \frac{\Delta_\veck}{2E_\veck}
}
\end{formula}
\begin{formula}{gap_equation}
\desc{Self-consistend gap equation}{}{}
\desc[german]{Selbstkonsitente Energielückengleichung}{}{}
\eq{\Delta_\veck^* = -\sum_{\veck^\prime} V_{\veck,\veck^\prime} \frac{\Delta_{\veck^\prime}}{2E_\veck} \tanh \left(\frac{E_{\veck^\prime}}{2\kB T}\right)}
\end{formula}
\begin{formula}{gap_t}
\desc{Temperature dependence of the BCS gap}{}{}
\desc[german]{Temperaturabhängigkeit der BCS-Lücke}{}{}
\eq{\frac{\Delta(T)}{\Delta(T=0)} \approx 1.74 \sqrt{1-\frac{T}{T_\txC}}}
\end{formula}
\begin{formula}{dos}
\desc{Quasiparticle density of states}{}{}
\desc[german]{Quasiteilchen Zustandsdichte}{}{}
\eq{D_\txs(E_\veck) = D_\txn(\xi_\veck) \pdv{\xi_\veck}{E_\veck} = \left\{
\begin{array}{ll}
D_\txn(E_\txF) \frac{E_\veck}{\sqrt{E^2_\veck -\Delta^2}} & E_\veck > \Delta \\
& E_\veck < \Delta
\end{array}
\right.}
\end{formula}
\begin{formula}{Bcth_temp}
\desc{Temperature dependance of the crictial magnetic field}{Jump at $T_\txc$, then exponential decay}{}
\desc[german]{Temperaturabhängigkeit des kritischen Magnetfelds}{Sprung bei $T_\txc$, denn exponentieller Abfall}{}
\eq{ \Bcth(T) = \Bcth(0) \left[1- \left(\frac{T}{T_\txc}\right)^2 \right] }
% \TODO{empirical relation, relate to BCS}
\end{formula}
\begin{formula}{heat_capacity}
\desc{Heat capacity in superconductors}{}{}
\desc[german]{Wärmekapazität in Supraleitern}{}{}
\fsplit{
\fig{img/cm_super_heat_capacity.pdf}
}{
\eq{c_\txs \propto T^{-\frac{3}{2}} \e^{\frac{\Delta(0)}{\kB T}}}
}
\end{formula}
\Subsubsection[
\eng{Flux pinning}
\ger{Haftung von Flusslinien}
]{pinning}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
If a current flows in a \fRef{cm:super:type2}s in the \fRef{cm:super:shubnikov_phase} perpendicular to the penetrating flux lines,
the lines experience a Lorentz force. This leads to ohmic behaviour of the superconductor.
The flux lines can be pinned to defects, in which the superconducting order parameter is reduced.
To move the flux line out of the defect, work would have to be spent overcoming the \fRef{cm:super:micro:pinning:potential}.
This restores the superconductivity.
}\ger{
Wenn ein Strom in einem \fRef{cm:super:type2}s in der \fRef{cm:super:shubnikov_phase} senkrecht zu den eindringenden Flusslinien fließt, erfahren die Linien eine Lorentzkraft.
Dies führt zu einem ohmschen Verhalten des Supraleiters.
Die Flusslinien können an Defekten festgehalten werden, in denen der supraleitende Ordnungsparameter reduziert ist.
Um die Flusslinie aus dem Defekt zu bewegen, müsste Arbeit aufgewendet werden, um das \fRef{cm:super:micro:pinning:potential} zu überwinden.
Dies stellt die Supraleitfähigkeit wieder her.
}}
\end{formula}

View File

@ -21,12 +21,12 @@
\desc[german]{Raman-Spektroskopie}{}{}
\begin{minipagetable}{raman}
\tentry{application}{
\eng{Vibrational modes, Crystal structure, Doping, Band Gaps, Layer thickness in \fqEqRef{cm:misc:vdw_material}}
\ger{Vibrationsmoden, Kristallstruktur, Dotierung, Bandlücke, Schichtdicke im \fqEqRef{cm:misc:vdw_material}}
\eng{Vibrational modes, Crystal structure, Doping, Band Gaps, Layer thickness in \fRef{cm:misc:vdw_material}}
\ger{Vibrationsmoden, Kristallstruktur, Dotierung, Bandlücke, Schichtdicke im \fRef{cm:misc:vdw_material}}
}
\tentry{how}{
\eng{Monochromatic light (\fqEqRef{Laser}) shines on sample, inelastic scattering because of rotation-, vibration-, phonon and spinflip-processes, plot spectrum as shift of the laser light (in \si{\per\cm})}
\ger{Monochromatisches Licht (\fqEqRef{Laser}) bestrahlt Probe, inelastische Streuung durch Rotations-, Schwingungs-, Phonon und Spin-Flip-Prozesse, plotte Spektrum als Verschiebung gegen das Laser Licht (in \si{\per\cm}) }
\eng{Monochromatic light (\fRef{Laser}) shines on sample, inelastic scattering because of rotation-, vibration-, phonon and spinflip-processes, plot spectrum as shift of the laser light (in \si{\per\cm})}
\ger{Monochromatisches Licht (\fRef{Laser}) bestrahlt Probe, inelastische Streuung durch Rotations-, Schwingungs-, Phonon und Spin-Flip-Prozesse, plotte Spektrum als Verschiebung gegen das Laser Licht (in \si{\per\cm}) }
}
\end{minipagetable}
\begin{minipage}{0.45\textwidth}
@ -44,18 +44,18 @@
\desc[german]{Photolumeszenz-Spektroskopie}{}{}
\begin{minipagetable}{pl}
\tentry{application}{
\eng{Crystal structure, Doping, Band Gaps, Layer thickness in \fqEqRef{cm:misc:vdw_material}}
\ger{Kristallstruktur, Dotierung, Bandlücke, Schichtdicke im \fqEqRef{cm:misc:vdw_material}}
\eng{Crystal structure, Doping, Band Gaps, Layer thickness in \fRef{cm:misc:vdw_material}}
\ger{Kristallstruktur, Dotierung, Bandlücke, Schichtdicke im \fRef{cm:misc:vdw_material}}
}
\tentry{how}{
\eng{Monochromatic light (\fqEqRef{Laser}) shines on sample, electrons are excited, relax to the conduction band minimum and finally accross the band gap under photon emission}
\ger{Monochromatisches Licht (\fqEqRef{Laser}) bestrahlt Probe, Elektronen werden angeregt und relaxieren in das Leitungsband-Minimum und schließlich über die Bandlücke unter Photonemission}
\eng{Monochromatic light (\fRef{Laser}) shines on sample, electrons are excited, relax to the conduction band minimum and finally accross the band gap under photon emission}
\ger{Monochromatisches Licht (\fRef{Laser}) bestrahlt Probe, Elektronen werden angeregt und relaxieren in das Leitungsband-Minimum und schließlich über die Bandlücke unter Photonemission}
}
\end{minipagetable}
\begin{minipage}{0.45\textwidth}
\begin{figure}[H]
\centering
% \includegraphics[width=0.8\textwidth]{img/cm_amf.pdf}
% \includegraphics[width=0.8\textwidth]{img_static/cm_amf.pdf}
% \caption{\cite{Bian2021}}
\end{figure}
\end{minipage}
@ -97,7 +97,7 @@
\begin{minipage}{0.45\textwidth}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{img/cm_amf.pdf}
\includegraphics[width=0.8\textwidth]{img_static/cm_amf.pdf}
\caption{\cite{Bian2021}}
\end{figure}
\end{minipage}
@ -122,7 +122,7 @@
\begin{minipage}{0.45\textwidth}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{img/cm_stm.pdf}
\includegraphics[width=0.8\textwidth]{img_static/cm_stm.pdf}
\caption{\cite{Bian2021}}
\end{figure}
\end{minipage}
@ -168,7 +168,7 @@
\end{minipagetable}
\begin{minipage}{0.45\textwidth}
\centering
\includegraphics[width=\textwidth]{img/cm_cvd_english.pdf}
\includegraphics[width=\textwidth]{img_static/cm_cvd_english.pdf}
\end{minipage}
\end{bigformula}

102
src/cm/vib.tex Normal file
View File

@ -0,0 +1,102 @@
\Section[
\eng{Lattice vibrations}
\ger{Gitterschwingungen}
]{vib}
\begin{formula}{dispersion_1atom_basis}
\desc{Phonon dispersion of a lattice with a one-atom basis}{same as the dispersion of a linear chain}{$C_n$ force constants between layer $s$ and $s+n$, $M$ \qtyRef{mass} of the reference atom, $a$ \qtyRef{lattice_constant}, $q$ phonon \qtyRef{wavevector}, $u$ Ansatz for the atom displacement}
\desc[german]{Phonondispersion eines Gitters mit zweiatomiger Basis}{gleich der Dispersion einer linearen Kette}{$C_n$ Kraftkonstanten zwischen Ebene $s$ und $s+n$, $M$ \qtyRef{mass} des Referenzatoms, $a$ \qtyRef{lattice_constant}, $q$ Phonon \qtyRef{wavevector}, $u$ Ansatz für die Atomauslenkung}
\begin{gather}
\omega^2 = \frac{4C_1}{M}\left[\sin^2 \left(\frac{qa}{2}\right) + \frac{C2}{C1} \sin^2(qa)\right] \\
\intertext{\GT{with}}
u_{s+n} = U\e^{-i \left[\omega t - q(s+n)a \right]}
\end{gather}
\newFormulaEntry
\fig{img/cm_vib_dispersion_one_atom_basis.pdf}
\end{formula}
\begin{formula}{dispersion_2atom_basis}
\desc{Phonon dispersion of a lattice with a two-atom basis}{}{$C$ force constant between layers, $M_i$ \qtyRef{mass} of the basis atoms, $a$ \qtyRef{lattice_constant}, $q$ phonon \qtyRef{wavevector}, $u, v$ Ansatz for the displacement of basis atom 1 and 2, respectively}
\desc[german]{Phonondispersion eines Gitters mit einatomiger Basis}{}{$C$ Kraftkonstanten zwischen Ebene $s$ und $s+n$, $M_i$ \qtyRef{mass} der Basisatome, $a$ \qtyRef{lattice_constant}, $q$ Phonon \qtyRef{wavevector}, $u, v$ jeweils Ansatz für die Atomauslenkung des Basisatoms 1 und 2}
\begin{gather}
\omega^2_{\txa,\txo} = C \left(\frac{1}{M_1}+\frac{1}{M_2}\right) \mp C \sqrt{\left(\frac{1}{M_1}+\frac{1}{M_2}\right)^2 - \frac{4}{M_1M_2} \sin^2 \left(\frac{qa}{2}\right)}
\intertext{\GT{with}}
u_{s} = U\e^{-i \left(\omega t - qsa \right)}, \quad
v_{s} = V\e^{-i \left(\omega t - qsa \right)}
\end{gather}
\newFormulaEntry
\fig{img/cm_vib_dispersion_two_atom_basis.pdf}
\end{formula}
\begin{formula}{branches}
\desc{Vibration branches}{}{}
\desc[german]{Vibrationsmoden}{}{}
\ttxt{\eng{
\textbf{Acoustic}: 3 modes (1 longitudinal, 2 transversal), the two basis atoms oscillate in phase.
\\\textbf{Optical}: 3 modes, the two basis atoms oscillate in opposition. A dipole moment is created that can couple to photons.
}\ger{
\textbf{Akustisch}: 3 Moden (1 longitudinal, 2 transversal), die zwei Basisatome schwingen in Phase.
\\ \textbf{Optisch}: 3 Moden, die zwei Basisatome schwingen gegenphasig. Das dadurch entstehende Dipolmoment erlaubt die Wechselwirkung mit Photonen.
}}
\end{formula}
\Subsection[
\eng{Einstein model}
\ger{Einstein-Modell}
]{einstein}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
All lattice vibrations have the \fRef[same frequency]{:::frequency}.
Underestimates the \fRef{:::heat_capacity} for low temperatures.
}\ger{
Alle Gittereigenschwingungen haben die \fRef[selbe Frequenz]{:::frequency}
Sagt zu kleine \fRef[Wärmekapazitäten]{:::heat_capacity} für tiefe Temperaturen voraus.
}}
\end{formula}
\begin{formula}{frequency}
\desc{Einstein frequency}{}{}
\desc[german]{Einstein-Frequenz}{}{}
\eq{\omega_\txE}
\end{formula}
\begin{formula}{heat_capacity}
\desc{\qtyRef{heat_capacity}}{according to the Einstein model}{}
\desc[german]{}{nach dem Einstein-Modell}{}
\eq{C_V^\txE = 3N\kB \left( \frac{\hbar\omega_\txE}{\kB T}\right)^2 \frac{\e^{\frac{\hbar\omega_\txE}{\kB T}}}{ \left(\e^{\frac{\hbar\omega_\txE}{\kB T}} - 1\right)^2}}
\end{formula}
\Subsection[
\eng{Debye model}
\ger{Debye-Modell}
]{debye}
\begin{formula}{description}
\desc{Description}{}{}
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
Atoms behave like coupled \fRef[quantum harmonic oscillators]{sec:qm:hosc}. The finite sample size leads to periodic boundary conditio. The finite sample size leads to periodic boundary conditions for the vibrations.
}\ger{
Atome verhalten sich wie gekoppelte \fRef[quantenmechanische harmonische Oszillatoren]{sec:qm:hosc}. Die endliche Ausdehnung des Körpers führt zu periodischen Randbedingungen.
}}
\end{formula}
\begin{formula}{phonon_dos}
\desc{Phonon density of states}{}{\QtyRef{volume}, $v$ \qtyRef{speed_of_sound} of the phonon mode, $\omega$ phonon frequency}
\desc[german]{Phononenzustandsdichte}{}{\QtyRef{volume}, $v$ \qtyRef{speed_of_sound} des Dispersionszweigs, $\omega$ Phononfrequenz}
\eq{D(\omega) \d \omega = \frac{V}{2\pi^2} \frac{\omega^2}{v^3} \d\omega}
\end{formula}
\begin{formula}{debye_frequency}
\desc{Debye frequency}{Maximum phonon frequency}{$v$ \qtyRef{speed_of_sound}, $N/V$ atom density}
\desc[german]{Debye-Frequenz}{Maximale Phononenfrequenz}{$v$ \qtyRef{speed_of_sound}, $N/V$ Atomdichte}
\eq{\omega_\txD = v \left(6\pi^2 \frac{N}{V}\right)^{1/3}}
\hiddenQuantity{\omega_\txD}{\per\s}{s}
\end{formula}
\begin{formula}{heat_capacity}
\desc{\qtyRef{heat_capacity}}{according to the Debye model}{$N$ number of atoms, \ConstRef{boltzmann}, \QtyRef{debye_frequency}}
\desc[german]{}{nach dem Debye-Modell}{$N$ Anzahl der Atome, \ConstRef{boltzmann}, \QtyRef{debye_frequency}}
\eq{C_V^\txD = 9N\kB \left(\frac{\kB T}{\hbar \omega_\txD}\right)^3 \int_0^{\frac{\hbar\omega_\txD}{\kB T}} \d x \frac{x^4 \e^x}{(\e^x-1)^2} }
\end{formula}

View File

@ -3,12 +3,12 @@
% \ger{}
]{ad}
\begin{formula}{hamiltonian}
\desc{Electron Hamiltonian}{}{$\hat{T}$ \fqEqRef{comp:est:kinetic_energy}, $\hat{V}$ \fqEqRef{comp:est:potential_energy}, $\txe$ \GT{electrons}, $\txn$ \GT{nucleons}}
\desc{Electron Hamiltonian}{}{$\hat{T}$ \fRef{comp:est:kinetic_energy}, $\hat{V}$ \fRef{comp:est:potential_energy}, $\txe$ \GT{electrons}, $\txn$ \GT{nucleons}}
\desc[german]{Hamiltonian der Elektronen}{}{}
\eq{\hat{H}_\txe = \hat{T}_\txe + V_{\txe \leftrightarrow \txe} + V_{\txn \leftrightarrow \txe}}
\end{formula}
\begin{formula}{ansatz}
\desc{Wave function ansatz}{}{$\psi_\text{en}^n$ eigenstate $n$ of \fqEqRef{comp:est:hamiltonian}, $\psi_\txe^i$ eigenstate $i$ of \fqEqRef{comp:ad:bo:hamiltonian}, $\vecr,\vecR$ electron/nucleus positions, $\sigma$ electron spin, $c^{ni}$ coefficients}
\desc{Wave function ansatz}{}{$\psi_\text{en}^n$ eigenstate $n$ of \fRef{comp:est:hamiltonian}, $\psi_\txe^i$ eigenstate $i$ of \fRef{comp:ad:hamiltonian}, $\vecr,\vecR$ electron/nucleus positions, $\sigma$ electron spin, $c^{ni}$ coefficients}
\desc[german]{Wellenfunktion Ansatz}{}{}
\eq{\psi_\text{en}^n\big(\{\vecr,\sigma\},\{\vecR\}\big) = \sum_i c^{ni}\big(\{\vecR\}\big)\, \psi_\txe^i\big(\{\vecr,\sigma\},\{\vecR\}\big)}
\end{formula}
@ -34,30 +34,30 @@
\ger{Born-Oppenheimer Näherung}
]{bo}
\begin{formula}{adiabatic_approx}
\desc{Adiabatic approximation}{Electronic configuration remains the same when atoms move (\absRef{adiabatic_theorem})}{$\Lambda_{ij}$ \fqEqRef{comp:ad:coupling_operator}}
\desc{Adiabatic approximation}{Electronic configuration remains the same when atoms move (\absRef{adiabatic_theorem})}{$\Lambda_{ij}$ \fRef{comp:ad:coupling_operator}}
\desc[german]{Adiabatische Näherung}{Elektronenkonfiguration bleibt gleich bei Bewegung der Atome gleichl (\absRef{adiabatic_theorem})}{}
\eq{\Lambda_{ij} = 0 \quad \text{\GT{for} } i\neq j}
\end{formula}
\begin{formula}{approx}
\desc{Born-Oppenheimer approximation}{Electrons are not influenced by the movement of the atoms}{\GT{see} \fqEqRef{comp:ad:equation}, $V_{\txn \leftrightarrow \txn} = \const$ absorbed into $E_\txe^j$}
\desc{Born-Oppenheimer approximation}{Electrons are not influenced by the movement of the atoms}{\GT{see} \fRef{comp:ad:equation}, $V_{\txn \leftrightarrow \txn} = \const$ absorbed into $E_\txe^j$}
\desc[german]{Born-Oppenheimer Näherung}{Elektronen werden nicht durch die Bewegung der Atome beeinflusst}{}
\begin{gather}
\Lambda_{ij} = 0
\shortintertext{\fqEqRef{comp:ad:bo:equation} \Rightarrow}
% \shortintertext{\fRef{comp:ad:bo:equation} \Rightarrow}
\left[E_e^i\big(\{\vecR\}\big) + \hat{T}_\txn - E^n\right]c^{ni}\big(\{\vecR\}\big) = 0
\end{gather}
\end{formula}
\begin{formula}{surface}
\desc{Born-Oppenheimer surface}{Potential energy surface (PES)\\ The nuclei follow Newtons equations of motion on the BO surface if the system is in the electronic ground state}{$E_\txe^0, \psi_\txe^0$ lowest eigenvalue/eigenstate of \fqEqRef{comp:ad:bo:hamiltonian}}
\desc[german]{Born-Oppenheimer Potentialhyperfläche}{Die Nukleonen Newtons klassichen Bewegungsgleichungen auf der BO Hyperfläche wenn das System im elektronischen Grundzustand ist}{$E_\txe^0, \psi_\txe^0$ niedrigster Eigenwert/Eigenzustand vom \fqEqRef{comp:ad:bo:hamiltonian}}
\desc{Born-Oppenheimer surface}{Potential energy surface (PES)\\ The nuclei follow Newtons equations of motion on the BO surface if the system is in the electronic ground state}{$E_\txe^0, \psi_\txe^0$ lowest eigenvalue/eigenstate of \fRef{comp:ad:hamiltonian}}
\desc[german]{Born-Oppenheimer Potentialhyperfläche}{Die Nukleonen Newtons klassichen Bewegungsgleichungen auf der BO Hyperfläche wenn das System im elektronischen Grundzustand ist}{$E_\txe^0, \psi_\txe^0$ niedrigster Eigenwert/Eigenzustand vom \fRef{comp:ad:hamiltonian}}
\begin{gather}
V_\text{BO}\big(\{\vecR\}\big) = E_\txe^0\big(\{\vecR\}\big) \\
M_I \ddot{\vecR}_I(t) = - \Grad_{\vecR_I} V_\text{BO}\big(\{\vecR(t)\}\big)
\end{gather}
\end{formula}
\begin{formula}{ansatz}
\desc{Ansatz for \secEqRef{approx}}{Product of single electronic and single nuclear state}{}
\desc[german]{Ansatz für \secEqRef{approx}}{Produkt aus einem einzelnen elektronischen Zustand und einem Nukleus-Zustand}{}
\desc{Ansatz for \fRef{::approx}}{Product of single electronic and single nuclear state}{}
\desc[german]{Ansatz für \fRef{::approx}}{Produkt aus einem einzelnen elektronischen Zustand und einem Nukleus-Zustand}{}
\eq{
\psi_\text{BO} = c^{n0} \big(\{\vecR\}\big) \,\psi_\txe^0 \big(\{\vecr,\sigma\},\{\vecR\}\big)
}
@ -88,10 +88,14 @@
\begin{formula}{forces}
\desc{Forces}{}{}
\desc[german]{Kräfte}{}{}
\eq{\vec{F}_I = -\Grad_{\vecR_I} E \explOverEq{\fqEqRef{qm:se:hellmann_feynmann}} -\Braket{\psi(\vecR_I) | \left(\Grad_{\vecR_I} \hat{H}(\vecR_I)\right) | \psi(\vecR) }}
\eq{
\vec{F}_I = -\Grad_{\vecR_I} E
\explOverEq{\fRef{qm:se:hellmann_feynmann}}
-\Braket{\psi(\vecR_I) | \left(\Grad_{\vecR_I} \hat{H}(\vecR_I)\right) | \psi(\vecR)}
}
\end{formula}
\begin{formula}{ionic_cycle}
\desc{Ionic cycle}{\fqEqRef{comp:est:dft:ks:scf} for geometry optimization}{}
\desc{Ionic cycle}{\fRef{comp:est:dft:ks:scf} for geometry optimization}{}
\desc[german]{}{}{}
\ttxt{
\eng{
@ -99,11 +103,11 @@
\item Initial guess for $n(\vecr)$
\begin{enumerate}
\item Calculate effective potential $V_\text{eff}$
\item Solve \fqEqRef{comp:est:dft:ks:equation}
\item Solve \fRef{comp:est:dft:ks:equation}
\item Calculate density $n(\vecr)$
\item Repeat b-d until self consistent
\end{enumerate}
\item Calculate \secEqRef{forces}
\item Calculate \fRef{:::forces}
\item If $F\neq0$, get new geometry by interpolating $R$ and restart
\end{enumerate}
}
@ -146,8 +150,8 @@
\end{formula}
\begin{formula}{harmonic_approx}
\desc{Harmonic approximation}{Hessian matrix, 2nd order Taylor expansion of the \fqEqRef{comp:ad:bo:surface} around every nucleus position $\vecR_I^0$}{$\Phi_{IJ}^{\mu\nu}$ \secEqRef{force_constant_matrix}, $s$ displacement}
\desc[german]{Harmonische Näherung}{Hesse matrix, Taylor Entwicklung der \fqEqRef{comp:ad:bo:surface} in zweiter Oddnung um Atomposition $\vecR_I^0$}{}
\desc{Harmonic approximation}{Hessian matrix, 2nd order Taylor expansion of the \fRef{comp:ad:bo:surface} around every nucleus position $\vecR_I^0$}{$\Phi_{IJ}^{\mu\nu}$ \fRef{::force_constant_matrix}, $s$ displacement}
\desc[german]{Harmonische Näherung}{Hesse matrix, Taylor Entwicklung der \fRef{comp:ad:bo:surface} in zweiter Oddnung um Atomposition $\vecR_I^0$}{}
\eq{ V^\text{BO}(\{\vecR_I\}) \approx V^\text{BO}(\{\vecR_I^0\}) + \frac{1}{2} \sum_{I,J}^N \sum_{\mu,\nu}^3 s_I^\mu s_J^\nu \Phi_{IJ}^{\mu\nu} }
\end{formula}
@ -166,13 +170,13 @@
\eq{\Phi_{IJ}^{\mu\nu} \approx \frac{\vecF_I^\mu(\vecR_1^0, \dots, \vecR_J^0+\Delta s_J^\nu,\dots, \vecR_N^0)}{\Delta s_J^\nu}}
\end{formula}
\begin{formula}{dynamical_matrix}
\desc{Dynamical matrix}{Mass reduced \absRef[fourier transform]{fourier_transform} of the \fqEqRef{comp:ad:latvib:force_constant_matrix}}{$\vec{L}$ vector from origin to unit cell $n$, $\alpha/\beta$ atom index in th unit cell, $\vecq$ \qtyRef{wave_vector}, $\Phi$ \fqEqRef{comp:ad:latvib:force_constant_matrix}, $M$ \qtyRef{mass}}
\desc{Dynamical matrix}{Mass reduced \absRef[fourier transform]{fourier_transform} of the \fRef{comp:ad:latvib:force_constant_matrix}}{$\vec{L}$ vector from origin to unit cell $n$, $\alpha/\beta$ atom index in th unit cell, $\vecq$ \qtyRef{wavevector}, $\Phi$ \fRef{comp:ad:latvib:force_constant_matrix}, $M$ \qtyRef{mass}}
% \desc[german]{}{}{}
\eq{D_{\alpha\beta}^{\mu\nu} = \frac{1}{\sqrt{M_\alpha M_\beta}} \sum_{n^\prime} \Phi_{\alpha\beta}^{\mu\nu}(n-n^\prime) \e^{\I \vec{q}(\vec{L}_n - \vec{L}_{n^\prime})}}
\end{formula}
\begin{formula}{eigenvalue_equation}
\desc{Eigenvalue equation}{For a periodic crystal, reduces number of equations from $3N_p\times N$ to $3N_p$. Eigenvalues represent phonon band structure.}{$N_p$ number of atoms per unit cell, $\vecc$ displacement amplitudes, $\vecq$ \qtyRef{wave_vector}, $\mat{D}$ \secEqRef{dynamical_matrix}}
\desc{Eigenvalue equation}{For a periodic crystal, reduces number of equations from $3N_p\times N$ to $3N_p$. Eigenvalues represent phonon band structure.}{$N_p$ number of atoms per unit cell, $\vecc$ displacement amplitudes, $\vecq$ \qtyRef{wave_vector}, $\mat{D}$ \fRef{::dynamical_matrix}}
\desc[german]{Eigenwertgleichung}{}{}
\eq{\omega^2 \vecc(\vecq) = \mat{D}(\vecq) \vecc(\vecq) }
\end{formula}
@ -186,7 +190,7 @@
\desc{Quasi-harmonic approximation}{}{}
\desc[german]{}{}{}
\ttxt{\eng{
Include thermal expansion by assuming \fqEqRef{comp:ad:bo:surface} is volume dependant.
Include thermal expansion by assuming \fRef{comp:ad:bo:surface} is volume dependant.
}}
\end{formula}
@ -194,7 +198,7 @@
\desc{Pertubative approaches}{}{}
% \desc[german]{Störungs}{}{}
\ttxt{\eng{
Expand \fqEqRef{comp:ad:latvib:force_constant_matrix} to third order.
Expand \fRef{comp:ad:latvib:force_constant_matrix} to third order.
}}
\end{formula}
@ -210,14 +214,13 @@
\desc[german]{Beschreibung}{}{}
\ttxt{\eng{
\begin{itemize}
\item Exact (within previous approximations) approach to treat anharmonic effects in materials.
\item Computes time-dependant observables.
\item Assumes fully classical nuclei.
\item Assumes fully classical nuclei
\item Macroscropical observables from statistical ensembles
\item System evolves in time (ehrenfest). Number of points to consider does NOT scale with system size.
\item Exact because time dependance is studied explicitly, not via harmonic approx.
\item Number of points to consider does NOT scale with system size
\item System evolves in time (\absRef{ehrenfest_theorem})
\item Computes time-dependant observables
\item Does not use \fRef{comp:ad:latvib:harmonic_approx} \Rightarrow Anharmonic effects included
\end{itemize}
\TODO{cleanup}
}}
\end{formula}
@ -244,7 +247,7 @@
\ttxt{\eng{
\begin{enumerate}
\item Calculate electronic ground state of current nucleui configuration $\{\vecR(t)\}$ with \abbrRef{ksdft}
\item \hyperref[f:comp:ad:opt:forces]{Calculate forces} from the \fqEqRef{comp:ad:bo:surface}
\item \fRef[Calculate forces]{comp:ad:opt:forces} from the \fRef{comp:ad:bo:surface}
\item Update positions and velocities
\end{enumerate}
\begin{itemize}
@ -375,7 +378,7 @@
\end{formula}
\begin{formula}{vdos} \abbrLabel{VDOS}
\desc{Vibrational density of states (VDOS)}{}{$S_{v_i}$ velocity \secEqRef{spectral_density} of particle $I$}
\desc{Vibrational density of states (VDOS)}{}{$S_{v_i}$ velocity \fRef{::spectral_density} of particle $I$}
\desc[german]{Vibrationszustandsdicht (VDOS)}{}{}
\eq{g(\omega) \sim \sum_{I=1}^N M_I S_{v_I}(\omega)}
\end{formula}

View File

@ -14,7 +14,7 @@
\eq{\hat{V}_{i \leftrightarrow j} &= -\sum_{k,l} \frac{Z_i Z_j e^2}{\abs{\vecr_k - \vecr_l}}}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Electronic structure Hamiltonian}{}{$\hat{T}$ \fqEqRef{comp:est:kinetic_energy}, $\hat{V}$ \fqEqRef{comp:est:potential_energy}, $\txe$ \GT{electrons}, $\txn$ \GT{nucleons}}
\desc{Electronic structure Hamiltonian}{}{$\hat{T}$ \fRef{comp:est:kinetic_energy}, $\hat{V}$ \fRef{comp:est:potential_energy}, $\txe$ \GT{electrons}, $\txn$ \GT{nucleons}}
\eq{\hat{H} &= \hat{T}_\txe + \hat{T}_\txn + V_{\txe \leftrightarrow \txe} + V_{\txn \leftrightarrow \txe} + V_{\txn \leftrightarrow \txn}}
\end{formula}
\begin{formula}{mean_field}
@ -64,8 +64,8 @@
\begin{ttext}
\eng{
\begin{itemize}
\item Assumes wave functions are \fqEqRef{qm:other:slater_det} \Rightarrow Approximation
\item \fqEqRef{comp:est:mean_field} theory obeying the Pauli principle
\item Assumes wave functions are \fRef{qm:other:slater_det} \Rightarrow Approximation
\item \fRef{comp:est:mean_field} theory obeying the Pauli principle
\item Self-interaction free: Self interaction is cancelled out by the Fock-term
\end{itemize}
}
@ -76,14 +76,14 @@
$\varphi_\xi$ single particle wavefunction of $\xi$th orbital,
$\hat{T}$ kinetic electron energy,
$\hat{V}_{\text{en}}$ electron-nucleus attraction,
$\hat{V}_{\text{HF}}$ \fqEqRef{comp:dft:hf:potential},
$h\hat{V}_{\text{HF}}$ \fRef{comp:est:dft:hf:potential},
$x = \vecr,\sigma$ position and spin
}
\desc[german]{Hartree-Fock Gleichung}{}{
$\varphi_\xi$ ein-Teilchen Wellenfunktion des $\xi$-ten Orbitals,
$\hat{T}$ kinetische Energie der Elektronen,
$\hat{V}_{\text{en}}$ Electron-Kern Anziehung,
$\hat{V}_{\text{HF}}$ \fqEqRef{comp:dft:hf:potential},
$\hat{V}_{\text{HF}}$ \fRef{comp:est:dft:hf:potential},
$x = \vecr,\sigma$ Position and Spin
}
\eq{
@ -158,7 +158,7 @@
\eq{n(\vecr) = \sum_{i=1}^N \abs{\phi_i(\vecr)}^2}
\end{formula}
\begin{formula}{functional}
\desc{Kohn-Sham functional}{}{$T_\text{KS}$ kinetic enery, $V_\text{ext}$ external potential, $E_\txH$ \hyperref[f:comp:est:dft:hf:potential]{Hartree term}, $E_\text{XC}$ \fqEqRef{comp:est:dft:xc:xc}}
\desc{Kohn-Sham functional}{}{$T_\text{KS}$ kinetic enery, $V_\text{ext}$ external potential, $E_\txH$ \fRef[Hartree term]{comp:est:dft:hf:potential}, $E_\text{XC}$ \fRef{comp:est:dft:xc:xc}}
\desc[german]{Kohn-Sham Funktional}{}{}
\eq{E_\text{KS}[n(\vecr)] = T_\text{KS}[n(\vecr)] + V_\text{ext}[n(\vecr)] + E_\text{H}[n(\vecr)] + E_\text{XC}[n(\vecr)] }
\end{formula}
@ -186,7 +186,7 @@
\begin{enumerate}
\item Initial guess for $n(\vecr)$
\item Calculate effective potential $V_\text{eff}$
\item Solve \fqEqRef{comp:est:dft:ks:equation}
\item Solve \fRef{comp:est:dft:ks:equation}
\item Calculate density $n(\vecr)$
\item Repeat 2-4 until self consistent
\end{enumerate}
@ -212,27 +212,25 @@
}}
\end{formula}
\begin{formula}{lda}
\desc{Local density approximation (LDA)}{Simplest DFT functionals}{$\epsilon_\txX$ calculated exchange energy from \hyperref[f:comp:qmb:models:heg]{HEG model}, $\epsilon_\txC$ correlation energy calculated with \fqSecRef{comp:qmb:methods:qmonte-carlo}}
\desc{Local density approximation (LDA)}{Simplest DFT functionals}{$\epsilon_\txX$ calculated exchange energy from \fRef[HEG model]{comp:qmb:models:heg}, $\epsilon_\txC$ correlation energy calculated with \fRef{comp:qmb:methods:qmonte-carlo}}
\desc[german]{}{}{}
\abbrLabel{LDA}
\eq{E_\text{XC}^\text{LDA}[n(\vecr)] = \int \d^3r\,n(r) \Big[\epsilon_\txX[n(\vecr)] + \epsilon_\txC[n(\vecr)]\Big]}
\end{formula}
\begin{formula}{gga}
\desc{Generalized gradient approximation (GGA)}{}{$\epsilon_\txX$ calculated exchange energy from \hyperref[f:comp:qmb:models:heg]{HEG model}, $F_\text{XC}$ function containing exchange-correlation energy dependency on $n$ and $\Grad n$}
\desc{Generalized gradient approximation (GGA)}{}{$\epsilon_\txX$ calculated exchange energy from \fRef[HEG model]{comp:qmb:models:heg}, $F_\text{XC}$ function containing exchange-correlation energy dependency on $n$ and $\Grad n$}
\desc[german]{}{}{}
\abbrLabel{GGA}
\eq{E_\text{XC}^\text{GGA}[n(\vecr)] = \int \d^3r\,n(r) \epsilon_\txX[n(\vecr)]\,F_\text{XC}[n(\vecr), \Grad n(\vecr)]}
\end{formula}
\TODO{PBE}
\begin{formula}{hybrid}
\desc{Hybrid functionals}{}{}
\desc[german]{Hybride Funktionale}{}{$\alpha$ mixing paramter, $E_\txX$ exchange energy, $E_\txC$ correlation energy}
\eq{\alpha E_\txX^\text{HF} + (1-\alpha) E_\txX^\text{GGA} + E_\txC^\text{GGA}}
\ttxt{\eng{
Include \hyperref[f:comp:dft:hf:potential]{Fock term} (exact exchange) in other functional, like \abbrRef{gga}. Computationally expensive
Include \fRef[Fock term]{comp:est:dft:hf:potential} (exact exchange) in other functional, like \abbrRef{gga}. Computationally expensive
}}
\end{formula}
@ -246,7 +244,7 @@
\end{gather}
\separateEntries
\ttxt{\eng{
Use \abbrRef{gga} and \hyperref[comp:est:dft:hf:potential]{Fock} exchange for short ranges (SR) and only \abbrRef{GGA} for long ranges (LR).
Use \abbrRef{gga} and \fRef[Fock]{comp:est:dft:hf:potential} exchange for short ranges (SR) and only \abbrRef{GGA} for long ranges (LR).
\abbrRef{GGA} correlation is always used. Useful when dielectric screening reduces long range interactions, saves computational cost.
}}
\end{formula}
@ -255,7 +253,7 @@
\desc{Comparison of DFT functionals}{}{}
\desc[german]{Vergleich von DFT Funktionalen}{}{}
% \begin{tabular}{l|c}
% \hyperref[f:comp:est:dft:hf:potential]{Hartree-Fock} & only exchange, no correlation \Rightarrow upper bound of GS energy \\
% \fRef[Hartree-Fock]{comp:est:dft:hf:potential} & only exchange, no correlation \Rightarrow upper bound of GS energy \\
% \abbrRef{lda} & understimates e repulsion \Rightarrow Overbinding \\
% \abbrRef{gga} & underestimate band gap \\
% hybrid & underestimate band gap
@ -374,7 +372,7 @@
\ger{Basis-Sets}
]{basis}
\begin{formula}{plane_wave}
\desc{Plane wave basis}{Plane wave ansatz in \fqEqRef{comp:est:dft:ks:equation}\\Good for periodic structures, allows computation parallelization over a sample points in the \abbrRef{brillouin_zone}}{}
\desc{Plane wave basis}{Plane wave ansatz in \fRef{comp:est:dft:ks:equation}\\Good for periodic structures, allows computation parallelization over a sample points in the \abbrRef{brillouin_zone}}{}
\desc[german]{Ebene Wellen als Basis}{}{}
\eq{\sum_{\vecG^\prime} \left[\frac{\hbar^2 \abs{\vecG+\veck}^2}{2m} \delta_{\vecG,\vecG^\prime} + V_\text{eff}(\vecG-\vecG^\prime)\right] c_{i,\veck,\vecG^\prime} = \epsilon_{i,\veck} c_{i,\veck,\vecG}}
\end{formula}

View File

@ -19,22 +19,22 @@
\begin{formula}{accuracy}
\desc{Accuracy}{}{}
\desc[german]{Genauigkeit}{}{}
\eq{a = \frac{\tgt{cp}}{\tgt{fp} + \tgt{cp}}}
\eq{a = \frac{\tGT{::cp}}{\tGT{::fp} + \tGT{::cp}}}
\end{formula}
\eng{n_desc}{Number of data points}
\ger{n_desc}{Anzahl der Datenpunkte}
\begin{formula}{mean_abs_error}
\desc{Mean absolute error (MAE)}{}{$y$ \gt{y}, $\hat{y}$ \gt{yhat}, $n$ \gt{n_desc}}
\desc{Mean absolute error (MAE)}{}{$y$ \GT{::y}, $\hat{y}$ \GT{::yhat}, $n$ \GT{::n_desc}}
\desc[german]{Mittlerer absoluter Fehler (MAE)}{}{}
\eq{\text{MAE} = \frac{1}{n} \sum_{i=1}^n \abs{y_i - \hat{y}_i}}
\end{formula}
\begin{formula}{mean_square_error}
\desc{Mean squared error (MSE)}{}{$y$ \gt{y}, $\hat{y}$ \gt{yhat}, $n$ \gt{n_desc}}
\desc{Mean squared error (MSE)}{}{$y$ \GT{::y}, $\hat{y}$ \GT{::yhat}, $n$ \GT{::n_desc}}
\desc[german]{Methode der kleinsten Quadrate (MSE)}{Quadratwurzel des mittleren quadratischen Fehlers (SME)}{}
\eq{\text{MSE} = \frac{1}{n} \sum_{i=1}^n \left(y_i - \hat{y}_i\right)^2}
\end{formula}
\begin{formula}{root_mean_square_error}
\desc{Root mean squared error (RMSE)}{}{$y$ \gt{y}, $\hat{y}$ \gt{yhat}, $n$ \gt{n_desc}}
\desc{Root mean squared error (RMSE)}{}{$y$ \GT{::y}, $\hat{y}$ \GT{::yhat}, $n$ \GT{::n_desc}}
\desc[german]{Standardfehler der Regression}{Quadratwurzel des mittleren quadratischen Fehlers (RSME)}{}
\eq{\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^n \left(y_i - \hat{y}_i\right)^2}}
\end{formula}
@ -48,8 +48,8 @@
\ger{Lineare Regression}
]{linear}
\begin{formula}{eq}
\desc{Linear regression}{Fits the data under the assumption of \hyperref[f:math:pt:distributions:cont:normal]{normally distributed errors}}{$\mat{x}\in\R^{N\times M}$ input data, $\mat{y}\in\R^{N\times L}$ output data, $\mat{b}$ bias, $\vec{\beta}$ weights, $N$ samples, $M$ features, $L$ output variables}
\desc[german]{Lineare Regression}{Fitted Daten unter der Annahme \hyperref[f:math:pt:distributions:cont:normal]{normalverteilter Fehler}}{}
\desc{Linear regression}{Fits the data under the assumption of \fRef[normally distributed errors]{math:pt:distributions:cont:normal}}{$\mat{x}\in\R^{N\times M}$ input data, $\mat{y}\in\R^{N\times L}$ output data, $\mat{b}$ bias, $\vec{\beta}$ weights, $N$ samples, $M$ features, $L$ output variables}
\desc[german]{Lineare Regression}{Fitted Daten unter der Annahme \fRef[normalverteilter Fehler]{math:pt:distributions:cont:normal}}{}
\eq{\mat{y} = \mat{\epsilon} + \mat{x} \cdot \vec{\beta}}
\end{formula}
\begin{formula}{design_matrix}
@ -60,13 +60,13 @@
}
\end{formula}
\begin{formula}{scalar_bias}
\desc{Linear regression with scalar bias}{Using the design matrix, the scalar is absorbed into the weight vector}{$\mat{y}$ output data, $\mat{X}$ \fqEqRef{comp:ml:reg:design_matrix}, $\vec{\beta}$ weights}
\desc{Linear regression with scalar bias}{Using the design matrix, the scalar is absorbed into the weight vector}{$\mat{y}$ output data, $\mat{X}$ \fRef{::design_matrix}, $\vec{\beta}$ weights}
\desc[german]{Lineare Regression mit skalarem Bias}{Durch die Designmatrix wird der Bias in den Gewichtsvektor absorbiert}{}
\eq{\mat{y} = \mat{X} \cdot \vec{\beta}}
\end{formula}
\begin{formula}{normal_equation}
\desc{Normal equation}{Solves \fqEqRef{comp:ml:reg:linear:scalar_bias} with \fqEqRef{comp:ml:performance:mse}}{$\mat{y}$ output data, $\mat{X}$ \fqEqRef{comp:ml:reg:linear:design_matrix}, $\vec{\beta}$ weights}
\desc[german]{Normalengleichung}{Löst \fqEqRef{comp:ml:reg:linear:scalar_bias} mit \fqEqRef{comp:ml:performance:mse}}{}
\desc{Normal equation}{Solves \fRef{comp:ml:reg:linear:scalar_bias} with \fRef{comp:ml:performance:mean_square_error}}{$\mat{y}$ output data, $\mat{X}$ \fRef{::design_matrix}, $\vec{\beta}$ weights}
\desc[german]{Normalengleichung}{Löst \fRef{comp:ml:reg:linear:scalar_bias} mit \fRef{comp:ml:performance:mean_square_error}}{}
\eq{\vec{\beta} = \left(\mat{X}^\T \mat{X}\right)^{-1} \mat{X}^T \mat{y}}
\end{formula}
@ -112,7 +112,7 @@
\desc{Bayesian linear regression}{}{}
\desc[german]{Bayes'sche lineare Regression}{}{}
\ttxt{\eng{
Assume a \fqEqRef{math:pt:bayesian:prior} distribution over the weights.
Assume a \fRef{math:pt:bayesian:prior} distribution over the weights.
Offers uncertainties in addition to the predictions.
}}
\end{formula}
@ -123,19 +123,18 @@
\ttxt{\eng{
Applies a L2 norm penalty on the weights.
This ensures unimportant features are less regarded and do not encode noise.
\\Corresponds to assuming a \fqEqRef{math:pt:bayesian:prior} \absRef{multivariate_normal_distribution} with $\vec{\mu} = 0$ and independent components ($\mat{\Sigma}$) for the weights.
\\Corresponds to assuming a \fRef{math:pt:bayesian:prior} \absRef{multivariate_normal_distribution} with $\vec{\mu} = 0$ and independent components ($\mat{\Sigma}$) for the weights.
}\ger{
Reduziert Gewichte mit der L2-Norm.
Dadurch werden unwichtige Features nicht berücksichtigt (kleines Gewicht) und enkodieren nicht Noise.
\\Entspricht der Annahme einer \absRef[Normalverteilung]{multivariate_normal_distribution} mit $\vec{\mu}=0$ und unanhängingen Komponenten ($\mat{Sigma}$ diagonaol) der die Gewichte als \fqEqRef{math:pt:bayesian:prior}.
\\Entspricht der Annahme einer \absRef[Normalverteilung]{multivariate_normal_distribution} mit $\vec{\mu}=0$ und unanhängingen Komponenten ($\mat{Sigma}$ diagonaol) der die Gewichte als \fRef{math:pt:bayesian:prior}.
}}
\end{formula}
\begin{formula}{ridge_weights}
\desc{Optimal weights}{for ridge regression}{$\lambda = \frac{\sigma^2}{\xi^2}$ shrinkage parameter, $\xi$ \absRef{variance} of the gaussian \fqEqRef{math:pt:bayesian:prior}, $\sigma$ \absRef{variance} of the gaussian likelihood of the data}
\desc{Optimal weights}{for ridge regression}{$\lambda = \frac{\sigma^2}{\xi^2}$ shrinkage parameter, $\xi$ \absRef{variance} of the gaussian \fRef{math:pt:bayesian:prior}, $\sigma$ \absRef{variance} of the gaussian likelihood of the data}
\desc[german]{Optimale Gewichte}{für Ridge Regression}{}
\eq{\vec{\beta} = \left(\mat{X}^\T \mat{X} + \lambda \mathcal{1} \right)^{-1} \mat{X}^\T \vecy}
\TODO{Does this only work for gaussian data?}
\end{formula}
\begin{formula}{lasso}
@ -143,11 +142,11 @@
\desc[german]{Lasso Regression}{}{}
\ttxt{\eng{
Applies a L1 norm penalty on the weights, which means features can be disregarded entirely.
\\Corresponds to assuming a \absRef{laplace_distribution} for the weights as \fqEqRef{math:pt:bayesian:prior}.
\\Corresponds to assuming a \absRef{laplace_distribution} for the weights as \fRef{math:pt:bayesian:prior}.
}\ger{
Reduziert Gewichte mit der L1-Norm.
Unwichtige Features werden reduziert und können auch ganz vernachlässigt werden und enkodieren nicht Noise.
\\Entspricht der Annahme einer \absRef[Laplace-Verteilung]{laplace_distribution} der die Gewichte als \fqEqRef{math:pt:bayesian:prior}.
\\Entspricht der Annahme einer \absRef[Laplace-Verteilung]{laplace_distribution} der die Gewichte als \fRef{math:pt:bayesian:prior}.
}}
\end{formula}
@ -158,7 +157,7 @@
% \desc[german]{}{}{}
\ttxt{\eng{
Gaussian process: A distribtuion over functions that produce jointly gaussian distribution.
Multivariate normal distribution like \secEqRef{bayesian}, except that $\vec{\mu}$ and $\mat{\Sigma}$ are functions.
Multivariate normal distribution like \fRef{:::linear_regression}, except that $\vec{\mu}$ and $\mat{\Sigma}$ are functions.
GPR: non-parametric Bayesion regressor, does not assume fixed functional form for the underlying data, instead, the data determines the functional shape,
with predictions governed by the covariance structure defined by the kernel (often \abbrRef{radial_basis_function}).
@ -168,7 +167,23 @@
\end{formula}
\TODO{soap}
\begin{formula}{soap}
\desc{Smooth overlap of atomic atomic positions (SOAP)}{}{}
% \desc[german]{}{}{}
\ttxt{\eng{
Goal: symmetric invariance, smoothness, completeness (completeness not achieved)
\\Gaussian smeared density expanded in \abbrRef{radial_basis_function} and spherical harmonics.
}}
\end{formula}
\begin{formula}{gaussian_approximation_potential}
\desc{Gaussian approximation potential}{Bond-order potential}{$V_\text{rep/attr}$ repulsive / attractive potential}
% \desc[german]{}{}{}
\ttxt{\eng{
Models atomic interactions via a \textit{bond-order} term $b$.
}}
\eq{V_\text{BondOrder}(\vecR_M, \vecR_N) = V_\text{rep}(\vecR_M, \vecR_N) + b_{MNK} V_\text{attr}(\vecR_M, \vecR_N)}
\end{formula}
\Subsection[
\eng{Gradient descent}

View File

@ -53,6 +53,15 @@
}
\end{formula}
\begin{formula}{flux_quantum}
\desc{Flux quantum}{}{}
\desc[german]{Flussquantum}{}{}
\constant{\Phi_0}{def}{
\val{2.067 833 848 \xE{-15}}{\weber=\volt\s=\kg\m^2\per\s^2\ampere}
}
\eq{\Phi_0 = \frac{h}{2e}}
\end{formula}
\begin{formula}{atomic_mass_unit}
\desc{Atomic mass unit}{}{}
\desc[german]{Atomare Massneinheit}{}{}

View File

@ -34,6 +34,7 @@
\eq{
\epsilon(\omega)_\txr = \frac{\epsilon(\omega)}{\epsilon_0}
}
\hiddenQuantity{\epsilon_\txr}{}{s}
\end{formula}
\begin{formula}{vacuum_permittivity}
@ -45,7 +46,7 @@
\end{formula}
\begin{formula}{electric_susceptibility}
\desc{Electric susceptibility}{Describes how polarized a dielectric material becomes when an electric field is applied}{$\epsilon_\txr$ \fqEqRef{ed:el:relative_permittivity}}
\desc{Electric susceptibility}{Describes how polarized a dielectric material becomes when an electric field is applied}{$\epsilon_\txr$ \fRef{ed:el:relative_permittivity}}
\desc[german]{Elektrische Suszeptibilität}{Beschreibt wie stark ein dielektrisches Material polarisiert wird, wenn ein elektrisches Feld angelegt wird}{}
\quantity{\chi_\txe}{}{s}
\eq{

View File

@ -2,7 +2,7 @@
\eng{Electromagnetism}
\ger{Elektromagnetismus}
]{em}
\begin{formula}{speed_of_light}
\begin{formula}{vacuum_speed_of_light}
\desc{Speed of light}{in the vacuum}{}
\desc[german]{Lightgeschwindigkeit}{in the vacuum}{}
\constant{c}{exp}{
@ -10,7 +10,7 @@
}
\end{formula}
\begin{formula}{vacuum_relations}
\desc{Vacuum permittivity - permeability relation}{\TODO{Does this have a name?}}{\ConstRef{vacuum_permittivity}, \ConstRef{magnetic_vacuum_permeability}, \ConstRef{speed_of_light}}
\desc{Vacuum permittivity - permeability relation}{\TODO{Does this have a name?}}{\ConstRef{vacuum_permittivity}, \ConstRef{magnetic_vacuum_permeability}, \ConstRef{vacuum_speed_of_light}}
\desc[german]{Vakuum Permittivität - Permeabilität Beziehung}{}{}
\eq{
\epsilon_0 \mu_0 = \frac{1}{c^2}
@ -25,8 +25,9 @@
\end{formula}
\begin{formula}{poynting}
\desc{Poynting vector}{Directional energy flux or power flow of an electromagnetic field [$\si{\W\per\m^2}$]}{}
\desc{Poynting vector}{Directional energy flux or power flow of an electromagnetic field}{}
\desc[german]{Poynting-Vektor}{Gerichteter Energiefluss oder Leistungsfluss eines elektromgnetischen Feldes [$\si{\W\per\m^2}$]}{}
\quantity{\vecS}{\W\per\m^2}{v}
\eq{\vec{S} = \vec{E} \times \vec{H}}
\end{formula}
@ -37,8 +38,8 @@
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian of a particle in an electromagnetic field}{In the \fqEqRef{ed:em:gauge:coulomb}}{\QtyRef{mass}, $\hat{p}$ \fqEqRef{qm:se:momentum_operator}, \QtyRef{charge}, \QtyRef{magnetic_vector_potential}, \ConstRef{speed_of_light}}
\desc[german]{Hamiltonian eines Teilchens im elektromagnetischen Feld}{In der \fqEqRef{ed:em:gauge:coulomb}}{}
\desc{Hamiltonian of a particle in an electromagnetic field}{In the \fRef{ed:em:maxwell:gauge:coulomb}}{\QtyRef{mass}, $\hat{p}$ \fRef{qm:se:momentum_operator}, \QtyRef{charge}, \QtyRef{magnetic_vector_potential}, \ConstRef{vacuum_speed_of_light}}
\desc[german]{Hamiltonian eines Teilchens im elektromagnetischen Feld}{In der \fRef{ed:em:maxwell:gauge:coulomb}}{}
\eq{
\hat{H} = \frac{1}{2m} \left[\hat{p} \ \frac{e \vec{A}}{c}\right]^2
}
@ -48,7 +49,7 @@
\Subsection[
\eng{Maxwell-Equations}
\ger{Maxwell-Gleichungen}
]{Maxwell}
]{maxwell}
\begin{formula}{vacuum}
\desc{Vacuum}{microscopic formulation}{}
\desc[german]{Vakuum}{Mikroskopische Formulierung}{}

View File

@ -11,8 +11,8 @@
\end{formula}
\begin{formula}{magnetic_flux_density}
\desc{Magnetic flux density}{Defined by \fqEqRef{ed:mag:lorentz}}{$\vec{H}$ \qtyRef{magnetic_field_intensity}, $\vec{M}$ \qtyRef{magnetization}, \ConstRef{magnetic_vacuum_permeability}}
\desc[german]{Magnetische Flussdichte}{Definiert über \fqEqRef{ed:mag:lorentz}}{}
\desc{Magnetic flux density}{Defined by \fRef{ed:mag:lorentz}}{$\vec{H}$ \qtyRef{magnetic_field_intensity}, $\vec{M}$ \qtyRef{magnetization}, \ConstRef{magnetic_vacuum_permeability}}
\desc[german]{Magnetische Flussdichte}{Definiert über \fRef{ed:mag:lorentz}}{}
\quantity{\vec{B}}{\tesla=\volt\s\per\m^2=\newton\per\ampere\m=\kg\per\ampere\s^2}{}
\eq{\vec{B} = \mu_0 (\vec{H}+\vec{M})}
\end{formula}
@ -60,6 +60,7 @@
\eq{
\mu_\txr = \frac{\mu}{\mu_0}
}
\hiddenQuantity{\mu_\txr}{ }{}
\end{formula}
\begin{formula}{gauss_law}
@ -88,9 +89,10 @@
\end{formula}
\begin{formula}{magnetic_susceptibility}
\desc{Susceptibility}{}{$\mu_\txr$ \fqEqRef{ed:mag:relative_permeability}}
\desc{Susceptibility}{}{$\mu_\txr$ \fRef{ed:mag:relative_permeability}}
\desc[german]{Suszeptibilität}{}{}
\eq{\chi_\txm = \pdv{M}{B} = \mu_\txr - 1}
\hiddenQuantity{\chi}{}{}
\end{formula}
@ -101,19 +103,19 @@
\ger{Magnetische Materialien}
]{materials}
\begin{formula}{paramagnetism}
\desc{Paramagnetism}{Magnetic field strengthend in the material}{$\mu$ \fqEqRef{ed:mag:magnetic_permeability}, $\chi_\txm$ \fqEqRef{ed:mag:magnetic_susceptibility}}
\desc{Paramagnetism}{Magnetic field strengthend in the material}{$\mu$ \fRef{ed:mag:magnetic_permeability}, $\chi_\txm$ \fRef{ed:mag:magnetic_susceptibility}}
\desc[german]{Paramagnetismus}{Magnetisches Feld wird im Material verstärkt}{}
\eq{\mu_\txr &> 1 \\ \chi_\txm &> 0}
\end{formula}
\begin{formula}{diamagnetism}
\desc{Diamagnetism}{Magnetic field expelled from material}{$\mu$ \fqEqRef{ed:mag:magnetic_permeability}, $\chi_\txm$ \fqEqRef{ed:mag:magnetic_susceptibility}}
\desc{Diamagnetism}{Magnetic field expelled from material}{$\mu$ \fRef{ed:mag:magnetic_permeability}, $\chi_\txm$ \fRef{ed:mag:magnetic_susceptibility}}
\desc[german]{Diamagnetismus}{Magnetisches Feld wird aus dem Material gedrängt}{}
\eq{0 < \mu_\txr < 1 \\ -1 < \chi_\txm < 0}
\end{formula}
\begin{formula}{ferromagnetism}
\desc{Ferromagnetism}{Magnetic moments align to external magnetic field and stay aligned when the field is turned off (Remanescence)}{$\mu$ \fqEqRef{ed:mag:magnetic_permeability}, $\chi_\txm$ \fqEqRef{ed:mag:magnetic_susceptibility}}
\desc{Ferromagnetism}{Magnetic moments align to external magnetic field and stay aligned when the field is turned off (Remanescence)}{$\mu$ \fRef{ed:mag:magnetic_permeability}, $\chi_\txm$ \fRef{ed:mag:magnetic_susceptibility}}
\desc[german]{Ferromagnetismus}{Magnetische Momente werden am äußeren Feld ausgerichtet und behalten diese ausrichtung auch wenn das Feld abgeschaltet wird (Remanenz)}{}
\eq{
\mu_\txr \gg 1

View File

@ -40,9 +40,30 @@
\Subsection[
\eng{Integer quantum hall effect}
\ger{Ganzahliger Quantenhalleffekt}
\eng{Quantum hall effects}
\ger{Quantenhalleffekte}
]{quantum}
\begin{formula}{types}
\desc{Types of quantum hall effects}{}{}
\desc[german]{Arten von Quantenhalleffekten}{}{}
\ttxt{\eng{
\begin{itemize}
\item \textbf{Integer} (QHE): filling factor $\nu$ is an integer
\item \textbf{Fractional} (FQHE): filling factor $\nu$ is a fraction
\item \textbf{Spin} (QSHE): spin currents instead of charge currents
\item \textbf{Anomalous} (QAHE): symmetry breaking by internal effects instead of external magnetic fields
\end{itemize}
}\ger{
\begin{itemize}
\item \textbf{Integer} (QHE): Füllfaktor $\nu$ ist ganzzahlig
\item \textbf{Fractional} (FQHE): Füllfaktor $\nu$ ist ein Bruch
\item \textbf{Spin} (QSHE): Spin Ströme anstatt Ladungsströme
\item \textbf{Anomalous} (QAHE): Symmetriebruch durch interne Effekte anstatt druch ein externes Magnetfeld
\end{itemize}
}}
\end{formula}
\begin{formula}{conductivity}
\desc{Conductivity tensor}{}{}
@ -77,28 +98,6 @@
\eq{\nu = \frac{1}{3},\frac{2}{5},\frac{3}{7},\frac{2}{3}...}
\end{formula}
\begin{ttext}
\eng{
\begin{itemize}
\item \textbf{Integer} (QHE): filling factor $\nu$ is an integer
\item \textbf{Fractional} (FQHE): filling factor $\nu$ is a fraction
\item \textbf{Spin} (QSHE): spin currents instead of charge currents
\item \textbf{Anomalous} (QAHE): symmetry breaking by internal effects instead of external magnetic fields
\end{itemize}
}
\ger{
\begin{itemize}
\item \textbf{Integer} (QHE): Füllfaktor $\nu$ ist ganzzahlig
\item \textbf{Fractional} (FQHE): Füllfaktor $\nu$ ist ein Bruch
\item \textbf{Spin} (QSHE): Spin Ströme anstatt Ladungsströme
\item \textbf{Anomalous} (QAHE): Symmetriebruch durch interne Effekte anstatt druch ein externes Magnetfeld
\end{itemize}
}
\end{ttext}
\TODO{sort}
\Section[
\eng{Dipole-stuff}

View File

@ -79,7 +79,7 @@
\begin{formula}{intensity}
\desc{Electromagnetic radiation intensity}{Surface power density}{$S$ \fqEqRef{ed:poynting}}
\desc{Electromagnetic radiation intensity}{Surface power density}{$S$ \fRef{ed:poynting}}
\desc[german]{Elektromagnetische Strahlungsintensität}{Flächenleistungsdichte}{}
\quantity{I}{\watt\per\m^2=\k\per\s^3}{s}
\eq{I = \abs{\braket{S}_t}}

BIN
src/img/cm_crystal_NaCl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 268 KiB

View File

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 422 KiB

After

Width:  |  Height:  |  Size: 422 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View File

Before

Width:  |  Height:  |  Size: 432 KiB

After

Width:  |  Height:  |  Size: 432 KiB

View File

@ -1,7 +1,7 @@
IFS=$'\n'
for d in $(find . -type d); do
mkdir -p "../img/$d"
mkdir -p "../img_static/$d"
done
for file in $(find . -type f -name '*.svg'); do
inkscape -o "../img/${file%.*}.pdf" "$file"
inkscape -o "../img_static/${file%.*}.pdf" "$file"
done

View File

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -3,7 +3,7 @@
\documentclass[11pt, a4paper]{article}
% SET LANGUAGE HERE
\usepackage[english]{babel}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[left=1.6cm,right=1.6cm,top=2cm,bottom=2cm]{geometry}
% ENVIRONMENTS etc
\usepackage{adjustbox}
\usepackage{colortbl} % color table
@ -20,7 +20,7 @@
% FORMATING
\usepackage{float} % float barrier
\usepackage{subcaption} % subfigures
\usepackage[hidelinks]{hyperref} % hyperrefs for \fqEqRef, \qtyRef, etc
\usepackage[hidelinks]{hyperref} % hyperrefs for \fRef, \qtyRef, etc
\usepackage[shortlabels]{enumitem} % easily change enum symbols to i), a. etc
\setlist{noitemsep} % no vertical space between items
\setlist[1]{labelindent=\parindent} % < Usually a good idea
@ -79,38 +79,31 @@
% \def\lambda{\temoji{sheep}}
% \def\psi{\temoji{pickup-truck}}
% \def\pi{\temoji{birthday-cake}}
% \def\Pi{\temoji{hospital}}
% \def\rho{\temoji{rhino}}
% % \def\Pi{\temoji{hospital}}
% % \def\rho{\temoji{rhino}}
% \def\nu{\temoji{unicorn}}
% \def\mu{\temoji{mouse}}
\newcommand{\TODO}[1]{{\color{fg-red}TODO:#1}}
\newcommand{\ts}{\textsuperscript}
% Create a text file with relevant labels for vim-completion
\newwrite\labelsFile
\immediate\openout\labelsFile=\jobname.labels.txt
\newcommand\storeLabel[1]{
\immediate\write\labelsFile{#1}%
}
\AtEndDocument{\immediate\closeout\labelsFile}
\input{circuit.tex}
\input{util/macros.tex}
\input{util/math-macros.tex}
\input{util/environments.tex} % requires util/translation.tex to be loaded first
\usepackage{pkg/mqlua}
\usepackage{pkg/mqfqname}
\usepackage{mqlua}
\usepackage{mqfqname}
\usepackage{mqref}
% TRANSLATION
% \usepackage{translations}
\usepackage{pkg/mqtranslation}
\usepackage{mqtranslation}
\input{util/colorscheme.tex}
\input{util/colors.tex} % after colorscheme
\usepackage{pkg/mqconstant}
\usepackage{pkg/mqquantity}
\usepackage{pkg/mqformula}
\usepackage{pkg/mqperiodictable}
\usepackage{mqconstant}
\usepackage{mqquantity}
\usepackage{mqformula}
\usepackage{mqperiodictable}
\title{Formelsammlung}
@ -127,7 +120,7 @@
\input{util/translations.tex}
% \InputOnly{comp}
% \InputOnly{cm}
\Input{math/math}
\Input{math/linalg}
@ -152,7 +145,8 @@
\Input{cm/crystal}
\Input{cm/egas}
\Input{cm/charge_transport}
\Input{cm/low_temp}
\Input{cm/vib}
\Input{cm/superconductivity}
\Input{cm/semiconductors}
\Input{cm/misc}
\Input{cm/techniques}
@ -196,7 +190,7 @@
]{elements}
\printAllElements
\newpage
% \Input{test}
\Input{test}
% \bibliographystyle{plain}
% \bibliography{ref}

View File

@ -51,7 +51,6 @@
b_k &= \I(c_k - c_{-k}) \quad\text{\GT{for}}\,k\ge1
}
\end{formula}
\TODO{cleanup}
\Subsubsection[
@ -170,7 +169,7 @@
x^{\log(y)} &= y^{\log(x)}
}
\end{formula}
\begin{formula}{intergral}
\begin{formula}{integral}
\desc{Integral of natural logarithm}{}{}
\desc[german]{Integral des natürluchen Logarithmus}{}{}
\eq{
@ -253,7 +252,7 @@
\ger{Liste nützlicher Integrale}
]{list}
% Put links to other integrals here
\fqEqRef{cal:log:integral}
\fRef{math:cal:log:integral}
\begin{formula}{arcfunctions}
\desc{Arcsine, arccosine, arctangent}{}{}

View File

@ -13,8 +13,8 @@
\begin{formula}{variance}
\absLabel
\desc{Variance}{Square of the \fqEqRef{math:pt:std-deviation}}{}
\desc[german]{Varianz}{Quadrat der\fqEqRef{math:pt:std-deviation}}{}
\desc{Variance}{Square of the \fRef{math:pt:std-deviation}}{}
\desc[german]{Varianz}{Quadrat der\fRef{math:pt:std-deviation}}{}
\eq{\sigma^2 = (\Delta \hat{x})^2 = \Braket{\hat{x}^2} - \braket{\hat{x}}^2 = \braket{(x - \braket{x})^2}}
\end{formula}
@ -108,16 +108,16 @@
\begin{bigformula}{multivariate_normal}
\absLabel[multivariate_normal_distribution]
\desc{Multivariate normal distribution}{Multivariate Gaussian distribution}{$\vec{mu}$ \absRef{mean}, $\mat{\Sigma}$ \absRef{covariance}}
\desc{Multivariate normal distribution}{Multivariate Gaussian distribution}{$\vec{\mu}$ \absRef{mean}, $\mat{\Sigma}$ \absRef{covariance}}
\desc[german]{Mehrdimensionale Normalverteilung}{Multivariate Normalverteilung}{}
\TODO{k-variate normal plot}
\begin{distribution}
\disteq{parameters}{\vec{\mu} \in \R^k,+\quad \mat{\Sigma} \in \R^{k\times k}}
\disteq{support}{\vec{x} \in \vec{\mu} + \text{span}(\mat{\Sigma})}
\disteq{pdf}{\mathcal{N}(\vec{mu}, \mat{\Sigma}) = \frac{1}{(2\pi)^{k/2}} \frac{1}{\sqrt{\det{\Sigma}}} \Exp{-\frac{1}{2} \left(\vecx-\vec{\mu}\right)^\T \mat{\Sigma}^{-1} \left(\vecx-\vec{\mu}\right)}}
\disteq{pdf}{\mathcal{N}(\vec{\mu}, \mat{\Sigma}) = \frac{1}{(2\pi)^{k/2}} \frac{1}{\sqrt{\det{\Sigma}}} \Exp{-\frac{1}{2} \left(\vecx-\vec{\mu}\right)^\T \mat{\Sigma}^{-1} \left(\vecx-\vec{\mu}\right)}}
\disteq{mean}{\vec{\mu}}
\disteq{variance}{\mat{\Sigma}}
\end{distribution}
\TODO{k-variate normal plot}
\end{bigformula}
\begin{formula}{laplace}
@ -172,7 +172,7 @@
\begin{bigformula}{gamma}
\absLabel[gamma_distribution]
\desc{Gamma Distribution}{with $\lambda$ parameter}{$\Gamma$ \fqEqRef{math:cal:integral:list:gamma}, $\gamma$ \fqEqRef{math:cal:integral:list:lower_incomplete_gamma_function}}
\desc{Gamma Distribution}{with $\lambda$ parameter}{$\Gamma$ \fRef{math:cal:integral:list:gamma_function}, $\gamma$ \fRef{math:cal:integral:list:lower_incomplete_gamma_function}}
\desc[german]{Gamma Verteilung}{mit $\lambda$ Parameter}{}
\begin{minipage}{\distleftwidth}
\begin{figure}[H]
@ -191,7 +191,8 @@
\end{bigformula}
\begin{bigformula}{beta}
\desc{Beta Distribution}{}{$\txB$ \fqEqRef{math:cal:integral:list:beta_function} / \fqEqRef{math:cal:integral:list:incomplete_beta_function}}
\absLabel[beta_distribution]
\desc{Beta Distribution}{}{$\txB$ \fRef{math:cal:integral:list:beta_function} / \fRef{math:cal:integral:list:incomplete_beta_function}}
\desc[german]{Beta Verteilung}{}{}
\begin{minipage}{\distleftwidth}
\begin{figure}[H]
@ -216,11 +217,12 @@
\ger{Diskrete Wahrscheinlichkeitsverteilungen}
]{discrete}
\begin{bigformula}{binomial}
\absLabel[binomial_distribution]
\desc{Binomial distribution}{}{}
\desc[german]{Binomialverteilung}{}{}
\begin{ttext}
\eng{For the number of trials going to infinity ($n\to\infty$), the binomial distribution converges to the \hyperref[sec:pb:distributions:poisson]{poisson distribution}}
\ger{Geht die Zahl der Versuche gegen unendlich ($n\to\infty$), konvergiert die Binomualverteilung gegen die \hyperref[sec:pb:distributions:poisson]{Poissonverteilung}}
\eng{For the number of trials going to infinity ($n\to\infty$), the binomial distribution converges to the \absRef[poisson distribution]{poisson_distribution}}
\ger{Geht die Zahl der Versuche gegen unendlich ($n\to\infty$), konvergiert die Binomualverteilung gegen die \absRef[Poissonverteilung]{poisson_distribution}}
\end{ttext}\\
\begin{minipage}{\distleftwidth}
\begin{figure}[H]
@ -240,6 +242,7 @@
\end{bigformula}
\begin{bigformula}{poisson}
\absLabel[poisson_distribution]
\desc{Poisson distribution}{}{}
\desc[german]{Poissonverteilung}{}{}
\begin{minipage}{\distleftwidth}
@ -296,8 +299,8 @@
\ger{Fehlerfortpflanzung}
]{error}
\begin{formula}{generalised}
\desc{Generalized error propagation}{}{$V$ \fqEqRef{math:pt:covariance} matrix, $J$ \fqEqRef{math:cal:jacobi-matrix}}
\desc[german]{Generalisiertes Fehlerfortpflanzungsgesetz}{$V$ \fqEqRef{math:pt:covariance} Matrix, $J$ \fqEqRef{cal:jacobi-matrix}}{}
\desc{Generalized error propagation}{}{$V$ \fRef{math:pt:covariance} matrix, $J$ \fRef{math:cal:jacobi-matrix}}
\desc[german]{Generalisiertes Fehlerfortpflanzungsgesetz}{$V$ \fRef{math:pt:covariance} Matrix, $J$ \fRef{cal:jacobi-matrix}}{}
\eq{V_y = J(x) \cdot V_x \cdot J^{\T} (x)}
\end{formula}
@ -308,19 +311,19 @@
\end{formula}
\begin{formula}{weight}
\desc{Weight}{Variance is a possible choice for a weight}{$\sigma$ \fqEqRef{math:pt:variance}}
\desc{Weight}{Variance is a possible choice for a weight}{$\sigma$ \fRef{math:pt:variance}}
\desc[german]{Gewicht}{Varianz ist eine mögliche Wahl für ein Gewicht}{}
\eq{w_i = \frac{1}{\sigma_i^2}}
\end{formula}
\begin{formula}{weighted-mean}
\desc{Weighted mean}{}{$w_i$ \fqEqRef{math:pt:error:weight}}
\desc{Weighted mean}{}{$w_i$ \fRef{math:pt:error:weight}}
\desc[german]{Gewichteter Mittelwert}{}{}
\eq{\overline{x} = \frac{\sum_{i} (x_i w_i)}{\sum_i w_i}}
\end{formula}
\begin{formula}{weighted-mean-error}
\desc{Variance of weighted mean}{}{$w_i$ \fqEqRef{math:pt:error:weight}}
\desc{Variance of weighted mean}{}{$w_i$ \fRef{math:pt:error:weight}}
\desc[german]{Varianz des gewichteten Mittelwertes}{}{}
\eq{\sigma^2_{\overline{x}} = \frac{1}{\sum_i w_i}}
\end{formula}
@ -330,18 +333,18 @@
\ger{Maximum likelihood Methode}
]{mle}
\begin{formula}{likelihood}
\desc{Likelihood function}{Likelihood of observing $x$ when parameter is $\theta$\\in general not normalized!}{$\rho$ \fqEqRef{math:pt:pdf} $x\mapsto \rho(x|\theta)$ depending on parameter $\theta$, $\Theta$ parameter space}
\desc[german]{Likelihood Funktion}{"Plausibilität" $x$ zu messen, wenn der Parameter $\theta$ ist\\nicht normalisiert!}{$\rho$ \fqEqRef{math:pt:pdf} $x\mapsto \rho(x|\theta)$ hängt ab von Parameter $\theta$, $\Theta$ Parameterraum}
\desc{Likelihood function}{Likelihood of observing $x$ when parameter is $\theta$\\in general not normalized!}{$\rho$ \fRef{math:pt:pdf} $x\mapsto \rho(x|\theta)$ depending on parameter $\theta$, $\Theta$ parameter space}
\desc[german]{Likelihood Funktion}{"Plausibilität" $x$ zu messen, wenn der Parameter $\theta$ ist\\nicht normalisiert!}{$\rho$ \fRef{math:pt:pdf} $x\mapsto \rho(x|\theta)$ hängt ab von Parameter $\theta$, $\Theta$ Parameterraum}
\eq{L:\Theta \rightarrow [0,1], \quad \theta \mapsto \rho(x|\theta)}
\end{formula}
\begin{formula}{likelihood_independant}
\desc{Likelihood function}{for independent and identically distributed random variables}{$x_i$ $n$ random variables, $\rho$ \fqEqRef{math:pt:pdf} $x\mapsto f(x|\theta)$ depending on parameter $\theta$}
\desc[german]{Likelihood function}{für unabhängig und identisch verteilte Zufallsvariablen}{$x_i$ $n$ Zufallsvariablen$\rho$ \fqEqRef{math:pt:pdf} $x\mapsto f(x|\theta)$ hängt ab von Parameter $\theta$}
\desc{Likelihood function}{for independent and identically distributed random variables}{$x_i$ $n$ random variables, $\rho$ \fRef{math:pt:pdf} $x\mapsto f(x|\theta)$ depending on parameter $\theta$}
\desc[german]{Likelihood function}{für unabhängig und identisch verteilte Zufallsvariablen}{$x_i$ $n$ Zufallsvariablen$\rho$ \fRef{math:pt:pdf} $x\mapsto f(x|\theta)$ hängt ab von Parameter $\theta$}
\eq{L(\theta) = \prod_{i=1}^n f(x_i;\theta)}
\end{formula}
\begin{formula}{maximum_likelihood_estimate}
\desc{Maximum likelihood estimate (MLE)}{Paramater for which outcome is most likely}{$L$ \fqEqRef{pt:mle:likelihood}, $\theta$ parameter of a \fqEqRef{math:pt:pdf}}
\desc[german]{Maximum likelihood-Schätzung (MLE)}{Paramater, für den das Ergebnis am Wahrscheinlichsten ist}{$L$ \fqEqRef{math:pt:mle:likelihood}, $\theta$ Parameter einer \fqEqRef{math:pt:pdf}}
\desc{Maximum likelihood estimate (MLE)}{Paramater for which outcome is most likely}{$L$ \fRef{math:pt:mle:likelihood}, $\theta$ parameter of a \fRef{math:pt:pdf}}
\desc[german]{Maximum likelihood-Schätzung (MLE)}{Paramater, für den das Ergebnis am Wahrscheinlichsten ist}{$L$ \fRef{math:pt:mle:likelihood}, $\theta$ Parameter einer \fRef{math:pt:pdf}}
\eq{\theta_\text{ML} &= \argmax_\theta L(\theta)\\ &= \argmax_\theta \log \big(L(\theta)\big)}
\end{formula}
@ -356,13 +359,13 @@
\end{formula}
\begin{formula}{evidence}
\desc{Evidence}{}{$p(\mathcal{D}|\theta)$ \fqEqRef{math:pt:mle:likelihood}, $p(\theta)$ \fqEqRef{math:pt:bayesian:prior}, $\mathcal{D}$ data set}
\desc{Evidence}{}{$p(\mathcal{D}|\theta)$ \fRef{math:pt:mle:likelihood}, $p(\theta)$ \fRef{math:pt:bayesian:prior}, $\mathcal{D}$ data set}
% \desc[german]{}{}{}
\eq{p(\mathcal{D}) = \int\d\theta \,p(\mathcal{D}|\theta)\,p(\theta)}
\end{formula}
\begin{formula}{theorem}
\desc{Bayes' theorem}{}{$p(\theta|\mathcal{D})$ posterior distribution, $p(\mathcal{D}|\theta)$ \fqEqRef{math:pt:mle:likelihood}, $p(\theta)$ \fqEqRef{math:pt:bayesian:prior}, $p(\mathcal{D})$ \fqEqRef{math:pt:bayesian:evidence}, $\mathcal{D}$ data set}
\desc{Bayes' theorem}{}{$p(\theta|\mathcal{D})$ posterior distribution, $p(\mathcal{D}|\theta)$ \fRef{math:pt:mle:likelihood}, $p(\theta)$ \fRef{math:pt:bayesian:prior}, $p(\mathcal{D})$ \fRef{math:pt:bayesian:evidence}, $\mathcal{D}$ data set}
\desc[german]{Satz von Bayes}{}{}
\eq{p(\theta|\mathcal{D}) = \frac{p(\mathcal{D}|\theta)\,p(\theta)}{p(\mathcal{D})}}
\end{formula}

View File

@ -2,38 +2,56 @@
\RequirePackage{mqlua}
\RequirePackage{etoolbox}
\directLuaAux{
if constants == nil then
constants = {}
\begin{luacode}
constants = {}
function constantAdd(key, symbol, exp_or_def, fqname)
constants[key] = {
["symbol"] = symbol,
["units"] = units,
["exp_or_def"] = exp_or_def,
["values"] = {} -- array of {value, unit}
}
if fqname == "" then
constants[key]["fqname"] = fqnameGet()
else
constants[key]["fqname"] = fqname
end
end
}
function constantAddValue(key, value, unit)
table.insert(constants[key]["values"], { value = value, unit = unit })
end
function constantGetSymbol(key)
local const = constants[key]
if const == nil then return "???" end
local symbol = const["symbol"]
if symbol == nil then return "???" end
return symbol
end
function constantGetFqname(key)
local const = constants[key]
if const == nil then return "const:"..key end
local fqname_ = const["fqname"]
if fqname_ == nil then return "const:"..key end
return fqname_
end
\end{luacode}
% [1]: label to point to
% 2: key
% 3: symbol
% 4: either exp or def; experimentally or defined constant
\newcommand{\constant@new}[4][\relax]{
\directLuaAux{
constants["#2"] = {}
constants["#2"]["symbol"] = [[\detokenize{#3}]]
constants["#2"]["exp_or_def"] = [[\detokenize{#4}]]
constants["#2"]["values"] = {} %-- array of {value, unit}
}
\ifstrempty{#1}{}{
\directLuaAuxExpand{
constants["#2"]["linkto"] = [[#1]] %-- fqname required for getting the translation key
}
}
\newcommand{\constant@new}[4][]{%
\directLuaAuxExpand{constantAdd(\luastring{#2}, \luastringN{#3}, \luastringN{#4}, \luastring{#1})}%
}
% 1: key
% 2: value
% 3: units
\newcommand{\constant@addValue}[3]{
\directlua{
table.insert(constants["#1"]["values"], { value = [[\detokenize{#2}]], unit = [[\detokenize{#3}]] })
}
\newcommand{\constant@addValue}[3]{%
\directlua{constantAddValue(\luastring{#1}, \luastringN{#2}, \luastringN{#3})}%
}
% 1: key
\newcommand{\constant@getSymbol}[1]{\luavar{constantGetSymbol(\luastring{#1})}}
% 1: key
\newcommand\constant@print[1]{
@ -50,13 +68,5 @@
%--tex.sprint("VALUE ", i, v)
end
}
% label it only once
\directlua{
if constants["#1"]["labeled"] == nil then
constants["#1"]["labeled"] = true
tex.print("\\label{const:#1}")
end
}
\endgroup
}
\newcounter{constant}

View File

@ -1,5 +1,8 @@
\ProvidesPackage{mqformula}
\def\descwidth{0.3\textwidth}
\def\eqwidth{0.65\textwidth}
\RequirePackage{mqfqname}
\RequirePackage{mqconstant}
\RequirePackage{mqquantity}
@ -13,14 +16,11 @@
% [1]: minipage width
% 2: fqname of name
% 3: fqname of a translation that holds the explanation
\newcommand{\NameWithDescription}[3][\descwidth]{
\newcommand{\NameWithDescription}[3][\descwidth]{%
\begin{minipage}{#1}
\IfTranslationExists{#2}{
\raggedright
\GT{#2}
}{\detokenize{#2}}
\IfTranslationExists{#3}{
\\ {\color{fg1} \GT{#3}}
\raggedright\GT{#2}%
\IfTranslationExists{#3}{%
\\ {\color{fg1} \GT{#3}}%
}{}
\end{minipage}
}
@ -36,14 +36,13 @@
\begin{minipage}{#1}
}{
\IfTranslationExists{\ContentFqName}{%
\smartnewline
\noindent
\begingroup
\color{fg1}
\GT{\ContentFqName}
% \edef\temp{\GT{#1_defs}}
% \expandafter\StrSubstitute\expandafter{\temp}{:}{\\}
\endgroup
\smartnewline%
\noindent%
\begingroup%
\color{fg1}%
\raggedright%
\GT{\ContentFqName}%
\endgroup%
}{}
\end{minipage}
\end{lrbox}
@ -54,18 +53,16 @@
% Class defining commands shared by all formula environments
% 1: key
\newenvironment{formulainternal}[1]{
% TODO refactor, using fqname@enter and leave
% TODO There is no real need to differentiate between fqnames and sections,
% TODO thus change the meaning of f: from formula to fqname and change sec to f
\mqfqname@enter{#1}
% [1]: language
% 2: name
% 3: description
% 4: definitions/links
\newcommand{\desc}[4][english]{
% language, name, description, definitions
\ifblank{##2}{}{\dt[#1]{##1}{##2}}
\ifblank{##3}{}{\dt[#1_desc]{##1}{##3}}
\ifblank{##4}{}{\dt[#1_defs]{##1}{##4}}
\ifblank{##2}{}{\dt{##1}{##2}}
\ifblank{##3}{}{\dt[desc]{##1}{##3}}
\ifblank{##4}{}{\dt[defs]{##1}{##4}}
}
\directlua{n_formulaEntries = 0}
@ -73,12 +70,12 @@
% [1]: label to use
% 2: Abbreviation to use for references
\newcommand{\abbrLabel}[2][#1]{
\abbrLink[f:\fqname:#1]{##1}{##2}
\abbrLink[\fqname]{##1}{##2}
}
% makes this formula referencable with \absRef{<name>}
% [1]: label to use
\newcommand{\absLabel}[1][#1]{
\absLink[\fqname:#1]{f:\fqname:#1}{##1}
\absLink[\fqname]{\fqname}{##1}
}
\newcommand{\newFormulaEntry}{
@ -98,18 +95,6 @@
##1
\end{align}
}
% 1: equation for alignat environment
\newcommand{\eqAlignedAt}[2]{
\newFormulaEntry
\begin{flalign}%
\TODO{\text{remove macro}}
% dont place label when one is provided
% \IfSubStringInString{label}\unexpanded{#3}{}{
% \label{eq:#1}
% }
##1%
\end{flalign}
}
% 1: equation for flalign environment
\newcommand{\eqFLAlign}[2]{
\newFormulaEntry
@ -127,7 +112,7 @@
\includegraphics{##1}
}
% 1: content for the ttext environment
\newcommand{\ttxt}[2][#1:desc]{
\newcommand{\ttxt}[2][text]{
\newFormulaEntry
\begin{ttext}[##1]
##2
@ -141,6 +126,9 @@
\newFormulaEntry
\quantity@print{#1}
}
\newcommand{\hiddenQuantity}[3]{%
\quantity@new[\fqname]{#1}{##1}{##2}{##3}
}
% must be used only in third argument of "constant" command
% 1: value
@ -159,20 +147,34 @@
\newFormulaEntry
\constant@print{#1}
}
}{}
\newcommand{\fsplit}[3][0.5]{
\begingroup
\renewcommand{\newFormulaEntry}{}
\begin{minipage}{##1\linewidth}
##2
\end{minipage}
\begin{minipage}{\luavar{0.99-##1}\linewidth}
##3
\end{minipage}
\endgroup
\newFormulaEntry
}
}{
\mqfqname@leave
}
\newenvironment{formula}[1]{
\begin{formulainternal}{#1}
\begingroup
\label{f:\fqname:#1}
\storeLabel{\fqname:#1} % write label witout type prefix to aux file
\mqfqname@label
\par\noindent\ignorespaces
% \textcolor{gray}{\hrule}
% \vspace{0.5\baselineskip}
\NameWithDescription[\descwidth]{\fqname:#1}{\fqname:#1_desc}
\NameWithDescription[\descwidth]{\fqname}{\fqname:desc}
\hfill
\begin{ContentBoxWithExplanation}{\fqname:#1_defs}
\begin{ContentBoxWithExplanation}{\fqname:defs}
}{
\end{ContentBoxWithExplanation}
\endgroup
@ -188,33 +190,28 @@
\newenvironment{bigformula}[1]{
\begin{formulainternal}{#1}
\edef\tmpFormulaName{#1}
\par\noindent
\begin{minipage}{\textwidth} % using a minipage to now allow line breaks within the bigformula
\label{f:\fqname:#1}
\storeLabel{\fqname:#1} % write label witout type prefix to aux file
\mqfqname@label
\par\noindent\ignorespaces
% \textcolor{gray}{\hrule}
% \vspace{0.5\baselineskip}
\textbf{
\IfTranslationExists{\fqname:#1}{%
\raggedright
\GT{\fqname:#1}
}{\detokenize{#1}}
\raggedright
\GT{\fqname}
}
\IfTranslationExists{\fqname:#1_desc}{
: {\color{fg1} \GT{\fqname:#1_desc}}
\IfTranslationExists{\fqname:desc}{
: {\color{fg1} \GT{\fqname:desc}}
}{}
\hfill
\par
}{
\edef\tmpContentDefs{\fqname:\tmpFormulaName_defs}
\IfTranslationExists{\tmpContentDefs}{%
\IfTranslationExists{\fqname:defs}{%
\smartnewline
\noindent
\begingroup
\color{fg1}
\GT{\tmpContentDefs}
\GT{\fqname:defs}
% \edef\temp{\GT{#1_defs}}
% \expandafter\StrSubstitute\expandafter{\temp}{:}{\\}
\endgroup
@ -230,7 +227,6 @@
\newenvironment{hiddenformula}[1]{
\begin{formulainternal}{#1}
\renewcommand{\eq}[1]{}
\renewcommand{\eqAlignedAt}[2]{}
\renewcommand{\eqFLAlign}[2]{}
\renewcommand{\fig}[2][1.0]{}
\renewcommand{\ttxt}[2][#1:desc]{}

View File

@ -1,53 +1,102 @@
\ProvidesPackage{mqfqname}
\edef\fqname{NULL}
\RequirePackage{mqlua}
\RequirePackage{etoolbox}
\directlua{
\begin{luacode}
sections = sections or {}
function fqnameEnter(name)
table.insert(sections, name)
% table.sort(sections)
table.insert(sections, name)
-- table.sort(sections)
end
function fqnameLeave()
if table.getn(sections) > 0 then
table.remove(sections)
end
if table.getn(sections) > 0 then
table.remove(sections)
end
end
function fqnameGet()
return table.concat(sections, ":")
return table.concat(sections, ":")
end
function fqnameLeaveOnlyFirstN(n)
if n >= 0 then
while table.getn(sections) > n do
table.remove(sections)
if n >= 0 then
while table.getn(sections) > n do
table.remove(sections)
end
end
end
end
}
\end{luacode}
\begin{luacode}
function fqnameGetDepth()
return table.getn(sections)
end
function fqnameGetN(N)
if N == nil or table.getn(sections) < N then
luatexbase.module_warning('fqnameGetN', 'N = ' .. N .. ' is larger then the table length')
return "?!?"
end
s = sections[1]
for i = 2, N do
s = s .. ":" .. sections[i]
end
return s
end
\end{luacode}
% Allow using :<key>, ::<key> and so on
% where : points to current fqname, :: to the upper one and so on
\begin{luacode*}
function translateRelativeFqname(target)
local relN = 0
local relTarget = ""
warning('translateRelativeFqname', '(target=' .. target .. ') ');
for i = 1, #target do
local c = target:sub(i,i)
if c == ":" then
relN = relN + 1
else
relTarget = target:sub(i,#target)
break
end
end
if relN == 0 then
return target
end
local N = fqnameGetDepth()
local newtarget = fqnameGetN(N - relN + 1) .. ":" .. relTarget
warning('translateRelativeFqname', '(relN=' .. relN .. ') ' .. newtarget);
return newtarget
end
\end{luacode*}
\newcommand{\mqfqname@update}{%
\edef\fqname{\luavar{fqnameGet()}}
\edef\fqname{\luavar{fqnameGet()}} %
}
\newcommand{\mqfqname@enter}[1]{%
\directlua{fqnameEnter("\luaescapestring{#1}")}%
\mqfqname@update
\directlua{fqnameEnter("\luaescapestring{#1}")}%
\mqfqname@update
}
\newcommand{\mqfqname@leave}{%
\directlua{fqnameLeave()}%
\mqfqname@update
\directlua{fqnameLeave()}%
\mqfqname@update
}
\newcommand{\mqfqname@leaveOnlyFirstN}[1]{%
\directlua{fqnameLeaveOnlyFirstN(#1)}%
\directlua{fqnameLeaveOnlyFirstN(#1)}%
}
% SECTIONING
% start <section>, get heading from translation, set label
% secFqname is the fully qualified name of sections: the keys of all previous sections joined with a ':'
% fqname is the fully qualified name of all sections and formulas, the keys of all previous sections joined with a ':'
% fqname is secFqname:<key> where <key> is the key/id of some environment, like formula
% [1]: code to run after setting \fqname, but before the \part, \section etc
% 2: key
@ -55,164 +104,35 @@
\newpage
\mqfqname@leaveOnlyFirstN{0}
\mqfqname@enter{#2}
\edef\secFqname{\fqname}
#1
% this is necessary so that \part/\section... takes the fully expanded string. Otherwise the pdf toc will have just the fqname
\edef\fqnameText{\GT{\fqname}}
\part{\fqnameText}
\label{sec:\fqname}
\mqfqname@label
}
\newcommand{\Section}[2][]{
\mqfqname@leaveOnlyFirstN{1}
\mqfqname@enter{#2}
\edef\secFqname{\fqname}
#1
\edef\fqnameText{\GT{\fqname}}
\section{\fqnameText}
\label{sec:\fqname}
\mqfqname@label
}
\newcommand{\Subsection}[2][]{
\mqfqname@leaveOnlyFirstN{2}
\mqfqname@enter{#2}
\edef\secFqname{\fqname}
#1
\edef\fqnameText{\GT{\fqname}}
\subsection{\fqnameText}
\label{sec:\fqname}
\mqfqname@label
}
\newcommand{\Subsubsection}[2][]{
\mqfqname@leaveOnlyFirstN{3}
\mqfqname@enter{#2}
\edef\secFqname{\fqname}
#1
\edef\fqnameText{\GT{\fqname}}
\subsubsection{\fqnameText}
\label{sec:\fqname}
\mqfqname@label
}
\edef\fqname{NULL}
\newcommand\printFqName{\expandafter\detokenize\expandafter{\fqname}}
\newcommand\luaDoubleFieldValue[3]{%
\directlua{
if #1 \string~= nil and #1[#2] \string~= nil and #1[#2][#3] \string~= nil then
tex.sprint(#1[#2][#3])
return
end
luatexbase.module_warning('luaDoubleFieldValue', 'Invalid indices to `#1`: `#2` and `#3`');
tex.sprint("???")
}%
}
% REFERENCES
% All xyzRef commands link to the key using the translated name
% Uppercase (XyzRef) commands have different link texts, but the same link target
% 1: key/fully qualified name (without qty/eq/sec/const/el... prefix)
% Equations/Formulas
% \newrobustcmd{\fqEqRef}[1]{%
\newrobustcmd{\fqEqRef}[1]{%
% \edef\fqeqrefname{\GT{#1}}
% \hyperref[eq:#1]{\fqeqrefname}
\hyperref[f:#1]{\GT{#1}}%
}
% Formula in the current section
\newrobustcmd{\secEqRef}[1]{%
% \edef\fqeqrefname{\GT{#1}}
% \hyperref[eq:#1]{\fqeqrefname}
\hyperref[f:\secFqname:#1]{\GT{\secFqname:#1}}%
}
% Section
% <name>
\newrobustcmd{\fqSecRef}[1]{%
\hyperref[sec:#1]{\GT{#1}}%
}
% Quantities
% <symbol>
\newrobustcmd{\qtyRef}[1]{%
\edef\tempname{\luaDoubleFieldValue{quantities}{"#1"}{"linkto"}}%
\hyperref[qty:#1]{\GT{\tempname:#1}}%
}
% <symbol> <name>
\newrobustcmd{\QtyRef}[1]{%
$\luaDoubleFieldValue{quantities}{"#1"}{"symbol"}$ \qtyRef{#1}%
}
% Constants
% <name>
\newrobustcmd{\constRef}[1]{%
\edef\tempname{\luaDoubleFieldValue{constants}{"#1"}{"linkto"}}%
\hyperref[const:#1]{\GT{\tempname:#1}}%
}
% <symbol> <name>
\newrobustcmd{\ConstRef}[1]{%
$\luaDoubleFieldValue{constants}{"#1"}{"symbol"}$ \constRef{#1}%
}
% Element from periodic table
% <symbol>
\newrobustcmd{\elRef}[1]{%
\hyperref[el:#1]{{\color{fg0}#1}}%
}
% <name>
\newrobustcmd{\ElRef}[1]{%
\hyperref[el:#1]{\GT{el:#1}}%
}
% "LABELS"
% These currently do not place a label,
% instead they provide an alternative way to reference an existing label
\directLuaAux{
absLabels = absLabels or {}
abbrLabels = abbrLabel or {}
}
% [1]: translation key, if different from target
% 2: target (fqname to point to)
% 3: key
\newcommand{\absLink}[3][\relax]{
\directLuaAuxExpand{
absLabels["#3"] = {}
absLabels["#3"]["fqname"] = [[#2]]
absLabels["#3"]["translation"] = [[#1]] or [[#2]]
% if [[#1]] == "" then
% absLabels["#3"]["translation"] = [[#2]]
% else
% absLabels["#3"]["translation"] = [[#1]]
% end
}
}
% [1]: target (fqname to point to)
% 2: key
% 3: label (abbreviation)
\newcommand{\abbrLink}[3][sec:\fqname]{
\directLuaAuxExpand{
abbrLabels["#2"] = {}
abbrLabels["#2"]["abbr"] = [[#3]]
abbrLabels["#2"]["fqname"] = [[#1]]
}
}
% [1]: text
% 2: key
\newcommand{\absRef}[2][]{%
\directlua{
if absLabels["#2"] == nil then
tex.sprint(string.sanitize(\luastring{#2}) .. "???")
else
if \luastring{#1} == "" then %-- if [#1] is not given, use translation of key as text, else us given text
tex.sprint("\\hyperref[" .. absLabels["#2"]["fqname"] .. "]{\\GT{" .. absLabels["#2"]["translation"] .. "}}")
else
tex.sprint("\\hyperref[" .. absLabels["#2"]["fqname"] .. "]{\luaescapestring{#1}}")
end
end
}
}
\newrobustcmd{\abbrRef}[1]{%
\directlua{
if abbrLabels["#1"] == nil then
tex.sprint(string.sanitize(\luastring{#1}) .. "???")
else
tex.sprint("\\hyperref[" .. abbrLabels["#1"]["fqname"] .. "]{" .. abbrLabels["#1"]["abbr"] .. "}")
end
}
}

View File

@ -6,13 +6,17 @@
\newcommand\luavar[1]{\directlua{tex.sprint(#1)}}
\begin{luacode*}
function warning(message)
function warning(fname, message)
-- Get the current file name and line number
-- local info = debug.getinfo(2, "Sl")
-- local file_name = info.source
-- local line_number = info.currentline
-- tex.error(string.format("Warning %s at %s:%d", message, file_name, line_number))
texio.write("\nWARNING: " .. message .. "\n")
if message == nil then
texio.write("\nWARNING: " .. fname .. "\n")
else
texio.write("\nWARNING: in " .. fname .. ":" .. message .. "\n")
end
end
OUTDIR = os.getenv("TEXMF_OUTPUT_DIRECTORY") or "."
@ -22,17 +26,15 @@ function fileExists(file)
if f then f:close() end
return f ~= nil
end
warning("TEST")
\end{luacode*}
% units: siunitx units arguments, possibly chained by '='
% returns: 1\si{unit1} = 1\si{unit2} = ...
\directlua{
\begin{luacode*}
function split_and_print_units(units)
if units == nil then
tex.print("1")
tex.sprint("1")
return
end
@ -47,21 +49,22 @@ function split_and_print_units(units)
end
tex.print(result)
end
}
\end{luacode*}
% STRING UTILITY
\luadirect{
\begin{luacode*}
function string.startswith(s, start)
return string.sub(s,1,string.len(start)) == start
end
function string.sanitize(s)
% -- Use gsub to replace the specified characters with an empty string
-- Use gsub to replace the specified characters with an empty string
local result = s:gsub("[_^&]", " ")
return result
end
}
\end{luacode*}
% Write directlua command to aux and run it as well
% THESE CAN ONLY BE RUN BETWEEN \begin{document} and \end{document}
% This one expands the argument in the aux file:
\newcommand\directLuaAuxExpand[1]{
\immediate\write\luaAuxFile{\noexpand\directlua{#1}}
@ -74,15 +77,17 @@ end
}
% read
\IfFileExists{\jobname.lua.aux}{%
\input{\jobname.lua.aux}%
}{%
% \@latex@warning@no@line{"Lua aux not loaded!"}
\AtBeginDocument{
\IfFileExists{\jobname.lua.aux}{%
\input{\jobname.lua.aux}%
}{%
% \@latex@warning@no@line{"Lua aux not loaded!"}
}
% write
\newwrite\luaAuxFile
\immediate\openout\luaAuxFile=\jobname.lua.aux
\immediate\write\luaAuxFile{\noexpand\def\noexpand\luaAuxLoaded{True}}%
}
\def\luaAuxLoaded{False}
% write
\newwrite\luaAuxFile
\immediate\openout\luaAuxFile=\jobname.lua.aux
\immediate\write\luaAuxFile{\noexpand\def\noexpand\luaAuxLoaded{True}}%
\AtEndDocument{\immediate\closeout\luaAuxFile}

View File

@ -5,13 +5,28 @@
% Print as list or as periodic table
% The data is taken from https://pse-info.de/de/data as json and parsed by the scripts/periodic_table.py
% INFO
\directLuaAux{
if elements == nil then
elements = {} %-- Symbol: {symbol, atomic_number, properties, ... }
elementsOrder = {} %-- Number: Symbol
\begin{luacode}
elements = {}
elementsOrder = {}
function elementAdd(symbol, nr, period, column)
--elementsOrder[nr] = symbol
table.insert(elementsOrder, symbol)
elements[symbol] = {
symbol = symbol,
atomic_number = nr,
period = period,
column = column,
properties = {}
}
end
function elementAddProperty(symbol, key, value)
if elements[symbol] and elements[symbol].properties then
elements[symbol].properties[key] = value
end
}
end
\end{luacode}
% 1: symbol
% 2: nr
@ -23,30 +38,22 @@
% 3: description
% 4: definitions/links
\newcommand{\desc}[4][english]{
% language, name, description, definitions
\ifblank{##2}{}{\DT[el:#1]{##1}{##2}}
\ifblank{##3}{}{\DT[el:#1_desc]{##1}{##3}}
\ifblank{##4}{}{\DT[el:#1_defs]{##1}{##4}}
}
\directLuaAux{
elementsOrder[#2] = "#1";
elements["#1"] = {};
elements["#1"]["symbol"] = [[\detokenize{#1}]];
elements["#1"]["atomic_number"] = [[\detokenize{#2}]];
elements["#1"]["period"] = [[\detokenize{#3}]];
elements["#1"]["column"] = [[\detokenize{#4}]];
elements["#1"]["properties"] = {};
\directLuaAuxExpand{
elementAdd(\luastring{#1}, \luastring{#2}, \luastring{#3}, \luastring{#4})
}
% 1: key
% 2: value
\newcommand{\property}[2]{
\directlua{ %-- writing to aux is only needed for references for now
elements["#1"]["properties"]["##1"] = "\luaescapestring{\detokenize{##2}}" %-- cant use [[ ]] because electron_config ends with ]
\directlua{
elementAddProperty(\luastring{#1}, \luastringN{##1}, \luastringN{##2})
}
}
\edef\lastElementName{#1}
}{
% \expandafter\printElement{\lastElementName}
\ignorespacesafterend
}
@ -56,9 +63,7 @@
\par\noindent\ignorespaces
\vspace{0.5\baselineskip}
\begingroup
% label it only once
% \detokenize{\label{el:#1}}
\directlua{
\directlua{
if elements["#1"]["labeled"] == nil then
elements["#1"]["labeled"] = true
tex.print("\\phantomsection\\label{el:#1}")
@ -70,12 +75,8 @@
\directlua{
tex.sprint("Symbol: \\ce{"..elements["#1"]["symbol"].."}")
tex.sprint("\\\\Number: "..elements["#1"]["atomic_number"])
}
\directlua{
%--tex.sprint("Hier steht Luatext" .. ":", #elementVals)
for key, value in pairs(elements["#1"]["properties"]) do
tex.sprint("\\\\\\hspace*{1cm}{\\GT{", key, "}: ", value, "}")
%--tex.sprint("VALUE ", i, v)
tex.sprint("\\\\\\hspace*{1cm}{\\GT{"..key.."}: "..value.."}")
end
}
\end{ContentBoxWithExplanation}
@ -84,6 +85,7 @@
\vspace{0.5\baselineskip}
\ignorespacesafterend
}
\newcommand{\printAllElements}{
\directlua{
%-- tex.sprint("\\printElement{"..val.."}")

View File

@ -1,41 +1,59 @@
\ProvidesPackage{mqquantity}
\RequirePackage{mqlua}
\RequirePackage{mqfqname}
\RequirePackage{etoolbox}
\directLuaAux{
quantities = quantities or {}
}
% TODO: MAYBE:
% store the fqname where the quantity is defined
% In qtyRef then use the stored label to reference it, instead of linking to qty:<name>
% Use the mqlua hyperref function
% [1]: label to point to
\begin{luacode}
quantities = {}
function quantityAdd(key, symbol, units, comment, fqname)
quantities[key] = {
["symbol"] = symbol,
["units"] = units,
["comment"] = comment
}
if fqname == "" then
quantities[key]["fqname"] = fqnameGet()
else
quantities[key]["fqname"] = fqname
end
end
function quantityGetSymbol(key)
local qty = quantities[key]
if qty == nil then return "???" end
local symbol = qty["symbol"]
if symbol == nil then return "???" end
return symbol
end
function quantityGetFqname(key)
local qty = quantities[key]
if qty == nil then return "qty:"..key end
local fqname_ = qty["fqname"]
if fqname_ == nil then return "qty:"..key end
return fqname_
end
\end{luacode}
% [1]: label to point to, if not given use current fqname
% 2: key - must expand to a valid lua string!
% 3: symbol
% 4: units
% 5: comment key to translation
\newcommand{\quantity@new}[5][\relax]{%
\directLuaAux{
quantities["#2"] = {}
quantities["#2"]["symbol"] = [[\detokenize{#3}]]
quantities["#2"]["units"] = [[\detokenize{#4}]]
quantities["#2"]["comment"] = [[\detokenize{#5}]]
}
\ifstrempty{#1}{}{
\directLuaAuxExpand{
quantities["#2"]["linkto"] = [[#1]] %-- fqname required for getting the translation key
}
}
\newcommand{\quantity@new}[5][]{%
\directLuaAuxExpand{quantityAdd(\luastring{#2}, \luastringN{#3}, \luastringN{#4}, \luastringN{#5}, \luastring{#1})}
}
% 1: key
\newcommand{\quantity@getSymbol}[1]{\luavar{quantityGetSymbol(\luastring{#1})}}
% 1: key
\newcommand\quantity@print[1]{
\begingroup % for label
Symbol: $\luavar{quantities["#1"]["symbol"]}$
Symbol: $\luavar{quantityGetSymbol(\luastring{#1})}$
\hfill Unit: $\directlua{split_and_print_units(quantities["#1"]["units"])}$ %
% label it only once
\directlua{
if quantities["#1"]["labeled"] == nil then
quantities["#1"]["labeled"] = true
tex.print("\\label{qty:#1}")
end
}%
\endgroup%
}

271
src/pkg/mqref.sty Normal file
View File

@ -0,0 +1,271 @@
\ProvidesPackage{mqref}
\RequirePackage{mqlua}
\RequirePackage{mqfqname}
\RequirePackage{mqquantity}
\newcommand\luaDoubleFieldValue[3]{%
\directlua{
if #1 \string~= nil and #1[#2] \string~= nil and #1[#2][#3] \string~= nil then
tex.sprint(#1[#2][#3])
return
end
luatexbase.module_warning('luaDoubleFieldValue', 'Invalid indices to `#1`: `#2` and `#3`');
tex.sprint("???")
}%
}
% LABELS
\begin{luacode}
-- Contains <label>: <true> for defined labels
-- This could later be extended to contain a list of all fqnames that
-- reference the label to make a network of references or sth like that
labels = labels or {}
-- Table of all labels that dont exist but were referenced
-- <label>: <fqname where it was referenced>
missingLabels = {}
-- aux file with labels for completion in vim
labelsFilepath = OUTDIR .. "/labels.txt" or "/tmp/labels.txt"
labelsLuaFilepath = OUTDIR .. "/labels.lua.txt" or "/tmp/labels.lua.txt"
-- aux file for debugging
missingLabelsFilepath = OUTDIR .. "/missing-labels.txt" or "/tmp/missing-labels.txt"
function labelExists(label)
if labels[label] == nil then return false else return true end
end
function labelSet(label)
labels[label] = true
end
if fileExists(labelsLuaFilepath) then
labels = dofile(labelsLuaFilepath) or {}
end
\end{luacode}
\begin{luacode*}
function serializeKeyValues(tbl)
local result = {}
-- sort by keys making a new table with keys as values and sorting that
for k, v in pairs(tbl) do
table.insert(result, k)
end
table.sort(result)
s = ""
for i, k in ipairs(result) do
s = s .. k .. "\tin\t" .. tbl[k] .. "\n"
end
return s
end
function dumpTableKeyValues(tableobj, filepath)
table.sort(tableobj)
local file = io.open(filepath, "w")
file:write(serializeKeyValues(tableobj))
file:close()
end
function serializeKeys(tbl)
local result = {}
-- sort by keys making a new table with keys as values and sorting that
for k, v in pairs(tbl) do
table.insert(result, k)
end
table.sort(result)
return table.concat(result, "\n")
end
function dumpTableKeys(tableobj, filepath)
table.sort(tableobj)
local file = io.open(filepath, "w")
file:write(serializeKeys(tableobj))
file:close()
end
\end{luacode*}
\AtEndDocument{\directlua{dumpTableKeys(labels, labelsFilepath)}}
\AtEndDocument{\directlua{dumpTable(labels, labelsLuaFilepath)}}
\AtEndDocument{\directlua{dumpTableKeyValues(missingLabels, missingLabelsFilepath)}}
% Set a label and write the label to the aux file
% [1]
\newcommand\mqfqname@label[1][\fqname]{
\label{#1}
\directlua{labelSet(\luastring{#1})}
}
% REFERENCES
% All xyzRef commands link to the key using the translated name
% Uppercase (XyzRef) commands have different link texts, but the same link target
% 1: key/fully qualified name (without qty/eq/sec/const/el... prefix)
\begin{luacode*}
function hyperref(target, text)
local s = ""
if labelExists(target) then
s = "\\hyperref[" .. target .. "]"
else -- mark as missing and referenced in current section
missingLabels[target] = fqnameGet()
end
if text == nil or text == "" then
tex.sprint(s .. "{" .. tlGetFallbackCurrent(target) .. "}")
else
tex.sprint(s .. "{" .. text .. "}")
end
end
\end{luacode*}
% Equations/Formulas
% \newrobustcmd{\fqEqRef}[1]{%
\newrobustcmd{\fAbsRef}[2][]{%
\directlua{hyperref(\luastring{#2}, \luastring{#1})}%
}
\newcommand{\fRef}[2][]{
\directlua{hyperref(translateRelativeFqname(\luastring{#2}), \luastring{#1})}%
}
% [1]: link text
% 2: number of steps to take up
% 3: link target relative to the previous fqname section
\newcommand{\mqfqname@fRelRef}[3][1]{
\directlua{
local N = fqnameGetDepth()
luatexbase.module_warning('fRelRef', '(N=' .. N .. ') #2');
if N > #2 then
local upfqname = fqnameGetN(N-#2)
hyperref(upfqname .. \luastring{:#3}, \luastring{#1})
else
luatexbase.module_warning('fUpRef', 'fqname depth (N=' .. N .. ') too low for fUpRef if #1');
end
}
}
\newcommand{\fThisRef}[2][]{\mqfqname@fRelRef[#1]{0}{#2}}
\newcommand{\fUpRef}[2][]{\mqfqname@fRelRef[#1]{1}{#2}}
\newcommand{\fUppRef}[2][]{\mqfqname@fRelRef[#1]{2}{#2}}
% Quantities
% <symbol>
\newrobustcmd{\qtyRef}[2][]{%
% \edef\tempname{\luaDoubleFieldValue{quantities}{"#1"}{"fqname"}}%
% \hyperref[qty:#1]{\GT{\tempname}}%
\directlua{hyperref(quantityGetFqname(\luastring{#2}), \luastring{#1})}%
}
% <symbol> <name>
\newrobustcmd{\QtyRef}[2][]{%
$\quantity@getSymbol{#2}$ \qtyRef{#2}{}%
}
% Constants
% <name>
\newrobustcmd{\constRef}[2][]{%
% \edef\tempname{\luaDoubleFieldValue{constants}{"#1"}{"linkto"}}%
% \hyperref[const:#1]{\GT{\tempname}}%
\directlua{hyperref(constantGetFqname(\luastring{#2}), \luastring{#1})}%
}
% <symbol> <name>
\newrobustcmd{\ConstRef}[2][]{%
$\constant@getSymbol{#2}$ \constRef{#2}%
}
% Element from periodic table
% <symbol>
\newrobustcmd{\elRef}[1]{%
\hyperref[el:#1]{{\color{fg0}#1}}%
}
% <name>
\newrobustcmd{\ElRef}[1]{%
\hyperref[el:#1]{\GT{el:#1}}%
}
% "LABELS"
% These currently do not place a label,
% instead they provide an alternative way to reference an existing label
\begin{luacode}
absLabels = absLabels or {}
abbrLabels = abbrLabels or {}
function absLabelAdd(key, target, translationKey)
absLabels[key] = {
fqname = (target == "") and fqnameGet() or target,
translation = translationKey or ""
}
end
function absLabelGetTarget(key)
if absLabels[key] then
return absLabels[key].fqname or "abs:" .. key
else
return "abs:" .. key
end
end
function absLabelGetTranslationKey(key)
if absLabels[key] then
return absLabels[key].translation or ""
else
return ""
end
end
function abbrLabelAdd(key, target, label)
abbrLabels[key] = {
abbr = label,
fqname = (target == "") and fqnameGet() or target
}
end
function abbrLabelGetTarget(key)
if abbrLabels[key] then
return abbrLabels[key].fqname or "abbr:" .. key
else
return "abbr:" .. key
end
end
function abbrLabelGetAbbr(key)
if abbrLabels[key] then
return abbrLabels[key].abbr or ""
else
return ""
end
end
\end{luacode}
% [1]: translation key, if different from target
% 2: target (fqname to point to), if left empty will use current fqname
% 3: key
\newcommand{\absLink}[3][]{
\directLuaAuxExpand{
absLabelAdd(\luastring{#3}, \luastring{#2}, \luastring{#1})
}
}
% [1]: target (fqname to point to)
% 2: key
% 3: label (abbreviation)
\newcommand{\abbrLink}[3][]{
\directLuaAuxExpand{
abbrLabelAdd(\luastring{#2}, \luastring{#1}, \luastring{#3})
}
}
% [1]: text
% 2: key
\newcommand{\absRef}[2][]{%
\directlua{
local text = (\luastring{#1} == "") and absLabelGetTranslationKey(\luastring{#2}) or \luastring{#1}
if text \string~= "" then
text = tlGetFallbackCurrent(text)
end
hyperref(absLabelGetTarget(\luastring{#2}, text))
}%
}
\newrobustcmd{\abbrRef}[1]{%
\directlua{hyperref(abbrLabelGetTarget(\luastring{#1}), abbrLabelGetAbbr(\luastring{#1}))}
% if abbrLabels["#1"] == nil then
% tex.sprint(string.sanitize(\luastring{#1}) .. "???")
% else
% tex.sprint("\\hyperref[" .. abbrLabels["#1"]["fqname"] .. "]{" .. abbrLabels["#1"]["abbr"] .. "}")
% end
% }
}

View File

@ -8,8 +8,9 @@
\begin{luacode}
translations = translations or {}
-- string to append to missing translations
-- string to append to missing translations, for debugging
-- unknownTranslation = "???"
-- unknownTranslation = "!UT!"
unknownTranslation = ""
-- language that is set in usepackage[<lang>]{babel}
language = "\languagename"
@ -85,9 +86,9 @@
end
function dumpTranslations()
local file = io.open(translationsFilepath, "w")
file:write("return " .. serialize(translations) .. "\n")
function dumpTable(tableobj, filepath)
local file = io.open(filepath, "w")
file:write("return " .. serialize(tableobj) .. "\n")
file:close()
end
@ -97,7 +98,7 @@
\end{luacode*}
\AtEndDocument{\directlua{dumpTranslations()}}
\AtEndDocument{\directlua{dumpTable(translations, translationsFilepath)}}
%
% TRANSLATION COMMANDS
@ -117,8 +118,8 @@
% shortcuts for translations
% 1: key
\newcommand{\gt}[1]{\luavar{tlGetFallbackCurrent(\luastring{\fqname:#1})}}
\newrobustcmd{\robustGT}[1]{\luavar{tlGetFallbackCurrent(\luastring{#1})}}
\newcommand{\GT}[1]{\luavar{tlGetFallbackCurrent(\luastring{#1})}}
\newrobustcmd{\robustGT}[1]{\luavar{tlGetFallbackCurrent(translateRelativeFqname(\luastring{#1}))}}
\newcommand{\GT}[1]{\luavar{tlGetFallbackCurrent(translateRelativeFqname(\luastring{#1}))}}
% text variants for use in math mode
\newcommand{\tgt}[1]{\text{\gt{#1}}}

View File

@ -4,7 +4,7 @@
\Section[
\eng{Hydrogen Atom}
\ger{Wasserstoffatom}
]{h}
]{h}
\begin{formula}{reduced_mass}
\desc{Reduced mass}{}{}
@ -28,7 +28,7 @@
\end{formula}
\begin{formula}{wave_function}
\desc{Wave function}{}{$R_{nl}(r)$ \fqEqRef{qm:h:radial}, $Y_{lm}$ \fqEqRef{qm:spherical_harmonics}}
\desc{Wave function}{}{$R_{nl}(r)$ \fRef{qm:h:radial}, $Y_{lm}$ \fRef{qm:spherical_harmonics}}
\desc[german]{Wellenfunktion}{}{}
\eq{\psi_{nlm}(r, \theta, \phi) = R_{nl}(r)Y_{lm}(\theta,\phi)}
\end{formula}
@ -50,7 +50,7 @@
\end{formula}
\begin{formula}{rydberg_constant_heavy}
\desc{Rydberg constant}{for heavy atoms}{\ConstRef{electron_mass}, \ConstRef{elementary_charge}, \QtyRef{vacuum_permittivity}, \ConstRef{planck}, \ConstRef{vacuum_speed_of_light}}
\desc{Rydberg constant}{for heavy atoms}{\ConstRef{electron_mass}, \ConstRef{charge}, \ConstRef{vacuum_permittivity}, \ConstRef{planck}, \ConstRef{vacuum_speed_of_light}}
\desc[german]{Rydberg-Konstante}{für schwere Atome}{}
\constant{R_\infty}{exp}{
\val{10973731.568157(12)}{\per\m}
@ -61,7 +61,7 @@
\end{formula}
\begin{formula}{rydberg_constant_corrected}
\desc{Rydberg constant}{corrected for nucleus mass $M$}{\QtyRef{rydberg_constant_heavy}, $\mu = \left(\frac{1}{m_\txe} + \frac{1}{M}\right)^{-1}$ \GT{reduced_mass}, \ConstRef{electron_mass}}
\desc{Rydberg constant}{corrected for nucleus mass $M$}{\ConstRef{rydberg_constant_heavy}, $\mu = \left(\frac{1}{m_\txe} + \frac{1}{M}\right)^{-1}$ \GT{reduced_mass}, \ConstRef{electron_mass}}
\desc[german]{Rydberg Konstante}{korrigiert für Kernmasse $M$}{}
\eq{R_\txM = \frac{\mu}{m_\txe} R_\infty}
\end{formula}
@ -85,15 +85,15 @@
\Subsection[
\eng{Corrections}
\ger{Korrekturen}
]{corrections}
]{corrections}
\Subsubsection[
\eng{Darwin term}
\ger{Darwin-Term}
]{darwin}
]{darwin}
\begin{ttext}[desc]
\eng{Relativisitc correction: Because of the electrons zitterbewegung, it is not entirely localised. \TODO{fact check}}
\ger{Relativistische Korrektur: Elektronen führen eine Zitterbewegung aus und sind nicht vollständig lokalisiert.}
\eng{Relativisitc correction: Accounts for interaction with nucleus (non-zero wavefunction at nucleaus position)}
\ger{Relativistische Korrektur: Berücksichtigt die Interatkion mit dem Kern (endliche Wellenfunktion bei der Kernposition)}
\end{ttext}
\begin{formula}{energy_shift}
\desc{Energy shift}{}{}
@ -110,7 +110,7 @@
\Subsubsection[
\eng{Spin-orbit coupling (LS-coupling)}
\ger{Spin-Bahn-Kopplung (LS-Kopplung)}
]{ls_coupling}
]{ls_coupling}
\begin{ttext}[desc]
\eng{The interaction of the electron spin with the electrostatic field of the nuclei lead to energy shifts.}
\ger{The Wechselwirkung zwischen dem Elektronenspin und dem elektrostatischen Feld des Kerns führt zu Energieverschiebungen.}
@ -131,10 +131,10 @@
\Subsubsection[
\eng{Fine-structure}
\ger{Feinstruktur}
]{fine_structure}
]{fine_structure}
\begin{ttext}[desc]
\eng{The fine-structure combines relativistic corrections \ref{sec:qm:h:corrections:darwin} and the spin-orbit coupling \ref{sec:qm:h:corrections:ls_coupling}.}
\ger{Die Feinstruktur vereint relativistische Korrekturen \ref{sec:qm:h:corrections:darwin} und die Spin-Orbit-Kupplung \ref{sec:qm:h:corrections:ls_coupling}.}
\eng{The fine-structure combines \fRef[relativistic corrections]{qm:h:corrections:darwin} and \fRef{qm:h:corrections:ls_coupling}.}
\ger{Die Feinstruktur vereint \fRef[relativistische Korrekturen]{qm:h:corrections:darwin} und \fRef{qm:h:corrections:ls_coupling}.}
\end{ttext}
\begin{formula}{energy_shift}
\desc{Energy shift}{}{}
@ -146,7 +146,7 @@
\Subsubsection[
\eng{Lamb-shift}
\ger{Lamb-Shift}
]{lamb_shift}
]{lamb_shift}
\begin{ttext}[desc]
\eng{The interaction of the electron with virtual photons emitted/absorbed by the nucleus leads to a (very small) shift in the energy level.}
\ger{The Wechselwirkung zwischen dem Elektron und vom Kern absorbierten/emittierten virtuellen Photonen führt zu einer (sehr kleinen) Energieverschiebung.}
@ -188,8 +188,8 @@
\eq{f &= j \pm i \\ m_f &= -f,-f+1,\dots,f-1,f}
\end{formula}
\begin{formula}{constant}
\desc{Hyperfine structure constant}{}{$B_\textrm{HFS}$ hyperfine field, $\mu_\textrm{K}$ nuclear magneton, $g_i$ nuclear g-factor \ref{qm:h:lande}}
\desc[german]{Hyperfeinstrukturkonstante}{}{$B_\textrm{HFS}$ Hyperfeinfeld, $\mu_\textrm{K}$ Kernmagneton, $g_i$ Kern-g-Faktor \ref{qm:h:lande}}
\desc{Hyperfine structure constant}{}{$B_\textrm{HFS}$ hyperfine field, $\mu_\textrm{K}$ nuclear magneton, $g_i$ nuclear g-factor \fRef{qm:h:lande}}
\desc[german]{Hyperfeinstrukturkonstante}{}{$B_\textrm{HFS}$ Hyperfeinfeld, $\mu_\textrm{K}$ Kernmagneton, $g_i$ Kern-g-Faktor \fRef{qm:h:lande}}
\eq{A = \frac{g_i \mu_\textrm{K} B_\textrm{HFS}}{\sqrt{j(j+1)}}}
\end{formula}
\begin{formula}{energy_shift}

View File

@ -145,7 +145,6 @@
\desc[german]{Kommutatorrelationen}{}{}
\eq{[A, BC] = [A, B]C - B[A,C]}
\end{formula}
\TODO{add some more?}
\begin{formula}{function}
\desc{Commutator involving a function}{}{given $[A,[A,B]] = 0$}
@ -288,8 +287,9 @@
\Subsubsection[
\eng{Ehrenfest theorem}
\ger{Ehrenfest-Theorem}
]{ehrenfest_theorem}
\GT{see_also} \ref{sec:qm:basics:schroedinger_equation:correspondence_principle}
]{ehrenfest_theorem}
\absLink{}{ehrenfest_theorem}
\GT{see_also} \fRef{qm:se:time:ehrenfest_theorem:correspondence_principle}
\begin{formula}{ehrenfest_theorem}
\desc{Ehrenfest theorem}{applies to both pictures}{}
\desc[german]{Ehrenfest-Theorem}{gilt für beide Bilder}{}
@ -386,8 +386,6 @@
\eq{E_n = \hbar\omega \Big(\frac{1}{2} + n\Big)}
\end{formula}
\GT{see_also} \ref{sec:qm:hosc:c_a_ops}
\Subsection[
\ger{Erzeugungs und Vernichtungsoperatoren / Leiteroperatoren}
\eng{Creation and Annihilation operators / Ladder operators}
@ -486,11 +484,10 @@
\ger{Aharanov-Bohm Effekt}
]{aharanov_bohm}
\begin{formula}{phase}
\desc{Acquired phase}{Electron along a closed loop aquires a phase proportional to the enclosed magnetic flux}{}
\desc{Acquired phase}{Electron along a closed loop aquires a phase proportional to the enclosed magnetic flux}{\QtyRef{magnetic_vector_potential}, \QtyRef{magnetic_flux}}
\desc[german]{Erhaltene Phase}{Elektron entlang eines geschlossenes Phase erhält eine Phase die proportional zum eingeschlossenen magnetischem Fluss ist}{}
\eq{\delta = \frac{2 e}{\hbar} \oint \vec{A}\cdot \d\vec{s} = \frac{2 e}{\hbar} \Phi}
\end{formula}
\TODO{replace with loop intergral symbol and add more info}
\Section[
\eng{Periodic potentials}
\ger{Periodische Potentiale}
@ -526,8 +523,8 @@
\ger{Symmetrien}
]{symmetry}
\begin{ttext}[desc]
\eng{Most symmetry operators are unitary \ref{sec:linalg:unitary} because the norm of a state must be invariant under transformations of space, time and spin.}
\ger{Die meisten Symmetrieoperatoren sind unitär \ref{sec:linalg:unitary}, da die Norm eines Zustands invariant unter Raum-, Zeit- und Spin-Transformationen sein muss.}
\eng{Most symmetry operators are \fRef[unitary]{math:linalg:matrix:unitary} because the norm of a state must be invariant under transformations of space, time and spin.}
\ger{Die meisten Symmetrieoperatoren sind \fRef[unitär]{math:linalg:matrix:unitary}, da die Norm eines Zustands invariant unter Raum-, Zeit- und Spin-Transformationen sein muss.}
\end{ttext}
\begin{formula}{invariance}
\desc{Invariance}{$\hat{H}$ is invariant under a symmetrie described by $\hat{U}$ if this holds}{}
@ -562,7 +559,7 @@
\eq{H &= \underbrace{\hbar\omega_c \hat{a}^\dagger \hat{a}}_\text{\GT{field}}
+ \underbrace{\hbar\omega_\text{a} \frac{\hat{\sigma}_z}{2}}_\text{\GT{atom}}
+ \underbrace{\frac{\hbar\Omega}{2} \hat{E} \hat{S}}_\text{int} \\
\shortintertext{\GT{after} \hyperref[eq:qm:other:RWA]{RWA}:} \\
\shortintertext{\GT{after} \fRef[RWA]{qm:other:RWA}:} \\
&= \hbar\omega_c \hat{a}^\dagger \hat{a}
+ \hbar\omega_\text{a} \hat{\sigma}^\dagger \hat{\sigma}
+ \frac{\hbar\Omega}{2} (\hat{a}\hat{\sigma^\dagger} + \hat{a}^\dagger \hat{\sigma})
@ -572,7 +569,7 @@
\Section[
\eng{Other}
\ger{Sonstiges}
]{other}
]{other}
\begin{formula}{RWA}
\desc{Rotating Wave Approximation (RWS)}{Rapidly oscilating terms are neglected}{$\omega_\text{L}$ light frequency, $\omega_0$ transition frequency}
\desc[german]{Rotating Wave Approximation / Drehwellennäherung (RWS)}{Schnell oscillierende Terme werden vernachlässigt}{$\omega_\text{L}$ Frequenz des Lichtes, $\omega_0$ Übergangsfrequenz}
@ -588,6 +585,7 @@
}
\end{formula}
\begin{formula}{slater_det}
\desc{Slater determinant}{Construction of a fermionic (antisymmetric) many-particle wave function from single-particle wave functions}{}
\desc[german]{Slater Determinante}{Konstruktion einer fermionischen (antisymmetrischen) Vielteilchen Wellenfunktion aus ein-Teilchen Wellenfunktionen}{}

View File

@ -98,10 +98,16 @@
\desc[german]{Volumen}{$d$ dimensionales Volumen}{}
\quantity{V}{\m^d}{}
\end{formula}
\begin{formula}{heat_capacity}
\desc{Heat capacity}{}{}
\desc[german]{Wärmekapazität}{}{}
\quantity{C}{\joule\per\kelvin}{}
\begin{formula}{heat}
\desc{Heat}{}{}
\desc[german]{Wärme}{}{}
\quantity{Q}{\joule}{}
\end{formula}
\begin{formula}{density}
\desc{Density}{}{}
\desc[german]{Dichte}{}{}
\quantity{\rho}{\kg\per\m^3}{s}
\end{formula}
\Subsection[
@ -125,6 +131,12 @@
\quantity{\rho}{\coulomb\per\m^3}{s}
\end{formula}
\begin{formula}{charge_carrier_density}
\desc{Charge carrier density}{Number of charge carriers per volume}{}
\desc[german]{Ladungsträgerdichte}{Anzahl der Ladungsträger pro Volumen}{}
\quantity{n}{\per\m^3}{s}
\end{formula}
\begin{formula}{frequency}
\desc{Frequency}{}{}
\desc[german]{Frequenz}{}{}
@ -136,6 +148,12 @@
\quantity{\omega}{\radian\per\s}{s}
\eq{\omega = \frac{2\pi/T}{2\pi f}}
\end{formula}
\begin{formula}{angular_velocity}
\desc{Angular velocity}{}{\QtyRef{time_period}, \QtyRef{frequency}}
\desc[german]{Kreisgeschwindigkeit}{}{}
\quantity{\vec{\omega}}{\radian\per\s}{v}
\eq{\vec{\omega} = \frac{\vecr \times \vecv}{r^2}}
\end{formula}
\begin{formula}{time_period}
\desc{Time period}{}{\QtyRef{frequency}}
@ -144,10 +162,39 @@
\eq{T = \frac{1}{f}}
\end{formula}
\begin{formula}{conductivity}
\desc{Conductivity}{}{}
\desc[german]{Leitfähigkeit}{}{}
\quantity{\sigma}{\per\ohm\m}{}
\begin{formula}{wavelength}
\desc{Wavelength}{}{}
\desc[german]{Wellenlänge}{}{}
\quantity{\lambda}{\per\m}{s}
\end{formula}
\begin{formula}{angular_wavenumber}
\desc{Wavenumber}{Angular wavenumber}{\QtyRef{wavelength}}
\desc[german]{Wellenzahl}{}{}
\eq{k = \frac{2\pi}{\lambda}}
\quantity{k}{\radian\per\m}{s}
\end{formula}
\begin{formula}{wavevector}
\desc{Wavevector}{Vector perpendicular to the wavefront}{}
\desc[german]{Wellenvektor}{Vektor senkrecht zur Wellenfront}{}
\eq{\abs{k} = \frac{2\pi}{\lambda}}
\quantity{\vec{k}}{1\per\m}{v}
\end{formula}
\begin{formula}{impedance}
\desc{Impedance}{}{}
\desc[german]{Impedanz}{}{}
\quantity{Z}{\ohm}{s}
\end{formula}
\begin{formula}{resistance}
\desc{Resistance}{}{}
\desc[german]{Widerstand}{}{}
\quantity{R}{\ohm}{s}
\end{formula}
\begin{formula}{inductance}
\desc{Inductance}{}{}
\desc[german]{Induktivität}{}{}
\quantity{L}{\henry=\kg\m^2\per\s^2\ampere^2=\weber\per\ampere=\volt\s\per\ampere=\ohm\s}{s}
\end{formula}
\Subsection[

View File

@ -73,7 +73,7 @@
\end{formula}
\begin{formula}{2nd_josephson_relation}
\desc{2. Josephson relation}{superconducting phase change is proportional to applied voltage}{$\varphi_0=\frac{\hbar}{2e}$ reduced flux quantum}
\desc{2. Josephson relation}{Superconducting phase change is proportional to applied voltage}{$\varphi_0=\frac{\hbar}{2e}$ reduced flux quantum}
\desc[german]{2. Josephson Gleichung}{Supraleitende Phasendifferenz is proportional zur angelegten Spannung}{$\varphi_0=\frac{\hbar}{2e}$ reduziertes Flussquantum}
\eq{\odv{\hat{\delta}}{t}=\frac{1}{i\hbar}[\hat{H},\hat{\delta}] = -\frac{2eU}{i\hbar}[\hat{n},\hat{\delta}] = \frac{1}{\varphi_0} U}
\end{formula}
@ -108,29 +108,24 @@
\end{formula}
\Subsection[
\eng{Josephson Qubit??}
\ger{TODO}
]{josephson_qubit}
\begin{tikzpicture}
\draw (0,0) to[capacitor] (0,2);
\draw (0,0) to (2,0);
\draw (0,2) to (2,2);
\draw (2,0) to[josephson] (2,2);
\eng{Josephson junction based qubits}
\ger{Qubits mit Josephson-Junctions}
]{josephson_qubit}
\draw[->] (3,1) -- (4,1);
\draw (5,0) to[josephsoncap=$C_\text{J}$] (5,2);
\end{tikzpicture}
\TODO{Include schaltplan}
\begin{tikzpicture}
\draw (0,0) to[sV=$V_\text{g}$] (0,2);
\draw (0,2) to[capacitor=$C_\text{g}$] (2,2);
\draw (2,2) to (4,2);
\draw (2,0) to[josephsoncap=$C_\text{J}$] (2,2);
\draw (4,0) to[capacitor=$C_C$] (4,2);
\draw (0,0) to (2,0);
\draw (2,0) to (4,0);
\end{tikzpicture}
\begin{formula}{circuit}
\desc{General circuit}{}{}
\desc[german]{Allgemeiner Schaltplan}{}{}
\centering
\begin{tikzpicture}
\draw (0,0) to[sV=$V_\text{g}$] (0,2);
\draw (0,2) to[capacitor=$C_\text{g}$] (2,2);
\draw (2,2) to (4,2);
\draw (2,0) to[josephsoncap=$C_\text{J}$] (2,2);
\draw (4,0) to[capacitor=$C_C$] (4,2);
\draw (0,0) to (2,0);
\draw (2,0) to (4,0);
\end{tikzpicture}
\end{formula}
\begin{formula}{charging_energy}
\desc{Charging energy / electrostatic energy}{}{}
@ -140,10 +135,9 @@
\begin{formula}{josephson_energy}
\desc{Josephson energy}{}{}
\desc[german]{Josephson-Energie?}{}{}
\desc[german]{Josephson-Energie}{}{}
\eq{E_\text{J} = \frac{I_0 \phi_0}{2\pi}}
\end{formula}
\TODO{Was ist I0}
\begin{formula}{inductive_energy}
\desc{Inductive energy}{}{}
@ -164,262 +158,265 @@
\end{formula}
\begin{minipage}{0.8\textwidth}
\begingroup
\setlength{\tabcolsep}{0.9em} % horizontal
\renewcommand{\arraystretch}{2} % vertical
\begin{tabular}{ p{0.5cm} |p{0.8cm}||p{2.2cm}|p{1.9cm}|p{1.9cm}|p{1.8cm}|}
\multicolumn{1}{c}{}& \multicolumn{1}{c}{} &\multicolumn{4}{c}{$E_L/(E_J-E_L)$} \\
\cline{3-6}
\multicolumn{1}{c}{} & & $0$ & $\ll$ 1 & $\sim 1$ & $\gg 1$\\
\hhline{~|=====|}
\multirow{4}{*}{$\frac{E_J}{E_C}$} & $\ll 1$ & cooper-pair box & & & \\
\cline{2-6}
& $\sim 1$ & quantronium & fluxonium & &\\
\cline{2-6}
& $\gg 1$ &transmon & & & flux qubit\\
\cline{2-6}
& $\ggg 1$ & & & phase qubit & \\
\cline{2-6}
\end{tabular}
\endgroup
\end{minipage}
\begin{minipage}{0.2\textwidth}
\begin{tikzpicture}[scale=2]
\draw[-latex,line width=2pt] (0,1)--++(0,1) node[midway,above,sloped] () {charge noise};
\draw[-latex,line width=2pt] (0,1)--++(0,1) node[midway,below,sloped] () {sensitivity};
\draw[-latex,line width=2pt] (0,0)--++(1,1) node[midway,above,sloped] () {flux noise};
\draw[-latex,line width=2pt] (0,0)--++(1,1) node[midway,below,sloped] () {sensitivity};
\draw[-latex,line width=2pt] (0,0)--++(1,-1) node[midway,above,sloped] () {critical current};
\draw[-latex,line width=2pt] (0,0)--++(1,-1) node[midway,below,sloped] () {noise sensitivity};
\end{tikzpicture}
\end{minipage}
\begin{bigformula}{comparison}
\desc{Comparison of superconducting qubits}{}{$E_C$ \fRef{::charging_energy}, $E_L$ \fRef{::inductive_energy}, $E_{\txJ}$ \fRef{::josephson_energy}}
\desc[german]{Vergleich supraleitender Qubits}{}{}
\begin{minipage}{0.8\textwidth}
\begingroup
\setlength{\tabcolsep}{0.9em} % horizontal
\renewcommand{\arraystretch}{2} % vertical
\begin{tabular}{ p{0.5cm} |p{0.8cm}||p{2.2cm}|p{1.9cm}|p{1.9cm}|p{1.8cm}|}
\multicolumn{1}{c}{}& \multicolumn{1}{c}{} &\multicolumn{4}{c}{$E_L/(E_J-E_L)$} \\
\cline{3-6}
\multicolumn{1}{c}{} & & $0$ & $\ll$ 1 & $\sim 1$ & $\gg 1$\\
\hhline{~|=====|}
\multirow{4}{*}{$\frac{E_J}{E_C}$} & $\ll 1$ & cooper-pair box & & & \\
\cline{2-6}
& $\sim 1$ & quantronium & fluxonium & &\\
\cline{2-6}
& $\gg 1$ &transmon & & & flux qubit\\
\cline{2-6}
& $\ggg 1$ & & & phase qubit & \\
\cline{2-6}
\end{tabular}
\endgroup
\end{minipage}
\begin{minipage}{0.19\textwidth}
\begin{tikzpicture}[scale=2]
\draw[-latex,line width=2pt] (0,1)--++(0,1) node[midway,above,sloped] () {charge noise};
\draw[-latex,line width=2pt] (0,1)--++(0,1) node[midway,below,sloped] () {sensitivity};
\draw[-latex,line width=2pt] (0,0)--++(1,1) node[midway,above,sloped] () {flux noise};
\draw[-latex,line width=2pt] (0,0)--++(1,1) node[midway,below,sloped] () {sensitivity};
\draw[-latex,line width=2pt] (0,0)--++(1,-1) node[midway,above,sloped] () {critical current};
\draw[-latex,line width=2pt] (0,0)--++(1,-1) node[midway,below,sloped] () {noise sensitivity};
\end{tikzpicture}
\end{minipage}
\end{bigformula}
\Subsection[
\eng{Cooper Pair Box (CPB) qubit}
\ger{Cooper Paar Box (QPB) Qubit}
]{cpb}
\begin{ttext}
\eng{
= voltage bias junction\\= charge qubit?
}
\ger{}
\end{ttext}
\begin{formula}{circuit}
\desc{Cooper Pair Box / Charge qubit}{
\begin{itemize}
\gooditem large anharmonicity
\baditem sensitive to charge noise
\end{itemize}
}{}
\desc[german]{Cooper Pair Box / Charge Qubit}{
\begin{itemize}
\gooditem Große Anharmonizität
\baditem Sensibel für charge noise
\end{itemize}
}{}
\centering
\begin{tikzpicture}
\draw (0,0) to[sV=$V_\text{g}$] (0,2);
% \draw (0,0) to (2,0);
\draw (0,2) to[capacitor=$C_\text{g}$] (2,2);
\draw (2,0) to[josephsoncap=$C_\text{J}$] (2,2);
\draw (0,0) to (2,0);
\end{tikzpicture}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} &= 4 E_C(\hat{n} - n_\text{g})^2 - E_\text{J} \cos\hat{\phi} \\
&=\sum_n \left[4 E_C (n-n_\text{g})^2 \ket{n}\bra{n} - \frac{E_\text{J}}{2}\ket{n}\bra{n+1}+\ket{n+1}\bra{n}\right] }
\end{formula}
\Subsection[
\eng{Transmon qubit}
\ger{Transmon Qubit}
]{transmon}
\begin{formula}{circuit}
\desc{Transmon qubit}{
Josephson junction with a shunt \textbf{capacitance}.
\begin{itemize}
\gooditem charge noise insensitive
\baditem small anharmonicity
\end{itemize}
}{}
\desc[german]{Transmon Qubit}{
Josephson-Kontakt mit einem parallelen \textbf{kapzitiven Element}.
\begin{itemize}
\gooditem Charge noise resilient
\baditem Geringe Anharmonizität $\alpha$
\end{itemize}
}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to[capacitor=$C_\text{g}$] ++(2,0)
\draw (0,0) to ++(2,0) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to ++(0,-0.5) to ++(-2,0)
to[capacitor=$C_C$] ++(0,3);
\end{tikzpicture}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} &= 4 E_C\hat{n}^2 - E_\text{J} \cos\hat{\phi}}
\end{formula}
\eng{Charge based qubits}
\ger{Ladungsbasierte Qubits}
]{charge}
\begin{bigformula}{comparison}
\desc{Comparison of charge qubit states}{}{}
\desc[german]{Vergleich der Zustände von Ladungsbasierten Qubits}{}{}
\fig{img/qubit_transmon.pdf}
\end{bigformula}
\Subsubsection[
\eng{Tunable Transmon qubit}
\ger{Tunable Transmon Qubit}
]{tunable}
\eng{Cooper Pair Box (CPB) qubit}
\ger{Cooper Paar Box (QPB) Qubit}
]{cpb}
\begin{ttext}
\eng{
= voltage bias junction\\= charge qubit?
}
\ger{}
\end{ttext}
\begin{formula}{circuit}
\desc{Frequency tunable transmon}{By using a \fqSecRef{qc:scq:elements:squid} instead of a \fqSecRef{qc:scq:elements:josephson_junction}, the qubit is frequency tunable through an external field}{}
\desc[german]{}{Durch Nutzung eines \fqSecRef{qc:scq:elements:squid} anstatt eines \fqSecRef{qc:scq:elements:josephson_junction}s, ist die Frequenz des Qubits durch ein externes Magnetfeld einstellbar}{}
\desc{Cooper Pair Box / Charge qubit}{
\begin{itemize}
\gooditem large anharmonicity
\baditem sensitive to charge noise
\end{itemize}
}{}
\desc[german]{Cooper Pair Box / Charge Qubit}{
\begin{itemize}
\gooditem Große Anharmonizität
\baditem Sensibel für charge noise
\end{itemize}
}{}
\centering
\begin{tikzpicture}
\draw (0,0) to[sV=$V_\text{g}$] (0,2);
% \draw (0,0) to (2,0);
\draw (0,2) to[capacitor=$C_\text{g}$] (2,2);
\draw (2,0) to[josephsoncap=$C_\text{J}$] (2,2);
\draw (0,0) to (2,0);
\end{tikzpicture}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} &= 4 E_C(\hat{n} - n_\text{g})^2 - E_\text{J} \cos\hat{\phi} \\
&=\sum_n \left[4 E_C (n-n_\text{g})^2 \ket{n}\bra{n} - \frac{E_\text{J}}{2}\ket{n}\bra{n+1}+\ket{n+1}\bra{n}\right] }
\end{formula}
\Subsubsection[
\eng{Transmon qubit}
\ger{Transmon Qubit}
]{transmon}
\begin{formula}{circuit}
\desc{Transmon qubit}{
Josephson junction with a shunt \textbf{capacitance}.
\begin{itemize}
\gooditem charge noise insensitive
\baditem small anharmonicity
\end{itemize}
}{}
\desc[german]{Transmon Qubit}{
Josephson-Kontakt mit einem parallelen \textbf{kapzitiven Element}.
\begin{itemize}
\gooditem Charge noise resilient
\baditem Geringe Anharmonizität $\alpha$
\end{itemize}
}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to[capacitor=$C_\text{g}$] ++(2,0)
\draw (0,0) to ++(-2,0)
to ++(3,0) to ++(0,-0.5) \squidloop{loop}{SQUID} to ++(0,-0.5) to ++(-3,0)
to[capacitor=$C_C$] ++(0,3);
\draw (0,0) to ++(2,0) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to ++(0,-0.5) to ++(-2,0)
to[capacitor=$C_C$] ++(0,3);
\end{tikzpicture}
\end{formula}
\begin{formula}{energy}
\desc{Josephson energy}{}{$d=(E_\text{J1}-E_\text{J2})/(E_\text{J1}+E_\text{J2})$ asymmetry}
\desc[german]{Josephson Energie}{}{$d=(E_\text{J1}-E_\text{J2})/(E_\text{J1}+E_\text{J2})$ Asymmetrie}
\eq{E_\text{J,eff}(\Phi_\text{ext}) = (E_\text{J1}+E_\text{J2}) \sqrt{\cos^2\left(\pi\frac{\Phi_\text{ext}}{\Phi_0}\right) + d^2 \sin \left(\pi\frac{\Phi_\text{ext}}{\Phi_0}\right)}}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} = 4E_C \hat{n}^2 - \frac{1}{2} E_\text{J,eff}(\Phi_\text{ext}) \sum_{n}\left[\ket{n}\bra{n+1} + \ket{n+1}\bra{n}\right]}
\eq{\hat{H} &= 4 E_C\hat{n}^2 - E_\text{J} \cos\hat{\phi}}
\end{formula}
\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{img/qubit_transmon.pdf}
\caption{Transmon and so TODO}
\label{fig:img-qubit_transmon-pdf}
\end{figure}
\Subsubsection[
\eng{Tunable Transmon qubit}
\ger{Tunable Transmon Qubit}
]{tunable}
\begin{formula}{circuit}
\desc{Frequency tunable transmon}{By using a \fRef{qc:scq:elements:squid} instead of a \fRef{qc:scq:elements:josephson_junction}, the qubit is frequency tunable through an external field}{}
\desc[german]{}{Durch Nutzung eines \fRef{qc:scq:elements:squid} anstatt eines \fRef{qc:scq:elements:josephson_junction}s, ist die Frequenz des Qubits durch ein externes Magnetfeld einstellbar}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to[capacitor=$C_\text{g}$] ++(2,0)
\draw (0,0) to ++(-2,0)
to ++(3,0) to ++(0,-0.5) \squidloop{loop}{SQUID} to ++(0,-0.5) to ++(-3,0)
to[capacitor=$C_C$] ++(0,3);
\end{tikzpicture}
\end{formula}
\Subsection[
\eng{Phase qubit}
\ger{Phase Qubit}
]{phase}
\begin{formula}{circuit}
\desc{Phase qubit}{}{}
\desc[german]{Phase Qubit}{}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to ++(2,0) coordinate(top1)
% to ++(2,0) coordinate(top2)
% to ++(2,0) coordinate(top3);
% \draw (0,0)
% to ++(2,0) coordinate(bot1)
% to ++(2,0) coordinate(bot2)
% to ++(2,0) coordinate(bot3);
\draw[color=gray] (0,0) to[capacitor=$C_C$] (0,-2);
% \draw (top1) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to (bot2);
\draw(0,0) to ++(2,0) to[josephsoncap=$C_\text{J}$] ++(0,-2) to ++(-2,0);
\draw (2,0) to ++(2,0) to[cute inductor=$E_L$] ++(0,-2) to ++(-2,0);
\node at (3,-1.5) {$\Phi_\text{ext}$};
\end{tikzpicture}
\\\TODO{Ist beim Fluxonium noch die Voltage source dran?}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{$\delta = \frac{\phi}{\phi_0}$}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} = E_C \hat{n}^2 - E_J \cos \hat{\delta} + E_L(\hat{\delta} - \delta_s)^2}
\end{formula}
\Eng[TESTT]{This is only a test}
\Ger[TESTT]{}
\GT{TESTT}
\begin{formula}{energy}
\desc{Josephson energy}{}{$d=(E_\text{J1}-E_\text{J2})/(E_\text{J1}+E_\text{J2})$ asymmetry}
\desc[german]{Josephson Energie}{}{$d=(E_\text{J1}-E_\text{J2})/(E_\text{J1}+E_\text{J2})$ Asymmetrie}
\eq{E_\text{J,eff}(\Phi_\text{ext}) = (E_\text{J1}+E_\text{J2}) \sqrt{\cos^2\left(\pi\frac{\Phi_\text{ext}}{\Phi_0}\right) + d^2 \sin \left(\pi\frac{\Phi_\text{ext}}{\Phi_0}\right)}}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} = 4E_C \hat{n}^2 - \frac{1}{2} E_\text{J,eff}(\Phi_\text{ext}) \sum_{n}\left[\ket{n}\bra{n+1} + \ket{n+1}\bra{n}\right]}
\end{formula}
\Subsection[
\eng{Flux qubit}
\ger{Flux Qubit}
]{flux}
\TODO{TODO}
\begin{formula}{circuit}
\desc{Flux qubit / Persistent current qubit}{}{}
\desc[german]{Flux Qubit / Persistent current qubit}{}{}
\centering
\begin{tikzpicture}
\draw (0,0) to[josephsoncap=$\alpha E_\text{J}$, scale=0.8, transform shape] (0,-3);
\draw (0,0) to ++(3,0)
to[josephsoncap=$E_\text{J}$] ++(0,-1.5)
to[josephsoncap=$E_\text{J}$] ++(0,-1.5)
to ++(-3,0);
\node at (1.5,-1.5) {$\Phi_\text{ext}$};
\end{tikzpicture}
% \begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to ++(2,0) coordinate(top1)
% to ++(2,0) coordinate(top2)
% to ++(2,0) coordinate(top3);
% \draw (0,0)
% to ++(2,0) coordinate(bot1)
% to ++(2,0) coordinate(bot2)
% to ++(2,0) coordinate(bot3);
% \draw[color=gray] (top1) to[capacitor=$C_C$] (bot1);
% % \draw (top1) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to (bot2);
% \draw[scale=0.8, transform shape] (top2) to[josephsoncap=$\alpha E_\text{J}$] (bot2);
% \draw (top3)
% to[josephsoncap=$E_\text{J}$] ++(0,-1.5)
% to[josephsoncap=$E_\text{J}$] (bot3);
% \node at (5,0.5) {$\Phi_\text{ext}$};
% \end{tikzpicture}
\end{formula}
\Subsection[
\eng{Inductive qubits}
\ger{Induktive Qubits}
]{inductive}
\begin{bigformula}{comparison}
\desc{Comparison of other qubit states}{}{}
\desc[german]{Vergleich der Zustände von anderen Qubits}{}{}
\fig{img/qubit_flux_onium.pdf}
\end{bigformula}
\Subsubsection[
\eng{Phase qubit}
\ger{Phase Qubit}
]{phase}
\begin{formula}{circuit}
\desc{Phase qubit}{}{}
\desc[german]{Phase Qubit}{}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to ++(2,0) coordinate(top1)
% to ++(2,0) coordinate(top2)
% to ++(2,0) coordinate(top3);
% \draw (0,0)
% to ++(2,0) coordinate(bot1)
% to ++(2,0) coordinate(bot2)
% to ++(2,0) coordinate(bot3);
\draw[color=gray] (0,0) to[capacitor=$C_C$] (0,-2);
% \draw (top1) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to (bot2);
\draw(0,0) to ++(2,0) to[josephsoncap=$C_\text{J}$] ++(0,-2) to ++(-2,0);
\draw (2,0) to ++(2,0) to[cute inductor=$E_L$] ++(0,-2) to ++(-2,0);
\node at (3,-1.5) {$\Phi_\text{ext}$};
\end{tikzpicture}
\end{formula}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{$\delta = \frac{\phi}{\phi_0}$}
\desc[german]{Hamiltonian}{}{}
\eq{\hat{H} = E_C \hat{n}^2 - E_J \cos \hat{\delta} + E_L(\hat{\delta} - \delta_s)^2}
\end{formula}
\Subsubsection[
\eng{Flux qubit}
\ger{Flux Qubit}
]{flux}
\begin{formula}{circuit}
\desc{Flux qubit / Persistent current qubit}{}{}
\desc[german]{Flux Qubit / Persistent current qubit}{}{}
\centering
\begin{tikzpicture}
\draw (0,0) to[josephsoncap=$\alpha E_\text{J}$, scale=0.8, transform shape] (0,-3/0.8);
\draw (0,0) to ++(3,0)
to[josephsoncap=$E_\text{J}$] ++(0,-1.5)
to[josephsoncap=$E_\text{J}$] ++(0,-1.5)
to ++(-3,0);
\node at (1.5,-1.5) {$\Phi_\text{ext}$};
\end{tikzpicture}
% \begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to ++(2,0) coordinate(top1)
% to ++(2,0) coordinate(top2)
% to ++(2,0) coordinate(top3);
% \draw (0,0)
% to ++(2,0) coordinate(bot1)
% to ++(2,0) coordinate(bot2)
% to ++(2,0) coordinate(bot3);
% \draw[color=gray] (top1) to[capacitor=$C_C$] (bot1);
% % \draw (top1) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to (bot2);
% \draw[scale=0.8, transform shape] (top2) to[josephsoncap=$\alpha E_\text{J}$] (bot2);
% \draw (top3)
% to[josephsoncap=$E_\text{J}$] ++(0,-1.5)
% to[josephsoncap=$E_\text{J}$] (bot3);
% \node at (5,0.5) {$\Phi_\text{ext}$};
% \end{tikzpicture}
\end{formula}
\Subsection[
\eng{Fluxonium qubit}
\ger{Fluxonium Qubit}
]{fluxonium}
\begin{formula}{circuit}
\desc{Fluxonium qubit}{
Josephson junction with a shunt \textbf{inductance}. Instead of having to tunnel, cooper pairs can move to the island via the inductance.
The inductance consists of many parallel Josephson Junctions to avoid parasitic capacitances.
}{}
\desc[german]{Fluxonium Qubit}{
Josephson-Kontakt mit einem parallelen \textbf{induktiven Element}.
Anstatt zu tunneln, können die Cooper-Paare über das induktive Element auf die Insel gelangen.
Das induktive Element besteht aus sehr vielen parallelen Josephson-Kontakten um parisitische Kapazitäten zu vermeiden.
}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to ++(2,0) coordinate(top1);
\draw[color=gray] (0,0) to ++(-2,0) to[capacitor=$C_C$] ++(0,-3) to ++(2,0);
\draw (0,0) to[josephsoncap=$C_\text{J}$] ++(-0,-3);
\draw (0,0) to ++(2,0) to[cute inductor=$E_L$] ++(0,-3) to ++(-2,0);
\node at (1,-0.5) {$\Phi_\text{ext}$};
\end{tikzpicture}
\\\TODO{Ist beim Fluxonium noch die Voltage source dran?}
\end{formula}
\Subsubsection[
\eng{Fluxonium qubit}
\ger{Fluxonium Qubit}
]{fluxonium}
\begin{formula}{circuit}
\desc{Fluxonium qubit}{
Josephson junction with a shunt \textbf{inductance}. Instead of having to tunnel, cooper pairs can move to the island via the inductance.
The inductance consists of many parallel Josephson Junctions to avoid parasitic capacitances.
}{}
\desc[german]{Fluxonium Qubit}{
Josephson-Kontakt mit einem parallelen \textbf{induktiven Element}.
Anstatt zu tunneln, können die Cooper-Paare über das induktive Element auf die Insel gelangen.
Das induktive Element besteht aus sehr vielen parallelen Josephson-Kontakten um parisitische Kapazitäten zu vermeiden.
}{}
\centering
\begin{tikzpicture}
% \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
% to ++(2,0) coordinate(top1);
\draw[color=gray] (0,0) to ++(-2,0) to[capacitor=$C_C$] ++(0,-3) to ++(2,0);
\draw (0,0) to[josephsoncap=$C_\text{J}$] ++(-0,-3);
\draw (0,0) to ++(2,0) to[cute inductor=$E_L$] ++(0,-3) to ++(-2,0);
\node at (1,-0.5) {$\Phi_\text{ext}$};
\end{tikzpicture}
\\\TODO{Ist beim Fluxonium noch die Voltage source dran?}
\end{formula}
\def\temp{$E_\text{C} = \frac{(2e)^2}{2C}, E_\text{L} = \frac{\varphi_0^2}{2L}, \delta_\text{s} = \frac{\varphi_\text{s}}{\varphi_0}$}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{\temp}
\desc[german]{Hamiltonian}{}{\temp}
\eq{\hat{H} = 4E_\text{C} \hat{n}^2 - E_\text{J} \cos \hat{\delta} + E_\text{L}(\hat{\delta} - \delta_\text{s})^2}
\end{formula}
\def\temp{$E_\text{C} = \frac{(2e)^2}{2C}, E_\text{L} = \frac{\varphi_0^2}{2L}, \delta_\text{s} = \frac{\varphi_\text{s}}{\varphi_0}$}
\begin{formula}{hamiltonian}
\desc{Hamiltonian}{}{\temp}
\desc[german]{Hamiltonian}{}{\temp}
\eq{\hat{H} = 4E_\text{C} \hat{n}^2 - E_\text{J} \cos \hat{\delta} + E_\text{L}(\hat{\delta} - \delta_\text{s})^2}
\end{formula}
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{img/qubit_flux_onium.pdf}
\caption{img/}
\label{fig:img-}
\end{figure}
\Section[
@ -432,7 +429,6 @@
\desc[german]{Ressonanzfrequenz}{}{}
\eq{\omega_{21} = \frac{E_2 - E_1}{\hbar}}
\end{formula}
\TODO{sollte das nicht 10 sein?}
\begin{formula}{rabi_oscillation}
\desc{Rabi oscillations}{}{$\omega_{21}$ resonance frequency of the energy transition, $\Omega$ Rabi frequency}
@ -440,15 +436,14 @@
\eq{\Omega_ \text{\TODO{TODO}}}
\end{formula}
\Subsection[
\eng{Ramsey interferometry}
\ger{Ramsey Interferometrie}
]{ramsey}
\begin{formula}{ramsey}
\desc{Ramsey interferometry}{}{}
\desc[german]{Ramsey Interferometrie}{}{}
\begin{ttext}
\eng{$\ket{0} \xrightarrow{\frac{\pi}{2}\,\text{pulse}}$ precession in $xy$ plane for time $\tau$ $\xrightarrow{\frac{\pi}{2}\,\text{pulse}}$ measurement}
\ger{q}
\end{ttext}
\end{formula}
\Section[
\eng{Noise and decoherence}

18
src/readme.md Normal file
View File

@ -0,0 +1,18 @@
# Formulary tex source
## Special directories
- `pkg`: My custom Latex packages
- `img`: Images generated by `../scripts/`
- `img_static`: Downloaded or other images not generated by me
- `img_static_svgs`: Downloaded or other images not generated by me that need to be converted to pdf
## Subject directories
- `bib`: bibliography files
- `ch`: chemistry
- `cm`: condensed matter
- `comp`: computational
- `ed`: electrodynamics
- `math`: mathematics
- `qm`: quantum mechanics

View File

@ -219,26 +219,27 @@
\eng{Material properties}
\ger{Materialeigenschaften}
]{props}
\begin{formula}{heat_cap}
\desc{Heat capacity}{}{$Q$ heat}
\desc[german]{Wärmekapazität}{}{$Q$ Wärme}
\begin{formula}{heat_capacity}
\desc{Heat capacity}{}{\QtyRef{heat}}
\desc[german]{Wärmekapazität}{}{}
\quantity{c}{\joule\per\kelvin}{}
\eq{c = \frac{Q}{\Delta T}}
\end{formula}
\begin{formula}{heat_cap_V}
\desc{Isochoric heat capacity}{}{$U$ internal energy}
\desc[german]{Isochore Wärmekapazität}{}{$U$ innere Energie}
\begin{formula}{heat_capacity_V}
\desc{Isochoric heat capacity}{}{\QtyRef{heat}, \QtyRef{internal_energy} \QtyRef{temperature}, \QtyRef{volume}}
\desc[german]{Isochore Wärmekapazität}{}{}
\eq{c_v = \pdv{Q}{T}_V = \pdv{U}{T}_V}
\end{formula}
\begin{formula}{heat_cap_p}
\desc{Isobaric heat capacity}{}{$H$ enthalpy}
\desc[german]{Isobare Wärmekapazität}{}{$H$ Enthalpie}
\eq{c_p = \pdv{Q}{T}_P = \pdv{H}{T}_P}
\begin{formula}{heat_capacity_p}
\desc{Isobaric heat capacity}{}{\QtyRef{heat}, \QtyRef{enthalpy} \QtyRef{temperature}, \QtyRef{pressure}}
\desc[german]{Isobare Wärmekapazität}{}{}
\eq{c_p = \pdv{Q}{T}_p = \pdv{H}{T}_p}
\end{formula}
\begin{formula}{bulk_modules}
\desc{Bulk modules}{}{$p$ pressure, $V$ initial volume}
\desc[german]{Kompressionsmodul}{}{$p$ Druck, $V$ Anfangsvolumen}
\desc{Bulk modules}{}{\QtyRef{pressure}, $V$ initial \qtyRef{volume}}
\desc[german]{Kompressionsmodul}{}{\QtyRef{pressure}, $V$ Anfangsvolumen}
\eq{K = -V \odv{p}{V} }
\end{formula}
@ -432,33 +433,38 @@
\desc{Internal energy}{}{}
\desc[german]{Innere Energie}{}{}
\eq{\d U(S,V,N) = T\d S -p\d V + \mu\d N}
\hiddenQuantity{U}{\joule}{s}
\end{formula}
\begin{formula}{free_energy}
\desc{Free energy / Helmholtz energy }{}{}
\desc[german]{Freie Energie / Helmholtz Energie}{}{}
\desc{Free energy}{Helmholtz energy}{}
\desc[german]{Freie Energie}{Helmholtz Energie}{}
\eq{\d F(T,V,N) = -S\d T -p\d V + \mu\d N}
\hiddenQuantity{F}{\joule}{s}
\end{formula}
\begin{formula}{enthalpy}
\desc{Enthalpy}{}{}
\desc[german]{Enthalpie}{}{}
\eq{\d H(S,p,N) = T\d S +V\d p + \mu\d N}
\hiddenQuantity{H}{\joule}{s}
\end{formula}
\begin{formula}{gibbs_energy}
\desc{Free enthalpy / Gibbs energy}{}{}
\desc[german]{Freie Entahlpie / Gibbs-Energie}{}{}
\begin{formula}{free_enthalpy}
\desc{Free enthalpy}{Gibbs energy}{}
\desc[german]{Freie Entahlpie}{Gibbs-Energie}{}
\eq{\d G(T,p,N) = -S\d T + V\d p + \mu\d N}
\hiddenQuantity{G}{\joule}{s}
\end{formula}
\begin{formula}{grand_canon_pot}
\desc{Grand canonical potential}{}{}
\desc[german]{Großkanonisches Potential}{}{}
\eq{\d \Phi(T,V,\mu) = -S\d T -p\d V - N\d\mu}
\hiddenQuantity{\Phi}{\joule}{s}
\end{formula}
\TODO{Maxwell Relationen, TD Quadrat}
\TODO{Maxwell Relationen}
\begin{formula}{td-square}
\desc{Thermodynamic squre}{}{}
\desc{Thermodynamic square}{}{}
\desc[german]{Themodynamisches Quadrat}{Guggenheim Quadrat}{}
\begin{minipage}{0.3\textwidth}
\fsplit[0.3]{
\begin{tikzpicture}
\draw[thick] (0,0) grid (3,3);
\node at (0.5, 2.5) {$-S$};
@ -470,11 +476,12 @@
\node at (1.5, 0.5) {\color{blue}$G$};
\node at (2.5, 0.5) {$T$};
\end{tikzpicture}
\end{minipage}
\begin{ttext}
\eng{The corners opposite from the potential are the coefficients and each coefficients differential is opposite to it.}
\ger{Die Ecken gegenüber des Potentials sind die Koeffizienten, das Differential eines Koeffizienten ist in der Ecke gegenüber.}
\end{ttext}
}{
\begin{ttext}
\eng{The corners opposite from the potential are the coefficients and each coefficients differential is opposite to it.}
\ger{Die Ecken gegenüber des Potentials sind die Koeffizienten, das Differential eines Koeffizienten ist in der Ecke gegenüber.}
\end{ttext}
}
\end{formula}
\Section[
@ -675,14 +682,14 @@
\eq{g_s = 2s+1}
\end{formula}
\begin{formula}{dos}
\desc{Density of states}{}{$g_s$ \fqEqRef{td:id_qgas:spin_degeneracy_factor}}
\desc[german]{Zustandsdichte}{}{$g_s$ \fqEqRef{td:id_qgas:spin_degeneracy_factor}}
\desc{Density of states}{}{$g_s$ \fRef{td:id_qgas:spin_degeneracy_factor}}
\desc[german]{Zustandsdichte}{}{$g_s$ \fRef{td:id_qgas:spin_degeneracy_factor}}
\eq{g(\epsilon) = g_s \frac{V}{4\pi} \left(\frac{2m}{\hbar^2}\right)^\frac{3}{2} \sqrt{\epsilon}}
\end{formula}
\begin{formula}{occupation_number_per_e}
\desc{Occupation number per energy}{}{\fqEqRef{td:id_qgas:dos}, \bosfer}
\desc[german]{Besetzungszahl pro Energie}{}{\fqEqRef{td:id_qgas:dos}, \bosfer}
\desc{Occupation number per energy}{}{\fRef{td:id_qgas:dos}, \bosfer}
\desc[german]{Besetzungszahl pro Energie}{}{\fRef{td:id_qgas:dos}, \bosfer}
\eq{n(\epsilon)\, \d\epsilon &= \frac{g(\epsilon)}{\e^{\beta(\epsilon - \mu)} \mp 1}\,\d\epsilon}
\end{formula}
@ -797,8 +804,8 @@
\end{formula}
\begin{formula}{specific_density}
\desc{Specific density}{}{$f$ \fqEqRef{td:id_qgas:generalized_zeta}, $g$ degeneracy factor, $z$ \fqEqRef{td:id_qgas:fugacity}}
\desc[german]{Spezifische Dichte}{}{$f$ \fqEqRef{td:id_qgas:generalized_zeta}, $g$ Entartungsfaktor, $z$ \fqEqRef{td:id_qgas:fugacity}}
\desc{Specific density}{}{$f$ \fRef{td:id_qgas:generalized_zeta}, $g$ degeneracy factor, $z$ \fRef{td:id_qgas:fugacity}}
\desc[german]{Spezifische Dichte}{}{$f$ \fRef{td:id_qgas:generalized_zeta}, $g$ Entartungsfaktor, $z$ \fRef{td:id_qgas:fugacity}}
\eq{v = \frac{N}{V} = \frac{g}{\lambda^3}f_{3/2}(z)}
\end{formula}
@ -825,9 +832,9 @@
}
\end{formula}
\begin{formula}{heat_cap}
\desc{Heat capacity}{\gt{low_temps}}{differs from \fqEqRef{td:TODO:petit_dulong}}
\desc[german]{Wärmecapacity}{\gt{low_temps}}{weicht ab vom \fqEqRef{td:TODO:petit_dulong}}
\begin{formula}{heat_capacity}
\desc{Heat capacity}{\gt{low_temps}}{differs from \fRef{td:TODO:petit_dulong}}
\desc[german]{Wärmecapacity}{\gt{low_temps}}{weicht ab vom \fRef{td:TODO:petit_dulong}}
\fig{img/td_fermi_heat_capacity.pdf}
\eq{C_V = \pdv{E}{T}_V = N\kB \frac{\pi}{2} \left(\frac{T}{T_\text{F}}\right)}
\end{formula}

View File

@ -1,5 +1,8 @@
\part{Testing}
Textwidth: \the\textwidth
\\Linewidth: \the\linewidth
% \directlua{tex.sprint("Compiled in directory: \\detokenize{" .. lfs.currentdir() .. "}")} \\
% \directlua{tex.sprint("Jobname: " .. tex.jobname)} \\
% \directlua{tex.sprint("Output directory \\detokenize{" .. os.getenv("TEXMF_OUTPUT_DIRECTORY") .. "}")} \\
@ -52,7 +55,7 @@ GT: {\textbackslash}ttest:name = \GT{\ttest:name}\\
\paragraph{Testing hyperrefs}
\noindent{This text is labeled with "test" \label{test}}\\
\hyperref[test]{This should refer to the line above}\\
\fRef[This should refer to the line above]{test}\\
Link to quantity which is defined after the reference: \qtyRef{test}\\
\DT[eq:test]{english}{If you read this, then the translation for eq:test was expandend!}
Link to defined quantity: \qtyRef{mass}

View File

@ -30,8 +30,8 @@
\hypersetup{
colorlinks=true,
linkcolor=fg-purple,
linkcolor=fg-blue,
citecolor=fg-green,
filecolor=fg-blue,
filecolor=fg-purple,
urlcolor=fg-orange
}

View File

@ -1,5 +1,3 @@
\def\descwidth{0.3\textwidth}
\def\eqwidth{0.6\textwidth}
\newcommand\separateEntries{
\vspace{0.5\baselineskip}
@ -43,12 +41,12 @@
% add links to some names
\directlua{
local cases = {
pdf = "f:math:pt:pdf",
pmf = "f:math:pt:pmf",
cdf = "f:math:pt:cdf",
mean = "f:math:pt:mean",
variance = "f:math:pt:variance",
median = "f:math:pt:median",
pdf = "math:pt:pdf",
pmf = "math:pt:pmf",
cdf = "math:pt:cdf",
mean = "math:pt:mean",
variance = "math:pt:variance",
median = "math:pt:median",
}
if cases["\luaescapestring{##1}"] \string~= nil then
tex.sprint("\\hyperref["..cases["\luaescapestring{##1}"].."]{\\GT{##1}}")

Some files were not shown because too many files have changed in this diff Show More