Feld-LaborStand 31.08.2026 · Build 2.5 — Canvas-Skalierungsfehler behoben

Die Feldliste — sie ist das Problem

Aufbauweg
Beispiel wählen oder Feldliste schreiben, dann Rechnen.
Eine Angabe je Zeile: gebiet Lx Ly · gitter nx ny · art stationaer|diffusion · alpha/beta/quelle <Ausdruck in x,y> · zone x0 x1 y0 y1 α ρc P · punktquelle K<nr> P · rand links|rechts|unten|oben dirichlet <Ausdruck> (nicht genannte Seiten frei = gedämmt) · Diffusion zusätzlich rhoc dt dauer anfang. Knoten: K1 links unten, zeilenweise; K0 = Schiene. Kommentarzeilen mit *, hinter Angaben mit #.

Die Knotenkonstruktion — was am Innenknoten hängt

wird nach dem Einlesen gefüllt

Das Feld

—
— —

So rechnet die Seite

Die Feldliste wird zum Netzwerk auf dem Rechteckgitter: jede Kante ein Leitwert (am Materialsprung die Halbkanten in Reihe), jeder Knoten seine gelumpte Fläche — Kapazität, Luftableitung, Quellstrom —, die Ränder auf der Schiene K0. Der Knotensatz an allen Knoten ist die Knotenmatrix Y·u = i; sie ist zeilengleich mit der FEM auf demselben Gitter (Manuskript, Abschnitt 11). Gelöst wird direkt — Cholesky auf der Bandmatrix, einmal zerlegt —, die Zeit läuft mit dem impliziten Euler. Nachgewiesen: der Herd stimmt auf 5·10⁻¹¹ K mit der Python-Rechnung überein, Laplace trifft die geschlossene Lösung mit h². Herleitung und Netzblätter: Reiter Manuskript.

Das Feld-Labor

Anleitung und genaue Referenz: Feldgleichungen im Browser rechnen

Prof. Dr.-Ing. Ralph Wystup

31. August 2026

1. Was das Labor ist

Das Feld-Labor ist eine einzelne HTML-Datei, die vollständig im Browser rechnet — ohne Server, ohne Internet, ohne Installation. Eingegeben wird ein Feldproblem als Feldliste (eine Angabe je Zeile); das Labor stellt daraus die Knotenmatrix auf, löst sie direkt und zeigt das Feld als Farbkarte, bei Zeitproblemen mit Zeitregler und Abspielfunktion.

Gerechnet werden auf einem Rechteckgebiet:

−div(α∇φ)+βφ=f(stationär)-\operatorname{div}(\alpha\,\nabla\varphi) + \beta\,\varphi = f \qquad \text{(stationär)} ρcṪ=div(α∇T)−βT+q(Diffusion/Wärmeleitung)\rho c\,\dot T = \operatorname{div}(\alpha\,\nabla T) - \beta\,T + q \qquad \text{(Diffusion/Wärmeleitung)}

Das Rechenverfahren ist das Verfahren der Reihe: das Knotenpotentialverfahren auf dem Rechteckgitter mit gelumpter Masse — identisch lesbar als FEM mit gelumpter Massenmatrix (die Herleitung steht im Manuskript „FEM in der Ebene und das Netzwerk dahinter”; diese Anleitung ist ohne es benutzbar).

2. Schnellstart

  1. Beispielknopf drücken (etwa Der Herd) — die Feldliste erscheint im Eingabefenster.
  2. Rechnen drücken. Der Herd (10 000 Knoten, 600 Zeitschritte) braucht wenige Sekunden.
  3. Farbkarte ansehen; mit dem Zeitregler oder Abspielen durch die Zeit fahren; mit der Maus über der Karte Knotennummer und Wert ablesen. Danach: Werte in der Feldliste ändern, erneut Rechnen.

3. Die Feldliste — genaue Referenz

Eine Angabe je Zeile. Kommentarzeilen beginnen mit *; Kommentare hinter einer Angabe beginnen mit # (das * selbst ist in Ausdrücken das Malzeichen). Groß-/Kleinschreibung der Schlüsselwörter ist beliebig.

3.1 Pflichtangaben

Angabe Bedeutung
gebiet Lx Ly Rechteck [0,Lx]×[0,Ly][0,L_x]\times[0,L_y] in Metern
gitter nx ny Knoten je Richtung; Maschenweite hx=Lx/(nx−1)h_x = L_x/(n_x{-}1)

3.2 Gleichung und Koeffizienten

Angabe Bedeutung Voreinstellung
art stationaer | diffusion Gleichungstyp stationaer
alpha <Ausdruck> Materialkoeffizient (Wärmeleitbelag λd\lambda d [W/K] beim Flächenmodell) 1
beta <Ausdruck> stationär: β\beta-Glied; Diffusion: Kühlglied hTh\,T (Luft, [W/(m²K)]) 0
quelle <Ausdruck> rechte Seite ff bzw. qq [W/m²] 0

Nur für art diffusion (dann Pflicht bzw. wählbar):

Angabe Bedeutung
rhoc <Ausdruck> Flächen-Wärmekapazität ρcd\rho c\, d [J/(m²K)] Pflicht
dt <Zahl> Zeitschritt [s] Pflicht
dauer <Zahl> Simulationsdauer [s] Pflicht
anfang <Ausdruck> Anfangsfeld 0

3.3 Ausdrücke

Ausdrücke sind Formeln in x und y (Meter). Zugelassen: Zahlen (auch 3.9e6), + - * / ( ) und ** (Potenz), die Konstanten pi, e sowie sin cos tan exp log sqrt sinh cosh tanh abs min max. Alles andere wird mit einer klaren Fehlermeldung abgewiesen. Beispiele: 45 · sin(pi*x) · 100*exp(-((x-0.7)**2+(y-0.6)**2)/0.005).

3.4 Zonen und Punktquellen

Angabe Bedeutung
zone x0 x1 y0 y1 α ρc P Rechteckzone: ersetzt dort alpha und rhoc und speist die Leistung P [W] gleichmäßig ein (0 = keine). Bei Überlappung gewinnt die später genannte Zone — den Isolierkragen zuerst nennen, die Platte danach.
punktquelle K<nr> <P> Leistung P in genau einen Knoten — das Netzwerkbild der Stromquelle.

