Einheit 3 / 11

Simulation physikalischer Systeme

Gewinne:

  • Fähigkeit, ein dynamisches physikalisches System mit Solvern wie „solve_ivp“ zu simulieren und die Gültigkeit der Simulation durch Überwachung der Gesamtenergie- oder Impulserhaltung zu überprüfen
  • Fähigkeit, numerische Artefakte von realer Physik zu unterscheiden, indem die Schrittgröße mit einem Konvergenztest ausgewählt wird
  • Möglichkeit, das Simulationsergebnis durch Vergleich mit bekannten analytischen Situationen und physikalischen Grenzzuständen zu testen

Ein Großteil der Physik beschäftigt sich mit zeitlich veränderlichen Systemen: einem oszillierenden Pendel, einem umkreisenden Planeten, einem abkühlenden Körper, einer sich ausbreitenden Welle. Die meisten dieser Systeme werden durch Differentialgleichungen beschrieben – also Gleichungen, die die Änderungsrate einer Größe (Position, Temperatur) mit dieser Größe selbst in Beziehung setzen. Für diese Gleichungen gibt es oft keine analytische (formelgenaue) Lösung; Stattdessen simulieren wir: Wir bewegen das System in kleinen Zeitschritten vorwärts und überwachen sein Verhalten numerisch. In dieser Einheit erfahren Sie, wie Sie mithilfe künstlicher Intelligenz (KI) Simulationscode erstellen und – was am wichtigsten ist – wie Sie mithilfe von Erhaltungsgesetzen überprüfen, ob die Simulation die Physik genau widerspiegelt.

Die Grundidee der Simulation und die Rolle der KI

Eine Simulation besteht aus diesem Zyklus: Nehmen Sie den aktuellen Zustand, wenden Sie die Änderungsgleichung an, bewegen Sie sich um ein kleines Δt vorwärts und wiederholen Sie den Vorgang. Die KI baut diese Schleife sehr schnell auf, wählt den richtigen Löser aus – den Algorithmus, der die Differentialgleichung Schritt für Schritt löst, und bearbeitet den Code. Das Standardwerkzeug des Physikers ist scipy.integrate.solve_ivp (die SciPy-Funktion, die Anfangswertprobleme löst). Bevor Sie jedoch der von KI erstellten Simulation vertrauen, müssen Sie sich folgende Frage stellen: Bewahrt diese Simulation die physikalischen Größen (Energie, Impuls, Drehimpuls), die erhalten bleiben müssen?

System

Gleichungstyp

Validierungskriterien

Pendel, Feder

ODE zweiten Grades

Konstanz der Gesamtenergie

Planetenumlaufbahn

Newtonsche Gravitations-ODE

Drehimpuls + Energieerhaltung

Kühlen/heizen

ODE ersten Grades

Konvergenz zur Gleichgewichtstemperatur

radioaktiver Zerfall

Exponentielle ODE

Kontrolle der Halbwertszeit

Monte Carlo (zufällig)

statistisch

Konvergenz zum bekannten Mittelwert/zur bekannten Verteilung

Hinweis: ODE steht für „gewöhnliche Differentialgleichung“ – eine Gleichung, die eine Ableitung nach einer einzelnen Variablen (normalerweise der Zeit) beinhaltet.

Schritt für Schritt: eine zuverlässige Simulation

1. Klären Sie die Physik und die Anfangsbedingungen. Wie lautet die Gleichung des Systems? Wie ist die Ausgangsposition, Geschwindigkeit, Temperatur? Was sind die Einheiten? Geben Sie diese explizit an die KI weiter.

2. Wählen Sie den geeigneten Löser und die Schrittgröße aus. Ein zu großer Zeitschritt macht die Simulation instabil (das Ergebnis explodiert oder die Physik bricht zusammen); Eine zu kleine Stufe verlangsamt unnötig. KI kann Vorschläge machen, aber die Entscheidung kontrollieren.

3. Befolgen Sie das Naturschutzgesetz im Code. Berechnen und drucken Sie die Gesamtenergie (oder den Impuls) während der gesamten Simulation. Wenn es um eine Größenordnung driftet, die konstant bleiben sollte, ist die Simulation unzuverlässig.

4. Vergleichen Sie mit einer bekannten Lösung. Beispielsweise ist die Periode eines Pendels mit kleiner Amplitude durch die Formel T = 2π√(L/g) bekannt; Vergleichen Sie damit den in der Simulation angegebenen Zeitraum.

