diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6758b19..30181fd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,6 @@ +# Workflow to publisch the books + +# Using older version here because it just works image: ghcr.io/myriad-dreamin/shiroa:v0.3.0 pages: @@ -7,4 +10,5 @@ pages: paths: - public rules: - - if: $CI_COMMIT_BRANCH == 'main' \ No newline at end of file + - if: $CI_COMMIT_BRANCH == 'main' + diff --git a/S2/AnaMech/VL/AnMeVL1.typ b/S2/AnaMech/VL/AnMeVL1.typ index 9894c46..dbb6b5f 100644 --- a/S2/AnaMech/VL/AnMeVL1.typ +++ b/S2/AnaMech/VL/AnMeVL1.typ @@ -15,7 +15,7 @@ Loesen von BWGLn. Hier gibt es nur wenig loesbare Beispiele: Zentralpotential un Erhaltungsgroessen & Symetrien beim Loesen ausnutzen und neue Erhaltungsgroessen auffinden. -Newton <= Lagrange = Hamilton < Hamilton'sches Prinzip +Newton $<=$ Lagrange = Hamilton < Hamilton'sches Prinzip Abstraktionsweg: @@ -23,13 +23,13 @@ $"Kraefte" -> "Potentiale" -> "Lagrange-/ Hamiltonfunktion" -> "Wirkung"$ == Vorlesung -24VL +24VL insgesamt ueber das Semester. Newton'sche Mechanik (6VL) 1D Probleme, Numerik, Reduktion auf DGL 1. Ordnung, Zentralpotential, Streuprobleme -#example[ +#remark[ Ich meine das PDF gibts auch online ] @@ -55,16 +55,16 @@ Grundlage fuer die ersten Wochen Newton II. BWGL $ -dot(arrow(p)) = dif / (dif t) arrow(p) = m dot.double(r) = sum_(i=0)^(n) arrow(F_i) (arrow(r) dot(arrow(r))) +dot(arrow(p)) = dif / (dif t) arrow(p) = m dot.double(r) = sum_(i=0)^(n) arrow(F_i) (arrow(r), dot(arrow(r))). $ Dabei ist $arrow(r)$ ein Vektor in Kartesichen Koordinaten. -Ziel: $arrow(r) = arrow(r)(t)$ bzw $x(t), y(t) z(t)$ also eine Lsg von @bwg durch das Anfangswertproblem +Das Ziel ist hier $arrow(r) = arrow(r)(t)$ bzw $x(t), y(t), z(t)$ also eine Lsg von @bwg durch das Anfangswertproblem $ arrow(r)(t) = arrow(r_0) \ - dot(arrow(r))(t_0 ) = dot(arrow(r_0)) + dot(arrow(r))(t_0 ) = dot(arrow(r_0)). $ #example[ @@ -107,5 +107,3 @@ Allgemeine Loesung des Beispiels: // TODO: mit dem Skript weiterschreiben zuende machen - -// okayt diff --git a/S2/CWR/VL/CwrVL2.typ b/S2/CWR/VL/CwrVL2.typ index 726328d..d285080 100644 --- a/S2/CWR/VL/CwrVL2.typ +++ b/S2/CWR/VL/CwrVL2.typ @@ -137,7 +137,7 @@ $ $t_(i-1) -> t_(i+1) $ -Zeitumkehr +Zeitumkehr ist gegeben da, $ arrow(x)' (t_(i+1) )=arrow(x) (t_(i+1) )\ arrow(v)' (t_(i+1) )= - arrow(v) (t_(i+1) ) diff --git a/S2/CWR/VL/CwrVL3.typ b/S2/CWR/VL/CwrVL3.typ new file mode 100644 index 0000000..4fdb256 --- /dev/null +++ b/S2/CWR/VL/CwrVL3.typ @@ -0,0 +1,58 @@ +// Main VL Template +#import "../preamble.typ": * + +#show: conf.with( + // May add more flags here in the future + num: 3 +) + += Weiter ODE + +Durch Hilfsvariablen koennen DGL in eine Form von erster Ordnung gebracht werden +$ + dot(arrow(y)) (t)= arrow(F) (arrow(y),t). +$ +Diese kann dann durch das Euler-Verfahren oder durch das "Middlestep"-Verfahren geloest werden. #highlight[TODO: what is the middlestep for differential equations?] + +In der klassischen Mechanik gilt +$ + dot(z)= vec(dot(q),dot(p))= vec((partial HH) / (partial p),- (partial HH) / (partial q) ) = J arrow(nabla)_(z) HH "mit" J =^("symplektisch") mat( + 0, 11; + -11, 0; + ). +$ + +Symplektisch hat etwas mit Phasenraumerhaltung zu tun. Das bedeuete, dass die Flaeche von Gebieten im Phasenraum unter einer Propagation entlang einer Funktion erhalten bleibt. + +$ + v = integral d z (0) = integral d z (t) abs((partial z (0)) / (partial z (t)) ) +$ + +Flaechenerhaltend bedeutet, dass $abs((partial z (t)) / (partial z (0)) )= 1$ gilt. Die Determinante ist also gleich Eins. +Zum expliziten Ausrechenen gilt +$ + abs((partial z (t)) / (partial z (0)) )= abs(1 + (partial dot(z) (0)) / (partial z (0))t + O (t^2 ) ) = 1 + tr (A) t + O (t^2 ) \ + det e^(A t) = e ^(tr(A) t) +$ + +$ + tr (A) = tr (dot(z) (0)) / (z (0)) = sum_(i)^(N) partial / (partial z_i ) dot(z)_(i) = sum partial / (partial z_i ) sum J_(i k) (partial^2 HH) / ( partial z_i partial z_k) = 0 +$ + +$ + dot(z)= vec(dot(q),dot(p)) = vec(+(partial HH) / (partial p),- (partial HH) / (partial q) ) = i L z \ + i L = dot(q) partial / (partial q) + dot(p)partial / (partial p) \ + = (partial HH) / (partial p) partial / (partial q) - (partial HH) / (partial q) partial / (partial p) \ +==> (dif 0) / (dif t) = i L 0 = {HH,0} \ ==> z (t) = e^(i L t) z (0) "ist die formale Loesung" +$ + +Das Problem ist, dass die $p$ und $q$ Komponenten nicht kommutieren. Daher ist eine Diskretisierung der Zeitentwicklung notwendig. + +Der Velocity-Verlet Algorithmus ist +$ + e ^(i L Delta t) approx e^(i L_(p) (Delta t)/2) e^(i L_(q) (Delta t)/2) e^(i L_(p) (Delta t)/2) + O(Delta t^2 )\ +z (Delta t) = e^(i L_(p) (Delta t)/2) e^(i L_(q) (Delta t)/2) e^(i L_(p) (Delta t)/2) (0). +$ + +Die Phasenraumerhaltung ist ein Mass fuer die Stabilitaet des Algorithmus. + diff --git a/S2/DiffII/VL/DiIIVL2.typ b/S2/DiffII/VL/DiIIVL2.typ index d9cf102..511b204 100644 --- a/S2/DiffII/VL/DiIIVL2.typ +++ b/S2/DiffII/VL/DiIIVL2.typ @@ -1,3 +1,2 @@ - = Uebersicht bla diff --git a/S2/DiffII/VL/DiIIVL4.typ b/S2/DiffII/VL/DiIIVL4.typ index 5ac7a9b..f7ff4d6 100644 --- a/S2/DiffII/VL/DiIIVL4.typ +++ b/S2/DiffII/VL/DiIIVL4.typ @@ -21,7 +21,7 @@ $ #lemma[ Sei V ein K-VR mit $K in {RR,CC}$ mit Skalarprodukt $angle.l dot\,dot angle.r$. Dann definiert $norm(x)= sqrt(angle.l x\,x angle.r) , space x in V$ eine Norm auf V. -] +] #proof[ Dreiecksungleichung anwenden. @@ -35,7 +35,7 @@ $ ] #example[ - - $RR^n $ mit dem Standardskalarprodukt ist ein Hilbertraum. + $RR^n $ mit dem Standardskalarprodukt ist ein Hilbertraum. ] Ein weiteres Beispiel ist der Folgenraum $l^2 $. @@ -59,12 +59,11 @@ $ T: $angle.l dot \, dot angle.r$ definiert ein Skalarprodukt auf $l^2 $. -#theorem[ +#theorem("hello")[ $l^2 $ ist unter dem Skalarprodukt $angle.l a \, b angle.r = sum_( )^(oo) a_n macron(b_n )$ ein Hilbertraum. ] - #proof[ - Sei $a^(k) = (a_n ^(k) )_(n in N)$ eine Cauchy-Folge im $l^2 $. \ + Sei $a^(k) = (a_n ^(k) )_(n in N)$ eine Cauchy-Folge im $l^2 $. Fuer $epsilon > 0$ wahle $N in NN$ sodass $norm(a^(k) - a^(l) )_(2) < epsilon space forall n, l <= N$. \ Dann gilt fuer $k,l >= N , space n in NN$ $ diff --git a/S2/DiffII/Zettel/Blatt_1.pdf b/S2/DiffII/Zettel/Blatt_1.pdf deleted file mode 100644 index aa99286..0000000 Binary files a/S2/DiffII/Zettel/Blatt_1.pdf and /dev/null differ diff --git a/S2/DiffII/preamble.typ b/S2/DiffII/preamble.typ index ac1577a..4ec56d4 100644 --- a/S2/DiffII/preamble.typ +++ b/S2/DiffII/preamble.typ @@ -2,6 +2,7 @@ #let conf(num: none, ueb: false, body) = { // Global settings + show: default // Set the header @@ -11,4 +12,5 @@ // load the document body + } diff --git a/S2/ExPhyII/VL/ExIIVL4.typ b/S2/ExPhyII/VL/ExIIVL4.typ new file mode 100644 index 0000000..eadf2ea --- /dev/null +++ b/S2/ExPhyII/VL/ExIIVL4.typ @@ -0,0 +1,129 @@ +// Main VL Template +#import "../preamble.typ": * + +#show: conf.with( + // May add more flags here in the future + num: 4 +) + += Uebersicht + +Wiederholung von dem Tropfenversuch und der allgemeinen Behandlung des Dipols und des Dipolmomentes $arrow(p)= q arrow(d)$. \ +Es gilt die Naeherung fuer grosse $r$ +$ + arrow(E)_("Dipol") approx (1) / (r^2 ). +$ +Das Drehmoment $arrow(D)$ eines Dipols im homogenen elektrischen Feld $arrow(E)= arrow(E) (r)$ ergibt sich zu +$ + arrow(D)= arrow(r)_(1) times arrow(F) + arrow(r)_(2) times arrow(F)= arrow(p)times arrow(E). +$ + +Aus der Gleichung der Kraft im elektrischen Feld laesst sich folgern, dass +$ + arrow(E)= (arrow(F)_(12) ) / (q), \ + arrow(E)_(j) = sum_(i=1)^(N) (q_i ) / (4 pi epsilon_0 ) ((arrow(r)_(j) - arrow(r)_(i) )) / (abs(arrow(r)_(j) - arrow(r)_(i) )^3 ) . +$ + +== Gesamtladung von Objekten + +$ + Q = integral _(V) rho (arrow(r)) d V = integral rho (arrow(r))d arrow(r) \ + Q = integral.triple _(V) d x d y d z * rho (x,y,z) +$ + +$ + arrow(E) (arrow(r)) = (1) / (4 pi epsilon_0 ) integral (rho (arrow(r)')) / (abs(arrow(r)- arrow(r)')^3 ) (arrow(r)- arrow(r)') d arrow(r)' +$ + +Das ist z.B. das El. feld von einer unendlich ausgedehnten geladenen Platte mit homogener Flaechenladungstraegerdichte $sigma$. + +Bestimme das Feld an $P$ durch $d q = sigma * d A$. Es folgt also fuer das Differential von $E$ +$ + d E = (1) / (4 pi epsilon_0 ) (sigma d A) / (b^2 ) arrow(hat(b)) \ + d A = r d phi d r, +$ +wobei $b$ der Abstand der Ladung $P$ zur Platte ist. + +Betrachte nun die $arrow(E)$ Komponente senkrecht zur Oberflaeche der Rotationsymetrieachse +$ + arrow(E) (z)= E (z)hat(e)_(z) \ + E_(z) = (1) / (4 pi epsilon_0 ) sigma integral_(0)^(2 pi) d phi integral_(0)^(oo) d r * r * cos (alpha) (1) / (b^2 ) \ + r = a tan alpha , space (dif r) / (dif alpha) (a) / (cos ^2 alpha) , space b = (a) / (cos alpha) \ + E = (sigma) / (2 epsilon_0 ) integral_(0)^(pi ) cos alpha tan alpha d alpha \ + E = (sigma) / (2 epsilon_0 ). +$ + +Das Feld einer unendlich ausgedehnten Platte ist also konstant im Raum. +Bei zwei gegebenen Platten addieren sich die Felder wie bei einem Plattenkondensator. +Die Kraft auf Ladung im Plattenkondensator in Richtung der Feldlinen ist gegeben durch + +$ + F = q E = q (sigma) / (2 epsilon_0 ). +$ + + +Das elektrische Feld erzeugt also eine Ablenkung von Ladungen. Dies kann in einem Versuch verdeutlicht werden. +In der Anwendung sieht man dieses Prinzip bei alten Fehrnsehern oder der Massenspektometrie. + +== 1.3 Elektrische Fluss und Satz von Gauss + +Im Prinzip ist mit den bis jetzt behandelten Gleichungen die gesamte Elektrostatik berechnet werden. Das kann recht kompliziert werden, weshalb wir nach Vereinfachungen suchen. + +Zuerst wird das Analogon des Luftstrom mit Geschwindigkeit $arrow(v)$ behandelt. +Hier ist der Fluss $phi = arrow(v) * arrow(A)= v A cos alpha$ gleich Null, wenn das Geschwindigkeitsfeld homogen ist. + +Der elektrische Fluss durch eine Flaeche ist definiert als +$ + d phi_("El") = arrow(E) d arrow(A) \ + ==> phi_("El") = integral_(A) arrow(E) d arrow(A). +$ +Dies ist ein Mass fuer die Feldlinien die duch die Flaeche $d A$ gehen. + +#example[ + Kugel mit beliebigem Radius $R$ um Punktladung $Q$ (komplett eingeschlossen) + $ + phi_("El") = (Q) / (4 pi epsilon_0 ) integral (hat(r)) / (r^3 ) d A = (Q) / (epsilon_0 ). + $ + Also ist der Fluss proportional zur eingeschlossenen Ladung (fuer ein Dipol also Null). + Dieses Ergebnis gilt fuer alle Integrale ueber geslossene Flaechen + $ + integral arrow(E) d arrow(A) = (1) / (epsilon_0 ) Q_("eingeschlossen"). + $ + Falls keine Ladung eingeschlossen ist, dann ist der Fluss durch die geschlossene Flaeche gleich Null. Die Beitraege der Fluesse kompensieren sich also genau weg. + + Das elektrische Feld nimmt mit $(1) / (r^2 ) $ nach aussen hin ab, jedoch nimmt die Gesamtflaeche nach aussen mit $R^2 $ zu. +] + +Wenn man das Teilvolumen $V$ einer Kugel, welches durch zwei Teile von Kugelschalen begrenzt ist betrachtet. Dann ist der Fluss durch den Rand von $V$ gleich Null. Da der Fluss, welcher hineinstroemt, gleich dem Inversen dessen ist welcher wieder austritt, ist der Gesamtfluss durch $V$ auch gleich Null. + +#theorem[ + Satz von Gauss. Sei $A$ eine geschlossene Oberflaeche. Dann gilt + $ + integral _(A) arrow(E) d arrow(A) = integral _(V (A)) "div"(arrow(E)) d V = (Q) / (epsilon_0 ) = integral _(V) (rho) / (epsilon_0 ) d V. + $ + Da dies fuer jedes Volumen gilt folgt + $ + arrow(nabla) arrow(E)= "div"arrow(E) = (rho) / (epsilon_0 ), + $ + also sind die Ladungen die Quellen bzw. die Senken von elektrischen Feldern. Das entspricht der *1. Maxwell Gleichung*. + + #highlight[TODO: understand and write down this proof] +] + +=== Erlaeuterungen zum Satz von Gauss + +Das Integral einer Ableitung (div) ueber ein Gebiet (ein Volumen) ist gleich dem wert der Funktion an seinen Grenzen (die Flaeche die das Volumen umschliesst). +Anders ausgedrueckt das Integral ueber Quellen innerhalb eines Volumens ist gleich dem Fluss durch die Randflaechen. + +== 1.4 Das elektrische Potential und arbeit im elektrischen Feld + +Vorbemerkung zur Rotation eines Vektorfeldes. + +#theorem[ + Stoke'scher Satz. Es gilt fuer jedes Vektorfeld + $ + integral _(A) arrow(nabla) times arrow(E) d A = integral_(C) arrow(E) d arrow(s). + $ + Das Integral einer Ableitung ueber ein Geiebt gleich dem Funktionswert an seinen Grenzen (der Rand der Flaeche). +] + diff --git a/S2/PyCourse/input.txt b/S2/PyCourse/input.txt new file mode 100644 index 0000000..d734d17 --- /dev/null +++ b/S2/PyCourse/input.txt @@ -0,0 +1 @@ +Have to find out when and what will be done in the Uebung. diff --git a/book.typ b/book.typ index 10e1939..45fd7fd 100644 --- a/book.typ +++ b/book.typ @@ -2,7 +2,10 @@ #show: book -#book-meta( // put metadata of your book like book.toml of mdbook +// Main book to export everything of this repo +// May be split into smaller books in the future + +#book-meta( title: "JonasDocs", diff --git a/data/courses.txt b/data/courses_overview.txt similarity index 100% rename from data/courses.txt rename to data/courses_overview.txt diff --git a/data/default.typ b/data/default.typ index 1e5b1a8..9ed7991 100644 --- a/data/default.typ +++ b/data/default.typ @@ -1,37 +1,41 @@ +// Default configuration for the typst setup for uni notes +// May include different ones for different occasions + #import "@preview/equate:0.2.1": equate #import "@preview/quick-maths:0.2.1": shorthands #import "./theorems.typ": * #let default(body) = { - // page setup + // page setup + // cannot set the page with shiroa as exporter //set page(margin: 2cm, numbering: "1") - set text(lang: "de", hyphenate: false) - set align(left) - // For now no automatic numbering - // set heading(numbering: "1.1") - set par(justify: true) + set text(lang: "de", hyphenate: false) + set align(left) + // For now no automatic numbering + // set heading(numbering: "1.1") + set par(justify: true) - // set par(justify: true) + // set par(justify: true) - // equation setup - show ref: equate - show: equate.with(number-mode: "label", breakable: false) - set math.equation(numbering: "(1)", supplement: "Gl.", number-align: bottom) - show math.equation.where(block: false): it => box(it) + // equation setup + show ref: equate + show: equate.with(number-mode: "label", breakable: false) + set math.equation(numbering: "(1)", supplement: "Gl.", number-align: bottom) + show math.equation.where(block: false): it => box(it) - // shorthands setup - show: shorthands.with( - ($*$, $dot.op$), - ($\\$, $without$), - ($+-$, $plus.minus$), - ($=>$, $arrow.r.double.long$), - ($=<$, $arrow.l.double.long$), - ($<=>$, $arrow.l.r.double.long$), - ($..$, $quad$), - ) + // shorthands setup + show: shorthands.with( + ($*$, $dot.op$), + ($\\$, $without$), + ($+-$, $plus.minus$), + ($=>$, $arrow.r.double.long$), + ($=<$, $arrow.l.double.long$), + ($<=>$, $arrow.l.r.double.long$), + ($..$, $quad$), + ) - // shiroa/zeta setup - body + // shiroa/zeta setup + body } // symbol shortcuts @@ -43,5 +47,5 @@ // flashcards #let flashcard(id, front, back) = { - back + back } diff --git a/data/template.typ b/data/template.typ index 781c4c1..4d0e02b 100644 --- a/data/template.typ +++ b/data/template.typ @@ -1,7 +1,10 @@ -// AGLA template +// Main VL Template #import "../preamble.typ": * -#show: conf.with(num: 1) +#show: conf.with( + // May add more flags here in the future + num: 1 +) = Uebersicht diff --git a/data/theorems.typ b/data/theorems.typ index 409f878..01db9ce 100644 --- a/data/theorems.typ +++ b/data/theorems.typ @@ -1,55 +1,110 @@ +// The nice latex boxes to look cool + #import "@preview/ctheorems:1.1.3": * +// Defaults for the block +//width: 100%, +//inset: 1.2em, +//radius: 0.3em, +//breakable: false, + // What is this for? -// #show: thmrules.with(qed-symbol: $square$) +#show: thmrules // Use this to format the size: inset: (x: 1.2em, top: 1em, bottom: 1em) // TODO: fix the alignment // TODO: make the numbering good dnd manual and insert the title at the top (from the first line) +// Template for templates? +//#let base = thmenv( +// "base", +//) + +#let BASE_LEVEL = 0 + #let theorem = thmbox( //tem "theorem", "Theorem", - fill: rgb("#eeffdd") -).with( - numbering: none + base_level: BASE_LEVEL, + fill: rgb("#eeffdd"), + bodyfmt: body => [ + #body #h(1fr) + ] ) + #let corollary = thmplain( //cor "corollary", "Corollary", + base_level: BASE_LEVEL, base: "theorem", - titlefmt: strong + titlefmt: strong, + bodyfmt: body => [ + #body #h(1fr) + ] ) + #let definition = thmbox( //def "definition", "Definition", - fill: rgb("#eedebb") -) -#let example = thmplain( //exa - "example", - "Example" -).with( - numbering: none -) -#let proof = thmproof( //pro - "proof", - "Proof" -) -#let remark = thmbox( //rem - "remark", - "Remark" + base_level: BASE_LEVEL, + fill: rgb("#eedebb"), + bodyfmt: body => [ + #body #h(1fr) + ] ) + + #let axiom = thmbox( //axi "axiom", - "Axiom" + "Axiom", + base_level: BASE_LEVEL, + bodyfmt: body => [ + #body #h(1fr) + ] ) + #let lemma = thmbox( //lem "lemma", "Lemma", - fill: rgb("#cddfff") -) -#let note = thmbox( //nte - "note", - "Note" + base_level: BASE_LEVEL, + fill: rgb("#cddfff"), + bodyfmt: body => [ + #body #h(1fr) + ] ) +// Other boxes and fields + +#let note = thmbox( //nte + "note", + "Note", + bodyfmt: body => [ + // Just make the text normally formatted + #body #h(1fr) +] +).with(numbering: none) + +#let remark = thmplain( //rem + "remark", + "Remark", + bodyfmt: body => [ + #body #h(1fr) +] +).with(numbering: none) + +#let proof = thmenv( //pro + "proof", + none, + none, + (name, number, body, color: black) => [ + #align(left, [_Proof_: #name #body]) #h(1fr) $square$ // float a QED symbol to the right + #v(0.5em) + ] +).with(numbering: none) + +#let example = thmbox( //exa + "example", + "Example", + fill: rgb("#efefff99"), +).with(numbering: none) +