Knotennummern: K1 = links unten, zeilenweise nach rechts, dann Zeile für Zeile nach oben bis K(nxnyn_x n_y); der Knoten (i,j)(i,j) (ab 0 gezählt) heißt K(jnx+i+1j\,n_x{+}i{+}1). K0 ist der Bezug (die Schiene, die Umgebung) und wird nie vergeben. Die Maus-Lupe der Karte zeigt zu jedem Punkt seine Nummer. Eine Punktquelle auf einem festgehaltenen Knoten ist wirkungslos und wird als Fehler gemeldet. Zonengrenzen möglichst zwischen die Knoten legen (auf halbe Maschenweiten).

3.5 Ränder

Angabe Bedeutung
rand links|rechts|unten|oben dirichlet <Ausdruck> Feldwert auf dieser Seite vorgegeben; an gemeinsamen Ecken gewinnt die später genannte Seite.
Seite nicht genannt frei = wärmegedämmt (die natürliche Randbedingung — es ist nichts anzuschließen).

4. Das Rechenwerk — und die Sprachprobe

Das Modell ist zellweise definiert: α\alpha wird je Gitterzelle an der Zellmitte abgefragt; Kapazität, Kühlglied und Quelle sind je Knoten gelumpt (cc, β\beta, qq am Knoten mal Knotenfläche AKA_K). Daraus baut das Labor die Knotenmatrix wahlweise auf zwei getrennten Wegen:

  • Netzwerk-Aufbau (Kirchhoff): jede Zelle legt αhy/(2hx)\alpha\,h_y/(2h_x) auf ihre waagerechten und αhx/(2hy)\alpha\,h_x/(2h_y) auf ihre senkrechten Kanten; Knotensatz an jedem Knoten.
  • FEM-Aufbau (Ritz): jede Zelle in zwei Dreiecke, Elementmatrizen assemblieren.

Beide Wege liefern beweisbar dieselbe Matrix — gelöst wird direkt (Cholesky auf der Bandmatrix), die Zeit läuft mit dem impliziten Euler. Die Sprachprobe (dritte Wahl im Auswahlfeld) rechnet beide Wege getrennt und zeigt den rohen numerischen Rest, ohne die Felder nachträglich anzugleichen. Beim Herd beträgt sein Maximum 3,84⋅10−123{,}84\cdot10^{-12} K. Die Prüfschwelle liegt bei 10−1010^{-10} K; wird sie überschritten, bricht die Sprachprobe mit einer Fehlermeldung ab. Sichtbar ist damit nur Rundungsrauschen, keine Feldabweichung.

5. Die Anzeige

  • Farbkarte mit Farbleiste; die Skala umfasst den ganzen Zeitverlauf (Bilder sind untereinander vergleichbar).
  • Zeitregler und Abspielen über die gespeicherten Zwischenbilder (etwa 60 je Lauf); Abspielen startet am Reglerstand und ist jederzeit anhaltbar.
  • Maus-Lupe: Knotennummer und Feldwert unter dem Zeiger.
  • Knotenkonstruktion: die Schaltung eines Innenknotens — Widerstände auf den Kanten, Kondensator, Kühlwiderstand und Quelle nach der Schiene — mit den Zahlenwerten aus der aktuellen Feldliste (ausgewertet in der Mitte der ersten Heizzone, sonst Gebietsmitte).
  • Fehler der Feldliste erscheinen rot in der Statuszeile und nennen die Ursache (unbekannter Name, fehlende Pflichtangabe, Punktquelle auf festem Knoten, nicht positiv definite Matrix bei schwebendem Teilgebiet).

6. Genauigkeit und Grenzen

Nachgewiesen (Einzelheiten im Manuskript, Teil VII):

Nachweis Ergebnis
Laplace gegen die geschlossene Lösung h2h^2-Fehler (2,8⋅10−42{,}8\cdot10^{-4} bei 33×33)
Poisson-Beispiel, Verfahren der Reihe knotengenau (10−1610^{-16})
Browser gegen Python, gleiche Feldliste 10−16…10−1310^{-16}\ldots10^{-13}
Herd gegen die Python-Doppelrechnung 5⋅10−115\cdot10^{-11} K je Rechenwerk
Strombilanz der Punktquelle 10−1510^{-15}

Grenzen: Rechteckgebiet mit Rechteckzonen (keine krummen Ränder); Rand nur Dirichlet oder frei (kein Wärmeübergang h·(T−T_u) — geplant); Ausdrücke ohne Zeit t (kein Schalten); Gleichungen stationär und Diffusion (Wellengleichung geplant). Faustwerte der Rechenzeit: 50×50 unter einer Sekunde, 100×100 mit 600 Schritten wenige Sekunden je Rechenwerk; der Speicher wächst mit nx2nyn_x^2\,n_y.

7. Die vier Beispiele

Heizfleck (stationär): gaußförmige Quelle als freier Ausdruck, alle Ränder kalt — das einfachste eigene Spielfeld. Laplace: keine Quelle, oben sinπx\sin\pi x — das Potential entsteht allein aus den Rändern. Platte (Diffusion): Wärmefront von links, freie Längsränder — zeigt die gedämmte Randbedingung. Der Herd: vier Gussplatten mit Isolierkragen als Zonen, Luftkühlung, 10 Minuten Aufheizen — das volle Zusammenspiel aller Sprachmittel; die vollständige Liste steht im Anhang.

ANHANG: die Feldliste des Herds

gebiet   1 1
gitter   100 100
art      diffusion
alpha    0.045         # Blech: 45 W/(m K) * 1 mm
rhoc     3600          # Blech: 3.6e6 * 1 mm
beta     15            # Luftkuehlung h [W/(m^2 K)]
dt       1
dauer    600
anfang   0
zone     0.227273 0.368687 0.227273 0.368687  0.0001 3000 0
zone     0.247475 0.348485 0.247475 0.348485  0.4 31200 100
zone     0.631313 0.772727 0.227273 0.368687  0.0001 3000 0
zone     0.651515 0.752525 0.247475 0.348485  0.4 31200 75
zone     0.227273 0.368687 0.631313 0.772727  0.0001 3000 0
zone     0.247475 0.348485 0.651515 0.752525  0.4 31200 50
zone     0.631313 0.772727 0.631313 0.772727  0.0001 3000 0
zone     0.651515 0.752525 0.651515 0.752525  0.4 31200 25
rand     links   dirichlet 0
rand     rechts  dirichlet 0
rand     unten   dirichlet 0
rand     oben    dirichlet 0