5. Parameter ändern, Verhalten testen. Wird die Schwingung durch Hinzufügung von Reibung gedämpft? Ändert sich die Umlaufbahn wie erwartet, wenn die Masse zunimmt? Testen Sie mit körperlicher Intuition.

Tipp: Fügen Sie jeder Simulation einen „Energie-Tracker“ hinzu: Berechnen Sie die Gesamtenergie bei jedem Schritt und zeichnen Sie sie als Verhältnis zur Anfangsenergie auf. In einem reibungsfreien System sollte dieses Verhältnis konstant nahe 1 bleiben. Eine Drift von mehr als 1 % ist ein Zeichen dafür, dass Sie die Schrittgröße reduzieren oder den Löser ändern müssen.

drei Mini-Koffer

Fall 1 – Energieausbruch. Ein Student simulierte eine Planetenumlaufbahn mit einer einfachen Euler-Methode (der primitivsten Schrittmethode), die von KI geschrieben wurde. Mit der Zeit weitete sich die Umlaufbahn allmählich aus und der Planet „flog davon“. Als der Student die Gesamtenergie überwachte, stellte er fest, dass sie ständig zunahm – ein bekannter Fehler von Eulers Methode. Er bat die KI um einen Löser, der Energie besser spart (eine geeignetere Methode mitsolve_ivp), und die Umlaufbahn bildete eine stabile Ellipse.

Fall 2 – Falsche Einheit, falscher Zeitraum. Ein Lehrer stellte in einer Pendelsimulation fest, dass die Periode 0,2 s betrug, der erwartete Wert lag jedoch bei 2 s. Als er es untersuchte, stellte er fest, dass die KI die Länge in Zentimetern eingegeben und in der Formel als Meter verwendet hatte. Mit Einheitenkorrektur stimmte die Simulation mit dem analytischen Wert von T = 2π√(L/g) überein.

Fall 3 – Monte-Carlo-Verifizierung. Ein Forscher bat die KI um einen Code, der nach dem Zufallsprinzip (Monte Carlo – statistische Simulation mit Zufallszahlen) Partikel abtastet, die auf einen Detektor treffen. Um das Ergebnis zu verifizieren, führte er einen einfachen Fall durch, der analytisch bekannt war (z. B. die Schätzung von π durch das Verhältnis der Fläche eines Kreises), und zwar mit der gleichen Methode; Wenn der Code π korrekt vorhersagte, erhöhte sich sein Vertrauen in die tatsächliche Simulation. Er beobachtete auch, dass das Ergebnis mit zunehmender Anzahl der Proben kleiner wurde und sich dem tatsächlichen Wert annäherte.

Vier kopierbare Vorlagen

1) Naturschutzüberwachte Simulation:

Schreiben Sie Python-Code, der das folgende physikalische System mitsolve_ivp simuliert: [System, Gleichung, Anfangsbedingungen, Einheiten]. Berechnen Sie während der gesamten Simulation die Gesamtenergie (und ggf. den Impuls) bei jedem Schritt und zeichnen Sie ihr Verhältnis zu ihrem Anfangswert über die Zeit auf. Beachten Sie, dass dieses Verhältnis im reibungslosen Fall konstant ~1 bleiben sollte.

2) Analytischer Vergleich:

Fügen Sie Code hinzu, der das Ergebnis der folgenden Simulation mit der bekannten analytischen Lösung dieses Systems ([Formel]) vergleicht. Tragen Sie beide in derselben Grafik ein und drucken Sie den maximalen Unterschied zwischen numerischen und analytischen Werten aus. Simulationscode: [hier]

3) Schrittweite/Stabilitätstest:

Schreiben Sie Code, der die folgende Simulation mit unterschiedlichen Zeitschritten ausführt (z. B. dt = 0,1, 0,01, 0,001) und zeigt, wie sich die Ergebnisse ändern. Geben Sie an, nach welcher Schrittweite sich das Ergebnis stabilisiert (konvergiert). Code: [hier]

4) Physikalische Grenzzustandsprüfung:

