Springer-Lehrbuch
3 Berlin Heidelberg New York Hongkong London Mailand Paris Tokio
Harald Wiedemann
Numerische Physik ¨ Mit 72 Abbildungen, zahlreichen Ubungen und einer CD-ROM mit Beispielprogrammen und Programmpaketen
13
Dr. Harald Wiedemann Hattsteinstr. 6 79423 Heitersheim, Deutschland e-mail:
[email protected] ISBN 3-540-40774-x Springer-Verlag Berlin Heidelberg New York
Bibliografische Information Der Deutschen Bibliothek. Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. Dieses Werk ist urheberrechtlich gesch¨utzt. Die dadurch begr¨undeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielf¨altigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielf¨altigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zul¨assig. Sie ist grunds¨atzlich verg¨utungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Springer-Verlag ist ein Unternehmen von Springer Science+Business Media springer.de © Springer-Verlag Berlin Heidelberg 2004 Printed in Germany Die dem Buch beigelegten Programme des Autors unterliegen der GPL (Gnu General Public License). r r r Die nachfolgenden Namen sind eingetragene Warenzeichen: Linux by Linus Torvalds; Intel und Pentium by r r r by Advanced Micro Devices, Inc.; Windows by Microsoft Corp.; Visual Numerics und IMSL Intel Corp.; AMD r r r r by Visual Numerics; NAG by The Numerical Algorithms Group Ltd.; Adobe , Acrobat Reader , Postscript by r r Adobe Systems Inc.; Red Hat by Red Hat Software Inc.; SUSE by SuSE Linux AG
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daß solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten w¨aren und daher von jedermann benutzt werden d¨urften. Satz: Druckfertige Daten vom Autor erstellt unter Verwendung eines Springer LATEX2e Makropakets Einbandgestaltung: design & production GmbH, Heidelberg Gedruckt auf s¨aurefreiem Papier SPIN: 10934104 56/3141/jl - 5 4 3 2 1 0
Meinen Eltern
Vorwort
Die letzten Jahre waren vom ungeheuren Siegeszug des Computers gepr¨agt: Er hielt zun¨ achst Einzug in große Computers¨ ale der Konzerne, dann drang er auch in kleinere Firmen vor, eroberte unsere Arbeitspl¨atze und findet sich mittlerweile in fast jedem Haushalt. Er u ¨bernimmt verschiedenste Aufgaben, wie die Verwaltung von Lagerbest¨ anden oder von Konten, die Berechnung der Sicherheit unserer Autos, dient als Schreibmaschine ebenso wie als Stereoanlage oder Fernseher – die Liste ließe sich fast beliebig fortsetzen. Schon als Computer noch die Ausmaße von Schr¨ anken hatten, wurden Sie intensiv in der Forschung eingesetzt, und das nicht nur als der schon oben erw¨ahnte Schreibmaschinenersatz, um Diplom- oder Doktorarbeiten sowie Ver¨offentlichungen niederzuschreiben. Auch bei der eigentlichen Forschung, also der Gewinnung neuen Wissens, ist der Computer zu einem unentbehrlichen Hilfsmittel geworden. In der Physik wird der Computer im Wesentlichen zu drei unterschiedlichen Aufgabengebieten herangezogen: zum einen f¨ ur die Erstellung von Grafiken und Texten, zum zweiten zur Steuerung und Auswertung von Messabl¨aufen in der Experimentalphysik und zum dritten zur numerischen Auswertung von Gleichungen in der Theoretischen Physik. In j¨ ungster Zeit gewinnt dar¨ uber hinaus der Computer eine Bedeutung als Hilfsmittel bei der algebraischen Auswertung komplizierter Ausdr¨ ucke. In diesem Buch werden wir uns lediglich mit dem dritten Aspekt, also der numerischen Physik, besch¨aftigen, wobei wir jedoch nicht umhin kommen, die so gewonnenen Ergebnisse auch grafisch darzustellen, so dass der an erster Stelle genannte Gesichtspunkt – wenn auch nur am Rande – ins Spiel kommt. Wenn man ein Buch u ¨ber numerische Physik schreiben will, sollte man sich zun¨ achst fragen, welche Hilfsmittel ein theoretischer Physiker in diesem Aufgabengebiet einsetzt und welche Kenntnisse er f¨ ur seine Arbeit ben¨otigt. Bei den Arbeitsmitteln ist in erster Linie neben einem m¨oglichst leistungsf¨ahigen Computer ein Compiler einer h¨ oheren Programmiersprache (z.B. C/C++ oder FORTRAN) zu nennen. Da der Physiker allerdings m¨oglichst wenig seiner Zeit opfern m¨ ochte, um numerische Standardaufgaben zu programmieren, ben¨ otigt er noch eine Numerik-Bibliothek, die ihm diese Aufgabe abnimmt. Und schließlich ben¨ otigt er noch ein Grafikprogramm, mit dessen Hilfe er die gewonnenen Ergebnisse visualisieren kann.
VIII
Vorwort
Die Frage nach speziellen Kenntnissen, die der numerische Physiker ben¨ otigt, ist weit schwieriger zu beantworten. Auf den ersten Blick scheinen Programmierkenntnisse und ein Handbuch der verwendeten Numerikbibliothek sowie des eingesetzten Grafikprogramms auszureichen. Die Realit¨at aber zeigt, dass diese beiden Dinge zwar einen guten Programmierer, aber keinen guten Wissenschaftler ausmachen – f¨ ur letzteren sind die Kenntnisse seines Fachgebietes weitaus wichtiger, auch wenn er den gr¨oßeren Teil seiner Zeit mit dem Suchen von Programmierfehlern zubringt. Nun k¨onnte man meinen, dass diese Kenntnisse doch hinreichend in den Vorlesungen zur Experimentalphysik und Theoretischen Physik vermittelt w¨ urden, aber die Erfahrung zeigt, dass die Sichtweise physikalischer Sachverhalte in der numerischen Physik oft eine andere ist: Im konventionellen Lehrplan zentrale Dinge verlieren an Bedeutung, w¨ahrend andere Gesichtspunkte ins Blickfeld geraten. Probleme, die vorher zu schwierig waren, sind nun verh¨altnism¨aßig einfach, w¨ahrend es sich bei anderen genau umgekehrt verh¨ alt. Dies ist die L¨ ucke, die dieses Buch schließen will. Und dieses Buch m¨ ochte den Studenten einladen, die aufregende Welt der numerischen Physik selbst zu entdecken. Um dieses zu erm¨ oglichen, m¨ ussen wir noch einmal auf die materiellen Voraussetzungen zur¨ uckkommen, die f¨ ur numerische Physik ben¨otigt werden. Computer sind seit ihrer Erfindung kontinuierlich billiger und leistungsf¨ahiger geworden, so dass mittlerweile fast jeder Student einen besitzt oder wenigstens Zugang zu einem hat. Compiler sind zwar auch nicht unerschwinglich, aber bei der Numerik-Bibliothek erreichen wir im Allgemeinen ein Preisniveau, das f¨ ur Studenten nicht mehr akzeptabel ist. Deshalb kommen bislang viele Studenten erst zum Beginn der Diplomarbeit mit einem umfangreicheren Einsatz numerischer Methoden in Ber¨ uhrung, oder die Erfahrungen vorher beschr¨ anken sich auf eine Vorlesung mit eventuellem Praktikum. Angesichts der zunehmenden Bedeutung der numerischen Physik ist diese Situation unbefriedigend, und eine Aufgabe dieses Buches ist, dies zu ¨andern. Einen Ausweg aus dieser Situation bietet mittlerweile sogenannte freie Software, also Software die umsonst ist. Neben dem weithin bekannten freien Unix-Betriebssystem Linux gibt es n¨ amlich inzwischen f¨ ur fast jede SoftwareSparte auch freie Programme, die den Vergleich mit ihren kommerziellen Konkurrenten nicht zu scheuen brauchen – von der Textverarbeitung bis hin zum von uns ben¨ otigten Compiler. Und wer ein wenig sucht, findet sogar frei verf¨ ugbare Numerikbibliotheken. Da auch f¨ ur unsere Zwecke taugliche Visualisierungsprogramme frei erh¨ altlich sind, k¨ onnen alle Voraussetzungen f¨ ur numerische Physik auch zum Nulltarif erf¨ ullt werden, und man hat bei allen drei Software-Paketen (Compiler, Numerikbibliothek und Grafikprogramm) sogar noch verschiedene Programme zur Auswahl – eine Auswahl, die zumindest zum Teil von mir eingeschr¨ ankt werden musste, da dieses Buch nicht alle M¨ oglichkeiten abdecken kann. Beim Compiler haben Sie noch weitgehend freie Wahl, sofern Sie sich auf die Programmiersprachen C++ oder FORTRAN beschr¨anken – andere
Vorwort
IX
Programmiersprachen finden in der Numerik auch praktisch keine Anwendung. An freien Compilern stehen hier z.B. die Compiler der GNU-Familie gcc/g++ bzw. g77 zur Verf¨ ugung. Diese Compiler gibt es in Varianten f¨ ur Windows und f¨ ur Linux sowie andere Betriebssysteme. Wenn Sie als Betriebssystem Linux installiert haben, stehen Ihnen dar¨ uber hinaus noch z.B. die Intel-Compiler zur Verf¨ ugung (die auch auf AMD-Systemen hervorragend unden sind diese Compiler aber nicht auf der beiliegenlaufen) – aus Lizenzgr¨ den CD-ROM vorhanden, sondern m¨ ussen nach einer Registrierung direkt bei Intel von deren Webseiten geholt werden. Neben diesen frei verf¨ ugbaren Compilern ist aber selbstverst¨ andlich auch jeder kommerzielle C++- oder Fortran-Compiler f¨ ur unsere Zwecke geeignet. Eine Auswahl von Numerik-Bibliotheken finden Sie in Anhang C. Deren Routinen werden von unseren C++- bzw. Fortran-Programmen aufgerufen, so dass ein Programm immer nur mit einer bestimmten Bibliothek u ¨bersetzt werden kann. Hier muss also eine Festlegung erfolgen und wenn Sie eine andere Numerik-Bibliothek verwenden wollen, m¨ ussen Sie die Programme auf der beigelegten CD-ROM entsprechend anpassen. Alle Programme werden im Buch als C++-Quellcode in ihrer f¨ ur die GNU Scientific Library [1], kurz GSL, ausgelegten Variante ausf¨ uhrlich vorgestellt und Sie finden diese Programme auf der CD-ROM im Verzeichnis programme\gsl. Dar¨ uber hinaus finden Sie im Verzeichnis programme\slatec die meisten dieser Programme als FORTRAN-Quellcode f¨ ur SLATEC. Alle diese Programme wurden wie die zugeh¨ origen Bibliotheken, unter die Gnu General Public License, kurz GPL, gestellt. Das bedeutet, dass Sie diese Programme verwenden, ver¨andern und an Dritte weitergeben d¨ urfen. Ein entsprechender Hinweis findet sich im Quelltext der Programme am Dateiende – diese Zeilen geben wir aus Platzgr¨ unden bei der Besprechung der Programme im Buch nicht wieder. F¨ ur die Weiterverteilung von GPL-lizensierten Programmen gibt es einige Auflagen, die Sie bitte Anhang G entnehmen. Der dort wiedergegebene Text der GPL ist Englisch, da nur dieser rechtliche Relevanz besitzt – Sie finden im Internet unter http://www.gnu.org/licenses/translations.html ¨ aber auch Ubersetzungen in andere Sprachen, die allerdings keinen offiziellen Charakter haben. Als letzten Punkt m¨ ussen wir auf die Visualisierung unserer Ergebnisse eingehen. Die von uns geschriebenen Programme erzeugen zun¨achst einmal nur eine Menge Zahlen, die grafisch dargestellt werden m¨ ussen, damit man mit diesen etwas anfangen kann. Auch hier stehen wieder eine ganze Reihe von Programmen zur Auswahl (gnuplot, GLE, kplot), und es ist Ihnen u ¨berlassen, welches Sie benutzen wollen. Die Programme dieses Buches sind zwar insofern auf GLE oder gnuplot ausgelegt, dass Kommentarzeilen mit Parametern mit einem # beginnen – diese Zeilen lassen sich jedoch leicht entfernen oder an ein anderes Grafikprogramm anpassen. Die Gliederung des Buches entspricht dem Kursus Theoretischer Physik, wie er an Universit¨ aten gelehrt wird: Mechanik, Elektrodynamik, Optik, Sta-
X
Vorwort
tistische Physik sowie Quantenmechanik. Jedes Kapitel beginnt mit einem Abriss der Grundlagen – dieser soll dem Leser, der bereits u ¨ber die entsprechenden Kenntnisse verf¨ ugt, die wesentlichen Punkte noch einmal in Erinnerung rufen. Sollte der Leser dabei feststellen, dass er keine ausreichenden Grundlagenkenntnisse hat, m¨ ussen wir ihn an ein konventionelles Lehrbuch verweisen, da das vorliegende Buch ein solches weder ersetzen kann noch will. Empfehlenswerte Werke, die alle wesentlichen Teilgebiete der Physik abdecken, sind [2–4]. Dar¨ uber hinaus kann der Leser auf [5] f¨ ur Elektrodynamik, [6] f¨ ur Optik und [7] f¨ ur Quantenmechanik zur¨ uckgreifen. Durch die F¨ ulle an detailliert besprochenen Aufgaben und Problemen zeichnet sich [8] aus – diese Aufgaben bieten sich auch f¨ ur eine numerische L¨osung an, wobei die analytische L¨ osung zur Kontrolle herangezogen werden kann. Als erg¨ anzende bzw. weiterf¨ uhrende Literatur in Richtung Numerische Physik empfehle ich [9–13]. ¨ Uberhaupt nicht angesprochen wird in diesem Buch der Themenbereich Dynamik von Fl¨ ussigkeiten, da dies den Rahmen einer Einf¨ uhrung in die Numerische Physik sprengen w¨ urde. F¨ ur diese Disziplin kann der Leser auf eine umfangreiche Spezialliteratur zur¨ uckgreifen [14–17]. Wie in einem konventionellen Lehrbuch in Theoretischer Physik werden zu jedem Kapitel eine Reihe von Problemstellungen vorgestellt und ausf¨ uhrlich besprochen. Jedes dieser Probleme wird zun¨ achst in einem Grundlagenabschnitt diskutiert, in dem wir dieses soweit wie m¨oglich analytisch l¨osen und damit den Grundstein f¨ ur die numerische L¨ osung legen, die im Anschluss daran besprochen wird. Mir liegt daran, dass Sie die Numerik nicht als Alternative zur analytischen L¨ osung begreifen, sondern eher als Erg¨anzung, und Sie werden feststellen, wie diese beiden an sich grundverschiedenen Zug¨ange ineinander greifen. So eingesetzt, erweist sich Numerik als ein ¨außerst leistungsf¨ ahiges Werkzeug in der Hand des Theoretischen Physikers. ¨ Zu jedem Kapitel dieses Buches gibt es Ubungsaufgaben, bei denen Sie die Programme, die im Text besprochen werden und die Sie auf der CDROM finden, an neue Aufgabenstellungen anpassen m¨ ussen. Fassen Sie diese Aufgaben als Anregungen auf – sein Ziel hat das Buch erreicht, wenn Sie u ¨ber diese Aufgaben hinausgehen und Probleme numerisch angehen, die Sie interessieren, die Sie aber nicht analytisch l¨ osen k¨onnen. Zu guter Letzt m¨ ochte ich mich bei Gert-Ludwig Ingold und Michael Weing¨ artner f¨ ur das unerm¨ udliche Korrekturlesen und zahlreiche Vorschl¨age, die diesem Buch zu Gute kamen, bedanken. Dar¨ uber hinaus bin ich Fritz Haake, Holger Schanz und den Mitgliedern der GSL-Newsgroup zu Dank verpflichtet.
Heitersheim, Januar 2004
Harald Wiedemann
Inhaltsverzeichnis
Mechanik der Massenpunkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Die Newtonschen Gesetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Das Fadenpendel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Verifizierung des Programms . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Graphische Darstellung und Interpretation der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Verbesserung des Algorithmus . . . . . . . . . . . . . . . . . . . . . 1.3 Das Doppelpendel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Integrable und nicht integrable Dynamiken . . . . . . . . . . . . . . . . 1.5 Regul¨ are und chaotische Dynamiken . . . . . . . . . . . . . . . . . . . . . . 1.6 Das Teilchen in der Schachtel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 Hamilton-Formalismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Attraktoren in dissipativen Systemen . . . . . . . . . . . . . . . . . . . . . 1.9 Das periodisch angetriebene Pendel . . . . . . . . . . . . . . . . . . . . . . . 1.10 Der schiefe Wurf mit Luftwiderstand . . . . . . . . . . . . . . . . . . . . . . ¨ Ubungen ...................................................
12 14 26 32 40 45 52 52 55 61 66
2
Elektrodynamik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Die Maxwellschen Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Felder von Punktladungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Multipole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Berechnung von Feldlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Magnetfelder station¨ arer Str¨ ome . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Hysterese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ Ubungen ...................................................
71 71 72 73 76 80 92 96
3
Optik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 3.1 Historischer Uberblick ................................... 3.2 Grundbegriffe der Strahlenoptik . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Brechung und Reflektion von Licht . . . . . . . . . . . . . . . . . . . . . . . 3.4 Brechung an einer Linsenfl¨ ache . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Bild durch eine Linse – Linsenfehler . . . . . . . . . . . . . . . . . . . . . . 3.6 Entstehung eines Regenbogens . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Qualitative Erkl¨ arung des Regenbogens . . . . . . . . . . . . . 3.6.2 Quantititave Vor¨ uberlegungen . . . . . . . . . . . . . . . . . . . . .
99 99 100 101 105 111 116 117 118
1
1 1 3 11
XII
Inhaltsverzeichnis
3.6.3 Programm zur Berechnung eines Regenbogens . . . . . . . 3.6.4 Der Regenbogen bei ellipsoidf¨ ormigen Regentropfen . . . 3.7 Grundlagen der Wellenoptik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Ebene Wellen und Kugelwellen . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Interferenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Das Huygenssche Prinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11 Berechnung von Beugungsmustern . . . . . . . . . . . . . . . . . . . . . . . . 3.12 Koh¨ arenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.13 Beugung bei endlicher Koh¨ arenzl¨ ange . . . . . . . . . . . . . . . . . . . . . ¨ Ubungen ...................................................
120 124 125 126 127 128 129 134 137 142
4
Statistische Physik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Grundbegriffe der Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Bestimmung von Wahrscheinlichkeiten . . . . . . . . . . . . . . . . . . . . 4.3 Mittelwerte und Momente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Bedingte Wahrscheinlichkeiten und Korrelationen . . . . . . . . . . . 4.5 Dynamik bei statistischen Problemen . . . . . . . . . . . . . . . . . . . . . 4.6 Der Random-Walk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Stochastische Differentialgleichung des Random-Walk . 4.6.2 Mastergleichung des Random-Walks . . . . . . . . . . . . . . . . 4.6.3 Verbesserung des Random-Walk-Modells . . . . . . . . . . . . 4.7 Thermisches H¨ upfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Thermalisierung in Gasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1 Energieerhaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ Ubungen ...................................................
147 147 148 150 150 152 153 154 158 160 170 176 177 189
5
Quantenmechanik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Die mathematische Struktur der Quantenmechanik . . . . . . . . . 5.2 Operationen im Hilbertraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Eigenzust¨ ande und ihre Verwendung als Koordinatensysteme . 5.4 Orts- und Impulsdarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Die Kopenhagener Interpretation der Quantenmechanik . . . . . 5.6 Schr¨ odingergleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Bestimmung des Hamilton-Operators . . . . . . . . . . . . . . . . . . . . . 5.8 Das freie Teilchen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Eigenzust¨ ande des Hamiltonoperators . . . . . . . . . . . . . . . . . . . . . 5.10 Variationsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Quantentunneln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12 Einf¨ uhrung in die Quantenstatistik . . . . . . . . . . . . . . . . . . . . . . . 5.13 Ein Zwei-Niveau-System mit ¨ außerer Anregung . . . . . . . . . . . . . 5.14 Messprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.15 Der Zeno-Effekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.16 Ein Ein-Atom-Laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ Ubungen ...................................................
193 193 193 195 197 199 199 200 200 213 219 226 233 235 241 242 246 254
Inhaltsverzeichnis
XIII
Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 A
Installation der Pakete unter Linux . . . . . . . . . . . . . . . . . . . . . . . 257
B
Installation der Pakete unter Windows . . . . . . . . . . . . . . . . . . . 261
C
Mathematische Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
D
Fortran und C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
E
Filterprogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
F
Fouriertransformation und FFT-Routinen . . . . . . . . . . . . . . . . 285
G
Die GPL-Lizenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
1 Mechanik der Massenpunkte
Der Siegeszug der mathematischen Beschreibung physikalischer Gesetzm¨aßigkeiten begann vor rund 330 Jahren mit der Formulierung der Newtonschen Gesetze [18], die die Bewegung von Massenpunkten unter dem Einfluss von Kr¨aften beschreiben. Dieser Schritt war gleichermaßen revolution¨ar wie ungeheuer erfolgreich. So erfolgreich, dass in der Folgezeit versucht wurde, die gesamte Physik mechanisch zu interpretieren und zu beschreiben. Auch wenn wir heute wissen, dass diese Sichtweise falsch ist und die Mechanik nur ein Teilgebiet der Physik darstellt, folgt der Unterricht in Theoretischer Physik weitgehend der geschichtlichen Chronologie und beginnt mit der Mechanik – schon wegen der Anschaulichkeit der dabei besprochenen Problemstellungen.
1.1 Die Newtonschen Gesetze Die Aufstellung der Newtonschen Gesetze bedeutete, wie eben schon ausgef¨ uhrt, in der Geschichte der Physik einen entscheidenden Wendepunkt: erstmals wurden Gesetzm¨ aßigkeiten so formuliert, dass man mit den Methoden der Mathematik daraus andere Gesetzm¨aßigkeiten herleiten konnte. Und auch f¨ ur uns sollen die Newtonschen Gesetze am Anfang unseres Weges durch die klassische Mechanik stehen: In Ineratialsystemen gilt: F = ma . (1.1) In Worten ausgedr¨ uckt besagt dieses Gesetz, dass man, um einem K¨orper der Masse m eine Beschleunigung a zu geben, eine Kraft F ben¨otigt, die gerade gleich dem Produkt aus der Masse und der Beschleunigung ist. Insbesondere ist die Beschleunigung null, wenn keine Kraft wirkt – ein Spezialfall, den Newton aufgrund seiner Bedeutung in einem eigenen Gesetz formulierte: Ein Massenpunkt, auf den keine Kraft wirkt, bewegt sich gleichf¨ ormig. Noch bevor wir uns der Frage widmen, woher Kr¨afte zwischen K¨orpern kommen, wollen wir ein weiteres – und letztes – Newtonsches Gesetz postulieren: ¨ ein K¨ Ubt orper 1 auf einen anderen K¨ orper 2 eine Kraft F aus, so u ¨bt umgekehrt letzterer (2) auf ersteren (1) die Kraft −F aus. Dieses Gesetz fasst man h¨ aufig kurz zusammen durch: Kraft gleich Gegenkraft, oder mit lateinischen Ausdr¨ ucken: actio gleich reactio.
2
1 Mechanik der Massenpunkte
Kommen wir jedoch zur Gleichung (1.1) zur¨ uck. Als erstes m¨ ussen wir uns fragen, wann dieses Gesetz gilt – und diese Frage bringt uns schon in Probleme. Die Antwort, die Sie in den Lehrb¨ uchern finden, n¨amlich dass das Newtonsche Grundgesetz in Inertialsystemen gilt, f¨ uhrt uns zu der Frage, was ein Inertialsystem ist. Und die Antwort darauf ist, dass ein Inertialsystem dadurch definiert ist, dass in ihm das Newtonsche Grundgesetz gilt. Wir sind ussen uns an dieser Stelle mit der also in einen Zirkelschluss geraten. Wir m¨ Annahme begn¨ ugen, dass es Inertialsysteme zumindestens gibt und dass wir hinreichend gut in einem Inertialsystem sind, wenn wir (salopp gesagt) mit beiden F¨ ußen auf der Erde stehen. Ein weiterer Punkt, den wir zu Gleichung (1.1) anmerken wollen, ist die Tatsache, dass die Beschleunigung ein Vektor ist, und deshalb auch die Kraft vektoriell sein muss. Newton macht keine Aussage dar¨ uber, woher die Kraft F kommt und wie man sie berechnet. Er impliziert aber, dass jede Kraft eine irgendwie geartete Ursache hat und f¨ ur den Fall der Gravitation konnte Newton auch den mathematischen Ausdruck finden – eben das Gravitationsgesetz: m 1 m2 F = −G 3 r . (1.2) r Die Gravitationskraft zwischen zwei K¨ orpern ist nach diesem Gesetz proportional zum Produkt der zwei beteiligten Massen m1 und m2 und umgekehrt proportional zum Quadrat des Abstandes r zwischen den K¨orpern. Außerdem zeigt die Kraft immer in Richtung der Verbindungslinie zwischen den K¨ orpern und ist immer anziehend. Die Gravitionskonstante G schließlich ist eine Naturkonstante und daher f¨ ur alle K¨ orper die selbe. Mit dem Gravitationsgesetz l¨ asst sich schon eine ganze Menge machen: Planetenbewegungen fallen ebenso unter dessen Zust¨andigkeit wie Pendel oder der schiefe Wurf. Um z.B. Federn in die Betrachtungen einzubeziehen, m¨ ussen wir jedoch auch empirische Gesetze zulassen, denen zufolge wir wissen, dass die Federkraft proportional zur Auslenkung s der Feder ist: F = −Ds .
(1.3)
Dieses Gesetz (das Hookesche Gesetz) ist empirisch und bei einer anderen Feder kann es sein, dass nicht nur die Proportionalit¨atskonstante D eine andere ist, sondern der Zusammenhang zwischen der Kraft F und der Auslenkung s grunds¨ atzlich ein anderer ist (im Prinzip ist es sogar so, dass keine Feder das Gesetz (1.3) exakt befolgt). In diesem Sinne handelt es sich also bei (1.3) nicht um ein Gesetz, sondern eher um eine Regel. Zusammenfassend haben wir bis jetzt das Newtonsche Grundgesetz (1.1), das durch andere physikalische Gesetze sowie durch empirische Regeln mit Leben gef¨ ullt wird. Zum Schluss dieses Abschnitts wollen wir uns noch u ¨berlegen, was passiert, wenn wir nicht einen Massenpunkt haben, sondern mehrere. Der Einfachheit halber nummerieren wir die Massenpunkte mit 1, 2, 3 u.s.w. durch
1.2 Das Fadenpendel
3
und bezeichnen die zugeh¨ origen Massen mit m1 , m2 , m3 und so weiter. In dieser Situation wirkt auf jeden Massenpunkt auch eine eigene Kraft, die wir ur konsequenterweise F1 , F2 , . . . nennen. Und Newtons Gesetz (1.1) gilt nun f¨ jeden einzelnen Massenpunkt, also F i = mi ai ,
(1.4)
wobei ai die Beschleunigung des Massenpunkts mit der Nummer i ist.
1.2 Das Fadenpendel In diesem ersten Beispiel untersuchen wir einen Massenpunkt, der mittels einer Stange an einem Punkt befestigt ist (siehe Abb. 1.1).
Abb. 1.1. Fadenpendel
Wir setzen voraus, dass die Bewegung ausschließlich in der Zeichenebene erfolgen kann und da durch die Stange außerdem der Abstand zum Aufh¨angepunkt fixiert ist, ist die Position des Massenpunktes eindeutig durch den Winkel φ festgelegt. Aufgrund dieses eindimensionalen Charakters der Bewegung k¨ onnen wir den Vektorcharakter der Beschleunigung a und der Kraft F außer Acht lassen und stattdessen mit skalaren Gr¨ oßen rechnen. Unabh¨ angig von der Position wirkt auf den Massenpunkt die Schwerkraft −mg, wobei allerdings nur die Komponente senkrecht zur Stange den Massenpunkt beschleunigen bzw. verz¨ ogern kann, der Rest wird von einer entsprechenden Gegenkraft in Richtung der Stange kompensiert: In unserem Fall ist die wirksame Komponente −mg sin φ. Nun ben¨otigen wir noch die Beschleunigung, ausgedr¨ uckt durch die dynamische Variable φ sowie die fixe L¨ange l der Stange: d2 (1.5) a = l 2φ . dt Damit haben wir auch schon unsere Bewegungsgleichung ml
d2 φ = −mg sin φ . dt2
(1.6)
4
1 Mechanik der Massenpunkte
Nach dem K¨ urzen der Masse m erhalten wir eine Differentialgleichung, in die noch die Gr¨ oße l/g eingeht, die, wie wir leicht feststellen, die DimensionZeit zum Quadrat hat. Diese charakteristische Zeit definieren wir als τ = l/g und skalieren die Zeit t gem¨ aß t =
t . τ
(1.7)
Dadurch erhalten wir die skalierte Differentialgleichung d2 φ = − sin φ . dt2
(1.8)
Diese Vorgehensweise hat gleich mehrere Vorteile: –
Wir haben die Zeitskala, auf der die Bewegung des Pendels stattfindet, bereits identifiziert, obwohl wir die Bewegungsgleichung noch nicht gel¨ost haben. – Wir haben die Parameter l und g eliminiert, so dass wir im Falle einer numerischen L¨ osung die Differentialgleichung nicht f¨ ur mehrere Werte dieser Parameter l¨ osen m¨ ussen. Diese Differentialgleichung sieht ziemlich einfach aus, wir werden jedoch sehen, dass sie bereits zu schwierig ist, um mit Papier und Bleistift geschlossen gel¨ ost zu werden. Ohne Computer m¨ ussten wir uns deswegen mit mehr oder weniger guten N¨ aherungsl¨ osungen zufrieden geben – eine Situation, die leider bei sehr vielen Problemen auftritt. Die Entwicklung leistungsf¨ahiger Computer hat uns zu dieser klassischen Vorgehensweise noch einen zweiten Zugang zur Verf¨ ugung gestellt, um den es in diesem Buch geht: die numerische Behandlung des Problems. Vorher jedoch wollen wir uns trotzdem mit einer N¨ aherungsl¨ osung besch¨ aftigen, dem sogenannten mathematischen Pendel, das Sie bereits aus der Schule kennen. Beim mathematischen Pendel geht man davon aus, dass die Auslenkungen φ aus der Ruhelage sehr klein sind (das Pendel also weit davon entfernt ist, u onnen wir den Sinus auf der rechten Seite ¨berzuschlagen). In diesem Fall k¨ von (1.8) in guter N¨ aherung durch dessen Argument ersetzen, wodurch sich unsere Differentialgleichung vereinfacht zu: d2 φ = −φ . dt2
(1.9)
Diese Gleichung nun k¨ onnen wir direkt l¨ osen, ihre L¨osung lautet φ = A sin t + B cos t ,
(1.10)
wobei A und B beliebige Werte annehmen d¨ urfen, die wir zum Beispiel durch die Anfangsbedingungen bestimmen k¨ onnen. Wenn wir nun wieder zu der unskalierten Zeit t u ¨bergehen, erhalten wir
1.2 Das Fadenpendel
φ = A sin ωt + B cos ωt ,
5
(1.11)
mit ω = g/l. Aus dieser Kreisfrequenz ω bekommen wir die Frequenz f , indem wir ω durch 2π dividieren. Die Periodendauer schließlich ist das Inverse der Frequenz f , also 2π/ω. Nach diesem kleinen Ausflug kehren wir jedoch zu unserem urspr¨ unglichen Problem (1.8) zur¨ uck. Nachdem wir uns vielleicht eine Weile erfolglos daran versucht haben, eine Funktion zu finden, die diese Bewegungsgleichung erf¨ ullt, geben wir diese Bem¨ uhungen auf und wenden uns einer numerischen L¨ osung zu. Im ersten Schritt machen wir uns klar, dass diese Differentialgleichung zweiter Ordnung (die gesuchte Gr¨ oße φ tritt maximal in zweiter Ableitung nach τ auf) auch als zwei gekoppelte Differentialgleichungen erster Ordnung aufgefasst werden kann: d φ = vφ dτ d vφ = − sin φ . dτ
(1.12) (1.13)
¨ In der ersten der beiden Gleichungen steht, dass die zeitliche Anderung von φ gleich einer Winkelgeschwindigkeit vφ ist; in der zweiten Gleichung wird die ¨ Anderung dieser Gr¨ oße gleich der Beschleunigung − sin φ gesetzt. Wenn Sie die erste Gleichung nach τ ableiten und darin die zweite Gleichung einsetzen, erhalten Sie wieder die urspr¨ ungliche Gleichung (1.8). Nehmen wir nun an, dass wir die Werte von φ und vφ zu einem Zeitpunkt achst φ(τ ) und vφ (τ ) in Potenzreihen um τ0 : τ0 kennen. Entwickeln wir zun¨ φ(τ ) = φ(τ0 + ∆τ ) = φ(τ0 ) +
∞ 1 (n) φ (∆τ )n n! n=1
vφ (τ ) = vφ (τ0 + ∆τ ) = vφ (τ0 ) + (n)
∞ 1 (n) vφ (∆τ )n . n! n=1
(1.14) (1.15)
Wenn wir alle Koeffizienten φ(n) und vφ kennen w¨ urden, h¨atten wir immerhin eine Potenzreihendarstellung der gesuchten L¨osung unseres Problems gefunden. Aber was ist, wenn ∆τ sehr klein ist, sagen wir 0.001. Dann sind die weitaus gr¨ oßten Terme auf der rechten Seite von (1.14) und (1.15) φ(τ0 ) und vφ (τ0 ). Der n¨achstfolgende Term ist bereits etwa tausendmal kleiner, der n¨ achste noch einmal tausendmal kleiner und so weiter. Diese Beobachtung ist keineswegs u ¨berraschend, besagt sie doch nur, dass der Zustand zum Zeitpunkt τ0 sich nur wenig unterscheidet von einem Zustand kurz vor und kurz nach τ0 . Wenn wir uns also auf solche kleinen Zeitschritte ∆τ beschr¨anken, kommen wir mit sehr wenigen Termen aus den Potenzreihen (1.14) und (1.15) aus! Der Trick besteht nun darin, eine l¨ angere Zeit in entsprechend kleine Zeitschritte zu zerteilen und sich so langsam in der Zeit entlangzuhangeln.
6
1 Mechanik der Massenpunkte
Nur die beiden Anfangsterme φ(τ0 ) und vφ (τ0 ) zu ber¨ ucksichten, macht offensichtlich keinen Sinn, da sich dann u urde. Die ¨berhaupt nichts ¨andern w¨ einfachst m¨ ogliche Vorgehensweise macht also die folgende N¨aherung: φ(τ0 + ∆τ ) ≈ φ(τ0 ) + φ(1) ∆τ vφ (τ0 + ∆τ ) ≈ vφ (τ0 ) +
(1) vφ ∆τ
(1.16) .
(1.17)
Wenn Sie nun in einem Mathematiklehrbuch den Abschnitt u ¨ber Potenzreihen konsultieren, werden Sie feststellen, dass die beiden fehlenden Terme φ(1) (1) und vφ durch die Ableitungen der betreffenden Funktionen, also durch unsere Differentialgleichungen (1.12) und (1.13), gegeben sind. Auf diese Weise erhalten wir also φ(τ0 + ∆τ ) ≈ φ(τ0 ) + vφ (τ0 )δτ vφ (τ0 + ∆τ ) ≈ vφ (τ0 ) − sin(φ(τ0 ))δτ .
(1.18) (1.19)
Damit haben wir – endlich – zwei Gleichungen, bei denen alle Gr¨oßen auf der rechten Seite bekannt sind. Nun k¨ onnen wir daran gehen, das Ganze in einem Computerprogramm zu implementieren. Wie in der Einleitung bereits erl¨ autert, werden wir die Programme jeweils in C++ vorstellen und besprechen, einfach weil diese Sprache der derzeitige Standard ist und sich – nach langen Geburtswehen – auch in der Physik durchsetzt. Alternativ stehen jedoch auf der beigef¨ ugten CD auch Quellprogramme f¨ ur Fortran zur Verf¨ ugung. Doch nun zu dem Programm: 1 2 3 4 5 6
/************************************************************************** * Name: faden1.cpp * * Zweck: Simuliert die Dynamik eines Fadenpendels * * Gleichung: (dˆ2/d tˆ2) phi + sin(phi) = 0 * * Methode: 1.Ordnung * **************************************************************************/
7 8 9 10 11
#include #include #include #include
<stdio.h> <string>
12 13 14
//-- Definition der globalen Variablen const int n_start_max = 10;
15 16
main( int argc, char *argv[] )
17 18 19 20 21 22 23 24
{ //-- Definition der Variablen int n, m, n1, nmax, nout, n_start; double t, tend, dt, phi, phi_neu, v_phi, v_phi_neu, phi_0, v_phi_0; char* resfile; ifstream in_stream; ofstream out_stream;
25 26
//-- Fehlermeldung, wenn Input- und Outputfilename nicht uebergeben wurden
1.2 Das Fadenpendel 27 28 29 30 31
if (argc tend; in_stream >> nmax; in_stream >> nout; in_stream >> n_start; in_stream.close();
40 41 42
//-- Berechnung einiger benoetigter Parameter -dt = tend / nmax;
43 44 45 46 47 48 49 50 51 52 53 54
//-- Schleife ueber die Anfangsbedingungen for (n1=0; n1