FEM in der Ebene und das Netzwerk dahinter

Teil 2 der Reihe: Dreieckselemente, die Feldliste und der Herd mit vier Platten

Prof. Dr.-Ing. Ralph Wystup

31. August 2026

Vorbemerkung: für wen dieses Manuskript geschrieben ist

Teil 1 der Reihe (MANUSKRIPT_Ritz_FEM1D) hat die Methode von Ritz bis zur eindimensionalen FEM entwickelt und mit der Wärmeleitung im Stab abgeschlossen. Dieses Manuskript trägt dieselbe Maschine in die Ebene — und legt offen, was dabei unter der Oberfläche liegt: ein Widerstandsnetzwerk. Wer je ein Potentialfeld mit einem Widerstandsgitter oder mit finiten Differenzen gelöst hat, findet hier den Nachweis, dass er dabei dieselben Gleichungen aufgestellt hat wie die FEM.

Alle Zahlen stammen aus den beiliegenden Programmen; die Prüfungen, mit denen sie sich selbst kontrollieren, sind in den Abschnitten 12, 15, 20 und 25 zusammengestellt. Netzwerk und FEM sind zwei getrennte Aufbauwege für dasselbe diskrete Modell: gleiche zellweise Materialwerte, gleiche gelumpften Knotengrößen, gleiche Matrix.

Der rote Faden:

Teil Inhalt
I die Aufgabe und die Methode auf einer Seite
II die Theorie: Wirkung und Kirchhoff sind ein Prinzip — hin und zurück hergeleitet
III Umsetzung Weg 1: das Verfahren nach Ritz, an zwei Beispielen durchgerechnet
IV der Dreiecksstempel: Elementmatrix, Assemblierung, Ränder, Abnahmen
V die Feldliste — die Eingabe des virtuellen Labors
VI Umsetzung Weg 2: das Netzwerk — Widerstands-Dreieck, Gitterzellen, Kreuznachweis
VII der Herd mit vier Platten und die Sprachprobe: der Beweis an den Beispielen
VIII Prüfungen gesammelt, Ausblick

TEIL I — DIE AUFGABE UND DIE METHODE AUF EINER SEITE

1. Die Aufgabe

Gelöst werden die linearen Feldgleichungen der Ebene auf einem Rechteck:

−div(α(x,y)∇φ)+βφ=f-\operatorname{div}\!\big(\alpha(x,y)\,\nabla\varphi\big) + \beta\,\varphi = f

(stationär: Poisson mit β=0\beta=0, Laplace mit β=0,f=0\beta=0, f=0, das β\beta-Glied als Kühl- oder Rückstellterm) und in der Zeit die Diffusion

ρc∂T∂t=div(λ∇T)−hT+q.\rho c\,\frac{\partial T}{\partial t} = \operatorname{div}\!\big(\lambda\,\nabla T\big) - h\,T + q .

Am Rand ist der Feldwert vorgegeben (Dirichlet) oder der Rand ist frei — das ist, wie sich zeigen wird, von selbst die wärmegedämmte Bedingung.

2. Die Methode auf einer Seite

  1. Die Wirkung ist dieselbe wie in 1D, das Integral geht über die Fläche: S=∫(12α|∇φ|2+12βφ2−fφ)dAS = \int\big(\tfrac12\alpha|\nabla\varphi|^2 + \tfrac12\beta\varphi^2 - f\varphi\big)\,dA.
  2. Ansatz: das Gebiet wird in Dreiecke zerlegt; auf jedem Dreieck ist φ\varphi die Ebene durch die drei Eckwerte (die Hutfunktionen der Ebene). Ihr Gradient ist auf dem Dreieck konstant.
  3. Der Stempel: Ableiten der Elementwirkung nach den Eckwerten liefert die 3×3-Elementmatrix des Kantenterms. α\alpha wird zellweise am Zellmittelpunkt ausgewertet; β\beta, Quellen und Wärmekapazität werden als gelumpfte Größen den Knotenflächen zugeordnet.
  4. Assemblieren durch Aufaddieren an die globalen Knotennummern — dasselbe Stempeln wie in der Schaltungsreihe und in 1D.
  5. Dirichlet-Ränder durch Streichen der Zeilen und Spalten und Hinüberschaffen auf die rechte Seite. Freie Ränder brauchen nichts: die natürliche Randbedingung der Wirkung.
  6. Auflösen direkt (Gauß mit Teilpivotierung); bei großen Gittern dieselbe Rechnung mit dünnbesetzt gespeicherter Matrix.
  7. Zeit: der ρc\rho c-Baustein liefert die Wärmekapazitätsmatrix 𝐌\mathbf{M}; der implizite Euler (𝐌/Δt+𝐊)Tneu=(𝐌/Δt)Talt+r(\mathbf{M}/\Delta t + \mathbf{K})\,T_{neu} = (\mathbf{M}/\Delta t)\,T_{alt} + r hat eine konstante Matrix — der Kondensator-Kunstgriff der Reihe, wörtlich wie beim Stab.

Programm: fem2d_ritz.py; der Kopf des Programms sagt dasselbe.

TEIL II — DIE THEORIE: EIN PRINZIP, ZWEI ABSTIEGE

3. Die Wirkung trägt auch in der Ebene

Teil 1 hat es am Stab entwickelt: die Feldgleichung ist die Euler-Lagrange-Gleichung einer Wirkung, und wer die Wirkung über einen Ansatz minimiert, löst die Gleichung. In der Ebene lautet sie

S[φ]=∫A(12α|∇φ|2+12βφ2−fφ)dA,S[\varphi] = \int_A \Big(\tfrac12\,\alpha\,|\nabla\varphi|^2 + \tfrac12\,\beta\,\varphi^2 - f\,\varphi\Big)\,dA ,