Schlagen Sie 3 physikalische Grenzzustandstests für die folgende Simulation vor: (z. B. sollte Energie gespart werden, wenn die Reibung Null ist, schnelles Abwürgen, wenn die Reibung groß ist, wie sich die Periode ändern sollte, wenn sich die Masse verdoppelt). Schreiben Sie das erwartete Ergebnis jedes Tests in einen Satz. Code: [hier]

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwach: „Schreiben Sie eine Pendelsimulation.“
Ergebnis: Code ohne Einheiten, ohne Validierung, ohne Erhaltungsprüfungen; Es ist unklar, ob es die Physik widerspiegelt oder nicht.
Strong: „Schreiben Sie einen Solve_ivp-Code, der ein einfaches Pendel mit der Länge L = 1 m, einem Startwinkel von 10° und g = 9,81 m/s² für 10 Sekunden simuliert. Überwachen Sie die Gesamtenergie bei jedem Schritt und zeichnen Sie das Verhältnis zum Start auf. Vergleichen Sie die gemessene Periode mit der Formel für kleine Amplituden T = 2π√(L/g) und drucken Sie die Differenz aus.“
Ergebnis: Eine zuverlässige Simulation mit Einheiten, Erhaltungsüberwachung und Vergleich mit dem Analysewert.

Häufige Fehler

  • Nichteinhaltung des Naturschutzgesetzes. Wenn Energie oder Impuls driften, ist die Simulation falsch; Dem Ergebnis zu vertrauen, ohne es zu sehen, ist der häufigste Fehler.
  • Die Schrittgröße willkürlich gewählt werden. Ein zu großer Schritt führt zu Unentschlossenheit, ein zu kleiner Schritt führt zu unnötigen Kosten; Konvergenztests sind unerlässlich.
  • Keine analytischen Vergleiche anstellen. Ohne einen Vergleich mit einem bekannten Spezialfall (kleine Amplitude, reibungsfreier Zustand) bleibt die Simulation unbeaufsichtigt.
  • Einen numerischen Fehler mit Physik verwechseln. Verhalten wie die Orbitalexpansion ist oft ein Fehler der Methode und nicht der echten Physik.
  • Festlegung der Anzahl der Stichproben in der Zufallssimulation. Es ist irreführend, die Anzahl der Stichproben in Monte Carlo zu erhöhen und sich auf ein einziges Ergebnis zu verlassen, ohne Konvergenz zu erkennen.
Achtung: Nur weil eine Simulation ein „schönes Diagramm“ erzeugt, heißt das nicht, dass sie korrekt ist. Die Optik ist überzeugend, aber trügerisch. Bevor Sie der Simulation vertrauen, befolgen Sie unbedingt ein Erhaltungsgesetz und vergleichen Sie es mit einer bekannten Situation. Eine nicht verifizierte Simulation ist kein physischer Beweis.

Zusammenfassend

Simulation ist eine leistungsstarke Möglichkeit, dynamische physikalische Systeme zu verstehen, denen analytische Lösungen fehlen, und ermöglicht die schnelle Erstellung von KI-Simulationscode. Der Wert der Simulation hängt jedoch davon ab, ob sie die Physik genau widerspiegelt. Um dies sicherzustellen, müssen Erhaltungssätze befolgt, die geeignete Schrittgröße durch Konvergenztests ausgewählt, das Ergebnis mit bekannten analytischen Fällen verglichen und physikalische Grenzfälle getestet werden. In der nächsten Einheit werden wir den Schwerpunkt von generierten Daten auf die Analyse tatsächlicher experimenteller Daten verlagern.

Anwendungsaufgabe

Wählen Sie ein einfaches dynamisches System (Pendel, freier Fall + Luftwiderstand oder Kühlung). Drucken Sie mit Vorlage 1 einen Simulationscode aus und führen Sie ihn aus, der eine Erhaltungs- oder Gleichgewichtsprüfung in der KI beinhaltet. Prüfen Sie, ob sich die überwachte Größe (Energie oder Temperatur) wie erwartet verhält. Ändern Sie dann einen Parameter (Reibung, Masse, Schrittgröße) und prüfen Sie, ob die Verhaltensänderung mit Ihrer körperlichen Intuition übereinstimmt. Schreiben Sie es in 5-6 Sätzen auf.

Checkliste

  • [ ] Ich habe die Gleichung, Anfangsbedingungen und Einheiten des Systems geklärt.
  • [ ] Ich bin bei der Simulation einem Erhaltungssatz (Energie/Impuls) gefolgt.
  • [ ] Ich habe die Schrittgröße mit einem Konvergenztest überprüft.
  • [ ] Ich habe das Ergebnis mit einer bekannten analytischen Situation verglichen.
  • [ ] Ich habe mindestens einen physikalischen Grenzzustandstest durchgeführt.
  • [ ] Ich habe numerische Defekte von der realen Physik unterschieden.