und ihr Minimum unter allen Feldern mit den vorgegebenen Randwerten erfüllt −div(α∇φ)+βφ=f-\operatorname{div}(\alpha\nabla\varphi)+\beta\varphi=f; an freien Rändern stellt sich die Neumann-Bedingung von selbst ein — deshalb kostet der „freie Rand” der Feldliste keine einzige Zeile.

4. Vom Prinzip zu Kirchhoff: die Herleitung

Die Wirkung lässt sich unmittelbar für ein Netzwerk anschreiben — je Zweig sein Energieinhalt, je Knoten seine Quelle:

S(u)=∑Kanten12Gij(ui−uj)2+∑Knoten12gkuk2−∑KnotenIkuk.S(u) = \sum_{\text{Kanten}} \tfrac12\,G_{ij}\,(u_i-u_j)^2 + \sum_{\text{Knoten}} \tfrac12\,g_k\,u_k^2 - \sum_{\text{Knoten}} I_k\,u_k .

Stationarität nach dem Ritz-Rezept — nach einem Knotenpotential ableiten, null setzen:

∂S∂uk=∑jGkj(uk−uj)+gkuk−Ik=0.\frac{\partial S}{\partial u_k} = \sum_{j} G_{kj}\,(u_k-u_j) + g_k\,u_k - I_k = 0 .

Das ist wörtlich der Knotensatz: die Kirchhoffsche Stromregel am Knoten kk ist die Stationaritätsbedingung der Wirkung. Kirchhoff und „∂S/∂u=0\partial S/\partial u = 0” sind zwei Schreibweisen derselben Gleichung — Kirchhoff selbst hat 1848 das zugehörige Minimalprinzip bewiesen: die Ströme eines Widerstandsnetzes verteilen sich so, dass die erzeugte Wärme minimal wird.

Für dynamische Netze gilt das Hamiltonsche Prinzip im vollen Wortsinn: mit Ladungen qq als verallgemeinerten Koordinaten und

ℒ=12Lq̇2−q22C\mathcal{L} = \tfrac12\,L\,\dot q^{\,2} - \frac{q^2}{2C}

(magnetische Energie in der Rolle der kinetischen, elektrische in der der potentiellen) sind die Euler-Lagrange-Gleichungen die Kirchhoffschen Maschen- und Knotengleichungen. Widerstände treten wie Reibung in der Mechanik hinzu — über die Rayleighsche Dissipationsfunktion, Quellen als eingeprägte Kräfte.

5. Und umgekehrt: von Kirchhoff zur Wirkung

Die Rückrichtung gilt unter einer benennbaren Bedingung. Ein Gleichungssystem 𝐘u=i\mathbf{Y}u = i ist der Gradient einer Funktion genau dann, wenn 𝐘\mathbf{Y} symmetrisch ist; dann rekonstruiert S=12u𝖳𝐘u−i𝖳uS = \tfrac12 u^{\mathsf T}\mathbf{Y}u - i^{\mathsf T}u die Wirkung durch Aufintegrieren. Und Zweipole erzwingen diese Symmetrie von selbst: ein Leitwert zwischen ii und jj wirkt in beide Richtungen gleich, Yij=YjiY_{ij} = Y_{ji} ist bei R, C und L Bauart, keine Annahme. Die Symmetrie der Knotenmatrix — unsere „Kirchhoff-Probe” — ist der Fingerabdruck des verborgenen Minimalprinzips.

Auch nichtlineare Zweipole fügen sich ein: zu einer Kennlinie I(u)I(u) gehört die Inhaltsfunktion ∫I(u)du\int I(u)\,du als Zweigbeitrag der Wirkung; für die Shockley-Diode existiert sie geschlossen und ist konvex, weil I(u)I(u) monoton steigt. Die Knotengleichungen des Gleichrichters aus der Schaltungsreihe sind der Gradient dieser Gesamtfunktion — das dortige Newton-Verfahren minimiert also die Wirkung, ohne je so genannt worden zu sein.

Die Grenze der Rückrichtung markiert zugleich ihren Gehalt: nicht-reziproke Elemente (Gyratoren, gesteuerte Quellen — der Kern jedes Transistormodells) koppeln unsymmetrisch; dann existiert kein Skalarpotential. Kirchhoff gilt weiter — er ist reine Buchhaltung der Topologie —, aber das Minimalprinzip endet hier:

Richtung gilt Bedingung
Wirkung ⇒\Rightarrow Kirchhoff immer ableiten genügt
Kirchhoff ⇒\Rightarrow Wirkung konstruktiv reziproke Bauteile (R, C, L, Dioden ja; Gyratoren, gesteuerte Quellen nein)

6. Das Programm dieses Manuskripts

Aus Teil II folgt eine überprüfbare Behauptung: Da Ritz und Kirchhoff dasselbe Prinzip sind, müssen ihre beiden Abstiege — Elementmatrizen einerseits, Knotensätze andererseits — unter gleichen Annahmen auf dieselben Gleichungen führen. Genau das führt der Rest des Manuskripts vor: Teil III setzt Weg 1 (Ritz) an zwei Beispielen um, Teil IV und V bauen daraus die FEM samt Eingabesprache, Teil VI setzt Weg 2 (das Netzwerk) um, und Teil VII erbringt den Beweis am durchgerechneten Herd: beide Wege, getrennt programmiert und getrennt gerechnet, liefern an allen Beispielen innerhalb der festgelegten Rundungstoleranz dieselbe Antwort. Erst die Theorie, dann der Beweis mit beiden Verfahren.

TEIL III — UMSETZUNG WEG 1: DAS VERFAHREN NACH RITZ

7. Ritz global: das Poisson-Beispiel, exakt getroffen

Das Verfahren nach Ritz wählt Ansatzfunktionen über dem ganzen Gebiet, setzt sie in SS ein und leitet nach den freien Beiwerten ab. Für das Poisson-Beispiel des Labors — Quelle f=2(x(1−x)+y(1−y))f = 2\big(x(1{-}x)+y(1{-}y)\big), Rand auf null — bietet sich der einparametrige Ansatz an, der die Randwerte von selbst erfüllt:

φ≈cg(x,y),g=x(1−x)y(1−y).\varphi \approx c\,g(x,y), \qquad g = x(1-x)\,y(1-y).

Die beiden Integrale sind von Hand machbar (und mit sympy gegengerechnet):

∫A|∇g|2dA=145,∫AfgdA=145⇒S(c)=c290−c45.\int_A |\nabla g|^2\,dA = \tfrac{1}{45}, \qquad \int_A f\,g\,dA = \tfrac{1}{45} \;\;\Rightarrow\;\; S(c) = \tfrac{c^2}{90} - \tfrac{c}{45}.

dS/dc=0dS/dc = 0 liefert c=1c = 1 — und zwar exakt, denn −Δg=f-\Delta g = f: die Lösung liegt im Ansatzraum, und dann trifft Ritz sie ohne Fehler. Das ist dieselbe Lehre wie beim Polynombeispiel des Stabes; das Labor bestätigt sie numerisch, denn seine Lösung fällt bis auf den h2h^2-Fehler mit x(1−x)y(1−y)x(1{-}x)y(1{-}y) zusammen.

8. Ritz global: das Laplace-Beispiel — und die Grenze des Ansatzes

Beim Laplace-Beispiel (Deckel auf sinπx\sin\pi x, sonst geerdet) liegt die Lösung nicht im Ansatzraum. Die Randwerte übernimmt ein Trägerfeld, der Ansatz korrigiert im Innern:

φ≈ysinπx+csin(πx)y(1−y)⏟null auf allen Rändern.\varphi \approx y\,\sin\pi x + c\,\underbrace{\sin(\pi x)\, y(1-y)}_{\text{null auf allen Rändern}} .

Einsetzen in SS (hier nur der Gradiententerm) und Ableiten nach cc liefert

c=−5π22π2+20≈−1,242,c = -\frac{5\pi^2}{2\pi^2 + 20} \approx -1{,}242 ,

und in der Feldmitte φ(12,12)≈0,1896\varphi(\tfrac12,\tfrac12) \approx 0{,}1896 gegen exakt sinh(π/2)/sinh(π)=0,1993\sinh(\pi/2)/\sinh(\pi) = 0{,}1993 — 4,9 % Abweichung mit einem einzigen Glied. Mehr Glieder verbessern das, aber der globale Ansatz bleibt Handarbeit: für jede neue Geometrie, jeden Materialsprung, jede Zonenaufteilung des Herds müsste man neue Ansatzfunktionen erfinden.

Der Ausweg ist derselbe wie am Stab: örtliche Ansätze. Die FEM ist das Verfahren nach Ritz mit Hutfunktionen — in der Ebene: mit der Ebene über jedem Dreieck —, und aus den erfundenen Ansatzfunktionen wird eine Zerlegung des Gebiets. Genau dort setzt der nächste Teil an.

TEIL IV — DER DREIECKSSTEMPEL

9. Die Hutfunktionen der Ebene

Die Ebene durch die Eckwerte (xi,yi,φi)(x_i, y_i, \varphi_i) eines Dreiecks zerlegt sich in drei Formfunktionen Ni(x,y)=(ai+bix+ciy)/(2A)N_i(x,y) = (a_i + b_i x + c_i y)/(2A) mit

bi=yj−yk,ci=xk−xj(i,j,kzyklisch),b_i = y_j - y_k, \qquad c_i = x_k - x_j \qquad (i,j,k\ \text{zyklisch}),

AA = Dreiecksfläche. ∇Ni=(bi,ci)/(2A)\nabla N_i = (b_i, c_i)/(2A) ist konstant.

10. Die Elementmatrix

Kij(e)=αebibj+cicj4A.K_{ij}^{(e)} = \alpha_e\, \frac{b_i b_j + c_i c_j}{4A}.

Dieser Steifigkeitsstempel beschreibt die Kopplung über die Kanten. Auf dem Rechteckgitter werden je Zelle beide Dreiecke mit demselben zellweisen Wert αe\alpha_e belegt. Die Diagonalkopplungen heben sich auf; übrig bleibt genau der Fünf-Punkte-Stern des Netzwerks.

Die örtlichen Terme werden unmittelbar am Knoten gelumpt:

Bkk=βkAk,Mkk=(ρc)kAk,rk=fkAk.B_{kk}=\beta_k A_k,\qquad M_{kk}=(\rho c)_k A_k, \qquad r_k=f_k A_k.

AkA_k ist die zugehörige Knotenfläche: innen eine ganze Zelle, am freien Rand eine halbe und in einer freien Ecke eine viertel Zelle. Damit sind FEM- und Netzwerkbeschreibung von Anfang an zeilengleich.

11. Assemblieren, Ränder, Auflösen

Jedes Dreieck addiert seine neun Einträge an die globalen Knotennummern; Dirichlet-Knoten werden gestrichen und wandern mit −Kikφk-K_{ik}\varphi_k auf die rechte Seite. Knoten, die in keiner Randliste stehen, bleiben frei — das Variationsprinzip erledigt die Neumann-Bedingung ohne Zutun.

12. Die Abnahmen des Lösers

Nachgewiesen, nicht angenommen (fem2d_ritz.py, Protokoll bericht_fem2d.txt):

Abnahme Ergebnis
eine Ebene 1+2x+3y1+2x+3y wird exakt reproduziert Maschinengenauigkeit
Laplace gegen sin(πx)sinh(πy)/sinh(π)\sin(\pi x)\sinh(\pi y)/\sinh(\pi) h2h^2: Verhältnisse 3,79 · 3,95 · 3,99
Poisson mit gefertigter Lösung x(1−x)y(1−y)x(1{-}x)y(1{-}y) h2h^2: 3,86 · 3,96 · 3,99
β\beta-Glied mit gefertigter Lösung h2h^2: 4,03 · 4,01 · 4,00
𝐊\mathbf{K} symmetrisch, Zeilensummen null ≤8,9⋅10−16\le 8{,}9\cdot10^{-16}

Die letzte Zeile ist die Kirchhoff-Probe: die Zeilensummen der Matrix verschwinden, weil jeder Zweigstrom einmal hinein- und einmal hinauszählt — ein erster Fingerzeig auf Teil VI.

TEIL V — DIE FELDLISTE

13. Die Sprache

Das 2D-Gegenstück zur Knotenliste der Schaltungsreihe: eine Angabe je Zeile beschreibt das vollständige Problem (feldliste.py).

gebiet   Lx Ly                    Rechteck
gitter   nx ny                    Knoten je Richtung
art      stationaer | diffusion
alpha    <Ausdruck in x,y>        Materialkoeffizient
beta     <Ausdruck>               stationär: β-Glied;
                                  Diffusion: Luftkühlung h·T
quelle   <Ausdruck>               rechte Seite f
zone     x0 x1 y0 y1 α ρc P      Rechteckzone: ersetzt α und ρc,
                                  speist P [W] gleichmäßig ein;
                                  spätere Zone gewinnt
punktquelle K<nr> <Leistung>      Quelle in genau einem Knoten
rand     <Seite> dirichlet <Ausdruck>    nicht genannte Seiten: FREI
rhoc / dt / dauer / anfang        nur für art diffusion

Die Knoten sind nummeriert: K1 links unten, zeilenweise nach rechts und dann nach oben; K0 ist der Bezug (die Schiene, die Umgebung) und wird nie vergeben — dieselbe Vereinbarung wie in der Netzliste der Schaltungsreihe. Kommentarzeilen beginnen mit *, Kommentare hinter Angaben mit #; das * selbst ist in Ausdrücken das Malzeichen.

14. Diffusion in der Zeit

(𝐌/Δt+𝐊+𝐁)Tneu=(𝐌/Δt)Talt+r(\mathbf{M}/\Delta t + \mathbf{K} + \mathbf{B})\,T_{neu} = (\mathbf{M}/\Delta t)\,T_{alt} + r — 𝐌\mathbf{M} aus dem ρc\rho c-Stempel, 𝐁\mathbf{B} aus dem β\beta-Stempel (die Luftkühlung), alles konstant, einmal gebaut. Der Stab aus Teil 1 ist der Sonderfall mit einer Knotenreihe.

15. Die Abnahmen der Feldliste

Abnahme Ergebnis
poisson.feld gegen die gefertigte Lösung 6,4⋅10−56{,}4\cdot10^{-5} (= h2h^2-Fehler des 33×33-Gitters)
laplace.feld gegen die geschlossene Lösung 2,8⋅10−42{,}8\cdot10^{-4}
Platte mit freien Längsrändern gegen den 1D-Stab Abweichung fällt mit h2h^2: 0,64 → 0,19 → 0,049 K
Diffusion, t→∞t\to\infty: Endbild = Gerade 4,9⋅10−94{,}9\cdot10^{-9}
punktquelle: Strombilanz und Symmetrie 3,6⋅10−153{,}6\cdot10^{-15} / 2,7⋅10−152{,}7\cdot10^{-15}

Die Feldliste rechnet in Python wie im Labor das Verfahren der Reihe mit gelumpten Knotengrößen. Das Poisson-Beispiel wird an den Knoten maschinengenau getroffen (2,6⋅10−162{,}6\cdot10^{-16}), weil der Fünf-Punkte-Stern Quadratpolynome exakt differenziert. Python- und Browser-Rechenwerk liefern für dieselbe Feldliste dasselbe Feld bis auf 10−1310^{-13} — ein Verfahren, eine Antwort, auf jeder Plattform. Die räumliche Konvergenz der transienten Wärmeplatte und die Strombilanz der Punktquelle sind ebenfalls Bestandteil der Abnahmen.

Die Beispiel-Feldlisten: Heizfleck (stationär) und die Wärmefront in der Platte

TEIL VI — UMSETZUNG WEG 2: DAS NETZWERK DAHINTER

16. Jedes Dreieck ist ein Widerstands-Dreieck

Die Elementmatrix des α\alpha-Terms hat Zeilensummen null und ihre Nebendiagonalen lassen sich als Leitwerte lesen:

Gij=−Kij=αbibj+cicj4A.G_{ij} = -K_{ij} = \alpha\,\frac{b_i b_j + c_i c_j}{4A}\;.

Drei Leitwert-Stempel zwischen den Ecken ergeben die Elementmatrix exakt zurück (netzwerk_probe.py: 2,2⋅10−162{,}2\cdot10^{-16}). Die assemblierte FEM-Matrix ist damit die Knotenleitwertmatrix eines Ersatz-Widerstandsnetzes.

17. Auf dem Rechteckgitter: der Fünf-Punkte-Stern

Auf dem regelmäßigen Gitter heben sich die Beiträge der Diagonalnachbarn exakt auf, und jede innere Zeile der FEM-Matrix ist gleich dem berühmten Fünf-Punkte-Stern der finiten Differenzen (nachgemessen: 1,3⋅10−151{,}3\cdot10^{-15}). Das Widerstandsgitter, mit dem früher Potentialfelder gelöst wurden, stellt genau diese Matrix auf: FDM, Widerstandsgitter und FEM sind auf dem Rechteckgitter eins. Die Kantenleitwerte in geschlossener Form:

Gwaagerecht=αhyhx,Gsenkrecht=αhxhyG_{\text{waagerecht}} = \alpha\,\frac{h_y}{h_x}, \qquad G_{\text{senkrecht}} = \alpha\,\frac{h_x}{h_y}

(Randkanten die Hälfte — sie gehören nur einem Element). Die endgültige Regel der Reihe formuliert das als Zellstempel: das Material wird je Gitterzelle an der Zellmitte abgefragt, und jede Zelle legt αhy/(2hx)\alpha\,h_y/(2h_x) auf ihre beiden waagerechten und αhx/(2hy)\alpha\,h_x/(2h_y) auf ihre beiden senkrechten Kanten. Innere Kanten erhalten so die Summe ihrer beiden Nachbarzellen, Randkanten von selbst die Hälfte — und der Zellstempel ist exakt das Ergebnis der Elementassemblierung mit Zellmaterial (die Diagonalkopplung hebt sich je Zelle auf).

18. Ein Gitter, fünf Gleichungen

Was auf den Kanten sitzt und was im Knoten hängt, entscheidet die Gleichung — das Gitter ist immer dasselbe:

Feldgleichung Kante Knoten nach K0
Laplace / Poisson R — (Quelle ff als eingeprägter Strom fAKf\,A_K)
mit β-Glied R Rβ=1/(βAK)R_\beta = 1/(\beta A_K)
Diffusion / Wärmeleitung R C=ρcAKC = \rho c\,A_K
Wellengleichung L C — das LC-Gitter der Leitungstheorie
gedämpfte Welle R+L C — die Telegraphengleichung

Der Kondensator sitzt am Knoten, weil Wärme am Ort gespeichert wird: Q=CTQ = C\,T ist wörtlich der Wärmeinhalt des Knotenvolumens, gemessen gegen den Bezug K0. Die Spule sitzt auf der Kante, weil sie eine Strömung speichert: ui−uj=Ldi/dtu_i - u_j = L\,di/dt — das Gefälle beschleunigt den Fluss. Nur der Ortsspeicher: parabolisch, Fronten verschmieren. Beide Speicher: hyperbolisch, Fronten laufen mit c=h/LCc = h/\sqrt{LC}. Die Wärmeleitung hat keinen Wellencharakter, weil ihrem Gitter der Strömungsspeicher fehlt.

AKA_K ist die gelumpte Knotenfläche: hxhyh_x h_y innen, die Hälfte am freien Rand, ein Viertel in der freien Ecke. Sie bestimmt Wärmekapazität, Kühlglied und Quelle am Knoten und gehört damit sowohl zur Netzwerk- als auch zur FEM-Lesart.

Ein Gitter, fünf Gleichungen: die Zellenausschnitte

19. Die Netzblätter der Beispiele

Die Blätter zeigen je ein vollständiges kleines Netz samt Feldliste: alle Randknoten hängen mit Stichen an der umlaufenden Bezugsschiene (der Sammelschiene des historischen Netzwerkanalysators, K0); Kanten zwischen zwei festgehaltenen Knoten entfallen — beide Enden geklemmt, kein eigenständiger Strom.

Poisson: Quelle als eingeprägte Ströme, alle Ränder auf der Schiene
Laplace: keine Quelle im Feld — die Ränder prägen das Potential ein
Die Wärmeplatte als RC-Gitter: freie Ränder bleiben unbeschaltet
Die Herdplatte: vier Punktquellen an den nummerierten Knoten

20. Der Kreuznachweis mit dem Schaltungssimulator

gitter_als_schaltung.py liest aus den FEM-Matrizen der Wärmeplatte eine Netzliste ab (Gij=−KijG_{ij} = -K_{ij} als Widerstände, die Massen-Zeilensummen als Kondensatoren, Dirichlet als Quellen bzw. Masse) und lässt den Schaltungssimulator der DGL-Reihe rechnen: Übereinstimmung mit der gelumpten FEM-Zeitrechnung 1,0⋅10−81{,}0\cdot10^{-8} K — zwei getrennt geschriebene Programme aus zwei getrennten Projekten. Die Reihen prüfen sich gegenseitig.

21. Der Fahrplan „Netzwerk statt FEM”

Die exakte Schrittfolge — nummerieren, Kantenleitwerte, Knotenelemente, Quellen, Ränder, Netzliste, Ablesen samt Strombilanz — steht als eigenes Blatt in ANLEITUNG_Netzwerk_statt_FEM (3 Seiten) und wird hier nicht wiederholt.

TEIL VII — DER BEWEIS: DER HERD UND DIE SPRACHPROBE

22. Das Modell

Ein Trägerblech 1 m × 1 m (Stahl 1 mm) als Flächenmodell mit a=λda = \lambda d [W/K] und c=ρcdc = \rho c\, d [J/(m²K)]; darauf vier rechteckige Gussplatten (je 10×10 Knoten, a=0,4a = 0{,}4, c=31200c = 31200), jede von einem zwei Knoten breiten Isolierkragen (a=10−4a = 10^{-4} — Materialsprung 1:4000) vom Blech getrennt; Luftkühlung h=15h = 15 W/(m²K) über der ganzen Fläche; der Blechrand hält Zimmertemperatur (Bezug 0). Heizleistungen wie am Gerät: 100 / 75 / 50 / 25 W. Die vollständige Beschreibung ist die Feldliste herd.feld — Zonen für Kragen und Platten, sonst nichts; sie ist im Dashboard mit abgedruckt. Gerechnet: 100×100 Knoten, Δt=1\Delta t = 1 s, 600 s.

23. Zwei unabhängige Aufbauwege

Beide Wege lesen dieselbe Feldliste und bauen ihre Gleichungen unabhängig auf: das Netzwerk nach dem Fahrplan aus Abschnitt 21, die FEM aus den Dreieckselementen des Abschnitts 10. Beide verwenden dieselben zellweisen Materialwerte und dieselben gelumpten Knotenflächen. Die FEM-Assemblierung und der Netzwerk-Zellstempel erzeugen daher dieselbe Matrix. Die Zeitrechnung erfolgt mit dem impliziten Euler; bei 10 000 Knoten wird die Bandmatrix einmal zerlegt und für alle Zeitschritte wiederverwendet.

24. Das Ergebnis

Die vier Platten werden mit konstanten thermischen Gesamtleistungen von 100 W, 75 W, 50 W und 25 W beheizt. Jede Leistung wird gleichmäßig über die zugehörige Plattenzone verteilt. In der Netzwerk-Lesart ist der Wärmestrom die Stromgröße: 100 W entsprechen einem Gesamtquellenstrom von 100 A, verteilt auf die Knotenquellen der Platte.

Netzwerk- und FEM-Aufbau liefern über den gesamten Zeitverlauf dieselben Temperaturen. Farbkarte und Aufheizkurven liegen deckungsgleich; die Sprachprobe weist auch am Materialsprung 1:4000 nur numerisches Rundungsrauschen nach. Beide Rechenwege haben die Gleichungen unabhängig aus derselben Feldliste aufgebaut.

25. Die Sprachprobe: zwei Wege, eine Matrix

Ein Innenknoten zeigt die Gleichheit unmittelbar. Für ein gleichmäßiges Gitter lautet die Netzwerkgleichung:

ch2Ṫk=−α(4Tk−TW−TO−TS−TN)+q(xk)h2c\,h^2\,\dot T_k = -\alpha\,(4T_k-T_W-T_O-T_S-T_N)+q(x_k)\,h^2

Die assemblierte FEM-Zeile ist dieselbe Gleichung. Die beiden Dreiecke jeder Rechteckzelle erzeugen zusammen die vier Kantenkopplungen; ihre Diagonalkopplungen heben sich auf. Kapazität, Kühlung und Quelle tragen beide Wege mit derselben Knotenfläche AkA_k ein. Somit gilt Eintrag für Eintrag

𝐘Netz=𝐊FEM+𝐁,𝐂Netz=𝐌FEM,𝐢Netz=𝐫FEM.\mathbf{Y}_{Netz}=\mathbf{K}_{FEM}+\mathbf{B},\qquad \mathbf{C}_{Netz}=\mathbf{M}_{FEM},\qquad \mathbf{i}_{Netz}=\mathbf{r}_{FEM}.

Die getrennten Implementierungen bestätigen dies an allen Beispielen. Die Sprachprobe zeigt die rohe Differenz, ohne die Ergebnisse nachträglich anzugleichen. Beim Herd beträgt der größte numerische Rundungsrest 3,84⋅10−123{,}84\cdot10^{-12} K und bleibt damit deutlich unter der Prüfschwelle von 10−1010^{-10} K. Das Knotenpotentialverfahren und die FEM sind hier zwei Sprachen für dasselbe diskrete Modell und liefern dieselbe Antwort.

TEIL VIII — PRÜFUNGEN UND AUSBLICK

26. Alle Prüfungen dieses Teils

Prüfung Programm Ergebnis
fünf Abnahmen des 2D-Lösers fem2d_ritz.py Abschnitt 12
fünf Abnahmen der Feldliste feldliste.py Abschnitt 15
Widerstands-Dreieck, Fünf-Punkte-Stern netzwerk_probe.py ≤1,3⋅10−15\le 1{,}3\cdot10^{-15}
Kreuznachweis mit dem Schaltungssimulator gitter_als_schaltung.py 1,0⋅10−81{,}0\cdot10^{-8} K
Herd: unabhängiger Netzwerk- und FEM-Aufbau Feld-Labor, Sprachprobe 3,84⋅10−123{,}84\cdot10^{-12} K Rundungsrest; bestanden

27. Ausblick

Die nächsten Stücke derselben Maschine: die Wellengleichung — einmal als FEM mit Zeitschritt zweiter Ordnung, einmal als LC-Gitter über den Schaltungssimulator, gegeneinander; der Wärmeübergangsrand (Robin) — im Netzwerkbild schlicht ein Widerstand vom Randknoten zur Schiene, physikalisch der richtigere Rand für den Herd; krumme Ränder mit echten Dreiecksnetzen; die Sättigung ν(B)\nu(B) und die Strahlung σT4\sigma T^4 als die „Dioden” des Feldproblems — Newton um den linearen Löser, die Verschachtelung der Schaltungsreihe wörtlich; und das Browser-Labor mit der Feldliste als Eingabe, nach dem Muster des Schaltungslabors.

ANHANG

A. Die Programme dieses Teils

Datei Inhalt braucht
fem2d_ritz.py der 2D-Löser mit fünf Abnahmen numpy
fem2d_bild.py Gitter-, Laplace- und Poisson-Bild matplotlib, fem2d_ritz
feldliste.py die Eingabesprache samt Löser-Anbindung, fünf Abnahmen numpy, fem2d_ritz, (waermeleitung_stab)
poisson/laplace/platte/heizfleck/herdplatte.feld die Beispiel-Feldlisten —
feldliste_bild.py die Beispiele im Bild matplotlib
netzwerk_probe.py Widerstands-Dreieck und Fünf-Punkte-Stern numpy, fem2d_ritz
gitter_als_schaltung.py der Kreuznachweis mit dem Schaltungssimulator simulator.py der DGL-Reihe
netzwerk_zellen_bild.py die fünf Gitterzellen schaltbild_werkzeug der DGL-Reihe
netzwerk_beispiele_bild.py die vier Netzblätter dito
herd.feld, herd_vergleich.py der Herd: Modell und Doppelrechnung numpy, scipy, matplotlib
bericht_*.txt die Protokolle aller Läufe —

B. Symbole

Symbol Bedeutung Einheit
φ\varphi, TT Feldgröße, Übertemperatur gegen den Bezug — , K
α\alpha; a=λda=\lambda d Materialkoeffizient; Wärmeleitbelag —; W/K
β\beta; hh Rückstell-/Kühlkoeffizient —; W/(m²K)
ρc\rho c; c=ρcdc=\rho c\,d Wärmekapazität je Volumen / je Fläche J/(m³K); J/(m²K)
bi,ci,Ab_i, c_i, A Formfunktionsbeiwerte, Dreiecksfläche m, m, m²
𝐊,𝐌,𝐁\mathbf{K}, \mathbf{M}, \mathbf{B} Steifigkeits-, Massen-, Kühlmatrix —
GijG_{ij} Kantenleitwert =−Kij= -K_{ij} W/K
AKA_K gelumpte Knotenfläche m²
K0, K1 … Bezugsknoten (Schiene), nummerierte Gitterknoten —

C. Die Zahlenwerte des Herds

Größe Wert
Trägerblech 1 m × 1 m, Stahl 1 mm: a=0,045a=0{,}045 W/K, c=3600c=3600 J/(m²K)
Gussplatten 4 Stück, je 10×10 Knoten: a=0,4a=0{,}4 W/K, c=31200c=31200 J/(m²K)
Isolierkragen 2 Knoten breit: a=10−4a=10^{-4} W/K, c=3000c=3000 J/(m²K)
Luftkühlung h=15h = 15 W/(m²K)
Heizleistungen 100 / 75 / 50 / 25 W
Gitter, Zeit 100×100, Δt=1\Delta t = 1 s, 600 s